diff options
author | Dennis Friis <peavey@placid.dk> | 2008-11-06 16:46:18 +0000 |
---|---|---|
committer | Dennis Friis <peavey@placid.dk> | 2008-11-06 16:46:18 +0000 |
commit | 87f43f7621dda3071ba189df6975cd0a0595165a (patch) | |
tree | fa5cf0603bbcc4ecb4506dd357124975a8534503 /src/net | |
parent | 9475a009e95a3f379a0e97bc66d1aab93ca24b34 (diff) | |
download | mana-87f43f7621dda3071ba189df6975cd0a0595165a.tar.gz mana-87f43f7621dda3071ba189df6975cd0a0595165a.tar.bz2 mana-87f43f7621dda3071ba189df6975cd0a0595165a.tar.xz mana-87f43f7621dda3071ba189df6975cd0a0595165a.zip |
Have equipment tied into player inventory instead of keeping its own list of pointers to items. This ensures the ressource is up-to-date and avoids crashes on stale item pointers.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/equipmenthandler.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/net/equipmenthandler.cpp b/src/net/equipmenthandler.cpp index 85790b42..eddc0ea0 100644 --- a/src/net/equipmenthandler.cpp +++ b/src/net/equipmenthandler.cpp @@ -87,7 +87,7 @@ void EquipmentHandler::handleMessage(MessageIn *msg) position++; } item = inventory->getItem(index); - player_node->mEquipment->setEquipment(position, item); + player_node->mEquipment->setEquipment(position, index); } } break; @@ -117,13 +117,13 @@ void EquipmentHandler::handleMessage(MessageIn *msg) position++; } logger->log("Position %i", position); - item = player_node->mEquipment->getEquipment(position); + item = player_node->getInventory()->getItem(player_node->mEquipment->getEquipment(position)); if (item) { item->setEquipped(false); } item = inventory->getItem(index); - player_node->mEquipment->setEquipment(position, item); + player_node->mEquipment->setEquipment(position, index); break; case SMSG_PLAYER_UNEQUIP: @@ -192,7 +192,7 @@ void EquipmentHandler::handleMessage(MessageIn *msg) break; item->setEquipped(true); - player_node->mEquipment->setArrows(item); + player_node->mEquipment->setArrows(index); logger->log("Arrows equipped: %i", index); break; } |