Skip to content

Commit

Permalink
Add Zombie pirate (#381)
Browse files Browse the repository at this point in the history
  • Loading branch information
nwjgit authored Aug 26, 2024
1 parent f81c9c7 commit f05fc3f
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 0 deletions.
40 changes: 40 additions & 0 deletions src/data/monsters_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -14599,6 +14599,46 @@
"slayerXP": 1400,
"assignableSlayerMasters": ["konar", "nieve", "duradel"]
},
"13489": {
"members": true,
"combatLevel": 22,
"hitpoints": 30,
"maxHit": 2,
"attackType": ["crush"],
"attackSpeed": 5,
"aggressive": true,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": false,
"attributes": ["undead"],
"category": ["zombies", "pirates"],
"examineText": "Aaaargh, me hearty!",
"wikiName": "Zombie pirate (Level 22)",
"wikiURL": "https://oldschool.runescape.wiki/w/Zombie_pirate#Level_22",
"attackLevel": 20,
"strengthLevel": 10,
"defenceLevel": 20,
"magicLevel": 1,
"rangedLevel": 1,
"attackStab": 0,
"attackSlash": 0,
"attackCrush": 0,
"attackMagic": 0,
"attackRanged": 0,
"defenceStab": 0,
"defenceSlash": 0,
"defenceCrush": 0,
"defenceMagic": 0,
"defenceRanged": 0,
"attackAccuracy": 0,
"meleeStrength": 0,
"rangedStrength": 0,
"magicDamage": 0,
"isSlayerMonster": true,
"slayerLevelRequired": 1,
"slayerXP": 30,
"assignableSlayerMasters": ["turael", "spria", "krystilia", "mazchna"]
},
"13600": {
"members": true,
"combatLevel": 450,
Expand Down
2 changes: 2 additions & 0 deletions src/simulation/monsters/low/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ import Wyrm from "./t-z/Wyrm";
import YanilleWatchman from "./t-z/YanilleWatchman";
import Zogre from "./t-z/Zogre";
import Zombie from "./t-z/Zombie";
import ZombiePirate from "./t-z/ZombiePirate";
import ZombieRat from "./t-z/ZombieRat";
import Zygomite from "./t-z/Zygomite";

Expand Down Expand Up @@ -531,5 +532,6 @@ export const allLowMonsters = {
GiantFrog,
JubblyBird,
ManiacalMonkey,
ZombiePirate,
TormentedDemon,
};
50 changes: 50 additions & 0 deletions src/simulation/monsters/low/t-z/ZombiePirate.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import LootTable from "../../../../structures/LootTable";
import SimpleMonster from "../../../../structures/SimpleMonster";

export const ZombiePirateTable = new LootTable()
.every("Bones")

/* Runes */
.add("Blood rune", [30, 60], 4)
.add("Death rune", [30, 90], 4)
.add("Chaos rune", [30, 90], 4)
.add("Mind rune", [30, 90], 4)

/* Weapons and armour */
.add("Battlestaff", [1, 3], 8)
.add("Adamant platebody", 1, 6)
.add("Rune med helm", 1, 6)
.add("Rune warhammer", 1, 6)
.add("Rune battleaxe", 1, 6)
.add("Rune longsword", 1, 6)
.add("Rune sword", 1, 6)
.add("Rune mace", 1, 6)
.add("Dragon dagger", 1, 1)
.add("Dragon longsword", 1, 1)
.add("Dragon scimitar", 1, 1)

/* Blighted supplies */
.add("Blighted ancient ice sack", [10, 30], 12)
.add("Blighted anglerfish", [5, 15], 12)
.add("Blighted manta ray", [5, 15], 12)
.add("Blighted karambwan", [5, 15], 12)
.add("Blighted super restore(4)", [1, 3], 12)

/* Other */
.add(new LootTable(), 1, 181) // 'Nothing' drop
.add("Zombie pirate key", 1, 15)
.add("Coins", [1_000, 8_000], 12)
.add("Cannonball", [20, 100], 12)
.add("Gold ore", [5, 15], 12)
.add("Adamant seeds", [5, 10], 8)
.oneIn(20_000, "Teleport anchoring scroll")

/* Tertiary */
.tertiary(5000, "Zombie champion scroll");

export default new SimpleMonster({
id: 13_489,
name: "Zombie pirate",
table: ZombiePirateTable,
aliases: ["zombie pirate"],
});
43 changes: 43 additions & 0 deletions src/simulation/openables/ZombiePiratesLocker.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import LootTable from "../../structures/LootTable";
import SimpleOpenable from "../../structures/SimpleOpenable";

const ZombiePirateLocker = new LootTable()
/* Runes */
.add("Blood rune", [60, 120], 4)
.add("Death rune", [60, 180], 4)
.add("Chaos rune", [60, 180], 4)
.add("Mind rune", [60, 180], 4)

/* Weapons and armour */
.add("Battlestaff", [2, 6], 8)
.add("Adamant platebody", 2, 6)
.add("Rune med helm", 2, 6)
.add("Rune warhammer", 2, 6)
.add("Rune battleaxe", 2, 6)
.add("Rune longsword", 2, 6)
.add("Rune sword", 2, 6)
.add("Rune mace", 2, 6)
.add("Dragon dagger", 2, 1)
.add("Dragon longsword", 2, 1)
.add("Dragon scimitar", 2, 1)

/* Blighted supplies */
.add("Blighted ancient ice sack", [20, 60], 12)
.add("Blighted anglerfish", [10, 30], 12)
.add("Blighted manta ray", [10, 30], 12)
.add("Blighted karambwan", [10, 30], 12)
.add("Blighted super restore(4)", [2, 6], 12)

/* Other */
.add("Coins", [2_000, 16_000], 12)
.add("Cannonball", [40, 200], 12)
.add("Gold ore", [10, 30], 12)
.add("Adamant seeds", [10, 20], 8)
.oneIn(275, "Teleport anchoring scroll");

export default new SimpleOpenable({
id: 29_449,
name: "Zombie Pirate's Locker",
aliases: ["zombie pirate locker", "pirate locker"],
table: ZombiePirateLocker,
});

0 comments on commit f05fc3f

Please sign in to comment.