Core/Entities: Regenerated updatefields code with latest generator fixes

This commit is contained in:
Shauren
2021-02-15 00:19:35 +01:00
parent bb0194aede
commit 331b9ccd6a
5 changed files with 26 additions and 15 deletions

View File

@@ -23,6 +23,8 @@
#include "Player.h"
#include "ViewerDependentValues.h"
// This file is automatically generated, DO NOT EDIT
#if TRINITY_COMPILER == TRINITY_COMPILER_GNU
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-parameter"
@@ -690,7 +692,10 @@ void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fi
data << uint32(UnlockedEssenceMilestones[i]);
}
data.FlushBits();
data.WriteBit(Enabled);
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
{
data.WriteBit(Enabled);
}
for (std::size_t i = 0; i < SelectedEssences.size(); ++i)
{
SelectedEssences[i].WriteCreate(data, owner, receiver);
@@ -700,7 +705,7 @@ void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fi
void AzeriteItemData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const
{
UpdateMask<10> allowedMaskForTarget({ 0x0000001Fu });
UpdateMask<10> allowedMaskForTarget({ 0x0000001Du });
AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver);
}
@@ -708,13 +713,13 @@ void AzeriteItemData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fi
void AzeriteItemData::AppendAllowedFieldsMaskForFlag(UpdateMask<10>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
allowedMaskForTarget |= { 0x000003E0u };
allowedMaskForTarget |= { 0x000003E2u };
}
void AzeriteItemData::FilterDisallowedFieldsMaskForFlag(UpdateMask<10>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (!fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
changesMask &= { 0xFFFFFC1Fu };
changesMask &= { 0xFFFFFC1Du };
}
void AzeriteItemData::WriteUpdate(ByteBuffer& data, UpdateMask<10> const& changesMask, bool ignoreNestedChangesMask, AzeriteItem const* owner, Player const* receiver) const
@@ -1055,7 +1060,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi
for (std::size_t i = 0; i < 7; ++i)
{
data << int32(BonusResistanceMods[i]);
data << int32(PowerCostModifier[i]);
data << int32(ManaCostModifier[i]);
}
}
data << int32(BaseMana);
@@ -1084,7 +1089,7 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisi
data << float(Lifesteal);
data << float(MinRangedDamage);
data << float(MaxRangedDamage);
data << float(ManaCostModifierModifier);
data << float(ManaCostMultiplier);
data << float(MaxHealthModifier);
}
data << float(HoverHeight);
@@ -1606,7 +1611,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, UpdateMask<189> const& changesMask,
}
if (changesMask[101])
{
data << float(ManaCostModifierModifier);
data << float(ManaCostMultiplier);
}
if (changesMask[102])
{
@@ -1761,7 +1766,7 @@ void UnitData::WriteUpdate(ByteBuffer& data, UpdateMask<189> const& changesMask,
}
if (changesMask[182 + i])
{
data << int32(PowerCostModifier[i]);
data << int32(ManaCostModifier[i]);
}
}
}
@@ -1866,7 +1871,7 @@ void UnitData::ClearChangesMask()
Base::ClearChangesMask(Lifesteal);
Base::ClearChangesMask(MinRangedDamage);
Base::ClearChangesMask(MaxRangedDamage);
Base::ClearChangesMask(ManaCostModifierModifier);
Base::ClearChangesMask(ManaCostMultiplier);
Base::ClearChangesMask(MaxHealthModifier);
Base::ClearChangesMask(HoverHeight);
Base::ClearChangesMask(MinItemLevelCutoff);
@@ -1896,7 +1901,7 @@ void UnitData::ClearChangesMask()
Base::ClearChangesMask(StatNegBuff);
Base::ClearChangesMask(Resistances);
Base::ClearChangesMask(BonusResistanceMods);
Base::ClearChangesMask(PowerCostModifier);
Base::ClearChangesMask(ManaCostModifier);
_changesMask.ResetAll();
}

View File

@@ -25,6 +25,8 @@
#include "UpdateField.h"
#include "UpdateMask.h"
// This file is automatically generated, DO NOT EDIT
class AreaTrigger;
class AzeriteEmpoweredItem;
class AzeriteItem;
@@ -353,7 +355,7 @@ struct UnitData : public IsUpdateFieldStructureTag, public HasChangesMask<189>
UpdateField<float, 96, 98> Lifesteal;
UpdateField<float, 96, 99> MinRangedDamage;
UpdateField<float, 96, 100> MaxRangedDamage;
UpdateField<float, 96, 101> ManaCostModifierModifier;
UpdateField<float, 96, 101> ManaCostMultiplier;
UpdateField<float, 96, 102> MaxHealthModifier;
UpdateField<float, 96, 103> HoverHeight;
UpdateField<int32, 96, 104> MinItemLevelCutoff;
@@ -384,7 +386,7 @@ struct UnitData : public IsUpdateFieldStructureTag, public HasChangesMask<189>
UpdateFieldArray<int32, 4, 154, 163> StatNegBuff;
UpdateFieldArray<int32, 7, 167, 168> Resistances;
UpdateFieldArray<int32, 7, 167, 175> BonusResistanceMods;
UpdateFieldArray<int32, 7, 167, 182> PowerCostModifier;
UpdateFieldArray<int32, 7, 167, 182> ManaCostModifier;
void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;

View File

@@ -1087,7 +1087,7 @@ class TC_GAME_API Unit : public WorldObject
// returns the change in power
int32 ModifyPower(Powers power, int32 val);
void ApplyModPowerCostModifier(SpellSchools school, int32 mod, bool apply) { ApplyModUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::PowerCostModifier, school), mod, apply); }
void ApplyModManaCostModifier(SpellSchools school, int32 mod, bool apply) { ApplyModUpdateFieldValue(m_values.ModifyValue(&Unit::m_unitData).ModifyValue(&UF::UnitData::ManaCostModifier, school), mod, apply); }
uint32 GetBaseAttackTime(WeaponAttackType att) const;
void SetBaseAttackTime(WeaponAttackType att, uint32 val);

View File

@@ -4424,11 +4424,15 @@ void AuraEffect::HandleModPowerCost(AuraApplication const* aurApp, uint8 mode, b
if (!(mode & AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK))
return;
// handled in SpellInfo::CalcPowerCost, this is only for client UI
if (!(GetMiscValueB() & (1 << POWER_MANA)))
return;
Unit* target = aurApp->GetTarget();
for (int i = 0; i < MAX_SPELL_SCHOOL; ++i)
if (GetMiscValue() & (1 << i))
target->ApplyModPowerCostModifier(SpellSchools(i), GetAmount(), apply);
target->ApplyModManaCostModifier(SpellSchools(i), GetAmount(), apply);
}
void AuraEffect::HandleArenaPreparation(AuraApplication const* aurApp, uint8 mode, bool apply) const

View File

@@ -3835,7 +3835,7 @@ std::vector<SpellPowerCost> SpellInfo::CalcPowerCost(Unit const* caster, SpellSc
}
if (power->PowerType == POWER_MANA)
flatMod *= 1.0f + caster->m_unitData->ManaCostModifierModifier;
flatMod *= 1.0f + caster->m_unitData->ManaCostMultiplier; // this is wrong
powerCost += flatMod;
}