*Add UNIT_FLAG_NOT_ATTACKABLE_2. Not attackable, but can be hit by entry-target spells (I guess).

--HG--
branch : trunk
This commit is contained in:
megamage
2008-11-22 00:31:24 -06:00
parent c96f5f9a8f
commit 6a0ad5da50
5 changed files with 7 additions and 6 deletions
@@ -1914,7 +1914,7 @@ void boss_illidan_stormrageAI::Reset()
TransformCount = 0; TransformCount = 0;
m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21135); m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, 21135);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN2); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2);
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY, 0); m_creature->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_DISPLAY, 0);
@@ -227,7 +227,7 @@ struct TRINITY_DLL_DECL boss_magtheridonAI : public ScriptedAI
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN2); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2);
m_creature->addUnitState(UNIT_STAT_STUNNED); m_creature->addUnitState(UNIT_STAT_STUNNED);
m_creature->CastSpell(m_creature, SPELL_SHADOW_CAGE_C, true); m_creature->CastSpell(m_creature, SPELL_SHADOW_CAGE_C, true);
} }
@@ -94,7 +94,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
void Reset() void Reset()
{ {
m_creature->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_UNKNOWN2); m_creature->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NOT_ATTACKABLE_2);
if( Intro ) if( Intro )
Intro = true; Intro = true;
@@ -154,7 +154,7 @@ struct TRINITY_DLL_DECL boss_harbinger_skyrissAI : public ScriptedAI
void Aggro(Unit *who) void Aggro(Unit *who)
{ {
m_creature->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_UNKNOWN2); m_creature->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NOT_ATTACKABLE_2);
} }
void JustDied(Unit* Killer) void JustDied(Unit* Killer)
+2 -1
View File
@@ -8555,7 +8555,8 @@ bool Unit::isAttackableByAOE() const
if(!isAlive()) if(!isAlive())
return false; return false;
if(HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE)) if(HasFlag(UNIT_FIELD_FLAGS,
UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NOT_ATTACKABLE_2))
return false; return false;
if(GetTypeId()==TYPEID_PLAYER && ((Player *)this)->isGameMaster()) if(GetTypeId()==TYPEID_PLAYER && ((Player *)this)->isGameMaster())
+1 -1
View File
@@ -453,7 +453,7 @@ enum UnitFlags
UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR_EX5_NO_REAGENT_WHILE_PREP UNIT_FLAG_PREPARATION = 0x00000020, // don't take reagents for spells with SPELL_ATTR_EX5_NO_REAGENT_WHILE_PREP
UNIT_FLAG_UNKNOWN9 = 0x00000040, UNIT_FLAG_UNKNOWN9 = 0x00000040,
UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PVP_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE UNIT_FLAG_NOT_ATTACKABLE_1 = 0x00000080, // ?? (UNIT_FLAG_PVP_ATTACKABLE | UNIT_FLAG_NOT_ATTACKABLE_1) is NON_PVP_ATTACKABLE
UNIT_FLAG_UNKNOWN2 = 0x00000100, // 2.0.8 UNIT_FLAG_NOT_ATTACKABLE_2 = 0x00000100, // 2.0.8
UNIT_FLAG_UNKNOWN11 = 0x00000200, UNIT_FLAG_UNKNOWN11 = 0x00000200,
UNIT_FLAG_LOOTING = 0x00000400, // loot animation UNIT_FLAG_LOOTING = 0x00000400, // loot animation
UNIT_FLAG_PET_IN_COMBAT = 0x00000800, // in combat?, 2.0.8 UNIT_FLAG_PET_IN_COMBAT = 0x00000800, // in combat?, 2.0.8