package net.sf.colossus.variant; /** * This holds constants used in Hazard Terrain and Hazard Hexside */ public interface HazardConstants { /** * Movement Constants */ public enum EffectOnMovement { BLOCKALL, BLOCKFOREIGNER, SLOWALL, SLOWFOREIGNER, FREEMOVE } /** * Scope Constants - * All - is everyone * Natives means Natives vs anyone * Patriots means Natives vs Foreigners * Foreigners are Non-Natives vs anyone * Imperials means Foreigners vs Natives */ public enum ScopeOfEffectOnStrike { NATIVES, PATRIOTS, FOREIGNERS, IMPERIALS, ALL } /** * Strike/RangeStrike Constants */ public enum EffectOnStrike { SKILLBONUS, SKILLPENALTY, POWERBONUS, POWERPENALTY, BLOCKED, NOEFFECT } /** Special effects. */ public enum SpecialEffect { /** No special effect */ NOSPECIAL, /** Drain health from non-native */ HEALTHDRAIN, /** Drain health from water dweller */ HEALTHDRAIN_WATERDWELLER, /** Heal */ HEALTHGAIN, /** Persistent slow of creatures */ PERMSLOW } /** RANGESTRIKEFREE = "No effect on RangeStrike"; RANGESTRIKEBLOCKED = "Blocks RangeStrike"; RANGESTRIKEOCCUPIED = "Blocks RangeStrike unless Occupied"; RANGESTRIKEWALL = "Blocks RangeStrike unless Occupied - 1 Skill"; RANGESTRIKESKILLPENALTY = "Non-Native RangeStriker loses skill for each"; */ public enum RangeStrikeSpecialEffect { RANGESTRIKEFREE, RANGESTRIKEBLOCKED, RANGESTRIKEOCCUPIED, RANGESTRIKEWALL, RANGESTRIKESKILLPENALTY } public String toString(); }