package d2records import "github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum" // MonStats2 stores all of the MonStat2Records type MonStats2 map[string]*MonStat2Record // MonStat2Record is a representation of a row from monstats2.txt type MonStat2Record struct { // Available options for equipment // randomly selected from EquipmentOptions [16][]string Key string // Key, the object ID MonStatEx feild from MonStat BaseWeaponClass string ResurrectSkill string Heart string BodyPart string // These follow three are apparently unused Height int OverlayHeight int PixelHeight int // Diameter in subtiles SizeX int SizeY int // Bounding box BoxTop int BoxLeft int BoxWidth int BoxHeight int // Spawn method used SpawnMethod int // Melee radius MeleeRng int // base weaponclass? HitClass int // Sum of available components TotalPieces int // Number of directions for each mode DirectionsPerMode [16]int // If the units is restored on map reload Restore int // What maximap index is used for the automap AutomapCel int // Blood offset? LocalBlood int // 0 = don't bleed, 1 = small blood missile, 2 = small and large, > 3 other missiles? Bleed int // If the unit is lights up the area Light int // Light color LightR int LightG int lightB int // Palettes per difficulty NormalPalette int NightmarePalette int HellPalatte int // These two are useless as of 1.07 // Inferno animation stuff InfernoLen int InfernoAnim int InfernoRollback int // Which mode is used after resurrection ResurrectMode d2enum.MonsterAnimationMode // This specifies if the size values get used for collision detection NoGfxHitTest bool // Does the unit have this component HasComponent [16]bool // Available animation modes HasAnimationMode [16]bool // Available modes while moving aside from WL and RN A1mv bool A2mv bool SCmv bool S1mv bool S2mv bool S3mv bool S4mv bool // true of unit uses an automap entry NoMap bool // If the units can use overlays NoOvly bool // If unit is selectable IsSelectable bool // If unit is selectable by allies AllySelectable bool // If unit is not selectable NotSelectable bool // Kinda unk, used for bonewalls etc that are not properly selectable shiftSel bool // if the units corpse is selectable IsCorpseSelectable bool // If the unit is attackable IsAttackable bool // If the unit is revivable IsRevivable bool // If the unit is a critter IsCritter bool // If the unit is Small, Small units can be knocked back with 100% efficiency IsSmall bool // Large units can be knocked back at 25% efficincy IsLarge bool // Possibly to do with sound, usually set for creatures without flesh IsSoft bool // Aggressive or harmless, usually NPC's IsInert bool // Unknown objCol bool // Enables collision on corpse for units IsCorpseCollidable bool // Can the corpse be walked through IsCorpseWalkable bool // If the unit casts a shadow HasShadow bool // If unique palettes should not be used NoUniqueShift bool // If multiple layers should be used on death (otherwise only TR) CompositeDeath bool // Which skill is used for resurrection }