mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-06-15 03:04:22 +00:00
Migrate more members
This commit is contained in:
@@ -173,7 +173,7 @@ void InventoryComponent::AddItem(
|
||||
const uint32_t count,
|
||||
eLootSourceType lootSourceType,
|
||||
eInventoryType inventoryType,
|
||||
const std::vector<LDFBaseData*>& config,
|
||||
const LwoNameValue& config,
|
||||
const LWOOBJID parent,
|
||||
const bool showFlyingLoot,
|
||||
bool isModMoveAndEquip,
|
||||
@@ -204,7 +204,7 @@ void InventoryComponent::AddItem(
|
||||
|
||||
auto* inventory = GetInventory(inventoryType);
|
||||
|
||||
if (!config.empty() || bound) {
|
||||
if (!config.values.empty() || bound) {
|
||||
const auto slot = preferredSlot != -1 && inventory->IsSlotEmpty(preferredSlot) ? preferredSlot : inventory->FindEmptySlot();
|
||||
|
||||
if (slot == -1) {
|
||||
@@ -356,7 +356,7 @@ void InventoryComponent::MoveItemToInventory(Item* item, const eInventoryType in
|
||||
|
||||
const auto subkey = item->GetSubKey();
|
||||
|
||||
if (subkey == LWOOBJID_EMPTY && item->GetConfig().empty() && (!item->GetBound() || (item->GetBound() && item->GetInfo().isBOP))) {
|
||||
if (subkey == LWOOBJID_EMPTY && item->GetConfig().values.empty() && (!item->GetBound() || (item->GetBound() && item->GetInfo().isBOP))) {
|
||||
auto left = std::min<uint32_t>(count, origin->GetLotCount(lot));
|
||||
|
||||
while (left > 0) {
|
||||
@@ -379,11 +379,7 @@ void InventoryComponent::MoveItemToInventory(Item* item, const eInventoryType in
|
||||
isModMoveAndEquip = false;
|
||||
}
|
||||
} else {
|
||||
std::vector<LDFBaseData*> config;
|
||||
|
||||
for (auto* const data : item->GetConfig()) {
|
||||
config.push_back(data->Copy());
|
||||
}
|
||||
const auto config = item->GetConfig();
|
||||
|
||||
const auto delta = std::min<uint32_t>(item->GetCount(), count);
|
||||
|
||||
@@ -744,18 +740,17 @@ void InventoryComponent::Serialize(RakNet::BitStream& outBitStream, const bool b
|
||||
|
||||
outBitStream.Write0();
|
||||
|
||||
bool flag = !item.config.empty();
|
||||
bool flag = !item.config.values.empty();
|
||||
outBitStream.Write(flag);
|
||||
if (flag) {
|
||||
RakNet::BitStream ldfStream;
|
||||
ldfStream.Write<int32_t>(item.config.size()); // Key count
|
||||
for (LDFBaseData* data : item.config) {
|
||||
ldfStream.Write<int32_t>(item.config.values.size()); // Key count
|
||||
for (const auto& data : item.config.values | std::views::values) {
|
||||
if (data->GetKey() == u"assemblyPartLOTs") {
|
||||
std::string newRocketStr = data->GetValueAsString() + ";";
|
||||
GeneralUtils::ReplaceInString(newRocketStr, "+", ";");
|
||||
LDFData<std::u16string>* ldf_data = new LDFData<std::u16string>(u"assemblyPartLOTs", GeneralUtils::ASCIIToUTF16(newRocketStr));
|
||||
ldf_data->WriteToPacket(ldfStream);
|
||||
delete ldf_data;
|
||||
LDFData<std::u16string> ldf_data(u"assemblyPartLOTs", GeneralUtils::ASCIIToUTF16(newRocketStr));
|
||||
ldf_data.WriteToPacket(ldfStream);
|
||||
} else {
|
||||
data->WriteToPacket(ldfStream);
|
||||
}
|
||||
@@ -782,7 +777,7 @@ void InventoryComponent::Update(float deltaTime) {
|
||||
}
|
||||
}
|
||||
|
||||
void InventoryComponent::UpdateSlot(const std::string& location, EquippedItem item, bool keepCurrent) {
|
||||
void InventoryComponent::UpdateSlot(const std::string& location, const EquippedItem& item, bool keepCurrent) {
|
||||
const auto index = m_Equipped.find(location);
|
||||
|
||||
if (index != m_Equipped.end()) {
|
||||
@@ -1080,7 +1075,7 @@ void InventoryComponent::PushEquippedItems() {
|
||||
}
|
||||
|
||||
void InventoryComponent::PopEquippedItems() {
|
||||
auto current = m_Equipped;
|
||||
const auto current = m_Equipped;
|
||||
|
||||
for (const auto& pair : current) {
|
||||
auto* const item = FindItemById(pair.second.id);
|
||||
@@ -1876,7 +1871,7 @@ bool InventoryComponent::OnGetObjectReportInfo(GameMessages::GetObjectReportInfo
|
||||
slot.PushDebug<AMFBoolValue>("Bind on equip") = item->GetInfo().isBOE;
|
||||
slot.PushDebug<AMFBoolValue>("Is currently bound") = item->GetBound();
|
||||
auto& extra = slot.PushDebug("Extra Info");
|
||||
for (const auto* const setting : item->GetConfig()) {
|
||||
for (const auto& setting : item->GetConfig().values | std::views::values) {
|
||||
if (setting) extra.PushDebug<AMFStringValue>(GeneralUtils::UTF16ToWTF8(setting->GetKey())) = setting->GetValueAsString();
|
||||
}
|
||||
}
|
||||
@@ -1892,7 +1887,7 @@ bool InventoryComponent::OnGetObjectReportInfo(GameMessages::GetObjectReportInfo
|
||||
equipSlot.PushDebug<AMFIntValue>("Slot") = info.slot;
|
||||
equipSlot.PushDebug<AMFIntValue>("Count") = info.count;
|
||||
auto& extra = equipSlot.PushDebug("Extra Info");
|
||||
for (const auto* const setting : info.config) {
|
||||
for (const auto& setting : info.config.values | std::views::values) {
|
||||
if (setting) extra.PushDebug<AMFStringValue>(GeneralUtils::UTF16ToWTF8(setting->GetKey())) = setting->GetValueAsString();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user