Merge branch 'azerothcore:master' into Playerbot
This commit is contained in:
@@ -266,7 +266,7 @@ public:
|
||||
{
|
||||
uint32 factionid = target->GetFaction();
|
||||
uint32 flag = target->GetUnitFlags();
|
||||
uint32 npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS);
|
||||
uint32 npcflag = target->GetNpcFlags();
|
||||
uint32 dyflag = target->GetDynamicFlags();
|
||||
handler->PSendSysMessage(LANG_CURRENT_FACTION, target->GetGUID().GetCounter(), factionid, flag, npcflag, dyflag);
|
||||
return true;
|
||||
@@ -274,7 +274,7 @@ public:
|
||||
|
||||
uint32 factionid = factionID.value();
|
||||
UnitFlags flag;
|
||||
uint32 npcflag;
|
||||
NPCFlags npcflag;
|
||||
uint32 dyflag;
|
||||
|
||||
auto pflag = flagID;
|
||||
@@ -285,9 +285,9 @@ public:
|
||||
|
||||
auto pnpcflag = npcFlagID;
|
||||
if (!pnpcflag)
|
||||
npcflag = target->GetUInt32Value(UNIT_NPC_FLAGS);
|
||||
npcflag = target->GetNpcFlags();
|
||||
else
|
||||
npcflag = *npcFlagID;
|
||||
npcflag = NPCFlags(*npcFlagID);
|
||||
|
||||
auto pdyflag = dynamicFlagID;
|
||||
if (!pdyflag)
|
||||
@@ -306,7 +306,7 @@ public:
|
||||
|
||||
target->SetFaction(factionid);
|
||||
target->ReplaceAllUnitFlags(flag);
|
||||
target->SetUInt32Value(UNIT_NPC_FLAGS, npcflag);
|
||||
target->ReplaceAllNpcFlags(npcflag);
|
||||
target->ReplaceAllDynamicFlags(dyflag);
|
||||
|
||||
return true;
|
||||
|
||||
@@ -524,7 +524,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, NPCFlags(npcFlags));
|
||||
creature->ReplaceAllNpcFlags(NPCFlags(npcFlags));
|
||||
|
||||
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_UPD_CREATURE_NPCFLAG);
|
||||
|
||||
@@ -589,7 +589,7 @@ public:
|
||||
|
||||
CreatureTemplate const* cInfo = target->GetCreatureTemplate();
|
||||
uint32 faction = target->GetFaction();
|
||||
uint32 npcflags = target->GetUInt32Value(UNIT_NPC_FLAGS);
|
||||
uint32 npcflags = target->GetNpcFlags();
|
||||
uint32 mechanicImmuneMask = cInfo->MechanicImmuneMask;
|
||||
uint32 spellSchoolImmuneMask = cInfo->SpellSchoolImmuneMask;
|
||||
uint32 displayid = target->GetDisplayId();
|
||||
|
||||
+3
-3
@@ -136,7 +136,7 @@ public:
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
CloseGossipMenuFor(player);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
// Start encounter
|
||||
InstanceScript* instance = creature->GetInstanceScript();
|
||||
if (instance)
|
||||
@@ -183,11 +183,11 @@ public:
|
||||
|
||||
if (instance->GetData(TYPE_TOMB_OF_SEVEN) == DONE) // what is this trying to do? Probably some kind of crash recovery
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
}
|
||||
else
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -220,7 +220,7 @@ class go_suppression_device : public GameObjectScript
|
||||
if (me->GetGoState() == GO_STATE_ACTIVE)
|
||||
me->SetGoState(GO_STATE_READY);
|
||||
me->SetLootState(GO_READY);
|
||||
me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5000);
|
||||
me->Respawn();
|
||||
}
|
||||
@@ -231,7 +231,7 @@ class go_suppression_device : public GameObjectScript
|
||||
return;
|
||||
_active = false;
|
||||
me->SetGoState(GO_STATE_ACTIVE);
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
_events.CancelEvent(EVENT_SUPPRESSION_CAST);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -343,7 +343,7 @@ class go_chromaggus_lever : public GameObjectScript
|
||||
_instance->HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
}
|
||||
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
|
||||
me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_IN_USE);
|
||||
me->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -256,7 +256,7 @@ public:
|
||||
|
||||
me->SetVisible(true);
|
||||
me->SetPhaseMask(1, true);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 1);
|
||||
me->ReplaceAllNpcFlags(NPCFlags(1));
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SetStandState(UNIT_STAND_STATE_SIT_HIGH_CHAIR);
|
||||
me->RemoveAura(SPELL_NEFARIANS_BARRIER);
|
||||
@@ -472,7 +472,7 @@ public:
|
||||
Talk(SAY_GAMESBEGIN_1);
|
||||
events.ScheduleEvent(EVENT_START_EVENT, 4000);
|
||||
me->SetFaction(FACTION_DRAGONFLIGHT_BLACK);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
|
||||
// Due to Nefarius despawning himself on Vael, we need to update the guid on instance to prevent unwanted behaviours as encounter not resetting at all.
|
||||
|
||||
+14
-17
@@ -79,7 +79,6 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
_Reset();
|
||||
_died = false;
|
||||
_charmerGUID.Clear();
|
||||
secondPhase = false;
|
||||
summons.DespawnAll();
|
||||
@@ -92,11 +91,23 @@ public:
|
||||
{
|
||||
_JustDied();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Respawn shorty in case of failure during phase 1.
|
||||
me->SetCorpseRemoveTime(25);
|
||||
me->SetRespawnTime(30);
|
||||
me->SaveRespawnTime();
|
||||
|
||||
// Might not be required, safe measure.
|
||||
me->SetLootRecipient(nullptr);
|
||||
|
||||
instance->SetData(DATA_EGG_EVENT, FAIL);
|
||||
}
|
||||
}
|
||||
|
||||
bool CanAIAttack(Unit const* target) const override
|
||||
{
|
||||
return !(target->GetTypeId() == TYPEID_UNIT && !secondPhase);
|
||||
return !(target->GetTypeId() == TYPEID_UNIT && !secondPhase) && !target->HasAura(SPELL_CONFLAGRATION);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*victim*/) override
|
||||
@@ -191,24 +202,11 @@ public:
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (!secondPhase && damage >= me->GetHealth() && !_died)
|
||||
if (!secondPhase && damage >= me->GetHealth())
|
||||
{
|
||||
// This is required because he kills himself with the explosion spell, causing a loop.
|
||||
_died = true;
|
||||
|
||||
Talk(SAY_DEATH);
|
||||
DoCastAOE(SPELL_EXPLODE_ORB);
|
||||
DoCastAOE(SPELL_EXPLOSION);
|
||||
|
||||
// Respawn shorty in case of failure during phase 1.
|
||||
me->SetCorpseRemoveTime(25);
|
||||
me->SetRespawnTime(30);
|
||||
me->SaveRespawnTime();
|
||||
|
||||
// Might not be required, safe measure.
|
||||
me->SetLootRecipient(nullptr);
|
||||
|
||||
instance->SetData(DATA_EGG_EVENT, FAIL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +254,6 @@ public:
|
||||
|
||||
private:
|
||||
bool secondPhase;
|
||||
bool _died;
|
||||
ObjectGuid _charmerGUID;
|
||||
GuidVector _summonGUIDS;
|
||||
};
|
||||
|
||||
+3
-3
@@ -89,8 +89,8 @@ public:
|
||||
HasYelled = false;
|
||||
_introDone = false;
|
||||
_burningAdrenalineCast = 0;
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
void BeginSpeech(Unit* target)
|
||||
{
|
||||
PlayerGUID = target->GetGUID();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
_eventsIntro.ScheduleEvent(EVENT_SPEECH_1, 1000);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -169,7 +169,7 @@ public:
|
||||
case GO_PORTCULLIS_CHROMAGGUS:
|
||||
AddDoor(go, true);
|
||||
chromaggusDoorGUID = go->GetGUID();
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
+3
-3
@@ -181,7 +181,7 @@ public:
|
||||
{
|
||||
events.SetPhase(PHASE_NONE);
|
||||
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetFaction(FACTION_MAJORDOMO_FRIENDLY);
|
||||
}
|
||||
}
|
||||
@@ -504,7 +504,7 @@ public:
|
||||
{
|
||||
if (events.IsInPhase(PHASE_DEFEAT_OUTRO) && spellInfo->Id == SPELL_TELEPORT_SELF)
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetHomePosition(MajordomoRagnaros);
|
||||
me->NearTeleportTo(MajordomoRagnaros.GetPositionX(), MajordomoRagnaros.GetPositionY(), MajordomoRagnaros.GetPositionZ(), MajordomoRagnaros.GetOrientation());
|
||||
events.SetPhase(PHASE_NONE);
|
||||
@@ -558,7 +558,7 @@ public:
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->AI()->Talk(SAY_RAG_SUM_1, player);
|
||||
creature->AI()->DoAction(ACTION_START_RAGNAROS_INTRO);
|
||||
break;
|
||||
|
||||
@@ -143,7 +143,7 @@ public:
|
||||
HandleGameObject(m_uiStageDoorLeftGUID, true);
|
||||
HandleGameObject(m_uiStageDoorRightGUID, true);
|
||||
if (GameObject* sideEntrance = instance->GetGameObject(m_uiSideEntranceDoor))
|
||||
sideEntrance->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
sideEntrance->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
instance->UpdateEncounterState(ENCOUNTER_CREDIT_KILL_CREATURE, 16812, nullptr);
|
||||
}
|
||||
break;
|
||||
@@ -187,9 +187,9 @@ public:
|
||||
case GO_MASSIVE_DOOR:
|
||||
m_uiMassiveDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_ARAN) != IN_PROGRESS)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->SetGameObjectFlag(GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
break;
|
||||
case GO_GAMESMAN_HALL_DOOR:
|
||||
m_uiGamesmansDoor = go->GetGUID();
|
||||
@@ -200,9 +200,9 @@ public:
|
||||
case GO_NETHERSPACE_DOOR:
|
||||
m_uiNetherspaceDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_PRINCE) != IN_PROGRESS)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->SetGameObjectFlag(GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
break;
|
||||
case GO_MASTERS_TERRACE_DOOR:
|
||||
MastersTerraceDoor[0] = go->GetGUID();
|
||||
@@ -213,9 +213,9 @@ public:
|
||||
case GO_SIDE_ENTRANCE_DOOR:
|
||||
m_uiSideEntranceDoor = go->GetGUID();
|
||||
if (GetBossState(DATA_OPERA_PERFORMANCE) == DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->SetGameObjectFlag(GO_FLAG_LOCKED);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
break;
|
||||
case GO_DUST_COVERED_CHEST:
|
||||
DustCoveredChest = go->GetGUID();
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
HandleGameObject(KaelDoorGUID, data != IN_PROGRESS);
|
||||
if (data == DONE)
|
||||
if (GameObject* escapeOrb = instance->GetGameObject(EscapeOrbGUID))
|
||||
escapeOrb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
escapeOrb->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
Encounter[identifier] = data;
|
||||
break;
|
||||
}
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
break;
|
||||
case GO_ESCAPE_ORB:
|
||||
if (GetData(DATA_KAELTHAS_EVENT) == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
EscapeOrbGUID = go->GetGUID();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -547,7 +547,7 @@ public:
|
||||
summons.DespawnAll();
|
||||
|
||||
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->SetVisible(true);
|
||||
me->setActive(true);
|
||||
@@ -623,7 +623,7 @@ public:
|
||||
break;
|
||||
case EVENT_START_COUNTDOWN_5:
|
||||
battleStarted = ENCOUNTER_STATE_FIGHT;
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
Talk(SAY_LIGHT_OF_DAWN04); // Wrong order in DB!
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_TIME, 0);
|
||||
SendUpdateWorldState(WORLD_STATE_COUNTDOWN_ENABLE, 0);
|
||||
@@ -1131,7 +1131,7 @@ public:
|
||||
if (i->GetSource()->IsAlive() && me->IsWithinDistInMap(i->GetSource(), 100))
|
||||
i->GetSource()->CastSpell(i->GetSource(), SPELL_THE_LIGHT_OF_DAWN_Q, false);
|
||||
}
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
break;
|
||||
}
|
||||
case EVENT_OUTRO_SCENE_61:
|
||||
|
||||
@@ -781,7 +781,7 @@ public:
|
||||
if (player->HasAura(AURA_ASHBRINGER) && !SayAshbringer)
|
||||
{
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetSheath(SHEATH_STATE_UNARMED);
|
||||
me->CastSpell(me, 57767, true);
|
||||
me->SetDisplayId(16179);
|
||||
|
||||
@@ -97,7 +97,7 @@ public:
|
||||
{
|
||||
if (menuId == GOSSIP_MENU_HUMMEL && gossipListId == GOSSIP_OPTION_START)
|
||||
{
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
CloseGossipMenuFor(player);
|
||||
DoAction(ACTION_START_EVENT);
|
||||
}
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
summons.DespawnAll();
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SummonCreatureGroup(1);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* summon) override
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
if (gameobject->GetEntry() < GO_ATALAI_STATUE1 + _statuePhase)
|
||||
{
|
||||
instance->SummonGameObject(GO_ATALAI_LIGHT2, gameobject->GetPositionX(), gameobject->GetPositionY(), gameobject->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
gameobject->SetUInt32Value(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->ReplaceAllGameObjectFlags(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_ATALAI_IDOL:
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
break;
|
||||
case GO_IDOL_OF_HAKKAR:
|
||||
if (_encounters[TYPE_ATAL_ALARION] == DONE)
|
||||
gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_FORCEFIELD:
|
||||
_forcefieldGUID = gameobject->GetGUID();
|
||||
|
||||
@@ -184,7 +184,7 @@ public:
|
||||
{
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i)))
|
||||
orb->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
orb->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
@@ -643,9 +643,9 @@ public:
|
||||
{
|
||||
if (GameObject* orb = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1 + i)))
|
||||
{
|
||||
if (orb->HasFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE))
|
||||
if (orb->HasGameObjectFlag(GO_FLAG_NOT_SELECTABLE))
|
||||
{
|
||||
orb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
orb->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
if (Creature* trigger = me->SummonTrigger(orb->GetPositionX(), orb->GetPositionY(), orb->GetPositionZ(), 0, 10 * MINUTE * IN_MILLISECONDS))
|
||||
{
|
||||
trigger->CastSpell(trigger, SPELL_RING_OF_BLUE_FLAMES, true, nullptr, nullptr, trigger->GetGUID());
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
if (_encounters[DATA_IRONAYA_DOORS] == DONE)
|
||||
{
|
||||
HandleGameObject(ObjectGuid::Empty, true, gameobject);
|
||||
gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_TEMPLE_DOOR:
|
||||
|
||||
@@ -195,7 +195,7 @@ public:
|
||||
if (Unit* Hostage = i_pl->SummonCreature(HostageInfo[num].npc, HostageInfo[num].x, HostageInfo[num].y, HostageInfo[num].z, HostageInfo[num].o, TEMPSUMMON_DEAD_DESPAWN, 0))
|
||||
{
|
||||
Hostage->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
Hostage->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
Hostage->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -503,10 +503,10 @@ public:
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
CloseGossipMenuFor(player);
|
||||
|
||||
if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
InstanceScript* instance = creature->GetInstanceScript();
|
||||
if (instance)
|
||||
@@ -626,7 +626,7 @@ public:
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
me->SetFacingToObject(player);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
Talk(SAY_HARRISON_0);
|
||||
_gongEvent = GONG_EVENT_1;
|
||||
_gongTimer = 4000;
|
||||
@@ -671,14 +671,14 @@ public:
|
||||
break;
|
||||
case GONG_EVENT_3:
|
||||
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
|
||||
gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gong->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
_gongEvent = GONG_EVENT_4;
|
||||
_gongTimer = 105000;
|
||||
break;
|
||||
case GONG_EVENT_4:
|
||||
me->RemoveAura(SPELL_BANGING_THE_GONG);
|
||||
if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetGuidData(GO_STRANGE_GONG)))
|
||||
gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gong->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
// trigger or gong will need to be scripted to set IN_PROGRESS after enough hits.
|
||||
// This is temp workaround.
|
||||
@@ -763,7 +763,7 @@ public:
|
||||
_gongTimer = 6000;
|
||||
break;
|
||||
case GONG_EVENT_11:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
instance->SetData(DATA_GONGEVENT, NOT_STARTED);
|
||||
_gongEvent = 0;
|
||||
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
{
|
||||
BossAI::EnterEvadeMode();
|
||||
if (GameObject* object = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_GONG_OF_BETHEKK)))
|
||||
object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
object->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
me->DespawnOrUnsummon(4000);
|
||||
}
|
||||
|
||||
@@ -428,7 +428,7 @@ public:
|
||||
{
|
||||
if (go->GetInstanceScript() && !go->FindNearestCreature(NPC_ARLOKK, 25.0f))
|
||||
{
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
go->SendCustomAnim(0);
|
||||
go->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 600000);
|
||||
}
|
||||
|
||||
@@ -83,9 +83,9 @@ public:
|
||||
case GO_GONG_OF_BETHEKK:
|
||||
_goGongOfBethekkGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_ARLOKK) == DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
else
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
_playerGUID.Clear();
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
|
||||
void SetData(uint32 faction, uint32) override
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
void SetGUID(ObjectGuid guid, int32) override
|
||||
{
|
||||
_playerGUID = guid;
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
events.Reset();
|
||||
summons.DespawnAll();
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
morlenGUID.Clear();
|
||||
summons.DespawnAll();
|
||||
if (Creature* c = me->FindNearestCreature(NPC_THALORIEN_REMAINS, 100.0f, true))
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_CHECK_PLAYER, 5000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_SOLDIERS, 0);
|
||||
@@ -611,7 +611,7 @@ public:
|
||||
if (Creature* c = me->FindNearestCreature(NPC_SUNWELL_VISUAL_BUNNY, 60.0f, true))
|
||||
c->DespawnOrUnsummon(1);
|
||||
if (GameObject* go = me->FindNearestGameObject(GO_QUEL_DELAR, 60.0f))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
me->SetWalk(true);
|
||||
if (me->GetCreatureData())
|
||||
me->GetMotionMaster()->MovePoint(0, me->GetCreatureData()->posX, me->GetCreatureData()->posY, me->GetCreatureData()->posZ);
|
||||
|
||||
@@ -1031,7 +1031,7 @@ public:
|
||||
{
|
||||
me->SetCorpseDelay(1);
|
||||
me->SetRespawnTime(1);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
bStepping = false;
|
||||
step = 0;
|
||||
@@ -2376,7 +2376,7 @@ public:
|
||||
me->Mount(MODEL_WHITE_WULF);
|
||||
me->SetCorpseDelay(1);
|
||||
me->SetRespawnTime(1);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_SYLVANAS_BUFF, true);
|
||||
|
||||
bStepping = false;
|
||||
@@ -3899,8 +3899,8 @@ public:
|
||||
JumpToNextStep(5 * IN_MILLISECONDS);
|
||||
break;
|
||||
case 163:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
Talk(THRALL_SAY_THRONE_11);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_ROYAL_QUARTER_FIGHT_H, 0);
|
||||
UpdateWorldState(me->GetMap(), WORLD_STATE_INNER_SANKTUM_FIGHT_H, 0);
|
||||
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
case 17:
|
||||
SetEscortPaused(true);
|
||||
player->GroupEventHappens(QUEST_TOME_VALOR, me);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->DespawnOrUnsummon(1s, 1s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -72,17 +72,17 @@ public:
|
||||
case GO_FIRE_OF_AKU_MAI_4:
|
||||
if (_encounters[TYPE_AKU_MAI_EVENT] == DONE)
|
||||
{
|
||||
gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
gameobject->SetGameObjectFlag(GO_FLAG_IN_USE);
|
||||
gameobject->SetGoState(GO_STATE_ACTIVE);
|
||||
}
|
||||
break;
|
||||
case GO_SHRINE_OF_GELIHAST:
|
||||
if (_encounters[TYPE_GELIHAST] == DONE)
|
||||
gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_ALTAR_OF_THE_DEEPS:
|
||||
if (_encounters[TYPE_AKU_MAI] == DONE)
|
||||
gameobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_AKU_MAI_DOOR:
|
||||
if (IsFireEventDone() && _encounters[TYPE_AKU_MAI_EVENT] == DONE)
|
||||
|
||||
@@ -387,7 +387,7 @@ void hyjalAI::Reset()
|
||||
Debug = false;
|
||||
|
||||
//Flags
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
//Initialize spells
|
||||
memset(Spells, 0, sizeof(Spell) * HYJAL_AI_MAX_SPELLS);
|
||||
@@ -587,7 +587,7 @@ void hyjalAI::StartEvent(Player* player)
|
||||
CheckTimer = 5000;
|
||||
PlayerGUID = player->GetGUID();
|
||||
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
instance->DoUpdateWorldState(WORLD_STATE_WAVES, 0);
|
||||
instance->DoUpdateWorldState(WORLD_STATE_ENEMY, 0);
|
||||
@@ -619,7 +619,7 @@ void hyjalAI::Retreat()
|
||||
Creature* JainaDummy = me->SummonCreature(JAINA, JainaDummySpawn[0][0], JainaDummySpawn[0][1], JainaDummySpawn[0][2], JainaDummySpawn[0][3], TEMPSUMMON_TIMED_DESPAWN, 60000);
|
||||
if (JainaDummy)
|
||||
{
|
||||
JainaDummy->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
JainaDummy->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
CAST_AI(hyjalAI, JainaDummy->AI())->IsDummy = true;
|
||||
DummyGuid = JainaDummy->GetGUID();
|
||||
}
|
||||
@@ -629,7 +629,7 @@ void hyjalAI::Retreat()
|
||||
}
|
||||
SpawnVeins();
|
||||
Overrun = true;
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);//cant talk after overrun event started
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);//cant talk after overrun event started
|
||||
}
|
||||
|
||||
void hyjalAI::SpawnVeins()
|
||||
@@ -823,7 +823,7 @@ void hyjalAI::UpdateAI(uint32 diff)
|
||||
}
|
||||
EventBegun = false;
|
||||
CheckTimer = 0;
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
BossGUID[i].Clear();
|
||||
instance->DoUpdateWorldState(WORLD_STATE_ENEMY, 0); // Reset world state for enemies to disable it
|
||||
}
|
||||
|
||||
+17
-17
@@ -292,13 +292,13 @@ public:
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||
{
|
||||
if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
{
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF+1:
|
||||
creature->AI()->DoAction(ACTION_START_CITY);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
CloseGossipMenuFor(player);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
@@ -309,24 +309,24 @@ public:
|
||||
case GOSSIP_ACTION_INFO_DEF+3:
|
||||
// Start Town Hall part
|
||||
creature->AI()->DoAction(ACTION_START_TOWN_HALL);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
CloseGossipMenuFor(player);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+4:
|
||||
// After killing epoch
|
||||
creature->AI()->DoAction(ACTION_START_SECRET_PASSAGE);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->SetTarget();
|
||||
CloseGossipMenuFor(player);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+5:
|
||||
creature->AI()->DoAction(ACTION_START_LAST_CITY);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
CloseGossipMenuFor(player);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+6:
|
||||
creature->AI()->DoAction(ACTION_START_MALGANIS);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
CloseGossipMenuFor(player);
|
||||
break;
|
||||
}
|
||||
@@ -509,7 +509,7 @@ public:
|
||||
waveKillCount = 0;
|
||||
timeRiftId = 0;
|
||||
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
@@ -543,7 +543,7 @@ public:
|
||||
break;
|
||||
// Reached City
|
||||
case 8:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetEscortPaused(true);
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_FINISHED_INTRO);
|
||||
@@ -577,7 +577,7 @@ public:
|
||||
case 20:
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_REACHED_TOWN_HALL);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetRun(false);
|
||||
SetEscortPaused(true);
|
||||
break;
|
||||
@@ -628,7 +628,7 @@ public:
|
||||
// Behind secred passage
|
||||
case 45:
|
||||
SetRun(true);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetEscortPaused(true);
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_LAST_CITY);
|
||||
@@ -650,7 +650,7 @@ public:
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_BEFORE_MALGANIS);
|
||||
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetEscortPaused(true);
|
||||
break;
|
||||
// Infront of malganis
|
||||
@@ -1123,7 +1123,7 @@ public:
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_KILLED_EPOCH);
|
||||
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
eventInRun = false;
|
||||
break;
|
||||
case EVENT_ACTION_PHASE5:
|
||||
@@ -1258,7 +1258,7 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data)
|
||||
{
|
||||
case COS_PROGRESS_FINISHED_INTRO:
|
||||
SetNextWaypoint(9, false);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case COS_PROGRESS_FINISHED_CITY_INTRO:
|
||||
case COS_PROGRESS_KILLED_MEATHOOK:
|
||||
@@ -1285,19 +1285,19 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data)
|
||||
break;
|
||||
case COS_PROGRESS_REACHED_TOWN_HALL:
|
||||
SetNextWaypoint(21, false);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case COS_PROGRESS_KILLED_EPOCH:
|
||||
SetNextWaypoint(32, false);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case COS_PROGRESS_LAST_CITY:
|
||||
SetNextWaypoint(46, false);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case COS_PROGRESS_BEFORE_MALGANIS:
|
||||
SetNextWaypoint(55, false);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -116,7 +116,7 @@ public:
|
||||
{
|
||||
case GO_BARREL:
|
||||
if (_encounterProgress >= ENCOUNTER_PROGRESS_BARRELS)
|
||||
gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_PRISON_DOOR:
|
||||
if (_encounterProgress >= ENCOUNTER_PROGRESS_THRALL_ARMORED)
|
||||
@@ -162,7 +162,7 @@ public:
|
||||
}
|
||||
case DATA_THRALL_ADD_FLAG:
|
||||
if (Creature* thrall = instance->GetCreature(_thrallGUID))
|
||||
thrall->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
thrall->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ public:
|
||||
CloseGossipMenuFor(player);
|
||||
|
||||
creature->AI()->DoAction(instance->GetData(DATA_ESCORT_PROGRESS));
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ public:
|
||||
|
||||
SetEscortPaused(true);
|
||||
SetRun(true);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case 64:
|
||||
SetRun(false);
|
||||
@@ -413,7 +413,7 @@ public:
|
||||
break;
|
||||
case 103:
|
||||
if (Creature* erozion = summons.GetCreatureWithEntry(NPC_EROZION))
|
||||
erozion->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
erozion->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
instance->SetData(DATA_ESCORT_PROGRESS, ENCOUNTER_PROGRESS_FINISHED);
|
||||
me->SetVisible(false);
|
||||
break;
|
||||
@@ -468,7 +468,7 @@ public:
|
||||
combatEvents.Reset();
|
||||
summons.DespawnAll();
|
||||
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
instance->SetData(DATA_THRALL_REPOSITION, 1);
|
||||
|
||||
uint32 data = instance->GetData(DATA_ESCORT_PROGRESS);
|
||||
@@ -615,7 +615,7 @@ public:
|
||||
break;
|
||||
case EVENT_THRALL_TALK:
|
||||
Talk(SAY_MEET_TARETHA);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case EVENT_SUMMON_CHRONO:
|
||||
if (Creature* epoch = me->SummonCreature(NPC_EPOCH_HUNTER, 2640.49f, 696.15f, 64.31f, 4.51f, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
@@ -730,7 +730,7 @@ public:
|
||||
break;
|
||||
case EVENT_SUMMON_EROZION:
|
||||
if (Creature* erozion = me->SummonCreature(NPC_EROZION, 2646.31f, 680.01f, 55.36f, 3.76f, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
erozion->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
erozion->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
break;
|
||||
case EVENT_EROZION_TALK_1:
|
||||
if (Creature* erozion = summons.GetCreatureWithEntry(NPC_EROZION))
|
||||
@@ -808,7 +808,7 @@ public:
|
||||
SetEscortPaused(true);
|
||||
SetDespawnAtEnd(false);
|
||||
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
if (data < ENCOUNTER_PROGRESS_THRALL_ARMORED)
|
||||
{
|
||||
@@ -903,7 +903,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
me->CastSpell(me, SPELL_SHADOW_PRISON, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
break;
|
||||
case GO_GONG:
|
||||
if (_gongPhase == DONE)
|
||||
gameobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
channeling = false;
|
||||
eventProgress = 0;
|
||||
spawnerCount = 0;
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
}
|
||||
@@ -119,7 +119,7 @@ public:
|
||||
{
|
||||
eventInProgress = true;
|
||||
Talk(SAY_QUEST_ACCEPTED);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_ACTIVE);
|
||||
me->GetMotionMaster()->MovePath(PATH_ESCORT, false);
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public:
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
postGossipStep = 0;
|
||||
Text_Timer = 0;
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
InstanceScript* instance;
|
||||
@@ -285,7 +285,7 @@ public:
|
||||
{
|
||||
case NPC_BLY:
|
||||
case NPC_WEEGLI:
|
||||
crew->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
crew->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -345,7 +345,7 @@ public:
|
||||
|
||||
void InitializeAI() override
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
Reset();
|
||||
}
|
||||
|
||||
@@ -435,7 +435,7 @@ public:
|
||||
else if (instance->GetData(DATA_PYRAMID) == PYRAMID_KILLED_ALL_TROLLS)
|
||||
{
|
||||
instance->SetData(DATA_PYRAMID, PYRAMID_MOVED_DOWNSTAIRS);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
else if (instance->GetData(DATA_PYRAMID) == PYRAMID_DESTROY_GATES)
|
||||
{
|
||||
@@ -458,7 +458,7 @@ public:
|
||||
else if (instance->GetData(DATA_PYRAMID) == PYRAMID_KILLED_ALL_TROLLS)
|
||||
{
|
||||
instance->SetData(DATA_PYRAMID, PYRAMID_MOVED_DOWNSTAIRS);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
else if (instance->GetData(DATA_PYRAMID) == PYRAMID_DESTROY_GATES)
|
||||
{
|
||||
@@ -478,7 +478,7 @@ public:
|
||||
instance->SetData(DATA_PYRAMID, PYRAMID_DESTROY_GATES);
|
||||
if (Creature* sergeantBly = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_BLY)))
|
||||
{
|
||||
sergeantBly->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
sergeantBly->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
{
|
||||
me->RemoveAurasDueToSpell(SPELL_MARK_OF_FROST_AURA);
|
||||
_scheduler.CancelAll();
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RestoreFaction();
|
||||
me->GetMap()->DoForAllPlayers([&](Player* p)
|
||||
{
|
||||
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
|
||||
if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_NAGA_BRAZIER, INTERACTION_DISTANCE * 2))
|
||||
{
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
SetEscortPaused(true);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -355,7 +355,7 @@ public:
|
||||
if (me->IsWithinDist(player, 10) && me->GetPositionX() > player->GetPositionX() && !Reached)
|
||||
{
|
||||
Talk(SAY_RIZZLE_FINAL);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 1);
|
||||
me->ReplaceAllNpcFlags(NPCFlags(1));
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->RemoveAurasDueToSpell(SPELL_PERIODIC_DEPTH_CHARGE);
|
||||
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
_faction = faction;
|
||||
SetEscortPaused(false);
|
||||
if (Creature* active = !headNorth ? me : ObjectAccessor::GetCreature(*me, summons[0]))
|
||||
active->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
active->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
events.CancelEvent(EVENT_WAIT_FOR_ASSIST);
|
||||
}
|
||||
|
||||
@@ -192,11 +192,11 @@ public:
|
||||
void SummonHelpers()
|
||||
{
|
||||
RemoveSummons();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
if (Creature* cr = me->SummonCreature(NPC_RIGGER_GIZELTON, *me))
|
||||
{
|
||||
cr->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
cr->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
summons[0] = cr->GetGUID();
|
||||
}
|
||||
if (Creature* cr = me->SummonCreature(NPC_CARAVAN_KODO, *me))
|
||||
@@ -291,7 +291,7 @@ public:
|
||||
// North -> South - hire
|
||||
case 77:
|
||||
SetEscortPaused(true);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
Talk(SAY_CARAVAN_HIRE);
|
||||
events.ScheduleEvent(EVENT_WAIT_FOR_ASSIST, TIME_HIRE_STOP);
|
||||
break;
|
||||
@@ -300,7 +300,7 @@ public:
|
||||
SetEscortPaused(true);
|
||||
if (Creature* rigger = ObjectAccessor::GetCreature(*me, summons[0]))
|
||||
{
|
||||
rigger->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
rigger->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
rigger->AI()->Talk(SAY_CARAVAN_HIRE);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_WAIT_FOR_ASSIST, TIME_HIRE_STOP);
|
||||
@@ -403,7 +403,7 @@ public:
|
||||
case EVENT_WAIT_FOR_ASSIST:
|
||||
SetEscortPaused(false);
|
||||
if (Creature* active = !headNorth ? me : ObjectAccessor::GetCreature(*me, summons[0]))
|
||||
active->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
active->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
break;
|
||||
case EVENT_RESTART_ESCORT:
|
||||
CheckCaravan();
|
||||
@@ -484,7 +484,7 @@ public:
|
||||
}
|
||||
else if (spell->Id == SPELL_KODO_KOMBO_GOSSIP)
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->DespawnOrUnsummon(60000);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ public:
|
||||
|
||||
void InitializeAI() override
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->RestoreFaction();
|
||||
|
||||
@@ -202,7 +202,7 @@ public:
|
||||
|
||||
Talk(TALK_0, player);
|
||||
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE);
|
||||
me->GetMotionMaster()->MoveFollow(player, 3.f, M_PI);
|
||||
|
||||
@@ -258,7 +258,7 @@ public:
|
||||
{
|
||||
if (action == ACTION_START_TALKING)
|
||||
{
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->GetMap()->LoadGrid(heraldOfThrallPos.GetPositionX(), heraldOfThrallPos.GetPositionY());
|
||||
me->SummonCreature(NPC_HERALD_OF_THRALL, heraldOfThrallPos, TEMPSUMMON_TIMED_DESPAWN, 20 * IN_MILLISECONDS);
|
||||
_scheduler.Schedule(2s, [this](TaskContext /*context*/)
|
||||
@@ -272,7 +272,7 @@ public:
|
||||
.Schedule(15s, [this](TaskContext /*context*/)
|
||||
{
|
||||
DoCastAOE(SPELL_WARCHIEF_BLESSING, true);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->GetMap()->DoForAllPlayers([&](Player* p)
|
||||
{
|
||||
if (p->IsAlive() && !p->IsGameMaster())
|
||||
|
||||
@@ -915,7 +915,7 @@ public:
|
||||
|
||||
if (Merithra)
|
||||
{
|
||||
Merithra->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
Merithra->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
Merithra->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
Merithra->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15420);
|
||||
Merithra->SetFaction(FACTION_FRIENDLY);
|
||||
@@ -923,7 +923,7 @@ public:
|
||||
|
||||
if (Caelestrasz)
|
||||
{
|
||||
Caelestrasz->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
Caelestrasz->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
Caelestrasz->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
Caelestrasz->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15419);
|
||||
Caelestrasz->SetFaction(FACTION_FRIENDLY);
|
||||
@@ -931,7 +931,7 @@ public:
|
||||
|
||||
if (Arygos)
|
||||
{
|
||||
Arygos->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
Arygos->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
Arygos->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
|
||||
Arygos->SetUInt32Value(UNIT_FIELD_DISPLAYID, 15418);
|
||||
Arygos->SetFaction(FACTION_FRIENDLY);
|
||||
@@ -1031,7 +1031,7 @@ public:
|
||||
|
||||
void InitializeAI() override
|
||||
{
|
||||
me->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
me->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
bool GossipHello(Player* player, bool reportUse) override
|
||||
@@ -1164,7 +1164,7 @@ public:
|
||||
}
|
||||
|
||||
me->DespawnOrUnsummon(5000ms, respawnTimer); // Despawn in 5 Seconds for respawnTimer value
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
me->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
CloseGossipMenuFor(player);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -263,8 +263,8 @@ public:
|
||||
if (me->GetFaction() != NormFaction)
|
||||
me->SetFaction(NormFaction);
|
||||
|
||||
if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
DoCast(me, SPELL_PLUCKY_CHICKEN, false);
|
||||
}
|
||||
@@ -276,19 +276,19 @@ public:
|
||||
if (TextEmote == TEXT_EMOTE_BECKON)
|
||||
{
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
DoCast(me, SPELL_PLUCKY_HUMAN, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (TextEmote == TEXT_EMOTE_CHICKEN)
|
||||
{
|
||||
if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return;
|
||||
else
|
||||
{
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
DoCast(me, SPELL_PLUCKY_HUMAN, false);
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_WAVE);
|
||||
}
|
||||
@@ -297,14 +297,14 @@ public:
|
||||
|
||||
void UpdateAI(uint32 Diff) override
|
||||
{
|
||||
if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
{
|
||||
if (ResetTimer <= Diff)
|
||||
{
|
||||
if (!me->GetVictim())
|
||||
EnterEvadeMode();
|
||||
else
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -354,13 +354,13 @@ public:
|
||||
{
|
||||
if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_ELUNE_ALTAR, 10.0f))
|
||||
{
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
me->SetFacingToObject(go);
|
||||
_altarGUID = go->GetGUID();
|
||||
}
|
||||
}
|
||||
else if (GameObject* go = GetClosestGameObjectWithEntry(me, GO_ELUNE_FIRE, 10.0f))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
// Yell and set escort to pause
|
||||
Talk(SAY_REACH_TORCH);
|
||||
@@ -610,7 +610,7 @@ public:
|
||||
escortAI->DoContinueEscort(isAltar);
|
||||
}
|
||||
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -507,7 +507,7 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
|
||||
uint32 const objectIndex = go->GetEntry() == GO_TELDARAM_SPHERE1 ? DATA_TELDRAM_SPHERE1 : DATA_TELDRAM_SPHERE2;
|
||||
|
||||
@@ -77,11 +77,11 @@ public:
|
||||
if (teldaramSpheres.at(pGo->GetEntry() == GO_TELDARAM_SPHERE1 ? 0 : 1) == DONE || GetBossState(DATA_PRINCE_TALDARAM) == DONE)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
pGo->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGo->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
+2
-2
@@ -377,7 +377,7 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
// Xinef: after soft reset npc is no longer present
|
||||
if (me->GetInstanceScript()->GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE)
|
||||
@@ -439,7 +439,7 @@ public:
|
||||
Talk(SAY_XERESTRASZA_EVENT_6);
|
||||
break;
|
||||
case EVENT_XERESTRASZA_EVENT_7:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
Talk(SAY_XERESTRASZA_EVENT_7);
|
||||
me->setActive(false);
|
||||
break;
|
||||
|
||||
+4
-3
@@ -158,7 +158,7 @@ public:
|
||||
me->getThreatMgr().clearReferences();
|
||||
me->SetRegeneratingHealth(false);
|
||||
_EnterEvadeMode();
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( pInstance )
|
||||
pInstance->SetData(BOSS_ARGENT_CHALLENGE, DONE);
|
||||
}
|
||||
@@ -305,7 +305,7 @@ public:
|
||||
me->getThreatMgr().clearReferences();
|
||||
me->SetRegeneratingHealth(false);
|
||||
_EnterEvadeMode();
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( pInstance )
|
||||
{
|
||||
pInstance->SetData(BOSS_ARGENT_CHALLENGE, DONE);
|
||||
@@ -404,6 +404,7 @@ public:
|
||||
events.Reset();
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetObjectScale(0.01f);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
events.ScheduleEvent(EVENT_MEMORY_SCALE, 500);
|
||||
}
|
||||
|
||||
@@ -439,7 +440,7 @@ public:
|
||||
|
||||
break;
|
||||
case EVENT_MEMORY_START_ATTACK:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = me->SelectNearestTarget(200.0f) )
|
||||
{
|
||||
AttackStart(target);
|
||||
|
||||
+3
-2
@@ -120,7 +120,7 @@ public:
|
||||
summons.DespawnAll();
|
||||
Phase = 1;
|
||||
me->SetDisplayId(me->GetNativeDisplayId());
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
if( pInstance )
|
||||
pInstance->SetData(BOSS_BLACK_KNIGHT, NOT_STARTED);
|
||||
@@ -193,7 +193,7 @@ public:
|
||||
{
|
||||
case SPELL_BLACK_KNIGHT_RES:
|
||||
me->SetHealth(me->GetMaxHealth());
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetControlled(false, UNIT_STATE_STUNNED);
|
||||
|
||||
me->RemoveUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT);
|
||||
@@ -342,6 +342,7 @@ public:
|
||||
{
|
||||
Start(false, true, ObjectGuid::Empty, nullptr);
|
||||
SetDespawnAtEnd(true);
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
}
|
||||
|
||||
void DoAction(int32 param) override
|
||||
|
||||
+7
-7
@@ -361,7 +361,6 @@ public:
|
||||
BossOrder = 0;
|
||||
NewMountGUID.Clear();
|
||||
me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true);
|
||||
me->SetUnitFlag(UNIT_FLAG_PACIFIED);
|
||||
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, urand(2500, 4000));
|
||||
@@ -401,7 +400,7 @@ public:
|
||||
{
|
||||
DoAction(1);
|
||||
DoAction(2);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, 0);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
@@ -489,7 +488,7 @@ public:
|
||||
me->SetRegeneratingHealth(true);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_PACIFIED);
|
||||
me->SetSpeed(MOVE_RUN, 1.0f, false);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
me->RemoveAllAuras();
|
||||
AddCreatureAddonAuras();
|
||||
@@ -557,7 +556,7 @@ public:
|
||||
me->StopMoving();
|
||||
me->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, 0);
|
||||
me->SetRegeneratingHealth(false);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
if( pInstance )
|
||||
{
|
||||
@@ -575,6 +574,7 @@ public:
|
||||
{
|
||||
if( damage >= me->GetHealth() )
|
||||
{
|
||||
MountPhase = true;
|
||||
events.Reset();
|
||||
damage = me->GetHealth() - 1;
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
@@ -584,7 +584,7 @@ public:
|
||||
me->CombatStop(true);
|
||||
me->GetMotionMaster()->Clear();
|
||||
me->SetRegeneratingHealth(false);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( pInstance )
|
||||
pInstance->SetData(DATA_GRAND_CHAMPION_DIED, BossOrder);
|
||||
}
|
||||
@@ -627,7 +627,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SHIELD_BREAKER, urand(5000, 8000));
|
||||
events.ScheduleEvent(EVENT_THRUST, urand(3000, 5000));
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = me->SelectNearestTarget(200.0f) )
|
||||
AttackStart(target);
|
||||
DoZoneInCombat();
|
||||
@@ -720,7 +720,7 @@ public:
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
NewMountGUID = mount->GetGUID();
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->GetMotionMaster()->MovePoint(7, *mount);
|
||||
events.RepeatEvent(200);
|
||||
break;
|
||||
|
||||
+17
-14
@@ -156,6 +156,7 @@ public:
|
||||
|
||||
// Coliseum Announcer:
|
||||
case NPC_JAEREN:
|
||||
case NPC_ARELAS:
|
||||
NPC_AnnouncerGUID = creature->GetGUID();
|
||||
//if( TeamIdInInstance == TEAM_ALLIANCE )
|
||||
// creature->UpdateEntry(NPC_ARELAS);
|
||||
@@ -316,7 +317,7 @@ public:
|
||||
c->SetHomePosition(748.309f, 619.488f, 411.172f, 4.71239f);
|
||||
c->SetPosition(748.309f, 619.488f, 411.172f, 4.71239f);
|
||||
c->SetRespawnTime(3);
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
InstanceProgress = INSTANCE_PROGRESS_INITIAL;
|
||||
}
|
||||
@@ -329,7 +330,7 @@ public:
|
||||
announcer->SetHomePosition(735.81f, 661.92f, 412.39f, 4.714f);
|
||||
announcer->SetPosition(735.81f, 661.92f, 412.39f, 4.714f);
|
||||
announcer->SetRespawnTime(3);
|
||||
announcer->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
announcer->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
for( uint8 i = 0; i < 3; ++i )
|
||||
if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) )
|
||||
@@ -387,7 +388,7 @@ public:
|
||||
c->SetHomePosition(743.14f, 628.77f, 411.2f, 4.71239f);
|
||||
c->SetPosition(743.14f, 628.77f, 411.2f, 4.71239f);
|
||||
c->SetRespawnTime(3);
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
NPC_MemoryEntry = 0;
|
||||
InstanceProgress = INSTANCE_PROGRESS_CHAMPIONS_DEAD;
|
||||
@@ -411,7 +412,7 @@ public:
|
||||
c->SetHomePosition(743.14f, 628.77f, 411.2f, 4.71239f);
|
||||
c->SetPosition(743.14f, 628.77f, 411.2f, 4.71239f);
|
||||
c->SetRespawnTime(3);
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
InstanceProgress = INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED;
|
||||
}
|
||||
@@ -731,17 +732,19 @@ public:
|
||||
if( Creature* pBoss = instance->SummonCreature(CHAMPION_TO_SUMMON, SpawnPos) )
|
||||
{
|
||||
NPC_GrandChampionGUID[BossOrder] = pBoss->GetGUID();
|
||||
pBoss->ToCreature()->SetHomePosition(748.309f, 619.448f, 411.3f, M_PI / 2);
|
||||
pBoss->ToCreature()->SetReactState(REACT_PASSIVE);
|
||||
pBoss->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_PACIFIED);
|
||||
pBoss->ToCreature()->SetHomePosition(748.309f, 619.448f, 411.3f, M_PI / 2);
|
||||
pBoss->AI()->SetData(BossOrder, (shortver ? 1 : 0));
|
||||
|
||||
for( uint8 i = 0; i < 3; ++i )
|
||||
if( Creature* pAdd = instance->SummonCreature(MINION_TO_SUMMON, SpawnPos) )
|
||||
{
|
||||
NPC_GrandChampionMinionsGUID[BossOrder][i] = pAdd->GetGUID();
|
||||
pAdd->SetReactState(REACT_PASSIVE);
|
||||
pAdd->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
pAdd->SetHomePosition(748.309f, 619.448f, 411.3f, M_PI / 2);
|
||||
pAdd->GetMotionMaster()->MoveFollow(pBoss, 2.0f, (i + 1)*M_PI / 2);
|
||||
pAdd->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -836,7 +839,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[1][i]) )
|
||||
{
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = c->SelectNearestTarget(200.0f) )
|
||||
c->AI()->AttackStart(target);
|
||||
c->AI()->DoZoneInCombat();
|
||||
@@ -862,7 +865,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[0][i]) )
|
||||
{
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = c->SelectNearestTarget(200.0f) )
|
||||
c->AI()->AttackStart(target);
|
||||
c->AI()->DoZoneInCombat();
|
||||
@@ -887,7 +890,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_GrandChampionMinionsGUID[2][i]) )
|
||||
{
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = c->SelectNearestTarget(200.0f) )
|
||||
c->AI()->AttackStart(target);
|
||||
c->AI()->DoZoneInCombat();
|
||||
@@ -912,7 +915,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) )
|
||||
{
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = c->SelectNearestTarget(200.0f) )
|
||||
c->AI()->AttackStart(target);
|
||||
c->AI()->DoZoneInCombat();
|
||||
@@ -949,7 +952,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_GrandChampionGUID[i]) )
|
||||
{
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = c->SelectNearestTarget(200.0f) )
|
||||
c->AI()->AttackStart(target);
|
||||
c->AI()->DoZoneInCombat();
|
||||
@@ -968,7 +971,7 @@ public:
|
||||
case EVENT_RESTORE_ANNOUNCER_GOSSIP:
|
||||
{
|
||||
if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) )
|
||||
announcer->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
announcer->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
break;
|
||||
case EVENT_START_ARGENT_CHALLENGE_INTRO:
|
||||
@@ -1053,7 +1056,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_ArgentSoldierGUID[i][j]) )
|
||||
{
|
||||
c->SetReactState(REACT_AGGRESSIVE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
c->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
//c->AI()->DoZoneInCombat();
|
||||
}
|
||||
if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) )
|
||||
@@ -1074,7 +1077,7 @@ public:
|
||||
if( Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID) )
|
||||
{
|
||||
boss->SetReactState(REACT_AGGRESSIVE);
|
||||
boss->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
boss->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
if( Unit* target = boss->SelectNearestTarget(200.0f) )
|
||||
boss->AI()->AttackStart(target);
|
||||
boss->AI()->DoZoneInCombat();
|
||||
|
||||
+3
-3
@@ -33,7 +33,7 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
InstanceScript* pInstance = creature->GetInstanceScript();
|
||||
@@ -76,7 +76,7 @@ public:
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override
|
||||
{
|
||||
if(!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if(!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
InstanceScript* pInstance = creature->GetInstanceScript();
|
||||
@@ -86,7 +86,7 @@ public:
|
||||
if(uiAction == GOSSIP_ACTION_INFO_DEF + 1338 || uiAction == GOSSIP_ACTION_INFO_DEF + 1341 || uiAction == GOSSIP_ACTION_INFO_DEF + 1339 || uiAction == GOSSIP_ACTION_INFO_DEF + 1340)
|
||||
{
|
||||
pInstance->SetData(DATA_ANNOUNCER_GOSSIP_SELECT, (uiAction == GOSSIP_ACTION_INFO_DEF + 1341 ? 1 : 0));
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
CloseGossipMenuFor(player);
|
||||
|
||||
+13
-13
@@ -767,7 +767,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_TirionGUID) )
|
||||
c->AI()->Talk(SAY_STAGE_0_06);
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_101:
|
||||
@@ -946,7 +946,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_TirionGUID) )
|
||||
c->AI()->Talk(SAY_STAGE_1_11);
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_201:
|
||||
@@ -1120,7 +1120,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_TirionGUID) )
|
||||
c->AI()->Talk(SAY_STAGE_2_06);
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_301:
|
||||
@@ -1435,11 +1435,11 @@ public:
|
||||
{
|
||||
case INSTANCE_PROGRESS_INITIAL:
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case INSTANCE_PROGRESS_INTRO_DONE:
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
if( Creature* c = instance->GetCreature(NPC_GormokGUID) )
|
||||
{
|
||||
c->AI()->DoAction(-1); // despawn summons
|
||||
@@ -1459,7 +1459,7 @@ public:
|
||||
break;
|
||||
case INSTANCE_PROGRESS_BEASTS_DEAD:
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
if( Creature* c = instance->GetCreature(NPC_FizzlebangGUID) )
|
||||
c->DespawnOrUnsummon();
|
||||
NPC_FizzlebangGUID.Clear();
|
||||
@@ -1478,7 +1478,7 @@ public:
|
||||
c->DespawnOrUnsummon();
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
{
|
||||
c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
if( Creature* jaraxxus = c->SummonCreature(NPC_JARAXXUS, Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), Locs[LOC_CENTER].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000) )
|
||||
{
|
||||
jaraxxus->CastSpell(jaraxxus, 67924, true);
|
||||
@@ -1490,7 +1490,7 @@ public:
|
||||
break;
|
||||
case INSTANCE_PROGRESS_JARAXXUS_DEAD:
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
for (ObjectGuid const& guid : NPC_ChampionGUIDs)
|
||||
if (Creature* c = instance->GetCreature(guid))
|
||||
c->DespawnOrUnsummon();
|
||||
@@ -1498,7 +1498,7 @@ public:
|
||||
break;
|
||||
case INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD:
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
if( Creature* c = instance->GetCreature(NPC_DarkbaneGUID) )
|
||||
{
|
||||
c->AI()->DoAction(-1);
|
||||
@@ -1521,11 +1521,11 @@ public:
|
||||
if (InstanceProgress == INSTANCE_PROGRESS_ANUB_ARAK)
|
||||
{
|
||||
c->SetVisible(false);
|
||||
c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
else
|
||||
{
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetVisible(true);
|
||||
c->SetFacingTo(c->GetOrientation());
|
||||
}
|
||||
@@ -1550,7 +1550,7 @@ public:
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
{
|
||||
c->SetVisible(false);
|
||||
c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1566,7 +1566,7 @@ public:
|
||||
|
||||
if( instance->IsHeroic() && AttemptsLeft == 0 )
|
||||
if( Creature* c = instance->GetCreature(NPC_BarrettGUID) )
|
||||
c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
HandleGameObject(GO_MainGateGUID, false);
|
||||
HandleGameObject(GO_EnterGateGUID, true);
|
||||
|
||||
+4
-4
@@ -36,7 +36,7 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if(!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if(!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
InstanceScript* pInstance = creature->GetInstanceScript();
|
||||
@@ -59,7 +59,7 @@ public:
|
||||
gossipTextId = MSG_CRUSADERS;
|
||||
break;
|
||||
case INSTANCE_PROGRESS_DONE:
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
return true;
|
||||
default:
|
||||
return true;
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 uiAction) override
|
||||
{
|
||||
if( !creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) )
|
||||
if( !creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP) )
|
||||
return true;
|
||||
|
||||
InstanceScript* pInstance = creature->GetInstanceScript();
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
if( uiAction == GOSSIP_ACTION_INFO_DEF + 1337 )
|
||||
{
|
||||
pInstance->SetData(TYPE_ANNOUNCER_GOSSIP_SELECT, 0);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
CloseGossipMenuFor(player);
|
||||
|
||||
@@ -69,9 +69,9 @@ public:
|
||||
void DoAction(int32 a) override
|
||||
{
|
||||
if (a == 1)
|
||||
if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
{
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
events.Reset();
|
||||
events.ScheduleEvent(1, 1000);
|
||||
}
|
||||
@@ -190,7 +190,7 @@ public:
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
{
|
||||
if (creature->GetEntry() == NPC_JAINA_PART1)
|
||||
AddGossipItemFor(player, GOSSIP_JAINA_INTRO, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
@@ -232,14 +232,14 @@ public:
|
||||
{
|
||||
npc_fos_leader_secondAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && id == 1)
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
Talk(SAY_JAINA_OUTRO);
|
||||
else
|
||||
|
||||
@@ -91,7 +91,7 @@ public:
|
||||
|
||||
bool OnGossipHello(Player* player, Creature* creature) override
|
||||
{
|
||||
if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
if (creature->IsQuestGiver())
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override
|
||||
{
|
||||
if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
InstanceScript* instance = creature->GetInstanceScript();
|
||||
@@ -154,13 +154,13 @@ public:
|
||||
CloseGossipMenuFor(player);
|
||||
if (creature->AI())
|
||||
creature->AI()->DoAction(ACTION_START_INTRO);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF+2:
|
||||
CloseGossipMenuFor(player);
|
||||
if (creature->AI())
|
||||
creature->AI()->DoAction(ACTION_SKIP_INTRO);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -233,7 +233,7 @@ public:
|
||||
me->GetMotionMaster()->MovePoint(0, SpawnPos);
|
||||
break;
|
||||
case EVENT_PRE_INTRO_3:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_2 : SAY_SYLVANAS_INTRO_1);
|
||||
me->SetFacingTo(0.89f);
|
||||
break;
|
||||
@@ -1619,7 +1619,7 @@ public:
|
||||
|
||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) override
|
||||
{
|
||||
if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!creature->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return true;
|
||||
|
||||
ClearGossipMenuFor(player);
|
||||
@@ -1627,7 +1627,7 @@ public:
|
||||
if (InstanceScript* pInstance = creature->GetInstanceScript())
|
||||
if (!pInstance->GetData(DATA_LICH_KING))
|
||||
{
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->AI()->DoAction(ACTION_START_LK_FIGHT_REAL);
|
||||
return true;
|
||||
}
|
||||
@@ -1748,7 +1748,7 @@ public:
|
||||
case EVENT_ADD_GOSSIP:
|
||||
me->RemoveAura(me->GetEntry() == NPC_JAINA_PART2 ? SPELL_JAINA_ICE_BARRIER : SPELL_SYLVANAS_CLOAK_OF_DARKNESS);
|
||||
me->SetFacingTo(LeaderEscapePos.GetOrientation());
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
break;
|
||||
case EVENT_START_RUN:
|
||||
{
|
||||
|
||||
+8
-8
@@ -221,7 +221,7 @@ public:
|
||||
NPC_LeaderIntroGUID = creature->GetGUID();
|
||||
if (TeamIdInInstance == TEAM_ALLIANCE)
|
||||
creature->UpdateEntry(NPC_JAINA_PART1);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
break;
|
||||
case NPC_DARK_RANGER_LORALEN:
|
||||
@@ -313,7 +313,7 @@ public:
|
||||
if (!(EncounterMask & (1 << DATA_LK_INTRO)))
|
||||
{
|
||||
creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, TeamIdInInstance == TEAM_ALLIANCE ? EMOTE_ONESHOT_ATTACK2HTIGHT : EMOTE_ONESHOT_ATTACK1H);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->CastSpell(creature, TeamIdInInstance == TEAM_ALLIANCE ? SPELL_JAINA_ICE_BARRIER : SPELL_SYLVANAS_CLOAK_OF_DARKNESS, true);
|
||||
if (TeamIdInInstance != TEAM_ALLIANCE)
|
||||
{
|
||||
@@ -323,8 +323,8 @@ public:
|
||||
}
|
||||
else if (!(EncounterMask & (1 << DATA_LICH_KING)))
|
||||
{
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->UpdatePosition(LeaderEscapePos, true);
|
||||
creature->StopMovingOnCurrentPos();
|
||||
}
|
||||
@@ -530,8 +530,8 @@ public:
|
||||
c->GetMotionMaster()->MoveIdle();
|
||||
c->UpdatePosition(LeaderEscapePos, true);
|
||||
c->StopMovingOnCurrentPos();
|
||||
c->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
c->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
c->SetHealth(c->GetMaxHealth() / 20);
|
||||
c->AI()->Reset();
|
||||
c->setActive(false);
|
||||
@@ -1153,7 +1153,7 @@ public:
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
if (StairsPos[index][i].GetPositionX())
|
||||
if (GameObject* go = leader->SummonGameObject(TeamIdInInstance == TEAM_ALLIANCE ? GO_STAIRS_ALLIANCE : GO_STAIRS_HORDE, StairsPos[index][i].GetPositionX(), StairsPos[index][i].GetPositionY(), StairsPos[index][i].GetPositionZ(), StairsPos[index][i].GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 86400, false))
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
//Position pos = TeamIdInInstance == TEAM_ALLIANCE ? AllyPortalPos : HordePortalPos;
|
||||
//leader->SummonGameObject(GO_PORTAL_TO_DALARAN, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 86400);
|
||||
@@ -1196,7 +1196,7 @@ public:
|
||||
break;
|
||||
case 11:
|
||||
if (Creature* c = instance->GetCreature(NPC_LeaderGUID))
|
||||
c->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
c->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
++outroStep;
|
||||
outroTimer = 300 * 1000;
|
||||
break;
|
||||
|
||||
@@ -1150,7 +1150,7 @@ public:
|
||||
pInstance = me->GetInstanceScript();
|
||||
barrierGUID.Clear();
|
||||
events.Reset();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
if (pInstance)
|
||||
{
|
||||
@@ -1206,7 +1206,7 @@ public:
|
||||
Talk(SAY_JAINA_OUTRO_3);
|
||||
break;
|
||||
case 6:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
if (GameObject* g = me->FindNearestGameObject(GO_HOR_PORTCULLIS, 50.0f))
|
||||
g->SetGoState(GO_STATE_ACTIVE);
|
||||
break;
|
||||
|
||||
@@ -176,15 +176,15 @@ public:
|
||||
{
|
||||
case DATA_SLAD_RAN:
|
||||
if (GameObject* altar = instance->GetGameObject(_sladRanAltarGUID))
|
||||
altar->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
altar->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case DATA_MOORABI:
|
||||
if (GameObject* altar = instance->GetGameObject(_moorabiAltarGUID))
|
||||
altar->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
altar->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case DATA_DRAKKARI_COLOSSUS:
|
||||
if (GameObject* altar = instance->GetGameObject(_drakkariAltarGUID))
|
||||
altar->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
altar->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case DATA_ECK_THE_FEROCIOUS_INIT:
|
||||
{
|
||||
|
||||
@@ -531,7 +531,7 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
@@ -558,7 +558,7 @@ public:
|
||||
for (std::list<Creature*>::iterator itr = _guardList.begin(); itr != _guardList.end(); ++itr)
|
||||
(*itr)->AI()->SetData(0, x++);
|
||||
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
Talk(SAY_INTRO_HORDE_1);
|
||||
_events.SetPhase(PHASE_INTRO_H);
|
||||
_events.ScheduleEvent(EVENT_INTRO_HORDE_2, 5000, 0, PHASE_INTRO_H);
|
||||
@@ -568,7 +568,7 @@ public:
|
||||
if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_SCOURGE_TRANSPORTER_SAURFANG)))
|
||||
{
|
||||
_instance->HandleGameObject(ObjectGuid::Empty, false, teleporter);
|
||||
teleporter->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
teleporter->SetGameObjectFlag(GO_FLAG_IN_USE);
|
||||
}
|
||||
|
||||
deathbringer->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
@@ -792,7 +792,7 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
@@ -819,7 +819,7 @@ public:
|
||||
for (std::list<Creature*>::iterator itr = _guardList.begin(); itr != _guardList.end(); ++itr)
|
||||
(*itr)->AI()->SetData(0, x++);
|
||||
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
Talk(SAY_INTRO_ALLIANCE_1);
|
||||
_events.SetPhase(PHASE_INTRO_A);
|
||||
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_2, 2500, 0, PHASE_INTRO_A);
|
||||
@@ -830,7 +830,7 @@ public:
|
||||
if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_SCOURGE_TRANSPORTER_SAURFANG)))
|
||||
{
|
||||
_instance->HandleGameObject(ObjectGuid::Empty, false, teleporter);
|
||||
teleporter->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
teleporter->SetGameObjectFlag(GO_FLAG_IN_USE);
|
||||
}
|
||||
|
||||
deathbringer->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
@@ -758,9 +758,9 @@ public:
|
||||
|
||||
void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return;
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->GetTransport()->setActive(true);
|
||||
me->GetTransport()->ToMotionTransport()->EnableMovement(true);
|
||||
_events.ScheduleEvent(EVENT_INTRO_H_1, 5000);
|
||||
@@ -1093,9 +1093,9 @@ public:
|
||||
|
||||
void sGossipSelect(Player* /*player*/, uint32 /*sender*/, uint32 /*action*/) override
|
||||
{
|
||||
if (!me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP))
|
||||
if (!me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP))
|
||||
return;
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->GetTransport()->setActive(true);
|
||||
me->GetTransport()->ToMotionTransport()->EnableMovement(true);
|
||||
_events.ScheduleEvent(EVENT_INTRO_A_1, 5000);
|
||||
|
||||
@@ -1285,7 +1285,7 @@ public:
|
||||
{
|
||||
_events.Reset();
|
||||
if (_instance->GetBossState(DATA_THE_LICH_KING) == DONE || (me->GetMap()->IsHeroic() && !_instance->GetData(DATA_LK_HC_AVAILABLE)))
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
}
|
||||
|
||||
@@ -1357,18 +1357,18 @@ public:
|
||||
{
|
||||
ScriptedAI::JustReachedHome();
|
||||
if (!(_instance->GetBossState(DATA_THE_LICH_KING) == DONE || (me->GetMap()->IsHeroic() && !_instance->GetData(DATA_LK_HC_AVAILABLE))))
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
}
|
||||
|
||||
void sGossipSelect(Player* /*player*/, uint32 sender, uint32 action) override
|
||||
{
|
||||
Creature* theLichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING));
|
||||
if (me->GetCreatureTemplate()->GossipMenuId == sender && !action && me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) && theLichKing && !theLichKing->IsInEvadeMode())
|
||||
if (me->GetCreatureTemplate()->GossipMenuId == sender && !action && me->HasNpcFlag(UNIT_NPC_FLAG_GOSSIP) && theLichKing && !theLichKing->IsInEvadeMode())
|
||||
{
|
||||
if (me->GetMap()->IsHeroic() && !_instance->GetData(DATA_LK_HC_AVAILABLE))
|
||||
return;
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetWalk(true);
|
||||
me->GetMotionMaster()->MovePoint(POINT_TIRION_INTRO, TirionIntro);
|
||||
}
|
||||
|
||||
@@ -758,12 +758,12 @@ public:
|
||||
case GO_GAS_RELEASE_VALVE:
|
||||
GasReleaseValveGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_FESTERGUT) != DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_OOZE_RELEASE_VALVE:
|
||||
OozeReleaseValveGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_ROTFACE) != DONE)
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case GO_DRINK_ME:
|
||||
PutricideTableGUID = go->GetGUID();
|
||||
@@ -774,7 +774,7 @@ public:
|
||||
case GO_CACHE_OF_THE_DREAMWALKER_25H:
|
||||
if (Creature* valithria = instance->GetCreature(ValithriaDreamwalkerGUID))
|
||||
go->SetLootRecipient(valithria);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
|
||||
break;
|
||||
case GO_SCOURGE_TRANSPORTER_LK:
|
||||
TheLichKingTeleportGUID = go->GetGUID();
|
||||
@@ -819,7 +819,7 @@ public:
|
||||
AddDoor(go, true);
|
||||
ScourgeTransporterFirstGUID = go->GetGUID();
|
||||
if (GetBossState(DATA_LORD_MARROWGAR) == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1029,7 +1029,7 @@ public:
|
||||
WeeklyQuestId10 = RAND(QUEST_BLOOD_QUICKENING_10, QUEST_RESIDUE_RENDEZVOUS_10, QUEST_RESPITE_FOR_A_TORMENTED_SOUL_10, QUEST_DEPROGRAMMING_10, QUEST_SECURING_THE_RAMPARTS_10);
|
||||
SetData(DATA_WEEKLY_QUEST_ID, 0); // show required hidden npcs
|
||||
if (GameObject* transporter = instance->GetGameObject(ScourgeTransporterFirstGUID))
|
||||
transporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
transporter->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
SaveToDB();
|
||||
}
|
||||
break;
|
||||
@@ -1043,7 +1043,7 @@ public:
|
||||
if (GameObject* loot = instance->GetGameObject(GunshipArmoryGUID))
|
||||
{
|
||||
loot->SetLootRecipient(instance);
|
||||
loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
|
||||
loot->RemoveGameObjectFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
|
||||
}
|
||||
}
|
||||
else if (state == FAIL)
|
||||
@@ -1057,14 +1057,14 @@ public:
|
||||
{
|
||||
if (Creature* deathbringer = instance->GetCreature(DeathbringerSaurfangGUID))
|
||||
loot->SetLootRecipient(deathbringer);
|
||||
loot->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
|
||||
loot->RemoveGameObjectFlag(GO_FLAG_LOCKED | GO_FLAG_NOT_SELECTABLE | GO_FLAG_NODESPAWN);
|
||||
}
|
||||
[[fallthrough]];
|
||||
case NOT_STARTED:
|
||||
if (GameObject* teleporter = instance->GetGameObject(SaurfangTeleportGUID))
|
||||
{
|
||||
HandleGameObject(SaurfangTeleportGUID, true, teleporter);
|
||||
teleporter->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
teleporter->RemoveGameObjectFlag(GO_FLAG_IN_USE);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -1075,7 +1075,7 @@ public:
|
||||
if (state == DONE)
|
||||
{
|
||||
if (GameObject* go = instance->GetGameObject(GasReleaseValveGUID))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
if (GetBossState(DATA_ROTFACE) == DONE)
|
||||
HandleDropAttempt(false);
|
||||
}
|
||||
@@ -1084,7 +1084,7 @@ public:
|
||||
if (state == DONE)
|
||||
{
|
||||
if (GameObject* go = instance->GetGameObject(OozeReleaseValveGUID))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_INTERACT_COND | GO_FLAG_NOT_SELECTABLE);
|
||||
if (GetBossState(DATA_FESTERGUT) == DONE)
|
||||
HandleDropAttempt(false);
|
||||
}
|
||||
|
||||
@@ -403,7 +403,7 @@ public:
|
||||
if (GetBossState(BOSS_LOATHEB) == DONE)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_THADDIUS_PORTAL:
|
||||
@@ -411,7 +411,7 @@ public:
|
||||
if (GetBossState(BOSS_THADDIUS) == DONE)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_MAEXXNA_PORTAL:
|
||||
@@ -419,7 +419,7 @@ public:
|
||||
if (GetBossState(BOSS_MAEXXNA) == DONE)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
case GO_HORSEMAN_PORTAL:
|
||||
@@ -427,7 +427,7 @@ public:
|
||||
if (GetBossState(BOSS_HORSEMAN) == DONE)
|
||||
{
|
||||
pGo->SetGoState(GO_STATE_ACTIVE);
|
||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
pGo->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -844,7 +844,7 @@ public:
|
||||
if (GameObject* go = instance->GetGameObject(_loathebPortalGUID))
|
||||
{
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
if (GameObject* go = instance->GetGameObject(_plagueEyePortalGUID))
|
||||
{
|
||||
@@ -884,7 +884,7 @@ public:
|
||||
if (GameObject* go = instance->GetGameObject(_maexxnaPortalGUID))
|
||||
{
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
if (GameObject* go = instance->GetGameObject(_spiderEyePortalGUID))
|
||||
{
|
||||
@@ -917,7 +917,7 @@ public:
|
||||
if (GameObject* go = instance->GetGameObject(_thaddiusPortalGUID))
|
||||
{
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
if (GameObject* go = instance->GetGameObject(_abomEyePortalGUID))
|
||||
{
|
||||
@@ -933,7 +933,7 @@ public:
|
||||
if (GameObject* go = instance->GetGameObject(_horsemanPortalGUID))
|
||||
{
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
if (GameObject* go = instance->GetGameObject(_deathknightEyePortalGUID))
|
||||
{
|
||||
|
||||
@@ -91,17 +91,17 @@ public:
|
||||
{
|
||||
case GO_TELESTRA_SPHERE:
|
||||
if (GetBossState(DATA_TELESTRA_ORB) != DONE && GetBossState(DATA_MAGUS_TELESTRA_EVENT) == DONE)
|
||||
gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameObject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
AddDoor(gameObject, true);
|
||||
break;
|
||||
case GO_ANOMALUS_SPHERE:
|
||||
if (GetBossState(DATA_ANOMALUS_ORB) != DONE && GetBossState(DATA_ANOMALUS_EVENT) == DONE)
|
||||
gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameObject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
AddDoor(gameObject, true);
|
||||
break;
|
||||
case GO_ORMOROK_SPHERE:
|
||||
if (GetBossState(DATA_ORMOROK_ORB) != DONE && GetBossState(DATA_ORMOROK_EVENT) == DONE)
|
||||
gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gameObject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
AddDoor(gameObject, true);
|
||||
break;
|
||||
}
|
||||
@@ -148,7 +148,7 @@ public:
|
||||
|
||||
BossInfo const* bossInfo = GetBossInfo(id + DATA_TELESTRA_ORB);
|
||||
for (DoorSet::const_iterator i = bossInfo->door[DOOR_TYPE_PASSAGE].begin(); i != bossInfo->door[DOOR_TYPE_PASSAGE].end(); ++i)
|
||||
(*i)->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
(*i)->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
}
|
||||
if (resetPosition)
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
switch (me->GetEntry())
|
||||
{
|
||||
case NPC_VERDISA:
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
{
|
||||
Talk(SAY_BELGARISTRASZ);
|
||||
}
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -316,7 +316,7 @@ public:
|
||||
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
if(pInstance)
|
||||
{
|
||||
@@ -347,13 +347,13 @@ public:
|
||||
|
||||
SetEscortPaused(false);
|
||||
InitializeEvent();
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
break;
|
||||
}
|
||||
case ACTION_GO_TO_SJONNIR:
|
||||
SetEscortPaused(false);
|
||||
ResetEvent();
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
break;
|
||||
case ACTION_START_SJONNIR_FIGHT:
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
@@ -377,7 +377,7 @@ public:
|
||||
Start(false, true, ObjectGuid::Empty, 0, true, false);
|
||||
SetNextWaypoint(20, false);
|
||||
ResetEvent();
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
break;
|
||||
case ACTION_OPEN_DOOR:
|
||||
if (GameObject* door = ObjectAccessor::GetGameObject(*me, pInstance->GetGuidData(GO_SJONNIR_DOOR)))
|
||||
@@ -504,7 +504,7 @@ public:
|
||||
me->CastSpell(me, 59046, true); // credit
|
||||
}
|
||||
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
|
||||
// Spawn Chest and quest credit
|
||||
if (Player* plr = SelectTargetFromPlayerList(200.0f))
|
||||
@@ -513,7 +513,7 @@ public:
|
||||
{
|
||||
plr->RemoveGameObject(go, false);
|
||||
go->SetLootMode(1);
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
|
||||
}
|
||||
|
||||
plr->GroupEventHappens(QUEST_HALLS_OF_STONE, me);
|
||||
@@ -528,7 +528,7 @@ public:
|
||||
door->SetGoState(GO_STATE_ACTIVE);
|
||||
SetEscortPaused(false);
|
||||
ResetEvent();
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
break;
|
||||
}
|
||||
case EVENT_END:
|
||||
@@ -537,7 +537,7 @@ public:
|
||||
if (pInstance)
|
||||
pInstance->SetData(BRANN_BRONZEBEARD, 6);
|
||||
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->Yell("I'll use the forge to make batches o' earthen to stand guard... But our greatest challenge still remains: find and stop Loken!", LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(14279);
|
||||
break;
|
||||
@@ -653,7 +653,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id)
|
||||
// Stop before stairs and ask to start
|
||||
case 9:
|
||||
SetEscortPaused(true);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
if (pInstance)
|
||||
pInstance->SetData(BRANN_BRONZEBEARD, 2);
|
||||
|
||||
@@ -674,7 +674,7 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id)
|
||||
if(pInstance)
|
||||
{
|
||||
pInstance->SetData(BRANN_BRONZEBEARD, 5);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
if (Creature* cr = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_SJONNIR)))
|
||||
cr->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetOrientation(3.132660f);
|
||||
|
||||
@@ -752,7 +752,7 @@ public:
|
||||
// Summon Chest
|
||||
if (GameObject* go = me->SummonGameObject(RAID_MODE(GO_ALGALON_CHEST, GO_ALGALON_CHEST_HERO), 1632.1f, -306.561f, 417.321f, 4.69494f, 0, 0, 0, 1, 0))
|
||||
{
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
|
||||
go->SetLootRecipient(me);
|
||||
}
|
||||
break;
|
||||
@@ -1132,7 +1132,7 @@ public:
|
||||
return false;
|
||||
_locked = true;
|
||||
// Start Algalon event
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
me->SetGameObjectFlag(GO_FLAG_IN_USE);
|
||||
events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5000);
|
||||
if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannIntroSpawnPos))
|
||||
brann->AI()->DoAction(ACTION_START_INTRO);
|
||||
|
||||
@@ -873,7 +873,7 @@ public:
|
||||
|
||||
if (me->GetVehicle())
|
||||
{
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
if (Unit* player = me->GetVehicle()->GetPassenger(SEAT_PLAYER))
|
||||
|
||||
@@ -371,7 +371,7 @@ public:
|
||||
me->DespawnOrUnsummon(5000);
|
||||
if (GameObject* go = me->SummonGameObject(chestId, 2345.61f, -71.20f, 425.104f, 3.0f, 0, 0, 0, 0, 0))
|
||||
{
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
|
||||
go->SetLootRecipient(me->GetMap());
|
||||
}
|
||||
|
||||
|
||||
@@ -318,7 +318,7 @@ public:
|
||||
{
|
||||
me->RemoveGameObject(go, false);
|
||||
go->SetSpellId(1); // hack to make it despawn
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
|
||||
go->SetLootRecipient(me);
|
||||
}
|
||||
if (Creature* arm = ObjectAccessor::GetCreature(*me, _left))
|
||||
|
||||
@@ -822,7 +822,7 @@ public:
|
||||
{
|
||||
if (GameObject* go = me->SummonGameObject(chestId, 2744.65f, 2569.46f, 364.397f, 0, 0, 0, 0, 0, 0))
|
||||
{
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
|
||||
go->SetLootRecipient(me->GetMap());
|
||||
}
|
||||
}
|
||||
@@ -906,7 +906,7 @@ public:
|
||||
{
|
||||
button->SetLootState(GO_READY);
|
||||
button->UseDoorOrButton(0, false);
|
||||
button->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
button->RemoveGameObjectFlag(GO_FLAG_IN_USE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@ public:
|
||||
GameObject* go;
|
||||
if ((go = GetThorimObject(DATA_THORIM_LEVER)))
|
||||
{
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 48);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)48);
|
||||
go->SetGoState(GO_STATE_READY);
|
||||
}
|
||||
if ((go = GetThorimObject(DATA_THORIM_FIRST_DOORS)))
|
||||
@@ -485,7 +485,7 @@ public:
|
||||
if (_trashCounter >= 6)
|
||||
{
|
||||
if (GameObject* go = GetThorimObject(DATA_THORIM_LEVER))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, 48);
|
||||
go->RemoveGameObjectFlag((GameObjectFlags)48);
|
||||
|
||||
events.SetPhase(EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_START_PHASE1, 20000);
|
||||
@@ -593,7 +593,7 @@ public:
|
||||
|
||||
if ((go = me->SummonGameObject(chestId, 2134.73f, -286.32f, 419.51f, 0.0f, 0, 0, 0, 0, 0)))
|
||||
{
|
||||
go->SetUInt32Value(GAMEOBJECT_FLAGS, 0);
|
||||
go->ReplaceAllGameObjectFlags((GameObjectFlags)0);
|
||||
go->SetLootRecipient(me->GetMap());
|
||||
}
|
||||
|
||||
|
||||
@@ -795,7 +795,7 @@ public:
|
||||
case EVENT_SARA_P1_SPELLS:
|
||||
{
|
||||
uint32 spell = RAND(SPELL_SARAS_ANGER_TARGET_SELECTOR, SPELL_SARAS_BLESSING_TARGET_SELECTOR, SPELL_SARAS_FAVOR_TARGET_SELECTOR);
|
||||
me->CastSpell(me, spell, false);
|
||||
me->CastCustomSpell(spell, SPELLVALUE_MAX_TARGETS, 1, nullptr, false);
|
||||
SpellSounds();
|
||||
events.RepeatEvent(me->GetMap()->Is25ManRaid() ? urand(0, 3000) : 4000 + urand(0, 2000));
|
||||
break;
|
||||
|
||||
@@ -230,7 +230,7 @@ public:
|
||||
normalChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
|
||||
{
|
||||
m_hodirNormalChest = go->GetGUID();
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
}
|
||||
if (!m_hodirHardmodeChest)
|
||||
@@ -243,7 +243,7 @@ public:
|
||||
hardChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
|
||||
{
|
||||
m_hodirHardmodeChest = go->GetGUID();
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
hmHodir = true;
|
||||
}
|
||||
}
|
||||
@@ -261,7 +261,7 @@ public:
|
||||
normalChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
|
||||
{
|
||||
m_hodirNormalChest = go->GetGUID();
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
}
|
||||
if (!m_hodirHardmodeChest)
|
||||
@@ -274,7 +274,7 @@ public:
|
||||
hardChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
|
||||
{
|
||||
m_hodirHardmodeChest = go->GetGUID();
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
hmHodir = true;
|
||||
}
|
||||
}
|
||||
@@ -543,7 +543,7 @@ public:
|
||||
if (GetData(TYPE_MIMIRON) == DONE && GetData(TYPE_FREYA) == DONE && GetData(TYPE_HODIR) == DONE && GetData(TYPE_THORIM) == DONE)
|
||||
{
|
||||
instance->LoadGrid(1903.0f, 248.0f);
|
||||
gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
gameObject->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
}
|
||||
|
||||
m_keepersgateGUID = gameObject->GetGUID();
|
||||
@@ -590,7 +590,7 @@ public:
|
||||
case GO_CELESTIAL_PLANETARIUM_ACCESS_10:
|
||||
case GO_CELESTIAL_PLANETARIUM_ACCESS_25:
|
||||
if (m_algalonTimer)
|
||||
gameObject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE);
|
||||
gameObject->SetGameObjectFlag(GO_FLAG_IN_USE);
|
||||
break;
|
||||
case GO_DOODAD_UL_SIGILDOOR_01:
|
||||
m_algalonSigilDoorGUID[0] = gameObject->GetGUID();
|
||||
@@ -640,13 +640,13 @@ public:
|
||||
{
|
||||
if (GameObject* go = instance->GetGameObject(m_hodirHardmodeChest))
|
||||
{
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetLootRecipient(instance);
|
||||
}
|
||||
}
|
||||
if (GameObject* go = instance->GetGameObject(m_hodirNormalChest))
|
||||
{
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetLootRecipient(instance);
|
||||
}
|
||||
break;
|
||||
@@ -694,7 +694,7 @@ public:
|
||||
if (GetData(TYPE_MIMIRON) == DONE && GetData(TYPE_FREYA) == DONE && GetData(TYPE_HODIR) == DONE && GetData(TYPE_THORIM) == DONE)
|
||||
{
|
||||
if (GameObject* go = instance->GetGameObject(m_keepersgateGUID))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
|
||||
}
|
||||
if (type == TYPE_MIMIRON && data == IN_PROGRESS) // after reaching him without tram and starting the fight
|
||||
m_mimironTramUsed = true;
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
|
||||
bool OnGossipSelect(Player* /*player*/, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) override
|
||||
{
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
uint8 _keeper = 0;
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
@@ -285,7 +285,7 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetRegeneratingHealth(false);
|
||||
me->SetFaction(FACTION_PREY);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->CastSpell(me, 64770, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ public:
|
||||
// Reset statue
|
||||
if (GameObject* statisGenerator = m_pInstance->instance->GetGameObject(m_pInstance->GetGuidData(STATIS_GENERATOR)))
|
||||
{
|
||||
statisGenerator->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
statisGenerator->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
statisGenerator->SetGoState(GO_STATE_READY);
|
||||
}
|
||||
|
||||
@@ -802,7 +802,7 @@ public:
|
||||
if (pPalehoof && pPalehoof->IsAlive())
|
||||
{
|
||||
// maybe these are hacks :(
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGoState(GO_STATE_ACTIVE);
|
||||
|
||||
pPalehoof->AI()->DoAction(ACTION_START_EVENT);
|
||||
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
{
|
||||
case GO_ACTIVATION_CRYSTAL:
|
||||
HandleGameObject(ObjectGuid::Empty, false, go); // make go not used yet
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // not useable at the beginning
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // not useable at the beginning
|
||||
GO_ActivationCrystalGUID.push_back(go->GetGUID());
|
||||
break;
|
||||
case GO_MAIN_DOOR:
|
||||
@@ -451,7 +451,7 @@ public:
|
||||
if (GameObject* go = instance->GetGameObject(guid))
|
||||
{
|
||||
HandleGameObject(ObjectGuid::Empty, false, go); // not used yet
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // make it useable
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // make it useable
|
||||
}
|
||||
events.RescheduleEvent(EVENT_SUMMON_PORTAL, 4000);
|
||||
}
|
||||
@@ -545,7 +545,7 @@ public:
|
||||
if (GameObject* go = instance->GetGameObject(guid))
|
||||
{
|
||||
HandleGameObject(ObjectGuid::Empty, false, go); // not used yet
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); // not useable at the beginning
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE); // not useable at the beginning
|
||||
}
|
||||
|
||||
// reset positions of Sinclari and Guards
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
me->Respawn();
|
||||
me->UpdateEntry(NPC_BROKEN_KEEP_CANNON, nullptr, false);
|
||||
me->RemoveVehicleKit();
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
if (faction)
|
||||
me->SetFaction(faction);
|
||||
me->CreateVehicleKit(510, NPC_KEEP_CANNON);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
events.ScheduleEvent(EVENT_RESTORE_FLAG, 4000);
|
||||
}
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
switch (events.ExecuteEvent())
|
||||
{
|
||||
case EVENT_RESTORE_FLAG:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1181,7 +1181,7 @@ public:
|
||||
{
|
||||
Initialize();
|
||||
_emoteState = creature->GetUInt32Value(UNIT_NPC_EMOTESTATE);
|
||||
_npcFlags = creature->GetUInt32Value(UNIT_NPC_FLAGS);
|
||||
_npcFlags = creature->GetNpcFlags();
|
||||
}
|
||||
|
||||
void Initialize()
|
||||
@@ -1198,7 +1198,7 @@ public:
|
||||
|
||||
if (_npcFlags)
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, _npcFlags);
|
||||
me->ReplaceAllNpcFlags(_npcFlags);
|
||||
}
|
||||
|
||||
Initialize();
|
||||
@@ -1209,7 +1209,7 @@ public:
|
||||
void PreScript()
|
||||
{
|
||||
me->StopMoving();
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID))
|
||||
{
|
||||
@@ -1309,7 +1309,7 @@ public:
|
||||
private:
|
||||
EventMap _events;
|
||||
uint32 _emoteState;
|
||||
uint32 _npcFlags;
|
||||
NPCFlags _npcFlags;
|
||||
ObjectGuid _playerGUID;
|
||||
};
|
||||
|
||||
@@ -1562,8 +1562,8 @@ public:
|
||||
me->SetFaction(FACTION_VALIANCE_EXPEDITION_7);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
Initialize();
|
||||
}
|
||||
|
||||
@@ -1674,7 +1674,7 @@ public:
|
||||
_arlosGUID = arlos->GetGUID();
|
||||
arlos->SetWalk(true);
|
||||
arlos->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_IMMUNE_TO_PC);
|
||||
arlos->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
arlos->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
arlos->GetMotionMaster()->MovePath(PATH_ARLOS, false);
|
||||
}
|
||||
if (Creature* leryssa = me->SummonCreature(NPC_LERYSSA, 3751.0986f, 3614.9219f, 473.4048f, 4.5029f, TEMPSUMMON_CORPSE_TIMED_DESPAWN))
|
||||
@@ -1682,7 +1682,7 @@ public:
|
||||
_leryssaGUID = leryssa->GetGUID();
|
||||
leryssa->SetWalk(true);
|
||||
leryssa->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_IMMUNE_TO_PC);
|
||||
leryssa->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
leryssa->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
leryssa->GetMotionMaster()->MovePath(PATH_LERYSSA, false);
|
||||
}
|
||||
_events.ScheduleEvent(EVENT_THASSARIAN_SCRIPT_7, 7000);
|
||||
@@ -1798,8 +1798,8 @@ public:
|
||||
break;
|
||||
case EVENT_THASSARIAN_SCRIPT_19:
|
||||
// Leryssa set facing to me
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
if (Creature* leryssa = me->FindNearestCreature(NPC_LERYSSA, 50.0f, true))
|
||||
{
|
||||
_leryssaGUID = leryssa->GetGUID();
|
||||
@@ -1937,7 +1937,7 @@ public:
|
||||
{
|
||||
_playerGUID = player->GetGUID();
|
||||
CloseGossipMenuFor(player);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->GetMotionMaster()->MovePath(PATH_THASSARIAN, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,7 +222,7 @@ public:
|
||||
break;
|
||||
case EVENT_OUTRO_DH:
|
||||
me->GetMotionMaster()->MoveTargetedHome();
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
_events.Reset();
|
||||
break;
|
||||
}
|
||||
@@ -261,7 +261,7 @@ public:
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF:
|
||||
CloseGossipMenuFor(player);
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
creature->AI()->SetData(ACTION_SHANDY_INTRO, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -848,7 +848,7 @@ public:
|
||||
c->RemoveAllAuras();
|
||||
c->CastSpell(c, SPELL_SAC_HOLY_ZONE_AURA, true);
|
||||
if (GameObject* go = me->FindNearestGameObject(GO_SAC_LIGHTS_VENGEANCE_3, 150.0f))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
playerGUID.Clear();
|
||||
events.RescheduleEvent(2, 60000);
|
||||
}
|
||||
@@ -967,7 +967,7 @@ public:
|
||||
c->CastSpell(c, SPELL_SAC_VEGARD_SUMMON_GHOULS_AURA, false);
|
||||
}
|
||||
if (GameObject* go = me->FindNearestGameObject(GO_SAC_LIGHTS_VENGEANCE_1, 150.0f))
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case 15: // remove light
|
||||
if (Creature* x = me->FindNearestCreature(NPC_SAC_LIGHTS_VENGEANCE_VEH_2, 150.0f, true))
|
||||
@@ -1791,7 +1791,7 @@ public:
|
||||
if (!tree || !player)
|
||||
return;
|
||||
|
||||
tree->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);
|
||||
tree->RemoveNpcFlag(UNIT_NPC_FLAG_SPELLCLICK);
|
||||
|
||||
if (roll == 1) // friendly version
|
||||
{
|
||||
|
||||
@@ -859,7 +859,7 @@ public:
|
||||
_following = false;
|
||||
_runningScript = false;
|
||||
if (me->GetEntry() == NPC_LAKE_FROG_QUEST)
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -884,11 +884,11 @@ public:
|
||||
_events.ScheduleEvent(EVENT_LAKEFROG_3, 3000);
|
||||
break;
|
||||
case EVENT_LAKEFROG_3:
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
_events.ScheduleEvent(EVENT_LAKEFROG_4, 25000);
|
||||
break;
|
||||
case EVENT_LAKEFROG_4:
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
_events.ScheduleEvent(EVENT_LAKEFROG_5, 2000);
|
||||
break;
|
||||
case EVENT_LAKEFROG_5:
|
||||
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
summons.DespawnAll();
|
||||
playerGUID.Clear();
|
||||
currentQuest = 0;
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
|
||||
void JustSummoned(Creature* creature) override
|
||||
@@ -340,7 +340,7 @@ public:
|
||||
npc_battle_at_valhalasAI* vAI = CAST_AI(npc_battle_at_valhalas::npc_battle_at_valhalasAI, creature->AI());
|
||||
vAI->ResetData();
|
||||
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
if (vAI)
|
||||
vAI->StartBattle(player->GetGUID(), quest->GetQuestId());
|
||||
|
||||
@@ -487,7 +487,7 @@ public:
|
||||
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_START, 1000);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
me->SetWalk(true);
|
||||
me->SetUnitFlag(UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
|
||||
me->setActive(true);
|
||||
@@ -595,7 +595,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SCENE_10, 3000);
|
||||
break;
|
||||
case EVENT_SCENE_10:
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
Talk(SAY_ARETE_6);
|
||||
me->DespawnOrUnsummon(60000);
|
||||
break;
|
||||
|
||||
@@ -813,7 +813,7 @@ public:
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_COWER);
|
||||
_heading = me->GetOrientation();
|
||||
}
|
||||
@@ -827,7 +827,7 @@ public:
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_RECRUIT_1:
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
Talk(SAY_RECRUIT);
|
||||
_events.ScheduleEvent(EVENT_RECRUIT_2, 3000);
|
||||
|
||||
@@ -345,7 +345,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO
|
||||
nodes[0] = FlightPathStartNodes[NA_ROOST_N];
|
||||
nodes[1] = FlightPathEndNodes[NA_ROOST_N];
|
||||
player->ActivateTaxiPathTo(nodes);
|
||||
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP);
|
||||
player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP);
|
||||
player->UpdatePvP(true, true);
|
||||
retval = true;
|
||||
break;
|
||||
@@ -353,7 +353,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO
|
||||
nodes[0] = FlightPathStartNodes[NA_ROOST_S];
|
||||
nodes[1] = FlightPathEndNodes[NA_ROOST_S];
|
||||
player->ActivateTaxiPathTo(nodes);
|
||||
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP);
|
||||
player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP);
|
||||
player->UpdatePvP(true, true);
|
||||
retval = true;
|
||||
break;
|
||||
@@ -361,7 +361,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO
|
||||
nodes[0] = FlightPathStartNodes[NA_ROOST_W];
|
||||
nodes[1] = FlightPathEndNodes[NA_ROOST_W];
|
||||
player->ActivateTaxiPathTo(nodes);
|
||||
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP);
|
||||
player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP);
|
||||
player->UpdatePvP(true, true);
|
||||
retval = true;
|
||||
break;
|
||||
@@ -369,7 +369,7 @@ bool OPvPCapturePointNA::HandleCustomSpell(Player* player, uint32 spellId, GameO
|
||||
nodes[0] = FlightPathStartNodes[NA_ROOST_E];
|
||||
nodes[1] = FlightPathEndNodes[NA_ROOST_E];
|
||||
player->ActivateTaxiPathTo(nodes);
|
||||
player->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_IN_PVP);
|
||||
player->SetPlayerFlag(PLAYER_FLAGS_IN_PVP);
|
||||
player->UpdatePvP(true, true);
|
||||
retval = true;
|
||||
break;
|
||||
|
||||
@@ -71,7 +71,7 @@ public:
|
||||
{
|
||||
DoUseDoorOrButton(m_uiIkissDoorGUID, DAY * IN_MILLISECONDS);
|
||||
if (GameObject* coffer = instance->GetGameObject(_talonKingsCofferGUID))
|
||||
coffer->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND);
|
||||
coffer->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE | GO_FLAG_INTERACT_COND);
|
||||
}
|
||||
break;
|
||||
case TYPE_ANZU_ENCOUNTER:
|
||||
|
||||
@@ -796,7 +796,7 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->setActive(false);
|
||||
me->SetVisible(instance->GetBossState(DATA_ILLIDARI_COUNCIL) == DONE && instance->GetBossState(DATA_ILLIDAN_STORMRAGE) != DONE);
|
||||
events.Reset();
|
||||
@@ -806,7 +806,7 @@ public:
|
||||
void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
me->setActive(true);
|
||||
|
||||
if (instance->GetBossState(DATA_AKAMA_FINISHED) != DONE)
|
||||
@@ -835,7 +835,7 @@ public:
|
||||
void JustSummoned(Creature* summon) override
|
||||
{
|
||||
summons.Summon(summon);
|
||||
summon->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE);
|
||||
summon->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
if (summon->GetEntry() == NPC_ILLIDARI_ELITE)
|
||||
{
|
||||
me->AddThreat(summon, 1000000.0f);
|
||||
@@ -864,7 +864,7 @@ public:
|
||||
}
|
||||
else if (pointId == POINT_ILLIDAN)
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->setActive(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
}
|
||||
|
||||
@@ -294,11 +294,11 @@ public:
|
||||
{
|
||||
if (instance->GetBossState(DATA_SHADE_OF_AKAMA) == DONE)
|
||||
{
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
return;
|
||||
}
|
||||
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
me->CastSpell(me, SPELL_STEALTH, true);
|
||||
events.Reset();
|
||||
events2.Reset();
|
||||
@@ -425,7 +425,7 @@ public:
|
||||
if (action == 0)
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
events2.ScheduleEvent(EVENT_AKAMA_START_ENCOUNTER, 0);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -56,7 +56,7 @@ public:
|
||||
if (type == DATA_LADY_VASHJ)
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
if (GameObject* gobject = instance->GetGameObject(ShieldGeneratorGUID[i]))
|
||||
gobject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gobject->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -158,7 +158,7 @@ public:
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
if (GameObject* gobject = instance->GetGameObject(ShieldGeneratorGUID[i]))
|
||||
{
|
||||
gobject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
gobject->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
vashj->SummonTrigger(gobject->GetPositionX(), gobject->GetPositionY(), gobject->GetPositionZ(), 0.0f, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -33,14 +33,14 @@ public:
|
||||
if (go->GetEntry() == GO_ACCESS_PANEL_HYDRO)
|
||||
if (instance->GetData(TYPE_HYDROMANCER_THESPIA) == DONE)
|
||||
{
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
instance->SetData(TYPE_HYDROMANCER_THESPIA, SPECIAL);
|
||||
}
|
||||
|
||||
if (go->GetEntry() == GO_ACCESS_PANEL_MEK)
|
||||
if (instance->GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE)
|
||||
{
|
||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
instance->SetData(TYPE_MEKGINEER_STEAMRIGGER, SPECIAL);
|
||||
}
|
||||
|
||||
@@ -105,14 +105,14 @@ public:
|
||||
case GO_ACCESS_PANEL_HYDRO:
|
||||
AccessPanelHydro = go->GetGUID();
|
||||
if (GetData(TYPE_HYDROMANCER_THESPIA) == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
else if (GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL)
|
||||
HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
break;
|
||||
case GO_ACCESS_PANEL_MEK:
|
||||
AccessPanelMek = go->GetGUID();
|
||||
if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE)
|
||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
else if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL)
|
||||
HandleGameObject(ObjectGuid::Empty, true, go);
|
||||
break;
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
else if (data == DONE)
|
||||
{
|
||||
if (GameObject* panel = instance->GetGameObject(AccessPanelHydro))
|
||||
panel->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
panel->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
m_auiEncounter[type] = data;
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
else if (data == DONE)
|
||||
{
|
||||
if (GameObject* panel = instance->GetGameObject(AccessPanelMek))
|
||||
panel->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
panel->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
m_auiEncounter[type] = data;
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ public:
|
||||
|
||||
if (type == DATA_VAZRUDEN && state == DONE)
|
||||
if (GameObject* chest = instance->GetGameObject(felIronChestGUID))
|
||||
chest->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
chest->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -142,7 +142,7 @@ public:
|
||||
{
|
||||
for (ObjectGuid const& guid : _cubesSet)
|
||||
if (GameObject* cube = instance->GetGameObject(guid))
|
||||
cube->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
cube->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
if (state == NOT_STARTED)
|
||||
SetData(DATA_COLLAPSE, GO_READY);
|
||||
@@ -163,7 +163,7 @@ public:
|
||||
case DATA_ACTIVATE_CUBES:
|
||||
for (ObjectGuid const& guid : _cubesSet)
|
||||
if (GameObject* cube = instance->GetGameObject(guid))
|
||||
cube->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
cube->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
break;
|
||||
case DATA_COLLAPSE:
|
||||
for (ObjectGuid const& guid : _columnSet)
|
||||
|
||||
@@ -347,7 +347,7 @@ public:
|
||||
{
|
||||
instance->DoCastSpellOnPlayers(SPELL_QID10886);
|
||||
creature->AI()->Talk(SAY_COMPLETE);
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -772,7 +772,7 @@ public:
|
||||
_events.ScheduleEvent(EVENT_SIMON_PERIODIC_PLAYER_CHECK, 2000);
|
||||
|
||||
if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance))
|
||||
relic->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
relic->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
// Called when despawning the bunny. Sets all the node GOs to their default states.
|
||||
@@ -782,14 +782,14 @@ public:
|
||||
|
||||
for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++)
|
||||
if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance))
|
||||
cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
cluster->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
for (uint32 auraId = GO_AURA_BLUE; auraId <= GO_AURA_YELLOW; auraId++)
|
||||
if (GameObject* auraGo = me->FindNearestGameObject(auraId, searchDistance))
|
||||
auraGo->RemoveFromWorld();
|
||||
|
||||
if (GameObject* relic = me->FindNearestGameObject(large ? GO_APEXIS_MONUMENT : GO_APEXIS_RELIC, searchDistance))
|
||||
relic->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
relic->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
me->DespawnOrUnsummon(1000);
|
||||
}
|
||||
@@ -832,7 +832,7 @@ public:
|
||||
{
|
||||
for (uint32 clusterId = SIMON_BLUE; clusterId < SIMON_MAX_COLORS; clusterId++)
|
||||
if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], searchDistance))
|
||||
cluster->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
cluster->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
if (clustersOnly)
|
||||
return;
|
||||
@@ -886,7 +886,7 @@ public:
|
||||
{
|
||||
if (GameObject* cluster = me->FindNearestGameObject(clusterIds[clusterId], 2.0f * searchDistance))
|
||||
{
|
||||
cluster->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||
cluster->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
||||
|
||||
// break since we don't need glowing auras for large clusters
|
||||
if (large)
|
||||
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
envelopingWinds_Timer = 9000;
|
||||
shock_Timer = 5000;
|
||||
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
|
||||
Talk(SAY_SUMMON);
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
if (HealthBelowPct(30))
|
||||
{
|
||||
me->SetFaction(FACTION_FRIENDLY);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->RemoveAllAuras();
|
||||
me->DeleteThreatList();
|
||||
me->CombatStop(true);
|
||||
|
||||
@@ -265,7 +265,7 @@ public:
|
||||
if (action == GOSSIP_ACTION_INFO_DEF + 1)
|
||||
{
|
||||
CloseGossipMenuFor(player);
|
||||
creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
creature->AI()->DoAction(EVENT_START_PLAYER_READY);
|
||||
if (Creature* orelis = creature->FindNearestCreature(EXARCH_ORELIS, 15.0f, true))
|
||||
orelis->AI()->DoAction(EVENT_ORELIS_WALK);
|
||||
@@ -397,7 +397,7 @@ public:
|
||||
if (param == EVENT_KARJA_WALK)
|
||||
{
|
||||
me->GetMotionMaster()->MovePath(KARJA_PATH_ID, false);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
else if (param == RESET_DEATHBLOW_EVENT)
|
||||
{
|
||||
@@ -470,7 +470,7 @@ public:
|
||||
if (param == EVENT_ORELIS_WALK)
|
||||
{
|
||||
me->GetMotionMaster()->MovePath(ORELIS_PATH_ID, false);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
else if (param == RESET_DEATHBLOW_EVENT)
|
||||
{
|
||||
@@ -643,7 +643,7 @@ public:
|
||||
|
||||
if (GetCreature(ISHANAH_HIGH_PRIESTESS))
|
||||
{
|
||||
ishanah->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
ishanah->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
ishanah->DespawnOrUnsummon(60000);
|
||||
}
|
||||
|
||||
@@ -793,7 +793,7 @@ public:
|
||||
if (Creature* summonIshanah = me->SummonCreature(ISHANAH_HIGH_PRIESTESS, IshanahSpawnPosition, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 180000))
|
||||
{
|
||||
summonIshanah->GetMotionMaster()->MovePath(ISHANAH_PATH_ID, false);
|
||||
summonIshanah->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
summonIshanah->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
break;
|
||||
case EVENT_ISHANAH_SAY_1:
|
||||
@@ -853,7 +853,7 @@ public:
|
||||
ishanah->Respawn();
|
||||
ishanah->setActive(true); // ensure that Ishanah disappears, even when no player is near
|
||||
ishanah->DespawnOrUnsummon(600000); // ensure that Ishanah disappears after 10 minutes
|
||||
ishanah->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
ishanah->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
}
|
||||
_actionEvents.ScheduleEvent(EVENT_SOCRETHAR_SAY_6, 3000);
|
||||
break;
|
||||
@@ -1166,7 +1166,7 @@ public:
|
||||
{
|
||||
Talk(SAY_SAEED_2);
|
||||
SetEscortPaused(false);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1208,7 +1208,7 @@ public:
|
||||
{
|
||||
case 16:
|
||||
Talk(SAY_SAEED_1);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP);
|
||||
SetEscortPaused(true);
|
||||
break;
|
||||
case 18:
|
||||
|
||||
@@ -172,7 +172,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI
|
||||
_init = true;
|
||||
uint32 duration = 0;
|
||||
uint32 aura = 0;
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
|
||||
if (Unit* owner = me->GetCharmerOrOwner())
|
||||
if (Player* player = owner->ToPlayer())
|
||||
@@ -182,7 +182,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI
|
||||
|
||||
aura = (player->GetTeamId(true) == TEAM_ALLIANCE ? SPELL_AURA_TIRED_S : SPELL_AURA_TIRED_G);
|
||||
duration = player->GetSpellCooldownDelay(aura);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
@@ -231,7 +231,7 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI
|
||||
{
|
||||
_mountTimer = 0;
|
||||
if (_state == ARGENT_PONY_STATE_NONE)
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, 0);
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_NONE);
|
||||
else if (Unit* owner = me->GetCharmerOrOwner())
|
||||
{
|
||||
if (owner->IsMounted() && !me->IsMounted())
|
||||
@@ -294,20 +294,20 @@ struct npc_pet_gen_argent_pony_bridle : public ScriptedAI
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_TRADE:
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_VENDOR);
|
||||
creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_VENDOR);
|
||||
player->GetSession()->SendListInventory(creature->GetGUID());
|
||||
spellId = player->GetTeamId(true) ? SPELL_AURA_SHOP_G : SPELL_AURA_SHOP_S;
|
||||
creature->AI()->DoAction(ARGENT_PONY_STATE_VENDOR);
|
||||
break;
|
||||
case GOSSIP_ACTION_BANK:
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_BANKER);
|
||||
creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_BANKER);
|
||||
player->GetSession()->SendShowBank(player->GetGUID());
|
||||
spellId = player->GetTeamId(true) ? SPELL_AURA_BANK_G : SPELL_AURA_BANK_S;
|
||||
creature->AI()->DoAction(ARGENT_PONY_STATE_BANK);
|
||||
break;
|
||||
case GOSSIP_ACTION_MAILBOX:
|
||||
{
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_MAILBOX);
|
||||
creature->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_MAILBOX);
|
||||
player->GetSession()->SendShowMailBox(creature->GetGUID());
|
||||
spellId = player->GetTeamId(true) ? SPELL_AURA_POSTMAN_G : SPELL_AURA_POSTMAN_S;
|
||||
creature->AI()->DoAction(ARGENT_PONY_STATE_MAILBOX);
|
||||
|
||||
@@ -895,7 +895,7 @@ public:
|
||||
if (player->GetQuestStatus(QUEST_THE_FIRST_TRIAL) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
_playerGUID = player->GetGUID();
|
||||
me->SetFlag(GAMEOBJECT_FLAGS, 1);
|
||||
me->SetGameObjectFlag((GameObjectFlags)1);
|
||||
me->RemoveByteFlag(GAMEOBJECT_BYTES_1, 0, 1);
|
||||
_events.ScheduleEvent(EVENT_STILLBLADE_SPAWN, 1000);
|
||||
}
|
||||
@@ -922,7 +922,7 @@ public:
|
||||
}
|
||||
case EVENT_RESET_BRAZIER:
|
||||
{
|
||||
me->RemoveFlag(GAMEOBJECT_FLAGS, 1);
|
||||
me->RemoveGameObjectFlag((GameObjectFlags)1);
|
||||
me->SetByteFlag(GAMEOBJECT_BYTES_1, 0, 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1272,9 +1272,9 @@ public:
|
||||
{
|
||||
if (!HasLeatherSpecialty(player) && (player->GetQuestRewardStatus(5141) || player->GetQuestRewardStatus(5143) || player->GetQuestRewardStatus(5144) || player->GetQuestRewardStatus(5145) || player->GetQuestRewardStatus(5146) || player->GetQuestRewardStatus(5148)))
|
||||
{
|
||||
AddGossipItemFor(player, GOSSIP_MENU_GO_SOOTHSAYING_FOR_DUMMIES, GOSSIP_MENU_OPTION_GO_LEARN_DRAGONSCALE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_GO_SOOTHSAYING_FOR_DUMMIES, GOSSIP_MENU_OPTION_GO_LEARN_ELEMENTAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_GO_SOOTHSAYING_FOR_DUMMIES, GOSSIP_MENU_OPTION_GO_LEARN_TRIBAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_GO_SOOTHSAYING_FOR_DUMMIES, GOSSIP_MENU_OPTION_GO_LEARN_DRAGONSCALE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 5);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_GO_SOOTHSAYING_FOR_DUMMIES, GOSSIP_MENU_OPTION_GO_LEARN_ELEMENTAL, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 6);
|
||||
AddGossipItemFor(player, GOSSIP_MENU_GO_SOOTHSAYING_FOR_DUMMIES, GOSSIP_MENU_OPTION_GO_LEARN_TRIBAL, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 7);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ void NPCStaveQuestAI::PrepareForEncounter()
|
||||
SetHomePosition();
|
||||
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
void NPCStaveQuestAI::ClearLootIfUnfair(Unit* killer)
|
||||
@@ -233,7 +233,7 @@ void NPCStaveQuestAI::ResetState(uint32 aura = 0)
|
||||
if (InNormalForm())
|
||||
{
|
||||
me->m_Events.KillAllEvents(true);
|
||||
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
me->RemoveAura(aura);
|
||||
@@ -294,7 +294,7 @@ public:
|
||||
void EnterCombat(Unit* victim) override
|
||||
{
|
||||
RevealForm();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
if (InNormalForm())
|
||||
{
|
||||
@@ -480,7 +480,7 @@ public:
|
||||
void EnterCombat(Unit* /*victim*/) override
|
||||
{
|
||||
RevealForm();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 /*diff*/) override
|
||||
@@ -646,7 +646,7 @@ public:
|
||||
void EnterCombat(Unit* victim) override
|
||||
{
|
||||
RevealForm();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
if (!InNormalForm())
|
||||
{
|
||||
@@ -878,7 +878,7 @@ public:
|
||||
void EnterCombat(Unit* victim) override
|
||||
{
|
||||
RevealForm();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
if (InNormalForm())
|
||||
{
|
||||
@@ -1060,7 +1060,7 @@ public:
|
||||
void EnterCombat(Unit* victim) override
|
||||
{
|
||||
RevealForm();
|
||||
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
if (!InNormalForm())
|
||||
{
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user