Gestion des traits d'arme et des munitions

This commit is contained in:
2026-04-21 18:50:49 +02:00
parent 74f1b581f7
commit 6ef454d533
22 changed files with 1448 additions and 195 deletions

View File

@@ -40,19 +40,138 @@
{{selectOptions skills selected=skill valueAttr="_id" labelAttr="name"}}
</select>
</div>
{{#unless isAttack}}
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.Timeframes' }}</label>
<select name="timeframes">
{{selectOptions config.Timeframes selected = timeframe localize = true}}
</select>
</div>
{{/unless}}
<fieldset>
<legend>{{ localize 'MGT2.RollPrompt.States' }}</legend>
<div class="form-group">
<label class="mgt2-checkbox"><input type="checkbox" name="encumbrance" data-dtype="Boolean" {{checked encumbrance}} />{{ localize 'MGT2.RollPrompt.EncumbranceDM' }}</label>
<label class="mgt2-checkbox"><input type="checkbox" name="fatigue" data-dtype="Boolean" {{checked fatigue}} />{{ localize 'MGT2.RollPrompt.FatigueDM' }}</label>
{{!-- Hidden checkboxes preserve form values for the roll calculation --}}
<input type="checkbox" name="encumbrance" data-dtype="Boolean" {{checked encumbrance}} style="display:none" />
<input type="checkbox" name="fatigue" data-dtype="Boolean" {{checked fatigue}} style="display:none" />
{{!-- Read-only state badges --}}
<div class="roll-prompt-states">
<span class="roll-prompt-state-badge {{#if encumbrance}}is-active{{/if}}">
<i class="fa-solid fa-weight-hanging"></i>
{{ localize 'MGT2.RollPrompt.EncumbranceDM' }}
{{#if encumbrance}}<strong>2</strong>{{/if}}
</span>
<span class="roll-prompt-state-badge {{#if fatigue}}is-active{{/if}}">
<i class="fa-solid fa-person-dots-from-line"></i>
{{ localize 'MGT2.RollPrompt.FatigueDM' }}
{{#if fatigue}}<strong>2</strong>{{/if}}
</span>
</div>
</fieldset>
{{#if isRanged}}
<fieldset class="mgt2-ranged-modifiers">
<legend>{{ localize 'MGT2.RollPrompt.RangedModifiers' }}</legend>
{{#if hasScope}}
<div class="mgt2-scope-badge" data-tooltip="{{ localize 'MGT2.RollPrompt.ScopeHint' }}">
<i class="fa-solid fa-crosshairs"></i>
{{ localize 'MGT2.RollPrompt.ScopeActive' }}
</div>
{{/if}}
{{#if hasZeroG}}
<div class="mgt2-zerog-badge" data-tooltip="{{ localize 'MGT2.RollPrompt.ZeroGHint' }}">
<i class="fa-solid fa-satellite"></i>
{{ localize 'MGT2.RollPrompt.ZeroGActive' }}
</div>
{{/if}}
{{#if autoLevel}}
<div class="form-group mgt2-auto-mode">
<label>{{ localize 'MGT2.RollPrompt.FireMode' }}</label>
<select name="autoMode">
<option value="single">{{ localize 'MGT2.RollPrompt.AutoSingle' }}</option>
<option value="burst">{{ localize 'MGT2.RollPrompt.AutoBurst' }} (+{{autoLevel}})</option>
<option value="fullAuto">{{ localize 'MGT2.RollPrompt.AutoFull' }} (×{{autoLevel}})</option>
</select>
</div>
<p class="mgt2-auto-hint">⚠ {{ localize 'MGT2.RollPrompt.AutoNoAim' }}</p>
{{/if}}
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.Range' }}</label>
<select name="rangedRange">
<option value="1">{{ localize 'MGT2.RollPrompt.RangeShort' }} (+1)</option>
<option value="0" selected>{{ localize 'MGT2.RollPrompt.RangeNormal' }}</option>
<option value="-2">{{ localize 'MGT2.RollPrompt.RangeLong' }} (2)</option>
<option value="-4">{{ localize 'MGT2.RollPrompt.RangeExtreme' }} (4)</option>
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.Aim' }}</label>
<select name="rangedAim">
<option value="0" selected>0</option>
<option value="1">+1</option>
<option value="2">+2</option>
<option value="3">+3</option>
<option value="4">+4</option>
<option value="5">+5</option>
<option value="6">+6</option>
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.FastTarget' }}</label>
<select name="rangedFastTarget">
<option value="0" selected>0</option>
<option value="-1">1</option>
<option value="-2">2</option>
<option value="-3">3</option>
<option value="-4">4</option>
</select>
</div>
<div class="form-group mgt2-ranged-checkboxes">
<label class="mgt2-checkbox-tag"><input type="checkbox" name="rangedLaserSight" data-dtype="Boolean" />{{ localize 'MGT2.RollPrompt.LaserSight' }} <em>(+1 si Viser)</em></label>
<label class="mgt2-checkbox-tag"><input type="checkbox" name="rangedCover" data-dtype="Boolean" />{{ localize 'MGT2.RollPrompt.Cover' }} <em>(2)</em></label>
<label class="mgt2-checkbox-tag"><input type="checkbox" name="rangedProne" data-dtype="Boolean" />{{ localize 'MGT2.RollPrompt.Prone' }} <em>(1)</em></label>
</div>
<div class="form-group mgt2-ranged-dodge">
<label class="mgt2-checkbox-tag"><input type="checkbox" name="rangedDodge" data-dtype="Boolean" />{{ localize 'MGT2.RollPrompt.Dodge' }}</label>
<select name="rangedDodgeDM">
<option value="0" selected>MD 0</option>
<option value="-1">MD 1</option>
<option value="-2">MD 2</option>
<option value="-3">MD 3</option>
<option value="-4">MD 4</option>
<option value="-5">MD 5</option>
<option value="-6">MD 6</option>
</select>
</div>
</fieldset>
{{/if}}
{{#if isMelee}}
<fieldset class="mgt2-ranged-modifiers">
<legend>{{ localize 'MGT2.RollPrompt.MeleeModifiers' }}</legend>
<div class="form-group mgt2-ranged-dodge">
<label class="mgt2-checkbox-tag"><input type="checkbox" name="meleeDodge" data-dtype="Boolean" />{{ localize 'MGT2.RollPrompt.Dodge' }}</label>
<select name="meleeDodgeDM">
<option value="0" selected>MD 0</option>
<option value="-1">MD 1</option>
<option value="-2">MD 2</option>
<option value="-3">MD 3</option>
<option value="-4">MD 4</option>
<option value="-5">MD 5</option>
<option value="-6">MD 6</option>
</select>
</div>
<div class="form-group mgt2-ranged-dodge">
<label class="mgt2-checkbox-tag"><input type="checkbox" name="meleeParry" data-dtype="Boolean" />{{ localize 'MGT2.RollPrompt.Parry' }}</label>
<select name="meleeParryDM">
<option value="0" selected>MD 0</option>
<option value="-1">MD 1</option>
<option value="-2">MD 2</option>
<option value="-3">MD 3</option>
<option value="-4">MD 4</option>
<option value="-5">MD 5</option>
<option value="-6">MD 6</option>
</select>
</div>
</fieldset>
{{/if}}
{{/if}}
<div class="form-group">