/**
 * Spell colors from the Prism
 * Each color gives a different effect to spells
 */
export const COLORS = Object.freeze({
  indigo: {
    id: "indigo",
    label: "PRISMRPG.Spell.Color.indigo",
    description: "PRISMRPG.Spell.ColorEffect.indigo"
  },
  blue: {
    id: "blue",
    label: "PRISMRPG.Spell.Color.blue",
    description: "PRISMRPG.Spell.ColorEffect.blue"
  },
  green: {
    id: "green",
    label: "PRISMRPG.Spell.Color.green",
    description: "PRISMRPG.Spell.ColorEffect.green"
  },
  yellow: {
    id: "yellow",
    label: "PRISMRPG.Spell.Color.yellow",
    description: "PRISMRPG.Spell.ColorEffect.yellow"
  },
  orange: {
    id: "orange",
    label: "PRISMRPG.Spell.Color.orange",
    description: "PRISMRPG.Spell.ColorEffect.orange"
  },
  red: {
    id: "red",
    label: "PRISMRPG.Spell.Color.red",
    description: "PRISMRPG.Spell.ColorEffect.red"
  },
  violet: {
    id: "violet",
    label: "PRISMRPG.Spell.Color.violet",
    description: "PRISMRPG.Spell.ColorEffect.violet"
  }
});

/**
 * Simplified Spell Colors object for form choices (label-only format)
 */
export const COLORS_CHOICES = Object.freeze(
  Object.fromEntries(
    Object.entries(COLORS).map(([key, value]) => [key, value.label])
  )
);

/**
 * Spell ranges (legacy - to be replaced with Prism system)
 */
export const RANGE = Object.freeze({
  na: {
    id: "na",
    label: "PRISMRPG.Spell.Range.na",
  },
  contact: {
    id: "contact",
    label: "PRISMRPG.Spell.Range.contact",
  },
  proche: {
    id: "proche",
    label: "PRISMRPG.Spell.Range.proche",
  },
  loin: {
    id: "loin",
    label: "PRISMRPG.Spell.Range.loin",
  },
  distant: {
    id: "distant",
    label: "PRISMRPG.Spell.Range.distant",
  },
})
