MCPcopy Create free account
hub / github.com/OpenDungeons/OpenDungeons / buildStats

Method buildStats

source/entities/Creature.cpp:489–518  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

487}
488
489void 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
520Creature* Creature::getCreatureFromStream(GameMap* gameMap, std::istream& is)
521{

Callers

nothing calls this directly

Calls 15

getMinHpMethod · 0.80
getHpPerLevelMethod · 0.80
getDigRatePerLevelMethod · 0.80
getClaimRatePerLevelMethod · 0.80
getWaterSpeedPerLevelMethod · 0.80
getLavaSpeedPerLevelMethod · 0.80
getMagicalDefPerLevelMethod · 0.80
getElementDefPerLevelMethod · 0.80
getDigRateMethod · 0.45
getClaimRateMethod · 0.45

Tested by

no test coverage detected