Core/GameObjects: traps that dont have a owner should despawn after spell cast.

This commit is contained in:
Supabad
2011-04-08 18:33:13 +02:00
parent 1e94fc530b
commit 5f4337f7e9
2 changed files with 4 additions and 4 deletions
@@ -278,7 +278,7 @@ void GameObject::Update(uint32 diff)
// Arming Time for GAMEOBJECT_TYPE_TRAP (6)
GameObjectInfo const* goInfo = GetGOInfo();
// Bombs
if (goInfo->trap.charges == 2)
if (goInfo->trap.type == 2)
m_cooldownTime = time(NULL) + 10; // Hardcoded tooltip value
else if (Unit* owner = GetOwner())
{
@@ -393,7 +393,7 @@ void GameObject::Update(uint32 diff)
return;
// Type 2 - Bomb (will go away after casting it's spell)
if (goInfo->trap.charges == 2)
if (goInfo->trap.type == 2)
{
if (goInfo->trap.spellId)
CastSpell(NULL, goInfo->trap.spellId); // FIXME: null target won't work for target type 1
@@ -453,7 +453,7 @@ void GameObject::Update(uint32 diff)
m_cooldownTime = time(NULL) + goInfo->trap.cooldown ? goInfo->trap.cooldown : uint32(4); // template or 4 seconds
if (owner) // || goInfo->trap.charges == 1)
if (goInfo->trap.type == 1)
SetLootState(GO_JUST_DEACTIVATED);
if (IsBattlegroundTrap && ok->GetTypeId() == TYPEID_PLAYER)
@@ -130,7 +130,7 @@ struct GameObjectInfo
uint32 level; //1
uint32 radius; //2 radius for trap activation
uint32 spellId; //3
uint32 charges; //4 need respawn (if > 0)
uint32 type; //4 0 trap with no despawn after cast. 1 trap despawns after cast. 2 bomb casts on spawn.
uint32 cooldown; //5 time in secs
int32 autoCloseTime; //6
uint32 startDelay; //7