mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-18 08:28:32 +01:00
[svn] Add Unit::GetObjectInWorld function to get object by guid without providing reference.
Small change in SummonGameObject. Fix a bug that player can not click summoned najentus spine (must let target summon gameobject). --HG-- branch : trunk
This commit is contained in:
@@ -216,7 +216,8 @@ struct TRINITY_DLL_DECL boss_najentusAI : public ScriptedAI
|
||||
m_creature->CastSpell(target, SPELL_IMPALING_SPINE, true);
|
||||
m_creature->SetInFront(m_creature->getVictim());
|
||||
SpineTargetGUID = target->GetGUID();
|
||||
m_creature->SummonGameObject(GOBJECT_SPINE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), m_creature->GetOrientation(), 0, 0, 0, 0, 30);
|
||||
//must let target summon, otherwise you cannot click the spine
|
||||
target->SummonGameObject(GOBJECT_SPINE, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), m_creature->GetOrientation(), 0, 0, 0, 0, 30);
|
||||
|
||||
switch(rand()%2)
|
||||
{
|
||||
|
||||
@@ -1452,8 +1452,10 @@ GameObject* WorldObject::SummonGameObject(uint32 entry, float x, float y, float
|
||||
if(!go->Create(objmgr.GenerateLowGuid(HIGHGUID_GAMEOBJECT),entry,map,x,y,z,ang,rotation0,rotation1,rotation2,rotation3,100,1))
|
||||
return NULL;
|
||||
go->SetRespawnTime(respawnTime);
|
||||
go->SetSpawnedByDefault(false); // do not save respawn time
|
||||
go->SetOwnerGUID(GetGUID());
|
||||
if(GetTypeId()==TYPEID_PLAYER || GetTypeId()==TYPEID_UNIT) //not sure how to handle this
|
||||
((Unit*)this)->AddGameObject(go);
|
||||
else
|
||||
go->SetSpawnedByDefault(false);
|
||||
map->Add(go);
|
||||
|
||||
return go;
|
||||
|
||||
@@ -1218,6 +1218,10 @@ class TRINITY_DLL_SPEC 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);
|
||||
template<class T> static T* GetObjectInWorld(uint64 guid, T* /*fake*/)
|
||||
{
|
||||
return ObjectAccessor::GetObjectInWorld(uint64 guid, T* /*fake*/)
|
||||
}
|
||||
|
||||
MotionMaster* GetMotionMaster() { return &i_motionMaster; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user