Class ReputationCalculator


  • @Lazy
    @Component
    public class ReputationCalculator
    extends java.lang.Object
    Calculator for a players reputation
    Author:
    Andi Hotz, (c) Sahits GmbH, 2012 Created on Jul 23, 2012
    • Constructor Detail

      • ReputationCalculator

        public ReputationCalculator()
    • Method Detail

      • calculateWareReputation

        public int calculateWareReputation​(ICity city,
                                           IPlayer player)
        Check each ware if the player contributes and what amount. If the city contributes enough to cover the needs, this ware is irrelevant for the computation If the player contributes enough to cover all the need he gets 100 points for the ware. If he contributes less he gets a fraction according to what he contributes.
        Parameters:
        city - for which the ware based reputation should be checked
        player - for whom the reputation is calculated
        Returns:
        value between 0 and 100
      • getNegativeReputationFactor

        double getNegativeReputationFactor​(IPlayer player,
                                           ICity city)
      • remapReputation

        public double remapReputation​(ICity city,
                                      IPlayer player)
        Remap the linear reputation stored in a city to value that are used in ranks.
        Parameters:
        city - for which the reputation is remaped
        player - for which the reputation is remapped
        Returns:
        reputation of the player in the city
      • calculateCareer

        public ICareer calculateCareer​(ICity city,
                                       IPlayer player)
        Calculate the current career level of the player.
        Parameters:
        city - in which to calculate hte career level
        player - for whom to calculate the career level
        Returns:
        career level of the player.
      • calculateDelta

        double calculateDelta​(ESocialRank rank)