From f652b19d9f9a068426efd3d1dfa59f4eb725005f Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 28 Apr 2022 13:42:03 -0300 Subject: I simplified the Desert Stage. --- npc/014-2-2/valia.txt | 36 ++++++++++++++++++++++++++++++++++++ npc/034-1/gemini.txt | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 70 insertions(+), 1 deletion(-) (limited to 'npc') diff --git a/npc/014-2-2/valia.txt b/npc/014-2-2/valia.txt index 2a66433b3..d4c886d2b 100644 --- a/npc/014-2-2/valia.txt +++ b/npc/014-2-2/valia.txt @@ -38,6 +38,15 @@ function script GeminiKill { case 3: // Has runestone break; case 4: // Desert unlocked, but no clue on what to do + case 5: // Desert unlocked, cutscene over + if (killedrid == CaveSnake) { + if (!rand2(5) && countitem(SealedSoul) < 10) { + getitem SealedSoul, 1; + areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin"); + } + } + break; + case 6: // Just entered the Den break; // Forest -> Desert -> Bandit Cave -> Island -> Fake showdown -> Storage -> Showdown -> Chest, Lore and Exit -> Wumpus' Trap -> End } @@ -197,6 +206,22 @@ OnCore: case 4: // Desert unlocked, but no clue on what to do dispbottom l("You hear a noise from distance."); // Spawn monsters + areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, CaveSnake), CaveSnake, 2, "Valia::OnCSnake"); + areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin"); + // These refuse to respawn but are numerous + // Thus far, the quest is still easy. But soon it won't be. + areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MountainSnake), MountainSnake, 1+(BaseLevel/24)); + areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, DarkLizard), DarkLizard, 1+(BaseLevel/20)); + areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, WickedMushroom), WickedMushroom, 1+(BaseLevel/32)); + areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, EliteDuck), EliteDuck, 1); + break; + case 6: // Passage Open + if (countitem(SealedSoul)) + delitem SealedSoul, countitem(SealedSoul); + dispbottom l("You hear waterfall opening in distance."); + // FALLTHROUGH + case 5: // JackO shows up + getexp 32000, 1400; break; } } @@ -223,6 +248,17 @@ OnRShroom: areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, RedMushroom), RedMushroom, 1, "Valia::OnRShroom"); end; +/////////////////////////////////// +OnCSnake: + fix_mobkill(CaveSnake); + areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, CaveSnake), CaveSnake, 1, "Valia::OnCSnake"); + end; + +OnMGoblin: + fix_mobkill(MagicGoblin); + areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 2, "Valia::OnMGoblin"); + end; + OnInit: .distance=4; end; diff --git a/npc/034-1/gemini.txt b/npc/034-1/gemini.txt index 7e978fbc1..0d53a9b2c 100644 --- a/npc/034-1/gemini.txt +++ b/npc/034-1/gemini.txt @@ -35,7 +35,7 @@ OnInit: end; } -034-1,66,45,0 script #GeminiExit NPC_HIDDEN,0,0,{ +034-1,66,45,0 script #GeminiExit1 NPC_HIDDEN,0,0,{ end; OnTouch: if (instance_id() < 0 || getcharid(1) < 1) end; @@ -48,3 +48,36 @@ OnTouch: end; } + +034-1,169,64,0 script #GeminiExit2 NPC_HIDDEN,1,0,{ + end; +OnTouch: + if (instance_id() < 0 || getcharid(1) < 1) end; + GeminiCheck(4); + if ('STATUS < 6) { + if (countitem(SealedSoul) >= 7) { + mesc l("Do you want to use the souls to unlock the passage?"), 1; + next; + if (askyesno() == ASK_YES) { + delitem SealedSoul, 7; + closeclientdialog; + if ('STATUS == 4) { + .@u=monster(getmap(), 163, 26, strmobinfo(1, JackO), JackO, 1); + unittalk(.@u, "Souls... Feed me Souls... Nooooooooowwww!!!!"); + 'STATUS=5; + } else { + dispbottom l("The waterfall open, and you may now pass."); + 'STATUS=6; + close; + } + } + close; + } + dispbottom l("A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.", 7, getitemlink(SealedSoul)); + end; + } + .@p=getcharid(1); + warp "val2@"+.@p, 24, 59; + end; +} + -- cgit v1.2.3-60-g2f50