*Thread safe player searcher in scripts.
--HG-- branch : trunk
This commit is contained in:
@@ -309,7 +309,7 @@ void FollowerAI::StartFollow(Player* pLeader, uint32 uiFactionForFollower, const
|
||||
|
||||
Player* FollowerAI::GetLeaderForFollower()
|
||||
{
|
||||
if (Player* pLeader = Unit::GetPlayer(m_uiLeaderGUID))
|
||||
if (Player* pLeader = Unit::GetPlayer(*me, m_uiLeaderGUID))
|
||||
{
|
||||
if (pLeader->isAlive())
|
||||
return pLeader;
|
||||
|
||||
@@ -12851,9 +12851,9 @@ Unit* Unit::GetUnit(WorldObject& object, uint64 guid)
|
||||
return ObjectAccessor::GetUnit(object,guid);
|
||||
}
|
||||
|
||||
Player* Unit::GetPlayer(uint64 guid)
|
||||
Player* Unit::GetPlayer(WorldObject& object, uint64 guid)
|
||||
{
|
||||
return ObjectAccessor::FindPlayer(guid);
|
||||
return ObjectAccessor::GetPlayer(object,guid);
|
||||
}
|
||||
|
||||
Creature* Unit::GetCreature(WorldObject& object, uint64 guid)
|
||||
|
||||
@@ -1868,7 +1868,7 @@ class Unit : public WorldObject
|
||||
void addFollower(FollowerReference* pRef) { m_FollowingRefManager.insertFirst(pRef); }
|
||||
void removeFollower(FollowerReference* /*pRef*/) { /* nothing to do yet */ }
|
||||
static Unit* GetUnit(WorldObject& object, uint64 guid);
|
||||
static Player* GetPlayer(uint64 guid);
|
||||
static Player* GetPlayer(WorldObject& object, uint64 guid);
|
||||
static Creature* GetCreature(WorldObject& object, uint64 guid);
|
||||
|
||||
MotionMaster* GetMotionMaster(){ return &i_motionMaster; }
|
||||
|
||||
@@ -1651,6 +1651,9 @@ void UnitAura::FillTargetMap(std::map<Unit *, uint8> & targets, Unit * caster)
|
||||
DynObjAura::DynObjAura(SpellEntry const* spellproto, uint8 effMask, WorldObject * owner, Unit * caster, int32 *baseAmount, Item * castItem, uint64 casterGUID)
|
||||
: Aura(spellproto, effMask, owner, caster, baseAmount, castItem, casterGUID)
|
||||
{
|
||||
ASSERT(GetDynobjOwner());
|
||||
ASSERT(GetDynobjOwner()->IsInWorld());
|
||||
ASSERT(GetDynobjOwner()->GetMap() == caster->GetMap());
|
||||
GetDynobjOwner()->SetAura(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -351,7 +351,7 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx)
|
||||
uint8 count = 0;
|
||||
for (std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
|
||||
if (ihit->targetGUID != m_caster->GetGUID())
|
||||
if (Player *target = ObjectAccessor::FindPlayer(ihit->targetGUID))
|
||||
if (Player *target = ObjectAccessor::GetPlayer(*m_caster, ihit->targetGUID))
|
||||
if (target->HasAura(m_triggeredByAuraSpell->Id))
|
||||
++count;
|
||||
if (count)
|
||||
|
||||
@@ -138,7 +138,7 @@ struct npc_unworthy_initiateAI : public ScriptedAI
|
||||
wait_timer = 5000;
|
||||
me->CastSpell(me, SPELL_DK_INITIATE_VISUAL, true);
|
||||
|
||||
if (Player* starter = Unit::GetPlayer(playerGUID))
|
||||
if (Player* starter = Unit::GetPlayer(*me, playerGUID))
|
||||
DoScriptText(say_event_attack[rand()%9], me, starter);
|
||||
|
||||
phase = PHASE_TO_ATTACK;
|
||||
@@ -246,7 +246,7 @@ void npc_unworthy_initiateAI::UpdateAI(const uint32 diff)
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
|
||||
phase = PHASE_ATTACKING;
|
||||
|
||||
if (Player *pTarget = Unit::GetPlayer(playerGUID))
|
||||
if (Player *pTarget = Unit::GetPlayer(*me, playerGUID))
|
||||
me->AI()->AttackStart(pTarget);
|
||||
wait_timer = 0;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ struct npc_crusade_persuadedAI : public ScriptedAI
|
||||
{
|
||||
if (uiSpeech_timer <= diff)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(uiPlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, uiPlayerGUID);
|
||||
if (!pPlayer)
|
||||
{
|
||||
EnterEvadeMode();
|
||||
@@ -634,7 +634,7 @@ struct npc_a_special_surpriseAI : public ScriptedAI
|
||||
{
|
||||
if (ExecuteSpeech_Timer <= diff)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!pPlayer)
|
||||
{
|
||||
|
||||
@@ -383,7 +383,7 @@ struct npc_muru_portalAI : public Scripted_NoMovementAI
|
||||
void JustSummoned(Creature* summoned)
|
||||
{
|
||||
if (pInstance)
|
||||
if (Player* Target = Unit::GetPlayer(pInstance->GetData64(DATA_PLAYER_GUID)))
|
||||
if (Player* Target = Unit::GetPlayer(*me, pInstance->GetData64(DATA_PLAYER_GUID)))
|
||||
summoned->AI()->AttackStart(Target);
|
||||
|
||||
Summons.Summon(summoned);
|
||||
|
||||
@@ -115,7 +115,7 @@ struct npc_zulaman_hostageAI : public ScriptedAI
|
||||
void EnterCombat(Unit * /*who*/) {}
|
||||
void JustDied(Unit* /*who*/)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer) pPlayer->SendLoot(me->GetGUID(), LOOT_CORPSE);
|
||||
}
|
||||
void UpdateAI(const uint32 /*diff*/)
|
||||
|
||||
@@ -524,14 +524,14 @@ struct npc_apprentice_mirvedaAI : public ScriptedAI
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
if (PlayerGUID)
|
||||
if (Player* pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
CAST_PLR(pPlayer)->FailQuest(QUEST_UNEXPECTED_RESULT);
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 /*diff*/)
|
||||
{
|
||||
if (KillCount >= 3 && PlayerGUID)
|
||||
if (Player* pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
CAST_PLR(pPlayer)->CompleteQuest(QUEST_UNEXPECTED_RESULT);
|
||||
|
||||
if (Summon)
|
||||
@@ -625,7 +625,7 @@ struct npc_infused_crystalAI : public Scripted_NoMovementAI
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
if (PlayerGUID && !Completed)
|
||||
if (Player* pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
CAST_PLR(pPlayer)->FailQuest(QUEST_POWERING_OUR_DEFENSES);
|
||||
}
|
||||
|
||||
@@ -636,7 +636,7 @@ struct npc_infused_crystalAI : public Scripted_NoMovementAI
|
||||
DoScriptText(EMOTE, me);
|
||||
Completed = true;
|
||||
if (PlayerGUID)
|
||||
if (Player* pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
CAST_PLR(pPlayer)->CompleteQuest(QUEST_POWERING_OUR_DEFENSES);
|
||||
|
||||
me->DealDamage(me,me->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||
|
||||
@@ -255,7 +255,7 @@ struct pyrewood_ambushAI : public ScriptedAI
|
||||
Unit *pTarget = NULL;
|
||||
if (PlayerGUID)
|
||||
{
|
||||
pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer)
|
||||
pTarget = RAND((Unit*)me, (Unit*)pPlayer);
|
||||
} else
|
||||
@@ -273,7 +273,7 @@ struct pyrewood_ambushAI : public ScriptedAI
|
||||
void JustDied(Unit * /*pKiller*/)
|
||||
{
|
||||
if (PlayerGUID)
|
||||
if (Player *pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player *pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
if (pPlayer->GetQuestStatus(QUEST_PYREWOOD_AMBUSH) == QUEST_STATUS_INCOMPLETE)
|
||||
pPlayer->FailQuest(QUEST_PYREWOOD_AMBUSH);
|
||||
}
|
||||
@@ -326,7 +326,7 @@ struct pyrewood_ambushAI : public ScriptedAI
|
||||
case 5: //end
|
||||
if (PlayerGUID)
|
||||
{
|
||||
if (Player *pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player *pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
{
|
||||
me->MonsterSay(NPCSAY_END, LANG_UNIVERSAL, 0); //not blizzlike
|
||||
pPlayer->GroupEventHappens(QUEST_PYREWOOD_AMBUSH, me);
|
||||
|
||||
@@ -109,7 +109,7 @@ struct npc_calvin_montagueAI : public ScriptedAI
|
||||
++m_uiPhase;
|
||||
break;
|
||||
case 2:
|
||||
if (Player *pPlayer = Unit::GetPlayer(m_uiPlayerGUID))
|
||||
if (Player *pPlayer = Unit::GetPlayer(*me, m_uiPlayerGUID))
|
||||
pPlayer->AreaExploredOrEventHappens(QUEST_590);
|
||||
|
||||
DoCast(me, SPELL_DRINK, true);
|
||||
|
||||
@@ -101,7 +101,7 @@ struct npc_sergeant_blyAI : public ScriptedAI
|
||||
break;
|
||||
case 3:
|
||||
me->setFaction(FACTION_HOSTILE);
|
||||
if (Player* pTarget = Player::GetPlayer(PlayerGUID))
|
||||
if (Player* pTarget = Player::GetPlayer(*me, PlayerGUID))
|
||||
AttackStart(pTarget);
|
||||
|
||||
if (pInstance)
|
||||
|
||||
@@ -309,7 +309,7 @@ struct mob_rizzle_sprysprocketAI : public ScriptedAI
|
||||
me->AI_SendMoveToPacket(3706.39, -3969.15, 35.9118, 0, 0, 0);
|
||||
}
|
||||
//begin swimming and summon depth charges
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
SendText(MSG_ESCAPE_NOTICE, pPlayer);
|
||||
DoCast(me, SPELL_PERIODIC_DEPTH_CHARGE);
|
||||
me->SetUnitMovementFlags(MOVEMENTFLAG_HOVER | MOVEMENTFLAG_SWIMMING);
|
||||
@@ -330,7 +330,7 @@ struct mob_rizzle_sprysprocketAI : public ScriptedAI
|
||||
|
||||
if (Grenade_Timer <= diff)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer)
|
||||
{
|
||||
DoScriptText(SAY_RIZZLE_GRENADE, me, pPlayer);
|
||||
@@ -341,7 +341,7 @@ struct mob_rizzle_sprysprocketAI : public ScriptedAI
|
||||
|
||||
if (Check_Timer <= diff)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (!pPlayer)
|
||||
{
|
||||
me->ForcedDespawn();
|
||||
|
||||
@@ -125,7 +125,7 @@ struct npc_draenei_survivorAI : public ScriptedAI
|
||||
{
|
||||
me->RemoveAurasDueToSpell(SPELL_IRRIDATION);
|
||||
|
||||
if (Player* pPlayer = Unit::GetPlayer(pCaster))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, pCaster))
|
||||
{
|
||||
DoScriptText(RAND(SAY_HEAL1, SAY_HEAL2, SAY_HEAL3, SAY_HEAL4), me, pPlayer);
|
||||
|
||||
|
||||
@@ -291,7 +291,7 @@ public:
|
||||
if (!PlayerGUID)
|
||||
return;
|
||||
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer && pPlayer->GetQuestStatus(10965) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
pPlayer->FailQuest(10965);
|
||||
@@ -302,7 +302,7 @@ public:
|
||||
|
||||
void EnterEvadeMode()
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer && pPlayer->isInCombat() && pPlayer->getAttackerForHelper())
|
||||
{
|
||||
AttackStart(pPlayer->getAttackerForHelper());
|
||||
@@ -351,7 +351,7 @@ public:
|
||||
{
|
||||
if (checkPlayer_Timer <= diff)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer && pPlayer->isInCombat() && pPlayer->getAttackerForHelper())
|
||||
AttackStart(pPlayer->getAttackerForHelper());
|
||||
checkPlayer_Timer = 1000;
|
||||
@@ -361,7 +361,7 @@ public:
|
||||
if (Event_onWait && Event_Timer <= diff)
|
||||
{
|
||||
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (!pPlayer || (pPlayer && pPlayer->GetQuestStatus(10965) == QUEST_STATUS_NONE))
|
||||
{
|
||||
me->setDeathState(JUST_DIED);
|
||||
|
||||
@@ -156,7 +156,7 @@ struct npc_kyle_frenziedAI : public ScriptedAI
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USESTANDING);
|
||||
break;
|
||||
case 3:
|
||||
if (Player* pUnit = Unit::GetPlayer(uiPlayerGUID))
|
||||
if (Player* pUnit = Unit::GetPlayer(*me, uiPlayerGUID))
|
||||
pUnit->TalkedToCreature(me->GetEntry(), me->GetGUID());
|
||||
|
||||
me->UpdateEntry(NPC_KYLE_FRIENDLY);
|
||||
|
||||
@@ -103,7 +103,7 @@ struct npc_shenthulAI : public ScriptedAI
|
||||
{
|
||||
if (Reset_Timer <= diff)
|
||||
{
|
||||
if (Player* pPlayer = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID))
|
||||
{
|
||||
if (pPlayer->GetTypeId() == TYPEID_PLAYER && pPlayer->GetQuestStatus(QUEST_SHATTERED_SALUTE) == QUEST_STATUS_INCOMPLETE)
|
||||
pPlayer->FailQuest(QUEST_SHATTERED_SALUTE);
|
||||
|
||||
@@ -500,7 +500,7 @@ struct npc_anachronos_the_ancientAI : public ScriptedAI
|
||||
|
||||
void HandleAnimation()
|
||||
{
|
||||
Player* plr = Unit::GetPlayer(PlayerGUID);
|
||||
Player* plr = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (!plr)
|
||||
return;
|
||||
|
||||
@@ -960,7 +960,7 @@ struct npc_anachronos_quest_triggerAI : public ScriptedAI
|
||||
|
||||
void CheckEventFail()
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!pPlayer)
|
||||
return;
|
||||
@@ -977,7 +977,7 @@ struct npc_anachronos_quest_triggerAI : public ScriptedAI
|
||||
|
||||
for (Group::member_citerator itr = members.begin(); itr!= members.end(); ++itr)
|
||||
{
|
||||
GroupMember = (Unit::GetPlayer(itr->guid));
|
||||
GroupMember = (Unit::GetPlayer(*me, itr->guid));
|
||||
if (!GroupMember)
|
||||
continue;
|
||||
if (!GroupMember->IsWithinDistInMap(me, EVENT_AREA_RADIUS) && GroupMember->GetQuestStatus(QUEST_A_PAWN_ON_THE_ETERNAL_BOARD) == QUEST_STATUS_INCOMPLETE)
|
||||
|
||||
@@ -362,7 +362,7 @@ struct npc_twiggy_flatheadAI : public ScriptedAI
|
||||
Player* pWarrior = NULL;
|
||||
|
||||
if (PlayerGUID)
|
||||
pWarrior = Unit::GetPlayer(PlayerGUID);
|
||||
pWarrior = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!pWarrior)
|
||||
return;
|
||||
|
||||
@@ -171,7 +171,7 @@ struct boss_devourer_of_soulsAI : public ScriptedAI
|
||||
{
|
||||
if (uiMirroredSoulTarget && me->HasAura(SPELL_MIRRORED_SOUL))
|
||||
{
|
||||
if (Player *pPlayer = Unit::GetPlayer(uiMirroredSoulTarget))
|
||||
if (Player *pPlayer = Unit::GetPlayer(*me, uiMirroredSoulTarget))
|
||||
{
|
||||
if (Aura *pAura = pPlayer->GetAura(SPELL_MIRRORED_SOUL))
|
||||
{
|
||||
|
||||
@@ -286,7 +286,7 @@ struct boss_kelthuzadAI : public BossAI
|
||||
std::map<uint64, float>::const_iterator itr;
|
||||
for (itr = chained.begin(); itr != chained.end(); ++itr)
|
||||
{
|
||||
if (Player* charmed = Unit::GetPlayer((*itr).first))
|
||||
if (Player* charmed = Unit::GetPlayer(*me, (*itr).first))
|
||||
charmed->SetFloatValue(OBJECT_FIELD_SCALE_X, (*itr).second);
|
||||
}
|
||||
|
||||
@@ -331,7 +331,7 @@ struct boss_kelthuzadAI : public BossAI
|
||||
std::map<uint64, float>::const_iterator itr;
|
||||
for (itr = chained.begin(); itr != chained.end(); ++itr)
|
||||
{
|
||||
if (Player* pPlayer = Unit::GetPlayer((*itr).first))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, (*itr).first))
|
||||
pPlayer->SetFloatValue(OBJECT_FIELD_SCALE_X, (*itr).second);
|
||||
}
|
||||
chained.clear();
|
||||
@@ -511,7 +511,7 @@ struct boss_kelthuzadAI : public BossAI
|
||||
std::map<uint64, float>::iterator itr;
|
||||
for (itr = chained.begin(); itr != chained.end();)
|
||||
{
|
||||
if (Unit* player = Unit::GetPlayer((*itr).first))
|
||||
if (Unit* player = Unit::GetPlayer(*me, (*itr).first))
|
||||
{
|
||||
if (!player->isCharmed())
|
||||
{
|
||||
|
||||
@@ -203,7 +203,7 @@ struct boss_sapphironAI : public BossAI
|
||||
{
|
||||
for (IceBlockMap::const_iterator itr = iceblocks.begin(); itr != iceblocks.end(); ++itr)
|
||||
{
|
||||
if (Player* pPlayer = Unit::GetPlayer(itr->first))
|
||||
if (Player* pPlayer = Unit::GetPlayer(*me, itr->first))
|
||||
pPlayer->RemoveAura(SPELL_ICEBOLT);
|
||||
if (GameObject* pGo = GameObject::GetGameObject(*me, itr->second))
|
||||
pGo->Delete();
|
||||
|
||||
@@ -133,7 +133,7 @@ struct npc_sinkhole_kill_creditAI : public ScriptedAI
|
||||
break;
|
||||
case 7:
|
||||
DoCast(me, SPELL_EXPLODE_CART, true);
|
||||
if (Player *caster = Unit::GetPlayer(casterGuid))
|
||||
if (Player *caster = Unit::GetPlayer(*me, casterGuid))
|
||||
caster->KilledMonster(me->GetCreatureInfo(),me->GetGUID());
|
||||
uiPhaseTimer = 5000;
|
||||
Phase = 8;
|
||||
@@ -808,7 +808,7 @@ struct npc_nexus_drake_hatchlingAI : public FollowerAI //The spell who makes the
|
||||
{
|
||||
if (me->IsWithinDistInMap(pWho, INTERACTION_DISTANCE))
|
||||
{
|
||||
if (Player *pHarpooner = Unit::GetPlayer(HarpoonerGUID))
|
||||
if (Player *pHarpooner = Unit::GetPlayer(*me, HarpoonerGUID))
|
||||
{
|
||||
pHarpooner->KilledMonsterCredit(26175,0);
|
||||
pHarpooner->RemoveAura(SPELL_DRAKE_HATCHLING_SUBDUED);
|
||||
@@ -824,7 +824,7 @@ struct npc_nexus_drake_hatchlingAI : public FollowerAI //The spell who makes the
|
||||
{
|
||||
if (WithRedDragonBlood && HarpoonerGUID && !me->HasAura(SPELL_RED_DRAGONBLOOD))
|
||||
{
|
||||
if (Player *pHarpooner = Unit::GetPlayer(HarpoonerGUID))
|
||||
if (Player *pHarpooner = Unit::GetPlayer(*me, HarpoonerGUID))
|
||||
{
|
||||
EnterEvadeMode();
|
||||
StartFollow(pHarpooner, 35, NULL);
|
||||
@@ -1640,7 +1640,7 @@ struct npc_imprisoned_beryl_sorcererAI : public ScriptedAI
|
||||
case 5:
|
||||
if (uiStep == 5)
|
||||
{
|
||||
if (Player *pCaster = Unit::GetPlayer(CasterGUID))
|
||||
if (Player *pCaster = Unit::GetPlayer(*me, CasterGUID))
|
||||
{
|
||||
DoScriptText(SAY_IMPRISIONED_BERYL_5, me);
|
||||
pCaster->KilledMonsterCredit(25478,0);
|
||||
|
||||
@@ -389,7 +389,7 @@ struct npc_gurgthockAI : public ScriptedAI
|
||||
|
||||
if (uiPhase)
|
||||
{
|
||||
Player* pPlayer = me->GetPlayer(uiPlayerGUID);
|
||||
Player* pPlayer = me->GetPlayer(*me, uiPlayerGUID);
|
||||
|
||||
if (uiTimer <= uiDiff)
|
||||
{
|
||||
|
||||
+1
-1
@@ -123,7 +123,7 @@ struct boss_omor_the_unscarredAI : public ScriptedAI
|
||||
{
|
||||
if (ShadowWhip_Timer <= diff)
|
||||
{
|
||||
if (Player* temp = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* temp = Unit::GetPlayer(*me, PlayerGUID))
|
||||
{
|
||||
//if unit dosen't have this flag, then no pulling back (script will attempt cast, even if orbital strike was resisted)
|
||||
if (temp->HasUnitMovementFlag(MOVEMENTFLAG_FALLING))
|
||||
|
||||
@@ -446,7 +446,7 @@ struct npc_ogre_bruteAI : public ScriptedAI
|
||||
|
||||
void MovementInform(uint32 /*type*/, uint32 id)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (id == 1)
|
||||
{
|
||||
GameObject* Keg = me->FindNearestGameObject(GO_KEG, 20);
|
||||
|
||||
@@ -779,7 +779,7 @@ struct mob_sparrowhawkAI : public ScriptedAI
|
||||
if (fleeing && me->GetMotionMaster()->GetCurrentMovementGeneratorType() != FLEEING_MOTION_TYPE)
|
||||
fleeing = false;
|
||||
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer && me->IsWithinDistInMap(pPlayer, 30))
|
||||
{
|
||||
if (!fleeing)
|
||||
|
||||
@@ -401,7 +401,7 @@ struct npc_commander_dawnforgeAI : public ScriptedAI
|
||||
{
|
||||
Creature *ardonis = Unit::GetCreature(*me,ardonisGUID);
|
||||
Creature *pathaleon = Unit::GetCreature(*me,pathaleonGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!ardonis || !pathaleon || !pPlayer)
|
||||
return;
|
||||
@@ -427,7 +427,7 @@ struct npc_commander_dawnforgeAI : public ScriptedAI
|
||||
{
|
||||
if (Unit *ardonis = Unit::GetUnit(*me,ardonisGUID))
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!pPlayer)
|
||||
return;
|
||||
@@ -484,7 +484,7 @@ struct npc_commander_dawnforgeAI : public ScriptedAI
|
||||
|
||||
Unit *ardonis = Unit::GetUnit(*me,ardonisGUID);
|
||||
Unit *pathaleon = Unit::GetUnit(*me,pathaleonGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!ardonis || !pPlayer)
|
||||
{
|
||||
@@ -767,7 +767,7 @@ struct mob_phase_hunterAI : public ScriptedAI
|
||||
ManaBurnTimer = 3500;
|
||||
} else ManaBurnTimer -= diff;
|
||||
|
||||
if (Player *pPlayer = Unit::GetPlayer(PlayerGUID)) // start: support for quest 10190
|
||||
if (Player *pPlayer = Unit::GetPlayer(*me, PlayerGUID)) // start: support for quest 10190
|
||||
{
|
||||
if (!Weak && me->GetHealth() < (me->GetMaxHealth() / 100 * WeakPercent)
|
||||
&& pPlayer->GetQuestStatus(QUEST_RECHARGING_THE_BATTERIES) == QUEST_STATUS_INCOMPLETE)
|
||||
|
||||
@@ -139,7 +139,7 @@ struct mob_mature_netherwing_drakeAI : public ScriptedAI
|
||||
DoCast(me, SPELL_JUST_EATEN);
|
||||
DoScriptText(SAY_JUST_EATEN, me);
|
||||
|
||||
if (Player* pPlr = Unit::GetPlayer(uiPlayerGUID))
|
||||
if (Player* pPlr = Unit::GetPlayer(*me, uiPlayerGUID))
|
||||
{
|
||||
pPlr->KilledMonsterCredit(NPC_EVENT_PINGER, me->GetGUID());
|
||||
|
||||
@@ -270,7 +270,7 @@ struct mob_enslaved_netherwing_drakeAI : public ScriptedAI
|
||||
Tapped = false;
|
||||
if (PlayerGUID)
|
||||
{
|
||||
Player* plr = Unit::GetPlayer(PlayerGUID);
|
||||
Player* plr = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (plr && plr->GetQuestStatus(10854) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
DoCast(plr, SPELL_FORCE_OF_NELTHARAKU, true);
|
||||
@@ -364,7 +364,7 @@ struct mob_dragonmaw_peonAI : public ScriptedAI
|
||||
{
|
||||
if (PlayerGUID)
|
||||
{
|
||||
Player* plr = Unit::GetPlayer(PlayerGUID);
|
||||
Player* plr = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (plr && plr->GetQuestStatus(11020) == QUEST_STATUS_INCOMPLETE)
|
||||
plr->KilledMonsterCredit(23209, me->GetGUID());
|
||||
}
|
||||
@@ -709,7 +709,7 @@ struct npc_overlord_morghorAI : public ScriptedAI
|
||||
}
|
||||
if (PlayerGUID)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer)
|
||||
DoScriptText(OVERLORD_SAY_1, me, pPlayer);
|
||||
}
|
||||
@@ -1281,7 +1281,7 @@ struct mob_torloth_the_magnificentAI : public ScriptedAI
|
||||
me->RemoveFlag(UNIT_FIELD_BYTES_1,8);
|
||||
break;
|
||||
case 5:
|
||||
if (Player* AggroTarget = (Unit::GetPlayer(AggroTargetGUID)))
|
||||
if (Player* AggroTarget = (Unit::GetPlayer(*me, AggroTargetGUID)))
|
||||
{
|
||||
me->SetUInt64Value(UNIT_FIELD_TARGET, AggroTarget->GetGUID());
|
||||
me->AddThreat(AggroTarget, 1);
|
||||
@@ -1289,7 +1289,7 @@ struct mob_torloth_the_magnificentAI : public ScriptedAI
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (Player* AggroTarget = (Unit::GetPlayer(AggroTargetGUID)))
|
||||
if (Player* AggroTarget = (Unit::GetPlayer(*me, AggroTargetGUID)))
|
||||
{
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->clearUnitState(UNIT_STAT_ROOT);
|
||||
@@ -1458,7 +1458,7 @@ struct npc_lord_illidan_stormrageAI : public ScriptedAI
|
||||
{
|
||||
if (PlayerGUID)
|
||||
{
|
||||
if (Player* pTarget = Unit::GetPlayer(PlayerGUID))
|
||||
if (Player* pTarget = Unit::GetPlayer(*me, PlayerGUID))
|
||||
{
|
||||
float x, y, z;
|
||||
pTarget->GetPosition(x,y,z);
|
||||
@@ -1483,7 +1483,7 @@ struct npc_lord_illidan_stormrageAI : public ScriptedAI
|
||||
|
||||
void CheckEventFail()
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
if (!pPlayer)
|
||||
return;
|
||||
@@ -1500,7 +1500,7 @@ struct npc_lord_illidan_stormrageAI : public ScriptedAI
|
||||
|
||||
for (Group::member_citerator itr = members.begin(); itr!= members.end(); ++itr)
|
||||
{
|
||||
GroupMember = (Unit::GetPlayer(itr->guid));
|
||||
GroupMember = (Unit::GetPlayer(*me, itr->guid));
|
||||
if (!GroupMember)
|
||||
continue;
|
||||
if (!GroupMember->IsWithinDistInMap(me, EVENT_AREA_RADIUS) && GroupMember->GetQuestStatus(QUEST_BATTLE_OF_THE_CRIMSON_WATCH) == QUEST_STATUS_INCOMPLETE)
|
||||
@@ -1526,7 +1526,7 @@ struct npc_lord_illidan_stormrageAI : public ScriptedAI
|
||||
{
|
||||
for (Group::member_citerator itr = members.begin(); itr!= members.end(); ++itr)
|
||||
{
|
||||
GroupMember = Unit::GetPlayer(itr->guid);
|
||||
GroupMember = Unit::GetPlayer(*me, itr->guid);
|
||||
|
||||
if (GroupMember && GroupMember->GetQuestStatus(QUEST_BATTLE_OF_THE_CRIMSON_WATCH) == QUEST_STATUS_INCOMPLETE)
|
||||
{
|
||||
|
||||
@@ -404,7 +404,7 @@ struct npc_dirty_larryAI : public ScriptedAI
|
||||
|
||||
uint32 NextStep(uint32 Step)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
|
||||
switch(Step)
|
||||
{
|
||||
@@ -438,7 +438,7 @@ struct npc_dirty_larryAI : public ScriptedAI
|
||||
|
||||
if (Attack)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
me->setFaction(14);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
if (pPlayer)
|
||||
@@ -492,7 +492,7 @@ struct npc_dirty_larryAI : public ScriptedAI
|
||||
me->DeleteThreatList();
|
||||
me->CombatStop();
|
||||
me->GetMotionMaster()->MoveTargetedHome();
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer)
|
||||
CAST_PLR(pPlayer)->GroupEventHappens(QUEST_WBI, me);
|
||||
}
|
||||
|
||||
@@ -706,7 +706,7 @@ void npc_doctorAI::BeginEvent(Player* pPlayer)
|
||||
|
||||
void npc_doctorAI::PatientDied(Location* Point)
|
||||
{
|
||||
Player* pPlayer = Unit::GetPlayer(PlayerGUID);
|
||||
Player* pPlayer = Unit::GetPlayer(*me, PlayerGUID);
|
||||
if (pPlayer && ((pPlayer->GetQuestStatus(6624) == QUEST_STATUS_INCOMPLETE) || (pPlayer->GetQuestStatus(6622) == QUEST_STATUS_INCOMPLETE)))
|
||||
{
|
||||
++PatientDiedCount;
|
||||
@@ -1730,7 +1730,7 @@ struct mob_mojoAI : public ScriptedAI
|
||||
me->MonsterWhisper(whisp.c_str(),pPlayer->GetGUID());
|
||||
if (victimGUID)
|
||||
{
|
||||
Player* victim = Unit::GetPlayer(victimGUID);
|
||||
Player* victim = Unit::GetPlayer(*me, victimGUID);
|
||||
if (victim)
|
||||
victim->RemoveAura(43906);//remove polymorph frog thing
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user