/// <reference path="../ContentMarker.ts" />
/**
 * These are the overall results of the roll. Every attack will have at least one of these.
 * If making a new description, you should clone it for each CombatResult variant.
 */
class CombatHit extends ContentMarker {
    public static FULL_DODGE = new CombatHit("Full Dodge", true);
    public static PARTIAL_DODGE = new CombatHit("Partial Dodge", true);
    public static FULL_HIT = new CombatHit("Full Hit", true);
}

/**
 * These are markers that explain how much damage was caused by the attack.
 * Low/High is relative to a percentage of overall HP. Low < 25%, Medium < 50%, High >= 50% of max health.
 * These are non-mandatory, but if describing the amount of damage caused one of them should be included.
 * Note: while a description without any of these will still work, a description with more than one will never be picked.
 */
class CombatDamage extends ContentMarker {
    public static LOW_DAMAGE = new CombatDamage("Low Damage");
    public static MEDIUM_DAMAGE = new CombatDamage("Medium Damage");
    public static HIGH_DAMAGE = new CombatDamage("High Damage");
}

/**
 * These are markers that explain what happened because of the attack.
 * They are mandatory.
 * When making an attack, you should clone the description for each of those, adding this information to it.
 */
class CombatResult extends ContentMarker {
    public static KNOCKED = new CombatResult("Target was knocked down by the attack", true);
    public static KNOCKED_OFF = new CombatResult("Target was knocked off by the attack, becoming unconscious", true);
    public static KILLED = new CombatResult("Target was killed by this attack", true);
}