Files
fvtt-ftl-nomad/module/config/system.mjs
LeRatierBretonnien 188501423a
All checks were successful
Release Creation / build (release) Successful in 1m24s
Add new roll options
2025-08-25 22:41:42 +02:00

161 lines
9.9 KiB
JavaScript

export const SYSTEM_ID = "fvtt-ftl-nomad"
export const ASCII = `
░▒▓████████▓▒░▒▓████████▓▒░▒▓█▓▒░ ░▒▓███████▓▒░ ░▒▓██████▓▒░░▒▓██████████████▓▒░ ░▒▓██████▓▒░░▒▓███████▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓██▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓██▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓██████▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓██▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓██▓▒░ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░
░▒▓█▓▒░ ░▒▓█▓▒░ ░▒▓████████▓▒░ ░▒▓█▓▒░░▒▓█▓▒░░▒▓██████▓▒░░▒▓█▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░▒▓███████▓▒░
`
export const SKILLS = {
"combat": { id: "combat", label: "FTLNOMAD.Skill.Combat" },
"knowledge": { id: "knowledge", label: "FTLNOMAD.Skill.Knowledge" },
"social": { id: "social", label: "FTLNOMAD.Skill.Social" },
"physical": { id: "physical", label: "FTLNOMAD.Skill.Physical" },
"stealth": { id: "stealth", label: "FTLNOMAD.Skill.Stealth" },
"vehicles": { id: "vehicles", label: "FTLNOMAD.Skill.Vehicles" },
"technology": { id: "technology", label: "FTLNOMAD.Skill.Technology" }
}
export const TECH_AGES = {
"notech": { id: "notech", level: 0, label: "FTLNOMAD.TechAge.NoTech" },
"earlyprimitive": { id: "earlyprimitive", label: "FTLNOMAD.TechAge.EarlyPrimitive", level: 1 },
"lateprimitive": { id: "lateprimitive", label: "FTLNOMAD.TechAge.LatePrimitive", level: 2 },
"earlymechanical": { id: "earlymechanical", label: "FTLNOMAD.TechAge.EarlyMechanical", level: 3 },
"latemechanical": { id: "latemechanical", label: "FTLNOMAD.TechAge.LateMechanical", level: 4 },
"earlyatomic": { id: "earlyatomic", label: "FTLNOMAD.TechAge.EarlyAtomic", level: 5 },
"lateatomic": { id: "lateatomic", label: "FTLNOMAD.TechAge.LateAtomic", level: 6 },
"earlyspace": { id: "earlyspace", label: "FTLNOMAD.TechAge.EarlySpace", level: 7 },
"latespace": { id: "latespace", label: "FTLNOMAD.TechAge.LateSpace", level: 8 },
"earlyinterstellar": { id: "earlyinterstellar", label: "FTLNOMAD.TechAge.EarlyInterstellar", level: 9 },
"lateinterstellar": { id: "lateinterstellar", label: "FTLNOMAD.TechAge.LateInterstellar", level: 10 },
"earlygalactic": { id: "earlygalactic", label: "FTLNOMAD.TechAge.EarlyGalactic", level: 11 },
"lategalactic": { id: "lategalactic", label: "FTLNOMAD.TechAge.LateGalactic", level: 12 },
"cosmic": { id: "cosmic", label: "FTLNOMAD.TechAge.Cosmic", level: 13 }
}
export const WEAPON_TYPES = {
"melee": { id: "melee", label: "FTLNOMAD.Weapon.Types.Melee" },
"projectile": { id: "projectile", label: "FTLNOMAD.Weapon.Types.Projectile" },
"energy": { id: "energy", label: "FTLNOMAD.Weapon.Types.Energy" },
"heavy": { id: "heavy", label: "FTLNOMAD.Weapon.Types.Heavy" },
"grenade": { id: "grenade", label: "FTLNOMAD.Weapon.Types.Grenade" },
"vehicle": { id: "vehicle", label: "FTLNOMAD.Weapon.Types.Vehicle" }
}
export const WEAPON_RANGE = {
"handgun": { id: "handgun", label: "FTLNOMAD.Weapon.Range.Handgun", range: { close: 0, near: 0, far: -2 } },
"assault": { id: "assault", label: "FTLNOMAD.Weapon.Range.Assault", range: { close: -2, near: 0, far: -1, distant: -2 } },
"rifle": { id: "rifle", label: "FTLNOMAD.Weapon.Range.Rifle", range: { close: -3, near: 0, far: 0, distant: -1 } },
"melee": { id: "melee", label: "FTLNOMAD.Weapon.Range.Melee", range: { close: 0 } },
"heavyweapon": { id: "heavyweapon", label: "FTLNOMAD.Weapon.Range.HeavyWeapon", range: { near: -1, far: 0, distant: 0 } },
"thrownweapon": { id: "thrownweapon", label: "FTLNOMAD.Weapon.Range.ThrownWeapon", range: { close: 0, near: -1 } }
}
export const ATTACK_MODIFIERS = {
"two-attacks": -1,
"aiming": 1,
"dim": -1,
"darkness": -2,
"prone": -1,
"cover": -2,
"recoil-first": -1,
"recoil-third": -2,
"aware": -1
}
export const TRIAGE_RESULTS = {
"none": { id: "none", dice: 0, label: "FTLNOMAD.TriageResults.None" },
"death": { id: "death", dice: 3, label: "FTLNOMAD.TriageResults.Death" },
"critical": { id: "critical", dice: 4, label: "FTLNOMAD.TriageResults.Critical" },
"severe": { id: "severe", dice: 7, label: "FTLNOMAD.TriageResults.Severe" },
"moderate": { id: "moderate", dice: 10, label: "FTLNOMAD.TriageResults.Moderate" },
"fleshwound": { id: "fleshwound", dice: 12, label: "FTLNOMAD.TriageResults.FleshWound" }
}
export const CREATURE_TERRAIN_TYPES = {
"cave": { id: "cave", label: "FTLNOMAD.Creature.Terrain.Cave", niche: 0, size: 0 },
"coast": { id: "coast", label: "FTLNOMAD.Creature.Terrain.Coast", niche: 1, size: 0 },
"desert": { id: "desert", label: "FTLNOMAD.Creature.Terrain.Desert", niche: -1, size: -1 },
"forest": { id: "forest", label: "FTLNOMAD.Creature.Terrain.Forest", niche: 1, size: 1 },
"jungle": { id: "jungle", label: "FTLNOMAD.Creature.Terrain.Jungle", niche: 1, size: 1 },
"mixed": { id: "mixed", label: "FTLNOMAD.Creature.Terrain.Mixed", niche: 0, size: 0 },
"mountain": { id: "mountain", label: "FTLNOMAD.Creature.Terrain.Mountain", niche: -1, size: -1 },
"ocean": { id: "ocean", label: "FTLNOMAD.Creature.Terrain.Ocean", niche: -1, size: 1 },
"river": { id: "river", label: "FTLNOMAD.Creature.Terrain.River", niche: 1, size: 0 },
"ruins": { id: "ruins", label: "FTLNOMAD.Creature.Terrain.Ruins", niche: 0, size: 1 },
"savannah": { id: "savannah", label: "FTLNOMAD.Creature.Terrain.Savannah", niche: 0, size: 1 },
"shallows": { id: "shallows", label: "FTLNOMAD.Creature.Terrain.Shallows", niche: 1, size: 0 },
"swamp": { id: "swamp", label: "FTLNOMAD.Creature.Terrain.Swamp", niche: 1, size: 1 }
}
export const CREATURE_NICHES = {
"prey": { id: "prey", label: "FTLNOMAD.Creature.Niche.Prey" },
"opportunist": { id: "opportunist", label: "FTLNOMAD.Creature.Niche.Opportunist" },
"herbivore": { id: "herbivore", label: "FTLNOMAD.Creature.Niche.Herbivore" },
"predator": { id: "predator", label: "FTLNOMAD.Creature.Niche.Predator" }
}
export const CREATURE_SIZES = {
"tiny": { id: "tiny", label: "FTLNOMAD.Creature.Size.Tiny" },
"small": { id: "small", label: "FTLNOMAD.Creature.Size.Small" },
"medium": { id: "medium", label: "FTLNOMAD.Creature.Size.Medium" },
"large": { id: "large", label: "FTLNOMAD.Creature.Size.Large" },
"giant": { id: "giant", label: "FTLNOMAD.Creature.Size.Giant" },
"titanic": { id: "titanic", label: "FTLNOMAD.Creature.Size.Titanic" }
}
export const MODIFIER_CHOICES = {
"easy4": { id: "easy4", label: "FTLNOMAD.Label.Easy4", value: "4" },
"easy3": { id: "easy3", label: "FTLNOMAD.Label.Easy3", value: "3" },
"easy2": { id: "easy2", label: "FTLNOMAD.Label.Easy2", value: "2" },
"easy": { id: "easy", label: "FTLNOMAD.Label.Easy", value: "1" },
"moderate": { id: "moderate", label: "FTLNOMAD.Label.Moderate", value: "0" },
"difficult": { id: "difficult", label: "FTLNOMAD.Label.Difficult", value: "-1" },
"formidable": { id: "formidable", label: "FTLNOMAD.Label.Formidable", value: "-2" },
"formidable3": { id: "formidable3", label: "FTLNOMAD.Label.Formidable3", value: "-3" },
"impossible": { id: "impossible", label: "FTLNOMAD.Label.Impossible", value: "-4" },
"impossible5": { id: "impossible5", label: "FTLNOMAD.Label.Impossible5", value: "-5" },
"impossible6": { id: "impossible6", label: "FTLNOMAD.Label.Impossible6", value: "-6" }
}
export const STARSHIP_HULL = {
"pod": { id: "pod", label: "FTLNOMAD.Starship.Hull.Pod" },
"micro": { id: "micro", label: "FTLNOMAD.Starship.Hull.Micro" },
"small": { id: "small", label: "FTLNOMAD.Starship.Hull.Small" },
"scout": { id: "scout", label: "FTLNOMAD.Starship.Hull.Scout" },
"picket": { id: "picket", label: "FTLNOMAD.Starship.Hull.Picket" },
"destroyer": { id: "destroyer", label: "FTLNOMAD.Starship.Hull.Destroyer" },
"cruiser": { id: "cruiser", label: "FTLNOMAD.Starship.Hull.Cruiser" },
"battleship": { id: "battleship", label: "FTLNOMAD.Starship.Hull.Battleship" },
"carrier": { id: "carrier", label: "FTLNOMAD.Starship.Hull.Carrier" }
}
/**
* Include all constant definitions within the SYSTEM global export
* @type {Object}
*/
export const SYSTEM = {
id: SYSTEM_ID,
MODIFIER_CHOICES,
ATTACK_MODIFIERS,
TECH_AGES,
WEAPON_TYPES,
WEAPON_RANGE,
TRIAGE_RESULTS,
CREATURE_TERRAIN_TYPES,
CREATURE_SIZES,
CREATURE_NICHES,
STARSHIP_HULL,
SKILLS,
ASCII
}