| 487 | } |
| 488 | |
| 489 | void Creature::buildStats() |
| 490 | { |
| 491 | // Get the base value |
| 492 | mMaxHP = mDefinition->getMinHp(); |
| 493 | mDigRate = mDefinition->getDigRate(); |
| 494 | mClaimRate = mDefinition->getClaimRate(); |
| 495 | mGroundSpeed = mDefinition->getMoveSpeedGround(); |
| 496 | mWaterSpeed = mDefinition->getMoveSpeedWater(); |
| 497 | mLavaSpeed = mDefinition->getMoveSpeedLava(); |
| 498 | |
| 499 | mPhysicalDefense = mDefinition->getPhysicalDefense(); |
| 500 | mMagicalDefense = mDefinition->getMagicalDefense(); |
| 501 | mElementDefense = mDefinition->getElementDefense(); |
| 502 | |
| 503 | // Improve the stats to the current level |
| 504 | double multiplier = mLevel - 1; |
| 505 | if (multiplier <= 0.0) |
| 506 | return; |
| 507 | |
| 508 | mMaxHP += mDefinition->getHpPerLevel() * multiplier; |
| 509 | mDigRate += mDefinition->getDigRatePerLevel() * multiplier; |
| 510 | mClaimRate += mDefinition->getClaimRatePerLevel() * multiplier; |
| 511 | mGroundSpeed += mDefinition->getGroundSpeedPerLevel() * multiplier; |
| 512 | mWaterSpeed += mDefinition->getWaterSpeedPerLevel() * multiplier; |
| 513 | mLavaSpeed += mDefinition->getLavaSpeedPerLevel() * multiplier; |
| 514 | |
| 515 | mPhysicalDefense += mDefinition->getPhysicalDefPerLevel() * multiplier; |
| 516 | mMagicalDefense += mDefinition->getMagicalDefPerLevel() * multiplier; |
| 517 | mElementDefense += mDefinition->getElementDefPerLevel() * multiplier; |
| 518 | } |
| 519 | |
| 520 | Creature* Creature::getCreatureFromStream(GameMap* gameMap, std::istream& is) |
| 521 | { |
nothing calls this directly
no test coverage detected