Class BattleServerSide
java.lang.Object
net.sf.colossus.game.Battle
net.sf.colossus.server.BattleServerSide
Class Battle holds data about a Titan battle.
It has utility functions related to incrementing the phase, managing
moves, and managing strikes.
- Author:
- David Ripton, Romain Dolbeau
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumprivate classstatic enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BattleServerSide.LegionTagsprivate booleanprivate booleanprivate final BattleMovementServerSideprivate booleanprivate intSet of hexes for valid carry targetsprivate booleanprivate booleanprivate static final Loggerprivate BattlePhaseprivate final PhaseAdvancerprivate intprivate booleanprivate ServerFields inherited from class Battle
attacker, battleTurnNumber, defender, game -
Constructor Summary
ConstructorsConstructorDescriptionBattleServerSide(GameServerSide game, Legion attacker, Legion defender, BattleServerSide.LegionTags activeLegionTag, MasterHex masterHex, BattlePhase phase) -
Method Summary
Modifier and TypeMethodDescription(package private) voidaddCarryTarget(BattleHex hex) private void(package private) voidapplyCarries(CreatureServerSide target) private void(package private) booleanprivate voidvoidprivate voidcleanup()private voidcleanupOneDeadCritter(Creature critter) (package private) voidprivate voidprivate void(package private) voidMark all of the conceding player's critters as dead.(package private) StringIf legal, move critter to hex and return true.(package private) voidNeeds to be called when reinforcement is done.(package private) void(package private) voidChecks now all at same place in ServerfindTargetHexes(CreatureServerSide critter, boolean rangestrike) Return a set of hexes containing targets that the critter may strike(package private) voidfinishSummoningAngel(boolean placeNewChit) Called from Game after the SummonAngel finishes.(package private) LegionServerSideGet all BattleCritters / BattleUnits Abstract because currently implementation is different, but needed on both side, e.g.Override with covariant return type to ease transition into new model.(package private) Player(package private) BattlePhase(package private) intReturn the set of hexes with valid carry targets.(package private) CreatureServerSidegetCreatureSS(BattleHex hex) Override with covariant return type to ease transition into new model.getGame()Override with covariant return type to ease transition into new model.private LegionServerSideprivate LegionServerSidegetLegion(BattleServerSide.LegionTags legionTag) (package private) BattleServerSide.AngelSummoningStates(package private) voidinit()We need to do two-stage construction so that game.battle is non-null earlier.private voidinitBattleChits(LegionServerSide legion) booleanbooleanbooleanisInContact(BattleCritter critter, boolean countDead) Return true if there are any enemies adjacent to this critter.private booleanisOver()(package private) voidprivate voidmoveCritterToHexAndInformClients(CreatureServerSide critter, BattleHex hex) intnumInContact(BattleCritter striker, boolean countDead) Return the number of enemy creatures in contact with this critter.private voidplaceCritter(CreatureServerSide critter) private voidplaceLegion(Legion legion) private booleanprivate voidprivate voidprivate voidIf any creatures were left off-board, kill them.(package private) voidsetCarryDamage(int carryDamage) (package private) voidsetCarryTargets(Set<BattleHex> carryTargets) (package private) voidsetPreStrikeEffectsApplied(boolean preStrikeEffectsApplied) void(package private) voidsetSummonState(BattleServerSide.AngelSummoningStates summonState) private booleanprivate booleanprivate booleanprivate boolean(package private) voidMethods inherited from class Battle
computeSkillPenaltyRangestrikeThrough, countBrambleHexes, getBattleTurnNumber, getCritter, getDirection, getLegionByPlayer, getLocation, getRange, isLOSBlocked, isLOSBlockedDir, isObstacle, isOccupied, isRangestrikePossible, setBattleTurnNumber, toLeft
-
Field Details
-
LOGGER
-
server
-
activeLegionTag
-
phase
-
summonState
-
carryDamage
private int carryDamage -
attackerElim
private boolean attackerElim -
defenderElim
private boolean defenderElim -
battleOver
private boolean battleOver -
attackerEntered
private boolean attackerEntered -
conceded
private boolean conceded -
preStrikeEffectsApplied
private boolean preStrikeEffectsApplied -
carryTargets
-
phaseAdvancer
-
pointsScored
private int pointsScored -
battleMovement
-
-
Constructor Details
-
BattleServerSide
BattleServerSide(GameServerSide game, Legion attacker, Legion defender, BattleServerSide.LegionTags activeLegionTag, MasterHex masterHex, BattlePhase phase)
-
-
Method Details
-
setServer
-
cleanRefs
public void cleanRefs() -
placeLegion
-
placeCritter
-
initBattleChits
-
init
void init()We need to do two-stage construction so that game.battle is non-null earlier. -
getGame
Override with covariant return type to ease transition into new model. -
isDefenderActive
public boolean isDefenderActive() -
getBattleActiveLegion
- Specified by:
getBattleActiveLegionin classBattle
-
getBattleActivePlayer
Player getBattleActivePlayer() -
getAttackingLegion
Override with covariant return type to ease transition into new model.- Overrides:
getAttackingLegionin classBattle
-
getDefendingLegion
Override with covariant return type to ease transition into new model.- Overrides:
getDefendingLegionin classBattle
-
getActiveLegion
LegionServerSide getActiveLegion() -
getInactiveLegion
-
getLegion
-
getBattlePhase
BattlePhase getBattlePhase() -
isOver
private boolean isOver() -
advancePhase
private void advancePhase() -
setupSummon
private boolean setupSummon() -
setupRecruit
private boolean setupRecruit() -
setupMove
private boolean setupMove() -
setupFight
private boolean setupFight() -
getSummonState
BattleServerSide.AngelSummoningStates getSummonState() -
setSummonState
-
finishSummoningAngel
void finishSummoningAngel(boolean placeNewChit) Called from Game after the SummonAngel finishes. -
recruitReinforcement
private boolean recruitReinforcement() -
doneReinforcing
void doneReinforcing()Needs to be called when reinforcement is done. -
getCarryDamage
int getCarryDamage() -
setCarryDamage
void setCarryDamage(int carryDamage) -
undoMove
-
concede
Mark all of the conceding player's critters as dead. -
removeOffboardCreatures
private void removeOffboardCreatures()If any creatures were left off-board, kill them. If they were newly summoned or recruited, unsummon or unrecruit them instead. -
commitMoves
private void commitMoves() -
doneWithMoves
void doneWithMoves() -
applyPreStrikeEffects
private void applyPreStrikeEffects() -
arePreStrikeEffectsApplied
boolean arePreStrikeEffectsApplied() -
setPreStrikeEffectsApplied
void setPreStrikeEffectsApplied(boolean preStrikeEffectsApplied) -
leaveCarryMode
void leaveCarryMode() -
removeDeadCreatures
private void removeDeadCreatures() -
removeDeadCreaturesFromLegion
-
cleanupOneDeadCritter
-
checkForElimination
private void checkForElimination() -
commitStrikes
private void commitStrikes() -
isForcedStrikeRemaining
public boolean isForcedStrikeRemaining() -
doneWithStrikes
void doneWithStrikes()Checks now all at same place in Server -
findTargetHexes
Return a set of hexes containing targets that the critter may strike- Parameters:
rangestrike- Whether to include rangestrike targetsbattleUnit- the striking creature- Returns:
- a set of hexes containing targets
-
getCarryTargets
-
getCarryTargetDescriptions
-
clearCarryTargets
void clearCarryTargets() -
setCarryTargets
-
addCarryTarget
-
applyCarries
-
doMove
-
moveCritterToHexAndInformClients
-
cleanup
private void cleanup() -
getAllCritters
Description copied from class:BattleGet all BattleCritters / BattleUnits Abstract because currently implementation is different, but needed on both side, e.g. for BattleMovement- Specified by:
getAllCrittersin classBattle
-
getCreatureSS
-
isInContact
Return true if there are any enemies adjacent to this critter.- Specified by:
isInContactin classBattle- Parameters:
critter- The critter to check whether it is in contact with any enemy crittercountDead- Dead critters count as being in contact only if countDead is true.
-
numInContact
Return the number of enemy creatures in contact with this critter. Dead critters count as being in contact only if countDead is true.
-