summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/014-2-2/gemini.txt39
1 files 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;