summaryrefslogtreecommitdiff
path: root/npc/032-5/episode.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/032-5/episode.txt')
-rw-r--r--npc/032-5/episode.txt99
1 files changed, 97 insertions, 2 deletions
diff --git a/npc/032-5/episode.txt b/npc/032-5/episode.txt
index 89ec02a67..13298fdd9 100644
--- a/npc/032-5/episode.txt
+++ b/npc/032-5/episode.txt
@@ -25,7 +25,7 @@ OnInit:
OnTouch:
if (mobcount("032-5", "all")) end;
if (getq(LoFQuest_EPISODE) != 15) end;
- if (getq2(LoFQuest_EPISODE) != 2); end;
+ //if (getq2(LoFQuest_EPISODE) != 2); end;
if (.ctrl) end;
.ctrl=true;
@@ -92,24 +92,119 @@ OnTimer30000:
areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, RedFollower), RedFollower, 12, "#EpShow::OnMini");
areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, RedFollowerF), RedFollowerF, 12, "#EpShow::OnMini");
stopnpctimer;
- .ctrl = false;
+ //.ctrl = false;
end;
OnMini:
if (.razor)
unittalk(.razor, "My fallen comrade, you'll be avenged!");
+ sleep(100);
+ if (!mobcount("032-5", "all")) goto OnNext;
end;
OnRazor:
if (.platy)
unittalk(.platy, "Razor, no!");
.razor = 0;
+ sleep(100);
+ if (!mobcount("032-5", "all")) goto OnNext;
end;
OnPlaty:
if (.razor)
unittalk(.razor, "My queen!");
.platy = 0;
+ sleep(100);
+ if (!mobcount("032-5", "all")) goto OnNext;
+ end;
+
+OnWin:
+ @elli=true;
+ getexp 30000, 0;
+ if (getq(LoFQuest_EPISODE) == 15) {
+ setq LoFQuest_EPISODE, 16, 0, 0;
+ getexp 370000, 0;
+ }
+ end;
+
+OnSS:
+ sshake();
+ closeclientdialog;
+ end;
+
+OnSSX:
+ sshake(8);
+ sleep2(350);
+ sshake(12);
+ closeclientdialog;
+ end;
+
+OnNext:
+ maptimer("032-5", 10, "#EpShow::OnWin");
+ // TODO: Bring the boss!
+ .platy=monster("032-5", 39, 55, "Soul Eater", PanthomLord, 1);
+ immortal(.platy);
+ setunitdata(.platy, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ unittalk(.platy, "...");
+ sleep(5000);
+ unittalk(.platy, "How...");
+ maptimer("032-5", 4900, "#EpShow::OnSS");
+ sleep(5000);
+ unittalk(.platy, "HOW!!!");
+ maptimer("032-5", 4900, "#EpShow::OnSS");
+ sleep(5000);
+ unittalk(.platy, "UNFORGIVABLE!!! You have ruined my disguise!");
+ sleep(5000);
+ unittalk(.platy, "But you underestimate me...");
+ freeloop(true);
+ for (.@i=0;.@i < 25;.@i++) {
+ .@tmp = areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, JackO), JackO, 1);
+ immortal(.@tmp);
+ setunitdata(.@tmp, UDT_MODE, MD_NOKNOCKBACK);
+ sleep(50);
+ }
+ freeloop(false);
+ unittalk(.platy, "...Of course every one who has fallen here serves me... And all those before!");
+ sleep(2500);
+ unittalk(.platy, "...And with those from past and future... I'll be invencible! And reign forever!");
+ sleep(2500);
+ // TODO: Bring elli!
+ enablenpc("Elli#Ep");
+ .razor = getnpcid("Elli#Ep");
+ sleep(500);
+ unittalk(.razor, "That shall not be.");
+ sleep(5000);
+ unittalk(.razor, "I am Elli, one of the Originals.");
+ sleep(5000);
+ unittalk(.razor, "And I am here to pummel you algebraically with a(n) ginormous, frankenstein, gassy, green carnival hammer.");
+ sleep(5000);
+ unittalk(.razor, "Your reign of terror is over, Soul Eater. I'll destroy you and your followers...");
+ sleep(5000);
+ unittalk(.razor, "...Past or future. Therefore:");
+ maptimer("032-5", 4900, "#EpShow::OnSSX");
+ sleep(5000);
+ unittalk(.razor, "COME LEGENDARY HOCUS, AND ANNIHILATE EVERYTHING!");
+ sleep(500);
+ disablenpc("Elli#Ep");
+ maptimer("032-5", 100, "#EpShow::OnFin");
+ sleep(200);
+ killmonsterall("032-5");
+ .ctrl = false;
+ end;
+
+OnFin:
+ if (!@elli) end;
+ warp "032-1", 59, 130;
+ sendmapmask 129;
+ addtimer(100, "Elli::OnFin");
+ @elli=false;
+ end;
+}
+
+032-5,39,52,0 script Elli#Ep NPC_ELLI,{
+ end;
+OnInit:
+ disablenpc(.name$);
end;
}