summaryrefslogtreecommitdiff
path: root/world/map/npc/051-1/desert.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/051-1/desert.txt')
-rw-r--r--world/map/npc/051-1/desert.txt140
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;
+
+}