Jump to content
  • Shaman Totems


    Fresh
    • Main Category: Core / Mangos Daemon
      Sub-Category: Spell
      Version: 22.1

    Totems have one really big problem. How ?  When I place Trap and in Trap radius I place Totem , Totem disappear Trap and got immune. I think Traps have some specific Area of Effect Immunity. Why ? Because when i use some other Area of Effect for example Volley, Totem dont got immune and isnt destroyed. For correct functionality ,Totems must have specific Area of Effect Immunity vs Traps.

    1. Trap dissapeared with totem.WoWScrnShot_082617_224626.thumb.jpg.191ee3c7e93f5ecaf2498196e7b4e4a8.jpg

    2. Totem ignore Volley(Area of Effect)

    WoWScrnShot_082617_232219.thumb.jpg.304c65d742a6386bbcbde3328e9ce213.jpg

     


    User Feedback

    Recommended Comments

    I have one simple fix for this issue. Traps need to check target before trigger: GameObject.cpp - Trap trigger ,so we need to improve conditions in AnyUnfriendlyUnitInObjectRangeCheck ==> GridNotifiers.h

    Code:

    class AnyUnfriendlyUnitInObjectRangeCheck
        {
            public:
                AnyUnfriendlyUnitInObjectRangeCheck(WorldObject const* obj, float range) : i_obj(obj), i_range(range)
                {
                    i_controlledByPlayer = obj->IsControlledByPlayer();
                }
                WorldObject const& GetFocusObject() const { return *i_obj; }
                bool operator()(Unit* u)
                {
                    +// ignore totems
                    +if (u->GetTypeId() == TYPEID_UNIT && ((Creature*)u)->IsTotem())
                    +{
                    +    return false;
                    +}

                    if (u->IsAlive() && (i_controlledByPlayer ? !i_obj->IsFriendlyTo(u) : i_obj->IsHostileTo(u))
                        && i_obj->IsWithinDistInMap(u, i_range))
                        { return true; }
                    else
                    {
                        return false;
                    }
                }
            private:
                WorldObject const* i_obj;
                bool i_controlledByPlayer;
                float i_range;
        };

     

     

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • 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