summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/031-3_Cave/_import.txt1
-rwxr-xr-xnpc/031-3_Cave/labyrinth.txt10
-rw-r--r--npc/031-4_Cave/_import.txt6
-rw-r--r--npc/031-4_Cave/_mobs.txt7
-rw-r--r--npc/031-4_Cave/_warps.txt2
-rw-r--r--npc/031-4_Cave/barrier.txt8
-rw-r--r--npc/031-4_Cave/cindyCave.txt (renamed from npc/031-3_Cave/cindyCave.txt)81
-rw-r--r--npc/031-4_Cave/mapflags.txt1
-rw-r--r--npc/_import.txt1
9 files changed, 77 insertions, 40 deletions
diff --git a/npc/031-3_Cave/_import.txt b/npc/031-3_Cave/_import.txt
index 44ec9310..d28ddba7 100644
--- a/npc/031-3_Cave/_import.txt
+++ b/npc/031-3_Cave/_import.txt
@@ -1,5 +1,4 @@
map: 031-3.gat
npc: npc/031-3_Cave/_mobs.txt
npc: npc/031-3_Cave/_warps.txt
-npc: npc/031-3_Cave/cindyCave.txt
npc: npc/031-3_Cave/labyrinth.txt
diff --git a/npc/031-3_Cave/labyrinth.txt b/npc/031-3_Cave/labyrinth.txt
index 088495fb..feef9c1d 100755
--- a/npc/031-3_Cave/labyrinth.txt
+++ b/npc/031-3_Cave/labyrinth.txt
@@ -8,17 +8,9 @@
//#
//#################################################################################
-031-3.gat,120,81,0 script #YetiBarrier 127,1,1,{
- if ($@FIGHT_YETI_STATUS == 1) goto L_Block;
- warp "031-3.gat", 46, 27;
- end;
-L_Block:
- message strcharinfo(0), "A force field seems to be blocking you from exiting.";
- end;
-}
031-3.gat,46,24,0 script #YetiBarrier 127,1,1,{
if ($@FIGHT_YETI_STATUS == 1) goto L_Blocked;
- warp "031-3.gat", 120, 79;
+ warp "031-4.gat", 40, 69;
end;
L_Blocked:
message strcharinfo(0), "A force field seems to be blocking you from entering.";
diff --git a/npc/031-4_Cave/_import.txt b/npc/031-4_Cave/_import.txt
new file mode 100644
index 00000000..aaa6f906
--- /dev/null
+++ b/npc/031-4_Cave/_import.txt
@@ -0,0 +1,6 @@
+map: 031-4.gat
+npc: npc/031-4_Cave/_mobs.txt
+npc: npc/031-4_Cave/_warps.txt
+npc: npc/031-4_Cave/barrier.txt
+npc: npc/031-4_Cave/cindyCave.txt
+npc: npc/031-4_Cave/mapflags.txt
diff --git a/npc/031-4_Cave/_mobs.txt b/npc/031-4_Cave/_mobs.txt
new file mode 100644
index 00000000..e107b374
--- /dev/null
+++ b/npc/031-4_Cave/_mobs.txt
@@ -0,0 +1,7 @@
+// 031-4 Cave mobs
+
+
+
+031-4.gat,0,0,0 script Mob031-4 -1,{
+ end;
+}
diff --git a/npc/031-4_Cave/_warps.txt b/npc/031-4_Cave/_warps.txt
new file mode 100644
index 00000000..0a6f70da
--- /dev/null
+++ b/npc/031-4_Cave/_warps.txt
@@ -0,0 +1,2 @@
+// 031-4 Cave warps
+
diff --git a/npc/031-4_Cave/barrier.txt b/npc/031-4_Cave/barrier.txt
new file mode 100644
index 00000000..e8b4a5ac
--- /dev/null
+++ b/npc/031-4_Cave/barrier.txt
@@ -0,0 +1,8 @@
+031-4.gat,40,71,0 script #YetiBarrier 127,1,1,{
+ if ($@FIGHT_YETI_STATUS == 1) goto L_Block;
+ warp "031-3.gat", 46, 27;
+ end;
+L_Block:
+ message strcharinfo(0), "A force field seems to be blocking you from exiting.";
+ end;
+}
diff --git a/npc/031-3_Cave/cindyCave.txt b/npc/031-4_Cave/cindyCave.txt
index 29b328f0..e6b8702d 100644
--- a/npc/031-3_Cave/cindyCave.txt
+++ b/npc/031-4_Cave/cindyCave.txt
@@ -1,31 +1,31 @@
// author: Jenalya
-// reviewed by:
+// reviewed by:
// state0: Cindy is totally scared and does nothing helpful
// state1: you are able to open the cage
// state2: Cindy is saved, she gives you a reward (wizard hat or wooden staff)
// state3: and greater: Cindy is saved, she asks you to visit them
-031-3.gat,122,52,0 script Cindy 198, {
+031-4.gat,42,42,0 script Cindy 198, {
if ($@FIGHT_YETI_STATUS != 0) goto L_Yeti;
-
+
set @KEYS_AMOUNT, 10;
set @Q_Nivalis_state_MASK, NIBBLE_5_MASK;
set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT;
set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT);
-
+
if (Sex == 0) set @title$, "Misses";
if (Sex == 1) set @title$, "Mister";
-
- if (@rescue_Cindy >= 3) goto L_Please_Visit;
+
+ if (@rescue_Cindy >= 3) goto L_Please_Visit;
if (@rescue_Cindy == 2) goto L_Reward;
if (@rescue_Cindy == 1) goto L_Please_Help;
mes "There is a little girl in a cage. As you come near, she starts to shiver and back off from you as far as she can in that small cage.";
next;
mes "You don't know what to do.";
- close;
+ close;
L_Please_Help:
mes "There is a little girl in a cage. As you come near, she starts to shiver and back off from you as far as she can in that small cage.";
@@ -41,7 +41,7 @@ L_Please_Help:
next;
mes "\"But be careful. If the Yetis hear you, they will come!\"";
menu
- "Try to open the cage", L_Try_Cage,
+ "Try to open the cage", L_Try_Cage,
"Leave", -;
close;
@@ -55,28 +55,28 @@ L_Try_Cage:
next;
mes "\"Oh no, the Yetis...\"";
if ($@FIGHT_YETI_STATUS != 0) goto L_Yeti;
-
+
// initialize fight
set $@FIGHT_YETI_STATUS, 1;
set $@FIGHT_YETI_WAVE, 0;
set $@YETI_COUNT, 1;
- set $@FIGHT_YETI_PLAYER_COUNT, getareausers("031-3.gat", 80, 20, 160, 90);
+ set $@FIGHT_YETI_PLAYER_COUNT, getareausers("031-4.gat", 0, 0, 95, 91);
// this yeti is spawned because of some timing problems
// without it, the first and second wave start nearly the same time
- areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, 1, "Cindy::onPetDeath";
+ areamonster "031-4.gat", 0, 0, 95, 91, "", 1072, 1, "Cindy::onPetDeath";
startnpctimer;
goto L_Exit;
L_Exit:
close;
-
+
L_Yeti:
mes "[Cindy]";
mes "\"Watch out, the Yetis!\"";
close;
-L_Reward:
+L_Reward:
mes "[Cindy]";
mes "\"You are a hero! All these strong monsters!\"";
next;
@@ -84,32 +84,32 @@ L_Reward:
next;
getinventorylist;
if (@inventorylist_count == 100) goto L_Full_Inv;
-
+
set @reward, rand(15);
if (@reward < 10) goto L_Wizard_Hat;
getitem "WoodenStaff", 1;
set @rescue_Cindy, 3;
callsub S_Update_Mask;
goto L_Visit;
-
+
L_Wizard_Hat:
// get a wizard hat in one of the ten colors - no white
setarray @wizardhats[0], 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209;
getitem @wizardhats[@reward], 1;
set @rescue_Cindy, 3;
callsub S_Update_Mask;
-
+
L_Visit:
mes "\"Thank you so much; please come to my home. It's the house at the beach.\"";
next;
- mes "\"I'm sure my mother wants to thank you as well.\"";
+ mes "\"I'm sure my mother wants to thank you as well.\"";
close;
-
+
L_Please_Visit:
mes "[Cindy]";
mes "\"Thank you, thank you! You're a hero! Please come home with me to our house at the beach!\"";
close;
-
+
L_To_Weak:
mes "You try to open the cage, but it's stuck. It seems you're too weak!";
close;
@@ -121,14 +121,14 @@ L_Not_Enough_Keys:
L_Full_Inv:
mes "\"Oh, it seems you carry so much stuff - I will keep it for you until you can take it.\"";
close;
-
+
// Fight logic attached to npc
OnTimer5000:
setnpctimer 0;
if ($@FIGHT_YETI_STATUS != 0) goto L_CaveLogic;
L_Return_1:
set $@FIGHT_YETI_PLAYER_COUNT, 0;
- areatimer "031-3.gat", 80, 20, 160, 90, 10, "Cindy::onTick";
+ areatimer "031-4.gat", 0, 0, 95, 91, 10, "Cindy::onTick";
end;
L_CaveLogic:
@@ -136,7 +136,7 @@ L_CaveLogic:
if ($@FIGHT_YETI_ROUND_PEN > 60) set $@FIGHT_YETI_ROUND_PEN, 60;
if ($@FIGHT_YETI_PLAYER_COUNT <= 0) goto L_CleanUp;
set $@FIGHT_YETI_ROUND_TIMER, $@FIGHT_YETI_ROUND_TIMER + 5; // Advance 5 seconds
- if (mobcount("031-3.gat", "Cindy::onPetDeath") <= 0) goto L_NextWave;
+ if (mobcount("031-4.gat", "Cindy::onPetDeath") <= 0) goto L_NextWave;
if ($@FIGHT_YETI_ROUND_TIMER + $@FIGHT_YETI_ROUND_PEN >= 120) goto L_NextWave;
goto L_Return_1;
@@ -146,14 +146,35 @@ L_NextWave:
if ($@FIGHT_YETI_WAVE > 10 && $@YETI_COUNT == 0) goto L_CleanUp;
if ($@FIGHT_YETI_WAVE > 10 && $@FIGHT_YETI_WAVE < 22) goto L_Return_1;
if ($@FIGHT_YETI_WAVE > 22)
- areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_WAVE*2 + $@FIGHT_YETI_PLAYER_COUNT*5, "Cindy::onPetDeath";
+ areamonster "031-4.gat", 0, 0, 95, 91, "", 1072, $@FIGHT_YETI_WAVE*2 + $@FIGHT_YETI_PLAYER_COUNT*5, "Cindy::onPetDeath";
if ($@FIGHT_YETI_WAVE > 22)
set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_WAVE*2 + $@FIGHT_YETI_PLAYER_COUNT*5;
set $@FIGHT_YETI_NUMBER, (1 + (1 * $@FIGHT_YETI_WAVE) + (2 * $@FIGHT_YETI_PLAYER_COUNT))/4;
set $@YETI_COUNT, $@YETI_COUNT + $@FIGHT_YETI_NUMBER;
- areamonster "031-3.gat", 80, 20, 160, 90, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath";
-
+ areamonster "031-4.gat", 0, 0, 95, 91, "", 1072, $@FIGHT_YETI_NUMBER, "Cindy::onPetDeath";
+
+ if ($@FIGHT_YETI_WAVE == 1)
+ mapannounce "031-4.gat", "Cindy: Yetis!", 0;
+ if ($@FIGHT_YETI_WAVE == 2)
+ mapannounce "031-4.gat", "Cindy: Watch out!", 0;
+ if ($@FIGHT_YETI_WAVE == 3)
+ mapannounce "031-4.gat", "Cindy: More of them are coming!", 0;
+ if ($@FIGHT_YETI_WAVE == 4)
+ mapannounce "031-4.gat", "Cindy: Be careful! More of them!", 0;
+ if ($@FIGHT_YETI_WAVE == 5)
+ mapannounce "031-4.gat", "Cindy: Attention! There is another bunch of them!", 0;
+ if ($@FIGHT_YETI_WAVE == 6)
+ mapannounce "031-4.gat", "Cindy: Hang on! More of them!", 0;
+ if ($@FIGHT_YETI_WAVE == 7)
+ mapannounce "031-4.gat", "Cindy: More Yetis! Will this never end?", 0;
+ if ($@FIGHT_YETI_WAVE == 8)
+ mapannounce "031-4.gat", "Cindy: There are coming more and more!", 0;
+ if ($@FIGHT_YETI_WAVE == 9)
+ mapannounce "031-4.gat", "Cindy: Watch your back! There are so many of them!", 0;
+ if ($@FIGHT_YETI_WAVE == 10)
+ mapannounce "031-4.gat", "Cindy: This seems to be their final attack! I believe in you!", 0;
+
if ($@FIGHT_YETI_WAVE == 1)
mapannounce "031-3.gat", "Cindy: Yetis!", 0;
if ($@FIGHT_YETI_WAVE == 2)
@@ -191,12 +212,12 @@ onInit:
initnpctimer;
stopnpctimer;
L_CleanUp:
- areatimer "031-3.gat", 80, 20, 160, 90, 10, "Cindy::onReward";
+ areatimer "031-4.gat", 0, 0, 95, 91, 10, "Cindy::onReward";
set $@FIGHT_YETI_STATUS, 0;
set $@FIGHT_YETI_PLAYER_COUNT, 0;
set $@FIGHT_YETI_WAVE, 1;
set $@FIGHT_YETI_ROUND_TIMER, 0;
- killmonster "031-3.gat", "Cindy::onPetDeath";
+ killmonster "031-4.gat", "Cindy::onPetDeath";
stopnpctimer;
setnpctimer 0;
end;
@@ -204,7 +225,7 @@ L_CleanUp:
onReward:
if (isdead(0)) end;
set @bonus, (baselevel/2);
- set DailyQuestBonus, DailyQuestBonus + @bonus;
+ set DailyQuestBonus, DailyQuestBonus + @bonus;
message strcharinfo(0), "You feel a temporary rush of power and zest for action. " + @bonus + " daily bonus gained." ;
if (@rescue_Cindy != 1 ) goto L_No_Progress;
set @rescue_Cindy, 2;
@@ -212,8 +233,8 @@ onReward:
message strcharinfo(0), "Cindy looks relieved and as if she wants to talk with you.";
L_No_Progress:
end;
-
-/////////
+
+/////////
S_Update_Mask:
set QUEST_Nivalis_state,
(QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK))
diff --git a/npc/031-4_Cave/mapflags.txt b/npc/031-4_Cave/mapflags.txt
new file mode 100644
index 00000000..9e4e8f6b
--- /dev/null
+++ b/npc/031-4_Cave/mapflags.txt
@@ -0,0 +1 @@
+031-4.gat mapflag nosave 031-3,46,26;
diff --git a/npc/_import.txt b/npc/_import.txt
index 217f6b81..3dc22cac 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -67,6 +67,7 @@ import: npc/030-1_Snow_field/_import.txt
import: npc/031-1_NivalisPort/_import.txt
import: npc/031-2_Angelas_House/_import.txt
import: npc/031-3_Cave/_import.txt
+import: npc/031-4_Cave/_import.txt
import: npc/032-1_Outback/_import.txt
import: npc/032-3_Cave/_import.txt
import: npc/033-1_Snow_field/_import.txt