import * as PROTAGONIST from "./protagonist.mjs"
import * as WEAPON from "./weapon.mjs"
import * as BOND from "./bond.mjs"


export const SYSTEM_ID = "fvtt-cthulhu-eternal"

export const ASCII = `
▄████▄  ▄▄▄█████▓ ██░ ██  █    ██  ██▓     ██░ ██  █    ██    ▓█████▄▄▄█████▓▓█████  ██▀███   ███▄    █  ▄▄▄       ██▓    
▒██▀ ▀█  ▓  ██▒ ▓▒▓██░ ██▒ ██  ▓██▒▓██▒    ▓██░ ██▒ ██  ▓██▒   ▓█   ▀▓  ██▒ ▓▒▓█   ▀ ▓██ ▒ ██▒ ██ ▀█   █ ▒████▄    ▓██▒    
▒▓█    ▄ ▒ ▓██░ ▒░▒██▀▀██░▓██  ▒██░▒██░    ▒██▀▀██░▓██  ▒██░   ▒███  ▒ ▓██░ ▒░▒███   ▓██ ░▄█ ▒▓██  ▀█ ██▒▒██  ▀█▄  ▒██░    
▒▓▓▄ ▄██▒░ ▓██▓ ░ ░▓█ ░██ ▓▓█  ░██░▒██░    ░▓█ ░██ ▓▓█  ░██░   ▒▓█  ▄░ ▓██▓ ░ ▒▓█  ▄ ▒██▀▀█▄  ▓██▒  ▐▌██▒░██▄▄▄▄██ ▒██░    
▒ ▓███▀ ░  ▒██▒ ░ ░▓█▒░██▓▒▒█████▓ ░██████▒░▓█▒░██▓▒▒█████▓    ░▒████▒ ▒██▒ ░ ░▒████▒░██▓ ▒██▒▒██░   ▓██░ ▓█   ▓██▒░██████▒
░ ░▒ ▒  ░  ▒ ░░    ▒ ░░▒░▒░▒▓▒ ▒ ▒ ░ ▒░▓  ░ ▒ ░░▒░▒░▒▓▒ ▒ ▒    ░░ ▒░ ░ ▒ ░░   ░░ ▒░ ░░ ▒▓ ░▒▓░░ ▒░   ▒ ▒  ▒▒   ▓▒█░░ ▒░▓  ░
  ░  ▒       ░     ▒ ░▒░ ░░░▒░ ░ ░ ░ ░ ▒  ░ ▒ ░▒░ ░░░▒░ ░ ░     ░ ░  ░   ░     ░ ░  ░  ░▒ ░ ▒░░ ░░   ░ ▒░  ▒   ▒▒ ░░ ░ ▒  ░
░          ░       ░  ░░ ░ ░░░ ░ ░   ░ ░    ░  ░░ ░ ░░░ ░ ░       ░    ░         ░     ░░   ░    ░   ░ ░   ░   ▒     ░ ░   
░ ░                ░  ░  ░   ░         ░  ░ ░  ░  ░   ░           ░  ░           ░  ░   ░              ░       ░  ░    ░  ░
░                                                                                                                          
`


export const AVAILABLE_SETTINGS = {
  modern: "CTHULHUETERNAL.Settings.Modern",
  jazz: "CTHULHUETERNAL.Settings.Jazz",
  future: "CTHULHUETERNAL.Settings.Future",
  coldwar: "CTHULHUETERNAL.Settings.ColdWar",
  ww2: "CTHULHUETERNAL.Settings.WW2",
  ww1: "CTHULHUETERNAL.Settings.WW1",
  victorian: "CTHULHUETERNAL.Settings.Victorian",
  revolution: "CTHULHUETERNAL.Settings.Revolution",
  medieval: "CTHULHUETERNAL.Settings.Medieval",
  ageofsail: "CTHULHUETERNAL.Settings.AgeOfSail",
  classical: "CTHULHUETERNAL.Settings.Classical",
  postapo: "CTHULHUETERNAL.Settings.PostApo"
}

export const INSANITY = {
  "none": "CTHULHUETERNAL.Insanity.None",
  "flee": "CTHULHUETERNAL.Insanity.Flee",
  "struggle": "CTHULHUETERNAL.Insanity.Struggle",
  "submit": "CTHULHUETERNAL.Insanity.Submit"
}

export const ERA_CSS = {
  jazz: { primaryFont: "RozhaOne", secondaryFont: "RozhaOne", titleFont: "Broadway", imgFilter: "brightness(0) saturate(100%) invert(52%) sepia(9%) saturate(2368%) hue-rotate(360deg) brightness(86%) contrast(84%)" },
  modern: { primaryFont: "Georama", secondaryFont: "Georama", titleFont: "Georama", imgFilter: "brightness(0) saturate(100%) invert(92%) sepia(11%) saturate(1214%) hue-rotate(51deg) brightness(93%) contrast(86%)" },
  future: { primaryFont: "Megrim", secondaryFont: "Megrim", titleFont: "Seabreed", imgFilter: "brightness(0) saturate(100%) invert(83%) sepia(30%) saturate(588%) hue-rotate(168deg) brightness(105%) contrast(103%)" },
  victorian: { primaryFont: "Volkhov", secondaryFont: "Volkhov", titleFont: "Excelsior", imgFilter: "brightness(0) saturate(100%) invert(100%) sepia(59%) saturate(1894%) hue-rotate(337deg) brightness(88%) contrast(98%)" },
  coldwar: { primaryFont: "BebasNeue", secondaryFont: "BebasNeue", titleFont: "TopSecret", imgFilter: "brightness(0) saturate(100%) invert(81%) sepia(14%) saturate(2508%) hue-rotate(202deg) brightness(99%) contrast(105%)"},
  revolution: { primaryFont: "IMFell", secondaryFont: "IMFell", titleFont: "Dominican", imgFilter: "brightness(0) saturate(100%) invert(81%) sepia(25%) saturate(386%) hue-rotate(7deg) brightness(101%) contrast(84%)" },
  medieval: { primaryFont: "UncialAntiqua", secondaryFont: "UncialAntiqua", titleFont: "Luminari", imgFilter: "brightness(0) saturate(100%) invert(93%) sepia(46%) saturate(354%) hue-rotate(321deg) brightness(93%) contrast(87%)"},
  ww2: { primaryFont: "SairaStencilOne", secondaryFont: "SairaStencilOne", titleFont: "Armalite", imgFilter: "brightness(0) saturate(100%) invert(95%) sepia(9%) saturate(1471%) hue-rotate(342deg) brightness(103%) contrast(107%)"},  
  ww1: { primaryFont: "CarterOne", secondaryFont: "CarterOne", titleFont: "SigmarOne", imgFilter: "brightness(0) saturate(100%) invert(90%) sepia(38%) saturate(341%) hue-rotate(21deg) brightness(105%) contrast(105%)"},  
  ageofsail: { primaryFont: "Tangerine", secondaryFont: "Tangerine", titleFont: "P22Operina", imgFilter: "brightness(0) saturate(100%) invert(43%) sepia(74%) saturate(3154%) hue-rotate(336deg) brightness(95%) contrast(83%)" },
  classical: { primaryFont: "SpectralSC", secondaryFont: "SpectralSC", titleFont: "TrajanPro", imgFilter: "brightness(0) saturate(100%) invert(52%) sepia(32%) saturate(7492%) hue-rotate(265deg) brightness(89%) contrast(95%)" },
  postapo: { primaryFont: "Teko", secondaryFont: "Teko", titleFont: "Teko", imgFilter: "brightness(0) saturate(100%) invert(44%) sepia(55%) saturate(2341%) hue-rotate(329deg) brightness(122%) contrast(103%))" }
}

export const RESOURCE_RATING = {
  jazz: {
    0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"},
    4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 700, assets: "CTHULHUETERNAL.Resource.PoorJazz"},
    8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 3000, assets: "CTHULHUETERNAL.Resource.AverageJazz"},
    12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 5000, assets: "CTHULHUETERNAL.Resource.AboveAverageJazz"},
    16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 10000, assets: "CTHULHUETERNAL.Resource.WellOffJazz"},
    18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 15000, assets: "CTHULHUETERNAL.Resource.RichJazz"},
    19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 50000, assets: "CTHULHUETERNAL.Resource.VeryRichJazz"},
    20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 100000, assets: "CTHULHUETERNAL.Resource.SuperRichJazz"}
  },
  modern: {
    0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"},
    4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorModern"},
    8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageModern"},
    12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageModern"},
    16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffModern"},
    18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 20000, assets: "CTHULHUETERNAL.Resource.RichModern"},
    19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichModern"},
    20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichModern"}
  },
  victorian: {
    0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"},
    4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 30, assets: "CTHULHUETERNAL.Resource.PoorVictorian"},
    8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 90, assets: "CTHULHUETERNAL.Resource.AverageVictorian"},
    12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 400, assets: "CTHULHUETERNAL.Resource.AboveAverageVictorian"},
    16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 1500, assets: "CTHULHUETERNAL.Resource.WellOffVictorian"},
    18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 5000, assets: "CTHULHUETERNAL.Resource.RichVictorian"},
    19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 40000, assets: "CTHULHUETERNAL.Resource.VeryRichVictorian"},
    20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 200000, assets: "CTHULHUETERNAL.Resource.SuperRichVictorian"}
  }
}

export const RESOURCE_BREAKDOWN = [
  { value: 0, hand: 0, stowed: 0, storage: 0, checks: 0},
  { value: 1, hand: 1, stowed: 0, storage: 0, checks: 1},
  { value: 2, hand: 2, stowed: 0, storage: 0, checks: 1},
  { value: 3, hand: 3, stowed: 0, storage: 0, checks: 1},
  { value: 4, hand: 4, stowed: 0, storage: 0, checks: 1},
  { value: 5, hand: 5, stowed: 0, storage: 0, checks: 1},
  { value: 6, hand: 6, stowed: 0, storage: 0, checks: 1},
  { value: 7, hand: 6, stowed: 1, storage: 0, checks: 2},
  { value: 8, hand: 6, stowed: 2, storage: 0, checks: 2},
  { value: 9, hand: 6, stowed: 3, storage: 0, checks: 2},
  { value: 10, hand: 6, stowed: 4, storage: 0, checks: 2},
  { value: 11, hand: 6, stowed: 5, storage: 0, checks: 2},
  { value: 12, hand: 6, stowed: 6, storage: 0, checks: 2},
  { value: 13, hand: 6, stowed: 6, storage: 1, checks: 3},
  { value: 14, hand: 6, stowed: 6, storage: 2, checks: 3},
  { value: 15, hand: 6, stowed: 6, storage: 3, checks: 3},
  { value: 16, hand: 6, stowed: 6, storage: 4, checks: 3},
  { value: 17, hand: 6, stowed: 6, storage: 5, checks: 3},
  { value: 18, hand: 6, stowed: 6, storage: 6, checks: 3},
  { value: 19, hand: 6, stowed: 6, storage: 7, checks: 3},
  { value: 20, hand: 6, stowed: 6, storage: 8, checks: 3}
]

export const VEHICLE_SPEED = {
  "none": "CTHULHUETERNAL.Label.None",
  "slow": "CTHULHUETERNAL.Label.Slow",
  "average": "CTHULHUETERNAL.Label.Average",
  "fast": "CTHULHUETERNAL.Label.Fast"
}

export const EQUIPMENT_STATES = { 
  "pristine": "CTHULHUETERNAL.Label.Pristine",
  "worn": "CTHULHUETERNAL.Label.Worn",
  "junk": "CTHULHUETERNAL.Label.Junk"
}

export const MENTAL_ILLNESS_CURE_SKILL = {
  jazz: "CTHULHUETERNAL.Skill.Psychoanalyze",
  modern: "CTHULHUETERNAL.Skill.Psychoanalyze",
  victorian: "CTHULHUETERNAL.Skill.Reassure",
}

export const WEAPON_SKILL_MAPPING = {
  modern: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  jazz: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  victorian: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  coldwar: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  ww1: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  ww2: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  future: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.FirearmsBeams",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.FirearmsBeams",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  revolution: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  ageofsail: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  medieval: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  },
  classical: {
    "melee": "CTHULHUETERNAL.Skill.Melee",
    "rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
    "rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
    "unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
  }
}
/**
 * Include all constant definitions within the SYSTEM global export
 * @type {Object}
 */
export const SYSTEM = {
  id: SYSTEM_ID,
  CHARACTERISTICS: PROTAGONIST.CHARACTERISTICS,
  HARSHNESS: PROTAGONIST.HARSHNESS,
  WEAPON_TYPE: WEAPON.WEAPON_TYPE,
  WEAPON_SUBTYPE: WEAPON.WEAPON_SUBTYPE,
  WEAPON_SKILL_MAPPING,
  BOND_TYPE: BOND.BOND_TYPE,
  AVAILABLE_SETTINGS,
  RESOURCE_RATING,
  MENTAL_ILLNESS_CURE_SKILL,
  ERA_CSS,
  INSANITY,
  EQUIPMENT_STATES,
  RESOURCE_BREAKDOWN,
  VEHICLE_SPEED,
  ASCII
}