First round of changes

This commit is contained in:
2026-04-23 14:27:33 +02:00
parent f72230dd39
commit abe35cb537
45 changed files with 1860 additions and 56 deletions

View File

@@ -14,6 +14,50 @@ export const L5R5E = {
skillCostMultiplier: 2,
techniqueCost: 3,
},
// --- Chiaroscuro additions ---
/** Skill rank enum values and associated flat bonus */
skillRanks: {
0: { bonus: 0 },
initie: { bonus: 1 },
expert: { bonus: 2 },
maitre: { bonus: 3 },
parangon1: { bonus: 3, passive: 1 }, // dice results of 1 count as 2
parangon2: { bonus: 3, passive: 2 }, // dice results of 1-2 count as 3
parangon3: { bonus: 3, passive: 3 }, // dice results of 1-3 count as 4
},
/** Difficulty thresholds (Chiaroscuro scale) */
difficulties: {
simple: 7,
moyenne: 10,
assez_difficile: 13,
difficile: 16,
tres_difficile: 22,
heroique: 28,
improbable: 32,
},
/** Ring colors for Chiaroscuro visual style */
ringColors: {
air: "rgb(145, 120, 150)",
water: "rgb(95, 145, 155)",
fire: "rgb(155, 115, 80)",
earth: "rgb(105, 150, 120)",
void: "rgb(75, 70, 65)",
},
/** Aspect gauge configuration */
aspects: {
solarConditionId: "desequilibre_lunaire",
lunarConditionId: "desequilibre_solaire",
imbalanceThreshold: 5,
resetThreshold: 10,
},
// --- End Chiaroscuro additions ---
// For rings wound to be aligned, add them first
conditions: [{
id: "lightly_wounded_fire",
@@ -180,6 +224,16 @@ export const L5R5E = {
name: "l5r5e.conditions.unconscious",
img: "systems/l5r5e/assets/icons/conditions/unconscious.webp",
system: { id: "L5RCoreCon000015" }
},{
id: "desequilibre_solaire",
name: "chiaroscuro.aspects.desequilibre_solaire",
img: "systems/l5r5e/assets/icons/conditions/desequilibre_solaire.webp",
system: { id: "ChiaCon000001" }
},{
id: "desequilibre_lunaire",
name: "chiaroscuro.aspects.desequilibre_lunaire",
img: "systems/l5r5e/assets/icons/conditions/desequilibre_lunaire.webp",
system: { id: "ChiaCon000002" }
}],
regex: {
techniqueDifficulty: /^@([TS]):([^|]+?)(?:\|(min|max)(?:\(([^)]+?)\))?)?$/,
@@ -344,6 +398,8 @@ L5R5E.techniques.set("mastery_ability", { type: "school", displayInTypes: false
L5R5E.techniques.set("title_ability", { type: "title", displayInTypes: false });
// Custom
L5R5E.techniques.set("specificity", { type: "custom", displayInTypes: false });
// Chiaroscuro
L5R5E.techniques.set("mot_invocation", { type: "chiaroscuro", displayInTypes: true });
// *** SkillId - CategoryId ***
L5R5E.skills = new Map();