Core/Spells: SpellAttr8 fixups - use creator instead of owner for SPELL_ATTR8_ONLY_TARGET_IF_SAME_CREATOR and removed cast time requirement for channelled spell predicted healing

Port From (https://github.com/TrinityCore/TrinityCore/commit/930a08fe03a033a6bb30fb8c94a8490c4b77fe91)
This commit is contained in:
hondacrx
2024-02-01 21:10:24 -05:00
parent fc439dbed0
commit ad4aa7df0c
10 changed files with 26 additions and 9 deletions
@@ -1467,6 +1467,7 @@ namespace Game.Entities
public AreaTriggerCreateProperties GetCreateProperties() { return _areaTriggerCreateProperties; }
public override ObjectGuid GetCreatorGUID() { return GetCasterGuid(); }
public override ObjectGuid GetOwnerGUID() { return GetCasterGuid(); }
public ObjectGuid GetCasterGuid() { return m_areaTriggerData.Caster; }
+2 -2
View File
@@ -341,8 +341,8 @@ namespace Game.Entities
TimeSpan GetDuration() { return _duration; }
public uint GetTextureKitId() { return _textureKitId; }
public ObjectGuid GetCreatorGuid() { return _creatorGuid; }
public override ObjectGuid GetOwnerGUID() { return GetCreatorGuid(); }
public override ObjectGuid GetCreatorGUID() { return _creatorGuid; }
public override ObjectGuid GetOwnerGUID() { return GetCreatorGUID(); }
public override uint GetFaction() { return 0; }
public override float GetStationaryX() { return _stationaryPosition.GetPositionX(); }
+4 -3
View File
@@ -81,7 +81,7 @@ namespace Game.Entities
public override void Update(uint diff)
{
base.Update(diff);
loot?.Update();
}
@@ -284,6 +284,7 @@ namespace Game.Entities
public void SetCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { SetUpdateFieldFlagValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
public void RemoveCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
public void ReplaceAllCorpseDynamicFlags(CorpseDynFlags dynamicFlags) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.DynamicFlags), (uint)dynamicFlags); }
public override ObjectGuid GetCreatorGUID() { return m_corpseData.Owner; }
public override ObjectGuid GetOwnerGUID() { return m_corpseData.Owner; }
public void SetOwnerGUID(ObjectGuid owner) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.Owner), owner); }
public void SetPartyGUID(ObjectGuid partyGuid) { SetUpdateFieldValue(m_values.ModifyValue(m_corpseData).ModifyValue(m_corpseData.PartyGUID), partyGuid); }
@@ -317,8 +318,8 @@ namespace Game.Entities
public CellCoord GetCellCoord() { return _cellCoord; }
public void SetCellCoord(CellCoord cellCoord) { _cellCoord = cellCoord; }
public override Loot GetLootForPlayer(Player player) { return loot; }
public override Loot GetLootForPlayer(Player player) { return loot; }
public CorpseData m_corpseData;
public Loot loot;
+1
View File
@@ -305,6 +305,7 @@ namespace Game.Entities
public Unit GetCaster() { return _caster; }
public uint GetSpellId() { return m_dynamicObjectData.SpellID; }
public ObjectGuid GetCasterGUID() { return m_dynamicObjectData.Caster; }
public override ObjectGuid GetCreatorGUID() { return GetCasterGUID(); }
public override ObjectGuid GetOwnerGUID() { return GetCasterGUID(); }
public float GetRadius() { return m_dynamicObjectData.Radius; }
@@ -3678,6 +3678,7 @@ namespace Game.Entities
public Quaternion GetLocalRotation() { return m_localRotation; }
public long GetPackedLocalRotation() { return m_packedRotation; }
public override ObjectGuid GetCreatorGUID() { return m_gameObjectData.CreatedBy; }
public void SetOwnerGUID(ObjectGuid owner)
{
// Owner already found and different than expected owner - remove object from old owner
@@ -3121,6 +3121,7 @@ namespace Game.Entities
public virtual bool LoadFromDB(ulong spawnId, Map map, bool addToMap, bool allowDuplicate) { return true; }
public virtual ObjectGuid GetCreatorGUID() { return default; }
public virtual ObjectGuid GetOwnerGUID() { return default; }
public virtual ObjectGuid GetCharmerOrOwnerGUID() { return GetOwnerGUID(); }
+1
View File
@@ -185,6 +185,7 @@ namespace Game.Entities
base.ClearUpdateMask(remove);
}
public override ObjectGuid GetCreatorGUID() { return m_sceneObjectData.CreatedBy; }
public override ObjectGuid GetOwnerGUID() { return m_sceneObjectData.CreatedBy; }
public override uint GetFaction() { return 0; }
+1 -1
View File
@@ -2077,7 +2077,7 @@ namespace Game.Entities
udata.BuildPacket(out packet);
player.SendPacket(packet);
}
public ObjectGuid GetCreatorGUID() { return m_unitData.CreatedBy; }
public override ObjectGuid GetCreatorGUID() { return m_unitData.CreatedBy; }
public void SetCreatorGUID(ObjectGuid creator) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.CreatedBy), creator); }
public ObjectGuid GetMinionGUID() { return m_unitData.Summon; }
public void SetMinionGUID(ObjectGuid guid) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.Summon), guid); }