| 1602 | } |
| 1603 | |
| 1604 | void Creature::updateFromPacket(ODPacket& is) |
| 1605 | { |
| 1606 | MovableGameEntity::updateFromPacket(is); |
| 1607 | |
| 1608 | int seatId; |
| 1609 | OD_ASSERT_TRUE(is >> mLevel); |
| 1610 | OD_ASSERT_TRUE(is >> seatId); |
| 1611 | OD_ASSERT_TRUE(is >> mOverlayHealthValue); |
| 1612 | OD_ASSERT_TRUE(is >> mOverlayMoodValue); |
| 1613 | OD_ASSERT_TRUE(is >> mGroundSpeed); |
| 1614 | OD_ASSERT_TRUE(is >> mWaterSpeed); |
| 1615 | OD_ASSERT_TRUE(is >> mLavaSpeed); |
| 1616 | OD_ASSERT_TRUE(is >> mSpeedModifier); |
| 1617 | |
| 1618 | // We do not scale the creature if it is picked up (because it is already not at its normal size). It will be |
| 1619 | // resized anyway when dropped |
| 1620 | if(getIsOnMap()) |
| 1621 | RenderManager::getSingleton().rrScaleCreature(*this); |
| 1622 | |
| 1623 | if(getSeat()->getId() != seatId) |
| 1624 | { |
| 1625 | Seat* seat = getGameMap()->getSeatById(seatId); |
| 1626 | if(seat == nullptr) |
| 1627 | { |
| 1628 | OD_LOG_ERR("Creature " + getName() + ", wrong seatId=" + Helper::toString(seatId)); |
| 1629 | } |
| 1630 | else |
| 1631 | { |
| 1632 | setSeat(seat); |
| 1633 | } |
| 1634 | } |
| 1635 | |
| 1636 | OD_ASSERT_TRUE(is >> seatId); |
| 1637 | if(seatId == -1) |
| 1638 | mSeatPrison = nullptr; |
| 1639 | else |
| 1640 | { |
| 1641 | mSeatPrison = getGameMap()->getSeatById(seatId); |
| 1642 | if(mSeatPrison == nullptr) |
| 1643 | { |
| 1644 | OD_LOG_ERR("Creature " + getName() + ", wrong seatId=" + Helper::toString(seatId)); |
| 1645 | } |
| 1646 | } |
| 1647 | } |
| 1648 | |
| 1649 | void Creature::updateTilesInSight() |
| 1650 | { |
nothing calls this directly
no test coverage detected