mirror of
https://github.com/DarkflameUniverse/DarkflameServer
synced 2024-08-30 18:43:58 +00:00
8cdb388915
* Implement Precompiled Headers * First volume of optimizations * Scripts A-B Gonna be doing this in alphabetical order now. * C Scripts and remove unneeded includes from base cppscripts header Remove the MissionComponent and Loot includes from all base scripts and place their needed includes in the respective scripts. * D scripts * F scripts * F scripts 2 Finish up removing extraneous includes from scripts that start with the letter F * G scripts Removing extraneous includes from scripts that start with the letter G * I scripts Removing extraneous includes from scripts that start with the letter I * M-Z scripts Removing extraneous includes from scripts that start with the letter M-Z * Revert "Implement Precompiled Headers" This reverts commitd79d8d4991
. * Revert "Revert "Implement Precompiled Headers"" This reverts commit0597faf308
. * Add back in PCH Add back in PCH * Fix CMake Whitespace Remove duplicate file glob Remove newline
49 lines
1.7 KiB
C++
49 lines
1.7 KiB
C++
#include "AgPropGuard.h"
|
|
#include "Entity.h"
|
|
#include "Character.h"
|
|
#include "EntityManager.h"
|
|
#include "InventoryComponent.h"
|
|
#include "MissionComponent.h"
|
|
#include "Item.h"
|
|
|
|
void AgPropGuard::OnMissionDialogueOK(Entity* self, Entity* target, int missionID, MissionState missionState)
|
|
{
|
|
auto* character = target->GetCharacter();
|
|
auto* missionComponent = target->GetComponent<MissionComponent>();
|
|
auto* inventoryComponent = target->GetComponent<InventoryComponent>();
|
|
|
|
const auto state = missionComponent->GetMissionState(320);
|
|
if (missionID == 768 && missionState == MissionState::MISSION_STATE_AVAILABLE)
|
|
{
|
|
if (!character->GetPlayerFlag(71))
|
|
{
|
|
// TODO: Cinematic "MissionCam"
|
|
}
|
|
}
|
|
else if (missionID == 768 && missionState >= MissionState::MISSION_STATE_READY_TO_COMPLETE)
|
|
{
|
|
//remove the inventory items
|
|
for (int item : gearSets)
|
|
{
|
|
auto* id = inventoryComponent->FindItemByLot(item);
|
|
|
|
if (id)
|
|
{
|
|
inventoryComponent->UnEquipItem(id);
|
|
inventoryComponent->RemoveItem(id->GetLot(), id->GetCount());
|
|
}
|
|
}
|
|
}
|
|
else if (
|
|
(missionID == 320 && state == MissionState::MISSION_STATE_AVAILABLE) /*||
|
|
(state == MissionState::MISSION_STATE_COMPLETE && missionID == 891 && missionState == MissionState::MISSION_STATE_READY_TO_COMPLETE)*/
|
|
)
|
|
{
|
|
//GameMessages::SendNotifyClientObject(EntityManager::Instance()->GetZoneControlEntity()->GetObjectID(), u"GuardChat", target->GetObjectID(), 0, target->GetObjectID(), "", target->GetSystemAddress());
|
|
|
|
target->GetCharacter()->SetPlayerFlag(113, true);
|
|
|
|
EntityManager::Instance()->GetZoneControlEntity()->AddTimer("GuardFlyAway", 1.0f);
|
|
}
|
|
}
|