Core/DB: refactor(creature_template): closes #1181 (#1322)

* refactor(creature_template): closes #1181

* chore: improve code readability
This commit is contained in:
Francesco Borzì
2019-01-20 11:39:32 +01:00
committed by Viste(Кирилл)
parent e8d73a553f
commit 7c7c5eb203
9 changed files with 37 additions and 27 deletions

View File

@@ -428,9 +428,9 @@ bool Creature::UpdateEntry(uint32 Entry, const CreatureData* data, bool changele
SetUInt32Value(UNIT_DYNAMIC_FLAGS, dynamicflags);
SetAttackTime(BASE_ATTACK, cInfo->baseattacktime);
SetAttackTime(OFF_ATTACK, cInfo->baseattacktime);
SetAttackTime(RANGED_ATTACK, cInfo->rangeattacktime);
SetAttackTime(BASE_ATTACK, cInfo->BaseAttackTime);
SetAttackTime(OFF_ATTACK, cInfo->BaseAttackTime);
SetAttackTime(RANGED_ATTACK, cInfo->RangeAttackTime);
SelectLevel(changelevel);

View File

@@ -66,8 +66,6 @@ enum CreatureFlagsExtra
#define MAX_CREATURE_QUEST_ITEMS 6
#define MAX_EQUIPMENT_ITEMS 3
// from `creature_template` table
struct CreatureTemplate
{
@@ -95,9 +93,9 @@ struct CreatureTemplate
float maxdmg;
uint32 dmgschool;
uint32 attackpower;
float dmg_multiplier;
uint32 baseattacktime;
uint32 rangeattacktime;
float DamageModifier;
uint32 BaseAttackTime;
uint32 RangeAttackTime;
uint32 unit_class; // enum Classes. Note only 4 classes are known for creatures.
uint32 unit_flags; // enum UnitFlags mask values
uint32 unit_flags2; // enum UnitFlags2 mask values
@@ -234,6 +232,8 @@ struct PointOfInterestLocale
StringVector IconName;
};
#define MAX_EQUIPMENT_ITEMS 3
struct EquipmentInfo
{
uint32 ItemEntry[MAX_EQUIPMENT_ITEMS];

View File

@@ -694,8 +694,8 @@ bool Guardian::InitStatsForLevel(uint8 petlevel)
SetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE, float(petlevel*50));
uint32 attackTime = BASE_ATTACK_TIME;
if (m_owner->getClass() != CLASS_HUNTER && cinfo->baseattacktime >= 1000)
attackTime = cinfo->baseattacktime;
if (m_owner->getClass() != CLASS_HUNTER && cinfo->BaseAttackTime >= 1000)
attackTime = cinfo->BaseAttackTime;
SetAttackTime(BASE_ATTACK, attackTime);
SetAttackTime(OFF_ATTACK, attackTime);

View File

@@ -1089,7 +1089,7 @@ void Creature::CalculateMinMaxDamage(WeaponAttackType attType, bool normalized,
float basePct = GetModifierValue(unitMod, BASE_PCT);
float totalValue = GetModifierValue(unitMod, TOTAL_VALUE);
float totalPct = addTotalPct ? GetModifierValue(unitMod, TOTAL_PCT) : 1.0f;
float dmgMultiplier = GetCreatureTemplate()->dmg_multiplier; // = dmg_multiplier * _GetDamageMod(rank);
float dmgMultiplier = GetCreatureTemplate()->DamageModifier; // = DamageModifier * _GetDamageMod(rank);
minDamage = ((weaponMinDamage + baseValue) * dmgMultiplier * basePct + totalValue) * totalPct;
maxDamage = ((weaponMaxDamage + baseValue) * dmgMultiplier * basePct + totalValue) * totalPct;