75f79c1c08
- `magicOrder` ArrayField + ▲/▼ buttons for manual reordering
- Magic rolls use school's aspect for Wu Xing, not speciality's element
- Spell power: `difficulty × (aspectValue + freePowerLevels)` (not `successes × diff`)
- Prompt replaces `aspectspeciality`/`bonusmalusspeciality`/`heispend` with `freepowerlevels`
fix: code review issues
- combat.js: guard undefined `ids` in rollInitiative
- rolling.js: catch Dice So Nice promise, normalize French→English kungfu aspects
- weapon/armor/ingredient: `{ min: 0 }` on quantity
- character.js/npc.js: catch rollForActor fire-and-forget promises
- roll-actions.js/tinji-app.js: await ChatMessage.create
- sanhei.js: null guard on properties
- spell.js/kungfu.js: fix aspect name comments (French→English)
96 lines
5.5 KiB
HTML
96 lines
5.5 KiB
HTML
<div class="cde-roll-prompt cde-roll-prompt--magic {{cssClass}}">
|
||
|
||
<div class="cde-roll-header">
|
||
<span class="cde-roll-title">{{ localize "CDE.MagicPromptName" }}</span>
|
||
</div>
|
||
|
||
{{!-- Part 1: Magic Skill Roll --}}
|
||
<div class="cde-roll-section cde-roll-section--separator">
|
||
<p class="cde-roll-section-title">① {{ localize "CDE.OneMagicRoll" }}</p>
|
||
<div class="cde-roll-dice-count">{{ numberofdice }}<span class="cde-roll-dice-label">d10 +1</span></div>
|
||
<div class="cde-roll-fields">
|
||
<div class="cde-roll-field">
|
||
<label>{{ localize "CDE.AspectSkill" }}</label>
|
||
<select name="aspectskill">
|
||
<option value="0" {{#if (eq aspectskill 0)}}selected{{/if}}>{{ localize "CDE.Metal" }}</option>
|
||
<option value="1" {{#if (eq aspectskill 1)}}selected{{/if}}>{{ localize "CDE.Water" }}</option>
|
||
<option value="2" {{#if (eq aspectskill 2)}}selected{{/if}}>{{ localize "CDE.Earth" }}</option>
|
||
<option value="3" {{#if (eq aspectskill 3)}}selected{{/if}}>{{ localize "CDE.Fire" }}</option>
|
||
<option value="4" {{#if (eq aspectskill 4)}}selected{{/if}}>{{ localize "CDE.Wood" }}</option>
|
||
</select>
|
||
</div>
|
||
<div class="cde-roll-field">
|
||
<label>{{ localize "CDE.BonusMalus" }}</label>
|
||
<select name="bonusmalusskill">
|
||
<option value="-5" {{#if (eq bonusmalusskill -5)}}selected{{/if}}>−5 dés</option>
|
||
<option value="-4" {{#if (eq bonusmalusskill -4)}}selected{{/if}}>−4 dés</option>
|
||
<option value="-3" {{#if (eq bonusmalusskill -3)}}selected{{/if}}>−3 dés</option>
|
||
<option value="-2" {{#if (eq bonusmalusskill -2)}}selected{{/if}}>−2 dés</option>
|
||
<option value="-1" {{#if (eq bonusmalusskill -1)}}selected{{/if}}>−1 dé</option>
|
||
<option value="0" {{#if (eq bonusmalusskill 0)}}selected{{/if}}>0 (aucun)</option>
|
||
<option value="1" {{#if (eq bonusmalusskill 1)}}selected{{/if}}>+1 dé</option>
|
||
<option value="2" {{#if (eq bonusmalusskill 2)}}selected{{/if}}>+2 dés</option>
|
||
<option value="3" {{#if (eq bonusmalusskill 3)}}selected{{/if}}>+3 dés</option>
|
||
<option value="4" {{#if (eq bonusmalusskill 4)}}selected{{/if}}>+4 dés</option>
|
||
<option value="5" {{#if (eq bonusmalusskill 5)}}selected{{/if}}>+5 dés</option>
|
||
</select>
|
||
</div>
|
||
<div class="cde-roll-field">
|
||
<label>{{ localize "CDE.BonusAuspiciousDice" }}</label>
|
||
<select name="bonusauspiciousdice">
|
||
<option value="0" {{#if (eq bonusauspiciousdice 0)}}selected{{/if}}>0 dé-faste</option>
|
||
<option value="1" {{#if (eq bonusauspiciousdice 1)}}selected{{/if}}>1 dé-faste</option>
|
||
<option value="2" {{#if (eq bonusauspiciousdice 2)}}selected{{/if}}>2 dés-fastes</option>
|
||
<option value="3" {{#if (eq bonusauspiciousdice 3)}}selected{{/if}}>3 dés-fastes</option>
|
||
<option value="4" {{#if (eq bonusauspiciousdice 4)}}selected{{/if}}>4 dés-fastes</option>
|
||
<option value="5" {{#if (eq bonusauspiciousdice 5)}}selected{{/if}}>5 dés-fastes</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<p class="cde-roll-hint"><i>{{ localize "CDE.DoNotModify" }}</i></p>
|
||
</div>
|
||
|
||
{{!-- Part 2: Spell Power Roll --}}
|
||
<div class="cde-roll-section cde-roll-section--separator">
|
||
<p class="cde-roll-section-title">② {{ localize "CDE.TwoPowerOfSpell" }}</p>
|
||
<div class="cde-roll-fields">
|
||
<div class="cde-roll-field">
|
||
<label>{{ localize "CDE.RollDifficulty" }} (×)</label>
|
||
<select name="rolldifficulty">
|
||
<option value="1" {{#if (eq rolldifficulty 1)}}selected{{/if}}>1 — Action moyenne</option>
|
||
<option value="2" {{#if (eq rolldifficulty 2)}}selected{{/if}}>2 — Action complexe</option>
|
||
<option value="3" {{#if (eq rolldifficulty 3)}}selected{{/if}}>3 — Action difficile</option>
|
||
<option value="4" {{#if (eq rolldifficulty 4)}}selected{{/if}}>4 — Action héroïque</option>
|
||
<option value="5" {{#if (eq rolldifficulty 5)}}selected{{/if}}>5 — Action légendaire</option>
|
||
</select>
|
||
</div>
|
||
<div class="cde-roll-field">
|
||
<label>{{ localize "CDE.FreePowerLevels" }}</label>
|
||
<select name="freepowerlevels">
|
||
<option value="0" {{#if (eq freepowerlevels 0)}}selected{{/if}}>0</option>
|
||
<option value="1" {{#if (eq freepowerlevels 1)}}selected{{/if}}>+1</option>
|
||
<option value="2" {{#if (eq freepowerlevels 2)}}selected{{/if}}>+2</option>
|
||
<option value="3" {{#if (eq freepowerlevels 3)}}selected{{/if}}>+3</option>
|
||
<option value="4" {{#if (eq freepowerlevels 4)}}selected{{/if}}>+4</option>
|
||
<option value="5" {{#if (eq freepowerlevels 5)}}selected{{/if}}>+5</option>
|
||
</select>
|
||
</div>
|
||
|
||
</div>
|
||
<p class="cde-roll-hint"><i>{{ localize "CDE.DoNotModify" }}</i></p>
|
||
</div>
|
||
|
||
{{!-- Visibility --}}
|
||
<div class="cde-roll-section">
|
||
<div class="cde-roll-field">
|
||
<label>{{ localize "CDE.TypeOfThrow" }}</label>
|
||
<select name="typeofthrow">
|
||
<option value="0" {{#if (eq typeofthrow 0)}}selected{{/if}}>{{ localize "CDE.Everybody" }}</option>
|
||
<option value="1" {{#if (eq typeofthrow 1)}}selected{{/if}}>{{ localize "CDE.JustDMAndMe" }}</option>
|
||
<option value="2" {{#if (eq typeofthrow 2)}}selected{{/if}}>{{ localize "CDE.DMOnly" }}</option>
|
||
<option value="3" {{#if (eq typeofthrow 3)}}selected{{/if}}>{{ localize "CDE.MeOnly" }}</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
</div> |