public void update() { /* method to be called with each stat update recomputes derived stats */ baseLife = primaryStats.getHardiness() + level; baseMana = primaryStats.getIntellect() + level; offensiveRating = equipmentStats.getWeaponStats() + primaryStats.getBaseStr() + level; defensiveRating = primaryStats.getAgility() + level; armorRating = equipmentStats.getArmorStats() + primaryStats.getBaseHard(); } // end update
DerivedStats(PrimaryStats ps) { /* initialize stats */ primaryStats = ps; level = 1; equipmentStats = null; baseLife = ps.getHardiness() + level; baseMana = ps.getIntellect() + level; life = baseLife; mana = baseMana; // offensiveRating = equipmentStats.getWeaponStats() + primaryStats.strength + level; defensiveRating = ps.getAgility() + level; // armorRating = equipmentStats.getArmorStats() + primaryStats.hardiness; } // end constructor