Manage selective fire

This commit is contained in:
2025-06-15 00:30:24 +02:00
parent e0400793ff
commit 9e4d76298c
35 changed files with 654 additions and 122 deletions

View File

@@ -0,0 +1,31 @@
<div class="{{cssClass}}">
<div class="chat-lethal-damage">
<ul>
<li><strong>{{weapon.name}} : {{localize "CTHULHUETERNAL.Label.lethalityRoll"}}</strong></li>
<li>{{localize "CTHULHUETERNAL.Label.result"}} :{{rollResult}} ({{lethalScore}})</li>
{{#if weapon.system.selectiveFireChoice}}
<li>{{weapon.system.selectiveFireChoiceLabel}}</li>
{{/if}}
{{#if weapon.system.killRadius}}
<li>{{localize "CTHULHUETERNAL.Label.killRadius"}} : {{weapon.system.killRadius}} {{weapon.system.rangeUnit}}</li>
<li>{{localize "CTHULHUETERNAL.Label.killRadiusInfo"}}</li>
{{/if}}
{{#if ammoUsed}}
<li>{{localize "CTHULHUETERNAL.Label.ammoUsed"}}: {{ammoUsed}} / {{weapon.system.ammo.value}}</li>
{{/if}}
{{#if isLethal}}
<li class="result-lethal">{{localize "CTHULHUETERNAL.Label.lethalityLethal"}}</li>
<li class="result-lethal">{{localize "CTHULHUETERNAL.Label.lethalityWounded"}}</li>
{{else}}
<li class="result-non-lethal">{{localize "CTHULHUETERNAL.Label.lethalityNotLethal"}}</li>
<li class="result-non-lethal">{{localize "CTHULHUETERNAL.Label.lethalityNotWounded"}}: <strong>{{wounds}}</strong></li>
{{/if}}
</ul>
</div>
</div>

View File

@@ -51,30 +51,54 @@
{{#if isCritical}}
<li class="result-critical-success">{{localize "CTHULHUETERNAL.Label.criticalSuccess"}}
{{#if (eq rollType "weapon")}}
<a class="damage-roll"><i class="fa-solid fa-sword"></i></a>
{{#if (eq weapon.system.weaponType "rangedfirearm")}}
<a class="damage-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollDamage"}}"><i class="fa-solid fa-gun"></i></a>
{{else}}
<a class="damage-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollDamage"}}"><i class="fa-solid fa-sword"></i></a>
{{/if}}
{{/if}}
{{#if (eq rollType "skill") }}
{{#if rollItem.system.isHealing}}
<a class="healing-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollHealing"}}"><i class="fa-solid fa-heart"></i></a>
{{/if}}
{{/if}}
</li>
{{else}}
<li class="result-success">
{{localize "CTHULHUETERNAL.Label.success"}}
{{#if isNudge}}
<a class="nudge-roll"><i class="fa-solid fa-circle-sort-down"></i></a>
<a class="nudge-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollNudge"}}"><i class="fa-solid fa-circle-sort-down"></i></a>
{{/if}}
{{#if (eq rollType "weapon")}}
<a class="damage-roll"><i class="fa-solid fa-sword"></i></a>
{{#if (eq weapon.system.weaponType "rangedfirearm")}}
<a class="damage-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollDamage"}}"><i class="fa-solid fa-gun"></i></a>
{{else}}
<a class="damage-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollDamage"}}"><i class="fa-solid fa-sword"></i></a>
{{/if}}
{{#if (eq rollType "skill") }}
{{#if rollItem.system.isHealing}}
<a class="healing-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollHealing"}}"><i class="fa-solid fa-heart"></i></a>
{{/if}}
{{/if}}
</li>
{{/if}}
{{/if}}
{{#if isFailure}}
{{#if isCritical}}
<li class="result-critical-failure">{{localize "CTHULHUETERNAL.Label.criticalFailure"}}</li>
<li class="result-critical-failure">{{localize "CTHULHUETERNAL.Label.criticalFailure"}}
{{#if (eq rollType "skill") }}
{{#if rollItem.system.isHealing}}
<a class="healing-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollHealing"}}"><i class="fa-solid fa-heart"></i></a>
{{/if}}
{{/if}}
</li>
{{else}}
<li class="result-failure">
{{localize "CTHULHUETERNAL.Label.failure"}}
{{#if isNudge}}
<a class="nudge-roll"><i class="fa-solid fa-circle-sort-down"></i></a>
<a class="nudge-roll" data-tooltip="{{localize "CTHULHUETERNAL.Label.rollNudge"}}"><i class="fa-solid fa-circle-sort-down"></i></a>
{{/if}}
</li>
{{/if}}

View File

@@ -0,0 +1,20 @@
<div class="{{cssClass}}">
<div class="chat-lethal-damage">
<ul>
<li><strong>{{weapon.name}} : {{localize "CTHULHUETERNAL.Label.damageRoll"}}</strong></li>
<li>{{localize "CTHULHUETERNAL.Label.result"}} :{{rollResult}} ({{formula}})</li>
{{#if weapon.system.killRadius}}
<li>{{localize "CTHULHUETERNAL.Label.killRadius"}} : {{weapon.system.killRadius}} {{weapon.system.rangeUnit}}</li>
<li>{{localize "CTHULHUETERNAL.Label.killRadiusInfo"}}</li>
{{/if}}
{{#if ammoUsed}}
<li>{{localize "CTHULHUETERNAL.Label.ammoUsed"}}: {{ammoUsed}} / {{weapon.system.ammo.value}}</li>
{{/if}}
<li class="result-non-lethal">{{localize "CTHULHUETERNAL.Label.damageMessage"}}: <strong>{{rollResult}}</strong></li>
</ul>
</div>
</div>

View File

@@ -10,14 +10,20 @@
data-tooltip="{{actor.name}}" />
</div>
<fieldset class="protagonist-hp">
<legend>{{localize "CTHULHUETERNAL.Label.HP"}}</legend>
{{#if system.hp.dead}}
<legend class="hp-dead">{{localize "CTHULHUETERNAL.Label.HP"}} {{localize "CTHULHUETERNAL.Label.dying"}}</legend>
{{else}}
{{#if system.hp.unconscious}}
<legend class="hp-unconscious">{{localize "CTHULHUETERNAL.Label.HP"}} {{localize "CTHULHUETERNAL.Label.unconscious"}}</legend>
{{else}}
<legend>{{localize "CTHULHUETERNAL.Label.HP"}}</legend>
{{/if}}
{{/if}}
<div class="flexrow">
{{formField systemFields.hp.fields.value value=system.hp.value}}
<span class="hp-separator">/</span>
{{formField systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=true}}
</div>
<div class="flexrow ">
{{formField systemFields.damageBonus value=system.damageBonus classes="damage-bonus"}}
{{formField systemFields.hp.fields.stunned value=system.hp.stunned classes="stunned"}}
</div>
</fieldset>
@@ -158,6 +164,17 @@
rootId=partId disabled=isPlayMode }}
<label class="char-text">{{mul system.characteristics.cha.value 5}}</label>
</div>
<div class="protagonist-luck">
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
<label class="rollable" data-roll-type="luck" data-char-id="luck"
data-tooltip="{{system.Label.Luck}}">{{localize
"CTHULHUETERNAL.Label.Luck"}} (50)</label>
</div>
<div class="damage-bonus">
{{formField systemFields.damageBonus value=system.damageBonus tooltip="Etourdi" }}
</div>
</fieldset>
</section>

View File

@@ -14,6 +14,10 @@
{{system.skillTotal}}
</div>
{{#if isGM}}
{{formField systemFields.isHealing value=system.isHealing}}
{{#if system.isHealing}}
{{formField systemFields.healingFormula value=system.healingFormula}}
{{/if}}
{{formField systemFields.isAdversary value=system.isAdversary }}
{{formField systemFields.diceEvolved value=system.diceEvolved}}
@@ -21,6 +25,10 @@
{{formField systemFields.rollFailed value=system.rollFailed}}
{{/if}}
{{else}}
{{formField systemFields.isHealing value=system.isHealing disabled=true}}
{{#if system.isHealing}}
{{formField systemFields.healingFormula value=system.healingFormula disabled=true}}
{{/if}}
{{formField systemFields.isAdversary value=system.isAdversary disabled=true}}
{{formField systemFields.diceEvolved value=system.diceEvolved disabled=true}}

View File

@@ -8,7 +8,7 @@
{{formField systemFields.settings value=system.settings localize=true}}
{{formField systemFields.weaponType value=system.weaponType localize=true}}
{{#if (eq system.weaponType "rangedfirearm")}}
{{formField systemFields.weaponSubtype value=system.weaponSubtype localize=true}}
{{formField systemFields.weaponSubtype value=system.weaponSubtype localize=true}}
{{/if}}
{{formField systemFields.state value=system.state localize=true}}
@@ -18,12 +18,20 @@
{{formField systemFields.directSkillValue value=system.directSkillValue }}
{{/if}}
{{formField systemFields.hasSelectiveFire value=system.hasSelectiveFire}}
{{formField systemFields.applyDamageBonus value=system.applyDamageBonus}}
{{formField systemFields.damage value=system.damage}}
{{formField systemFields.baseRange value=system.baseRange}}
{{formField systemFields.rangeUnit value=system.rangeUnit localize=true}}
{{#if isRanged}}
{{formField systemFields.baseRange value=system.baseRange}}
{{formField systemFields.rangeUnit value=system.rangeUnit localize=true}}
{{/if}}
{{#if isFireArm}}
{{formField systemFields.hasSelectiveFire value=system.hasSelectiveFire}}
{{formField systemFields.ammo.fields.value value=system.ammo.value}}
{{formField systemFields.ammo.fields.max value=system.ammo.max}}
{{/if}}
{{formField systemFields.lethality value=system.lethality}}
{{formField systemFields.killRadius value=system.killRadius}}