diff options
author | Chuck Miller <shadowmil@gmail.com> | 2009-07-03 22:54:09 -0400 |
---|---|---|
committer | Chuck Miller <shadowmil@gmail.com> | 2009-07-03 22:54:09 -0400 |
commit | c8772d145ea5db993a0d9ebc78f55b977dab1973 (patch) | |
tree | 0817c3a21692f7b7c06917e196b042639181bcbd /src/serialize | |
parent | 16c8bad4bd1fd32cae60d15e55468d1a2be82d6e (diff) | |
download | manaserv-c8772d145ea5db993a0d9ebc78f55b977dab1973.tar.gz manaserv-c8772d145ea5db993a0d9ebc78f55b977dab1973.tar.bz2 manaserv-c8772d145ea5db993a0d9ebc78f55b977dab1973.tar.xz manaserv-c8772d145ea5db993a0d9ebc78f55b977dab1973.zip |
Makes Skills non hard coded
It should be noted that Jax still needs to update the client
Level calulation seems broken now too
Diffstat (limited to 'src/serialize')
-rw-r--r-- | src/serialize/characterdata.hpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/serialize/characterdata.hpp b/src/serialize/characterdata.hpp index a93768b8..09a8658a 100644 --- a/src/serialize/characterdata.hpp +++ b/src/serialize/characterdata.hpp @@ -21,6 +21,8 @@ #ifndef _TMWSERV_SERIALIZE_CHARACTERDATA_HPP_ #define _TMWSERV_SERIALIZE_CHARACTERDATA_HPP_ +#include <map> + #include "defines.h" #include "common/inventorydata.hpp" #include "net/messagein.hpp" @@ -43,9 +45,13 @@ void serializeCharacterData(const T &data, MessageOut &msg) msg.writeByte(data.getAttribute(i)); } - for (int i = 0; i < CHAR_SKILL_NB; ++i) + msg.writeShort(data.getSkillSize()); + + std::map<int, int>::const_iterator skill_it; + for (skill_it = data.getSkillBegin(); skill_it != data.getSkillEnd() ; skill_it++) { - msg.writeLong(data.getExperience(i)); + msg.writeShort(skill_it->first); + msg.writeLong(skill_it->second); } @@ -84,9 +90,11 @@ void deserializeCharacterData(T &data, MessageIn &msg) data.setAttribute(i, msg.readByte()); } - for (int i = 0; i < CHAR_SKILL_NB; ++i) + int skillSize = msg.readShort(); + + for (int i = 0; i < skillSize; ++i) { - data.setExperience(i, msg.readLong()); + data.setExperience(msg.readShort(), msg.readLong()); } data.setMapId(msg.readShort()); |