isaacscript-common
Version:
Helper functions and features for IsaacScript mods.
60 lines (59 loc) • 6.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ENTITIES_WITH_ARMOR_SET = void 0;
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
const ReadonlySet_1 = require("../types/ReadonlySet");
/**
* "Armor" refers to the damage scaling mechanic. The following list corresponds to the entities
* that have the "shieldStrength" field in the "entities2.xml" file, with some exceptions.
* (Invulnerable enemies are not included. Furthermore, Ultra Greed, Ultra Greedier, and Delirium
* all have damage scaling, but do not have a corresponding "shieldStrength" field.)
*
* Also see:
* https://bindingofisaacrebirth.fandom.com/wiki/Damage_Scaling#Entities_with_Armor_Values
*
* We use strings instead of a type + variant tuple so that we can have O(1) lookups.
*/
exports.ENTITIES_WITH_ARMOR_SET = new ReadonlySet_1.ReadonlySet([
`${isaac_typescript_definitions_1.EntityType.POOTER}.${isaac_typescript_definitions_1.PooterVariant.TAINTED_POOTER}`, // 14.2
`${isaac_typescript_definitions_1.EntityType.HIVE}.${isaac_typescript_definitions_1.HiveVariant.TAINTED_MULLIGAN}`, // 22.3
`${isaac_typescript_definitions_1.EntityType.BOOM_FLY}.${isaac_typescript_definitions_1.BoomFlyVariant.TAINTED_BOOM_FLY}`, // 25.6
`${isaac_typescript_definitions_1.EntityType.HOPPER}.${isaac_typescript_definitions_1.HopperVariant.TAINTED_HOPPER}`, // 29.3
`${isaac_typescript_definitions_1.EntityType.SPITTY}`, // 31.1
`${isaac_typescript_definitions_1.EntityType.SUCKER}.${isaac_typescript_definitions_1.SuckerVariant.TAINTED_SUCKER}`, // 61.7
`${isaac_typescript_definitions_1.EntityType.ISAAC}.${isaac_typescript_definitions_1.IsaacVariant.BLUE_BABY_HUSH}`, // 102.2
`${isaac_typescript_definitions_1.EntityType.WALL_CREEP}.${isaac_typescript_definitions_1.WallCreepVariant.TAINTED_SOY_CREEP}`, // 240.3
`${isaac_typescript_definitions_1.EntityType.ROUND_WORM}.${isaac_typescript_definitions_1.RoundWormVariant.TAINTED_ROUND_WORM}`, // 244.2
`${isaac_typescript_definitions_1.EntityType.ROUND_WORM}.${isaac_typescript_definitions_1.RoundWormVariant.TAINTED_TUBE_WORM}`, // 244.3
`${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN}`, // 274.0
`${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_RIGHT_HAND}`, // 274.1
`${isaac_typescript_definitions_1.EntityType.MEGA_SATAN}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_LEFT_HAND}`, // 274.2
`${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN}`, // 275.0
`${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_RIGHT_HAND}`, // 275.1
`${isaac_typescript_definitions_1.EntityType.MEGA_SATAN_2}.${isaac_typescript_definitions_1.MegaSatanVariant.MEGA_SATAN_LEFT_HAND}`, // 275.2
`${isaac_typescript_definitions_1.EntityType.ULTRA_GREED}.${isaac_typescript_definitions_1.UltraGreedVariant.ULTRA_GREED}`, // 406.0
`${isaac_typescript_definitions_1.EntityType.ULTRA_GREED}.${isaac_typescript_definitions_1.UltraGreedVariant.ULTRA_GREEDIER}`, // 406.1
`${isaac_typescript_definitions_1.EntityType.HUSH}.0`, // 407.0
`${isaac_typescript_definitions_1.EntityType.DELIRIUM}.0`, // 412.0
`${isaac_typescript_definitions_1.EntityType.BLOOD_PUPPY}.${isaac_typescript_definitions_1.BloodPuppyVariant.SMALL}`, // 802.0
`${isaac_typescript_definitions_1.EntityType.BLOOD_PUPPY}.${isaac_typescript_definitions_1.BloodPuppyVariant.LARGE}`, // 802.1
`${isaac_typescript_definitions_1.EntityType.SUB_HORF}.${isaac_typescript_definitions_1.SubHorfVariant.TAINTED_SUB_HORF}`, // 812.1
`${isaac_typescript_definitions_1.EntityType.FACELESS}.${isaac_typescript_definitions_1.FacelessVariant.TAINTED_FACELESS}`, // 827.1
`${isaac_typescript_definitions_1.EntityType.MOLE}.${isaac_typescript_definitions_1.MoleVariant.TAINTED_MOLE}`, // 829.1
`${isaac_typescript_definitions_1.EntityType.GUTTED_FATTY}.${isaac_typescript_definitions_1.GuttyFattyVariant.GUTTED_FATTY}`, // 831.0
`${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.GAPER}`, // 850.0
`${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.HORF}`, // 850.1
`${isaac_typescript_definitions_1.EntityType.GAPER_LVL_2}.${isaac_typescript_definitions_1.Gaper2Variant.GUSHER}`, // 850.2
`${isaac_typescript_definitions_1.EntityType.CHARGER_LVL_2}.${isaac_typescript_definitions_1.Charger2Variant.CHARGER}`, // 855.0
`${isaac_typescript_definitions_1.EntityType.CHARGER_LVL_2}.${isaac_typescript_definitions_1.Charger2Variant.ELLEECH}`, // 855.1
`${isaac_typescript_definitions_1.EntityType.SHADY}.0`, // 888.0
`${isaac_typescript_definitions_1.EntityType.MOTHER}.${isaac_typescript_definitions_1.MotherVariant.MOTHER_1}`, // 912.0
`${isaac_typescript_definitions_1.EntityType.MOTHER}.${isaac_typescript_definitions_1.MotherVariant.MOTHER_2}`, // 912.10
`${isaac_typescript_definitions_1.EntityType.DOGMA}.${isaac_typescript_definitions_1.DogmaVariant.TV}`, // 950.1
`${isaac_typescript_definitions_1.EntityType.DOGMA}.${isaac_typescript_definitions_1.DogmaVariant.ANGEL_PHASE_2}`, // 950.2
`${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.BEAST}`, // 951.0
`${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_FAMINE}`, // 951.10
`${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_PESTILENCE}`, // 951.20
`${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_WAR}`, // 951.30
`${isaac_typescript_definitions_1.EntityType.BEAST}.${isaac_typescript_definitions_1.BeastVariant.ULTRA_DEATH}`, // 951.40
]);