Add toolip and trait descriptions

This commit is contained in:
2026-04-24 19:02:08 +02:00
parent 999b78c6fc
commit b19ba64a39
8 changed files with 89 additions and 6 deletions
+8
View File
@@ -55,6 +55,13 @@ export const ASCII = `
|___/
`
/**
* Tooltip descriptions for known traits — loaded at runtime from
* module/config/trait-descriptions.json. Populated during the "init" hook;
* starts as an empty object so the helper never throws before load.
*/
export let TRAIT_DESCRIPTIONS = {}
/** Default trait list extracted from the core rulebook. Open-ended: custom traits are always allowed. */
export const TRAITS = [
// Action traits
@@ -83,6 +90,7 @@ export const SYSTEM = {
ABILITY_COST,
ABILITY_TYPE,
OUTCOME_LABELS,
TRAIT_DESCRIPTIONS,
TRAITS,
ASCII
}
+60
View File
@@ -0,0 +1,60 @@
{
"_comment": "Tooltip descriptions for known traits. Keys are lowercase trait names. Replace placeholder values with actual rules text.",
"attack": "This ability or action counts as an attack.",
"discovered": "Placeholder — fill in trait description.",
"flow": "Placeholder — fill in trait description.",
"hypothesis": "Placeholder — fill in trait description.",
"intensive": "This ability requires significant effort or concentration.",
"kit": "This ability or action requires the use of a kit.",
"linguistic": "This ability involves language or communication.",
"manipulate": "This ability requires physical manipulation with your hands.",
"review": "Placeholder — fill in trait description.",
"traversal": "This ability involves movement or repositioning.",
"velocity": "Placeholder — fill in trait description.",
"acid": "Deals acid damage.",
"bludgeoning": "Deals bludgeoning (blunt impact) damage.",
"cold": "Deals cold damage.",
"electricity": "Deals electricity damage.",
"fire": "Deals fire damage.",
"force": "Deals force damage.",
"mental": "Deals mental damage.",
"piercing": "Deals piercing damage.",
"poison": "Deals poison damage.",
"slashing": "Deals slashing damage.",
"sonic": "Deals sonic damage.",
"electromagnetic": "Placeholder — fill in trait description.",
"geometry": "Placeholder — fill in trait description.",
"gravity": "Placeholder — fill in trait description.",
"numerical": "Placeholder — fill in trait description.",
"paradox": "Placeholder — fill in trait description.",
"probability": "Placeholder — fill in trait description.",
"animal": "Affects or involves animals.",
"archetype": "Granted by or related to a character archetype.",
"aura": "This ability projects an aura around the user.",
"auditory": "This ability involves sound and can be perceived by hearing.",
"awarded": "Placeholder — fill in trait description.",
"axiom": "Placeholder — fill in trait description.",
"design": "Placeholder — fill in trait description.",
"extradimensional": "Placeholder — fill in trait description.",
"fabricate": "Placeholder — fill in trait description.",
"gremlin": "Placeholder — fill in trait description.",
"interdisciplinary":"Placeholder — fill in trait description.",
"large": "This ability or creature is large-sized.",
"mishap": "This ability can trigger a mishap on certain outcomes.",
"number": "Placeholder — fill in trait description.",
"plant": "Affects or involves plant life.",
"prototype": "Placeholder — fill in trait description.",
"singular": "This ability can only be used once per encounter or period.",
"small": "This ability or creature is small-sized.",
"teleportation": "This ability involves teleportation.",
"biologist": "Requires or relates to the Biologist field.",
"chemist": "Requires or relates to the Chemist field.",
"engineer": "Requires or relates to the Engineer field.",
"mathematician": "Requires or relates to the Mathematician field.",
"physicist": "Requires or relates to the Physicist field."
}