291
295
msg.readInt16("char points"));
293
297
unsigned int val = msg.readUInt8("str");
294
PlayerInfo::setStatBase(STR, val);
298
PlayerInfo::setStatBase(Attributes::STR, val);
295
299
if (statusWindow)
296
statusWindow->setPointsNeeded(STR, msg.readUInt8("str cost"));
301
statusWindow->setPointsNeeded(Attributes::STR,
302
msg.readUInt8("str cost"));
298
306
msg.readUInt8("str need");
300
309
val = msg.readUInt8("agi");
301
PlayerInfo::setStatBase(AGI, val);
310
PlayerInfo::setStatBase(Attributes::AGI, val);
302
311
if (statusWindow)
303
statusWindow->setPointsNeeded(AGI, msg.readUInt8("agi cost"));
313
statusWindow->setPointsNeeded(Attributes::AGI,
314
msg.readUInt8("agi cost"));
305
318
msg.readUInt8("agi cost");
307
321
val = msg.readUInt8("vit");
308
PlayerInfo::setStatBase(VIT, val);
322
PlayerInfo::setStatBase(Attributes::VIT, val);
309
323
if (statusWindow)
310
statusWindow->setPointsNeeded(VIT, msg.readUInt8("vit cost"));
325
statusWindow->setPointsNeeded(Attributes::VIT,
326
msg.readUInt8("vit cost"));
312
330
msg.readUInt8("vit cost");
314
333
val = msg.readUInt8("int");
315
PlayerInfo::setStatBase(INT, val);
334
PlayerInfo::setStatBase(Attributes::INT, val);
316
335
if (statusWindow)
317
statusWindow->setPointsNeeded(INT, msg.readUInt8("int cost"));
337
statusWindow->setPointsNeeded(Attributes::INT,
338
msg.readUInt8("int cost"));
319
342
msg.readUInt8("int cost");
321
345
val = msg.readUInt8("dex");
322
PlayerInfo::setStatBase(DEX, val);
346
PlayerInfo::setStatBase(Attributes::DEX, val);
323
347
if (statusWindow)
324
statusWindow->setPointsNeeded(DEX, msg.readUInt8("dex cost"));
349
statusWindow->setPointsNeeded(Attributes::DEX,
350
msg.readUInt8("dex cost"));
326
354
msg.readUInt8("dex cost");
328
357
val = msg.readUInt8("luk");
329
PlayerInfo::setStatBase(LUK, val);
358
PlayerInfo::setStatBase(Attributes::LUK, val);
330
359
if (statusWindow)
331
statusWindow->setPointsNeeded(LUK, msg.readUInt8("luk cost"));
361
statusWindow->setPointsNeeded(Attributes::LUK,
362
msg.readUInt8("luk cost"));
333
366
msg.readUInt8("luk cost");
335
PlayerInfo::setStatBase(ATK, msg.readInt16("left atk"), false);
336
PlayerInfo::setStatMod(ATK, msg.readInt16("right atk"));
369
PlayerInfo::setStatBase(Attributes::ATK, msg.readInt16("left atk"), false);
370
PlayerInfo::setStatMod(Attributes::ATK, msg.readInt16("right atk"));
337
371
PlayerInfo::updateAttrs();
339
373
val = msg.readInt16("right matk");
340
PlayerInfo::setStatBase(MATK, val, false);
374
PlayerInfo::setStatBase(Attributes::MATK, val, false);
342
376
val = msg.readInt16("left matk");
343
PlayerInfo::setStatMod(MATK, val);
345
PlayerInfo::setStatBase(DEF, msg.readInt16("left def"), false);
346
PlayerInfo::setStatMod(DEF, msg.readInt16("right def"));
348
PlayerInfo::setStatBase(MDEF, msg.readInt16("left mdef"), false);
349
PlayerInfo::setStatMod(MDEF, msg.readInt16("right mdef"));
351
PlayerInfo::setStatBase(HIT, msg.readInt16("hit"));
353
PlayerInfo::setStatBase(FLEE, msg.readInt16("flee"), false);
354
PlayerInfo::setStatMod(FLEE, msg.readInt16("flee2/10"));
356
PlayerInfo::setStatBase(CRIT, msg.readInt16("crit/10"));
377
PlayerInfo::setStatMod(Attributes::MATK, val);
379
PlayerInfo::setStatBase(Attributes::DEF, msg.readInt16("left def"), false);
380
PlayerInfo::setStatMod(Attributes::DEF, msg.readInt16("right def"));
382
PlayerInfo::setStatBase(Attributes::MDEF,
383
msg.readInt16("left mdef"), false);
384
PlayerInfo::setStatMod(Attributes::MDEF, msg.readInt16("right mdef"));
386
PlayerInfo::setStatBase(Attributes::HIT, msg.readInt16("hit"));
388
PlayerInfo::setStatBase(Attributes::FLEE, msg.readInt16("flee"), false);
389
PlayerInfo::setStatMod(Attributes::FLEE, msg.readInt16("flee2/10"));
391
PlayerInfo::setStatBase(Attributes::CRIT, msg.readInt16("crit/10"));
358
393
PlayerInfo::setAttribute(Attributes::ATTACK_DELAY,
359
394
msg.readInt16("attack speed"));