reroll OK

This commit is contained in:
rwanoux
2024-04-28 16:35:48 +02:00
parent 74e11d439c
commit 0fada335f4
85 changed files with 1273 additions and 435 deletions
+113 -44
View File
@@ -1,23 +1,73 @@
<div class="grid grid-2col">
<div>
<h4 class="align-center">{{ localize "VERMINE.self_control"}}</h4>
<p class="align-center">
<input type="number" name="system.attributes.self_control.value"
value="{{ system.attributes.self_control.value }}" data-dtype="Number"
min="{{ system.attributes.self_control.min }}"
max="{{ system.attributes.self_control.max }}" /> / {{
system.attributes.self_control.max }}
</p>
<h4 class="align-center">{{ localize "VERMINE.self_control"}} :
{{@root.system.attributes.self_control.value}}/
{{@root.system.attributes.self_control.max}}
</h4>
<div class="flexrow">
{{#repeat 10 1}}
<div class="hexa
{{#iflteq @index @root.system.attributes.self_control.value }}
checked
{{/iflteq}}
{{#ifgt @index @root.system.attributes.self_control.max }}
unavailable
{{/ifgt}}">
{{#iflteq @index @root.system.attributes.self_control.max }}
<input type="radio" data-dtype="Number"
name="system.attributes.self_control.value"
value="{{@index}}" {{#ife @root.system.attributes.self_control.value
@index
}}checked="checked"{{/ife}}
class="
{{#iflteq @index @root.system.attributes.self_control.max }}
checked
{{/iflteq}}
" />
{{/iflteq}}
</div>
{{/repeat}}
</div>
</div>
<div>
<h4 class="align-center">{{ localize "VERMINE.effort"}}</h4>
<p class="align-center">
<input type="number" name="system.attributes.effort.value"
value="{{ system.attributes.effort.value }}" data-dtype="Number"
min="{{ system.attributes.effort.min }}"
max="{{ system.attributes.effort.max }}" /> / {{
system.attributes.effort.max }}
</p>
<h4 class="align-center">{{ localize "VERMINE.effort"}} :
{{@root.system.attributes.effort.value}}/
{{@root.system.attributes.effort.max}}
</h4>
<div class="flexrow">
{{#repeat 10 1}}
<div
class="hexa
{{#iflteq @index @root.system.attributes.effort.value }}
checked
{{/iflteq}}
{{#ifgt @index @root.system.attributes.effort.max }}
unavailable
{{/ifgt}}">
{{#iflteq @index @root.system.attributes.effort.max }}
<input type="radio" data-dtype="Number"
name="system.attributes.effort.value"
value="{{@index}}" {{#ife @root.system.attributes.effort.value
@index
}}checked="checked"{{/ife}}
class="
{{#iflteq @index @root.system.attributes.effort.value }}
checked
{{/iflteq}}
" />
{{/iflteq}}
</div>
{{#ife @index 1}}
<br />
{{/ife}}
{{/repeat}}
</div>
</div>
</div>
<h4 class="item-name effect-name flexrow">{{ localize
@@ -26,46 +76,65 @@
<li class="row mdb">{{ localize 'VERMINE.wounds.light'}} <span
data-tooltip="seuil">({{
system.minorWound.threshold }})</span>
{{#repeat system.minorWound.max 1}}
<input type="radio" data-dtype="Number" name="system.minorWound.value"
value="{{@index}}" {{#ife @root.system.minorWound.value @index
}}checked="checked"{{/ife}} data-wound="minorWound"
class="
<div class="flexrow">
{{#repeat system.minorWound.max 1}}
<div class="hexa ability{{#iflteq @index @root.system.minorWound.value }}
checked
{{/iflteq}}">
<input type="radio" data-dtype="Number" name="system.minorWound.value"
value="{{@index}}" {{#ife @root.system.minorWound.value @index
}}checked="checked"{{/ife}} data-wound="minorWound"
class="
{{#iflteq @index @root.system.minorWound.value }}
checked
{{/iflteq}}
" />
{{/repeat}}</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}} ({{
system.majorWound.threshold }})
{{#repeat system.majorWound.max 1}}
<input type="radio" name="system.majorWound.value" value="{{@index}}" {{#ife
@root.system.majorWound.value @index }}checked="checked"{{/ife}}
data-wound="majorWound"
class="
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.heavy'}}
<span>({{
system.majorWound.threshold }})</span>
<div class="flexrow">
{{#repeat system.majorWound.max 1}}
<div class="hexa ability{{#iflteq @index @root.system.majorWound.value }}
checked
{{/iflteq}}">
<input type="radio" data-dtype="Number" name="system.majorWound.value"
value="{{@index}}" {{#ife @root.system.majorWound.value @index
}}checked="checked"{{/ife}} data-wound="majorWound"
class="
{{#iflteq @index @root.system.majorWound.value }}
checked
{{/iflteq}}
" />
{{/repeat}}
</div>
{{/repeat}}
</div>
</li>
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}} ({{
system.deadlyWound.threshold }})
{{#repeat system.deadlyWound.max 1}}
<li class="row mdb">{{ localize 'VERMINE.wounds.deadly'}}
<span>({{system.deadlyWound.threshold }})</span>
<div class="flexrow">
{{#repeat system.deadlyWound.max 1}}
<div class="hexa ability{{#iflteq @index @root.system.deadlyWound.value }}
checked
{{/iflteq}}">
<input type="radio" data-dtype="Number" name="system.deadlyWound.value"
value="{{@index}}" {{#ife @root.system.deadlyWound.value @index
}}checked="checked"{{/ife}} data-wound="deadlyWound"
class="
{{#iflteq @index @root.system.deadlyWound.value }}
checked
{{/iflteq}}
<input type="radio" name="system.deadlyWound.value" value="{{@index}}"
{{#ife
@root.system.deadlyWound.value @index }}checked="checked"{{/ife}}
data-wound="deadlyWound"
class="
{{#iflteq @index @root.system.deadlyWound.value }}
checked
{{/iflteq}}
" />
{{/repeat}}
" />
</div>
{{/repeat}}
</div>
</li>
</ul>
<h4 class="item-name effect-name flexrow">{{ localize "UI.effects.name"}}</h4>
+43 -3
View File
@@ -2,15 +2,55 @@
<img class="profile-img" src="{{actor.img}}" data-edit="img"
title="{{actor.name}}" height="100" width="100" />
</div>
<div class="minor-totems ">
<h3>{{localize "ITEMS.evolution"}}</h3>
<h5 class="human
{{#ifgt system.adaptation.totems.human.value system.adaptation.totems.adapted.value}}
major
{{/ifgt}}
">{{localize "TOTEMS.human.name"}}
<img src="/systems/vermine2047/assets/images/ui/totems/human.webp" />
</h5>
<h5 class="adapted
{{#ifgt system.adaptation.totems.human.value system.adaptation.totems.adapted.value}}
major
{{/ifgt}}">{{localize "TOTEMS.adapted.name"}}
<img src="/systems/vermine2047/assets/images/ui/totems/adapted.webp" />
</h5>
<div class="totem-dice flexrow flex-group-center">
<div class="human-dice flexrow">
{{#repeat system.adaptation.totems.human.max 1}}
<div class="hexa" data-totem-name="human" data-totem-value="{{@index}}">
{{#ifgteq system.adaptation.totems.human.value @index}}
<div class="human-die"><i class="fas fa-dice-d10"></i></div>
{{/ifgteq}}
</div>
{{/repeat}}
</div>
<div class="adapted-dice flexrow">
{{#repeat system.adaptation.totems.adapted.max 1}}
<div class="hexa" data-totem-name="adapted" data-totem-value="{{@index}}">
{{#ifgteq system.adaptation.totems.adapted.value @index}}
<div class="adapted-die"><i class="fas fa-dice-d10"></i></div>
{{/ifgteq}}</div>
{{/repeat}}
</div>
</div>
</div>
<ul class="padding-with-frieze unstyled paper">
{{#if system.identity.totem }}
<li class="row lgb">
<li class="row lgb major-totem">
<div class="flexcol flex-group-center items-center w-full">
<h4>{{ smarttl 'TOTEMS' system.identity.totem 'name' }}</h4>
<img
src="/systems/vermine2047/assets/images/ui/totems/{{ system.identity.totem }}.webp"
alt="{{ smarttl 'TOTEMS' system.identity.totem 'name' }}" width="80"
height="80"
data-tooltip="{{localize system.identity.totem}}" />
height="80" />
</div>
</li>
{{/if}}
+62 -29
View File
@@ -1,36 +1,69 @@
<form class="{{cssClass}}" autocomplete="off">
<form
class="{{cssClass}}"
autocomplete="off"
>
<header class="sheet-header">
<img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/>
<img
class="profile-img"
src="{{item.img}}"
data-edit="img"
title="{{item.name}}"
/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1>
<h1 class="charname"><input
name="name"
type="text"
value="{{item.name}}"
placeholder="Name"
/></h1>
</div>
</header>
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item active" data-tab="description">{{ localize "VERMINE.stats" }}</a>
</nav>
<section class="sheet-body">
<div class="tab flexrow" data-group="primary" data-tab="description">
<aside style="flex:1">
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.clew"}}</label>
<input type="number" name="system.level" value="{{system.level}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<input type="number" name="system.mobility" value="{{system.mobility}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<input type="number" name="system.rarity" value="{{system.rarity}}" data-dtype="Number"/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<input type="number" name="system.reliability" value="{{system.reliability}}" data-dtype="Number"/>
</div>
</aside>
<main class="editor-wrapper" style="flex:10">
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</main>
<div class="flexrow">
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.clew"}}</label>
<input
type="number"
name="system.level"
value="{{system.level}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.mobility"}}</label>
<input
type="number"
name="system.mobility"
value="{{system.mobility}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.rarity"}}</label>
<input
type="number"
name="system.rarity"
value="{{system.rarity}}"
data-dtype="Number"
/>
</div>
<div class="resource">
<label class="resource-label">{{ localize "VERMINE.reliability"}}</label>
<input
type="number"
name="system.reliability"
value="{{system.reliability}}"
data-dtype="Number"
/>
</div>
</div>
<main
class="editor-wrapper"
style="flex:10"
>
{{editor system.description target="system.description" rollData=rollData button=true owner=owner editable=editable}}
</main>
</div>
</section>
</form>
</form>
-1
View File
@@ -9,7 +9,6 @@
data-edit="img"
title="{{item.name}}"
/>
{{log this}}
<div class="header-fields">
<h1 class="charname"><input
name="name"
@@ -1,5 +1,6 @@
<form id="dice-pool-form" class="ecryme-dv-form"
<form id="dice-pool-form" class="vermine form"
data-actor-id="{{ speakerId }}">
<input type="hidden" name="label" id="label" value="{{ label }}" />
<input type="hidden" name="rollType" id="rollType" value="{{ rollType }}" />
<input type="hidden" name="abilityScore" id="abilityScore"
@@ -16,10 +17,12 @@
<strong>{{#if (eq rollType 'skill')}}{{ smarttl "SKILLS" label
}}{{else}}{{ smarttl "ABILITIES" label }}{{/if}}</strong> </span>
</div>
<div class="flexrow row mdb">
<div class="flexrow form-group row mdb">
<label class="label" style="flex: 60%;">{{localize
'VERMINE.difficulty'}}</label>
<select class="info-value" style="max-width: 40%;" data-dtype="String"
<select class="info-value" data-roll="tue" style="max-width: 40%;"
data-dtype="String"
type="number" name="difficulty" id="difficulty" min="3" max="10">
{{#select difficulty }}
<option value="{{ diffLevel 'difficulty' 1}}">{{ diffLevel 'label' 1}} -
@@ -35,31 +38,64 @@
{{/select}}
</select>
</div>
<!--div class="flexrow row">
<input style="text-align: center;" class="numeric-entry" type="number" name="difficulty" value="7" id="difficulty" min="3" max="10">
</div-->
<div class="flexrow row mdb">
<label class="label" style="flex: 60%;">{{localize
'VERMINE.ability'}}</label>
<select class="info-value" style="max-width: 40%;" data-dtype="String"
<select class="info-value" data-roll="true" style="max-width: 40%;"
data-dtype="String"
type="number" name="ability" id="ability" min="1" max="5">
{{#if (eq rollType 'skill')}}<option>-- Choisissez une caractéristique
--</option>{{/if}}
{{#each abilities as |ability key| }}
<option value="{{ key }}" {{#if (eq key @root.label)}}selected{{/if}}>
{{ smarttl "ABILITIES" key }} - {{ ability.value }}</option>
<option>-- Choisissez une caractéristique
--</option>
{{#each config.abilityCategories as |abilCategory catkey|}}
<optgroup label="{{ smarttlk 'ABILITY_CATEGORIES' catkey 'name' }}">
{{#each @root.actor.system.abilities as |abil key|}}
{{#ife abil.category catkey}}
<option value="{{abil.value}}"
{{#ife @root.rollType "ability"}}
{{#ife @root.labelKey key}}
selected="true"
{{/ife}}
{{/ife}}>{{ smarttlk 'ABILITIES' key 'name'
}} / {{abil.value}}</option>
{{/ife}}
{{/each}}
</optgroup>
{{/each}}
</select>
</div>
{{#if (eq rollType 'skill')}}
<div class="flexrow row mdb">
<label class="label" style="flex: 60%;">{{localize
'VERMINE.skill_title'}}</label>
<select class="info-value" style="max-width: 40%;" data-dtype="String"
<select class="info-value" data-roll="true" style="max-width: 40%;"
data-dtype="String"
type="number" name="skill" id="skill" min="1" max="5">
{{#each skills as |skill key| }}
<option value="{{ key }}" {{#if (eq key @root.label)}}selected{{/if}}>
{{ smarttl "SKILLS" key }} - {{ skill.value }}</option>
<option>-- Choisissez une caractéristique
--</option>
{{#each config.skillCategories as |skillCategory catkey|}}
<optgroup label="{{ smarttlk 'SKILLS_CATEGORIES' catkey 'name' }}">
{{#each @root.actor.system.skills as |skill key|}}
{{#ife skill.category catkey}}
<option value="{{skill.value}}" data-pool="{{skillLevel "dicePool"
skill.value}}"
data-reroll="{{skillLevel "reroll" skill.value}}"
{{#ife @root.rollType "skill"}}
{{#ife @root.labelKey key}}
selected="true"
{{/ife}}
{{/ife}}>
<b>{{ smarttlk 'SKILLS' key 'name' }},</b>
<i>dés:{{skillLevel "dicePool" skill.value}},
relances:{{skillLevel "reroll" skill.value}}</i>
</option>
{{/ife}}
{{/each}}
</optgroup>
{{/each}}
</select>
</div>
@@ -75,31 +111,52 @@
</div>
<div class="flexrow row smb">
<label class="label">{{localize 'VERMINE.specialty'}} (+1D)</label>
<input type="checkbox" name="usingSpecialization" id="usingSpecialization"
<input type="checkbox" data-roll="true" name="usingSpecialization"
id="usingSpecialization"
value="1" {{#if specialty}}checked{{/if}}>
</div>
{{/if}}
<div class="flexrow row smb">
<label class="label">{{localize 'VERMINE.help'}} (+1D)</label>
<input type="checkbox" name="helped" id="helped" value="1" {{#if
<input type="checkbox" data-roll="true" name="helped" id="helped"
value="1" {{#if
help}}checked{{/if}}>
</div>
<div class="flexrow row mdb">
<label class="label">{{localize 'VERMINE.tooling'}} (+1D)</label>
<input type="checkbox" name="usingTools" id="usingTools" value="1" {{#if
<input type="checkbox" data-roll="true" name="usingTools" id="usingTools"
value="1" {{#if
help}}checked{{/if}}>
</div>
<div class="flexrow row mdb">
<label class="label" style="flex: 80%;">{{localize
'VERMINE.self_control'}}</label>
<input type="number" class="numeric-entry" style="text-align: center;"
name="self_control" id="self_control" min="0" max="5" value="0">
'VERMINE.self_control'}} <span id="self_control_value"></span>
</label>
<input type="range" id="self_control" data-roll="true" name="self_control"
min="0"
max="0" value="0" />
</div>
<div class="flexrow">
<h4 class="label">utiliser des dés totems ?
</h4>
<div class="totem-human">
<label for="human-totem">totem humain </label>
<input type="checkbox" data-roll="true" name="human-totem"
id="human-totem"
value="1">
</div>
<div class="totem-adapted">
<label for="human-totem">totem adapté </label>
<input type="checkbox" data-roll="true" name="adapted-totem"
id="adapted-totem"
value="1">
</div>
</div>
<div class="flexrow row mdb">
<label class="label" style="flex: 80%;">{{localize
'VERMINE.group'}}</label>
<input type="number" class="numeric-entry" style="text-align: center;"
name="group" id="group" min="0" max value="0">
<input type="number" data-roll="true" class="numeric-entry"
style="text-align: center;"
name="group" id="group" min="0" max="5" value="0">
</div>
</div>
<p><input type="hidden" name="speakerId" value="{{ speakerId }}" />
+73 -24
View File
@@ -1,26 +1,75 @@
<div class="ecryme-dv roll attribute">
<div class="dice-roll">
<div class="dice-result">
<div class="dice-formula">
{{ ` + dicePool + `d6 }}
</div>
<div class="dice-tooltip expanded">
<section class="tooltip-part flexrow">
<div class="" style="flex:60%;">
<div class="parameters">
{{ targetText }}
</div>
<div class="dice">
<ol class="dice-rolls">{{ diceString }}</ol>
</div>
</div>
<div class="align-center">
Résultat
<p style="font-weight:bold; font-size:2em;">{{ (total + skill + _trait + _usingSpecialization + _used).toString() }}</p>
</div>
</section>
</div>` +
`<h4 class="dice-total">{{ successText }}</h4>
</div>
<div class="vermine-roll-message">
{{log this}}
<h3>{{param.actor.name}} : test de {{param.rollLabel}}</h3>
<div class="flexrow">
<h4>difficulté</h4>
<span id="difficulty">{{param.difficulty}}</span>
</div>
<ul class="flexrow roll-results initial-roll"
data-difficulty="{{param.difficulty}}">
{{#each roll.dice as |dieType index|}}
{{#each dieType.results as |die index|}}
<li class="roll die flexcol
{{#if die.success}}
success
{{/if}}
{{#ifincludes dieType.options.flavor "adapted"}}
adapted
{{/ifincludes}}
{{#ifincludes dieType.options.flavor "regular"}}
regular
{{/ifincludes}}
{{#ifincludes dieType.options.flavor "human"}}
human
{{/ifincludes}}
{{#ifgt @root.param.Reroll 0}}
rerollable
{{/ifgt}}
"
data-dice-type="
{{#ifincludes dieType.options.flavor "adapted"}}
adapted
{{/ifincludes}}
{{#ifincludes dieType.options.flavor "regular"}}
regular
{{/ifincludes}}
{{#ifincludes dieType.options.flavor "human"}}
human
{{/ifincludes}}">
<span>{{die.result}}</span>
</li>
{{/each}}
{{/each}}
</ul>
<div class="roll-total flexrow">
<h4>nombre de succès :</h4>
<span id="total">{{roll._total}}</span>
</div>
<div class="reroll flexrow">
<div class="reroll-from-effort ">
<div class="flexcol">
<h4 class="flexcol">
<span>effort</span>
</h4>
<input type="range" min="0"
{{#iflt param.max_effort param.actor.system.attributes.effort.value}}
max="{{param.max_effort}}"
{{/iflt}}
{{#iflteq param.actor.system.attributes.effort.value param.max_effort }}
max="{{param.actor.system.attributes.effort.value}}"
{{/iflteq}}
value="0"
id="effort-reroll">
</input>
</div>
<button class="grant-reroll" data-tooltip="s'accorder des relances"> <span id="granted-reroll">0</span> </button>
</div>
<div class="reroll-fromroll">
<h4>relances possibles : </h4>
<span id="allowed_reroll">{{param.Reroll}}</span>
</div>
</div>
</div>