Skip to content

Commit

Permalink
Add camdozaal Golems & update monsters_data.json
Browse files Browse the repository at this point in the history
  • Loading branch information
nwjgit committed Oct 14, 2023
1 parent fbf870b commit 84435fe
Show file tree
Hide file tree
Showing 3 changed files with 273 additions and 22 deletions.
202 changes: 181 additions & 21 deletions src/data/monsters_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -3206,11 +3206,11 @@
"995": {
"members": true,
"combatLevel": 22,
"hitpoints": null,
"maxHit": null,
"attackType": [],
"attackSpeed": null,
"aggressive": false,
"hitpoints": 30,
"maxHit": 3,
"attackType": ["crush"],
"attackSpeed": 4,
"aggressive": true,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": false,
Expand All @@ -3219,21 +3219,21 @@
"examineText": "A guard for the 'Humans Against Monsters' group.",
"wikiName": "Guard (Death to the Dorgeshuun)",
"wikiURL": "https://oldschool.runescape.wiki/w/Guard_(Death_to_the_Dorgeshuun)",
"attackLevel": 0,
"strengthLevel": 0,
"defenceLevel": 0,
"magicLevel": 0,
"rangedLevel": 0,
"attackLevel": 16,
"strengthLevel": 20,
"defenceLevel": 12,
"magicLevel": 1,
"rangedLevel": 1,
"attackStab": 0,
"attackSlash": 0,
"attackCrush": 0,
"attackMagic": 0,
"attackRanged": 0,
"defenceStab": 0,
"defenceSlash": 0,
"defenceStab": 7,
"defenceSlash": 7,
"defenceCrush": 0,
"defenceMagic": 0,
"defenceRanged": 0,
"defenceRanged": 7,
"attackAccuracy": 0,
"meleeStrength": 0,
"rangedStrength": 0,
Expand Down Expand Up @@ -11634,7 +11634,7 @@
"maxHit": 24,
"attackType": ["melee", "magic"],
"attackSpeed": 4,
"aggressive": true,
"aggressive": false,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": true,
Expand Down Expand Up @@ -13907,6 +13907,166 @@
"slayerXP": 130,
"assignableSlayerMasters": ["mazchna", "vannaka"]
},
"10689": {
"members": true,
"combatLevel": 70,
"hitpoints": 94,
"maxHit": 10,
"attackType": ["crush"],
"attackSpeed": 5,
"aggressive": false,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": false,
"attributes": ["golem"],
"category": [],
"examineText": "This golem looks like it's been touched by chaos.",
"wikiName": "Chaos Golem (Golem)",
"wikiURL": "https://oldschool.runescape.wiki/w/Chaos_Golem#Golem",
"attackLevel": 45,
"strengthLevel": 55,
"defenceLevel": 59,
"magicLevel": 1,
"rangedLevel": 1,
"attackStab": 0,
"attackSlash": 0,
"attackCrush": 0,
"attackMagic": 0,
"attackRanged": 0,
"defenceStab": 5,
"defenceSlash": 5,
"defenceCrush": 0,
"defenceMagic": 2,
"defenceRanged": 10,
"attackAccuracy": 0,
"meleeStrength": 0,
"rangedStrength": 0,
"magicDamage": 0,
"isSlayerMonster": false,
"slayerLevelRequired": 0,
"slayerXP": 0,
"assignableSlayerMasters": []
},
"10691": {
"members": false,
"combatLevel": 50,
"hitpoints": 60,
"maxHit": 7,
"attackType": ["slash"],
"attackSpeed": 5,
"aggressive": false,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": false,
"attributes": ["golem"],
"category": [],
"examineText": "This golem looks like it's been imbued with body energy.",
"wikiName": "Body Golem (Golem)",
"wikiURL": "https://oldschool.runescape.wiki/w/Body_Golem#Golem",
"attackLevel": 33,
"strengthLevel": 43,
"defenceLevel": 45,
"magicLevel": 1,
"rangedLevel": 1,
"attackStab": 0,
"attackSlash": 0,
"attackCrush": 0,
"attackMagic": 0,
"attackRanged": 0,
"defenceStab": 5,
"defenceSlash": 5,
"defenceCrush": 0,
"defenceMagic": 2,
"defenceRanged": 10,
"attackAccuracy": 0,
"meleeStrength": 0,
"rangedStrength": 0,
"magicDamage": 0,
"isSlayerMonster": false,
"slayerLevelRequired": 0,
"slayerXP": 0,
"assignableSlayerMasters": []
},
"10693": {
"members": false,
"combatLevel": 30,
"hitpoints": 40,
"maxHit": 5,
"attackType": ["stab"],
"attackSpeed": 5,
"aggressive": false,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": false,
"attributes": ["golem"],
"category": [],
"examineText": "This golem looks like it's been imbued with mind energy.",
"wikiName": "Mind Golem (Golem)",
"wikiURL": "https://oldschool.runescape.wiki/w/Mind_Golem#Golem",
"attackLevel": 14,
"strengthLevel": 31,
"defenceLevel": 25,
"magicLevel": 1,
"rangedLevel": 1,
"attackStab": 0,
"attackSlash": 0,
"attackCrush": 0,
"attackMagic": 0,
"attackRanged": 0,
"defenceStab": 5,
"defenceSlash": 5,
"defenceCrush": 0,
"defenceMagic": 2,
"defenceRanged": 10,
"attackAccuracy": 0,
"meleeStrength": 0,
"rangedStrength": 0,
"magicDamage": 0,
"isSlayerMonster": false,
"slayerLevelRequired": 0,
"slayerXP": 0,
"assignableSlayerMasters": []
},
"10695": {
"members": false,
"combatLevel": 13,
"hitpoints": 25,
"maxHit": 3,
"attackType": ["stab"],
"attackSpeed": 5,
"aggressive": false,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": false,
"attributes": ["golem"],
"category": [],
"examineText": "How long has it dwelled down here?",
"wikiName": "Flawed Golem (Golem)",
"wikiURL": "https://oldschool.runescape.wiki/w/Flawed_Golem#Golem",
"attackLevel": 7,
"strengthLevel": 12,
"defenceLevel": 6,
"magicLevel": 1,
"rangedLevel": 1,
"attackStab": 0,
"attackSlash": 0,
"attackCrush": 0,
"attackMagic": 0,
"attackRanged": 0,
"defenceStab": 5,
"defenceSlash": 5,
"defenceCrush": 0,
"defenceMagic": 2,
"defenceRanged": 10,
"attackAccuracy": 0,
"meleeStrength": 0,
"rangedStrength": 0,
"magicDamage": 0,
"isSlayerMonster": false,
"slayerLevelRequired": 0,
"slayerXP": 0,
"assignableSlayerMasters": []
},
"11463": {
"members": true,
"combatLevel": 0,
Expand Down Expand Up @@ -13966,7 +14126,7 @@
"attackLevel": 250,
"strengthLevel": 270,
"defenceLevel": 150,
"magicLevel": 1,
"magicLevel": 90,
"rangedLevel": 120,
"attackStab": 0,
"attackSlash": 0,
Expand Down Expand Up @@ -14160,7 +14320,7 @@
"magicDamage": 0,
"isSlayerMonster": true,
"slayerLevelRequired": 1,
"slayerXP": 440,
"slayerXP": 310,
"assignableSlayerMasters": ["konar", "nieve", "duradel"]
},
"12192": {
Expand Down Expand Up @@ -14200,7 +14360,7 @@
"magicDamage": 0,
"isSlayerMonster": true,
"slayerLevelRequired": 1,
"slayerXP": 440,
"slayerXP": 310,
"assignableSlayerMasters": ["konar", "nieve", "duradel"]
},
"12204": {
Expand Down Expand Up @@ -14293,7 +14453,7 @@
"aggressive": true,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": true,
"immuneToVenom": false,
"attributes": [],
"category": ["bosses"],
"examineText": "An unfathomably huge sea creature.",
Expand Down Expand Up @@ -14333,7 +14493,7 @@
"aggressive": true,
"poisonous": false,
"immuneToPoison": false,
"immuneToVenom": true,
"immuneToVenom": false,
"attributes": [],
"category": ["bosses"],
"examineText": "An unfathomably huge sea creature.",
Expand Down Expand Up @@ -14400,7 +14560,7 @@
"magicDamage": 0,
"isSlayerMonster": true,
"slayerLevelRequired": 1,
"slayerXP": 700,
"slayerXP": 1085,
"assignableSlayerMasters": ["konar", "nieve", "duradel"]
},
"12224": {
Expand Down Expand Up @@ -14440,7 +14600,7 @@
"magicDamage": 0,
"isSlayerMonster": true,
"slayerLevelRequired": 1,
"slayerXP": 700,
"slayerXP": 1085,
"assignableSlayerMasters": ["konar", "nieve", "duradel"]
}
}
4 changes: 3 additions & 1 deletion src/simulation/monsters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import Monster from '../../structures/Monster';
import { allBosses } from './bosses';
import { CreatureCreation } from './CreatureCreation';
import { allLowMonsters } from './low';
import { CamdozaalGolems } from './low/camdozaalGolems';
import { ReanimatedMonsters } from './low/reanimated';
import { specialBosses } from './special';
import { allSuperiorMonsters } from './superiorMonsters';
Expand All @@ -13,7 +14,8 @@ const monstersObject = {
...specialBosses,
...allSuperiorMonsters,
...CreatureCreation,
...ReanimatedMonsters
...ReanimatedMonsters,
...CamdozaalGolems
};

const allMonsters: [number, Monster][] = Object.values(monstersObject).map((monster: Monster) => [monster.id, monster]);
Expand Down
89 changes: 89 additions & 0 deletions src/simulation/monsters/low/camdozaalGolems.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import LootTable from '../../../structures/LootTable';
import SimpleMonster from '../../../structures/SimpleMonster';

const FlawedGolem = new SimpleMonster({
id: 10_695,
name: 'Flawed Golem',
table: new LootTable()
.add('Rune essence', [1, 3], 12)
.add('Rune essence', [2, 4], 9)
.add('Clay', 1, 8)
.add('Tin ore', [1, 2], 6)
.add('Copper ore', [1, 2], 6)
.add('Clay', 2, 5)
.add('Clay', 3, 3)
.add('Uncut sapphire', 1, 2)
.add('Uncut emerald', 1, 1)
.tertiary(16, 'Barronite shards', [6, 12])
.tertiary(200, 'Clue scroll (beginner)')
.tertiary(800, 'Barronite guard'),
aliases: ['Flawed Golem']
});

const MindGolem = new SimpleMonster({
id: 10_693,
name: 'Mind Golem',
table: new LootTable()
.add('Mind rune', [5, 10], 8)
.add('Clay', [2, 3], 6)
.add('Copper ore', [2, 3], 6)
.add('Tin ore', [2, 3], 6)
.add('Iron ore', [1, 2], 6)
.add('Rune essence', [3, 5], 6)
.add('Mind rune', 1, 6)
.add('Uncut sapphire', 1, 4)
.add('Uncut emerald', 1, 2)
.add('Rune essence', 1, 1)
.add('Uncut ruby', 1, 1)
.tertiary(7.5, 'Barronite shards', [8, 16])
.tertiary(7.5, 'Mind core')
.tertiary(100, 'Clue scroll (beginner)')
.tertiary(500, 'Barronite guard'),
aliases: ['Mind Golem']
});

const BodyGolem = new SimpleMonster({
id: 10_691,
name: 'Body Golem',
table: new LootTable()
.add('Body rune', [5, 10], 8)
.add('Clay', [3, 4], 6)
.add('Copper ore', [3, 4], 6)
.add('Tin ore', [3, 4], 6)
.add('Iron ore', [3, 4], 6)
.add('Rune essence', [4, 6], 6)
.add('Body rune', 1, 6)
.add('Uncut sapphire', 1, 4)
.add('Uncut emerald', 1, 2)
.add('Rune essence', 1, 1)
.add('Uncut ruby', 1, 1)
.tertiary(5, 'Barronite shards', [10, 20])
.tertiary(7.5, 'Body core')
.tertiary(62, 'Clue scroll (beginner)')
.tertiary(250, 'Barronite guard'),
aliases: ['Body Golem']
});

const ChaosGolem = new SimpleMonster({
id: 10_689,
name: 'Chaos Golem',
table: new LootTable()
.add('Chaos rune', [5, 10], 8)
.add('Clay', [3, 4], 6)
.add('Tin ore', [3, 4], 6)
.add('Iron ore', [3, 4], 6)
.add('Gold ore', [2, 3], 6)
.add('Rune essence', [4, 6], 6)
.add('Uncut sapphire', 1, 6)
.add('Uncut emerald', 1, 4)
.add('Uncut ruby', 1, 2)
.add('Uncut diamond', 1, 1)
.add('Chaos talisman', 1, 1)
.tertiary(3.5, 'Barronite shards', [12, 24])
.tertiary(7.5, 'Chaos core')
.tertiary(100, 'Clue scroll (beginner)')
.tertiary(150, 'Barronite guard'),
aliases: ['Chaos Golem']
});

export const CamdozaalGolems = { FlawedGolem, MindGolem, BodyGolem, ChaosGolem };

0 comments on commit 84435fe

Please sign in to comment.