Core/Spells: Implemented target type TARGET_DEST_DEST_TARGET_TOWARDS_CASTER
Port From (https://github.com/TrinityCore/TrinityCore/commit/80e22230c34106753cd6be57d9a496642e47216d)
This commit is contained in:
@@ -2836,7 +2836,7 @@ namespace Framework.Constants
|
||||
Unk145 = 145,
|
||||
Unk146 = 146,
|
||||
Unk147 = 147,
|
||||
Unk148 = 148,
|
||||
DestDestTargetTowardsCaster = 148,
|
||||
Unk149 = 149,
|
||||
UnitOwnCritter = 150, // own battle pet from UNIT_FIELD_CRITTER
|
||||
Unk151 = 151,
|
||||
|
||||
@@ -1185,6 +1185,18 @@ namespace Game.Spells
|
||||
case Targets.DestDestGround:
|
||||
dest.Position.posZ = m_caster.GetMapHeight(dest.Position.GetPositionX(), dest.Position.GetPositionY(), dest.Position.GetPositionZ());
|
||||
break;
|
||||
case Targets.DestDestTargetTowardsCaster:
|
||||
{
|
||||
float dist = spellEffectInfo.CalcRadius(m_caster);
|
||||
Position pos = dest.Position;
|
||||
float angle = pos.GetAbsoluteAngle(m_caster) - m_caster.GetOrientation();
|
||||
|
||||
m_caster.MovePositionToFirstCollision(pos, dist, angle);
|
||||
pos.SetOrientation(m_caster.GetAbsoluteAngle(dest.Position));
|
||||
|
||||
dest.Relocate(pos);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
float angle = targetType.CalcDirectionAngle();
|
||||
|
||||
@@ -5198,7 +5198,7 @@ namespace Game.Spells
|
||||
new StaticData(SpellTargetObjectTypes.None, SpellTargetReferenceTypes.None, SpellTargetSelectionCategories.Nyi, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.None), // 145
|
||||
new StaticData(SpellTargetObjectTypes.None, SpellTargetReferenceTypes.None, SpellTargetSelectionCategories.Nyi, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.None), // 146
|
||||
new StaticData(SpellTargetObjectTypes.None, SpellTargetReferenceTypes.None, SpellTargetSelectionCategories.Nyi, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.None), // 147
|
||||
new StaticData(SpellTargetObjectTypes.None, SpellTargetReferenceTypes.None, SpellTargetSelectionCategories.Nyi, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.None), // 148
|
||||
new StaticData(SpellTargetObjectTypes.Dest, SpellTargetReferenceTypes.Dest, SpellTargetSelectionCategories.Default, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.None), // 148 TARGET_DEST_DEST_TARGET_TOWARDS_CASTER
|
||||
new StaticData(SpellTargetObjectTypes.Dest, SpellTargetReferenceTypes.Caster, SpellTargetSelectionCategories.Default, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.Random), // 149
|
||||
new StaticData(SpellTargetObjectTypes.Unit, SpellTargetReferenceTypes.Caster, SpellTargetSelectionCategories.Default, SpellTargetCheckTypes.Default, SpellTargetDirectionTypes.None), // 150 TARGET_UNIT_OWN_CRITTER
|
||||
new StaticData(SpellTargetObjectTypes.Unit, SpellTargetReferenceTypes.Caster, SpellTargetSelectionCategories.Area, SpellTargetCheckTypes.Enemy, SpellTargetDirectionTypes.None), // 151
|
||||
|
||||
Reference in New Issue
Block a user