Files
fvtt-chroniques-de-l-etrange/templates/form/cde-magic-dice-prompt.html
T
uberwald 75f79c1c08 feat(magic): reorder schools, fix Wu Xing aspect & power formula
- `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)
2026-06-10 15:54:31 +02:00

96 lines
5.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>