diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-24 17:54:31 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-24 17:54:31 +1000 |
commit | a2d901bd66178bbaacc2fec3acd07e7a27b9235f (patch) | |
tree | cc4ed0a2d3403d5e3a02c3e0482adfc840ce5121 /source/game/StarPlayer.cpp | |
parent | 5f0e44d60e6925dc3c9e6a6888e540012d4ddaa7 (diff) |
Fix ToolUser exception when swapping player
Also made /swap by name exclude the current player when searching
Diffstat (limited to 'source/game/StarPlayer.cpp')
-rw-r--r-- | source/game/StarPlayer.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/source/game/StarPlayer.cpp b/source/game/StarPlayer.cpp index 7036a7b..3e6d502 100644 --- a/source/game/StarPlayer.cpp +++ b/source/game/StarPlayer.cpp @@ -243,7 +243,7 @@ void Player::diskLoad(Json const& diskStore) { m_genericProperties = diskStore.getObject("genericProperties"); - refreshEquipment(); + refreshArmor(); m_codexes->learnInitialCodexes(species()); @@ -1228,7 +1228,14 @@ void Player::clearSwap() { endTrigger(); } -void Player::refreshEquipment() { +void Player::refreshItems() { + if (isSlave()) + return; + + m_tools->setItems(m_inventory->primaryHeldItem(), m_inventory->secondaryHeldItem()); +} + +void Player::refreshArmor() { if (isSlave()) return; @@ -1240,8 +1247,11 @@ void Player::refreshEquipment() { m_armor->setLegsCosmeticItem(m_inventory->legsCosmetic()); m_armor->setBackItem(m_inventory->backArmor()); m_armor->setBackCosmeticItem(m_inventory->backCosmetic()); +} - m_tools->setItems(m_inventory->primaryHeldItem(), m_inventory->secondaryHeldItem()); +void Player::refreshEquipment() { + refreshArmor(); + refreshItems(); } PlayerBlueprintsPtr Player::blueprints() const { |