rendered paste bodyIndex: GameObject.cpp
===================================================================
--- GameObject.cpp (revision 5619)
+++ GameObject.cpp (working copy)
@@ -166,6 +166,19 @@
switch (m_lootState)
{
case GO_NOT_READY:
+ {
+ // Arming Time for GAMEOBJECT_TYPE_TRAP (6)
+ if (GetGoType() == GAMEOBJECT_TYPE_TRAP)
+ {
+ Unit* owner = GetOwner();
+ if (owner && ((Player*)owner)->isInCombat())
+ m_cooldownTime = time(NULL) + GetGOInfo()->trap._data7;
+
+ m_lootState = GO_READY;
+ return;
+ }
+
+ // Clickable boober for GAMEOBJECT_TYPE_FISHINGNODE (17)
if (GetGoType()==GAMEOBJECT_TYPE_FISHINGNODE)
{
// fishing code (bobber ready)
@@ -197,6 +210,7 @@
m_lootState = GO_READY; // for other GOis same switched without delay to GO_READY
// NO BREAK
+ }
case GO_READY:
{
if (m_respawnTime > 0) // timer on
Index: GameObject.h
===================================================================
--- GameObject.h (revision 5619)
+++ GameObject.h (working copy)
@@ -84,7 +84,9 @@
uint32 spellId; //3
uint32 isNeedDespawn; //4 (if >0)
uint32 _data5; //5
- uint32 _data6[6];
+ uint32 _data6;
+ uint32 _data7;
+ uint32 _data8[4];
uint32 _data12; //12 something == chest.data14 == goober.data14 (openText?)
} trap;
//7 GAMEOBJECT_TYPE_CHAIR