export const SYSTEM_ID = "fvtt-adventures-with-emmy"
export const DEV_MODE = false

export const ATTRIBUTES = {
  agility: { id: "agility", abbrev: "AGI", label: "AWEMMY.Attribute.Agility" },
  fitness: { id: "fitness", abbrev: "FIT", label: "AWEMMY.Attribute.Fitness" },
  awareness: { id: "awareness", abbrev: "AWA", label: "AWEMMY.Attribute.Awareness" },
  influence: { id: "influence", abbrev: "INF", label: "AWEMMY.Attribute.Influence" }
}

export const CONDITIONS = {
  edge: { id: "edge", label: "AWEMMY.Condition.Edge" },
  hampered: { id: "hampered", label: "AWEMMY.Condition.Hampered" },
  inhibited: { id: "inhibited", label: "AWEMMY.Condition.Inhibited" },
  jumbled: { id: "jumbled", label: "AWEMMY.Condition.Jumbled" },
  mishap: { id: "mishap", label: "AWEMMY.Condition.Mishap" },
  prone: { id: "prone", label: "AWEMMY.Condition.Prone" },
  quickened: { id: "quickened", label: "AWEMMY.Condition.Quickened" },
  slowed: { id: "slowed", label: "AWEMMY.Condition.Slowed" },
  vulnerable: { id: "vulnerable", label: "AWEMMY.Condition.Vulnerable" }
}

export const ABILITY_COST = {
  "one": { id: "one", label: "Δ" },
  "two": { id: "two", label: "ΔΔ" },
  "three": { id: "three", label: "ΔΔΔ" },
  "reaction": { id: "reaction", label: "↩" },
  "free": { id: "free", label: "AWEMMY.Ability.Cost.Free" },
  "none": { id: "none", label: "—" }
}

export const ABILITY_TYPE = {
  "field": { id: "field", label: "AWEMMY.Ability.Type.Field" },
  "archetype": { id: "archetype", label: "AWEMMY.Ability.Type.Archetype" },
  "general": { id: "general", label: "AWEMMY.Ability.Type.General" },
  "beginner": { id: "beginner", label: "AWEMMY.Ability.Type.Beginner" }
}

export const OUTCOME_LABELS = {
  criticalSuccess: "AWEMMY.Roll.CriticalSuccess",
  success: "AWEMMY.Roll.Success",
  failure: "AWEMMY.Roll.Failure",
  criticalFailure: "AWEMMY.Roll.CriticalFailure"
}

export const ASCII = `
    _       _                 _                        _ _   _     _____
   / \\   __| |_   _____ _ __ | |_ _   _ _ __ ___  ___| | | | |   | ____|_ __ ___  _ __ ___  _   _
  / _ \\ / _\` \\ \\ / / _ \\ '_ \\| __| | | | '__/ _ \\/ __| | | | |   |  _| | '_ \` _ \\| '_ \` _ \\| | | |
 / ___ \\ (_| |\\ V /  __/ | | | |_| |_| | | |  __/\\__ \\ |_| | |___| |___| | | | | | | | | | | |_| |
/_/   \\_\\__,_| \\_/ \\___|_| |_|\\__|\\__,_|_|  \\___||___/\\___/|_____|_____|_| |_| |_|_| |_| |_|\\__, |
                                                                                               |___/
`

/** Default trait list extracted from the core rulebook. Open-ended: custom traits are always allowed. */
export const TRAITS = [
  // Action traits
  "attack", "discovered", "flow", "hypothesis", "intensive", "kit", "linguistic",
  "manipulate", "review", "traversal", "velocity",
  // Damage types
  "acid", "bludgeoning", "cold", "electricity", "fire", "force", "mental",
  "piercing", "poison", "slashing", "sonic",
  // Mathematician / math traits
  "electromagnetic", "geometry", "gravity", "numerical", "paradox", "probability",
  // Special/narrative traits
  "animal", "archetype", "aura", "auditory", "awarded", "axiom",
  "design", "extradimensional", "fabricate", "gremlin",
  "interdisciplinary", "large", "mishap", "number",
  "plant", "prototype", "singular", "small", "teleportation",
  // Field/class traits
  "biologist", "chemist", "engineer", "mathematician", "physicist",
]

// Re-export all for convenience
export const SYSTEM = {
  SYSTEM_ID,
  DEV_MODE,
  ATTRIBUTES,
  CONDITIONS,
  ABILITY_COST,
  ABILITY_TYPE,
  OUTCOME_LABELS,
  TRAITS,
  ASCII
}
