fix(DB/Core) Fix the CLS damage system and update creature_classlevelstats (#4749)

* Fix the CLS dmg system

Thanks to TC: ccfa82e7d5
This commit is contained in:
Hacki95
2021-03-20 00:26:30 +01:00
committed by GitHub
parent 05be6e403f
commit 2031e55ec7
8 changed files with 3285 additions and 150 deletions

View File

@@ -1249,8 +1249,7 @@ void Creature::SelectLevel(bool changelevel)
// damage
// pussywizard: disabled until it's fixed
/*float basedamage = stats->GenerateBaseDamage(cInfo);
float basedamage = stats->GenerateBaseDamage(cInfo);
float weaponBaseMinDamage = basedamage;
float weaponBaseMaxDamage = basedamage * 1.5;
@@ -1265,19 +1264,7 @@ void Creature::SelectLevel(bool changelevel)
SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, weaponBaseMaxDamage);
SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, stats->AttackPower);
SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, stats->RangedAttackPower);*/
SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, cInfo->mindmg);
SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, cInfo->maxdmg);
SetBaseWeaponDamage(OFF_ATTACK, MINDAMAGE, cInfo->mindmg);
SetBaseWeaponDamage(OFF_ATTACK, MAXDAMAGE, cInfo->maxdmg);
SetBaseWeaponDamage(RANGED_ATTACK, MINDAMAGE, cInfo->minrangedmg);
SetBaseWeaponDamage(RANGED_ATTACK, MAXDAMAGE, cInfo->maxrangedmg);
SetModifierValue(UNIT_MOD_ATTACK_POWER, BASE_VALUE, cInfo->attackpower);
SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, cInfo->rangedattackpower);
SetModifierValue(UNIT_MOD_ATTACK_POWER_RANGED, BASE_VALUE, stats->RangedAttackPower);
sScriptMgr->Creature_SelectLevel(cInfo, this);
}

View File

@@ -99,13 +99,12 @@ struct CreatureTemplate
float speed_run;
float scale;
uint32 rank;
float mindmg;
float maxdmg;
uint32 dmgschool;
uint32 attackpower;
float DamageModifier;
uint32 BaseAttackTime;
uint32 RangeAttackTime;
float BaseVariance;
float RangeVariance;
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
@@ -115,9 +114,6 @@ struct CreatureTemplate
uint32 trainer_spell;
uint32 trainer_class;
uint32 trainer_race;
float minrangedmg;
float maxrangedmg;
uint32 rangedattackpower;
uint32 type; // enum CreatureType values
uint32 type_flags; // enum CreatureTypeFlags mask values
uint32 lootid;