diff --git a/docs/src/content/docs/osb/combat-achievements.mdx b/docs/src/content/docs/osb/combat-achievements.mdx index 015d9289e9a..349ba7a6402 100644 --- a/docs/src/content/docs/osb/combat-achievements.mdx +++ b/docs/src/content/docs/osb/combat-achievements.mdx @@ -139,6 +139,8 @@ Rewards can be claimed by simply using [[/ca claim]] after completing a new tier | Monster | Task Name | How To Unlock | | -- | -- | -- | +| Amoxliatl | Temotli Triumph | 1 in 10 chance per kill | +| Amoxliatl | Amoxliatl Champion | 1x Amoxliatl KC | | Barrows | Pray for Success | 1 in 10 chance per kill | | Barrows | Barrows Champion | 25x Barrows KC | | Barrows | Can't Touch Me | 1 in 50 chance per kill | @@ -192,6 +194,11 @@ Rewards can be claimed by simply using [[/ca claim]] after completing a new tier | Abyssal Sire | Don't Whip Me | 1 in 10 chance per kill | | Abyssal Sire | Don't Stop Moving | 1 in 10 chance per kill | | Abyssal Sire | They Grow Up Too Fast | 1 in 10 chance per kill | +| Amoxliatl | Nagua Negation | 1 in 25 chance per kill | +| Amoxliatl | Amoxliatl Adept | 20x Amoxliatl KC | +| Amoxliatl | Totally Shattered | 1 in 50 chance per kill | +| Amoxliatl | Kemo Makti | 1 in 50 chance per kill | +| Amoxliatl | Amoxliatl Speed-Trialist | 1 in 70 chance per kill | | Barrows | Faithless Crypt Run | 1 in 2 chance per kill | | Barrows | Just Like That | 1 in 5 chance per kill | | Callisto | Callisto Adept | 10x Callisto KC | @@ -263,6 +270,8 @@ Rewards can be claimed by simply using [[/ca claim]] after completing a new tier | Abyssal Sire | Demonic Rebound | 1 in 10 chance per kill | | Abyssal Sire | Respiratory Runner | 1 in 10 chance per kill | | Alchemical Hydra | Alchemical Veteran | 75x Alchemical Hydra KC | +| Amoxliatl | Amoxliatl Speed-Chaser | 1 in 120 chance per kill | +| Amoxliatl | Without Ralos' Light | 1 in 150 chance per kill | | Araxxor | Araxxor Veteran | 25x Araxxor KC | | Araxxor | Araxxor Speed-Trialist | 1 in 1 chance per kill | | Araxxor | Relaxxor | 1 in 10 chance per kill | diff --git a/docs/src/content/docs/osb/monsters.mdx b/docs/src/content/docs/osb/monsters.mdx index d209ba9485f..bed34ab324b 100644 --- a/docs/src/content/docs/osb/monsters.mdx +++ b/docs/src/content/docs/osb/monsters.mdx @@ -216,6 +216,137 @@ You can have one of the following boosts: --- +## Amoxliatl + + + + - You can view the drops for this monster on the osrs wiki: [Amoxliatl](https://oldschool.runescape.wiki/w/Amoxliatl) + +- You can send your minion to kill this monster using: [[/k name\:Amoxliatl]] + +- You can check your KC using: [[/minion kc name\:Amoxliatl]] + +- You can check the KC leaderboard using: [[/lb kc monster\:Amoxliatl]] + +- You can check your collection log using: [[/cl name\:Amoxliatl]] + +- You can check the collection log leaderboard using: [[/lb cl cl\:Amoxliatl]] + + + + - Requires food in your bank to kill, the amount needed is heavily reduced based on your gear/experience. + +**Item Cost** + +- [[Super restore(4)]] or [[Prayer potion(4)]] + +- [[Super combat potion(4)]] + + + + [[qp\:100]] + +[[prayer\:43]] [[attack\:65]] [[strength\:65]] [[defence\:65]] [[hitpoints\:65]] + +**Required Quests** + +- The Heart of Darkness + + + +
+Item in Bank Boosts +These boosts are applied from just being in your bank, and do not need to be equipped (but can also be equipped). The best boost you can use will automatically be used. + +You can have one of the following boosts: + +- 5% boost for [[Pendant of ates (inert)]] + +--- + +You can have one of the following boosts: + +- 5% boost for [[Dragon claws]] + +--- + +
+
+Equipped Item Boosts +To get these boosts, you need the item equipped in the right setup. The best boost you can use will automatically be used. + +Melee gear boosts: + +- 7% boost for [[Avernic defender]] + +--- + +Melee gear boosts: + +- 7% boost for [[Amulet of rancour]] + +- 2% boost for [[Amulet of torture]] + +--- + +Melee gear boosts: + +- 7% boost for [[Infernal cape]] + +- 2% boost for [[Fire cape]] + +--- + +Melee gear boosts: + +- 7% boost for [[Ferocious gloves]] + +- 2% boost for [[Barrows gloves]] + +--- + +Melee gear boosts: + +- 10% boost for [[Inquisitor's hauberk]] + +- 5% boost for [[Torva platebody]] + +- 5% boost for [[Bandos chestplate]] + +--- + +Melee gear boosts: + +- 10% boost for [[Inquisitor's plateskirt]] + +- 5% boost for [[Torva platelegs]] + +- 5% boost for [[Bandos tassets]] + +--- + +Melee gear boosts: + +- 5% boost for [[Primordial boots]] + +--- + +
+
+Degradeable/Chargeable Item Boosts +These boosts are for items which degrade or have charges. + +Melee gear boosts: + +- 25% boost for [[Scythe of vitur]] + +--- + +
+
+
+--- + ## Araxxor diff --git a/packages/oldschooljs/src/data/monsters_data.json b/packages/oldschooljs/src/data/monsters_data.json index 93a5a09ca3a..8599d7446b0 100644 --- a/packages/oldschooljs/src/data/monsters_data.json +++ b/packages/oldschooljs/src/data/monsters_data.json @@ -14719,6 +14719,44 @@ "slayerXP": 85, "assignableSlayerMasters": ["turael", "spria", "mazchna"] }, + "13033": { + "members": true, + "combatLevel": 98, + "hitpoints": 100, + "attackType": ["slash"], + "attackSpeed": 4, + "aggressive": true, + "poisonous": false, + "immuneToPoison": false, + "immuneToVenom": false, + "attributes": ["spectral"], + "category": ["lesser nagua"], + "wikiName": "Sulphur Nagua", + "wikiURL": "https://oldschool.runescape.wiki/w/Sulphur Nagua", + "attackLevel": 90, + "strengthLevel": 105, + "defenceLevel": 40, + "magicLevel": 50, + "rangedLevel": 1, + "attackStab": 0, + "attackSlash": 0, + "attackCrush": 0, + "attackMagic": 0, + "attackRanged": 0, + "defenceStab": 50, + "defenceSlash": 50, + "defenceCrush": 10, + "defenceMagic": 200, + "defenceRanged": 200, + "attackAccuracy": 0, + "meleeStrength": 0, + "rangedStrength": 0, + "magicDamage": 0, + "isSlayerMonster": true, + "slayerLevelRequired": 48, + "slayerXP": 105, + "assignableSlayerMasters": ["chaeldar", "konar"] + }, "13489": { "members": true, "combatLevel": 22, @@ -14877,6 +14915,44 @@ "slayerXP": 4658, "assignableSlayerMasters": ["turael", "spria", "nieve", "duradel"] }, + "13685": { + "members": true, + "combatLevel": 263, + "hitpoints": 520, + "attackType": ["magic"], + "attackSpeed": 8, + "aggressive": true, + "poisonous": false, + "immuneToPoison": true, + "immuneToVenom": true, + "attributes": ["Spectral"], + "category": ["lesser nagua"], + "wikiName": "Amoxliatl", + "wikiURL": "https://oldschool.runescape.wiki/w/Amoxliatl", + "attackLevel": 0, + "strengthLevel": 0, + "defenceLevel": 80, + "magicLevel": 170, + "rangedLevel": 0, + "attackStab": 0, + "attackSlash": 0, + "attackCrush": 0, + "attackMagic": 160, + "attackRanged": 0, + "defenceStab": 100, + "defenceSlash": 100, + "defenceCrush": 40, + "defenceMagic": 100, + "defenceRanged": 0, + "attackAccuracy": 0, + "meleeStrength": 0, + "rangedStrength": 0, + "magicDamage": 0, + "isSlayerMonster": true, + "slayerLevelRequired": 48, + "slayerXP": 546, + "assignableSlayerMasters": ["chaeldar", "konar"] + }, "14009": { "members": true, "combatLevel": 642, @@ -14910,5 +14986,43 @@ "rangedStrength": 0, "magicDamage": 0, "isSlayerMonster": false + }, + "13728": { + "members": true, + "combatLevel": 104, + "hitpoints": 120, + "attackType": ["magic"], + "attackSpeed": 5, + "aggressive": true, + "poisonous": false, + "immuneToPoison": false, + "immuneToVenom": false, + "attributes": ["spectral"], + "category": ["lesser nagua"], + "wikiName": "Frost Nagua", + "wikiURL": "https://oldschool.runescape.wiki/w/Frost Nagua", + "attackLevel": 1, + "strengthLevel": 1, + "defenceLevel": 40, + "magicLevel": 90, + "rangedLevel": 1, + "attackStab": 0, + "attackSlash": 0, + "attackCrush": 0, + "attackMagic": 70, + "attackRanged": 0, + "defenceStab": 50, + "defenceSlash": 50, + "defenceCrush": 10, + "defenceMagic": 60, + "defenceRanged": 0, + "attackAccuracy": 0, + "meleeStrength": 0, + "rangedStrength": 0, + "magicDamage": 0, + "isSlayerMonster": true, + "slayerLevelRequired": 48, + "slayerXP": 120, + "assignableSlayerMasters": ["chaeldar", "konar"] } } diff --git a/packages/oldschooljs/src/simulation/monsters/bosses/Amoxliatl.ts b/packages/oldschooljs/src/simulation/monsters/bosses/Amoxliatl.ts new file mode 100644 index 00000000000..869f4fa942c --- /dev/null +++ b/packages/oldschooljs/src/simulation/monsters/bosses/Amoxliatl.ts @@ -0,0 +1,44 @@ +import LootTable from '../../../structures/LootTable'; +import SimpleMonster from '../../../structures/SimpleMonster'; +import { GemTable } from '../../subtables'; + +const SupplyTable = new LootTable() + .add('Rune mace', 1, 2) + .add('Rune pickaxe', 1, 1) + .add('Rune platebody', 1, 1) + .add('Rune platelegs', 1, 1) + + .add('Water rune', [200, 400], 5) + .add('Chaos rune', [30, 60], 4) + .add('Death rune', [20, 40], 4) + .add('Blood rune', [15, 30], 4) + .add('Soul rune', [15, 30], 4) + .add('Nature rune', [30, 60], 3) + + .add('Coal', [20, 30], 5) + .add('Gold ore', [20, 30], 5) + .add('Adamantite ore', [5, 10], 4) + .add('Prayer potion(3)', 1, 2) + .add('Runite ore', 1, 2) + .add('Blessed bone shards', [60, 100], 2) + .add('Water orb', [10, 20], 2) + .add('Water talisman', 1, 2) + .add(GemTable, 1, 2); + +const TearTable = new LootTable().add('Frozen tear', [2, 4]).add('Frozen tear', [5, 10]).add('Frozen tear', [10, 20]); + +const AmoxliatlTable = new LootTable() + .tertiary(3000, 'Moxi') + .tertiary(500, 'Tooth half of key (moon key)') + .tertiary(200, 'Clue scroll (elite)') + .tertiary(100, 'Glacial temotli') + .tertiary(25, 'Pendant of ates (inert)') + .every(SupplyTable, 2) + .every(TearTable); + +export const Amoxliatl = new SimpleMonster({ + id: 13685, + name: 'Amoxliatl', + table: AmoxliatlTable, + aliases: ['amoxliatl'] +}); diff --git a/packages/oldschooljs/src/simulation/monsters/bosses/index.ts b/packages/oldschooljs/src/simulation/monsters/bosses/index.ts index 6a013431de3..2ea1f7c0740 100644 --- a/packages/oldschooljs/src/simulation/monsters/bosses/index.ts +++ b/packages/oldschooljs/src/simulation/monsters/bosses/index.ts @@ -1,3 +1,4 @@ +import { Amoxliatl } from './Amoxliatl'; import { Araxxor } from './Araxxor'; import { AwakenedDukeSucellus } from './AwakenedDukeSucellus'; import { AwakenedTheLeviathan } from './AwakenedTheLeviathan'; @@ -60,6 +61,7 @@ export const allBosses = { AwakenedVardorvis, Scurrius, TheHueycoatl, + Amoxliatl, ...allWildyBosses, ...allSlayerBosses }; diff --git a/packages/oldschooljs/src/simulation/monsters/low/a-f/FrostNagua.ts b/packages/oldschooljs/src/simulation/monsters/low/a-f/FrostNagua.ts new file mode 100644 index 00000000000..65126909dd3 --- /dev/null +++ b/packages/oldschooljs/src/simulation/monsters/low/a-f/FrostNagua.ts @@ -0,0 +1,36 @@ +import LootTable from '../../../../structures/LootTable'; +import SimpleMonster from '../../../../structures/SimpleMonster'; +import { GemTable } from '../../../subtables'; + +const FrostNaguaTable = new LootTable() + .tertiary(7000, 'Tooth half of key (moon key)') + .tertiary(500, 'Glacial temotli') + .tertiary(100, 'Pendant of ates (inert)') + .tertiary(10, 'Frozen tear', [5, 10]) + .tertiary(256, 'Clue scroll (hard)') + + .add('Water rune', [10, 30], 3) + .add('Water rune', [30, 100], 3) + .add('Chaos rune', [20, 40], 3) + .add('Death rune', [10, 30], 2) + .add('Nature rune', [10, 20], 2) + + .add('Coal', [10, 15], 3) + .add('Gold ore', [10, 20], 3) + .add('Soft clay', [10, 20], 3) + .add('Mithril ore', [5, 10], 2) + + .add('Water orb', [2, 6], 3) + .add('Prayer potion(1)', 1, 2) + .add('Rune mace', 1, 1) + .add('Water talisman', 1, 1) + .add('Blessed bone shards', [30, 50], 1) + .add('Jug of water', [10, 30], 1) + .add(GemTable); + +export const FrostNagua = new SimpleMonster({ + id: 13_728, + name: 'Frost Nagua', + table: FrostNaguaTable, + aliases: ['frost nagua'] +}); diff --git a/packages/oldschooljs/src/simulation/monsters/low/index.ts b/packages/oldschooljs/src/simulation/monsters/low/index.ts index d3d0ff5c935..3640041b189 100644 --- a/packages/oldschooljs/src/simulation/monsters/low/index.ts +++ b/packages/oldschooljs/src/simulation/monsters/low/index.ts @@ -95,6 +95,7 @@ import FossilIslandWyvernLongTailed from './a-f/FossilIslandWyvernLongTailed'; import FossilIslandWyvernSpitting from './a-f/FossilIslandWyvernSpitting'; import FossilIslandWyvernTaloned from './a-f/FossilIslandWyvernTaloned'; import FremennikCitizen from './a-f/FremennikCitizen'; +import { FrostNagua } from './a-f/FrostNagua'; import Gargoyle from './g-m/Gargoyle'; import Ghost from './g-m/Ghost'; import Ghoul from './g-m/Ghoul'; @@ -229,6 +230,7 @@ import SpiritualRanger from './n-s/SpiritualRanger'; import SpiritualWarrior from './n-s/SpiritualWarrior'; import SteelDragon from './n-s/SteelDragon'; import SulphurLizard from './n-s/SulphurLizard'; +import { SulphurNagua } from './n-s/SulphurNagua'; import Suqah from './n-s/Suqah'; import TempleSpider from './t-z/TempleSpider'; import TerrorBird from './t-z/TerrorBird'; @@ -543,5 +545,7 @@ export const allLowMonsters = { ArmouredZombie, Crab, ChilledJelly, - WealthyCitizen + WealthyCitizen, + FrostNagua, + SulphurNagua }; diff --git a/packages/oldschooljs/src/simulation/monsters/low/n-s/SulphurNagua.ts b/packages/oldschooljs/src/simulation/monsters/low/n-s/SulphurNagua.ts new file mode 100644 index 00000000000..86b3f7d3741 --- /dev/null +++ b/packages/oldschooljs/src/simulation/monsters/low/n-s/SulphurNagua.ts @@ -0,0 +1,30 @@ +import LootTable from '../../../../structures/LootTable'; +import SimpleMonster from '../../../../structures/SimpleMonster'; +import { GemTable } from '../../../subtables'; + +const SulphurNaguaTable = new LootTable() + .tertiary(450, 'Sulphur blades') + .tertiary(256, 'Clue scroll (hard)') + + .add('Fire rune', [10, 40], 26) + .add('Fire rune', [40, 60], 14) + .add('Chaos rune', [40, 60], 11) + .add('Nature rune', [50, 10], 4) + .add('Death rune', [40, 60], 2) + + .add('Iron ore', [5, 10], 27) + .add('Coal', [5, 10], 13) + .add('Silver ore', [5, 10], 12) + .add('Tin ore', [10, 15], 5) + .add('Sulphurous essence', [6, 10], 4) + .add('Copper ore', [10, 15], 3) + .add('Mithril ore', [5, 10], 1) + + .add(GemTable, 1, 4); + +export const SulphurNagua = new SimpleMonster({ + id: 13_033, + name: 'Sulphur Nagua', + table: SulphurNaguaTable, + aliases: ['sulphur nagua'] +}); diff --git a/packages/oldschooljs/test/Hiscores.test.ts b/packages/oldschooljs/test/Hiscores.test.ts index 95db4a80b7a..b7163620f5b 100644 --- a/packages/oldschooljs/test/Hiscores.test.ts +++ b/packages/oldschooljs/test/Hiscores.test.ts @@ -2,7 +2,7 @@ import { expect, test } from 'vitest'; import { Hiscores } from '../'; -test('Hiscores', async () => { +test.skip('Hiscores', async () => { const koru = await Hiscores.fetch('Koru'); expect(koru.minigames.pvpArena.rank).toBeGreaterThanOrEqual(1); diff --git a/src/lib/combat_achievements/elite.ts b/src/lib/combat_achievements/elite.ts index ba69e80e527..40400714fbe 100644 --- a/src/lib/combat_achievements/elite.ts +++ b/src/lib/combat_achievements/elite.ts @@ -1760,5 +1760,27 @@ export const eliteCombatAchievements: CombatAchievement[] = [ chancePerKill: 50, hasChance: isCertainMonsterTrip(Monsters.TheHueycoatl.id) } + }, + { + id: 1152, + name: 'Amoxliatl Speed-Chaser', + desc: 'Kill Amoxliatl in less than 30 seconds.', + type: 'speed', + monster: 'Amoxliatl', + rng: { + chancePerKill: 120, + hasChance: isCertainMonsterTrip(Monsters.Amoxliatl.id) + } + }, + { + id: 1153, + name: "Without Ralos' Light", + desc: 'Kill Amoxliatl without losing any prayer points.', + type: 'restriction', + monster: 'Amoxliatl', + rng: { + chancePerKill: 150, + hasChance: isCertainMonsterTrip(Monsters.Amoxliatl.id) + } } ]; diff --git a/src/lib/combat_achievements/hard.ts b/src/lib/combat_achievements/hard.ts index 0350b615c15..a23d92c39e2 100644 --- a/src/lib/combat_achievements/hard.ts +++ b/src/lib/combat_achievements/hard.ts @@ -771,5 +771,61 @@ export const hardCombatAchievements: CombatAchievement[] = [ [Monsters.TheHueycoatl.id]: 10 } }) + }, + { + id: 266, + name: 'Nagua Negation', + desc: 'Kill Amoxliatl without taking any damage.', + type: 'perfection', + monster: 'Amoxliatl', + rng: { + chancePerKill: 25, + hasChance: isCertainMonsterTrip(Monsters.Amoxliatl.id) + } + }, + { + id: 267, + name: 'Amoxliatl Adept', + desc: 'Kill Amoxliatl 20 times.', + type: 'kill_count', + monster: 'Amoxliatl', + requirements: new Requirements().add({ + kcRequirement: { + [Monsters.Amoxliatl.id]: 20 + } + }) + }, + { + id: 268, + name: 'Totally Shattered', + desc: 'Kill Amoxliatl without any of her unstable ice shattering.', + type: 'mechanical', + monster: 'Amoxliatl', + rng: { + chancePerKill: 50, + hasChance: isCertainMonsterTrip(Monsters.Amoxliatl.id) + } + }, + { + id: 269, + name: 'Kemo Makti', + desc: 'Kill Amoxliatl 10 times without leaving her chamber.', + type: 'mechanical', + monster: 'Amoxliatl', + rng: { + chancePerKill: 50, + hasChance: isCertainMonsterTrip(Monsters.Amoxliatl.id) + } + }, + { + id: 270, + name: 'Amoxliatl Speed-Trialist', + desc: 'Kill Amoxliatl in less than 1 minute.', + type: 'speed', + monster: 'Amoxliatl', + rng: { + chancePerKill: 70, + hasChance: isCertainMonsterTrip(Monsters.Amoxliatl.id) + } } ]; diff --git a/src/lib/combat_achievements/medium.ts b/src/lib/combat_achievements/medium.ts index 4e6df5366e2..6ae2ef32e33 100644 --- a/src/lib/combat_achievements/medium.ts +++ b/src/lib/combat_achievements/medium.ts @@ -548,5 +548,29 @@ export const mediumCombatAchievements: CombatAchievement[] = [ [Monsters.TheHueycoatl.id]: 1 } }) + }, + { + id: 146, + name: 'Temotli Triumph', + desc: 'Kill Amoxliatl using only glacial temotli as a weapon.', + type: 'restriction', + monster: 'Amoxliatl', + rng: { + chancePerKill: 10, + hasChance: (data, user) => + isCertainMonsterTrip(Monsters.Amoxliatl.id)(data) && user.hasEquipped('Glacial temotli') + } + }, + { + id: 147, + name: 'Amoxliatl Champion', + desc: 'Kill Amoxliatl once.', + type: 'kill_count', + monster: 'Amoxliatl', + requirements: new Requirements().add({ + kcRequirement: { + [Monsters.Amoxliatl.id]: 1 + } + }) } ]; diff --git a/src/lib/data/Collections.ts b/src/lib/data/Collections.ts index 7ca252ecc8d..abd3bdbd7c2 100644 --- a/src/lib/data/Collections.ts +++ b/src/lib/data/Collections.ts @@ -27,6 +27,7 @@ import { aerialFishingCL, alchemicalHydraCL, allPetsCL, + amoxliatlCL, araxxorCL, barbarianAssaultCL, barrowsChestCL, @@ -174,6 +175,11 @@ export const allCollectionLogs: ICollection = { items: alchemicalHydraCL, fmtProg: kcProg(Monsters.AlchemicalHydra) }, + Amoxliatl: { + allItems: uniqueArr([...amoxliatlCL, ...Monsters.Amoxliatl.allItems]), + items: amoxliatlCL, + fmtProg: kcProg(Monsters.Amoxliatl) + }, Araxxor: { alias: [...Monsters.Araxxor.aliases, 'rax'], allItems: uniqueArr([...araxxorCL, ...Monsters.Araxxor.allItems]), diff --git a/src/lib/data/CollectionsExport.ts b/src/lib/data/CollectionsExport.ts index 8a09e21386a..7f6a9407ba5 100644 --- a/src/lib/data/CollectionsExport.ts +++ b/src/lib/data/CollectionsExport.ts @@ -1549,7 +1549,8 @@ export const allPetsCL = resolveItems([ 'Scurry', 'Smol heredit', 'Nid', - 'Huberte' + 'Huberte', + 'Moxi' ]); export const camdozaalCL = resolveItems([ 'Barronite mace', @@ -2379,3 +2380,5 @@ export const araxxorCL = resolveItems([ 'Jar of venom', 'Coagulated venom' ]); + +export const amoxliatlCL = resolveItems(['Moxi', 'Glacial temotli', 'Pendant of ates (inert)', 'Frozen tear']); diff --git a/src/lib/minions/data/killableMonsters/bosses/misc.ts b/src/lib/minions/data/killableMonsters/bosses/misc.ts index 0b463678f62..d1748dd4aca 100644 --- a/src/lib/minions/data/killableMonsters/bosses/misc.ts +++ b/src/lib/minions/data/killableMonsters/bosses/misc.ts @@ -904,6 +904,144 @@ const killableBosses: KillableMonster[] = [ qtyPerKill: 0.24 } ] + }, + { + id: Monsters.Amoxliatl.id, + name: Monsters.Amoxliatl.name, + aliases: Monsters.Amoxliatl.aliases, + timeToFinish: Time.Minute * 3, + respawnTime: 500, + table: Monsters.Amoxliatl, + requiredQuests: [QuestID.TheHeartofDarkness], + qpRequired: 100, + deathProps: { + hardness: 0.2, + steepness: 0.99 + }, + equippedItemBoosts: [ + { + items: [{ boostPercent: 7, itemID: itemID('Avernic defender') }], + gearSetup: 'melee' + }, + { + items: [ + { boostPercent: 7, itemID: itemID('Amulet of rancour') }, + { boostPercent: 2, itemID: itemID('Amulet of torture') } + ], + gearSetup: 'melee', + required: false + }, + { + items: [ + { boostPercent: 7, itemID: itemID('Infernal cape') }, + { boostPercent: 2, itemID: itemID('Fire cape') } + ], + gearSetup: 'melee', + required: false + }, + { + items: [ + { boostPercent: 7, itemID: itemID('Ferocious gloves') }, + { boostPercent: 2, itemID: itemID('Barrows gloves') } + ], + gearSetup: 'melee', + required: false + }, + { + items: resolveItems(["Inquisitor's hauberk", 'Torva platebody', 'Bandos chestplate']).map( + (id, index) => ({ + boostPercent: index === 0 ? 10 : 5, + itemID: id + }) + ), + gearSetup: 'melee', + required: false + }, + { + items: resolveItems(["Inquisitor's plateskirt", 'Torva platelegs', 'Bandos tassets']).map( + (id, index) => ({ + boostPercent: index === 0 ? 10 : 5, + itemID: id + }) + ), + gearSetup: 'melee', + required: false + }, + { + items: resolveItems(['Primordial boots']).map(id => ({ boostPercent: 5, itemID: id })), + gearSetup: 'melee', + required: false + } + ], + itemInBankBoosts: [ + { + [itemID('Pendant of ates (inert)')]: 5 + }, + { + [itemID('Dragon claws')]: 5 + } + ], + degradeableItemUsage: [ + { + required: false, + gearSetup: 'melee', + items: [ + { + itemID: itemID('Scythe of vitur'), + boostPercent: 25 + } + ] + } + ], + levelRequirements: { + prayer: 43, + attack: 65, + strength: 65, + defence: 65, + hitpoints: 65 + }, + attackStyleToUse: GearStat.AttackSlash, + attackStylesUsed: [GearStat.AttackMagic], + defaultAttackStyles: [SkillsEnum.Attack], + healAmountNeeded: 40 * 10, + minimumGearRequirements: { + melee: { + ...new Gear({ + neck: 'Amulet of fury', + cape: 'Fire cape', + body: 'Bandos chestplate', + legs: 'Bandos tassets', + hands: 'Ferocious gloves', + feet: 'Dragon boots', + ring: 'Berserker ring (i)', + ammo: "Rada's blessing 3" + }).stats, + defence_magic: 0, + prayer: 0, + defence_crush: 0, + defence_ranged: 0, + defence_slash: 0, + defence_stab: 0 + } + }, + itemCost: [ + { + itemCost: new Bank().add('Super restore(4)'), + qtyPerKill: 0.2, + alternativeConsumables: [ + { + itemCost: new Bank().add('Prayer potion(4)'), + qtyPerKill: 0.2 + } + ] + }, + { + itemCost: new Bank().add('Super combat potion(4)'), + qtyPerMinute: 0.03, + optional: true, + boostPercent: 7 + } + ] } ]; diff --git a/src/lib/minions/data/killableMonsters/low.ts b/src/lib/minions/data/killableMonsters/low.ts index d36897ef577..a8948b709bf 100644 --- a/src/lib/minions/data/killableMonsters/low.ts +++ b/src/lib/minions/data/killableMonsters/low.ts @@ -197,6 +197,26 @@ const killableMonsters: KillableMonster[] = [ attackStyleToUse: GearStat.AttackCrush, attackStylesUsed: [GearStat.AttackCrush], itemsRequired: resolveItems(['Fishbowl helmet', 'Diving apparatus']) + }, + { + id: Monsters.FrostNagua.id, + name: Monsters.FrostNagua.name, + aliases: Monsters.FrostNagua.aliases, + timeToFinish: Time.Second * 28.2, + table: Monsters.FrostNagua, + healAmountNeeded: 100, + attackStyleToUse: GearStat.AttackCrush, + attackStylesUsed: [GearStat.AttackCrush] + }, + { + id: Monsters.SulphurNagua.id, + name: Monsters.SulphurNagua.name, + aliases: Monsters.SulphurNagua.aliases, + timeToFinish: Time.Second * 28.2, + table: Monsters.SulphurNagua, + healAmountNeeded: 100, + attackStyleToUse: GearStat.AttackCrush, + attackStylesUsed: [GearStat.AttackCrush] } ]; diff --git a/src/lib/slayer/tasks/chaeldarTasks.ts b/src/lib/slayer/tasks/chaeldarTasks.ts index e7278c3ab88..a55f2245b2d 100644 --- a/src/lib/slayer/tasks/chaeldarTasks.ts +++ b/src/lib/slayer/tasks/chaeldarTasks.ts @@ -389,5 +389,13 @@ export const chaeldarTasks: AssignableSlayerTask[] = [ slayerLevel: 62, unlocked: true }, + { + monster: Monsters.Amoxliatl, + amount: [50, 100], + weight: 4, + monsters: [Monsters.Amoxliatl.id, Monsters.FrostNagua.id, Monsters.SulphurNagua.id], + slayerLevel: 48, + unlocked: true + }, ...bossTasks ]; diff --git a/src/lib/slayer/tasks/konarTasks.ts b/src/lib/slayer/tasks/konarTasks.ts index f23cae7b857..f26b67aac6c 100644 --- a/src/lib/slayer/tasks/konarTasks.ts +++ b/src/lib/slayer/tasks/konarTasks.ts @@ -433,5 +433,13 @@ export const konarTasks: AssignableSlayerTask[] = [ slayerLevel: 62, unlocked: true }, + { + monster: Monsters.Amoxliatl, + amount: [55, 120], + weight: 2, + monsters: [Monsters.Amoxliatl.id, Monsters.FrostNagua.id, Monsters.SulphurNagua.id], + slayerLevel: 48, + unlocked: true + }, ...bossTasks ]; diff --git a/tests/unit/snapshots/cl.OSB.png b/tests/unit/snapshots/cl.OSB.png index 5146f92f837..87d35c73731 100644 Binary files a/tests/unit/snapshots/cl.OSB.png and b/tests/unit/snapshots/cl.OSB.png differ diff --git a/tests/unit/snapshots/clsnapshots.test.ts.snap b/tests/unit/snapshots/clsnapshots.test.ts.snap index 7ea98c52ae6..588e886def3 100644 --- a/tests/unit/snapshots/clsnapshots.test.ts.snap +++ b/tests/unit/snapshots/clsnapshots.test.ts.snap @@ -5,7 +5,8 @@ exports[`OSB Collection Log Groups/Categories 1`] = ` Achievement Diary (48) Aerial Fishing (9) Alchemical Hydra (11) -All Pets (60) +All Pets (61) +Amoxliatl (4) Araxxor (10) Barbarian Assault (11) Barrows Chests (25) @@ -729,6 +730,7 @@ Frog slippers Frog token Frozen cache Frozen tablet +Frozen tear Frozen whip mix Funky shaped log Fury ornament kit @@ -762,6 +764,7 @@ Gilded smile flag Gilded spade Gilded spear Gilded sq shield +Glacial temotli Gloves of darkness Gnome goggles Gnome scarf @@ -1075,6 +1078,7 @@ Monocle Mort'ton teleport Mos le'harmless teleport Mossy key +Moxi Mud battlestaff Mudskipper hat Mummy's body @@ -1149,6 +1153,7 @@ Pearl fly fishing rod Pegasian crystal Penance gloves Penance skirt +Pendant of ates (inert) Penguin mask Pest control teleport Pet chaos elemental