Class CreatureType

java.lang.Object
net.sf.colossus.variant.CreatureType
All Implemented Interfaces:
Comparable<CreatureType>
Direct Known Subclasses:
CreatureTypeTitan

public class CreatureType extends Object implements Comparable<CreatureType>
A type of creature in a variant. This class models a generic creature type, i.e. all features that are common through all creatures of a specific type. Default equality and sorting order is class (in case of subclasses) then name.
  • Field Details

    • LOGGER

      private static final Logger LOGGER
    • NAME_ORDER

      public static final Comparator<CreatureType> NAME_ORDER
      A comparator sorting creature types by name.
    • noBaseColor

      private static boolean noBaseColor
    • name

      private final String name
    • pluralName

      private final String pluralName
    • power

      private final int power
    • skill

      private final int skill
    • rangestrikes

      private final boolean rangestrikes
    • flies

      private final boolean flies
    • nativeSlope

      private final boolean nativeSlope
    • nativeRiver

      private final boolean nativeRiver
    • nativeDune

      private final boolean nativeDune
    • waterDwelling

      private final boolean waterDwelling
    • magicMissile

      private final boolean magicMissile
    • lord

      private final boolean lord
    • demilord

      private final boolean demilord
    • maxCount

      private int maxCount
    • poison

      private final int poison
    • slows

      private final int slows
    • baseColor

      private final String baseColor
    • nativeTerrains

      private final Set<HazardTerrain> nativeTerrains
    • isSummonable

      private final boolean isSummonable
  • Constructor Details

    • CreatureType

      public CreatureType(String name, int power, int skill, boolean rangestrikes, boolean flies, Set<HazardTerrain> nativeTerrains, boolean nativeSlope, boolean nativeRiver, boolean nativeDune, boolean waterDwelling, boolean magicMissile, boolean summonable, boolean lord, boolean demilord, int maxCount, String pluralName, String baseColor, int poison, int slows)
  • Method Details

    • setNoBaseColor

      public static void setNoBaseColor(boolean b)
    • getName

      public String getName()
      The name used for creatures of this type.
    • getPluralName

      public String getPluralName()
      The name used for multiple creatures of this type.
    • isNativeIn

      public boolean isNativeIn(HazardTerrain terrain)
      Checks if the type of creature is native in a terrain type.
      Parameters:
      terrain - The terrain to check. Not null.
      Returns:
      true iff creatures of this type are native in the terrain.
    • isSummonable

      public boolean isSummonable()
    • isTitan

      public boolean isTitan()
      Returns true if this is a Titan. The default implementation is a constant false, to be overridden in classes representing Titans.
      Returns:
      true iff this creature type is a Titan.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public final boolean equals(Object object)
      Compare by name.
      Overrides:
      equals in class Object
    • getMaxCount

      public int getMaxCount()
    • setMaxCount

      public void setMaxCount(int maxCount)
      Only called on Titans after numPlayers is known. 08/2009 Clemens: And on Balrogs when players scores raise.
    • isLord

      public boolean isLord()
    • isDemiLord

      public boolean isDemiLord()
    • isLordOrDemiLord

      public boolean isLordOrDemiLord()
    • isImmortal

      public boolean isImmortal()
    • canChangeValue

      public boolean canChangeValue()
      true if any if the values can change during the game returned by: - getPower, getSkill, (and therefore getPointValue) - isRangestriker, isFlier, useMagicMissile - isNativeTerraion(t), for all t - isNativeHexSide(h) for all h In Standard game only the titans change their attributes
    • getImageName

      protected String getImageName()
    • getImageNames

      public String[] getImageNames()
    • getPower

      public int getPower()
    • getSkill

      public int getSkill()
    • getPointValue

      public int getPointValue()
    • isRangestriker

      public boolean isRangestriker()
    • isFlier

      public boolean isFlier()
    • isPoison

      public boolean isPoison()
    • slows

      public boolean slows()
    • isNativeAt

      public boolean isNativeAt(HazardHexside hazard)
    • isNativeAt

      public boolean isNativeAt(char h)
    • isNativeSlope

      public boolean isNativeSlope()
    • isNativeRiver

      public boolean isNativeRiver()
    • isNativeDune

      public boolean isNativeDune()
    • isWaterDwelling

      public boolean isWaterDwelling()
    • useMagicMissile

      public boolean useMagicMissile()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getBaseColor

      public String getBaseColor()
    • getPoison

      public int getPoison()
    • getSlows

      public int getSlows()
    • getKillValue

      public int getKillValue()
      Get the non-terrainified part of the kill-value. TODO this is not model, but AI related (but also used in client for sorting creatures -- the client uses the AI for recruit hints, too)
    • compareTo

      public int compareTo(CreatureType o)
      Specified by:
      compareTo in interface Comparable<CreatureType>