diff options
Diffstat (limited to 'npc/027-3')
-rw-r--r-- | npc/027-3/_import.txt | 8 | ||||
-rw-r--r-- | npc/027-3/_mobs.txt | 10 | ||||
-rw-r--r-- | npc/027-3/_warps.txt | 4 | ||||
-rwxr-xr-x | npc/027-3/casket_traps.txt | 72 | ||||
-rwxr-xr-x | npc/027-3/general_krukan_door.txt | 16 | ||||
-rwxr-xr-x | npc/027-3/mapflags.txt | 1 | ||||
-rwxr-xr-x | npc/027-3/monsters.txt | 66 |
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; +} |