summaryrefslogtreecommitdiff
path: root/npc/001-7/celestia_bossfight.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-08 17:57:34 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-08 17:57:34 -0300
commitef3e0f0f4d4fc3b63064d81e4d8d4819e871fd04 (patch)
tree3592ed194e85331339746fbac80c70677d12e30f /npc/001-7/celestia_bossfight.txt
parentfc89057c862761f5328fe9902601cc703b616eae (diff)
downloadserverdata-ef3e0f0f4d4fc3b63064d81e4d8d4819e871fd04.tar.gz
serverdata-ef3e0f0f4d4fc3b63064d81e4d8d4819e871fd04.tar.bz2
serverdata-ef3e0f0f4d4fc3b63064d81e4d8d4819e871fd04.tar.xz
serverdata-ef3e0f0f4d4fc3b63064d81e4d8d4819e871fd04.zip
Everything which was missing on Celestia Quest
Diffstat (limited to 'npc/001-7/celestia_bossfight.txt')
-rw-r--r--npc/001-7/celestia_bossfight.txt136
1 files changed, 136 insertions, 0 deletions
diff --git a/npc/001-7/celestia_bossfight.txt b/npc/001-7/celestia_bossfight.txt
new file mode 100644
index 000000000..eaff99c8f
--- /dev/null
+++ b/npc/001-7/celestia_bossfight.txt
@@ -0,0 +1,136 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Celestia Yeti King's quest. This controls the final showdown, and brings you
+// back home safely.
+//
+// If you cheated your way to here, you won't be able to interact with it.
+// No other safety measures are in place. Lone players cannot challenge the
+// Yeti King, there must be at least 2 players there to do the challenge.
+// BEWARE, the Yeti King gains stronger poisons the more people are attacking him.
+//
+// $@GM_OVERRIDE allows a single player to challenge him, as usual with all
+// co-op scripts.
+//
+// If you do not challenge him, the chance to challenge him again is lost.
+
+001-7,33,39,0 script #YetiKing NPC_YETI_KING,0,0,{
+ .@q=getq(HurnscaldQuest_Celestia);
+ if (.@q == 5 && !mobcount(.map$, "#YetiKing::OnVictory")) goto L_Survivor;
+ if (.@q == 6) goto L_GoHome;
+ end;
+
+L_GoHome:
+ mes col("Go home now?", 9);
+ if (askyesno() == ASK_YES)
+ warp "003-1-1", 94, 22;
+ closedialog;
+ if (!getareausers("001-7", 7))
+ setnpcdisplay .name$, NPC_YETI_KING;
+ close;
+
+L_Survivor:
+ mesn col("The Yeti King", 3);
+ mesq l("Good job, kid. You've survived both the Cave Of Trials and Soren's Village.");
+ next;
+ mesn col("The Yeti King", 3);
+ mesq l("That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.");
+ next;
+ mesn col("The Yeti King", 3);
+ mesq l("In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.");
+ select
+ l("I want a gemstone or ore"),
+ l("I want experience"),
+ l("I want gold"),
+ l("I want coal");
+
+ mes "";
+ .@r=rand(1,100);
+ switch (@menu) {
+ case 1:
+ if (.@r < 30)
+ getitem rand(Diamond, Amethyst), 1;
+ else
+ getitem rand(CopperOre, TitaniumOre), 1;
+ break;
+ case 2:
+ getexp .@r*20, .@r; // max 2000 xp and 100 jp
+ break;
+ case 3:
+ Zeny=Zeny+.@r*25; // max 2500 gp
+ break;
+ case 4:
+ getitem Coal, (.@r/20); // max 5 coal
+ break;
+ }
+ compareandsetq HurnscaldQuest_Celestia, 5, 6;
+ mesn col("The Yeti King", 3);
+ mesq l("Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.");
+ next;
+ mesn col("The Yeti King", 3);
+ mesq l("I can warp you home now.");
+ mes "";
+ select
+ l("Please, bring me back home."),
+ rif((getareausers("001-7", 7) > 1 || $@GM_OVERRIDE) && !mobcount(.map$, "#YetiKing::OnVictory"), l("No, we challenge you to a duel!")),
+ l("I'll walk around here a little more.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ warp "003-1-1", 94, 22;
+ break;
+ case 2:
+ compareandsetq HurnscaldQuest_Celestia, 6, 7;
+ mesn col("The Yeti King", 3);
+ mesq l("Foolish kids, do you think violence is the answer to everything?!");
+ next;
+ mesn col("The Yeti King", 3);
+ mesq l("I give you three minutes to defeat me. Witness my wrath!");
+ setnpcdisplay .name$, NPC_NO_SPRITE;
+ monster .map$, .x, .y, strmobinfo(1, YetiKing), YetiKing, 1, "#YetiKing::OnVictory";
+ initnpctimer;
+ break;
+ }
+ close;
+
+OnVictory:
+ stopnpctimer;
+ setnpcdisplay .name$, NPC_SUMMONING_CIRC;
+ npctalk l("Good job... You can keep the drops. Touch here to return home.");
+ areatimer "006-1", 20, 20, 141, 171, 10, "#YetiKing::OnDefeat";
+ end;
+
+// This allows the challenger to go back home without dying.
+OnDefeat:
+ compareandsetq HurnscaldQuest_Celestia, 7, 6;
+ end;
+
+OnTimer60000:
+ npctalk "Time left: 2 minutes";
+ end;
+
+OnTimer120000:
+ npctalk "Time left: 1 minute";
+ end;
+
+OnTimer150000:
+ npctalk "Time left: 30 seconds";
+ end;
+
+OnTimer170000:
+ npctalk "Time left: 10 seconds";
+ end;
+
+OnTimer180000:
+ npctalk "Time is up!";
+ killmonster(.map$, "#YetiKing::OnVictory"); // I could use "All" as label, too
+ end;
+
+}
+
+
+
+
+