From e54f4318c30787a9c2e9d6dd24e57612cf454c96 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 3 May 2022 22:41:01 -0300 Subject: I think conditional will work better here --- npc/014-2-2/gemini.txt | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/npc/014-2-2/gemini.txt b/npc/014-2-2/gemini.txt index ad5261000..6a5e52b72 100644 --- a/npc/014-2-2/gemini.txt +++ b/npc/014-2-2/gemini.txt @@ -9,6 +9,11 @@ OnCoreInit: debugmes "CORE INIT, Inst = %d", instance_id(); + // Oops! You do not have enough level! + if (BaseLevel < 30) { + warp "014-2-2", 36, 24; + end; + } .@p = getcharid(1); instance_attach($@VALIA_INST[.@p]); @mystatus = 0; @@ -24,14 +29,8 @@ OnCore: // This handles new stages for person if (@mystatus < $@VALIA_STATUS[.@p]) { // No retroaction! - @mystatus = $@VALIA_STATUS[.@p]; switch ($@VALIA_STATUS[.@p]) { case 1: // Quest initiated - // Oops! You do not have enough level! - if (BaseLevel < 30) { - warp "014-2-2", 36, 24; - end; - } // Spawn monsters areamonster("val1@"+.@p, 20, 20, 60, 60, strmobinfo(1, GreenSlime), GreenSlime, (BaseLevel/15), "Valia::OnGSlime"); areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, LogHead), LogHead, (BaseLevel/15), "Valia::OnLHead"); @@ -39,10 +38,12 @@ OnCore: areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, RedMushroom), RedMushroom, 1+(BaseLevel/30), "Valia::OnRShroom"); break; case 2: // Looking for a runestone - getexp 4000, 100; + if (@mystatus) + getexp 4000, 100; break; case 3: // Runestone was found - getexp 8000, 200; + if (@mystatus) + getexp 8000, 200; break; case 4: // Desert unlocked, but no clue on what to do dispbottom l("You hear a noise from distance."); @@ -57,13 +58,15 @@ OnCore: areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, EliteDuck), EliteDuck, 1); break; case 5: // JackO shows up - getexp 16000, 400; + if (@mystatus) + getexp 16000, 400; break; case 6: // Passage Open if (countitem(SealedSoul)) delitem SealedSoul, countitem(SealedSoul); dispbottom l("You hear waterfall opening in distance."); - getexp 32000, 800; + if (@mystatus) + getexp 32000, 800; break; case 7: // Ambushed & Captured if (!is_gm()) @@ -90,10 +93,12 @@ OnCore: areamonster("val2@"+.@p, 25, 24, 50, 45, strmobinfo(1, HoodedNinja), HoodedNinja, 1); break; case 8: // Bandit Key retrieved - getexp 64000, 1600; + if (@mystatus) + getexp 64000, 1600; break; case 9: // Door seal broken - getexp 128000, 3200; + if (@mystatus) + getexp 128000, 3200; break; case 10: // Luvia first cutscene // Limit exports of Lazurite outside the area @@ -106,19 +111,23 @@ OnCore: delitem LazuriteHeart, countitem(LazuriteHeart); break; case 11: // Survived cutscene - getexp 256000, 6400; + if (@mystatus) + getexp 256000, 6400; break; case 12: // Storage cutscene break; case 13: // Survived storage - getexp 384000, 9600; + if (@mystatus) + getexp 384000, 9600; break; case 14: // Luvia Showdown cutscene break; case 15: // Defeated Luvia and now on pursuit! - getexp 512000, 12800; + if (@mystatus) + getexp 512000, 12800; break; } + @mystatus = $@VALIA_STATUS[.@p]; } addtimer(3000, "#Gemini::OnCore"); end; -- cgit v1.2.3-60-g2f50