summaryrefslogtreecommitdiff
path: root/world/map/npc/052-2/lobby.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/052-2/lobby.txt')
-rw-r--r--world/map/npc/052-2/lobby.txt382
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;
-
-}