| 587 | } |
| 588 | |
| 589 | void Creature::importFromPacket(ODPacket& is) |
| 590 | { |
| 591 | MovableGameEntity::importFromPacket(is); |
| 592 | std::string tempString; |
| 593 | |
| 594 | OD_ASSERT_TRUE(is >> mDefinitionString); |
| 595 | |
| 596 | OD_ASSERT_TRUE(is >> mLevel); |
| 597 | OD_ASSERT_TRUE(is >> mExp); |
| 598 | |
| 599 | OD_ASSERT_TRUE(is >> mHp); |
| 600 | OD_ASSERT_TRUE(is >> mMaxHP); |
| 601 | |
| 602 | OD_ASSERT_TRUE(is >> mDigRate); |
| 603 | OD_ASSERT_TRUE(is >> mClaimRate); |
| 604 | OD_ASSERT_TRUE(is >> mWakefulness); |
| 605 | OD_ASSERT_TRUE(is >> mHunger); |
| 606 | |
| 607 | OD_ASSERT_TRUE(is >> mGroundSpeed); |
| 608 | OD_ASSERT_TRUE(is >> mWaterSpeed); |
| 609 | OD_ASSERT_TRUE(is >> mLavaSpeed); |
| 610 | |
| 611 | OD_ASSERT_TRUE(is >> mPhysicalDefense); |
| 612 | OD_ASSERT_TRUE(is >> mMagicalDefense); |
| 613 | OD_ASSERT_TRUE(is >> mElementDefense); |
| 614 | |
| 615 | OD_ASSERT_TRUE(is >> mOverlayHealthValue); |
| 616 | OD_ASSERT_TRUE(is >> mOverlayMoodValue); |
| 617 | OD_ASSERT_TRUE(is >> mSpeedModifier); |
| 618 | |
| 619 | OD_ASSERT_TRUE(is >> tempString); |
| 620 | if(tempString != "none") |
| 621 | { |
| 622 | mWeaponL = getGameMap()->getWeapon(tempString); |
| 623 | if(mWeaponL == nullptr) |
| 624 | { |
| 625 | OD_LOG_ERR("Unknown weapon name=" + tempString); |
| 626 | } |
| 627 | } |
| 628 | |
| 629 | OD_ASSERT_TRUE(is >> tempString); |
| 630 | if(tempString != "none") |
| 631 | { |
| 632 | mWeaponR = getGameMap()->getWeapon(tempString); |
| 633 | if(mWeaponR == nullptr) |
| 634 | { |
| 635 | OD_LOG_ERR("Unknown weapon name=" + tempString); |
| 636 | } |
| 637 | } |
| 638 | |
| 639 | setupDefinition(*getGameMap(), *ConfigManager::getSingleton().getCreatureDefinitionDefaultWorker()); |
| 640 | } |
| 641 | |
| 642 | void Creature::setPosition(const Ogre::Vector3& v) |
| 643 | { |
no test coverage detected