diff options
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObjectData.h | 1 | 
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index f87dce96843..76a09af2d0b 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1951,6 +1951,8 @@ void GameObject::Use(Unit* user)                      itr->second = player->GetGUID(); //this slot in now used by player                      player->TeleportTo(GetMapId(), x_lowest, y_lowest, GetPositionZ(), GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET);                      player->SetStandState(UnitStandStateType(UNIT_STAND_STATE_SIT_LOW_CHAIR + info->chair.chairheight)); +                    if (info->chair.triggeredEvent) +                        GameEvents::Trigger(info->chair.triggeredEvent, player, this);                      return;                  }              } @@ -2362,6 +2364,9 @@ void GameObject::Use(Unit* user)                                  bg->EventPlayerClickedOnFlag(player, this);                              break;                      } + +                    if (info->flagDrop.eventID) +                        GameEvents::Trigger(info->flagDrop.eventID, player, this);                  }                  //this cause to call return, all flags must be deleted here!!                  spellId = 0; @@ -2629,6 +2634,9 @@ void GameObject::ModifyHealth(int32 change, WorldObject* attackerOrHealer /*= nu          player->SendDirectMessage(packet.Write());      } +    if (change < 0 && GetGOInfo()->destructibleBuilding.DamageEvent) +        GameEvents::Trigger(GetGOInfo()->destructibleBuilding.DamageEvent, attackerOrHealer, this); +      GameObjectDestructibleState newState = GetDestructibleState();      if (!m_goValue.Building.Health) diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 66ab069abeb..d4977063b98 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -974,6 +974,7 @@ struct GameObjectTemplate          {              case GAMEOBJECT_TYPE_GOOBER:            return goober.eventID;              case GAMEOBJECT_TYPE_CHEST:             return chest.triggeredEvent; +            case GAMEOBJECT_TYPE_CHAIR:             return chair.triggeredEvent;              case GAMEOBJECT_TYPE_CAMERA:            return camera.eventID;              case GAMEOBJECT_TYPE_GATHERING_NODE:    return gatheringNode.triggeredEvent;              default: return 0;  | 
