Some pet fixes (#119)

-Revert commit 6c4ca38d56a46746dcba6fcd7e54c74a8723926b
  -Reapply partially commit b757e9d090eca67fd2cbae4929b0742715bc9fa3
This commit is contained in:
H0zen 2016-04-28 11:43:17 +03:00 committed by Antz
parent b9df5b8f82
commit 4d28e2d9e7
3 changed files with 9 additions and 12 deletions

View File

@ -1080,9 +1080,9 @@ bool Pet::InitStatsForLevel(uint32 petlevel, Unit* owner)
SetModifierValue(UNIT_MOD_ARMOR, BASE_VALUE, float(petlevel * 50));
SetAttackTime(BASE_ATTACK, BASE_ATTACK_TIME);
SetAttackTime(OFF_ATTACK, BASE_ATTACK_TIME);
SetAttackTime(RANGED_ATTACK, BASE_ATTACK_TIME);
SetAttackTime(BASE_ATTACK, cinfo->MeleeBaseAttackTime);
SetAttackTime(OFF_ATTACK, cinfo->MeleeBaseAttackTime);
SetAttackTime(RANGED_ATTACK, cinfo->RangedBaseAttackTime);
SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0);
@ -1187,9 +1187,9 @@ bool Pet::InitStatsForLevel(uint32 petlevel, Unit* owner)
SetUInt32Value(UNIT_FIELD_PETNEXTLEVELEXP, sObjectMgr.GetXPForPetLevel(petlevel));
// these formula may not be correct; however, it is designed to be close to what it should be
// this makes dps 0.5 of pets level
SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, float(0.5 * GetAttackTime(BASE_ATTACK) * (petlevel - (petlevel / 4)) / 1000));
SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float(0.5 * GetAttackTime(BASE_ATTACK) * (petlevel + (petlevel / 4)) / 1000));
// damage is increased afterwards as strength and pet scaling modify attack power
SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, float(petlevel - (petlevel / 4)));
SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, float(petlevel + (petlevel / 4)));
// damage is modified afterwards based on creature attack power and attack speed
// stored standard pet stats are entry 1 in pet_levelinfo
PetLevelInfo const* pInfo = sObjectMgr.GetPetLevelInfo(creature_ID, petlevel);

View File

@ -1822,8 +1822,6 @@ void Unit::DealMeleeDamage(CalcDamageInfo* damageInfo, bool durabilityLoss)
uint32 damage = (*i)->GetModifier()->m_amount;
SpellEntry const* i_spellProto = (*i)->GetSpellProto();
//apply bonus damage from existing auras with id = 14 (SPELL_AURA_MOD_DAMAGE_TAKEN)
damage += SpellBaseDamageBonusTaken(GetSpellSchoolMask(i_spellProto));
pVictim->DealDamageMods(this, damage, NULL);
WorldPacket data(SMSG_SPELLDAMAGESHIELD, (8 + 8 + 4 + 4));
@ -5455,7 +5453,7 @@ int32 Unit::SpellBonusWithCoeffs(Unit* pCaster, SpellEntry const* spellProto, in
// Just don't waste time into this function if there's no benefit.
if (!benefit)
{ return total; }
// Distribute Damage over multiple effects, reduce by AoE
float coeff = 1.0f;
@ -5465,7 +5463,6 @@ int32 Unit::SpellBonusWithCoeffs(Unit* pCaster, SpellEntry const* spellProto, in
// Check for table values
else if (SpellBonusEntry const* bonus = sSpellMgr.GetSpellBonusData(spellProto->Id))
{
switch (damagetype)
{
case DOT:

View File

@ -38,6 +38,6 @@
#define WORLD_DB_VERSION_NR 21
#define WORLD_DB_STRUCTURE_NR 11
#define WORLD_DB_CONTENT_NR 1
#define WORLD_DB_UPDATE_DESCRIPTION "quest_relations"
#define WORLD_DB_CONTENT_NR 7
#define WORLD_DB_UPDATE_DESCRIPTION "Fix BG buffs"
#endif // __REVISION_H__