Core/DataStores: Updated to 11.0.0
Port From (https://github.com/TrinityCore/TrinityCore/commit/df511503815b7798c83acbffbb1ce5208f189ce7)
This commit is contained in:
@@ -1294,7 +1294,10 @@ namespace Game.Entities
|
||||
// 30% damage blocked, double blocked amount if block is critical
|
||||
damageInfo.Blocked = MathFunctions.CalculatePct(damageInfo.Damage, damageInfo.Target.GetBlockPercent(GetLevel()));
|
||||
if (damageInfo.Target.IsBlockCritical())
|
||||
{
|
||||
damageInfo.Blocked *= 2;
|
||||
damageInfo.Blocked *= (uint)GetTotalAuraMultiplier(AuraType.ModCriticalBlockAmount);
|
||||
}
|
||||
|
||||
damageInfo.OriginalDamage = damageInfo.Damage;
|
||||
damageInfo.Damage -= damageInfo.Blocked;
|
||||
|
||||
@@ -293,6 +293,8 @@ namespace Game.Entities
|
||||
// multiplicative bonus, for example Dispersion + Shadowform (0.10*0.85=0.085)
|
||||
TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(AuraType.ModDamagePercentTaken, (uint)spellProto.GetSchoolMask());
|
||||
|
||||
TakenTotalMod *= GetTotalAuraMultiplier(AuraType.ModDamageTakenByLabel, aurEff => spellProto.HasLabel((uint)aurEff.GetMiscValue()));
|
||||
|
||||
// From caster spells
|
||||
if (caster != null)
|
||||
{
|
||||
@@ -306,7 +308,7 @@ namespace Game.Entities
|
||||
return aurEff.GetCasterGUID() == caster.GetGUID() && aurEff.IsAffectingSpell(spellProto);
|
||||
});
|
||||
|
||||
TakenTotalMod *= GetTotalAuraMultiplier(AuraType.ModDamageTakenFromCasterByLabel, aurEff =>
|
||||
TakenTotalMod *= GetTotalAuraMultiplier(AuraType.ModSpellDamageFromCasterByLabel, aurEff =>
|
||||
{
|
||||
return aurEff.GetCasterGUID() == caster.GetGUID() && spellProto.HasLabel((uint)aurEff.GetMiscValue());
|
||||
});
|
||||
@@ -2182,7 +2184,10 @@ namespace Game.Entities
|
||||
// double blocked amount if block is critical
|
||||
float value = victim.GetBlockPercent(GetLevel());
|
||||
if (victim.IsBlockCritical())
|
||||
{
|
||||
value *= 2; // double blocked percent
|
||||
value *= GetTotalAuraMultiplier(AuraType.ModCriticalBlockAmount);
|
||||
}
|
||||
damageInfo.blocked = (uint)MathFunctions.CalculatePct(damage, value);
|
||||
if (damage <= damageInfo.blocked)
|
||||
{
|
||||
|
||||
@@ -262,7 +262,7 @@ namespace Game.Entities
|
||||
|
||||
var emotesEntry = CliDB.EmotesStorage.LookupByKey(emoteId);
|
||||
if (emotesEntry != null && spellVisualKitIds != null)
|
||||
if (emotesEntry.AnimId == (uint)Anim.MountSpecial || emotesEntry.AnimId == (uint)Anim.MountSelfSpecial)
|
||||
if (emotesEntry.AnimID == (uint)Anim.MountSpecial || emotesEntry.AnimID == (uint)Anim.MountSelfSpecial)
|
||||
packet.SpellVisualKitIDs.AddRange(spellVisualKitIds);
|
||||
|
||||
packet.SequenceVariation = sequenceVariation;
|
||||
|
||||
Reference in New Issue
Block a user