Split off battle creature stats into boosted and non-boosted
This commit is contained in:
@@ -4,15 +4,27 @@
|
||||
using namespace CreatureLib;
|
||||
|
||||
Core::StatisticSet<uint32_t>
|
||||
Battling::BattleStatCalculator::CalculateStats(Battling::BattleCreature *creature) const {
|
||||
Battling::BattleStatCalculator::CalculateFlatStats(Battling::BattleCreature *creature) const {
|
||||
return Core::StatisticSet<uint32_t>(
|
||||
CalculateStat(creature, Core::Statistic::Health),
|
||||
CalculateStat(creature, Core::Statistic::PhysicalAttack),
|
||||
CalculateStat(creature, Core::Statistic::PhysicalDefense),
|
||||
CalculateStat(creature, Core::Statistic::MagicalAttack),
|
||||
CalculateStat(creature, Core::Statistic::MagicalDefense),
|
||||
CalculateStat(creature, Core::Statistic::Speed)
|
||||
);
|
||||
CalculateFlatStat(creature, Core::Statistic::Health),
|
||||
CalculateFlatStat(creature, Core::Statistic::PhysicalAttack),
|
||||
CalculateFlatStat(creature, Core::Statistic::PhysicalDefense),
|
||||
CalculateFlatStat(creature, Core::Statistic::MagicalAttack),
|
||||
CalculateFlatStat(creature, Core::Statistic::MagicalDefense),
|
||||
CalculateFlatStat(creature, Core::Statistic::Speed)
|
||||
);
|
||||
}
|
||||
|
||||
Core::StatisticSet<uint32_t>
|
||||
Battling::BattleStatCalculator::CalculateBoostedStats(Battling::BattleCreature *creature) const {
|
||||
return Core::StatisticSet<uint32_t>(
|
||||
CalculateBoostedStat(creature, Core::Statistic::Health),
|
||||
CalculateBoostedStat(creature, Core::Statistic::PhysicalAttack),
|
||||
CalculateBoostedStat(creature, Core::Statistic::PhysicalDefense),
|
||||
CalculateBoostedStat(creature, Core::Statistic::MagicalAttack),
|
||||
CalculateBoostedStat(creature, Core::Statistic::MagicalDefense),
|
||||
CalculateBoostedStat(creature, Core::Statistic::Speed)
|
||||
);
|
||||
}
|
||||
|
||||
uint32_t CalculateHealthStat(Battling::BattleCreature *creature){
|
||||
@@ -32,8 +44,12 @@ uint32_t CalculateOtherStat(Battling::BattleCreature *creature, Core::Statistic
|
||||
}
|
||||
|
||||
|
||||
uint32_t Battling::BattleStatCalculator::CalculateStat(Battling::BattleCreature *creature, Core::Statistic stat) const{
|
||||
uint32_t Battling::BattleStatCalculator::CalculateFlatStat(Battling::BattleCreature *creature, Core::Statistic stat) const{
|
||||
if (stat == Core::Statistic::Health)
|
||||
return CalculateHealthStat(creature);
|
||||
return CalculateOtherStat(creature, stat);
|
||||
}
|
||||
|
||||
uint32_t Battling::BattleStatCalculator::CalculateBoostedStat(Battling::BattleCreature *creature, Core::Statistic stat) const{
|
||||
throw "TODO";
|
||||
}
|
||||
|
||||
@@ -9,8 +9,10 @@ namespace CreatureLib::Battling {
|
||||
|
||||
class BattleStatCalculator {
|
||||
public:
|
||||
virtual Core::StatisticSet<uint32_t > CalculateStats(BattleCreature* creature) const;
|
||||
virtual uint32_t CalculateStat(BattleCreature* creature, Core::Statistic stat) const;
|
||||
virtual Core::StatisticSet<uint32_t > CalculateFlatStats(BattleCreature* creature) const;
|
||||
virtual Core::StatisticSet<uint32_t > CalculateBoostedStats(BattleCreature* creature) const;
|
||||
virtual uint32_t CalculateFlatStat(BattleCreature* creature, Core::Statistic stat) const;
|
||||
virtual uint32_t CalculateBoostedStat(BattleCreature* creature, Core::Statistic stat) const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user