summaryrefslogtreecommitdiff
path: root/npc/051-1
diff options
context:
space:
mode:
Diffstat (limited to 'npc/051-1')
-rw-r--r--npc/051-1/_import.txt9
-rw-r--r--npc/051-1/_mobs.txt4
-rwxr-xr-xnpc/051-1/desert.txt132
-rwxr-xr-xnpc/051-1/desertmonsters.txt154
-rwxr-xr-xnpc/051-1/forest.txt76
-rwxr-xr-xnpc/051-1/forestmonsters.txt22
-rwxr-xr-xnpc/051-1/janitor.txt23
-rwxr-xr-xnpc/051-1/mapflags.txt2
8 files changed, 422 insertions, 0 deletions
diff --git a/npc/051-1/_import.txt b/npc/051-1/_import.txt
new file mode 100644
index 00000000..9b055a82
--- /dev/null
+++ b/npc/051-1/_import.txt
@@ -0,0 +1,9 @@
+// Map 051-1: Illia outskirts
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/051-1/_mobs.txt",
+"npc/051-1/desert.txt",
+"npc/051-1/desertmonsters.txt",
+"npc/051-1/forest.txt",
+"npc/051-1/forestmonsters.txt",
+"npc/051-1/janitor.txt",
+"npc/051-1/mapflags.txt",
diff --git a/npc/051-1/_mobs.txt b/npc/051-1/_mobs.txt
new file mode 100644
index 00000000..36c1b0f0
--- /dev/null
+++ b/npc/051-1/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 051-1: Illia outskirts mobs
+051-1,42,35,21,12 monster Little Green Slime 1025,30,100000,30000
+051-1,42,35,20,11 monster PumpkinMob 1019,10,100000,30000
diff --git a/npc/051-1/desert.txt b/npc/051-1/desert.txt
new file mode 100755
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;
+}
diff --git a/npc/051-1/desertmonsters.txt b/npc/051-1/desertmonsters.txt
new file mode 100755
index 00000000..08476f32
--- /dev/null
+++ b/npc/051-1/desertmonsters.txt
@@ -0,0 +1,154 @@
+051-1,134,36,67,49 monster SoulSnake 1096,12,100000,30000,IlliaDMobs051-1::On1096
+
+051-1,0,0,0 script IlliaDMobs051-1 NPC32767,{
+ end;
+
+On1096:
+ if (rand(4) == 0 && $@illia_progress == 3 && $@illia_level_3_progress == 1)
+ getitem "SealedSoul", 1;
+ @mobId = 1010;
+ callfunc "MobPoints";
+ end;
+
+}
+
+
+051-1,142,38,0 script #SoulEaters0Trigger NPC32767,3,3,{
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if ($@SoulEaters0_count > 0)
+ end;
+ donpcevent "#SoulEaters0::OnSpawn";
+ end;
+}
+
+051-1,142,38,0 script #SoulEaters0 NPC32767,{
+ end;
+
+OnSpawn:
+ $@SoulEaters0_count = 5;
+ areamonster "051-1", 139, 34, 145, 41, "", 1097, $@SoulEaters0_count, "#SoulEaters0::OnSoulEaterDeath";
+ end;
+
+OnSoulEaterDeath:
+ $@SoulEaters0_count = $@SoulEaters0_count - 1;
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if (countitem("SealedSoul") == 0)
+ end;
+ delitem "SealedSoul", countitem("SealedSoul");
+ message strcharinfo(0), "The Soul Eater feeds on the Sealed Souls you are carrying.";
+ end;
+}
+
+051-1,134,16,0 script #SoulEaters1Trigger NPC32767,9,2,{
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if ($@SoulEaters1_count > 0)
+ end;
+ donpcevent "#SoulEaters1::OnSpawn";
+ end;
+}
+
+051-1,134,16,0 script #SoulEaters1 NPC32767,{
+ end;
+
+OnSpawn:
+ $@SoulEaters1_count = 7;
+ areamonster "051-1", 125, 14, 143, 18, "", 1097, $@SoulEaters1_count, "#SoulEaters1::OnSoulEaterDeath";
+ end;
+
+OnSoulEaterDeath:
+ $@SoulEaters1_count = $@SoulEaters1_count - 1;
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if (countitem("SealedSoul") == 0)
+ end;
+ delitem "SealedSoul", countitem("SealedSoul");
+ message strcharinfo(0), "The Soul Eater feeds on the Sealed Souls you are carrying.";
+ end;
+}
+
+051-1,137,55,0 script #SoulEaters2Trigger NPC32767,5,4,{
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if ($@SoulEaters2_count > 0)
+ end;
+ donpcevent "#SoulEaters2::OnSpawn";
+ end;
+}
+
+051-1,137,55,0 script #SoulEaters2 NPC32767,{
+ end;
+
+OnSpawn:
+ $@SoulEaters2_count = 4;
+ areamonster "051-1", 134, 54, 139, 58, "", 1097, $@SoulEaters2_count, "#SoulEaters2::OnSoulEaterDeath";
+ end;
+
+OnSoulEaterDeath:
+ $@SoulEaters2_count = $@SoulEaters2_count - 1;
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if (countitem("SealedSoul") == 0)
+ end;
+ delitem "SealedSoul", countitem("SealedSoul");
+ message strcharinfo(0), "The Soul Eater feeds on the Sealed Souls you are carrying.";
+ end;
+}
+
+051-1,155,35,0 script #SoulEaters3Trigger NPC32767,4,7,{
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if ($@SoulEaters3_count > 0)
+ end;
+ donpcevent "#SoulEaters3::OnSpawn";
+ end;
+}
+
+051-1,155,35,0 script #SoulEaters3 NPC32767,{
+ end;
+
+OnSpawn:
+ $@SoulEaters3_count = 4;
+ areamonster "051-1", 151, 29, 160, 45, "", 1097, $@SoulEaters3_count, "#SoulEaters3::OnSoulEaterDeath";
+ end;
+
+OnSoulEaterDeath:
+ $@SoulEaters3_count = $@SoulEaters3_count - 1;
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if (countitem("SealedSoul") == 0)
+ end;
+ delitem "SealedSoul", countitem("SealedSoul");
+ message strcharinfo(0), "The Soul Eater feeds on the Sealed Souls you are carrying.";
+ end;
+}
+
+051-1,120,38,0 script #SoulEaters4Trigger NPC32767,6,9,{
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if ($@SoulEaters4_count > 0)
+ end;
+ donpcevent "#SoulEaters4::OnSpawn";
+ end;
+}
+
+051-1,120,38,0 script #SoulEaters4 NPC32767,{
+ end;
+
+OnSpawn:
+ $@SoulEaters4_count = 4;
+ areamonster "051-1", 116, 29, 127, 50, "", 1097, $@SoulEaters4_count, "#SoulEaters4::OnSoulEaterDeath";
+ end;
+
+OnSoulEaterDeath:
+ $@SoulEaters4_count = $@SoulEaters4_count - 1;
+ if ($@illia_progress != 3 || $@illia_level_3_progress != 1)
+ end;
+ if (countitem("SealedSoul") == 0)
+ end;
+ delitem "SealedSoul", countitem("SealedSoul");
+ message strcharinfo(0), "The Soul Eater feeds on the Sealed Souls you are carrying.";
+ end;
+}
diff --git a/npc/051-1/forest.txt b/npc/051-1/forest.txt
new file mode 100755
index 00000000..d9c21625
--- /dev/null
+++ b/npc/051-1/forest.txt
@@ -0,0 +1,76 @@
+
+051-1,64,46,0 script Strange Stone NPC400,{
+ @step = 1;
+ if ($@illia_progress < @step) goto L_ShouldNotBeHere;
+ if (isin("051-1", 65,45, 67,48) == 0) end;
+ if (strcharinfo(0) != $@iLLIA_HERO$) goto L_HandleHelper;
+ if ($@illia_level_1_progress == 0) goto L_GiveTask;
+ if ($@illia_level_1_progress == 1) goto L_TaskNotComplete;
+ if ($@illia_level_1_progress == 2) goto L_TaskComplete;
+ if ($@illia_level_1_progress == 3) goto L_NothingElseToDo;
+ end;
+
+L_ShouldNotBeHere:
+ heal -Hp, 0;
+ end;
+
+L_HandleHelper:
+ mes "This stuff sounds complicated.";
+ mes "I should ask " + $@iLLIA_HERO$ + " what to do.";
+ close;
+
+L_NothingElseToDo:
+ mes "The door is opened... What am I waiting for?";
+ close;
+
+L_GiveTask:
+ mes "You look at the rocks with attention.";
+ mes "You are smart enough to notice that there seems to be a missing rock that could activate a mechanism.";
+ next;
+ menu
+ "This rock must not be far... Let's look around.", L_Foo;
+L_Foo:
+ $@illia_level_1_progress = 1;
+ $@illia_level_1_num_deaths = 0;
+ close;
+
+L_TaskNotComplete:
+ mes "It's not working. I have to find the rock.";
+ mes "With all the slimes around here, maybe one absorbed it.";
+ close;
+
+L_TaskComplete:
+ $@illia_level_1_progress = 3;
+ $@illia_progress = 2;
+ callfunc "UpdateIlliaProgress";
+ $@illia_max_time = $@illia_max_time + 360;
+ mes "You insert the rock in the mechanism, then hear an unlock noise. The rocks move by themselves in a rumbling noise, making an opening in the wall.";
+ close;
+
+}
+
+051-1,66,44,0 script #ToCave NPC32767,1,1,{
+ @step = 1;
+ if ($@illia_progress < @step) goto L_ShouldNotBeHere;
+ if ($@illia_level_1_progress < 2) goto L_Blocked;
+ if ($@illia_level_1_progress == 2 && strcharinfo(0) == $@iLLIA_HERO$) goto L_SeeStone;
+ if ($@illia_level_1_progress == 3) goto L_Warp;
+ end;
+
+L_ShouldNotBeHere:
+ heal -Hp, 0;
+ end;
+
+L_Blocked:
+ message strcharinfo(0), "There should be a way to open this... but not with my bare hands.";
+ end;
+
+L_SeeStone:
+ message strcharinfo(0), "I should take a look at the stone.";
+ end;
+
+L_Warp:
+ warp "051-3", 24, 60;
+ end;
+}
+
diff --git a/npc/051-1/forestmonsters.txt b/npc/051-1/forestmonsters.txt
new file mode 100755
index 00000000..b6a6c102
--- /dev/null
+++ b/npc/051-1/forestmonsters.txt
@@ -0,0 +1,22 @@
+051-1,52,32,10,8 monster GreenSlime 1005,20,100000,30000,IlliaFMobs051-1::On1005
+
+051-1,0,0,0 script IlliaFMobs051-1 NPC32767,{
+ end;
+
+On1005:
+ if ($@illia_level_1_progress == 1)
+ goto L_RockFinding;
+ end;
+
+L_RockFinding:
+ $@illia_level_1_num_deaths = $@illia_level_1_num_deaths + 1;
+ @p = 50 - $@illia_level_1_num_deaths;
+ if (@p < 0)
+ @p = 0;
+ if ($@illia_progress != 1 || $@iLLIA_STATUS != 4 || rand(@p) != 0)
+ end;
+ message strcharinfo(0), "This slime released a rock with a weird shape, that seems to fit in the mechanism!";
+ $@illia_level_1_progress = 2;
+ end;
+
+}
diff --git a/npc/051-1/janitor.txt b/npc/051-1/janitor.txt
new file mode 100755
index 00000000..15a849c1
--- /dev/null
+++ b/npc/051-1/janitor.txt
@@ -0,0 +1,23 @@
+051-1,1,1,0 script #IlliaJanitor1 NPC32767,{
+end;
+
+OnCommandClean:
+ // Nothing to do here.
+ end;
+
+}
+
+051-1,1,1,0 script #IlliaJanitor3 NPC32767,{
+end;
+
+OnCommandClean:
+ killmonster "051-1", "IlliaDMobs051-1::On1096";
+ // Kill the soul eaters that were spawned
+ 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";
+ end;
+
+}
diff --git a/npc/051-1/mapflags.txt b/npc/051-1/mapflags.txt
new file mode 100755
index 00000000..5ac6d06e
--- /dev/null
+++ b/npc/051-1/mapflags.txt
@@ -0,0 +1,2 @@
+051-1 mapflag nosave 007-2,36,23
+//051-1 mapflag resave 007-2,36,23