mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-26 07:27:18 +00:00
backup commit with comments
This commit is contained in:
parent
6c5c6b7b8e
commit
9021c5209f
@ -911,8 +911,8 @@ void InventoryComponent::EquipItem(Item* item, const bool skipChecks)
|
|||||||
const auto type = static_cast<eItemType>(item->GetInfo().itemType);
|
const auto type = static_cast<eItemType>(item->GetInfo().itemType);
|
||||||
|
|
||||||
if (item->GetLot() == 8092 && m_Parent->GetGMLevel() >= GAME_MASTER_LEVEL_OPERATOR && hasCarEquipped == false)
|
if (item->GetLot() == 8092 && m_Parent->GetGMLevel() >= GAME_MASTER_LEVEL_OPERATOR && hasCarEquipped == false)
|
||||||
{
|
{ // Spawn above current position so we dont fall through floor?
|
||||||
auto startPosition = m_Parent->GetPosition() + NiPoint3::UNIT_Y + 10;
|
auto startPosition = m_Parent->GetPosition() + NiPoint3::UNIT_Y + 2;
|
||||||
|
|
||||||
auto startRotation = NiQuaternion::LookAt(startPosition, startPosition + NiPoint3::UNIT_X);
|
auto startRotation = NiQuaternion::LookAt(startPosition, startPosition + NiPoint3::UNIT_X);
|
||||||
auto angles = startRotation.GetEulerAngles();
|
auto angles = startRotation.GetEulerAngles();
|
||||||
@ -930,19 +930,19 @@ void InventoryComponent::EquipItem(Item* item, const bool skipChecks)
|
|||||||
auto* carEntity = EntityManager::Instance()->CreateEntity(info, nullptr, m_Parent);
|
auto* carEntity = EntityManager::Instance()->CreateEntity(info, nullptr, m_Parent);
|
||||||
m_Parent->AddChild(carEntity);
|
m_Parent->AddChild(carEntity);
|
||||||
|
|
||||||
// auto *destroyableComponent = carEntity->GetComponent<DestroyableComponent>();
|
auto *destroyableComponent = carEntity->GetComponent<DestroyableComponent>();
|
||||||
|
|
||||||
// // Setup the vehicle stats.
|
|
||||||
// if (destroyableComponent != nullptr) {
|
|
||||||
// destroyableComponent->SetMaxImagination(60);
|
|
||||||
// destroyableComponent->SetImagination(0);
|
|
||||||
// destroyableComponent->SetIsImmune(true);
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
// Setup the vehicle stats.
|
||||||
|
if (destroyableComponent != nullptr) {
|
||||||
|
destroyableComponent->SetIsSmashable(false);
|
||||||
|
destroyableComponent->SetIsImmune(true);
|
||||||
|
}
|
||||||
|
// #108
|
||||||
auto* possessableComponent = carEntity->GetComponent<PossessableComponent>();
|
auto* possessableComponent = carEntity->GetComponent<PossessableComponent>();
|
||||||
|
|
||||||
if (possessableComponent != nullptr)
|
if (possessableComponent != nullptr)
|
||||||
{
|
{
|
||||||
|
previousPossessableID = possessableComponent->GetPossessor();
|
||||||
possessableComponent->SetPossessor(m_Parent->GetObjectID());
|
possessableComponent->SetPossessor(m_Parent->GetObjectID());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -961,11 +961,12 @@ void InventoryComponent::EquipItem(Item* item, const bool skipChecks)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// #107
|
||||||
auto* possessorComponent = m_Parent->GetComponent<PossessorComponent>();
|
auto* possessorComponent = m_Parent->GetComponent<PossessorComponent>();
|
||||||
|
|
||||||
if (possessorComponent != nullptr)
|
if (possessorComponent != nullptr)
|
||||||
{
|
{
|
||||||
|
previousPossessorID = possessorComponent->GetPossessable();
|
||||||
possessorComponent->SetPossessable(carEntity->GetObjectID());
|
possessorComponent->SetPossessable(carEntity->GetObjectID());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -982,8 +983,7 @@ void InventoryComponent::EquipItem(Item* item, const bool skipChecks)
|
|||||||
GameMessages::SendSetJetPackMode(m_Parent, false);
|
GameMessages::SendSetJetPackMode(m_Parent, false);
|
||||||
|
|
||||||
GameMessages::SendNotifyVehicleOfRacingObject(carEntity->GetObjectID(), m_Parent->GetObjectID(), UNASSIGNED_SYSTEM_ADDRESS);
|
GameMessages::SendNotifyVehicleOfRacingObject(carEntity->GetObjectID(), m_Parent->GetObjectID(), UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
GameMessages::SendRacingPlayerLoaded(m_Parent->GetObjectID(), m_Parent->GetObjectID(), carEntity->GetObjectID(), UNASSIGNED_SYSTEM_ADDRESS);
|
GameMessages::SendRacingPlayerLoaded(LWOOBJID_EMPTY, m_Parent->GetObjectID(), carEntity->GetObjectID(), UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
GameMessages::SendRacingPlayerLoaded(m_Parent->GetObjectID(), m_Parent->GetObjectID(), carEntity->GetObjectID(), UNASSIGNED_SYSTEM_ADDRESS);
|
|
||||||
GameMessages::SendVehicleUnlockInput(carEntity->GetObjectID(), false, UNASSIGNED_SYSTEM_ADDRESS);
|
GameMessages::SendVehicleUnlockInput(carEntity->GetObjectID(), false, UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
GameMessages::SendTeleport(m_Parent->GetObjectID(), startPosition, startRotation, m_Parent->GetSystemAddress(), true, true);
|
GameMessages::SendTeleport(m_Parent->GetObjectID(), startPosition, startRotation, m_Parent->GetSystemAddress(), true, true);
|
||||||
GameMessages::SendTeleport(carEntity->GetObjectID(), startPosition, startRotation, m_Parent->GetSystemAddress(), true, true);
|
GameMessages::SendTeleport(carEntity->GetObjectID(), startPosition, startRotation, m_Parent->GetSystemAddress(), true, true);
|
||||||
@ -1002,10 +1002,43 @@ void InventoryComponent::EquipItem(Item* item, const bool skipChecks)
|
|||||||
return;
|
return;
|
||||||
} else if (item->GetLot() == 8092 && m_Parent->GetGMLevel() >= GAME_MASTER_LEVEL_OPERATOR && hasCarEquipped == true)
|
} else if (item->GetLot() == 8092 && m_Parent->GetGMLevel() >= GAME_MASTER_LEVEL_OPERATOR && hasCarEquipped == true)
|
||||||
{
|
{
|
||||||
// auto *playerInstance = dynamic_cast<Player *>(m_Parent);
|
//GameMessages::SendTeleport(m_Parent->GetObjectID(), m_Parent->GetPosition(), m_Parent->GetRotation(), m_Parent->GetSystemAddress(), true, true);
|
||||||
// playerInstance->SendToZone(1200);
|
// reset character component back to what it was
|
||||||
|
// auto* characterComponent = m_Parent->GetComponent<CharacterComponent>();
|
||||||
|
|
||||||
// equippedCarEntity->Kill();
|
// if (characterComponent != nullptr)
|
||||||
|
// {
|
||||||
|
// characterComponent->SetIsRacing(false);
|
||||||
|
// characterComponent->SetVehicleObjectID(LWOOBJID_EMPTY);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// auto* possessableComponent = equippedCarEntity->GetComponent<PossessableComponent>();
|
||||||
|
|
||||||
|
// if (possessableComponent != nullptr)
|
||||||
|
// {
|
||||||
|
// possessableComponent->SetPossessor(previousPossessableID);
|
||||||
|
// previousPossessableID = LWOOBJID_EMPTY;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // #107
|
||||||
|
// auto* possessorComponent = m_Parent->GetComponent<PossessorComponent>();
|
||||||
|
|
||||||
|
// if (possessorComponent != nullptr)
|
||||||
|
// {
|
||||||
|
// possessorComponent->SetPossessable(previousPossessorID);
|
||||||
|
// previousPossessorID = LWOOBJID_EMPTY;
|
||||||
|
// }
|
||||||
|
GameMessages::SendNotifyRacingClient(LWOOBJID_EMPTY, 3, 0, LWOOBJID_EMPTY, u"", m_Parent->GetObjectID(), UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
|
// GameMessages::SendNotifyVehicleOfRacingObject(equippedCarEntity->GetObjectID(), LWOOBJID_EMPTY, UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
|
// GameMessages::SendRacingPlayerLoaded(LWOOBJID_EMPTY, m_Parent->GetObjectID(), LWOOBJID_EMPTY, UNASSIGNED_SYSTEM_ADDRESS);
|
||||||
|
//GameMessages::SendTeleport(m_Parent->GetObjectID(), equippedCarEntity->GetPosition(), equippedCarEntity->GetRotation(), m_Parent->GetSystemAddress(), true, true);
|
||||||
|
// EntityManager::Instance()->SerializeEntity(m_Parent);
|
||||||
|
auto player = dynamic_cast<Player*>(m_Parent);
|
||||||
|
player->SendToZone(player->GetCharacter()->GetZoneID());
|
||||||
|
equippedCarEntity->Kill();
|
||||||
|
hasCarEquipped = false;
|
||||||
|
equippedCarEntity = nullptr;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!building)
|
if (!building)
|
||||||
|
@ -390,6 +390,8 @@ private:
|
|||||||
*/
|
*/
|
||||||
bool hasCarEquipped = false;
|
bool hasCarEquipped = false;
|
||||||
Entity* equippedCarEntity = nullptr;
|
Entity* equippedCarEntity = nullptr;
|
||||||
|
LWOOBJID previousPossessableID = LWOOBJID_EMPTY;
|
||||||
|
LWOOBJID previousPossessorID = LWOOBJID_EMPTY;
|
||||||
/**
|
/**
|
||||||
* Creates all the proxy items (subitems) for a parent item
|
* Creates all the proxy items (subitems) for a parent item
|
||||||
* @param parent the parent item to generate all the subitems for
|
* @param parent the parent item to generate all the subitems for
|
||||||
|
Loading…
Reference in New Issue
Block a user