From e968d4cbdf069e2a4cbdd83474a7831af41b4642 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 11 May 2022 16:28:53 -0300 Subject: Elli's arc --- npc/032-5/episode.txt | 99 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 2 deletions(-) (limited to 'npc/032-5/episode.txt') 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; } -- cgit v1.2.3-70-g09d2