742 lines
13 KiB
Go
742 lines
13 KiB
Go
package stat
|
|
|
|
type ID int16
|
|
|
|
type Data struct {
|
|
ID ID
|
|
Value int
|
|
Layer int
|
|
}
|
|
|
|
const (
|
|
Strength ID = iota
|
|
Energy
|
|
Dexterity
|
|
Vitality
|
|
StatPoints
|
|
SkillPoints
|
|
Life
|
|
MaxLife
|
|
Mana
|
|
MaxMana
|
|
Stamina
|
|
MaxStamina
|
|
Level
|
|
Experience
|
|
Gold
|
|
StashGold
|
|
EnhancedDefense
|
|
EnhancedDamageMax
|
|
EnhancedDamage
|
|
AttackRating
|
|
ChanceToBlock
|
|
MinDamage
|
|
MaxDamage
|
|
TwoHandedMinDamage
|
|
TwoHandedMaxDamage
|
|
DamagePercent
|
|
ManaRecovery
|
|
ManaRecoveryBonus
|
|
StaminaRecoveryBonus
|
|
LastExp
|
|
NextExp
|
|
Defense
|
|
DefenseVsMissiles
|
|
DefenseVsHth
|
|
NormalDamageReduction
|
|
MagicDamageReduction
|
|
DamageReduced
|
|
MagicResist
|
|
MaxMagicResist
|
|
FireResist
|
|
MaxFireResist
|
|
LightningResist
|
|
MaxLightningResist
|
|
ColdResist
|
|
MaxColdResist
|
|
PoisonResist
|
|
MaxPoisonResist
|
|
DamageAura
|
|
FireMinDamage
|
|
FireMaxDamage
|
|
LightningMinDamage
|
|
LightningMaxDamage
|
|
MagicMinDamage
|
|
MagicMaxDamage
|
|
ColdMinDamage
|
|
ColdMaxDamage
|
|
ColdLength
|
|
PoisonMinDamage
|
|
PoisonMaxDamage
|
|
PoisonLength
|
|
LifeSteal
|
|
LifeStealMax
|
|
ManaSteal
|
|
ManaStealMax
|
|
StaminaDrainMinDamage
|
|
StaminaDrainMaxDamage
|
|
StunLength
|
|
VelocityPercent
|
|
AttackRate
|
|
OtherAnimRate
|
|
Quantity
|
|
Value
|
|
Durability
|
|
MaxDurability
|
|
ReplenishLife
|
|
MaxDurabilityPercent
|
|
MaxLifePercent
|
|
MaxManaPercent
|
|
AttackerTakesDamage
|
|
GoldFind
|
|
MagicFind
|
|
Knockback
|
|
TimeDuration
|
|
AddClassSkills
|
|
Unused84
|
|
AddExperience
|
|
LifeAfterEachKill
|
|
ReducePrices
|
|
DoubleHerbDuration
|
|
LightRadius
|
|
LightColor
|
|
Requirements
|
|
LevelRequire
|
|
IncreasedAttackSpeed
|
|
LevelRequirePercent
|
|
LastBlockFrame
|
|
FasterRunWalk
|
|
NonClassSkill
|
|
State
|
|
FasterHitRecovery
|
|
PlayerCount
|
|
PoisonOverrideLength
|
|
FasterBlockRate
|
|
BypassUndead
|
|
BypassDemons
|
|
FasterCastRate
|
|
BypassBeasts
|
|
SingleSkill
|
|
SlainMonstersRestInPeace
|
|
CurseResistance
|
|
PoisonLengthReduced
|
|
NormalDamage
|
|
HitCausesMonsterToFlee
|
|
HitBlindsTarget
|
|
DamageTakenGoesToMana
|
|
IgnoreTargetsDefense
|
|
TargetDefense
|
|
PreventMonsterHeal
|
|
HalfFreezeDuration
|
|
AttackRatingPercent
|
|
MonsterDefensePerHit
|
|
DemonDamagePercent
|
|
UndeadDamagePercent
|
|
DemonAttackRating
|
|
UndeadAttackRating
|
|
Throwable
|
|
FireSkills
|
|
AllSkills
|
|
AttackerTakesLightDamage
|
|
IronMaidenLevel
|
|
LifeTapLevel
|
|
ThornsPercent
|
|
BoneArmor
|
|
BoneArmorMax
|
|
FreezesTarget
|
|
OpenWounds
|
|
CrushingBlow
|
|
KickDamage
|
|
ManaAfterKill
|
|
HealAfterDemonKill
|
|
ExtraBlood
|
|
DeadlyStrike
|
|
AbsorbFirePercent
|
|
AbsorbFire
|
|
AbsorbLightningPercent
|
|
AbsorbLightning
|
|
AbsorbMagicPercent
|
|
AbsorbMagic
|
|
AbsorbColdPercent
|
|
AbsorbCold
|
|
SlowsTarget
|
|
Aura
|
|
Indestructible
|
|
CannotBeFrozen
|
|
SlowerStaminaDrain
|
|
Reanimate
|
|
Pierce
|
|
MagicArrow
|
|
ExplosiveArrow
|
|
ThrowMinDamage
|
|
ThrowMaxDamage
|
|
SkillHandofAthena
|
|
SkillStaminaPercent
|
|
SkillPassiveStaminaPercent
|
|
SkillConcentration
|
|
SkillEnchant
|
|
SkillPierce
|
|
SkillConviction
|
|
SkillChillingArmor
|
|
SkillFrenzy
|
|
SkillDecrepify
|
|
SkillArmorPercent
|
|
Alignment
|
|
Target0
|
|
Target1
|
|
GoldLost
|
|
ConverisonLevel
|
|
ConverisonMaxHP
|
|
UnitDooverlay
|
|
AttackVsMonType
|
|
DamageVsMonType
|
|
Fade
|
|
ArmorOverridePercent
|
|
Unused183
|
|
Unused184
|
|
Unused185
|
|
Unused186
|
|
Unused187
|
|
AddSkillTab
|
|
Unused189
|
|
Unused190
|
|
Unused191
|
|
Unused192
|
|
Unused193
|
|
NumSockets
|
|
SkillOnAttack
|
|
SkillOnKill
|
|
SkillOnDeath
|
|
SkillOnHit
|
|
SkillOnLevelUp
|
|
Unused200
|
|
SkillOnGetHit
|
|
Unused202
|
|
Unused203
|
|
ItemChargedSkill
|
|
Unused205
|
|
Unused206
|
|
Unused207
|
|
Unused208
|
|
Unused209
|
|
Unused210
|
|
Unused211
|
|
Unused212
|
|
Unused213
|
|
DefensePerLevel
|
|
ArmorPercentPerLevel
|
|
LifePerLevel
|
|
ManaPerLevel
|
|
MaxDamagePerLevel
|
|
MaxDamagePercentPerLevel
|
|
StrengthPerLevel
|
|
DexterityPerLevel
|
|
EnergyPerLevel
|
|
VitalityPerLevel
|
|
AttackRatingPerLevel
|
|
AttackRatingPercentPerLevel
|
|
ColdDamageMaxPerLevel
|
|
FireDamageMaxPerLevel
|
|
LightningDamageMaxPerLevel
|
|
PoisonDamageMaxPerLevel
|
|
ResistColdPerLevel
|
|
ResistFirePerLevel
|
|
ResistLightningPerLevel
|
|
ResistPoisonPerLevel
|
|
AbsorbColdPerLevel
|
|
AbsorbFirePerLevel
|
|
AbsorbLightningPerLevel
|
|
AbsorbPoisonPerLevel
|
|
ThornsPerLevel
|
|
ExtraGoldPerLevel
|
|
MagicFindPerLevel
|
|
RegenStaminaPerLevel
|
|
StaminaPerLevel
|
|
DamageDemonPerLevel
|
|
DamageUndeadPerLevel
|
|
AttackRatingDemonPerLevel
|
|
AttackRatingUndeadPerLevel
|
|
CrushingBlowPerLevel
|
|
OpenWoundsPerLevel
|
|
KickDamagePerLevel
|
|
DeadlyStrikePerLevel
|
|
FindGemsPerLevel
|
|
ReplenishDurability
|
|
ReplenishQuantity
|
|
ExtraStack
|
|
FindItem
|
|
SlashDamage
|
|
SlashDamagePercent
|
|
CrushDamage
|
|
CrushDamagePercent
|
|
ThrustDamage
|
|
ThrustDamagePercent
|
|
AbsorbSlash
|
|
AbsorbCrush
|
|
AbsorbThrust
|
|
AbsorbSlashPercent
|
|
AbsorbCrushPercent
|
|
AbsorbThrustPercent
|
|
ArmorByTime
|
|
ArmorPercentByTime
|
|
LifeByTime
|
|
ManaByTime
|
|
MaxDamageByTime
|
|
MaxDamagePercentByTime
|
|
StrengthByTime
|
|
DexterityByTime
|
|
EnergyByTime
|
|
VitalityByTime
|
|
AttackRatingByTime
|
|
AttackRatingPercentByTime
|
|
ColdDamageMaxByTime
|
|
FireDamageMaxByTime
|
|
LightningDamageMaxByTime
|
|
PoisonDamageMaxByTime
|
|
ResistColdByTime
|
|
ResistFireByTime
|
|
ResistLightningByTime
|
|
ResistPoisonByTime
|
|
AbsorbColdByTime
|
|
AbsorbFireByTime
|
|
AbsorbLightningByTime
|
|
AbsorbPoisonByTime
|
|
FindGoldByTime
|
|
MagicFindByTime
|
|
RegenStaminaByTime
|
|
StaminaByTime
|
|
DamageDemonByTime
|
|
DamageUndeadByTime
|
|
AttackRatingDemonByTime
|
|
AttackRatingUndeadByTime
|
|
CrushingBlowByTime
|
|
OpenWoundsByTime
|
|
KickDamageByTime
|
|
DeadlyStrikeByTime
|
|
FindGemsByTime
|
|
PierceCold
|
|
PierceFire
|
|
PierceLightning
|
|
PiercePoison
|
|
DamageVsMonster
|
|
DamagePercentVsMonster
|
|
AttackRatingVsMonster
|
|
AttackRatingPercentVsMonster
|
|
AcVsMonster
|
|
AcPercentVsMonster
|
|
FireLength
|
|
BurningMin
|
|
BurningMax
|
|
ProgressiveDamage
|
|
ProgressiveSteal
|
|
ProgressiveOther
|
|
ProgressiveFire
|
|
ProgressiveCold
|
|
ProgressiveLightning
|
|
ExtraCharges
|
|
ProgressiveAttackRating
|
|
PoisonCount
|
|
DamageFrameRate
|
|
PierceIdx
|
|
FireSkillDamage
|
|
LightningSkillDamage
|
|
ColdSkillDamage
|
|
PoisonSkillDamage
|
|
EnemyFireResist
|
|
EnemyLightningResist
|
|
EnemyColdResist
|
|
EnemyPoisonResist
|
|
PassiveCriticalStrike
|
|
PassiveDodge
|
|
PassiveAvoid
|
|
PassiveEvade
|
|
PassiveWarmth
|
|
PassiveMasteryMeleeAttackRating
|
|
PassiveMasteryMeleeDamage
|
|
PassiveMasteryMeleeCritical
|
|
PassiveMasteryThrowAttackRating
|
|
PassiveMasteryThrowDamage
|
|
PassiveMasteryThrowCritical
|
|
PassiveWeaponBlock
|
|
SummonResist
|
|
ModifierListSkill
|
|
ModifierListLevel
|
|
LastSentHPPercent
|
|
SourceUnitType
|
|
SourceUnitID
|
|
ShortParam1
|
|
QuestItemDifficulty
|
|
PassiveMagicMastery
|
|
PassiveMagicPierce
|
|
SkillCooldown
|
|
SkillMissileDamageScale
|
|
)
|
|
|
|
var Stats = []string{
|
|
"strength",
|
|
"energy",
|
|
"dexterity",
|
|
"vitality",
|
|
"statpoints",
|
|
"skillpoints",
|
|
"life",
|
|
"maxlife",
|
|
"mana",
|
|
"maxmana",
|
|
"stamina",
|
|
"maxstamina",
|
|
"level",
|
|
"experience",
|
|
"gold",
|
|
"stashgold",
|
|
"enhanceddefense",
|
|
"enhanceddamagemax",
|
|
"enhanceddamage",
|
|
"attackrating",
|
|
"chancetoblock",
|
|
"mindamage",
|
|
"maxdamage",
|
|
"twohandedmindamage",
|
|
"twohandedmaxdamage",
|
|
"damagepercent",
|
|
"manarecovery",
|
|
"manarecoverybonus",
|
|
"staminarecoverybonus",
|
|
"lastexp",
|
|
"nextexp",
|
|
"defense",
|
|
"defensevsmissiles",
|
|
"defensevshth",
|
|
"normaldamagereduction",
|
|
"magicdamagereduction",
|
|
"damagereduced",
|
|
"magicresist",
|
|
"maxmagicresist",
|
|
"fireresist",
|
|
"maxfireresist",
|
|
"lightningresist",
|
|
"maxlightningresist",
|
|
"coldresist",
|
|
"maxcoldresist",
|
|
"poisonresist",
|
|
"maxpoisonresist",
|
|
"damageaura",
|
|
"firemindamage",
|
|
"firemaxdamage",
|
|
"lightningmindamage",
|
|
"lightningmaxdamage",
|
|
"magicmindamage",
|
|
"magicmaxdamage",
|
|
"coldmindamage",
|
|
"coldmaxdamage",
|
|
"coldlength",
|
|
"poisonmindamage",
|
|
"poisonmaxdamage",
|
|
"poisonlength",
|
|
"lifesteal",
|
|
"lifestealmax",
|
|
"manasteal",
|
|
"manastealmax",
|
|
"staminadrainmindamage",
|
|
"staminadrainmaxdamage",
|
|
"stunlength",
|
|
"velocitypercent",
|
|
"attackrate",
|
|
"otheranimrate",
|
|
"quantity",
|
|
"value",
|
|
"durability",
|
|
"maxdurability",
|
|
"replenishlife",
|
|
"maxdurabilitypercent",
|
|
"maxlifepercent",
|
|
"maxmanapercent",
|
|
"attackertakesdamage",
|
|
"goldfind",
|
|
"magicfind",
|
|
"knockback",
|
|
"timeduration",
|
|
"addclassskills",
|
|
"unused84",
|
|
"addexperience",
|
|
"lifeaftereachkill",
|
|
"reduceprices",
|
|
"doubleherbduration",
|
|
"lightradius",
|
|
"lightcolor",
|
|
"requirements",
|
|
"levelrequire",
|
|
"increasedattackspeed",
|
|
"levelrequirepercent",
|
|
"lastblockframe",
|
|
"fasterrunwalk",
|
|
"nonclassskill",
|
|
"state",
|
|
"fasterhitrecovery",
|
|
"playercount",
|
|
"poisonoverridelength",
|
|
"fasterblockrate",
|
|
"bypassundead",
|
|
"bypassdemons",
|
|
"fastercastrate",
|
|
"bypassbeasts",
|
|
"singleskill",
|
|
"slainmonstersrestinpeace",
|
|
"curseresistance",
|
|
"poisonlengthreduced",
|
|
"normaldamage",
|
|
"hitcausesmonstertoflee",
|
|
"hitblindstarget",
|
|
"damagetakengoestomana",
|
|
"ignoretargetsdefense",
|
|
"targetdefense",
|
|
"preventmonsterheal",
|
|
"halffreezeduration",
|
|
"attackratingpercent",
|
|
"monsterdefenseperhit",
|
|
"demondamagepercent",
|
|
"undeaddamagepercent",
|
|
"demonattackrating",
|
|
"undeadattackrating",
|
|
"throwable",
|
|
"fireskills",
|
|
"allskills",
|
|
"attackertakeslightdamage",
|
|
"ironmaidenlevel",
|
|
"lifetaplevel",
|
|
"thornspercent",
|
|
"bonearmor",
|
|
"bonearmormax",
|
|
"freezestarget",
|
|
"openwounds",
|
|
"crushingblow",
|
|
"kickdamage",
|
|
"manaafterkill",
|
|
"healafterdemonkill",
|
|
"extrablood",
|
|
"deadlystrike",
|
|
"absorbfirepercent",
|
|
"absorbfire",
|
|
"absorblightningpercent",
|
|
"absorblightning",
|
|
"absorbmagicpercent",
|
|
"absorbmagic",
|
|
"absorbcoldpercent",
|
|
"absorbcold",
|
|
"slowstarget",
|
|
"aura",
|
|
"indestructible",
|
|
"cannotbefrozen",
|
|
"slowerstaminadrain",
|
|
"reanimate",
|
|
"pierce",
|
|
"magicarrow",
|
|
"explosivearrow",
|
|
"throwmindamage",
|
|
"throwmaxdamage",
|
|
"skillhandofathena",
|
|
"skillstaminapercent",
|
|
"skillpassivestaminapercent",
|
|
"skillconcentration",
|
|
"skillenchant",
|
|
"skillpierce",
|
|
"skillconviction",
|
|
"skillchillingarmor",
|
|
"skillfrenzy",
|
|
"skilldecrepify",
|
|
"skillarmorpercent",
|
|
"alignment",
|
|
"target0",
|
|
"target1",
|
|
"goldlost",
|
|
"converisonlevel",
|
|
"converisonmaxhp",
|
|
"unitdooverlay",
|
|
"attackvsmontype",
|
|
"damagevsmontype",
|
|
"fade",
|
|
"armoroverridepercent",
|
|
"unused183",
|
|
"unused184",
|
|
"unused185",
|
|
"unused186",
|
|
"unused187",
|
|
"addskilltab",
|
|
"unused189",
|
|
"unused190",
|
|
"unused191",
|
|
"unused192",
|
|
"unused193",
|
|
"numsockets",
|
|
"skillonattack",
|
|
"skillonkill",
|
|
"skillondeath",
|
|
"skillonhit",
|
|
"skillonlevelup",
|
|
"unused200",
|
|
"skillongethit",
|
|
"unused202",
|
|
"unused203",
|
|
"itemchargedskill",
|
|
"unused205",
|
|
"unused206",
|
|
"unused207",
|
|
"unused208",
|
|
"unused209",
|
|
"unused210",
|
|
"unused211",
|
|
"unused212",
|
|
"unused213",
|
|
"defenseperlevel",
|
|
"armorpercentperlevel",
|
|
"lifeperlevel",
|
|
"manaperlevel",
|
|
"maxdamageperlevel",
|
|
"maxdamagepercentperlevel",
|
|
"strengthperlevel",
|
|
"dexterityperlevel",
|
|
"energyperlevel",
|
|
"vitalityperlevel",
|
|
"attackratingperlevel",
|
|
"attackratingpercentperlevel",
|
|
"colddamagemaxperlevel",
|
|
"firedamagemaxperlevel",
|
|
"lightningdamagemaxperlevel",
|
|
"poisondamagemaxperlevel",
|
|
"resistcoldperlevel",
|
|
"resistfireperlevel",
|
|
"resistlightningperlevel",
|
|
"resistpoisonperlevel",
|
|
"absorbcoldperlevel",
|
|
"absorbfireperlevel",
|
|
"absorblightningperlevel",
|
|
"absorbpoisonperlevel",
|
|
"thornsperlevel",
|
|
"extragoldperlevel",
|
|
"magicfindperlevel",
|
|
"regenstaminaperlevel",
|
|
"staminaperlevel",
|
|
"damagedemonperlevel",
|
|
"damageundeadperlevel",
|
|
"attackratingdemonperlevel",
|
|
"attackratingundeadperlevel",
|
|
"crushingblowperlevel",
|
|
"openwoundsperlevel",
|
|
"kickdamageperlevel",
|
|
"deadlystrikeperlevel",
|
|
"findgemsperlevel",
|
|
"replenishdurability",
|
|
"replenishquantity",
|
|
"extrastack",
|
|
"finditem",
|
|
"slashdamage",
|
|
"slashdamagepercent",
|
|
"crushdamage",
|
|
"crushdamagepercent",
|
|
"thrustdamage",
|
|
"thrustdamagepercent",
|
|
"absorbslash",
|
|
"absorbcrush",
|
|
"absorbthrust",
|
|
"absorbslashpercent",
|
|
"absorbcrushpercent",
|
|
"absorbthrustpercent",
|
|
"armorbytime",
|
|
"armorpercentbytime",
|
|
"lifebytime",
|
|
"manabytime",
|
|
"maxdamagebytime",
|
|
"maxdamagepercentbytime",
|
|
"strengthbytime",
|
|
"dexteritybytime",
|
|
"energybytime",
|
|
"vitalitybytime",
|
|
"attackratingbytime",
|
|
"attackratingpercentbytime",
|
|
"colddamagemaxbytime",
|
|
"firedamagemaxbytime",
|
|
"lightningdamagemaxbytime",
|
|
"poisondamagemaxbytime",
|
|
"resistcoldbytime",
|
|
"resistfirebytime",
|
|
"resistlightningbytime",
|
|
"resistpoisonbytime",
|
|
"absorbcoldbytime",
|
|
"absorbfirebytime",
|
|
"absorblightningbytime",
|
|
"absorbpoisonbytime",
|
|
"findgoldbytime",
|
|
"magicfindbytime",
|
|
"regenstaminabytime",
|
|
"staminabytime",
|
|
"damagedemonbytime",
|
|
"damageundeadbytime",
|
|
"attackratingdemonbytime",
|
|
"attackratingundeadbytime",
|
|
"crushingblowbytime",
|
|
"openwoundsbytime",
|
|
"kickdamagebytime",
|
|
"deadlystrikebytime",
|
|
"findgemsbytime",
|
|
"piercecold",
|
|
"piercefire",
|
|
"piercelightning",
|
|
"piercepoison",
|
|
"damagevsmonster",
|
|
"damagepercentvsmonster",
|
|
"attackratingvsmonster",
|
|
"attackratingpercentvsmonster",
|
|
"acvsmonster",
|
|
"acpercentvsmonster",
|
|
"firelength",
|
|
"burningmin",
|
|
"burningmax",
|
|
"progressivedamage",
|
|
"progressivesteal",
|
|
"progressiveother",
|
|
"progressivefire",
|
|
"progressivecold",
|
|
"progressivelightning",
|
|
"extracharges",
|
|
"progressiveattackrating",
|
|
"poisoncount",
|
|
"damageframerate",
|
|
"pierceidx",
|
|
"fireskilldamage",
|
|
"lightningskilldamage",
|
|
"coldskilldamage",
|
|
"poisonskilldamage",
|
|
"enemyfireresist",
|
|
"enemylightningresist",
|
|
"enemycoldresist",
|
|
"enemypoisonresist",
|
|
"passivecriticalstrike",
|
|
"passivedodge",
|
|
"passiveavoid",
|
|
"passiveevade",
|
|
"passivewarmth",
|
|
"passivemasterymeleeattackrating",
|
|
"passivemasterymeleedamage",
|
|
"passivemasterymeleecritical",
|
|
"passivemasterythrowattackrating",
|
|
"passivemasterythrowdamage",
|
|
"passivemasterythrowcritical",
|
|
"passiveweaponblock",
|
|
"summonresist",
|
|
"modifierlistskill",
|
|
"modifierlistlevel",
|
|
"lastsenthppercent",
|
|
"sourceunittype",
|
|
"sourceunitid",
|
|
"shortparam1",
|
|
"questitemdifficulty",
|
|
"passivemagicmastery",
|
|
"passivemagicpierce",
|
|
"skillcooldown",
|
|
"skillmissiledamagescale",
|
|
}
|
|
|
|
func (s ID) String() string {
|
|
return Stats[s]
|
|
}
|