From f5fdb19e7aac292cca31ec23250587e0d97d0ff6 Mon Sep 17 00:00:00 2001 From: Chuck Miller Date: Thu, 1 Oct 2009 00:26:38 -0400 Subject: Adds code for saving and getting status effects from the database --- src/serialize/characterdata.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/serialize') diff --git a/src/serialize/characterdata.hpp b/src/serialize/characterdata.hpp index ac281e70..0f3f4c50 100644 --- a/src/serialize/characterdata.hpp +++ b/src/serialize/characterdata.hpp @@ -54,6 +54,14 @@ void serializeCharacterData(const T &data, MessageOut &msg) msg.writeLong(skill_it->second); } + msg.writeShort(data.getStatusEffectSize()); + std::map::const_iterator status_it; + for (status_it = data.getStatusEffectBegin(); status_it != data.getStatusEffectEnd(); status_it++) + { + msg.writeShort(status_it->first); + msg.writeShort(status_it->second); + } + msg.writeShort(data.getMapId()); const Point &pos = data.getPosition(); @@ -99,6 +107,15 @@ void deserializeCharacterData(T &data, MessageIn &msg) data.setExperience(skill,level); } + int statusSize = msg.readShort(); + + for (int i = 0; i < statusSize; i++) + { + int status = msg.readShort(); + int time = msg.readShort(); + data.applyStatusEffect(status, time); + } + data.setMapId(msg.readShort()); Point temporaryPoint; -- cgit v1.2.3-70-g09d2