allow 6x25 to overwrite slots on all versions

This commit is contained in:
Martin Michelsen
2025-10-04 09:55:00 -07:00
parent 2a138ea0b6
commit 1450a5acd3
2 changed files with 5 additions and 9 deletions
+4 -8
View File
@@ -179,11 +179,11 @@ struct PlayerInventoryT {
}
}
void equip_item_id(uint32_t item_id, EquipSlot slot, bool allow_overwrite) {
this->equip_item_index(this->find_item(item_id), slot, allow_overwrite);
void equip_item_id(uint32_t item_id, EquipSlot slot) {
this->equip_item_index(this->find_item(item_id), slot);
}
void equip_item_index(size_t index, EquipSlot slot, bool allow_overwrite) {
void equip_item_index(size_t index, EquipSlot slot) {
auto& item = this->items[index];
if ((slot == EquipSlot::UNKNOWN) || !item.data.can_be_equipped_in_slot(slot)) {
@@ -191,11 +191,7 @@ struct PlayerInventoryT {
}
if (this->has_equipped_item(slot)) {
if (allow_overwrite) {
this->unequip_item_slot(slot);
} else {
throw std::runtime_error("equip slot is already in use");
}
this->unequip_item_slot(slot);
}
item.flags |= 0x00000008;
+1 -1
View File
@@ -2340,7 +2340,7 @@ static asio::awaitable<void> on_equip_item(shared_ptr<Client> c, SubcommandMessa
auto l = c->require_lobby();
EquipSlot slot = static_cast<EquipSlot>(cmd.equip_slot.load());
auto p = c->character_file();
p->inventory.equip_item_id(cmd.item_id, slot, is_pre_v1(c->version()));
p->inventory.equip_item_id(cmd.item_id, slot);
c->log.info_f("Equipped item {:08X}", cmd.item_id);
forward_subcommand(c, msg);