53 const int count = (
msg.readInt16(
"len") - 4) / 37;
54 for (
int f = 0; f < count; f ++)
56 const int skillId =
msg.readInt16(
"skill id");
58 msg.readInt16(
"inf"));
59 msg.readInt16(
"unused");
60 const int level =
msg.readInt16(
"skill level");
61 const int sp =
msg.readInt16(
"sp");
62 const int range =
msg.readInt16(
"range");
63 const std::string name =
msg.readString(24,
"skill name");
71 skillId, name, level, range, up, inf, sp);
83 msg.readUInt8(
"unused");
84 const int cmd =
msg.readUInt8(
"state");
85 const BeingId id =
msg.readBeingId(
"homunculus id");
87 const int data =
msg.readInt32(
"data");
119 const std::string name =
msg.readString(24,
"name");
120 msg.readUInt8(
"flags");
121 const int level =
msg.readInt16(
"level");
125 const int hungry =
msg.readInt16(
"hungry");
126 const int intimacy =
msg.readInt16(
"intimacy");
127 const int equip =
msg.readItemId(
"item id");
129 msg.readInt16(
"atk"),
132 msg.readInt16(
"matk"),
135 msg.readInt16(
"hit"),
138 msg.readInt16(
"luk/3 or crit/10"),
141 msg.readInt16(
"def"),
144 msg.readInt16(
"mdef"),
147 msg.readInt16(
"flee"),
150 msg.readInt16(
"attack speed"),
156 msg.readInt16(
"max hp"),
162 msg.readInt16(
"max sp"),
165 msg.readInt32(
"exp"),
168 msg.readInt32(
"next exp"),
171 msg.readInt16(
"skill points"),
173 const int range =
msg.readInt16(
"attack range");
187 info->hungry = hungry;
188 info->intimacy = intimacy;
197 const std::string name =
msg.readString(24,
"name");
198 msg.readUInt8(
"flags");
199 const int level =
msg.readInt16(
"level");
203 const int hungry =
msg.readInt16(
"hungry");
204 const int intimacy =
msg.readInt16(
"intimacy");
205 const int equip =
msg.readItemId(
"item id");
207 msg.readInt16(
"atk"),
210 msg.readInt16(
"matk"),
213 msg.readInt16(
"hit"),
216 msg.readInt16(
"luk/3 or crit/10"),
219 msg.readInt16(
"def"),
222 msg.readInt16(
"mdef"),
225 msg.readInt16(
"flee"),
228 msg.readInt16(
"attack speed"),
234 msg.readInt32(
"max hp"),
240 msg.readInt16(
"max sp"),
243 msg.readInt32(
"exp"),
246 msg.readInt32(
"next exp"),
249 msg.readInt16(
"skill points"),
251 const int range =
msg.readInt16(
"attack range");
265 info->hungry = hungry;
266 info->intimacy = intimacy;
275 const std::string name =
msg.readString(24,
"name");
276 msg.readUInt8(
"flags");
277 const int level =
msg.readInt16(
"level");
281 const int hungry =
msg.readInt16(
"hungry");
282 const int intimacy =
msg.readInt16(
"intimacy");
284 msg.readInt16(
"atk"),
287 msg.readInt16(
"matk"),
290 msg.readInt16(
"hit"),
293 msg.readInt16(
"luk/3 or crit/10"),
296 msg.readInt16(
"def"),
299 msg.readInt16(
"mdef"),
302 msg.readInt16(
"flee"),
305 msg.readInt16(
"attack speed"),
311 msg.readInt32(
"max hp"),
317 msg.readInt16(
"max sp"),
320 msg.readInt32(
"exp"),
323 msg.readInt32(
"next exp"),
326 msg.readInt16(
"skill points"),
328 const int range =
msg.readInt16(
"attack range");
342 info->hungry = hungry;
343 info->intimacy = intimacy;
350 const int skillId =
msg.readInt16(
"skill id");
351 const int level =
msg.readInt16(
"level");
352 const int sp =
msg.readInt16(
"sp");
353 const int range =
msg.readInt16(
"range");
373 const int flag =
msg.readUInt8(
"fail");
374 const int itemId =
msg.readItemId(
"food id");
381 const std::string name =
strprintf(
"[@@%d|%s@@]", itemId,
389 const int exp =
msg.readInt32(
"exp");
390 msg.readInt32(
"unused");
ActorManager * actorManager
#define fromBool(val, name)
Being * findBeing(const BeingId id) const
void addHomunXpMessage(const int change)
bool updateSkill(const int id, const int range, const Modifiable modifiable, const SkillType::SkillType type, const int sp)
void playUpdateEffect(const int id) const
void addSkill(const SkillOwner::Type owner, const int id, const std::string &name, const int level, const int range, const Modifiable modifiable, const SkillType::SkillType type, const int sp)
void hideSkills(const SkillOwner::Type owner)
LocalPlayer * localPlayer
bool msg(InputEvent &event)
bool info(InputEvent &event)
void processHomunculusInfo3(Net::MessageIn &msg)
void processHomunculusData(Net::MessageIn &msg)
void processHomunculusExp(Net::MessageIn &msg)
void processHomunculusInfo1(Net::MessageIn &msg)
void processHomunculusSkills(Net::MessageIn &msg)
void processHomunculusFood(Net::MessageIn &msg)
void processHomunculusInfo2(Net::MessageIn &msg)
void processHomunculusSkillUp(Net::MessageIn &msg)
const std::string & getName(const int id)
const ItemInfo & get(const int id)
void notify(const unsigned int message)
HomunculusInfo * getHomunculus()
void setHomunculusBeing(Being *const being)
int getSkillLevel(const int id)
void setSkillLevel(const int id, const int value)
void setStatBase(const AttributesT id, const int value, const Notify notify)
void setHomunculus(HomunculusInfo *const info)
SkillDialog * skillDialog
std::string strprintf(const char *const format,...)