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 }