summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/quest_db.conf4
-rw-r--r--npc/014-5-1/sagratha.txt62
-rw-r--r--npc/014-5/sagratha.txt3
3 files changed, 65 insertions, 4 deletions
diff --git a/db/quest_db.conf b/db/quest_db.conf
index cbd37fc1f..e72565909 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -97,6 +97,10 @@ quest_db: (
Id: 18
Name: "General_EasterEggs"
},
+{
+ Id: 19
+ Name: "General_Sagratha"
+},
// ID 31 to 50: Candor Quests
{
diff --git a/npc/014-5-1/sagratha.txt b/npc/014-5-1/sagratha.txt
index 2bb6850b0..de668fd03 100644
--- a/npc/014-5-1/sagratha.txt
+++ b/npc/014-5-1/sagratha.txt
@@ -1,6 +1,6 @@
// TMW2 scripts.
// Authors:
-// Jesusalva
+// Jesusalva and TMW Org.
// Description:
// Sagratha (variables SAGRATHA_SCORE and SAGRATHA_FRIENDSHIP)
@@ -51,6 +51,8 @@ function script SaggyMobCount {
}
014-5-1,33,37,0 script Sagratha NPC_SAGRATHA,{
+ function teachMagic;
+ function requireHelp;
if (array_find(.SaggyHats, getequipid(EQI_HEAD_TOP)) >= 0)
goto L_HatAttack;
if (SAGRATHA_SCORE < 0)
@@ -85,9 +87,13 @@ function script SaggyMobCount {
do
{
+ .@x=getq(General_Sagratha);
+ mesn strcharinfo(0);
select
l("Can I return to the shrine?"),
l("I would like some Mouboo Milk."),
+ l("Can you teach me magic? Pretty please?"),
+ l("Can I help you with something?"),
l("Good bye.");
mes "";
switch (@menu) {
@@ -156,13 +162,19 @@ function script SaggyMobCount {
mesq l("Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.", getitemlink(MoubooSteak));
close;
break;
+ // XXX: Teach magic / etc
+ case 3:
+ case 4:
+ if (.@x % 2 == 0)
+ teachMagic();
+ else
+ requireHelp();
+ break;
default:
closeclientdialog;
goodbye;
close;
}
- // TODO: Learn Magic
- // TODO: Request help with stuff (eg. protecting mouboos?)
} while (true);
close;
@@ -285,6 +297,50 @@ L_Unhappy:
mesn;
mesq l("I am sure that they will come back to haunt you in your dreams!");
close;
+// Functions
+function teachMagic {
+ .@x=getarg(0,getq(General_Sagratha));
+ switch (.@x) {
+ case 0:
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("For now, yes. But you will have to prove that you really care about more than yourself.");
+ next;
+ mesn;
+ mesq l("This is the ...");
+ break;
+ }
+ /*
+ skill TMW2_HALHISS, 12;
+ skill TMW2_KALWULF, 9;
+ skill TMW2_DRAGOKIN, 5;
+ skill TMW2_LIMERIZER, 14;
+ skill TMW2_STONEHEART, 9;
+ skill TMW2_FROZENHEART, 9;
+ skill TMW2_FAIRYKINGDOM, 9;
+ */
+ next;
+ return;
+}
+function requireHelp {
+ .@x=getarg(0,getq(General_Sagratha));
+ switch (.@x) {
+ case 1:
+ mesn;
+ mesq l("Come back later.");
+ break;
+ }
+ next;
+ return;
+}
+
+L_Lie:
+ mesn;
+ mesq l("Really interesting, how I am NOT seeing the items I asked for...");
+ next;
+ mesn;
+ mesq l("Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!");
+ close;
OnInit:
setarray .SaggyHats, FluffyHat, MoubooHat, AlphaMoubooHat;
diff --git a/npc/014-5/sagratha.txt b/npc/014-5/sagratha.txt
index 0df85a151..a871ea7f5 100644
--- a/npc/014-5/sagratha.txt
+++ b/npc/014-5/sagratha.txt
@@ -96,7 +96,8 @@ L_Lockpick:
mes "";
if (@menu == 1) {
mesn l("Sagratha");
- mesq l("No, I don't teach magic. No, I'm not interested in @@ affairs.", get_race());
+ // I don't take strangers as students.
+ mesq l("No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.", get_race());
next;
mesn l("Sagratha");
mesq l("Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.");