diff options
Diffstat (limited to 'npc/027-4')
-rw-r--r-- | npc/027-4/_import.txt | 8 | ||||
-rw-r--r-- | npc/027-4/_mobs.txt | 7 | ||||
-rw-r--r-- | npc/027-4/_warps.txt | 4 | ||||
-rwxr-xr-x | npc/027-4/casket_traps.txt | 72 | ||||
-rwxr-xr-x | npc/027-4/general_razha_door.txt | 16 | ||||
-rwxr-xr-x | npc/027-4/mapflags.txt | 1 | ||||
-rwxr-xr-x | npc/027-4/monsters.txt | 67 |
7 files changed, 175 insertions, 0 deletions
diff --git a/npc/027-4/_import.txt b/npc/027-4/_import.txt new file mode 100644 index 00000000..2925d133 --- /dev/null +++ b/npc/027-4/_import.txt @@ -0,0 +1,8 @@ +// Map 027-4: Crypt Sub-Basement One +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/027-4/_mobs.txt", +"npc/027-4/_warps.txt", +"npc/027-4/casket_traps.txt", +"npc/027-4/general_razha_door.txt", +"npc/027-4/mapflags.txt", +"npc/027-4/monsters.txt", diff --git a/npc/027-4/_mobs.txt b/npc/027-4/_mobs.txt new file mode 100644 index 00000000..7d85bace --- /dev/null +++ b/npc/027-4/_mobs.txt @@ -0,0 +1,7 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 027-4: Crypt Sub-Basement One mobs +027-4,39,84,19,11 monster Scorpion 1043,2,60000,8000 +027-4,27,57,7,11 monster Spider 1044,2,60000,8000 +027-4,108,77,19,7 monster Scorpion 1043,2,60000,8000 +027-4,61,37,19,15 monster Spider 1044,2,60000,8000 +027-4,101,36,19,15 monster Spider 1044,2,60000,8000 diff --git a/npc/027-4/_warps.txt b/npc/027-4/_warps.txt new file mode 100644 index 00000000..9d611f7b --- /dev/null +++ b/npc/027-4/_warps.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 027-4: Crypt Sub-Basement One warps +027-4,125,17,0 warp #027-4_125_17 4,0,027-3,125,98 +027-4,22,98,0 warp #027-4_22_98 3,0,027-5,124,18 diff --git a/npc/027-4/casket_traps.txt b/npc/027-4/casket_traps.txt new file mode 100755 index 00000000..456d4543 --- /dev/null +++ b/npc/027-4/casket_traps.txt @@ -0,0 +1,72 @@ +027-4,60,23,0 script #casket9 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,43,23,0 script #casket10 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,42,47,0 script #casket11 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,90,47,0 script #casket12 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,101,48,0 script #casket13 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,115,17,0 script #casket14 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,99,76,0 script #casket15 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} +027-4,22,23,0 script #casket16 NPC127,1,1,{ + end; + +OnTouch: + heal ((MaxHp/100) * -10), 0; + specialeffect 301; + specialeffect 302; + end; +} diff --git a/npc/027-4/general_razha_door.txt b/npc/027-4/general_razha_door.txt new file mode 100755 index 00000000..68db1550 --- /dev/null +++ b/npc/027-4/general_razha_door.txt @@ -0,0 +1,16 @@ + +027-4,73,76,0 script #GeneralDoor2 NPC45,1,0,{ + if ( (countitem("CryptKey") < 10) && ($@CRYPT_FIGHT2 != 0) ) + goto L_NoKeys; + + delitem "CryptKey", 10; + warp "027-7",39,60; + goto L_close; + +L_NoKeys: + message strcharinfo(0), "This door is locked."; + end; + +L_close: + close; +} diff --git a/npc/027-4/mapflags.txt b/npc/027-4/mapflags.txt new file mode 100755 index 00000000..2770bdd5 --- /dev/null +++ b/npc/027-4/mapflags.txt @@ -0,0 +1 @@ +//027-4 mapflag resave 027-2,105,94 diff --git a/npc/027-4/monsters.txt b/npc/027-4/monsters.txt new file mode 100755 index 00000000..40180670 --- /dev/null +++ b/npc/027-4/monsters.txt @@ -0,0 +1,67 @@ + +027-4,39,84,38,22 monster Fallen 1045,3,60000,8000,specialMob027-4::On1045 +027-4,27,57,15,22 monster Zombie 1036,2,60000,8000,specialMob027-4::On1036 +027-4,108,77,39,14 monster Fallen 1045,3,60000,8000,specialMob027-4::On1045 +027-4,61,37,38,30 monster Zombie 1036,2,60000,8000,specialMob027-4::On1036 +027-4,101,36,38,30 monster Zombie 1036,2,60000,8000,specialMob027-4::On1036 + +027-4,0,0,0 script specialMob027-4 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; +} |