diff --git a/TrinityCore/UnitMethods.h b/TrinityCore/UnitMethods.h index 320f0e4725..3b42f0a535 100644 --- a/TrinityCore/UnitMethods.h +++ b/TrinityCore/UnitMethods.h @@ -12,6 +12,55 @@ */ namespace LuaUnit { + /** + * Sets a mechanic immunity for the [Unit]. + * + *
+ * MECHANIC_NONE = 0, + * MECHANIC_CHARM = 1, + * MECHANIC_DISORIENTED = 2, + * MECHANIC_DISARM = 3, + * MECHANIC_DISTRACT = 4, + * MECHANIC_FEAR = 5, + * MECHANIC_GRIP = 6, + * MECHANIC_ROOT = 7, + * MECHANIC_SLOW_ATTACK = 8, + * MECHANIC_SILENCE = 9, + * MECHANIC_SLEEP = 10, + * MECHANIC_SNARE = 11, + * MECHANIC_STUN = 12, + * MECHANIC_FREEZE = 13, + * MECHANIC_KNOCKOUT = 14, + * MECHANIC_BLEED = 15, + * MECHANIC_BANDAGE = 16, + * MECHANIC_POLYMORPH = 17, + * MECHANIC_BANISH = 18, + * MECHANIC_SHIELD = 19, + * MECHANIC_SHACKLE = 20, + * MECHANIC_MOUNT = 21, + * MECHANIC_INFECTED = 22, + * MECHANIC_TURN = 23, + * MECHANIC_HORROR = 24, + * MECHANIC_INVULNERABILITY = 25, + * MECHANIC_INTERRUPT = 26, + * MECHANIC_DAZE = 27, + * MECHANIC_DISCOVERY = 28, + * MECHANIC_IMMUNE_SHIELD = 29, // Divine (Blessing) Shield/Protection and Ice Block + * MECHANIC_SAPPED = 30, + * MECHANIC_ENRAGED = 31 + *+ * + * @param int32 immunity : new value for the immunity mask + * @param bool apply = true : if true, the immunity is applied, otherwise it is removed + */ + int SetImmuneTo(lua_State* L, Unit* unit) + { + int32 immunity = Eluna::CHECKVAL