mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-02-06 00:48:39 +01:00
Core/GameObjects: Implement more gameobject gameevent uses
This commit is contained in:
@@ -1643,6 +1643,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(UNIT_STAND_STATE_SIT_LOW_CHAIR+info->chair.height);
|
||||
if (info->chair.triggeredEvent)
|
||||
GameEvents::Trigger(info->chair.triggeredEvent, player, this);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -2055,6 +2057,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;
|
||||
@@ -2321,6 +2326,10 @@ void GameObject::ModifyHealth(int32 change, Unit* attackerOrHealer /*= nullptr*/
|
||||
player->SendDirectMessage(&data);
|
||||
}
|
||||
|
||||
if (change < 0 && GetGOInfo()->building.damagedEvent)
|
||||
GameEvents::Trigger(GetGOInfo()->building.damagedEvent, attackerOrHealer, this);
|
||||
|
||||
|
||||
GameObjectDestructibleState newState = GetDestructibleState();
|
||||
|
||||
if (!m_goValue.Building.Health)
|
||||
|
||||
@@ -583,6 +583,7 @@ struct GameObjectTemplate
|
||||
{
|
||||
case GAMEOBJECT_TYPE_GOOBER: return goober.eventId;
|
||||
case GAMEOBJECT_TYPE_CHEST: return chest.eventId;
|
||||
case GAMEOBJECT_TYPE_CHAIR: return chair.triggeredEvent;
|
||||
case GAMEOBJECT_TYPE_CAMERA: return camera.eventID;
|
||||
default: return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user