Jump to content

[patch][8545] Implementing implicit target 54


Recommended Posts

Posted

What bug does the patch fix? What features does the patch add?

Implementing implicit target 54

TARGET_LARGE_FRONTAL_CONE(54) - 26 spells

Thanks to wiping on Ancient Core Hound (19272) in old MC I actually know its degree :)

id    spellname_0
19272    Lava Breath
21333    Lava Breath
24820    Shadow Bolt Whirl
24821    Shadow Bolt Whirl
24822    Shadow Bolt Whirl
24823    Shadow Bolt Whirl
24835    Shadow Bolt Whirl
24836    Shadow Bolt Whirl
24837    Shadow Bolt Whirl
24838    Shadow Bolt Whirl
26102    Sand Blast
27993    Stomp
30815    Backward Lunge
36654    Fel Breath
38813    Fel Breath
38814    Lava Breath
39631    Shadow Bolt Whirl
39632    Shadow Bolt Whirl
39836    Horseshoe Swipe
50785    Energize Cores
54069    Energize Cores
56251    Energize Cores
59372    Energize Cores
61407    Energize Cores
62136    Energize Cores

For which repository revision was the patch created?

8542

Who has been writing this patch? Please include either forum user names or email addresses.

Me

diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index d8ac7fb..ed60f0e 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -1047,6 +1047,7 @@ enum Targets
    TARGET_DYNAMIC_OBJECT_RIGHT_SIDE   = 50,
    TARGET_AREAEFFECT_CUSTOM_2         = 52,
    TARGET_CURRENT_ENEMY_COORDINATES   = 53,                // set unit coordinates as dest, only 16 target B imlemented
+    TARGET_LARGE_FRONTAL_CONE          = 54,
    TARGET_ALL_RAID_AROUND_CASTER      = 56,
    TARGET_SINGLE_FRIEND_2             = 57,
    TARGET_NARROW_FRONTAL_CONE         = 60,
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 3137f39..df4f802 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1749,6 +1749,9 @@ void Spell::SetTargetMap(uint32 effIndex,uint32 targetMode,UnitList& TagUnitMap)
            FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(),radius,inFront ? PUSH_IN_FRONT : PUSH_IN_BACK,SPELL_TARGETS_AOE_DAMAGE);
            break;
        }
+        case TARGET_LARGE_FRONTAL_CONE:
+            FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_90, SPELL_TARGETS_AOE_DAMAGE);
+            break;
        case TARGET_NARROW_FRONTAL_CONE:
            FillAreaTargets(TagUnitMap,m_caster->GetPositionX(), m_caster->GetPositionY(), radius, PUSH_IN_FRONT_15, SPELL_TARGETS_AOE_DAMAGE);
            break;
diff --git a/src/game/Spell.h b/src/game/Spell.h
index b4c42b1..25d34c0 100644
--- a/src/game/Spell.h
+++ b/src/game/Spell.h
@@ -83,6 +83,7 @@ enum SpellCastFlags
enum SpellNotifyPushType
{
    PUSH_IN_FRONT,
+    PUSH_IN_FRONT_90,
    PUSH_IN_FRONT_30,
    PUSH_IN_FRONT_15,
    PUSH_IN_BACK,
@@ -711,6 +712,10 @@ namespace MaNGOS
                        if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, 2*M_PI/3 ))
                            i_data->push_back(itr->getSource());
                        break;
+                    case PUSH_IN_FRONT_90:
+                        if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, M_PI/2 ))
+                            i_data->push_back(itr->getSource());
+                        break;
                    case PUSH_IN_FRONT_30:
                        if(i_spell.GetCaster()->isInFrontInMap((Unit*)(itr->getSource()), i_radius, M_PI/6 ))
                            i_data->push_back(itr->getSource());

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use