diff --git a/src/Player.cc b/src/Player.cc index 498b7802..30abc7ee 100644 --- a/src/Player.cc +++ b/src/Player.cc @@ -58,8 +58,8 @@ void ClientGameData::create_battle_overlay(shared_ptr rules, if (rules->replace_char) { // TODO: Shouldn't we clear other material usage here? It looks like the // original code doesn't, but that seems wrong. - this->overlay_player_data->inventory.hp_materials_used = 0; - this->overlay_player_data->inventory.tp_materials_used = 0; + this->overlay_player_data->inventory.hp_from_materials = 0; + this->overlay_player_data->inventory.tp_from_materials = 0; uint32_t target_level = clamp(rules->char_level, 0, 199); uint8_t char_class = this->overlay_player_data->disp.visual.char_class; @@ -442,9 +442,9 @@ void SavedPlayerDataBB::set_technique_level(uint8_t which, uint8_t level) { uint8_t SavedPlayerDataBB::get_material_usage(MaterialType which) const { switch (which) { case MaterialType::HP: - return this->inventory.hp_materials_used; + return this->inventory.hp_from_materials >> 1; case MaterialType::TP: - return this->inventory.tp_materials_used; + return this->inventory.tp_from_materials >> 1; case MaterialType::POWER: case MaterialType::MIND: case MaterialType::EVADE: @@ -459,10 +459,10 @@ uint8_t SavedPlayerDataBB::get_material_usage(MaterialType which) const { void SavedPlayerDataBB::set_material_usage(MaterialType which, uint8_t usage) { switch (which) { case MaterialType::HP: - this->inventory.hp_materials_used = usage; + this->inventory.hp_from_materials = usage << 1; break; case MaterialType::TP: - this->inventory.tp_materials_used = usage; + this->inventory.tp_from_materials = usage << 1; break; case MaterialType::POWER: case MaterialType::MIND: @@ -477,8 +477,8 @@ void SavedPlayerDataBB::set_material_usage(MaterialType which, uint8_t usage) { } void SavedPlayerDataBB::clear_all_material_usage() { - this->inventory.hp_materials_used = 0; - this->inventory.tp_materials_used = 0; + this->inventory.hp_from_materials = 0; + this->inventory.tp_from_materials = 0; for (size_t z = 0; z < 5; z++) { this->inventory.items[z + 8].extension_data2 = 0; } diff --git a/src/PlayerSubordinates.cc b/src/PlayerSubordinates.cc index 6475caaa..5cc377b2 100644 --- a/src/PlayerSubordinates.cc +++ b/src/PlayerSubordinates.cc @@ -385,12 +385,6 @@ PlayerRecordsBB_Challenge::operator PlayerRecordsV3_Challenge() const { return ret; } -PlayerInventory::PlayerInventory() - : num_items(0), - hp_materials_used(0), - tp_materials_used(0), - language(0) {} - void PlayerBank::add_item(const ItemData& item) { uint32_t pid = item.primary_identifier(); diff --git a/src/PlayerSubordinates.hh b/src/PlayerSubordinates.hh index 6769d359..5a6a8468 100644 --- a/src/PlayerSubordinates.hh +++ b/src/PlayerSubordinates.hh @@ -64,14 +64,12 @@ struct PlayerBankItem { struct PlayerInventory { /* 0000 */ uint8_t num_items = 0; - /* 0001 */ uint8_t hp_materials_used = 0; - /* 0002 */ uint8_t tp_materials_used = 0; - /* 0003 */ uint8_t language = 1; // English + /* 0001 */ uint8_t hp_from_materials = 0; + /* 0002 */ uint8_t tp_from_materials = 0; + /* 0003 */ uint8_t language = 0; /* 0004 */ parray items; /* 034C */ - PlayerInventory(); - size_t find_item(uint32_t item_id) const; size_t find_item_by_primary_identifier(uint32_t primary_identifier) const;