summaryrefslogtreecommitdiff
path: root/npc/027-3
diff options
context:
space:
mode:
Diffstat (limited to 'npc/027-3')
-rw-r--r--npc/027-3/_import.txt8
-rw-r--r--npc/027-3/_mobs.txt10
-rw-r--r--npc/027-3/_warps.txt4
-rwxr-xr-xnpc/027-3/casket_traps.txt72
-rwxr-xr-xnpc/027-3/general_krukan_door.txt16
-rwxr-xr-xnpc/027-3/mapflags.txt1
-rwxr-xr-xnpc/027-3/monsters.txt66
7 files changed, 177 insertions, 0 deletions
diff --git a/npc/027-3/_import.txt b/npc/027-3/_import.txt
new file mode 100644
index 00000000..e371d4d9
--- /dev/null
+++ b/npc/027-3/_import.txt
@@ -0,0 +1,8 @@
+// Map 027-3: Crypt Basement
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-3/_mobs.txt",
+"npc/027-3/_warps.txt",
+"npc/027-3/casket_traps.txt",
+"npc/027-3/general_krukan_door.txt",
+"npc/027-3/mapflags.txt",
+"npc/027-3/monsters.txt",
diff --git a/npc/027-3/_mobs.txt b/npc/027-3/_mobs.txt
new file mode 100644
index 00000000..c5f3a324
--- /dev/null
+++ b/npc/027-3/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-3: Crypt Basement mobs
+027-3,34,63,14,34 monster Scorpion 1043,6,60000,8000
+027-3,97,43,29,15 monster Scorpion 1043,6,60000,8000
+027-3,34,63,14,34 monster Spider 1044,4,60000,8000
+027-3,113,78,14,13 monster Spider 1044,4,60000,8000
+027-3,113,78,13,13 monster Scorpion 1043,4,60000,8000
+027-3,81,87,14,11 monster Legion Swordswoman 1066,15,100000,30000
+027-3,74,45,53,16 monster Green Slime 1024,1,60000,20000
+027-3,98,84,30,7 monster Mouboo 1023,2,60000,20000
diff --git a/npc/027-3/_warps.txt b/npc/027-3/_warps.txt
new file mode 100644
index 00000000..3aa709b5
--- /dev/null
+++ b/npc/027-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-3: Crypt Basement warps
+027-3,26,67,0 warp #027-3_26_67 3,0,027-2,36,77
+027-3,126,98,0 warp #027-3_126_98 2,0,027-4,125,18
diff --git a/npc/027-3/casket_traps.txt b/npc/027-3/casket_traps.txt
new file mode 100755
index 00000000..f98f7674
--- /dev/null
+++ b/npc/027-3/casket_traps.txt
@@ -0,0 +1,72 @@
+027-3,32,96,0 script #casket1 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,38,86,0 script #casket2 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,46,76,0 script #casket3 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,38,57,0 script #casket4 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,22,44,0 script #casket5 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,48,43,0 script #casket6 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,86,30,0 script #casket7 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
+027-3,108,45,0 script #casket8 NPC127,1,1,{
+ end;
+
+OnTouch:
+ heal ((MaxHp/100) * -10), 0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+}
diff --git a/npc/027-3/general_krukan_door.txt b/npc/027-3/general_krukan_door.txt
new file mode 100755
index 00000000..7a86e971
--- /dev/null
+++ b/npc/027-3/general_krukan_door.txt
@@ -0,0 +1,16 @@
+
+027-3,82,88,0 script #GeneralDoor1 NPC45,1,0,{
+ if ( (countitem("CryptKey") < 10) && ($@CRYPT_FIGHT1 != 0) )
+ goto L_NoKeys;
+
+ delitem "CryptKey", 10;
+ warp "027-6",39,60;
+ goto L_close;
+
+L_NoKeys:
+ message strcharinfo(0), "This door is locked.";
+ end;
+
+L_close:
+ close;
+}
diff --git a/npc/027-3/mapflags.txt b/npc/027-3/mapflags.txt
new file mode 100755
index 00000000..5006a523
--- /dev/null
+++ b/npc/027-3/mapflags.txt
@@ -0,0 +1 @@
+//027-3 mapflag resave 027-2,105,94
diff --git a/npc/027-3/monsters.txt b/npc/027-3/monsters.txt
new file mode 100755
index 00000000..52a2a5eb
--- /dev/null
+++ b/npc/027-3/monsters.txt
@@ -0,0 +1,66 @@
+
+027-3,21,76,51,100 monster Zombie 1036,2,300000,120000,specialMob027-3::On1036
+027-3,21,30,51,63 monster Zombie 1036,2,200000,10000,specialMob027-3::On1036
+027-3,67,29,129,64 monster Zombie 1036,3,140000,30000,specialMob027-3::On1036
+027-3,101,65,128,93 monster Fallen 1045,3,120000,30000,specialMob027-3::On1045
+
+027-3,0,0,0 script specialMob027-3 NPC32767,{
+ end;
+
+On1036:
+ @mobId = 1036;
+ callsub S_MOBCOUNT_ZOMBIES;
+ callfunc "MobPoints";
+ end;
+
+On1045:
+ @mobId = 1045;
+ callsub S_MOBCOUNT_FALLENS;
+ callfunc "MobPoints";
+ end;
+
+S_MOBCOUNT_ZOMBIES:
+
+ @Graveyard_Inn_MASK = NIBBLE_2_MASK;
+ @Graveyard_Inn_SHIFT = NIBBLE_2_SHIFT;
+
+ @state = ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT);
+
+ if (@state != 1)
+ goto L_Return;
+ @ring = @ring + 1;
+ if (@ring < 10)
+ goto L_Return;
+ if (rand(8) != 0)
+ goto L_Return;
+ message strcharinfo(0), "You found a ring hidden in the zombie's rotten rags. Maybe this is what Aldred was looking for...";
+ @state = 2;
+ callsub S_Update_Mask;
+ return;
+
+S_MOBCOUNT_FALLENS:
+
+ @Graveyard_Inn_MASK = NIBBLE_2_MASK;
+ @Graveyard_Inn_SHIFT = NIBBLE_2_SHIFT;
+
+ @state = ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT);
+
+ if (@state != 1)
+ goto L_Return;
+ @ring = @ring + 1;
+ if (@ring < 10)
+ goto L_Return;
+ if (rand(8) != 0)
+ goto L_Return;
+ message strcharinfo(0), "You found a ring inside the fallen's broken helmet. Maybe this is what Aldred was looking for...";
+ @state = 2;
+ callsub S_Update_Mask;
+ return;
+
+L_Return:
+ return;
+
+S_Update_Mask:
+ QUEST_Graveyard_Inn = (QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK)) | (@state << @Graveyard_Inn_SHIFT);
+ return;
+}