forked from public/fvtt-cthulhu-eternal
219 lines
14 KiB
JavaScript
219 lines
14 KiB
JavaScript
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 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,
|
|
RESOURCE_BREAKDOWN,
|
|
ASCII
|
|
}
|