diff options
Diffstat (limited to 'world/map/npc/052-2/lobby.txt')
-rw-r--r-- | world/map/npc/052-2/lobby.txt | 382 |
1 files changed, 0 insertions, 382 deletions
diff --git a/world/map/npc/052-2/lobby.txt b/world/map/npc/052-2/lobby.txt deleted file mode 100644 index 1b36d929..00000000 --- a/world/map/npc/052-2/lobby.txt +++ /dev/null @@ -1,382 +0,0 @@ -//----------------------------------------------------------------------------- -// Illia Forsaken Inn - Lobby -// $@illia_progress = 5 -// -// Level progress: -// 0: Initial state -// 1: Mysterious voice is talking -// 2: Luvia is appearing -// 3: Luvia is waiting for a talk, to trigger the fight -// 4: Hero talked to Luvia. Initiating a talk and demonic spirit waves -// 5: All Demonic spirits waves are spawned -// 6: Demonic spirit waves beaten. Talk while preparing the witch guards -// 7: Luvia is escaping, Witch guards appear -// 8: Witch guards defeated. Door is open. -//----------------------------------------------------------------------------- - -052-2,40,19,0|script|#InnDoorTrigger|32767,2,2 -{ - set @step, 5; - if ($@illia_progress < @step) goto L_ShouldNotBeHere; - if ($@illia_level_5_progress == 8) goto L_Warp; - message strcharinfo(0), "A magical field prevents you from going further..."; - end; - -L_Warp: - warp "052-2", 23, 71; - message strcharinfo(0), "This place is full of dust... *coughs*"; - end; - -L_ShouldNotBeHere: - heal -100, 0; - end; - -} - -052-2,33,40,0|script|#EntranceTrigger|32767,4,2 -{ - set @step, 5; - if ($@illia_progress < @step) goto L_ShouldNotBeHere; - if ($@illia_level_5_progress == 0 && strcharinfo(0) == $@ILLIA_HERO$) goto L_StartVoices; - end; - -L_StartVoices: - set $@illia_level_5_progress, 1; - donpcevent "#MysteriousVoice::OnCommandStart"; - end; - -L_ShouldNotBeHere: - heal -100, 0; - end; -} - -052-2,1,1,0|script|#LuviaShadow|127 -{ -end; - -// Escape sequence -OnCommandEscape: - initnpctimer; - end; - -OnTimer100: - if ($@illia_level_5_progress != 7) - end; - npcwarp 39, 35, "#LuviaShadow"; - misceffect FX_DARK_TELEPORT; - npcwarp 1, 1, "Luvia?"; - end; - -OnTimer750: - if ($@illia_level_5_progress != 7) - end; - npcwarp 1, 1, "#LuviaShadow"; - stopnpctimer; - setnpctimer 0; - end; - -// Invoke sequence -OnCommandInvoke: - initnpctimer; - end; - -OnTimer650: - if ($@illia_level_5_progress != 2) - end; - npcwarp 39, 35, "#LuviaShadow"; - misceffect FX_EVIL_SUMMON; - end; - -OnTimer1500: - if ($@illia_level_5_progress != 2) - end; - npcwarp 1, 1, "#LuviaShadow"; - npcwarp 39, 35, "Luvia?"; - set $@illia_level_5_progress, 3; - stopnpctimer; - setnpctimer 0; - end; - -OnNN: - message strcharinfo(0), "The last guard is down. Let's go after Luvia now!"; - end; - -} - -052-2,1,1,0|script|#MysteriousVoice|127 -{ -end; - -OnInit: - setarray $@illia_lobby_voices$, "Finally.", "I was...", "Waiting...", "For you!"; - end; - -OnCommandStart: - set $@illia_lobby_voices_index, 0; - initnpctimer; - end; - -// Voices loop -OnTimer2000: - if ($@illia_level_5_progress != 1) - end; - npcwarp rand(30,42), rand(32,38), "?"; - donpcevent "?::OnCommandTalk"; - end; - -OnTimer3000: - if ($@illia_level_5_progress != 1) - end; - npcwarp 1, 1, "?"; - set $@illia_lobby_voices_index, $@illia_lobby_voices_index + 1; - // FIXME Uncomment next line, comment the next next, when getarraysize is repaired. - //if ($@illia_lobby_voices_index < getarraysize($@illia_lobby_voices$)) goto L_Continue; - if ($@illia_lobby_voices_index < 4) - goto L_Continue; - // End the process - stopnpctimer; - setnpctimer 0; - set $@illia_lobby_voices_index, 0; - set $@illia_level_5_progress, 2; - donpcevent "#LuviaShadow::OnCommandInvoke"; - end; - -L_Continue: - setnpctimer 0; - end; - -} - -// Dummy npc to display the mysterious voice, -// as a workaround to fakenpcname causing problems -052-2,1,1,0|script|?|127 -{ -end; - -OnCommandTalk: - npctalk strnpcinfo(0), $@illia_lobby_voices$[$@illia_lobby_voices_index]; - end; - -} - -052-2,1,1,0|script|Luvia?|371,2,2 -{ - if ($@illia_level_5_progress != 3) end; - if (isin("052-2", 37,36, 41,39)) goto L_HandleTalk; - // Notify too far - mes "You see a strange and frightening, yet beautiful woman."; - if (strcharinfo(0) == $@ILLIA_HERO$) - mes "Maybe she knows something about this place."; - close; - -L_HandleTalk: - if (strcharinfo(0) == $@ILLIA_HERO$) - goto L_TalkToHero; - goto L_TalkToHelper; - -L_TalkToHelper: - mes "She gives you a quick look then gives her attention to " + $@ILLIA_HERO$ + "."; - close; - -L_TalkToHero: - mes "Are you Luvia? Your sister Valia sent me to save you! Where is Ismuth?"; - next; - set $@illia_level_5_progress, 4; - initnpctimer; - close; - -// Talk sequence timers -OnTimer1500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "Yes " + $@ILLIA_HERO$ + ", I am Luvia."; - end; - -OnTimer4500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "How nice of all of you to have come to save me!"; - end; - -OnTimer7500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "But I fear..."; - end; - -OnTimer10500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "... that you are mistaken about who has to be saved!"; - end; - -OnTimer13500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "Don't make these faces..."; - end; - -OnTimer16500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "Valia is just helping me by sending new soldiers for my personal army!"; - end; - -OnTimer21500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "So, if I may... Let's see what you are made of!"; - end; - -// Monster invokes timers -OnTimer24500: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "Demonotis!"; - misceffect FX_EVIL_SUMMON; - callsub S_GetHeroRect; - areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 20 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::OnDSDeath"; - callsub S_ClearHeroRect; - end; - -OnTimer44000: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "Demonotis!"; - misceffect FX_EVIL_SUMMON; - callsub S_GetHeroRect; - areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 28 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::OnDSDeath"; - callsub S_ClearHeroRect; - end; - -OnTimer77000: - if ($@illia_level_5_progress != 4) - end; - npctalk strnpcinfo(0), "Demonotis!"; - misceffect FX_EVIL_SUMMON; - callsub S_GetHeroRect; - areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1101, 42 + 16 - 480/(30+$Illia_Luvia_Harvest), "Luvia?::OnDSDeath"; - callsub S_ClearHeroRect; - // That was the last spawn: reset the timer to start the CheckInvoke loop. - set $@illia_level_5_progress, 5; - setnpctimer 0; - end; - -// Talk and Witch guard invokes timers -OnTimer6500: - if ($@illia_level_5_progress != 6) - end; - npctalk strnpcinfo(0), "Okay. You have some skill."; - end; - -OnTimer10000: - if ($@illia_level_5_progress != 6) - end; - npctalk strnpcinfo(0), "But that was only the beginning!"; - end; - -OnTimer13000: - if ($@illia_level_5_progress != 6) - end; - npctalk strnpcinfo(0), "I'll leave you in the good hands of your predecessors. Farewell!"; - end; - -OnTimer18500: - if ($@illia_level_5_progress != 6) - end; - npctalk strnpcinfo(0), "Demonotis Major!"; - misceffect FX_EVIL_SUMMON; - misceffect FX_MAGIC_DARK_EXPLOSION; - callsub S_GetHeroRect; - areamonster "052-2", $@illia_lobby_x1, $@illia_lobby_y1, $@illia_lobby_x2, $@illia_lobby_y2, "", 1103, 8 + (16 - 480/(30+$Illia_Luvia_Harvest))/3, "Luvia?::OnWGDeath"; - callsub S_ClearHeroRect; - end; - -OnTimer20000: - if ($@illia_level_5_progress != 6) - end; - set $@illia_level_5_progress, 7; - donpcevent "#LuviaShadow::OnCommandEscape"; - setnpctimer 0; - end; - -// Monsters checks timer loop -OnTimer2000: - if ($@illia_progress != 5) - goto L_Clear; - if ($@illia_level_5_progress != 5 && $@illia_level_5_progress != 7) - end; - setnpctimer 0; - // Mock players randomly (more or less once every 40 secs) and if still enough mobs running after them - if ($@illia_level_5_progress == 5 && rand(20) == 0 && (mobcount("052-2", "Luvia?::OnDSDeath") > 20)) - npctalk strnpcinfo(0), "Ahaha! Run... Run!"; - if ($@illia_level_5_progress == 5 && (mobcount("052-2", "Luvia?::OnDSDeath") < 0)) - goto L_AllWavesClear; - if ($@illia_level_5_progress == 7 && (mobcount("052-2", "Luvia?::OnWGDeath") < 0)) - goto L_AllWavesClear; - end; - -L_Clear: - stopnpctimer; - setnpctimer 0; - killmonster "052-2", "Luvia?::OnDSDeath"; - killmonster "052-2", "Luvia?::OnWGDeath"; - end; - -L_AllWavesClear: - set $@illia_level_5_progress, $@illia_level_5_progress + 1; - stopnpctimer; - setnpctimer 0; - if ($@illia_level_5_progress == 6) - startnpctimer; - if ($@illia_level_5_progress == 8) - goto L_ChaseLuvia; - end; - -L_ChaseLuvia: - set $@illia_progress, 6; - callfunc "UpdateIlliaProgress"; - set $@illia_max_time, $@illia_max_time + 360; - areatimer 0, "052-2", 19, 18, 48, 43, 2000, "#LuviaShadow::OnNN"; - end; - -S_GetHeroRect: - if (!(attachrid($@ILLIA_HERO_ID))) - goto L_Clear; - if(!(isin("052-2", 20, 21, 47, 43))) - goto L_Clear; - - set $@illia_lobby_x, getx(); - set $@illia_lobby_y, gety(); - - set $@illia_lobby_x1, $@illia_lobby_x - 12; - set $@illia_lobby_y1, $@illia_lobby_y - 8; - set $@illia_lobby_x2, $@illia_lobby_x + 12; - set $@illia_lobby_y2, $@illia_lobby_y + 8; - - if ($@illia_lobby_x1 < 20) - set $@illia_lobby_x1, 20; - if ($@illia_lobby_y1 < 19) - set $@illia_lobby_y1, 19; - if ($@illia_lobby_x2 > 47) - set $@illia_lobby_x2, 47; - if ($@illia_lobby_y2 > 42) - set $@illia_lobby_y2, 42; - - detachrid; - return; - -S_ClearHeroRect: - set $@illia_lobby_x1, 20; - set $@illia_lobby_y1, 19; - set $@illia_lobby_x2, 47; - set $@illia_lobby_y2, 42; - return; - -OnDSDeath: - end; - -OnWGDeath: - end; - -} |