/// /** * Quick Cheat Sheet of markers! * When making a description take these markers into account while describing the action! If a marker describes something * please include it if you add it to the description. Example: if you describe the attack as a "heavy hit!", make sure * to add the HIGH_DAMAGE marker, we don't want a "heavy hit!" to be displayed for an attack that caused 1 damage. * * Mandatory Markers - Include only one and clone description for each * CombatHit.FULL_DODGE * CombatHit.PARTIAL_DODGE * CombatHit.FULL_HIT * * Mandatory Markers - Include only one and clone description for each. These don't show up in FULL_DODGE * CombatResult.KNOCKED * CombatResult.KNOCKED_OFF * CombatResult.KILLED * * Non-Mandatory Markers - Include at most one per description, none makes a description fit more attacks. These don't show up in FULL_DODGE. * CombatDamage.LOW_DAMAGE * CombatDamage.MEDIUM_DAMAGE * CombatDamage.HIGH_DAMAGE */ class CombatDescription extends ContentDescription { public static DESCRIPTIONS = []; public constructor (name : string) { super(name, new ContentGroup()); CombatDescription.DESCRIPTIONS.push(this); } public addUnit () { let unit = new CombatUnit(); ( this.group).addUnit(unit); return unit; } public static getDescription (target : ContentGroup) { return ContentDescription.pickDescriptions(CombatDescription.DESCRIPTIONS, target); } }