Class CustomRecruitBase

java.lang.Object
net.sf.colossus.server.CustomRecruitBase
All Implemented Interfaces:
ICustomRecruitBase

public abstract class CustomRecruitBase extends Object implements ICustomRecruitBase
Base class to implement custom recruiting functions (i.e. anything that is not a-number-of-creature to another creature)
Author:
Romain Dolbeau
  • Field Details

    • LOGGER

      private static final Logger LOGGER
    • allPlayers

      protected static final List<Player> allPlayers
    • allCaretakerInfo

      private static final List<Caretaker> allCaretakerInfo
    • serverGame

      private static GameServerSide serverGame
    • allCustomRecruitBase

      private static final List<CustomRecruitBase> allCustomRecruitBase
  • Constructor Details

    • CustomRecruitBase

      public CustomRecruitBase()
  • Method Details

    • reset

      public static final void reset()
    • resetAllInstances

      public static final void resetAllInstances()
    • initCustomVariant

      protected void initCustomVariant()
    • initCustomVariantForAllCRBs

      public static final void initCustomVariantForAllCRBs()
    • everyoneAdvanceTurn

      public static final void everyoneAdvanceTurn(int newActivePlayer)
    • addPlayerClientSide

      public static final void addPlayerClientSide(Player pi)
    • addCaretakerClientSide

      public static final void addCaretakerClientSide(Caretaker ci)
    • setGame

      public static final void setGame(GameServerSide g)
    • setCount

      protected final void setCount(CreatureType type, int newCount, boolean reset)
    • adjustAvailableCount

      protected final void adjustAvailableCount(CreatureType type)
    • getCount

      protected final int getCount(CreatureType type)
    • getDeadCount

      protected final int getDeadCount(CreatureType type)
    • getAllPossibleSpecialRecruiters

      public abstract List<CreatureType> getAllPossibleSpecialRecruiters(MasterBoardTerrain terrain)
      List all creatures that can recruit in this terrain in a special way.
      Specified by:
      getAllPossibleSpecialRecruiters in interface ICustomRecruitBase
    • getAllPossibleSpecialRecruits

      public abstract List<CreatureType> getAllPossibleSpecialRecruits(MasterBoardTerrain terrain)
      List all creatures that can be recruited in this terrain in a special way.
      Specified by:
      getAllPossibleSpecialRecruits in interface ICustomRecruitBase
    • getPossibleSpecialRecruiters

      public abstract List<CreatureType> getPossibleSpecialRecruiters(MasterHex hex)
      List creatures that can recruit in this terrain in a special way now.
      Specified by:
      getPossibleSpecialRecruiters in interface ICustomRecruitBase
      Parameters:
      hex - The specific MasterHex considered for recruiting.
      Returns:
      A List of possible special Recruiters in this hex.
    • getPossibleSpecialRecruits

      public abstract List<CreatureType> getPossibleSpecialRecruits(MasterHex hex)
      List creatures that can be recruited in this terrain in a special way now.
      Specified by:
      getPossibleSpecialRecruits in interface ICustomRecruitBase
      Parameters:
      hex - The specific MasterHex considered for recruiting (for an example, see getPossibleSpecialRecruits() in BalrogRecruitment.java in Balrog variant directory)
      Returns:
      A List of possible special Recruits in this hex.
    • numberOfRecruiterNeeded

      public abstract int numberOfRecruiterNeeded(CreatureType recruiter, CreatureType recruit, MasterHex hex)
      Number of recruiters needed to get a recruit in a special way in this terrain now.
      Specified by:
      numberOfRecruiterNeeded in interface ICustomRecruitBase
    • changeOfTurn

      protected abstract void changeOfTurn(int newActivePlayer)
      Bookkeeping function, called once after every player turn. Protected as it should only be called from everyoneAdvanceTurn().
    • resetInstance

      protected abstract void resetInstance()
      Reset, called at the beginning of a game.