From ef90444b27e6beb1e8d3af9324711e3a79b88842 Mon Sep 17 00:00:00 2001 From: nwjgit <69014816+nwjgit@users.noreply.github.com> Date: Tue, 17 Sep 2024 06:26:54 -0500 Subject: [PATCH 1/2] Fix zombie pirate tables (#385) --- src/simulation/monsters/low/t-z/ZombiePirate.ts | 8 +++++--- src/simulation/openables/ZombiePiratesLocker.ts | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/simulation/monsters/low/t-z/ZombiePirate.ts b/src/simulation/monsters/low/t-z/ZombiePirate.ts index 270f0061f..ebb7d2799 100644 --- a/src/simulation/monsters/low/t-z/ZombiePirate.ts +++ b/src/simulation/monsters/low/t-z/ZombiePirate.ts @@ -4,6 +4,11 @@ import SimpleMonster from "../../../../structures/SimpleMonster"; export const ZombiePirateTable = new LootTable() .every("Bones") + /* Pre-roll */ + .oneIn(2, new LootTable()) // 'Nothing' drop + .oneIn(24, "Zombie pirate key") + .oneIn(20_000, "Teleport anchoring scroll") + /* Runes */ .add("Blood rune", [30, 60], 4) .add("Death rune", [30, 90], 4) @@ -31,13 +36,10 @@ export const ZombiePirateTable = new LootTable() .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"); diff --git a/src/simulation/openables/ZombiePiratesLocker.ts b/src/simulation/openables/ZombiePiratesLocker.ts index bd3eeea14..32c44dcbc 100644 --- a/src/simulation/openables/ZombiePiratesLocker.ts +++ b/src/simulation/openables/ZombiePiratesLocker.ts @@ -2,6 +2,9 @@ import LootTable from "../../structures/LootTable"; import SimpleOpenable from "../../structures/SimpleOpenable"; const ZombiePirateLocker = new LootTable() + /* Pre-roll */ + .oneIn(275, "Teleport anchoring scroll") + /* Runes */ .add("Blood rune", [60, 120], 4) .add("Death rune", [60, 180], 4) @@ -32,8 +35,7 @@ const ZombiePirateLocker = new LootTable() .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"); + .add("Adamant seeds", [10, 20], 8); export default new SimpleOpenable({ id: 29_449, From b977a2ca2c9a65462228f64725f2e74ab0b37f48 Mon Sep 17 00:00:00 2001 From: nwjgit <69014816+nwjgit@users.noreply.github.com> Date: Tue, 17 Sep 2024 06:27:54 -0500 Subject: [PATCH 2/2] Add crab monster (#387) --- src/data/monsters_data.json | 40 +++++++++++++++++++++++++ src/simulation/monsters/low/a-f/Crab.ts | 18 +++++++++++ src/simulation/monsters/low/index.ts | 2 ++ 3 files changed, 60 insertions(+) create mode 100644 src/simulation/monsters/low/a-f/Crab.ts diff --git a/src/data/monsters_data.json b/src/data/monsters_data.json index f0139ce22..d190559bc 100644 --- a/src/data/monsters_data.json +++ b/src/data/monsters_data.json @@ -8199,6 +8199,46 @@ "slayerXP": 34, "assignableSlayerMasters": ["turael", "spria", "mazchna"] }, + "4819": { + "members": true, + "combatLevel": 23, + "hitpoints": 19, + "maxHit": 3, + "attackType": ["crush"], + "attackSpeed": 4, + "aggressive": false, + "poisonous": false, + "immuneToPoison": false, + "immuneToVenom": false, + "attributes": [], + "category": [], + "examineText": "Nice claw!", + "wikiName": "Crab (Level 23)", + "wikiURL": "https://oldschool.runescape.wiki/w/Crab#Level_23", + "attackLevel": 19, + "strengthLevel": 20, + "defenceLevel": 26, + "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": false, + "slayerLevelRequired": 0, + "slayerXP": 0, + "assignableSlayerMasters": [] + }, "4863": { "members": true, "combatLevel": 9, diff --git a/src/simulation/monsters/low/a-f/Crab.ts b/src/simulation/monsters/low/a-f/Crab.ts new file mode 100644 index 000000000..2c54f6da3 --- /dev/null +++ b/src/simulation/monsters/low/a-f/Crab.ts @@ -0,0 +1,18 @@ +import LootTable from "../../../../structures/LootTable"; +import SimpleMonster from "../../../../structures/SimpleMonster"; + +const freshCrabTable = new LootTable().add("Fresh crab claw", 1, 1).add("Fresh crab shell", 1, 1); + +export const CrabTable = new LootTable() + .every("Crab meat") + + .add(new LootTable(), 5, 1) // Nothing drop + .add(freshCrabTable, 4, 1) + .add("Oyster", 1, 1); + +export default new SimpleMonster({ + id: 4819, + name: "Crab", + table: CrabTable, + aliases: ["crab"], +}); diff --git a/src/simulation/monsters/low/index.ts b/src/simulation/monsters/low/index.ts index 06819d167..7ba90748a 100644 --- a/src/simulation/monsters/low/index.ts +++ b/src/simulation/monsters/low/index.ts @@ -50,6 +50,7 @@ import ChompyBird from "./a-f/ChompyBird"; import Cockatrice from "./a-f/Cockatrice"; import Cow from "./a-f/Cow"; import CowCalf from "./a-f/CowCalf"; +import Crab from "./a-f/Crab"; import CrawlingHand from "./a-f/CrawlingHand"; import Crocodile from "./a-f/Crocodile"; import CryptRat from "./a-f/CryptRat"; @@ -534,4 +535,5 @@ export const allLowMonsters = { ManiacalMonkey, ZombiePirate, TormentedDemon, + Crab, };