Merge branch 'master' into dev
# Conflicts: # CHANGELOG.md # system/system.json
This commit is contained in:
55
CHANGELOG.md
55
CHANGELOG.md
@@ -2,8 +2,8 @@
|
||||
|
||||
## 1.7.0 - DiceRoller for Techniques & Npc Generator
|
||||
- NPC Sheet :
|
||||
- Added a random generator feature (Demeanor, Clan and Families names courteously authorized by Edge).
|
||||
- This is random by design, don't expect clan logic in values.
|
||||
- Added a random generator feature (Demeanor, Clan and Families names courteously authorized by Edge).
|
||||
- This is random by design, don't expect clan logic in values.
|
||||
- PC/NPC sheet:
|
||||
- Added the ability for technique with a skill set, to open the DicePicker with presets values.
|
||||
- Some can interact with targets, but do the default difficulty if none.
|
||||
@@ -11,34 +11,39 @@
|
||||
- Compendiums :
|
||||
- Techniques : Added difficulty and skill values (not all techniques).
|
||||
- DicePicker :
|
||||
- Added TN hidden difficulty visibility for GM (ex: ?2?).
|
||||
- Added a selection for techniques with skill list.
|
||||
- Added TN hidden difficulty visibility for GM (ex: ?2?).
|
||||
- Added a selection for techniques with skill list.
|
||||
- RnK :
|
||||
- Added ability to directly apply the strife to the actor on final step. The chat message show the value taken in gray aside the total strife.
|
||||
- Added ability to directly apply the strife to the actor on final step. The chat message show the value taken in gray aside the total strife.
|
||||
|
||||
Technique syntaxe "quick" explanation :
|
||||
- Difficulty can be :
|
||||
- Number : 1-9
|
||||
- Or specific syntaxe "@`S`:`prop1`" or "@`T`:`prop1`|`max`" or "@`T`:`prop1`|`max`(`prop2`)" :
|
||||
- `@` fixed, trigger the parser
|
||||
- `T` or `S` : `T`arget or `S`elf, define the actor to get the value.
|
||||
- `prop1` / `prop2` : Can be any property in `actor` or `actor.data.data`. Limitations: currently no `size` or `distance` (range).
|
||||
- `|` separator, optional if no min/max.
|
||||
- `min` or `max` : Between the selected targets search for the min/max of `prop2`. If no `prop2` found, take `prop1` as `prop2` (irrelevant for `@S`).
|
||||
- `(prop2)` : define the property for the actor selection in multiple target, can be omitted if same as `prop1`.
|
||||
- Exemples :
|
||||
- `@S:vigilance` : Difficulty will be my own vigilance
|
||||
- `@T:vigilance|min` : Difficulty will be the vigilance from the target with the minimum vigilance (implicit) value. it's the same to wrote `@T:vigilance|min(vigilance)`.
|
||||
- `@T:vigilance|max(statusRank)` : Difficulty will be the vigilance from the target with the maximum `statusRank` value.
|
||||
- Number : 1-9
|
||||
- Or specific syntaxe "@`S`:`prop1`" or "@`T`:`prop1`|`max`" or "@`T`:`prop1`|`max`(`prop2`)" :
|
||||
- `@` fixed, trigger the parser
|
||||
- `T` or `S` : `T`arget or `S`elf, define the actor to get the value.
|
||||
- `prop1` / `prop2` : Can be any property in `actor` or `actor.data.data`. Limitations: currently no `size` or `distance` (range).
|
||||
- `|` separator, optional if no min/max.
|
||||
- `min` or `max` : Between the selected targets search for the min/max of `prop2`. If no `prop2` found, take `prop1` as `prop2` (irrelevant for `@S`).
|
||||
- `(prop2)` : define the property for the actor selection in multiple target, can be omitted if same as `prop1`.
|
||||
- Exemples :
|
||||
- `@S:vigilance` : Difficulty will be my own vigilance
|
||||
- `@T:vigilance|min` : Difficulty will be the vigilance from the target with the minimum vigilance (implicit) value. it's the same to wrote `@T:vigilance|min(vigilance)`.
|
||||
- `@T:vigilance|max(statusRank)` : Difficulty will be the vigilance from the target with the maximum `statusRank` value.
|
||||
- Skill can be :
|
||||
- SkillId : `melee`, `fitness`...
|
||||
- SkillCategoryId : `scholar`, `martial`...
|
||||
- Or both in list, coma separated.
|
||||
- Ids are english names in lower case, see `config.js / L5R5E.skills` for the list.
|
||||
- Exemples :
|
||||
- `theology`
|
||||
- `melee,ranged,unarmed`
|
||||
- `martial,fitness,performance`
|
||||
- SkillId : `melee`, `fitness`...
|
||||
- SkillCategoryId : `scholar`, `martial`...
|
||||
- Or both in list, coma separated.
|
||||
- Ids are english names in lower case, see `config.js / L5R5E.skills` for the list.
|
||||
- Exemples :
|
||||
- `theology`
|
||||
- `melee,ranged,unarmed`
|
||||
- `martial,fitness,performance`
|
||||
|
||||
## 1.6.1 - Little Bugfixes
|
||||
- PC sheet : fixed the "Complete this rank" button who stayed hidden in experience tab.
|
||||
- GmMonitor : fixed a bug with render when the list was emptied.
|
||||
- Combat : fixed a null error when sometimes the combatant actor is null.
|
||||
|
||||
## 1.6.0 - QoL & SoftLock
|
||||
- PC/NPC/Armies sheet:
|
||||
|
||||
@@ -142,14 +142,14 @@ export class CombatL5r5e extends Combat {
|
||||
* @private
|
||||
*/
|
||||
_sortCombatants(a, b) {
|
||||
// if tie, sort by honor, less honorable first
|
||||
// if tie : sort by honor, less honorable first
|
||||
if (a.initiative === b.initiative) {
|
||||
// skip if armies
|
||||
if (a.actor.data.type === "army" || b.actor.data.type === "army") {
|
||||
// skip if no actor or if armies
|
||||
if (!a.actor || !b.actor || a.actor.data.type === "army" || b.actor.data.type === "army") {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// if tie, Character > Adversary > Minion
|
||||
// if tie again : Character > Adversary > Minion
|
||||
if (a.actor.data.data.social.honor === b.actor.data.data.social.honor) {
|
||||
return (
|
||||
CombatL5r5e._getWeightByActorType(a.actor.data) - CombatL5r5e._getWeightByActorType(b.actor.data)
|
||||
|
||||
@@ -330,6 +330,7 @@ export class GmMonitor extends FormApplication {
|
||||
}
|
||||
if (!foundry.utils.isObjectEmpty(updateData)) {
|
||||
await actor.update(updateData);
|
||||
this.render(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<th>{{localize 'l5r5e.advancements.total_xp_curriculum'}} : {{rankObject.spent.curriculum}}{{#if rankObject.goal}} / {{rankObject.goal}}{{/if}}</th>
|
||||
<th>{{localize 'l5r5e.advancements.total_xp_spent'}} : {{rankObject.spent.total}}</th>
|
||||
</tr>
|
||||
{{#if data.editable_not_soft_locked}}
|
||||
{{#if ../data.editable_not_soft_locked}}
|
||||
{{#ifCond ../data.data.identity.school_rank '<' 6}}
|
||||
{{#ifCond (ifCond ../data.data.identity.school_rank '==' rankObject.rank) '&&' (ifCond rankObject.spent.curriculum '>=' rankObject.goal)}}
|
||||
<tr class="tfoot flexrow row tab" data-group="advancements" data-tab="advancement_rank_{{rankObject.rank}}">
|
||||
|
||||
Reference in New Issue
Block a user