Gestion attaques v2 et initiative

This commit is contained in:
2025-09-30 01:33:08 +02:00
parent d0ba1ebf99
commit 7370b633db
44 changed files with 1033 additions and 515 deletions

View File

@@ -0,0 +1,75 @@
<div class="roll-chat">
<div class="chat-img">
<img src="{{active.img}}" data-tooltip="{{active.name}}" />
<img src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<img src="{{opponent.img}}" data-tooltip="{{opponent.name}}" />
</div>
<div class="chat-header">
{{active.name}} attaque {{opponent.name}}: {{current.label}}
</div>
<div class="chat-resume">
{{current.carac.label}} / {{current.comp.label}} à {{current.diff.value}}
<br>{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}}
</div>
<div class="chat-details">
<hr>
{{#if rolled.isSuccess}}
<span>
<strong>{{opponent.name}}</strong> doit se défendre à <strong>{{current.diff.value}}</strong>,
{{#if (eq current.dmg.mortalite 'empoignade')}}
ou {{active.name}} marquera un point d'empoignade
{{else if (eq current.dmg.mortalite 'non-mortel')}}
ou encaisser à <span class="rdd-roll-norm">{{plusMoins current.dmg.total}} (non-mortel)</span>
{{else}}
{{!-- {{~#if (eq current.dmg.mortalite 'mortel')}} --}}
ou encaisser à <span class="rdd-roll-echec">{{plusMoins current.dmg.total}}</span>
{{!-- {{~#if (eq current.dmg.mortalite 'cauchemar')}} --}}
{{!-- {{else}}
<span class="rdd-roll-etotal">{{plusMoins dmg.total}}</span> (entités de cauchemar) --}}
{{/if}}
</span>
{{#if show.recul}}
<span class='chat-card-info'>
<img src="icons/svg/thrust.svg" data-tooltip="charge" />
Si votre adversaire n'esquive pas cette {{show.recul.raison}}, il devra résister à l'impact ou reculer sous le choc!
</span>
{{/if}}
{{#if (eq particuliere 'rapidite')}}
<span>
<br>Votre attaque rapide vous permet une deuxième attaque, ou une défense supplémentaire!
</span>
{{/if}}
{{else}}
<span>Votre attaque a échoué!</span>
{{/if}}
{{#if (eq current.tactique 'charge')}}
<span class='chat-card-info'>
<img src="icons/svg/thrust.svg" data-tooltip="charge" />
C'est une charge, vos parades auront un -4 et vous ne pourrez pas esquiver!
</span>
{{/if}}
{{#if (and (eq current.tactique 'feinte') rolled.isSuccess)}}
<span class='chat-card-info'>
<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" data-tooltip="feinte"/>
Votre feinte peut faire mouche!
</span>
{{/if}}
<p>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}}
</p>
</div>
<div class="chat-actions">
{{> 'partial-attaque-particuliere'}}
{{!-- TODO: maladresses --}}
</div>
<div class="chat-buttons">
{{> 'partial-appel-chance'}}
</div>
</div>

View File

@@ -1,9 +1,8 @@
{{log this}}
<div class="roll-chat">
<div class="chat-img">
<img src="{{active.img}}" data-tooltip="{{active.name}}" />
<img src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<img src="{{opponent.img}}" data-tooltip="{{opponent.name}}" />
</div>
<div class="chat-header">
@@ -30,20 +29,22 @@
{{!-- {{else}}
<!-- TODO: cas de parade à mains nues, texte à modifier -->
{{/if}} --}}
{{#if attackerRoll.tactique}}
<p>
{{#if (eq attackerRoll.tactique.key 'charge')}}
{{#if (eq attackerRoll.tactique.key 'charge')}}
<span class='chat-card-info'>
<img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" />
C'était une charge, les parades de {{opponent.name}} auront un -4 et il ne pourra pas esquiver!
{{else if (eq attackerRoll.tactique.key 'feinte')}}
</span>
{{/if}}
{{#if (eq attackerRoll.tactique.key 'feinte')}}
<span class='chat-card-info'>
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" data-tooltip="feinte" height="32" width="32" />
C'était une feinte!
{{/if}}
</p>
</span>
{{/if}}
{{> 'partial-info-appel-moral'}}
</div>
<div class="chat-actions">
{{!-- TODO: maladresses --}}
{{> 'partial-recul-choc'}}
{{> 'partial-encaissement'}}
</div>

View File

@@ -1,4 +1,3 @@
{{log this}}
<div class="roll-chat">
<div class="chat-img">
<img src="{{active.img}}" data-tooltip="{{active.name}}" />

View File

@@ -0,0 +1,16 @@
{{#if particulieres.length}}
{{#if (eq particulieres.length 1)}}
{{#each particulieres as |part|}}
<span class='chat-card-info'>
<img src="{{part.img}}"/> Attaque particulière {{part.descr}}
</span>
{{/each}}
{{else}}
{{#each particulieres as |part|}}
<a class='chat-card-button choix-particuliere' data-particuliere='{{part.key}}'
data-tooltip="Choisir une particulière {{part.descr}}">
<img src="{{part.img}}"/> Choisir une particulière {{part.descr}}
</a>
{{/each}}
{{/if}}
{{/if}}