diff options
author | Vincent Petithory <vincent.petithory@gmail.com> | 2012-09-24 21:11:33 +0200 |
---|---|---|
committer | Vincent Petithory <vincent.petithory@gmail.com> | 2012-12-17 19:55:26 +0100 |
commit | 32cbb82b32d4ccbc3b5090ca517ed74feb5c9b5f (patch) | |
tree | f960e08320c2bfec54a3220c16734befea0f606e /world/map/npc/051-1/desert.txt | |
parent | a6910cd696eccbef6f056fb0f7f4d0f2b72a2ede (diff) | |
download | classic-serverdata-32cbb82b32d4ccbc3b5090ca517ed74feb5c9b5f.tar.gz classic-serverdata-32cbb82b32d4ccbc3b5090ca517ed74feb5c9b5f.tar.bz2 classic-serverdata-32cbb82b32d4ccbc3b5090ca517ed74feb5c9b5f.tar.xz classic-serverdata-32cbb82b32d4ccbc3b5090ca517ed74feb5c9b5f.zip |
Add Illia quest scripts. Update submodule pointer.
Diffstat (limited to 'world/map/npc/051-1/desert.txt')
-rw-r--r-- | world/map/npc/051-1/desert.txt | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/world/map/npc/051-1/desert.txt b/world/map/npc/051-1/desert.txt new file mode 100644 index 00000000..ba163347 --- /dev/null +++ b/world/map/npc/051-1/desert.txt @@ -0,0 +1,140 @@ +//----------------------------------------------------------------------------- +// Souless Desert +// $@illia_progress = 3 +// +// Level progress: +// 0: Did not start the task yet +// 1: Players are instructed to collect souls +// 2: Players collected enough souls and gave the souls to the waterfall +//----------------------------------------------------------------------------- + +051-1.gat,142,39,0|script|Bones|367,{ + 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.gat,170,24,0|script|Cursed Waterfall|127,{ + set $@illia_num_sealed_souls, 7; + set @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", -; + close; + +OnTimer1000: + npctalk "Youuuuuuu... Bring me souls... " + $@illia_num_sealed_souls + " fresh souls... Nooooow. And you shall paaass."; + end; + +OnTimer4750: + mapannounce "051-1.gat", "You hear a loud scream coming from the wind... Something terrifying raised out there.", 0; + end; + +OnTimer6500: + npctalk "Nooooo... Do not let these things take them from youuuuuu!"; + stopnpctimer; + setnpctimer 0; + end; + +L_ShouldNotBeHere: + percentheal -100, 0; + end; + +L_HintToHelpers: + mes "[Cursed Waterfall]"; + mes "\"Who are you?... Bring " + $@ILLIA_HERO$ + " to me!\""; + close; + +L_GiveTask: + set $@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. + set $@SoulEaters0_count, 0; + set $@SoulEaters1_count, 0; + set $@SoulEaters2_count, 0; + set $@SoulEaters3_count, 0; + set $@SoulEaters4_count, 0; + // Spawn 7 additional soul snakes in the north building, as a bait. + areamonster "051-1.gat", 125, 14, 143, 18, "", 1096, 7, "IlliaDMobs051-1::On1096"; + // Same with 5, in the island + areamonster "051-1.gat", 138, 34, 145, 41, "", 1096, 5, "IlliaDMobs051-1::On1096"; + // Start timed messages + initnpctimer; + 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.", -; + close; + +L_GiveSoulsToHero: + mes "[Cursed Waterfall]"; + mes "\"Who are you?.... I want the souuuuuuls from " + $@ILLIA_HERO$ + "!\""; + close; + +L_CheckSouls: + if (countitem ("SealedSoul") < $@illia_num_sealed_souls) + goto L_NotEnough; + delitem "SealedSoul", $@illia_num_sealed_souls; + set $@illia_level_3_progress, 2; + set $@illia_progress, 4; + set $@illia_max_time, $@illia_max_time + 1200; + + // Clean all spawned monsters + killmonster "051-1.gat", "IlliaDMobs051-1::On1096"; + killmonster "051-1.gat", "#SoulEaters0::OnSoulEaterDeath"; + killmonster "051-1.gat", "#SoulEaters1::OnSoulEaterDeath"; + killmonster "051-1.gat", "#SoulEaters2::OnSoulEaterDeath"; + killmonster "051-1.gat", "#SoulEaters3::OnSoulEaterDeath"; + killmonster "051-1.gat", "#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; + close; + +L_NotEnough: + mes "[Cursed Waterfall]"; + mes "\"Moooooooooore... Give me more...\""; + close; + +L_Warp: + warp "052-1.gat", 23, 52; + // Count the player who reached the island. + set $@illia_players_in_luvia_territory, $@illia_players_in_luvia_territory + 1; + close; + +} |