From f7ac042018ce864f6c30be3c7050e83e360e4353 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 2 May 2022 16:46:20 -0300 Subject: First lobby (untested!!) --- npc/034-4/intro.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) (limited to 'npc/034-4/intro.txt') diff --git a/npc/034-4/intro.txt b/npc/034-4/intro.txt index d2dbc06e7..734c49a1f 100644 --- a/npc/034-4/intro.txt +++ b/npc/034-4/intro.txt @@ -4,5 +4,158 @@ // Description: // Gemini Sisters Quest - Part A: Party Room +034-4,43,52,0 script #GeminiNoBack NPC_HIDDEN,0,0,{ + end; +OnTouch: + if (instance_id() < 0 || getcharid(1) < 1) end; + GeminiCheck(8); + npctalkonce l("Oh noes ─ the door is sealed! We can only press forward!"); + end; +} +034-4,43,51,0 script #GeminiIntro NPC_HIDDEN,2,2,{ + end; +OnTouch: + if (instance_id() < 0 || getcharid(1) < 1) end; + GeminiCheck(8); + if (strcharinfo(0) != getpartyleader(.@p)) end; + + if (!.state) { + .mp$ = getmap(); + .pn$ = getpartyname(getcharid(1)); + .pid = getcharid(1); + .state = true; + initnpctimer; + killmonsterall(.mp$); // Cancel everything done thus far, incl. showdown + } + end; + +OnTimer1000: + .luvia = monster(.mp$, 48, 45, "Luvia Gemini", Sagratha, 1); + immortal(.luvia); + setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK); + end; + +OnTimer2500: + unittalk(.luvia, "Well, well, well, look at what we have here!"); + end; + +OnTimer6000: + unittalk(.luvia, "If it isn't the so-called \"%s\"!", .pn$); + end; + +OnTimer9500: + unittalk(.luvia, "I'm sure it was a long journey to reach here, and well, this IS an Inn."); + end; + + +OnTimer13000: + unittalk(.luvia, "Where are my manners, of course I'll offer you room to sleep..."); + end; + + +OnTimer16500: + unittalk(.luvia, "...Yes, I'll put all of you to sleep... PERMANENTLY! Hahahaha!"); + .@pi = getmapusers(.mp$) + 2; + areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi / 2); + end; + +OnTimer20000: + .@pi = getmapusers(.mp$) + 1; + areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi); + unittalk(.luvia, "HAHAHahahaha!"); + unitwalk(.luvia, 50, 29); + end; + +OnTimer24000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi); + monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi); + end; + +OnTimer28000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi); + unitwarp(.luvia, "034-4", 45, 45); + end; + +OnTimer25000: + unitkill(.luvia); + end; + +OnTimer50000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi); + monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi); + monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi * 3 / 2); + end; + +OnTimer150000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi * 3 / 2); + monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi); + monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi); + end; + +OnTimer300000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi * 3 / 2); + monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi); + monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi); + monster(.mp$, 43, 52, strmobinfo(1, Terranite), Terranite, 1+(.@pi/2)); + end; + +OnTimer480000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1+(.@pi/2)); + monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1+(.@pi/2)); + monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1+(.@pi/2)); + monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi); + monster(.mp$, 43, 52, strmobinfo(1, Forain), Forain, .@pi); + monster(.mp$, 37, 33, strmobinfo(1, AzulSkullSlime), AzulSkullSlime, .@pi); + end; + +OnTimer540000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi); + monster(.mp$, 43, 52, strmobinfo(1, BlackSlimeMother), BlackSlimeMother, .@pi); + monster(.mp$, 37, 33, strmobinfo(1, BlackMamba), BlackMamba, .@pi + 1); + end; + +OnTimer600000: + .@pi = getmapusers(.mp$) + 1; + monster(.mp$, 50, 29, strmobinfo(1, GoboBear), GoboBear, 1+(.@pi/2)); + $@VALIA_STATUS[.pid] = 10; + stopnpctimer; + end; + +OnInit: +OnInstanceInit: + .state = false; + .mp$ = ""; + .pn$ = ""; + .pid = 0; + .luvia = 0; + end; +} + + +034-4,50,29,0 script #GeminiPartB NPC_HIDDEN,0,0,{ + end; +OnTouch: + if (instance_id() < 0 || getcharid(1) < 1) end; + GeminiCheck(8); + .@p=getcharid(1); + if (mobcount(getmap(), "all") > 0 || $@VALIA_STATUS[.@p] < 10) { + dispbottom l("Uh? I can't pass. I wonder why."); + end; + } + if (mobcount(getmap(), "all") <= 0 && $@VALIA_STATUS[.@p] == 10) { + $@VALIA_STATUS[.@p]=11; + } + if ($@VALIA_STATUS[.@p] >= 11) { + slide 33, 81; + } + end; +} -- cgit v1.2.3-60-g2f50