summaryrefslogtreecommitdiff
path: root/world/map/npc/017-4/waric.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/017-4/waric.txt')
-rw-r--r--world/map/npc/017-4/waric.txt144
1 files changed, 144 insertions, 0 deletions
diff --git a/world/map/npc/017-4/waric.txt b/world/map/npc/017-4/waric.txt
new file mode 100644
index 00000000..9f806b87
--- /dev/null
+++ b/world/map/npc/017-4/waric.txt
@@ -0,0 +1,144 @@
+// Author: Jenalya
+// Current state: only dialog, magic teaching not finished
+// Waric is intended to teach the player some dark magic spells
+// in case the player is not a follower of Sagatha and can't become
+// one anymore (killed the wounded mouboo or cut the druid tree).
+// Waric would teach the spells based on the progress in the pentagram
+// creation, but save which spells were taught in a different variable.
+
+017-4.gat,216,36,0|script|Waric|153,{
+
+ set @mouboo_status, ((QUEST_MAGIC & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT) & 3;
+ set @killed_mouboo, 0;
+ if ((@mouboo_status == 1) || (@mouboo_status == 2))
+ set @killed_mouboo, 1;
+ set @mouboo_status, 0;
+
+ if (MAGIC_FLAGS & MFLAG_DID_CUTTREE)
+ set @cut_tree, 1;
+
+ set @sagatha_follower, (QUEST_MAGIC & (NIBBLE_4_MASK | NIBBLE_5_MASK)) >> NIBBLE_4_SHIFT;
+
+ if (OrumQuest > 30) goto L_Flower5;
+ if (OrumQuest > 26) goto L_Flower4;
+ if (OrumQuest > 23) goto L_Flower3;
+ if (OrumQuest > 20) goto L_Flower2;
+ if (OrumQuest > 17) goto L_Flower1;
+ if (OrumQuest > 15) goto L_Mistrust;
+
+ mes "[Waric]";
+ mes "\"You! You're really more insistent than it's good for you...\"";
+ mes "He turns towards Orum.";
+ next;
+ mes "[Waric]";
+ mes "\"It seems your ridiculous Guarding Spirit failed his task.";
+ mes "Deal with this, we really can't afford more of this distractions.\"";
+ goto L_Close;
+
+L_Mistrust:
+ mes "[Waric]";
+ mes "\"So you say you want to help us? You don't look very competent.";
+ mes "Also, I don't see what motivates you to do this.\"";
+ next;
+ mes "\"Show your usefulness, then I might take you serious.\"";
+ goto L_Close;
+
+L_Flower1:
+ mes "[Waric]";
+ mes "\"You placed the first flower. I'm surprised, I didn't expect you to actually stay and be useful.\"";
+ goto L_Close;
+ // TODO: enable this when adding the spells
+ // also add logic to the other label's dialogs/eventually change their dialog to fit better
+ if (!getskilllv(SKILL_MAGIC))
+ goto L_Close;
+ menu
+ "Can you teach me some magic?", -,
+ "Of course!", L_Close;
+
+ if (@sagatha_follower)
+ goto L_Sagatha;
+ if (!@killed_mouboo && !@cut_tree)
+ goto L_Undecided;
+ mes "[Waric]";
+ mes "\"Hm. Actually, I could do that. You seem to have some potential.";
+ mes "But first go on with the next summoning artifact.\"";
+ goto L_Close;
+
+L_Flower2:
+ mes "[Waric]";
+ mes "\"You placed the second flower? It seems Orum's choice of tools is better than expected.\"";
+ goto L_Close;
+
+L_Flower3:
+ mes "[Waric]";
+ mes "\"I saw that you helped to create the third flower which you just placed. Good.\"";
+ goto L_Close;
+
+L_Flower4:
+ mes "[Waric]";
+ mes "\"We're very close to reach our goal, now that you've placed the fourth flower. Keep it up.\"";
+ goto L_Close;
+
+L_Flower5:
+ mes "[Waric]";
+ mes "\"Hahaha, excellent. You handled the creation of our pentagram very well. I'll keep that in mind.";
+ mes "I advised Orum to give you some reward, did you already talk to him?\"";
+ goto L_Close;
+
+L_Spells:
+ mes "TODO";
+ // teach spells
+ // doesn't trust the player at all if player is follower of sagatha
+ goto L_Close;
+
+L_Undecided:
+ mes "[Waric]";
+ mes "\"Well. I could. But I'm not sure you're trustworthy.\"";
+ next;
+ mes "\"How can I know you're not going to run to Sagatha with what I'd teach you?\"";
+ goto L_Close;
+
+L_Sagatha:
+ mes "[Waric]";
+ mes "\"You're already a student of Sagatha. I won't teach you anything.\"";
+ goto L_Close;
+
+L_Close:
+ set @killed_mouboo, 0;
+ set @cut_tree, 0;
+ set @sagatha_follower, 0;
+ close;
+}
+
+017-1.gat,74,32,0|script|DebugFlowerP|153,{
+ mes "Debug options for Orum's quest:";
+ menu
+ "Candle Helmet done.", L_CandleHelmet,
+ "Input quest variable.", L_Var,
+ "Show current quest state.", L_CurrentState,
+ "Reset quest.", L_Reset,
+ "Nevermind.", L_Close;
+
+L_CandleHelmet:
+ set OrumQuest, 14;
+ goto L_Close;
+
+L_Var:
+ input OrumQuest;
+ goto L_Close;
+
+L_CurrentState:
+ mes "The value of the quest variable OrumQuest is currently " + OrumQuest + ".";
+ goto L_Close;
+
+L_Reset:
+ set OrumQuest, 0;
+ goto L_Close;
+
+L_Close:
+ close;
+
+OnInit:
+ if (!debug)
+ disablenpc "DebugFlowerP";
+}