summaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-08-22 16:07:11 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-08-22 16:07:11 +0000
commit10ebf4484985b98e9248c8de84b35af9b6e26d3a (patch)
tree29a1f79bd66505a80e4dfeda31230ed2df97798d /src/net
parent353560a2829fb9b1d9d26121658ce83589c4f5ef (diff)
downloadmana-client-10ebf4484985b98e9248c8de84b35af9b6e26d3a.tar.gz
mana-client-10ebf4484985b98e9248c8de84b35af9b6e26d3a.tar.bz2
mana-client-10ebf4484985b98e9248c8de84b35af9b6e26d3a.tar.xz
mana-client-10ebf4484985b98e9248c8de84b35af9b6e26d3a.zip
Fixed an arithmetic exception in ItemShortcutContainer::draw.
Changed default sitting key back to 's'. Fixed a problem with all equipment being interpreted as weapon sprite.
Diffstat (limited to 'src/net')
-rw-r--r--src/net/beinghandler.cpp16
-rw-r--r--src/net/equipmenthandler.cpp8
2 files changed, 15 insertions, 9 deletions
diff --git a/src/net/beinghandler.cpp b/src/net/beinghandler.cpp
index 3bec6369..c6e03c86 100644
--- a/src/net/beinghandler.cpp
+++ b/src/net/beinghandler.cpp
@@ -107,7 +107,8 @@ void BeingHandler::handleMessage(MessageIn *msg)
dstBeing->setWalkSpeed(speed);
dstBeing->mJob = job;
dstBeing->setHairStyle(msg->readInt16());
- dstBeing->setVisibleEquipment(Being::WEAPON_SPRITE, msg->readInt16() * 10000);
+ dstBeing->setVisibleEquipment(
+ Being::WEAPON_SPRITE, msg->readInt16() * 10000);
dstBeing->setVisibleEquipment(
Being::BOTTOMCLOTHES_SPRITE, msg->readInt16());
@@ -117,9 +118,10 @@ void BeingHandler::handleMessage(MessageIn *msg)
}
msg->readInt16(); // shield
- dstBeing->setVisibleEquipment(Being::HAT_SPRITE, msg->readInt16());
- dstBeing->setVisibleEquipment(
- Being::TOPCLOTHES_SPRITE, msg->readInt16());
+ headTop = msg->readInt16();
+ headMid = msg->readInt16();
+ dstBeing->setVisibleEquipment(Being::HAT_SPRITE, headTop);
+ dstBeing->setVisibleEquipment(Being::TOPCLOTHES_SPRITE, headMid);
dstBeing->setHairColor(msg->readInt16());
msg->readInt16(); // unknown
msg->readInt16(); // head dir
@@ -224,10 +226,12 @@ void BeingHandler::handleMessage(MessageIn *msg)
}
Particle *levelupFX;
if (msg->readInt32() == 0) { // type
- levelupFX = particleEngine->addEffect("graphics/particles/levelup.particle.xml", 0, 0);
+ levelupFX = particleEngine->addEffect(
+ "graphics/particles/levelup.particle.xml", 0, 0);
}
else {
- levelupFX = particleEngine->addEffect("graphics/particles/skillup.particle.xml", 0, 0);
+ levelupFX = particleEngine->addEffect(
+ "graphics/particles/skillup.particle.xml", 0, 0);
}
beingManager->findBeing(id)->controlParticle(levelupFX);
break;
diff --git a/src/net/equipmenthandler.cpp b/src/net/equipmenthandler.cpp
index 579b6ed3..60be5c74 100644
--- a/src/net/equipmenthandler.cpp
+++ b/src/net/equipmenthandler.cpp
@@ -125,16 +125,18 @@ void EquipmentHandler::handleMessage(MessageIn *msg)
item = player_node->getInvItem(index);
player_node->mEquipment->setEquipment(position, item);
- player_node->setVisibleEquipment(
- Being::WEAPON_SPRITE, item->getId());
break;
case 0x01d7:
- // Equipment related
+ // Equipment related. At least confirmed to be required for weapon
+ // changes to appear on the local player.
being = beingManager->findBeing(msg->readInt32());
msg->readInt8(); // equip point
itemId = msg->readInt16();
msg->readInt16(); // item id 2
+ logger->log("0x01d7 (%s, itemId = %d)",
+ (being == player_node) ? "player" : "somebody else",
+ itemId);
if (!being)
break;