diff options
author | Jesusaves <cpntb1@ymail.com> | 2018-06-08 17:57:34 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2018-06-08 17:57:34 -0300 |
commit | ef3e0f0f4d4fc3b63064d81e4d8d4819e871fd04 (patch) | |
tree | 3592ed194e85331339746fbac80c70677d12e30f /npc/001-7/celestia_bossfight.txt | |
parent | fc89057c862761f5328fe9902601cc703b616eae (diff) | |
download | serverdata-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.txt | 136 |
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; + +} + + + + + |