diff options
Diffstat (limited to 'npc/051-1/desert.txt')
-rw-r--r-- | npc/051-1/desert.txt | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/npc/051-1/desert.txt b/npc/051-1/desert.txt new file mode 100644 index 00000000..172cb48e --- /dev/null +++ b/npc/051-1/desert.txt @@ -0,0 +1,132 @@ + +051-1,142,39,0 script Bones NPC367,{ + mes "You find a ruined paper next to these bones."; + mes "It says..."; + next; + mes "\"This waterfall is cursed... it feeds on living souls... I could not get past throught it.\""; + mes "\"God, they appeared from nowhere...\""; + mes "\"...\""; + next; + mes "The rest isn't legible."; + close; + +} + +051-1,170,24,0 script Cursed Waterfall NPC400,{ + $@illia_num_sealed_souls = 7; + @step = 3; + if ($@illia_progress < @step) goto L_ShouldNotBeHere; + if ($@illia_level_3_progress == 0 && strcharinfo(0) == $@iLLIA_HERO$) goto L_GiveTask; + if ($@illia_level_3_progress == 0 && strcharinfo(0) != $@iLLIA_HERO$) goto L_HintToHelpers; + if ($@illia_level_3_progress == 1) goto L_GiveSouls; + mes "Jump in the waterfall?"; + menu + "Yes", L_Warp, + "No", L_close; + +OnTimer1000: + npctalk strnpcinfo(0), "Youuuuuuu... Bring me souls... " + $@illia_num_sealed_souls + " fresh souls... Nooooow. And you shall paaass."; + end; + +OnTimer4750: + mapannounce "051-1", "You hear a loud scream coming from the wind... Something terrifying raised out there.", 0; + end; + +OnTimer6500: + npctalk strnpcinfo(0), "Nooooo... Do not let these things take them from youuuuuu!"; + stopnpctimer; + setnpctimer 0; + end; + +L_ShouldNotBeHere: + heal -Hp, 0; + end; + +L_HintToHelpers: + mes "[Cursed Waterfall]"; + mes "\"Who are you?... Bring " + $@iLLIA_HERO$ + " to me!\""; + close; + +L_GiveTask: + $@illia_level_3_progress = 1; + mes "[Cursed Waterfall]"; + mes "\"Yooouuuuuu...\""; + next; + + mes "You look around and see this ghostly voice comes from the waterfall."; + next; + + // This message will be in the timed messages, + // but display it here anyway to be sure the hero sees it. + mes "\"Youuuuuuu... Bring me souls... " + $@illia_num_sealed_souls + " fresh souls... Nooooow.\""; + mes "\"And you shall paaass.\""; + + // Reset the soul eaters counters. + $@SoulEaters0_count = 0; + $@SoulEaters1_count = 0; + $@SoulEaters2_count = 0; + $@SoulEaters3_count = 0; + $@SoulEaters4_count = 0; + // Spawn 7 additional soul snakes in the north building, as a bait. + areamonster "051-1", 125, 14, 143, 18, "", 1096, 7, "IlliaDMobs051-1::On1096"; + // Same with 5, in the island + areamonster "051-1", 138, 34, 145, 41, "", 1096, 5, "IlliaDMobs051-1::On1096"; + // Start timed messages + initnpctimer; + goto L_close; + +L_GiveSouls: + if (strcharinfo(0) != $@iLLIA_HERO$) + goto L_GiveSoulsToHero; + mes "[Cursed Waterfall]"; + mes "\"Give me the souuuuuuls... Noooooooow!!\""; + menu + "Please, have a look at these.", L_CheckSouls, + "Sorry, I don't have any.", L_close; + +L_GiveSoulsToHero: + mes "[Cursed Waterfall]"; + mes "\"Who are you?.... I want the souuuuuuls from " + $@iLLIA_HERO$ + "!\""; + goto L_close; + +L_CheckSouls: + if (countitem ("SealedSoul") < $@illia_num_sealed_souls) + goto L_NotEnough; + delitem "SealedSoul", $@illia_num_sealed_souls; + $@illia_level_3_progress = 2; + $@illia_progress = 4; + callfunc "UpdateIlliaProgress"; + $@illia_max_time = $@illia_max_time + 540; + + // Clean all spawned monsters + killmonster "051-1", "IlliaDMobs051-1::On1096"; + killmonster "051-1", "#SoulEaters0::OnSoulEaterDeath"; + killmonster "051-1", "#SoulEaters1::OnSoulEaterDeath"; + killmonster "051-1", "#SoulEaters2::OnSoulEaterDeath"; + killmonster "051-1", "#SoulEaters3::OnSoulEaterDeath"; + killmonster "051-1", "#SoulEaters4::OnSoulEaterDeath"; + + + mes "\"Goooood... Tasty souuuuuls...\""; + mes "You shall pass now... before I change my mind...\""; + next; + mes "A blinding light appears from inside the waterfall."; + + // Display an effect to show the waterfall opens itself / kills remaining monsters + misceffect FX_MEDIUM_BLINDINGLIGHT; + goto L_close; + +L_NotEnough: + mes "[Cursed Waterfall]"; + mes "\"Moooooooooore... Give me more...\""; + goto L_close; + +L_Warp: + warp "052-1", 23, 52; + // Count the player who reached the island. + $@illia_players_in_luvia_territory = $@illia_players_in_luvia_territory + 1; + goto L_close; + +L_close: + close; +} |