Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc00657f84 | ||
|
|
503e4e365f | ||
|
|
69e08b6a33 | ||
|
|
723e7cd934 | ||
|
|
2cefd42c28 | ||
|
|
04bfe38136 | ||
|
|
20d2137a15 | ||
|
|
0916dab259 | ||
|
|
8132a0b459 | ||
|
|
1afa5d151d | ||
|
|
242d31438b | ||
|
|
b5def3fb93 | ||
|
|
71c03b8a5d | ||
|
|
d6ba994ae6 | ||
|
|
cab98451cd | ||
|
|
ac43982f24 | ||
|
|
c5c5d173db | ||
|
|
9446e08433 | ||
|
|
14e18fdc8e | ||
|
|
b219f4aee6 | ||
|
|
5b573a5ed0 |
17
CHANGELOG.md
17
CHANGELOG.md
@@ -1,6 +1,23 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
Date format : day/month/year
|
Date format : day/month/year
|
||||||
|
|
||||||
|
## 1.9.6 - 14/05/2023 - Bragma's QoL
|
||||||
|
All these changes are thanks to Bragma.
|
||||||
|
- Added effects panel to both pc and npc (!26).
|
||||||
|
- Added a underline on rings to show current stance (!25).
|
||||||
|
- Fix Lists not showing correctly in journal (#44).
|
||||||
|
|
||||||
|
## 1.9.5 - 11/01/2023 - Adding Modifiers
|
||||||
|
- Characters can now have bonus endurance/composure/focus/vigilance from conditions (thx to Perkuns).
|
||||||
|
|
||||||
|
## 1.9.4 - 31/12/2022 - Last bugfixes of the Year !
|
||||||
|
- Fix prepared settings bugs (trackers icons sometimes disappears).
|
||||||
|
- GM Toolbox : Left clic do only actors with an active player as owner.
|
||||||
|
- Compendiums : Added Celestial Realms missing Titles : `Bond with a spirit` and `Moon cultist`.
|
||||||
|
|
||||||
|
## 1.9.3 - 29/09/2022 - Combat Tracker
|
||||||
|
- Fix for L5R combat tracker bar who have disappeared.
|
||||||
|
|
||||||
## 1.9.2 - 09/09/2022 - Advancements Again
|
## 1.9.2 - 09/09/2022 - Advancements Again
|
||||||
- Fix for advancements ownership (items in items).
|
- Fix for advancements ownership (items in items).
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// Requires
|
// Requires
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
const prefix = require("gulp-autoprefixer");
|
const prefix = require("gulp-autoprefixer");
|
||||||
const sass = require("gulp-sass");
|
const sass = require("gulp-sass")(require('sass'));
|
||||||
const browserSync = require("browser-sync");
|
const browserSync = require("browser-sync");
|
||||||
|
|
||||||
/* ----------------------------------------- */
|
/* ----------------------------------------- */
|
||||||
|
|||||||
11930
package-lock.json
generated
11930
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
22
package.json
22
package.json
@@ -20,22 +20,16 @@
|
|||||||
"homepage": "https://gitlab.com/teaml5r/l5r5e#readme",
|
"homepage": "https://gitlab.com/teaml5r/l5r5e#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-eslint": "^10.1.0",
|
"babel-eslint": "^10.1.0",
|
||||||
"browser-sync": "^2.23.7",
|
"browser-sync": "^2.27.10",
|
||||||
"eslint": "^7.15.0",
|
"eslint": "^8.27.0",
|
||||||
"eslint-config-prettier": "^6.15.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"gulp": "^4.0.2",
|
"gulp": "^4.0.2",
|
||||||
"gulp-autoprefixer": "^7.0.1",
|
"gulp-autoprefixer": "^8.0.0",
|
||||||
"gulp-sass": "^4.1.0",
|
"gulp-sass": "^5.1.0",
|
||||||
"husky": "^4.3.0",
|
|
||||||
"lint-staged": "^10.5.1",
|
"lint-staged": "^10.5.1",
|
||||||
"node-sass": "^4.14.1",
|
"sass": "^1.56.1",
|
||||||
"prettier": "^2.1.2"
|
"prettier": "^2.7.1"
|
||||||
},
|
|
||||||
"husky": {
|
|
||||||
"hooks": {
|
|
||||||
"pre-commit": "lint-staged"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.js": "eslint --cache --fix",
|
"*.js": "eslint --cache --fix",
|
||||||
|
|||||||
@@ -274,6 +274,18 @@
|
|||||||
"name": "Yōkai Hunter (WIP)",
|
"name": "Yōkai Hunter (WIP)",
|
||||||
"description": "<h2>Cursus</h2><table><tr><td>Compétences Savantes</td><td>Grp. de comp.</td></tr><tr><td>Compétences Martiales</td><td>Grp. de comp.</td></tr><tr><td>Commandement</td><td>Compétence</td></tr><tr><td>Courtoisie</td><td>Compétence</td></tr><tr><td>Survie</td><td>Compétence</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kiho.L5RCoreKih000030\" data-pack=\"l5r5e.core-techniques-kiho\" data-id=\"L5RCoreKih000030\">(kiho) Blistering Retribution (WIP)</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000070\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000070\">(kata) Swallow’s Dart Style (WIP)</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000071\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000071\">(kata) Tiger’s Lunge Style (WIP)</a> (prereq)</td><td>Technique</td></tr></table>",
|
"description": "<h2>Cursus</h2><table><tr><td>Compétences Savantes</td><td>Grp. de comp.</td></tr><tr><td>Compétences Martiales</td><td>Grp. de comp.</td></tr><tr><td>Commandement</td><td>Compétence</td></tr><tr><td>Courtoisie</td><td>Compétence</td></tr><tr><td>Survie</td><td>Compétence</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kiho.L5RCoreKih000030\" data-pack=\"l5r5e.core-techniques-kiho\" data-id=\"L5RCoreKih000030\">(kiho) Blistering Retribution (WIP)</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000070\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000070\">(kata) Swallow’s Dart Style (WIP)</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000071\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000071\">(kata) Tiger’s Lunge Style (WIP)</a> (prereq)</td><td>Technique</td></tr></table>",
|
||||||
"book_reference": "Décret de la nature"
|
"book_reference": "Décret de la nature"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Bond with a spirit",
|
||||||
|
"name": "Bond with a spirit (WIP)",
|
||||||
|
"description": "<h2>Cursus</h2><table><tr><td>Compétences Savantes</td><td>Grp. de comp.</td></tr><tr><td>Esthétique</td><td>Compétence</td></tr><tr><td>Jeux</td><td>Compétence</td></tr><tr><td>Méditation</td><td>Compétence</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-invocations\">(invocation) Invocations (Eléments de l'esprit) de rang 1</a> (prereq)</td><td>Tech. Grp.</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000002\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000002\">(ritual) Communier avec les esprits</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000022\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000022\">(ritual) Blessing of Fertile Fields (WIP)</a> (prereq)</td><td>Technique</td></tr></table>",
|
||||||
|
"book_reference": "Les Royaumes Célestes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Moon cultist",
|
||||||
|
"name": "Moon cultist (WIP)",
|
||||||
|
"description": "<h2>Cursus</h2><table><tr><td>Compétences Savantes</td><td>Grp. de comp.</td></tr><tr><td>Composition</td><td>Compétence</td></tr><tr><td>Courtoisie</td><td>Compétence</td></tr><tr><td>Forme</td><td>Compétence</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-invocations\">(invocation) Invocations de l’Eau de rang 1-2</a></td><td>Tech. Grp.</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-invocations.L5RCoreInv000052\" data-pack=\"l5r5e.core-techniques-invocations\" data-id=\"L5RCoreInv000052\">(invocation) Mains des marées</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000010\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000010\">(ritual) Whispers to the Moon (Moon Cultist) (WIP)</a> (prereq)</td><td>Technique</td></tr></table>",
|
||||||
|
"book_reference": "Les Royaumes Célestes"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -374,7 +374,7 @@
|
|||||||
"mass_battle": "Mass Battle",
|
"mass_battle": "Mass Battle",
|
||||||
"prepared_true": "Prepared",
|
"prepared_true": "Prepared",
|
||||||
"prepared_false": "Surprised",
|
"prepared_false": "Surprised",
|
||||||
"prepared_null": "Defined in the character sheet (default)",
|
"prepared_actor": "Defined in the character sheet (default)",
|
||||||
"already_set": "Your initiative has already been determined"
|
"already_set": "Your initiative has already been determined"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -374,7 +374,7 @@
|
|||||||
"mass_battle": "Batalla a gran escala",
|
"mass_battle": "Batalla a gran escala",
|
||||||
"prepared_true": "Preparado",
|
"prepared_true": "Preparado",
|
||||||
"prepared_false": "Sorprendido",
|
"prepared_false": "Sorprendido",
|
||||||
"prepared_null": "Definido en la hoja de personaje (por defecto)",
|
"prepared_actor": "Definido en la hoja de personaje (por defecto)",
|
||||||
"already_set": "Tu iniciativa ya ha sido establecida."
|
"already_set": "Tu iniciativa ya ha sido establecida."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -374,7 +374,7 @@
|
|||||||
"mass_battle": "Bataille rangée",
|
"mass_battle": "Bataille rangée",
|
||||||
"prepared_true": "Prêt(e)",
|
"prepared_true": "Prêt(e)",
|
||||||
"prepared_false": "Surpris(e)",
|
"prepared_false": "Surpris(e)",
|
||||||
"prepared_null": "Défini par la fiche de personnage (défaut)",
|
"prepared_actor": "Défini par la fiche de personnage (défaut)",
|
||||||
"already_set": "Votre initiative a déjà été tirée"
|
"already_set": "Votre initiative a déjà été tirée"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -374,7 +374,7 @@
|
|||||||
"mass_battle": "Battaglia Campale",
|
"mass_battle": "Battaglia Campale",
|
||||||
"prepared_true": "Preparato",
|
"prepared_true": "Preparato",
|
||||||
"prepared_false": "Sorpreso",
|
"prepared_false": "Sorpreso",
|
||||||
"prepared_null": "Definito nella scheda del personaggio (default)",
|
"prepared_actor": "Definito nella scheda del personaggio (default)",
|
||||||
"already_set": "La tua Iniziativa è già stata determinata."
|
"already_set": "La tua Iniziativa è già stata determinata."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -43,3 +43,5 @@
|
|||||||
{"_id":"L5RCoreTit000043","name":"Forester","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"24","description":"<h2>Curriculum</h2><table><tr><td>Social Skills</td><td>Skill Group</td></tr><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Courtesy</td><td>Skill</td></tr><tr><td>Sentiment</td><td>Skill</td></tr><tr><td>Survival</td><td>Skill</td></tr><tr><td>Theology</td><td>Skill</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-invocations\">(invocation) Rank 1-2 Earth & Water Invocations</a> (prereq)</td><td>Tech. Grp.</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-shuji\">(shuji) Rank 1-3 Shūji</a> (prereq)</td><td>Tech. Grp.</td></tr></table>","book_reference":"Writ of the Wild p.142"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
{"_id":"L5RCoreTit000043","name":"Forester","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"24","description":"<h2>Curriculum</h2><table><tr><td>Social Skills</td><td>Skill Group</td></tr><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Courtesy</td><td>Skill</td></tr><tr><td>Sentiment</td><td>Skill</td></tr><tr><td>Survival</td><td>Skill</td></tr><tr><td>Theology</td><td>Skill</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-invocations\">(invocation) Rank 1-2 Earth & Water Invocations</a> (prereq)</td><td>Tech. Grp.</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-shuji\">(shuji) Rank 1-3 Shūji</a> (prereq)</td><td>Tech. Grp.</td></tr></table>","book_reference":"Writ of the Wild p.142"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
||||||
{"_id":"L5RCoreTit000044","name":"Temple Abbot","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"36","description":"<h2>Curriculum</h2><table><tr><td>Social Skills</td><td>Skill Group</td></tr><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Culture</td><td>Skill</td></tr><tr><td>Meditation</td><td>Skill</td></tr><tr><td>Theology</td><td>Skill</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000004\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000004\">(ritual) Cleansing Rite</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kiho.L5RCoreKih000025\" data-pack=\"l5r5e.core-techniques-kiho\" data-id=\"L5RCoreKih000025\">(kiho) Rejuvenating Breath</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-shuji.L5RCoreShu000011\" data-pack=\"l5r5e.core-techniques-shuji\" data-id=\"L5RCoreShu000011\">(shuji) Touchstone of Courage</a> (prereq)</td><td>Technique</td></tr></table>","book_reference":"Writ of the Wild p.143"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
{"_id":"L5RCoreTit000044","name":"Temple Abbot","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"36","description":"<h2>Curriculum</h2><table><tr><td>Social Skills</td><td>Skill Group</td></tr><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Culture</td><td>Skill</td></tr><tr><td>Meditation</td><td>Skill</td></tr><tr><td>Theology</td><td>Skill</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000004\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000004\">(ritual) Cleansing Rite</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kiho.L5RCoreKih000025\" data-pack=\"l5r5e.core-techniques-kiho\" data-id=\"L5RCoreKih000025\">(kiho) Rejuvenating Breath</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-shuji.L5RCoreShu000011\" data-pack=\"l5r5e.core-techniques-shuji\" data-id=\"L5RCoreShu000011\">(shuji) Touchstone of Courage</a> (prereq)</td><td>Technique</td></tr></table>","book_reference":"Writ of the Wild p.143"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
||||||
{"_id":"L5RCoreTit000045","name":"Yōkai Hunter","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"36","description":"<h2>Curriculum</h2><table><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Martial Skills</td><td>Skill Group</td></tr><tr><td>Command</td><td>Skill</td></tr><tr><td>Courtesy</td><td>Skill</td></tr><tr><td>Survival</td><td>Skill</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kiho.L5RCoreKih000030\" data-pack=\"l5r5e.core-techniques-kiho\" data-id=\"L5RCoreKih000030\">(kiho) Blistering Retribution</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000070\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000070\">(kata) Swallow’s Dart Style</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000071\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000071\">(kata) Tiger’s Lunge Style</a> (prereq)</td><td>Technique</td></tr></table>","book_reference":"Writ of the Wild p.143"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
{"_id":"L5RCoreTit000045","name":"Yōkai Hunter","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"36","description":"<h2>Curriculum</h2><table><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Martial Skills</td><td>Skill Group</td></tr><tr><td>Command</td><td>Skill</td></tr><tr><td>Courtesy</td><td>Skill</td></tr><tr><td>Survival</td><td>Skill</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kiho.L5RCoreKih000030\" data-pack=\"l5r5e.core-techniques-kiho\" data-id=\"L5RCoreKih000030\">(kiho) Blistering Retribution</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000070\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000070\">(kata) Swallow’s Dart Style</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-kata.L5RCoreKat000071\" data-pack=\"l5r5e.core-techniques-kata\" data-id=\"L5RCoreKat000071\">(kata) Tiger’s Lunge Style</a> (prereq)</td><td>Technique</td></tr></table>","book_reference":"Writ of the Wild p.143"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
||||||
|
{"_id":"L5RCoreTit000046","name":"Bond with a spirit","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"25","description":"<h2>Curriculum</h2><table><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Aesthetics</td><td>Skill</td></tr><tr><td>Games</td><td>Skill</td></tr><tr><td>Meditation</td><td>Skill</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-invocations\">(invocation) Rank 1 Spirit's Elements Invocations</a> (prereq)</td><td>Tech. Grp.</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000002\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000002\">(ritual) Commune with the Spirits</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000022\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000022\">(ritual) Blessing of Fertile Fields</a> (prereq)</td><td>Technique</td></tr></table>","book_reference":"Celestial Realms p.140"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
||||||
|
{"_id":"L5RCoreTit000047","name":"Moon cultist","permission":{"default":0},"type":"title","data":{"in_curriculum":false,"xp_used":0,"rank":1,"bought_at_rank":0,"ring":"void","xp_cost":"30","description":"<h2>Curriculum</h2><table><tr><td>Scholar Skills</td><td>Skill Group</td></tr><tr><td>Composition</td><td>Skill</td></tr><tr><td>Courtesy</td><td>Skill</td></tr><tr><td>Fitness</td><td>Skill</td></tr><tr><td><a class=\"compendium-link\" data-pack=\"l5r5e.core-techniques-invocations\">(invocation) Rank 1-2 Water Invocations</a></td><td>Tech. Grp.</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-invocations.L5RCoreInv000052\" data-pack=\"l5r5e.core-techniques-invocations\" data-id=\"L5RCoreInv000052\">(invocation) Hands of the Tides</a> (prereq)</td><td>Technique</td></tr><tr><td><a class=\"entity-link content-link\" draggable=\"true\" data-uuid=\"Compendium.l5r5e.core-techniques-rituals.L5RCoreRit000010\" data-pack=\"l5r5e.core-techniques-rituals\" data-id=\"L5RCoreRit000010\">(ritual) Whispers to the Moon (Moon Cultist)</a> (prereq)</td><td>Technique</td></tr></table>","book_reference":"Celestial Realms p.140"},"sort":100001,"flags":{},"img":"systems/l5r5e/assets/icons/items/title.svg","effects":[]}
|
||||||
|
|||||||
@@ -162,6 +162,13 @@ export class ActorL5r5e extends Actor {
|
|||||||
system.composure = (Number(system.rings.earth) + Number(system.rings.water)) * 2;
|
system.composure = (Number(system.rings.earth) + Number(system.rings.water)) * 2;
|
||||||
system.focus = Number(system.rings.air) + Number(system.rings.fire);
|
system.focus = Number(system.rings.air) + Number(system.rings.fire);
|
||||||
system.vigilance = Math.ceil((Number(system.rings.air) + Number(system.rings.water)) / 2);
|
system.vigilance = Math.ceil((Number(system.rings.air) + Number(system.rings.water)) / 2);
|
||||||
|
|
||||||
|
// Modifiers from conditions
|
||||||
|
const modifiers = system.modifiers?.character;
|
||||||
|
system.endurance = system.endurance + (Number(modifiers?.endurance) || 0);
|
||||||
|
system.composure = system.composure + (Number(modifiers?.composure) || 0);
|
||||||
|
system.focus = system.focus + (Number(modifiers?.focus) || 0);
|
||||||
|
system.vigilance = system.vigilance + (Number(modifiers?.vigilance) || 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -278,6 +285,14 @@ export class ActorL5r5e extends Actor {
|
|||||||
return this.type === "army";
|
return this.type === "army";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return true if this actor have an active player as owner
|
||||||
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
get hasPlayerOwnerActive() {
|
||||||
|
return game.users.find((u) => !!u.active && u.character?.id === this.id);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if this actor can do a initiative roll
|
* Return true if this actor can do a initiative roll
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
@@ -329,7 +344,7 @@ export class ActorL5r5e extends Actor {
|
|||||||
|
|
||||||
// Prepared is a boolean or if null we get the info in the actor
|
// Prepared is a boolean or if null we get the info in the actor
|
||||||
let isPrepared = this.isCharacter ? cfg.character : cfg[this.system.type];
|
let isPrepared = this.isCharacter ? cfg.character : cfg[this.system.type];
|
||||||
if (isPrepared === "null") {
|
if (isPrepared === "actor") {
|
||||||
isPrepared = this.system.prepared ? "true" : "false";
|
isPrepared = this.system.prepared ? "true" : "false";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,27 @@
|
|||||||
export const L5R5E = {};
|
export const L5R5E = {
|
||||||
|
paths: {
|
||||||
L5R5E.paths = {
|
assets: `systems/l5r5e/assets/`,
|
||||||
assets: `systems/l5r5e/assets/`,
|
templates: `systems/l5r5e/templates/`,
|
||||||
templates: `systems/l5r5e/templates/`,
|
},
|
||||||
};
|
money: [50, 10],
|
||||||
|
stances: ["earth", "air", "water", "fire", "void"],
|
||||||
L5R5E.money = [50, 10];
|
roles: ["artisan", "bushi", "courtier", "monk", "sage", "shinobi", "shugenja"],
|
||||||
L5R5E.stances = ["earth", "air", "water", "fire", "void"];
|
xp: {
|
||||||
L5R5E.roles = ["artisan", "bushi", "courtier", "monk", "sage", "shinobi", "shugenja"];
|
costPerRank: [0, 20, 24, 32, 44, 60],
|
||||||
|
bondCostPerRank: [0, 3, 4, 6, 8, 10],
|
||||||
L5R5E.xp = {
|
ringCostMultiplier: 3,
|
||||||
costPerRank: [0, 20, 24, 32, 44, 60],
|
skillCostMultiplier: 2,
|
||||||
bondCostPerRank: [0, 3, 4, 6, 8, 10],
|
techniqueCost: 3,
|
||||||
ringCostMultiplier: 3,
|
},
|
||||||
skillCostMultiplier: 2,
|
regex: {
|
||||||
techniqueCost: 3,
|
techniqueDifficulty: /^@([TS]):([^|]+?)(?:\|(min|max)(?:\(([^)]+?)\))?)?$/,
|
||||||
};
|
},
|
||||||
|
initiativeSkills: {
|
||||||
L5R5E.regex = {
|
intrigue: "sentiment",
|
||||||
techniqueDifficulty: /^@([TS]):([^|]+?)(?:\|(min|max)(?:\(([^)]+?)\))?)?$/,
|
duel: "meditation",
|
||||||
};
|
skirmish: "tactics",
|
||||||
|
mass_battle: "command",
|
||||||
L5R5E.initiativeSkills = {
|
},
|
||||||
intrigue: "sentiment",
|
|
||||||
duel: "meditation",
|
|
||||||
skirmish: "tactics",
|
|
||||||
mass_battle: "command",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// *** Techniques ***
|
// *** Techniques ***
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ export class GmMonitor extends FormApplication {
|
|||||||
actors = game.actors.filter((e) => ids.includes(e.id));
|
actors = game.actors.filter((e) => ids.includes(e.id));
|
||||||
} else {
|
} else {
|
||||||
// If empty add pc with owner
|
// If empty add pc with owner
|
||||||
actors = game.actors.filter((actor) => actor.type === "character" && actor.hasPlayerOwner);
|
actors = game.actors.filter((actor) => actor.type === "character" && actor.hasPlayerOwnerActive);
|
||||||
this._saveActorsIds();
|
this._saveActorsIds();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ export class GmToolbox extends FormApplication {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Manage left/right button
|
// Manage left/right button
|
||||||
if (!isAll && (!actor.isCharacter || !actor.hasPlayerOwner)) {
|
if (!isAll && (!actor.isCharacter || !actor.hasPlayerOwnerActive)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ export default class HooksL5r5e {
|
|||||||
if (elmt.length > 0) {
|
if (elmt.length > 0) {
|
||||||
elmt.replaceWith(tpl);
|
elmt.replaceWith(tpl);
|
||||||
} else {
|
} else {
|
||||||
html.find("#combat-round").append(tpl);
|
html.find(".combat-tracker-header").append(tpl);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Buttons Listeners
|
// Buttons Listeners
|
||||||
@@ -198,9 +198,9 @@ export default class HooksL5r5e {
|
|||||||
}
|
}
|
||||||
const rev = event.which === 3;
|
const rev = event.which === 3;
|
||||||
const nextValue = {
|
const nextValue = {
|
||||||
false: rev ? "true" : "null",
|
false: rev ? "true" : "actor",
|
||||||
true: rev ? "null" : "false",
|
true: rev ? "actor" : "false",
|
||||||
null: rev ? "false" : "true",
|
actor: rev ? "false" : "true",
|
||||||
};
|
};
|
||||||
game.settings.set("l5r5e", `initiative-prepared-${preparedId}`, nextValue[prepared[preparedId]]);
|
game.settings.set("l5r5e", `initiative-prepared-${preparedId}`, nextValue[prepared[preparedId]]);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,16 +3,16 @@
|
|||||||
* @extends {JournalSheet}
|
* @extends {JournalSheet}
|
||||||
*/
|
*/
|
||||||
export class BaseJournalSheetL5r5e extends JournalSheet {
|
export class BaseJournalSheetL5r5e extends JournalSheet {
|
||||||
// /** @override */
|
/** @override */
|
||||||
// static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
// return foundry.utils.mergeObject(super.defaultOptions, {
|
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||||
// classes: ["l5r5e", "sheet", "journal"], // app window-app sheet journal-sheet
|
classes: ["sheet", "journal-sheet", "journal-entry", "l5r5e", "sheet", "journal"], // sheet journal-sheet journal-entry
|
||||||
// template: CONFIG.l5r5e.paths.templates + "journal/journal-sheet.html",
|
// template: CONFIG.l5r5e.paths.templates + "journal/journal-sheet.html",
|
||||||
// width: 520,
|
// width: 520,
|
||||||
// height: 480,
|
// height: 480,
|
||||||
// tabs: [{ navSelector: ".journal-tabs", contentSelector: ".journal-body", initial: "description" }],
|
// tabs: [{ navSelector: ".journal-tabs", contentSelector: ".journal-body", initial: "description" }],
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add the SendToChat button on top of sheet
|
* Add the SendToChat button on top of sheet
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ export const PreloadTemplates = async function () {
|
|||||||
`${tpl}actors/character/inventory.html`,
|
`${tpl}actors/character/inventory.html`,
|
||||||
`${tpl}actors/character/narrative.html`,
|
`${tpl}actors/character/narrative.html`,
|
||||||
`${tpl}actors/character/rings.html`,
|
`${tpl}actors/character/rings.html`,
|
||||||
|
`${tpl}actors/character/effects.html`,
|
||||||
`${tpl}actors/character/skill.html`,
|
`${tpl}actors/character/skill.html`,
|
||||||
`${tpl}actors/character/social.html`,
|
`${tpl}actors/character/social.html`,
|
||||||
`${tpl}actors/character/stance.html`,
|
`${tpl}actors/character/stance.html`,
|
||||||
@@ -25,6 +26,7 @@ export const PreloadTemplates = async function () {
|
|||||||
`${tpl}actors/npc/inventory.html`,
|
`${tpl}actors/npc/inventory.html`,
|
||||||
`${tpl}actors/npc/narrative.html`,
|
`${tpl}actors/npc/narrative.html`,
|
||||||
`${tpl}actors/npc/rings.html`,
|
`${tpl}actors/npc/rings.html`,
|
||||||
|
`${tpl}actors/npc/effects.html`,
|
||||||
`${tpl}actors/npc/social.html`,
|
`${tpl}actors/npc/social.html`,
|
||||||
`${tpl}actors/npc/skill.html`,
|
`${tpl}actors/npc/skill.html`,
|
||||||
`${tpl}actors/npc/techniques.html`,
|
`${tpl}actors/npc/techniques.html`,
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ export const RegisterSettings = function () {
|
|||||||
scope: "world",
|
scope: "world",
|
||||||
config: false,
|
config: false,
|
||||||
type: String,
|
type: String,
|
||||||
default: "null",
|
default: "actor",
|
||||||
onChange: () => {
|
onChange: () => {
|
||||||
game.l5r5e.HelpersL5r5e.refreshLocalAndSocket("l5r5e-gm-monitor");
|
game.l5r5e.HelpersL5r5e.refreshLocalAndSocket("l5r5e-gm-monitor");
|
||||||
ui.combat.render(true);
|
ui.combat.render(true);
|
||||||
@@ -96,7 +96,7 @@ export const RegisterSettings = function () {
|
|||||||
scope: "world",
|
scope: "world",
|
||||||
config: false,
|
config: false,
|
||||||
type: String,
|
type: String,
|
||||||
default: "null",
|
default: "actor",
|
||||||
onChange: () => {
|
onChange: () => {
|
||||||
game.l5r5e.HelpersL5r5e.refreshLocalAndSocket("l5r5e-gm-monitor");
|
game.l5r5e.HelpersL5r5e.refreshLocalAndSocket("l5r5e-gm-monitor");
|
||||||
ui.combat.render(true);
|
ui.combat.render(true);
|
||||||
@@ -107,7 +107,7 @@ export const RegisterSettings = function () {
|
|||||||
scope: "world",
|
scope: "world",
|
||||||
config: false,
|
config: false,
|
||||||
type: String,
|
type: String,
|
||||||
default: "null",
|
default: "actor",
|
||||||
onChange: () => {
|
onChange: () => {
|
||||||
game.l5r5e.HelpersL5r5e.refreshLocalAndSocket("l5r5e-gm-monitor");
|
game.l5r5e.HelpersL5r5e.refreshLocalAndSocket("l5r5e-gm-monitor");
|
||||||
ui.combat.render(true);
|
ui.combat.render(true);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -323,7 +323,7 @@ sup {
|
|||||||
&-false:before {
|
&-false:before {
|
||||||
content: "\f070";
|
content: "\f070";
|
||||||
}
|
}
|
||||||
&-null:before {
|
&-actor:before {
|
||||||
content: "\f2a8";
|
content: "\f2a8";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,7 +96,7 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
line-height: 2rem;
|
line-height: 2rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
margin: 0 0 0.5rem;
|
margin: 0.5rem 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
li {
|
li {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|||||||
@@ -29,7 +29,9 @@
|
|||||||
line-height: 0;
|
line-height: 0;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
label.stance-active strong {
|
||||||
|
text-decoration: underline 2px;
|
||||||
|
}
|
||||||
input {
|
input {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
}
|
}
|
||||||
&.actor {
|
&.actor {
|
||||||
.sheet-header {
|
.sheet-header {
|
||||||
height: 26rem;
|
|
||||||
h1 {
|
h1 {
|
||||||
flex: auto;
|
flex: auto;
|
||||||
margin: 0 0 0.25rem 0.5rem;
|
margin: 0 0 0.25rem 0.5rem;
|
||||||
@@ -53,6 +52,37 @@
|
|||||||
.sheet-body {
|
.sheet-body {
|
||||||
flex: 0 0 100%;
|
flex: 0 0 100%;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
|
.effects {
|
||||||
|
clear: both;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 2px 4px;
|
||||||
|
.effect-container {
|
||||||
|
border: 1px solid #5a6e5a;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
.effect-icon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.effect-name {
|
||||||
|
vertical-align: top;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
color: $white;
|
||||||
|
float: right;
|
||||||
|
margin-left: 4px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 16px;
|
||||||
|
max-width: 140px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
section,
|
section,
|
||||||
article {
|
article {
|
||||||
@@ -127,13 +157,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.header-fields {
|
.header-fields {
|
||||||
position: relative;
|
|
||||||
flex: 0 0 100%;
|
|
||||||
h2 {
|
h2 {
|
||||||
font-family: $font-secondary;
|
font-family: $font-secondary;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
float: left;
|
|
||||||
width: 30%;
|
|
||||||
padding: 0.25rem 0.25rem 0;
|
padding: 0.25rem 0.25rem 0;
|
||||||
margin: 1rem 20% 0 0;
|
margin: 1rem 20% 0 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -234,18 +260,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.rings {
|
.mid-wrapper {
|
||||||
float: left;
|
display: flex;
|
||||||
|
}
|
||||||
|
.side-col {
|
||||||
|
width: 30%;
|
||||||
|
}
|
||||||
|
.central-col {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
|
}
|
||||||
|
.rings {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
position: relative;
|
margin-top: 1rem;
|
||||||
top: -1.5rem;
|
|
||||||
}
|
}
|
||||||
.social-content,
|
.social-content,
|
||||||
.attributes-wrapper {
|
.attributes-wrapper {
|
||||||
flex: none;
|
flex: none;
|
||||||
float: left;
|
|
||||||
width: 30%;
|
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 0.5rem 0 0 0.25rem;
|
padding: 0.5rem 0 0 0.25rem;
|
||||||
@@ -546,7 +576,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
article {
|
article {
|
||||||
background: $l5r5e-white;
|
background: $l5r5e-white-light;
|
||||||
padding: 0.5rem;
|
padding: 0.5rem;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
min-height: calc(100% - 3.25rem);
|
min-height: calc(100% - 3.25rem);
|
||||||
@@ -893,6 +923,18 @@
|
|||||||
flex: 100%;
|
flex: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Restore list style
|
||||||
|
&.journal .journal-page-content {
|
||||||
|
ul {
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
list-style-type: initial;
|
||||||
|
margin: 0.5rem 0 0.5rem 1.5rem;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Lang Adjust.
|
// Lang Adjust.
|
||||||
&.sheet {
|
&.sheet {
|
||||||
|
|||||||
@@ -602,8 +602,9 @@ button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Combat
|
// Combat
|
||||||
#combat {
|
#combat,
|
||||||
#combat-round {
|
#combat-popout {
|
||||||
|
.combat-tracker-header {
|
||||||
.encounters {
|
.encounters {
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
|
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
|
||||||
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
|
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
|
||||||
"manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json",
|
"manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json",
|
||||||
"download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v1.9.2/raw/l5r5e.zip?job=build",
|
"download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v1.9.6/raw/l5r5e.zip?job=build",
|
||||||
"version": "1.9.2",
|
"version": "1.9.6",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": 10,
|
"minimum": 10,
|
||||||
"verified": "10.284"
|
"verified": "10.291"
|
||||||
},
|
},
|
||||||
"manifestPlusVersion": "1.2.0",
|
"manifestPlusVersion": "1.2.0",
|
||||||
"socket": true,
|
"socket": true,
|
||||||
|
|||||||
@@ -1,27 +1,39 @@
|
|||||||
<form class="{{cssClass}}" data-lang="{{localize 'I18N.Language'}}" autocomplete="off">
|
<form class="{{cssClass}}" data-lang="{{localize 'I18N.Language'}}" autocomplete="off">
|
||||||
{{!-- L5R Button bar --}}
|
{{!-- L5R Button bar --}}
|
||||||
<div class="l5r-buttons-bar">
|
<div class="l5r-buttons-bar">
|
||||||
{{#each l5rHeaderButtons}}
|
{{#each l5rHeaderButtons}}
|
||||||
<a class="l5r-header-button {{this.class}}"><i class="{{this.icon}}"></i>{{localize this.label}}</a>
|
<a class="l5r-header-button {{this.class}}"><i class="{{this.icon}}"></i>{{localize this.label}}</a>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
{{!-- Sheet Header --}}
|
{{!-- Sheet Header --}}
|
||||||
<header class="sheet-header">
|
<header class="sheet-header">
|
||||||
<img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true" title="{{data.name}}"/>
|
<img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if
|
||||||
|
data.editable_not_soft_locked}}data-edit="img" {{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true"
|
||||||
|
title="{{data.name}}" />
|
||||||
<div class="header-fields identity-wrapper">
|
<div class="header-fields identity-wrapper">
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1>
|
<h1 class="charname">
|
||||||
|
<input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if
|
||||||
|
data.editable_not_soft_locked}}disabled{{/if}} />
|
||||||
|
</h1>
|
||||||
{{> 'systems/l5r5e/templates/actors/character/identity.html'}}
|
{{> 'systems/l5r5e/templates/actors/character/identity.html'}}
|
||||||
</div>
|
</div>
|
||||||
<div class="header-fields">
|
<div class="header-fields mid-wrapper">
|
||||||
<h2>{{localize 'l5r5e.social.title'}}</h2>
|
<div class="side-col">
|
||||||
<h2 class="right">{{localize 'l5r5e.attributes.title'}}</h2>
|
<h2>{{localize 'l5r5e.social.title'}}</h2>
|
||||||
{{> 'systems/l5r5e/templates/actors/character/social.html'}}
|
{{> 'systems/l5r5e/templates/actors/character/social.html'}}
|
||||||
{{> 'systems/l5r5e/templates/actors/character/rings.html'}}
|
</div>
|
||||||
{{> 'systems/l5r5e/templates/actors/character/attributes.html'}}
|
<div class="central-col">{{> 'systems/l5r5e/templates/actors/character/rings.html'}}</div>
|
||||||
|
<div class="side-col">
|
||||||
|
<h2 class="right">{{localize 'l5r5e.attributes.title'}}</h2>
|
||||||
|
{{> 'systems/l5r5e/templates/actors/character/attributes.html'}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
{{!-- Sheet Body --}}
|
{{!-- Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
{{!-- Active effects --}}
|
||||||
|
{{> 'systems/l5r5e/templates/actors/character/effects.html'}}
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Sheet Tab Navigation --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
<nav class="sheet-tabs tabs" data-group="primary">
|
||||||
<a class="item" data-tab="skills">{{localize 'l5r5e.skills.title'}}</a>
|
<a class="item" data-tab="skills">{{localize 'l5r5e.skills.title'}}</a>
|
||||||
@@ -34,8 +46,8 @@
|
|||||||
{{!-- Skills Tab --}}
|
{{!-- Skills Tab --}}
|
||||||
<article class="tab skills" data-group="primary" data-tab="skills">
|
<article class="tab skills" data-group="primary" data-tab="skills">
|
||||||
<ul class="skills-wrapper">
|
<ul class="skills-wrapper">
|
||||||
{{#each data.system.skills as |category id|}}
|
{{#each data.system.skills as |category id|}} {{>
|
||||||
{{> 'systems/l5r5e/templates/actors/character/category.html' category=category categoryId=id data=../data}}
|
'systems/l5r5e/templates/actors/character/category.html' category=category categoryId=id data=../data}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
{{> 'systems/l5r5e/templates/actors/character/techniques.html'}}
|
{{> 'systems/l5r5e/templates/actors/character/techniques.html'}}
|
||||||
|
|||||||
8
system/templates/actors/character/effects.html
Normal file
8
system/templates/actors/character/effects.html
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<ul class="effects">
|
||||||
|
{{#each actor.effects as |effect|}}
|
||||||
|
<li class="effect-container" title="{{label}}">
|
||||||
|
<div class="effect-icon" style="background-image: url({{effect.icon}})"></div>
|
||||||
|
<div class="effect-name"><label>{{label}}</label></div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
@@ -1,34 +1,34 @@
|
|||||||
<ul class="rings">
|
<ul class="rings">
|
||||||
<li id="earth">
|
<li id="earth">
|
||||||
<label class="earth">
|
<label class="earth {{#ifCond 'earth' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_earth dice-picker rollable" data-ring="earth"></i>
|
<i class="i_earth dice-picker rollable" data-ring="earth"></i>
|
||||||
<strong>{{localizeRing 'earth'}}</strong>
|
<strong>{{localizeRing 'earth'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.earth" value="{{data.system.rings.earth}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.earth" value="{{data.system.rings.earth}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="air">
|
<li id="air">
|
||||||
<label class="air">
|
<label class="air {{#ifCond 'air' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_air dice-picker rollable" data-ring="air"></i>
|
<i class="i_air dice-picker rollable" data-ring="air"></i>
|
||||||
<strong>{{localizeRing 'air'}}</strong>
|
<strong>{{localizeRing 'air'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.air" value="{{data.system.rings.air}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.air" value="{{data.system.rings.air}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="water">
|
<li id="water">
|
||||||
<label class="water">
|
<label class="water {{#ifCond 'water' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_water dice-picker rollable" data-ring="water"></i>
|
<i class="i_water dice-picker rollable" data-ring="water"></i>
|
||||||
<strong>{{localizeRing 'water'}}</strong>
|
<strong>{{localizeRing 'water'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.water" value="{{data.system.rings.water}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.water" value="{{data.system.rings.water}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="fire">
|
<li id="fire">
|
||||||
<label class="fire">
|
<label class="fire {{#ifCond 'fire' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_fire dice-picker rollable" data-ring="fire"></i>
|
<i class="i_fire dice-picker rollable" data-ring="fire"></i>
|
||||||
<strong>{{localizeRing 'fire'}}</strong>
|
<strong>{{localizeRing 'fire'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.fire" value="{{data.system.rings.fire}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.fire" value="{{data.system.rings.fire}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="void">
|
<li id="void">
|
||||||
<label class="void">
|
<label class="void {{#ifCond 'void' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_void dice-picker rollable" data-ring="void"></i>
|
<i class="i_void dice-picker rollable" data-ring="void"></i>
|
||||||
<strong>{{localizeRing 'void'}}</strong>
|
<strong>{{localizeRing 'void'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.void" value="{{data.system.rings.void}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.void" value="{{data.system.rings.void}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
|
|||||||
@@ -1,27 +1,39 @@
|
|||||||
<form class="{{cssClass}}" data-lang="{{localize 'I18N.Language'}}" autocomplete="off">
|
<form class="{{cssClass}}" data-lang="{{localize 'I18N.Language'}}" autocomplete="off">
|
||||||
{{!-- L5R Button bar --}}
|
{{!-- L5R Button bar --}}
|
||||||
<div class="l5r-buttons-bar">
|
<div class="l5r-buttons-bar">
|
||||||
{{#each l5rHeaderButtons}}
|
{{#each l5rHeaderButtons}}
|
||||||
<a class="l5r-header-button {{this.class}}"><i class="{{this.icon}}"></i>{{localize this.label}}</a>
|
<a class="l5r-header-button {{this.class}}"><i class="{{this.icon}}"></i>{{localize this.label}}</a>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
{{!-- Sheet Header --}}
|
{{!-- Sheet Header --}}
|
||||||
<header class="sheet-header">
|
<header class="sheet-header">
|
||||||
<div class="header-fields identity-wrapper">
|
<div class="header-fields identity-wrapper">
|
||||||
<img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if data.editable_not_soft_locked}}data-edit="img"{{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true" title="{{data.name}}"/>
|
<img class="profile-img dragndrop-actor-uuid pointer" src="{{data.img}}" {{#if
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if data.editable_not_soft_locked}}disabled{{/if}}/></h1>
|
data.editable_not_soft_locked}}data-edit="img" {{/if}} data-actor-uuid="{{actor.uuid}}" draggable="true"
|
||||||
|
title="{{data.name}}" />
|
||||||
|
<h1 class="charname">
|
||||||
|
<input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if
|
||||||
|
data.editable_not_soft_locked}}disabled{{/if}} />
|
||||||
|
</h1>
|
||||||
{{> 'systems/l5r5e/templates/actors/npc/identity.html'}}
|
{{> 'systems/l5r5e/templates/actors/npc/identity.html'}}
|
||||||
</div>
|
</div>
|
||||||
<div class="header-fields">
|
<div class="header-fields mid-wrapper">
|
||||||
<h2>{{localize 'l5r5e.social.title'}}</h2>
|
<div class="side-col">
|
||||||
<h2 class="right">{{localize 'l5r5e.attributes.title'}}</h2>
|
<h2>{{localize 'l5r5e.social.title'}}</h2>
|
||||||
{{> 'systems/l5r5e/templates/actors/npc/social.html'}}
|
{{> 'systems/l5r5e/templates/actors/npc/social.html'}}
|
||||||
{{> 'systems/l5r5e/templates/actors/npc/rings.html'}}
|
</div>
|
||||||
{{> 'systems/l5r5e/templates/actors/npc/attributes.html'}}
|
<div class="central-col">{{> 'systems/l5r5e/templates/actors/npc/rings.html'}}</div>
|
||||||
|
<div class="side-col">
|
||||||
|
<h2 class="right">{{localize 'l5r5e.attributes.title'}}</h2>
|
||||||
|
{{> 'systems/l5r5e/templates/actors/npc/attributes.html'}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
{{!-- Sheet Body --}}
|
{{!-- Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
{{!-- Active effects --}}
|
||||||
|
{{> 'systems/l5r5e/templates/actors/npc/effects.html'}}
|
||||||
|
|
||||||
{{!-- Skills No Tab --}}
|
{{!-- Skills No Tab --}}
|
||||||
{{> 'systems/l5r5e/templates/actors/npc/skill.html'}}
|
{{> 'systems/l5r5e/templates/actors/npc/skill.html'}}
|
||||||
|
|
||||||
@@ -45,9 +57,9 @@
|
|||||||
|
|
||||||
{{!-- Conflict Tab --}}
|
{{!-- Conflict Tab --}}
|
||||||
<article class="tab conflict" data-group="primary" data-tab="conflict">
|
<article class="tab conflict" data-group="primary" data-tab="conflict">
|
||||||
{{> 'systems/l5r5e/templates/actors/npc/conflict.html'}}
|
{{> 'systems/l5r5e/templates/actors/npc/conflict.html'}} {{>
|
||||||
{{> 'systems/l5r5e/templates/items/weapon/weapons.html'}}
|
'systems/l5r5e/templates/items/weapon/weapons.html'}} {{>
|
||||||
{{> 'systems/l5r5e/templates/items/armor/armors.html'}}
|
'systems/l5r5e/templates/items/armor/armors.html'}}
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
{{!-- Inventory Tab --}}
|
{{!-- Inventory Tab --}}
|
||||||
|
|||||||
8
system/templates/actors/npc/effects.html
Normal file
8
system/templates/actors/npc/effects.html
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<ul class="effects">
|
||||||
|
{{#each actor.effects as |effect|}}
|
||||||
|
<li class="effect-container" title="{{label}}">
|
||||||
|
<div class="effect-icon" style="background-image: url({{effect.icon}})"></div>
|
||||||
|
<div class="effect-name"><label>{{label}}</label></div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
@@ -1,34 +1,34 @@
|
|||||||
<ul class="rings">
|
<ul class="rings">
|
||||||
<li id="earth">
|
<li id="earth">
|
||||||
<label class="earth">
|
<label class="earth {{#ifCond 'earth' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_earth dice-picker rollable" data-ring="earth"></i>
|
<i class="i_earth dice-picker rollable" data-ring="earth"></i>
|
||||||
<strong>{{localizeRing 'earth'}}</strong>
|
<strong>{{localizeRing 'earth'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.earth" value="{{data.system.rings.earth}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.earth" value="{{data.system.rings.earth}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="air">
|
<li id="air">
|
||||||
<label class="air">
|
<label class="air {{#ifCond 'air' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_air dice-picker rollable" data-ring="air"></i>
|
<i class="i_air dice-picker rollable" data-ring="air"></i>
|
||||||
<strong>{{localizeRing 'air'}}</strong>
|
<strong>{{localizeRing 'air'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.air" value="{{data.system.rings.air}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.air" value="{{data.system.rings.air}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="water">
|
<li id="water">
|
||||||
<label class="water">
|
<label class="water {{#ifCond 'water' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_water dice-picker rollable" data-ring="water"></i>
|
<i class="i_water dice-picker rollable" data-ring="water"></i>
|
||||||
<strong>{{localizeRing 'water'}}</strong>
|
<strong>{{localizeRing 'water'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.water" value="{{data.system.rings.water}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.water" value="{{data.system.rings.water}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="fire">
|
<li id="fire">
|
||||||
<label class="fire">
|
<label class="fire {{#ifCond 'fire' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_fire dice-picker rollable" data-ring="fire"></i>
|
<i class="i_fire dice-picker rollable" data-ring="fire"></i>
|
||||||
<strong>{{localizeRing 'fire'}}</strong>
|
<strong>{{localizeRing 'fire'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.fire" value="{{data.system.rings.fire}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.fire" value="{{data.system.rings.fire}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
<li id="void">
|
<li id="void">
|
||||||
<label class="void">
|
<label class="void {{#ifCond 'void' '==' data.system.stance}}stance-active{{/ifCond}}">
|
||||||
<i class="i_void dice-picker rollable" data-ring="void"></i>
|
<i class="i_void dice-picker rollable" data-ring="void"></i>
|
||||||
<strong>{{localizeRing 'void'}}</strong>
|
<strong>{{localizeRing 'void'}}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="system.rings.void" value="{{data.system.rings.void}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
<input class="centered-input select-on-focus" type="number" name="system.rings.void" value="{{data.system.rings.void}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
- [Symbols replacement list](users/symbols.md)
|
- [Symbols replacement list](users/symbols.md)
|
||||||
- [Advanced : Techniques skill and difficulty syntaxe](users/techniques-syntaxe.md)
|
- [Advanced : Techniques skill and difficulty syntaxe](users/techniques-syntaxe.md)
|
||||||
- [Advanced : Custom Compendiums](users/custom-compendiums.md)
|
- [Advanced : Custom Compendiums](users/custom-compendiums.md)
|
||||||
|
- [Advanced : Using CUB for modifiers](users/cub-modifiers.md)
|
||||||
|
|
||||||
## For developers
|
## For developers
|
||||||
- [System helping (Contribute)](dev/system-helping.md)
|
- [System helping (Contribute)](dev/system-helping.md)
|
||||||
|
|||||||
49
wiki/users/cub-modifiers.md
Normal file
49
wiki/users/cub-modifiers.md
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# Using CUB for Modifiers
|
||||||
|
|
||||||
|
> ⚠ The module [Combat Utility Belt](https://foundryvtt.com/packages/combat-utility-belt) is required.
|
||||||
|
|
||||||
|
|
||||||
|
## Attributes modifiers
|
||||||
|
Replace `<attribute>` with actual attribute (i.e. `endurance`, `vigilance`, `focus`, `composure`) and `<number>` with actual number to be added.
|
||||||
|
|
||||||
|
When setup in CUB this would modify PC derived attributes to increase or reduce them by the number given.
|
||||||
|
|
||||||
|
Allows automating certain invocations and item effects (such as the cursed Kama from Sins of Regret supplement).
|
||||||
|
|
||||||
|
|
||||||
|
### For `character` type
|
||||||
|
Syntaxe:
|
||||||
|
> system.modifiers.character.`<attribute>` += `<number>`
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
> system.modifiers.character.endurance += 1 // add 1
|
||||||
|
> <br>system.modifiers.character.focus += -2 // remove 2
|
||||||
|
|
||||||
|
|
||||||
|
### For `adversary` or `minion` types
|
||||||
|
Syntaxe:
|
||||||
|
> system.`<attribute>` += `<number>`
|
||||||
|
|
||||||
|
Exemples:
|
||||||
|
> system.vigilance += 1 // add 1
|
||||||
|
> <br>system.composure += -2 // remove 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Rings/Skills modifiers
|
||||||
|
Both PCs and NPCs can have their skills and rings increased as well by conditions (should you wish to ignore some of the RAW).
|
||||||
|
|
||||||
|
Syntaxe:
|
||||||
|
> system.rings.`<ring>` += `<number>`
|
||||||
|
> <br>system.skills.`<skillGroup>`.`<skill>` += `<number>` // for PCs
|
||||||
|
> <br>system.skills.`<skillGroup>` += `<number>` // for NPCs
|
||||||
|
|
||||||
|
Exemples:
|
||||||
|
> system.rings.earth += 1
|
||||||
|
> <br>system.skills.artisan.aesthetics += 1 // for PCs
|
||||||
|
> <br>system.skills.martial += -1 // for NPCs
|
||||||
|
|
||||||
|
|
||||||
|
The above need to be setup as conditions using CUB at the moment so that they can be added/removed as required.
|
||||||
|
|
||||||
|
Regarding skills and rings modifiers, I believe you would need to remove them temporarily for advancements as it might cause extra XP to be spent, but yet to test it fully.
|
||||||
Reference in New Issue
Block a user