|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.freecol.common.model.CombatModel
net.sf.freecol.common.model.SimpleCombatModel
public class SimpleCombatModel
This class implements the original Colonization combat model. Note that the damage part of any CombatResult is ignored throughout.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class net.sf.freecol.common.model.CombatModel |
|---|
CombatModel.CombatOdds, CombatModel.CombatResult |
| Field Summary | |
|---|---|
static java.lang.String |
AMPHIBIOUS_ATTACK
|
static java.lang.String |
ARTILLERY_AGAINST_RAID
|
static java.lang.String |
ARTILLERY_IN_THE_OPEN
|
static java.lang.String |
ATTACK_BONUS
|
static java.lang.String |
BIG_MOVEMENT_PENALTY
|
static java.lang.String |
BOMBARD_BONUS
|
static java.lang.String |
FORTIFIED
|
private static java.util.logging.Logger |
logger
|
static int |
MAXIMUM_BOMBARD_POWER
|
static java.lang.String |
SMALL_MOVEMENT_PENALTY
|
static Modifier |
UNKNOWN_DEFENCE_MODIFIER
|
| Constructor Summary | |
|---|---|
SimpleCombatModel()
|
|
| Method Summary | |
|---|---|
private void |
addLandDefensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender,
java.util.Set<Modifier> result)
Add all the defensive modifiers that apply to a land attack. |
private void |
addLandOffensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender,
java.util.Set<Modifier> result)
Add all the offensive modifiers that apply to a land attack. |
private void |
addNavalDefensiveModifiers(FreeColGameObject defender,
java.util.Set<Modifier> result)
Add all the defensive modifiers that apply to a naval attack. |
private void |
addNavalOffensiveModifiers(Unit attacker,
java.util.Set<Modifier> result)
Add all the offensive modifiers that apply to a naval attack. |
CombatModel.CombatOdds |
calculateCombatOdds(FreeColGameObject attacker,
FreeColGameObject defender)
Calculates the odds of success in combat. |
java.util.List<CombatModel.CombatResult> |
generateAttackResult(java.util.Random random,
FreeColGameObject attacker,
FreeColGameObject defender)
Generates a result of a unit attacking. |
float |
getDefencePower(FreeColGameObject attacker,
FreeColGameObject defender)
Get the defensive power wrt an attacker. |
java.util.Set<Modifier> |
getDefensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender)
Collect all defensive modifiers when defending against an attack. |
float |
getOffencePower(FreeColGameObject attacker,
FreeColGameObject defender)
Get the offensive power of a unit attacking another. |
java.util.Set<Modifier> |
getOffensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender)
Collect all the offensive modifiers that apply to an attack. |
private boolean |
isAmbush(FreeColGameObject attacker,
FreeColGameObject defender)
Could this attack be an ambush? |
private boolean |
isBeached(Unit unit)
Is a unit a beached ship? |
private void |
resolveAttack(Unit winner,
Unit loser,
boolean great,
float r,
java.util.List<CombatModel.CombatResult> crs)
Resolve all the consequences of a normal attack. |
| Methods inherited from class net.sf.freecol.common.model.CombatModel |
|---|
combatIsAmphibious, combatIsAttack, combatIsAttackMeasurement, combatIsBombard, combatIsDefenceMeasurement, combatIsSettlementAttack |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final java.util.logging.Logger logger
public static final int MAXIMUM_BOMBARD_POWER
public static final java.lang.String SMALL_MOVEMENT_PENALTY
public static final java.lang.String BIG_MOVEMENT_PENALTY
public static final java.lang.String ARTILLERY_IN_THE_OPEN
public static final java.lang.String ATTACK_BONUS
public static final java.lang.String FORTIFIED
public static final java.lang.String ARTILLERY_AGAINST_RAID
public static final java.lang.String AMPHIBIOUS_ATTACK
public static final java.lang.String BOMBARD_BONUS
public static final Modifier UNKNOWN_DEFENCE_MODIFIER
| Constructor Detail |
|---|
public SimpleCombatModel()
| Method Detail |
|---|
public CombatModel.CombatOdds calculateCombatOdds(FreeColGameObject attacker,
FreeColGameObject defender)
calculateCombatOdds in class CombatModelattacker - The attacker.defender - The defender.
public float getOffencePower(FreeColGameObject attacker,
FreeColGameObject defender)
getOffencePower in class CombatModelattacker - The attacker.defender - The defender.
public float getDefencePower(FreeColGameObject attacker,
FreeColGameObject defender)
getDefencePower in class CombatModelattacker - The attacker.defender - The defender.
public java.util.Set<Modifier> getOffensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender)
getOffensiveModifiers in class CombatModelattacker - The attacker.defender - The defender.
private void addNavalOffensiveModifiers(Unit attacker,
java.util.Set<Modifier> result)
attacker - The attacker.result - The set of modifiers to add to.
private void addLandOffensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender,
java.util.Set<Modifier> result)
attacker - The attacker.defender - The defender.result - The set of modifiers to add to.
public java.util.Set<Modifier> getDefensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender)
getDefensiveModifiers in class CombatModelattacker - The attacker.defender - The defender.
private void addNavalDefensiveModifiers(FreeColGameObject defender,
java.util.Set<Modifier> result)
defender - The defender.result - The set of modifiers to add to.
private void addLandDefensiveModifiers(FreeColGameObject attacker,
FreeColGameObject defender,
java.util.Set<Modifier> result)
attacker - The attacker.defender - The defender.result - The set of modifiers to add to.
public java.util.List<CombatModel.CombatResult> generateAttackResult(java.util.Random random,
FreeColGameObject attacker,
FreeColGameObject defender)
generateAttackResult in class CombatModelrandom - A pseudo-random number source.attacker - The attacker.defender - The defender.
private void resolveAttack(Unit winner,
Unit loser,
boolean great,
float r,
java.util.List<CombatModel.CombatResult> crs)
winner - The winning Unit.loser - The losing Unit.great - True if this is a great win/loss.r - A "residual" random value (for convert/burn mission).crs - A list of CombatResults to add to.
private boolean isAmbush(FreeColGameObject attacker,
FreeColGameObject defender)
attacker - The attacker.defender - The defender.
private boolean isBeached(Unit unit)
unit - The Unit to test.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||