mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
2444 lines
110 KiB
HTML
2444 lines
110 KiB
HTML
<div class="top">
|
|
<label>
|
|
<span>Nom :</span>
|
|
<input type="text" name="attr_character_name" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Personnalité :</span>
|
|
<input type="text" name="attr_personnalite" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Origine :</span>
|
|
<input type="text" name="attr_origine" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Ordre :</span>
|
|
<input type="text" name="attr_ordre" />
|
|
</label>
|
|
</div>
|
|
|
|
<input type="hidden" class="tabsToggle" name="attr_sheetTab" value="principal" />
|
|
|
|
<div class="tabs">
|
|
<button type="action" class="principal" name="act_principal">Principal</button>
|
|
<button type="action" class="prodige" name="act_prodige">Prodige</button>
|
|
<button type="action" class="combat" name="act_combat">Combat</button>
|
|
<label class="config">
|
|
<input type="checkbox" name="attr_options" value="1" />
|
|
<span></span>
|
|
</label>
|
|
<input type="hidden" name="attr_options" />
|
|
<div class="config">
|
|
<select name="attr_gm">
|
|
<option value="" selected>Jets publics</option>
|
|
<option value="/w gm ">Jets privés</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="principal">
|
|
<div class="attributs">
|
|
<div class="col">
|
|
<div class="headerFirst">
|
|
<span class="blockTitre">Attributs</span>
|
|
<h1>Social</h1>
|
|
</div>
|
|
|
|
<div class="stats">
|
|
<span class="blockTitre">Compétences</span>
|
|
<div class="score">
|
|
<input type="number" name="attr_social" value="0" min="0" />
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Expression</h2>
|
|
<input type="number" name="attr_expression" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalExpression" value="[[@{social}+@{expression}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxExpression" value="[[(((@{totalExpression} + 1) + abs(@{totalExpression} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSExpression" value="[[@{social}+@{expression}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSExpression" value="[[(((@{totalSExpression} + 1) + abs(@{totalSExpression} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_expression" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Expression}} {{result=[[ @{maxExpression}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankExpression" value="0" />
|
|
<button type="action" name="act_upRankExpression_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankExpression_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankExpression_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankExpression_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankExpression_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_expression">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Expression / @{name}}} {{result=[[ @{maxSExpression}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Empathie</h2>
|
|
<input type="number" name="attr_empathie" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalEmpathie" value="[[@{social}+@{empathie}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxEmpathie" value="[[(((@{totalEmpathie} + 1) + abs(@{totalEmpathie} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSEmpathie" value="[[@{social}+@{empathie}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSEmpathie" value="[[(((@{totalSEmpathie} + 1) + abs(@{totalSEmpathie} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_empathie" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Empathie}} {{result=[[ @{maxEmpathie}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankEmpathie" value="0" />
|
|
<button type="action" name="act_upRankEmpathie_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankEmpathie_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankEmpathie_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankEmpathie_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankEmpathie_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_empathie">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Empathie / @{name}}} {{result=[[ @{maxSEmpathie}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Rhétorique</h2>
|
|
<input type="number" name="attr_rhetorique" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalRhetorique" value="[[@{social}+@{rhetorique}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxRhetorique" value="[[(((@{totalRhetorique} + 1) + abs(@{totalRhetorique} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSRhetorique" value="[[@{social}+@{rhetorique}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSRhetorique" value="[[(((@{totalSRhetorique} + 1) + abs(@{totalSRhetorique} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_rhetorique" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Rhétorique}} {{result=[[ @{maxRhetorique}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankRhetorique" value="0" />
|
|
<button type="action" name="act_upRankRhetorique_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankRhetorique_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankRhetorique_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankRhetorique_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankRhetorique_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_rhetorique">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Rhétorique / @{name}}} {{result=[[ @{maxSRhetorique}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Représentation</h2>
|
|
<input type="number" name="attr_representation" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalRepresentation" value="[[@{social}+@{representation}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxRepresentation" value="[[(((@{totalRepresentation} + 1) + abs(@{totalRepresentation} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSRepresentation" value="[[@{social}+@{representation}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSRepresentation" value="[[(((@{totalSRepresentation} + 1) + abs(@{totalSRepresentation} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_representation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Représentation}} {{result=[[ @{maxRepresentation}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankRepresentation" value="0" />
|
|
<button type="action" name="act_upRankRepresentation_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankRepresentation_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankRepresentation_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankRepresentation_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankRepresentation_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_representation">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Représentation / @{name}}} {{result=[[ @{maxSRepresentation}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Négoce</h2>
|
|
<input type="number" name="attr_negoce" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalNegoce" value="[[@{social}+@{negoce}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxNegoce" value="[[(((@{totalNegoce} + 1) + abs(@{totalNegoce} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSNegoce" value="[[@{social}+@{negoce}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSNegoce" value="[[(((@{totalSNegoce} + 1) + abs(@{totalSNegoce} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_negoce" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Négoce}} {{result=[[ @{maxNegoce}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankNegoce" value="0" />
|
|
<button type="action" name="act_upRankNegoce_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankNegoce_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankNegoce_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankNegoce_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankNegoce_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_negoce">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Négoce / @{name}}} {{result=[[ @{maxSNegoce}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<div class="header">
|
|
<span></span>
|
|
<h1>Mental</h1>
|
|
</div>
|
|
|
|
<div class="stats heavyMargin">
|
|
<div class="score">
|
|
<input type="number" name="attr_mental" value="0" min="0" />
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Érudition</h2>
|
|
<input type="number" name="attr_erudition" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalErudition" value="[[@{mental}+@{erudition}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxErudition" value="[[(((@{totalErudition} + 1) + abs(@{totalErudition} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSErudition" value="[[@{mental}+@{erudition}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSErudition" value="[[(((@{totalSErudition} + 1) + abs(@{totalSErudition} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_erudition" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Érudition}} {{result=[[ @{maxErudition}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankErudition" value="0" />
|
|
<button type="action" name="act_upRankErudition_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankErudition_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankErudition_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankErudition_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankErudition_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_erudition">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Érudition / @{name}}} {{result=[[ @{maxSErudition}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Artisanat</h2>
|
|
<input type="number" name="attr_artisanat" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalArtisanat" value="[[@{mental}+@{artisanat}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxArtisanat" value="[[(((@{totalArtisanat} + 1) + abs(@{totalArtisanat} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSArtisanat" value="[[@{mental}+@{artisanat}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSArtisanat" value="[[(((@{totalSArtisanat} + 1) + abs(@{totalSArtisanat} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_artisanat" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Artisanat}} {{result=[[ @{maxArtisanat}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankArtisanat" value="0" />
|
|
<button type="action" name="act_upRankArtisanat_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankArtisanat_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankArtisanat_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankArtisanat_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankArtisanat_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_artisanat">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Artisanat / @{name}}} {{result=[[ @{maxSArtisanat}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Médecine</h2>
|
|
<input type="number" name="attr_medecine" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalMedecine" value="[[@{mental}+@{medecine}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxMedecine" value="[[(((@{totalMedecine} + 1) + abs(@{totalMedecine} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSMedecine" value="[[@{mental}+@{medecine}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSMedecine" value="[[(((@{totalSMedecine} + 1) + abs(@{totalSMedecine} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_medecine" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Médecine}} {{result=[[ @{maxMedecine}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankMedecine" value="0" />
|
|
<button type="action" name="act_upRankMedecine_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankMedecine_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankMedecine_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankMedecine_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankMedecine_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_medecine">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Médecine / @{name}}} {{result=[[ @{maxSMedecine}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Savoir</h2>
|
|
<input type="number" name="attr_savoir" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalSavoir" value="[[@{mental}+@{savoir}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxSavoir" value="[[(((@{totalSavoir} + 1) + abs(@{totalSavoir} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSSavoir" value="[[@{mental}+@{savoir}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSSavoir" value="[[(((@{totalSSavoir} + 1) + abs(@{totalSSavoir} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_savoir" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Savoir}} {{result=[[ @{maxSavoir}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankSavoir" value="0" />
|
|
<button type="action" name="act_upRankSavoir_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankSavoir_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankSavoir_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankSavoir_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankSavoir_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_savoir">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Savoir / @{name}}} {{result=[[ @{maxSSavoir}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Perception</h2>
|
|
<input type="number" name="attr_perception" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalPerception" value="[[@{mental}+@{perception}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxPerception" value="[[(((@{totalPerception} + 1) + abs(@{totalPerception} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSPerception" value="[[@{mental}+@{perception}+?{Modificateurs|0}+1]]" />
|
|
<input type="hidden" name="attr_maxSPerception" value="[[(((@{totalSPerception} + 1) + abs(@{totalSPerception} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_perception" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Perception}} {{result=[[ @{maxPerception}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankPerception" value="0" />
|
|
<button type="action" name="act_upRankPerception_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankPerception_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankPerception_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankPerception_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankPerception_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_perception">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Perception / @{name}}} {{result=[[ @{maxSPerception}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<div class="header">
|
|
<span></span>
|
|
<h1>Physique</h1>
|
|
</div>
|
|
|
|
<div class="stats heavyMargin">
|
|
<div class="score">
|
|
<input type="number" name="attr_physique" value="0" min="0" />
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Agilité</h2>
|
|
<input type="number" name="attr_agilite" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalAgilite" value="[[@{physique}+@{agilite}+?{Modificateurs|0}-@{armureMalusPhysique}-@{rollPenalty}]]" />
|
|
<input type="hidden" name="attr_minAgilite" value="[[(((@{totalAgilite} + @{maxDice}) - abs(@{totalAgilite} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxAgilite" value="[[(((@{minAgilite} + 1) + abs(@{minAgilite} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSAgilite" value="[[@{physique}+@{agilite}+?{Modificateurs|0}+1-@{armureMalusPhysique}]]" />
|
|
<input type="hidden" name="attr_minSAgilite" value="[[(((@{totalSAgilite} + @{maxDice}) - abs(@{totalSAgilite} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxSAgilite" value="[[(((@{minSAgilite} + 1) + abs(@{minSAgilite} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_agilite" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Agilité}} {{result=[[ @{maxAgilite}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankAgilite" value="0" />
|
|
<button type="action" name="act_upRankAgilite_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankAgilite_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankAgilite_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankAgilite_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankAgilite_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_agilite">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Agilité / @{name}}} {{result=[[ @{maxSAgilite}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Mêlée</h2>
|
|
<input type="number" name="attr_melee" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalMelee" value="[[@{physique}+@{melee}+?{Modificateurs|0}-@{armureMalusPhysique}-@{rollPenalty}]]" />
|
|
<input type="hidden" name="attr_minMelee" value="[[(((@{totalMelee} + @{maxDice}) - abs(@{totalMelee} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxMelee" value="[[(((@{minMelee} + 1) + abs(@{minMelee} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSMelee" value="[[@{physique}+@{melee}+?{Modificateurs|0}+1-@{armureMalusPhysique}]]" />
|
|
<input type="hidden" name="attr_minSMelee" value="[[(((@{totalSMelee} + @{maxDice}) - abs(@{totalSMelee} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxSMelee" value="[[(((@{minSMelee} + 1) + abs(@{minSMelee} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_melee" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Mêlée}} {{result=[[ @{maxSMelee}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankMelee" value="0" />
|
|
<button type="action" name="act_upRankMelee_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankMelee_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankMelee_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankMelee_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankMelee_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_melee">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Mêlée / @{name}}} {{result=[[ @{maxSMelee}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Discrétion</h2>
|
|
<input type="number" name="attr_discretion" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalDiscretion" value="[[@{physique}+@{discretion}+?{Modificateurs|0}-@{armureMalusPhysique}-@{rollPenalty}]]" />
|
|
<input type="hidden" name="attr_minDiscretion" value="[[(((@{totalDiscretion} + @{maxDice}) - abs(@{totalDiscretion} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxDiscretion" value="[[(((@{minDiscretion} + 1) + abs(@{minDiscretion} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSDiscretion" value="[[@{physique}+@{discretion}+?{Modificateurs|0}+1-@{armureMalusPhysique}]]" />
|
|
<input type="hidden" name="attr_minSDiscretion" value="[[(((@{totalSDiscretion} + @{maxDice}) - abs(@{totalSDiscretion} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxSDiscretion" value="[[(((@{minSDiscretion} + 1) + abs(@{minSDiscretion} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_discretion" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Discrétion}} {{result=[[ @{maxDiscretion}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankDiscretion" value="0" />
|
|
<button type="action" name="act_upRankDiscretion_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankDiscretion_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankDiscretion_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankDiscretion_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankDiscretion_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_discretion">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Discrétion / @{name}}} {{result=[[ @{maxSDiscretion}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Armes à distance</h2>
|
|
<input type="number" name="attr_armesDistance" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalArmesDistance" value="[[@{physique}+@{armesDistance}+?{Modificateurs|0}-@{armureMalusPhysique}-@{rollPenalty}]]" />
|
|
<input type="hidden" name="attr_minArmesDistance" value="[[(((@{totalArmesDistance} + @{maxDice}) - abs(@{totalArmesDistance} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxArmesDistance" value="[[(((@{minArmesDistance} + 1) + abs(@{minArmesDistance} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSArmesDistance" value="[[@{physique}+@{armesDistance}+?{Modificateurs|0}+1-@{armureMalusPhysique}]]" />
|
|
<input type="hidden" name="attr_minSArmesDistance" value="[[(((@{totalSArmesDistance} + @{maxDice}) - abs(@{totalSArmesDistance} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxSArmesDistance" value="[[(((@{minSArmesDistance} + 1) + abs(@{minSArmesDistance} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_armesDistance" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Armes à distance}} {{result=[[ @{maxArmesDistance}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankDistance" value="0" />
|
|
<button type="action" name="act_upRankDistance_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankDistance_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankDistance_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankDistance_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankDistance_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_armesDistance">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Armes à distance / @{name}}} {{result=[[ @{maxSArmesDistance}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="competence">
|
|
<div class="base">
|
|
<h2>Survie</h2>
|
|
<input type="number" name="attr_survie" value="0" min="0" />
|
|
|
|
<input type="hidden" name="attr_totalSurvie" value="[[@{physique}+@{survie}+?{Modificateurs|0}-@{armureMalusPhysique}-@{rollPenalty}]]" />
|
|
<input type="hidden" name="attr_minSurvie" value="[[(((@{totalSurvie} + @{maxDice}) - abs(@{totalSurvie} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxSurvie" value="[[(((@{minSurvie} + 1) + abs(@{minSurvie} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalSSurvie" value="[[@{physique}+@{survie}+?{Modificateurs|0}+1-@{armureMalusPhysique}]]" />
|
|
<input type="hidden" name="attr_minSSurvie" value="[[(((@{totalSSurvie} + @{maxDice}) - abs(@{totalSSurvie} - @{maxDice})) / 2)]]" />
|
|
<input type="hidden" name="attr_maxSSurvie" value="[[(((@{minSSurvie} + 1) + abs(@{minSSurvie} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_survie" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Survie}} {{result=[[ @{maxSurvie}D6>5]]}}"></button>
|
|
</div>
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankSurvie" value="0" />
|
|
<button type="action" name="act_upRankSurvie_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankSurvie_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankSurvie_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankSurvie_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankSurvie_5" class="evolution_5"></button>
|
|
</div>
|
|
<fieldset class="repeating_survie">
|
|
<input type="text" name="attr_name" />
|
|
<button type="roll" name="roll_specialisation" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Survie / @{name}}} {{result=[[ @{maxSSurvie}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}"></button>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="equipementVertus">
|
|
<div class="col">
|
|
<div class="reputation">
|
|
<h1>Réputation :</h1>
|
|
<fieldset class="repeating_reputation">
|
|
<input type="text" name="attr_reputation" />
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="equipement">
|
|
<h1>Équipement :</h1>
|
|
<fieldset class="repeating_equipement">
|
|
<input type="text" name="attr_equipement" />
|
|
</fieldset>
|
|
<label>
|
|
<h2>Richesse :</h2>
|
|
<input type="number" name="attr_richesse" value="0" min="0" />
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<div class="vertus">
|
|
<div class="chance">
|
|
<div class="line">
|
|
<input type="hidden" name="attr_totalChance" value="[[@{chance}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxChance" value="[[(((@{totalChance} + 0) + abs(@{totalChance} - 0)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_chance" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Chance}} {{result=[[ @{maxChance}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}">
|
|
<h1>Chance</h1>
|
|
</button>
|
|
</div>
|
|
<input type="number" name="attr_chance_max" min="0" value="0" />
|
|
<span class="space"></span>
|
|
<input type="hidden" name="attr_chance" value="0" class="act" />
|
|
<input type="hidden" name="attr_chance_max" value="0" class="max" />
|
|
<div class="line val0">
|
|
<button type="action" name="act_chance_0" class="b1">0</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val1">
|
|
<button type="action" name="act_chance_1" class="b1">1</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val2">
|
|
<button type="action" name="act_chance_2" class="b2">2</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val3">
|
|
<button type="action" name="act_chance_3" class="b3">3</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val4">
|
|
<button type="action" name="act_chance_4" class="b4">4</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val5">
|
|
<button type="action" name="act_chance_5" class="b5">5</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="courage">
|
|
<div class="line">
|
|
<span class="blockTitre">Vertus</span>
|
|
</div>
|
|
<input type="number" name="attr_courage" min="0" value="0" />
|
|
<span class="space"></span>
|
|
<div class="line">
|
|
<input type="hidden" name="attr_totalCourage" value="[[@{courage}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxCourage" value="[[(((@{totalCourage} + 1) + abs(@{totalCourage} - 1)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_courage" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Courage}} {{result=[[ @{maxCourage}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}">
|
|
<h1>Courage</h1>
|
|
</button>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="volonte">
|
|
<div class="line">
|
|
<input type="hidden" name="attr_totalVolonte" value="[[@{volonte}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxVolonte" value="[[(((@{totalVolonte} + 0) + abs(@{totalVolonte} - 0)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_volonte" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Volonté}} {{result=[[ @{maxVolonte}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}}">
|
|
<h1>Volonté</h1>
|
|
</button>
|
|
</div>
|
|
<input type="number" name="attr_volonte_max" min="0" value="0" />
|
|
<input type="hidden" name="attr_volonte" value="0" class="act" />
|
|
<input type="hidden" name="attr_volonte_max" value="0" class="max" />
|
|
<div class="line val0">
|
|
<button type="action" name="act_volonte_0" class="b1">0</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val1">
|
|
<button type="action" name="act_volonte_1" class="b1">1</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val2">
|
|
<button type="action" name="act_volonte_2" class="b2">2</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val3">
|
|
<button type="action" name="act_volonte_3" class="b3">3</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val4">
|
|
<button type="action" name="act_volonte_4" class="b4">4</button>
|
|
</div>
|
|
|
|
<div class="line marginTop val5">
|
|
<button type="action" name="act_volonte_5" class="b5">5</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="prodige">
|
|
<div class="prodiges">
|
|
<header>
|
|
<span class="blockTitre">Prodiges</span>
|
|
</header>
|
|
|
|
<input type="hidden" name="attr_totalEsprit" value="[[@{espritRang}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxEsprit" value="[[(((@{totalEsprit} + 1) + abs(@{totalEsprit} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalIllusion" value="[[@{illusionRang}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxIllusion" value="[[(((@{totalIllusion} + 1) + abs(@{totalIllusion} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalCorps" value="[[@{corpsRang}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxCorps" value="[[(((@{totalCorps} + 1) + abs(@{totalCorps} - 1)) / 2)]]" />
|
|
|
|
<input type="hidden" name="attr_totalRealite" value="[[@{realiteRang}+?{Modificateurs|0}]]" />
|
|
<input type="hidden" name="attr_maxRealite" value="[[(((@{totalRealite} + 1) + abs(@{totalRealite} - 1)) / 2)]]" />
|
|
|
|
<div class="col">
|
|
<div class="prodige">
|
|
<header class="esprit">
|
|
<button type="roll" class="after" name="roll_esprit" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Esprit}} {{result=[[ @{maxEsprit}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{objective=[[@{espritRang}]]}}">
|
|
<h1>Esprit</h1>
|
|
</button>
|
|
<input type="number" name="attr_espritRang" value="0" min="0" />
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankEsprit" value="0" />
|
|
<button type="action" name="act_upRankEsprit_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankEsprit_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankEsprit_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankEsprit_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankEsprit_5" class="evolution_5"></button>
|
|
</div>
|
|
</header>
|
|
|
|
<fieldset class="repeating_prodigeEsprit">
|
|
<details>
|
|
<summary>
|
|
<input type="text" name="attr_name" />
|
|
<label class="rang">
|
|
<span>Rang</span>
|
|
<label>
|
|
<span><</span>
|
|
<input type="number" name="attr_rang" value="1" min="1" />
|
|
<span>></span>
|
|
</label>
|
|
</label>
|
|
<button type="roll" name="roll_prodige" value="@{gm} &{template:prodige} {{name=@{character_name}}} {{subname=Esprit / @{name}}} {{result=[[ @{maxEsprit}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{type=@{type}}} {{activation=@{activation}}} {{duree=@{duree}}} {{notes=@{description}}}"></button>
|
|
</summary>
|
|
<div>
|
|
<select name="attr_type">
|
|
<option value="Instinctif" selected>Instinctif</option>
|
|
<option value="Affectif">Affectif</option>
|
|
</select>
|
|
|
|
<label>
|
|
<span>Activation :</span>
|
|
<input type="text" name="attr_activation" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Durée :</span>
|
|
<input type="text" name="attr_duree" />
|
|
</label>
|
|
|
|
<div class="autoex autoex24">
|
|
<textarea name="attr_description" placeholder="Description"></textarea>
|
|
<span name="attr_description"></span>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="prodige">
|
|
<header class="illusion">
|
|
<button type="roll" class="after" name="roll_esprit" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Illusion}} {{result=[[ @{maxIllusion}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{objective=[[@{illusionRang}]]}}">
|
|
<h1>Illusion</h1>
|
|
</button>
|
|
<input type="number" name="attr_IllusionRang" value="0" min="0" />
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankIllusion" value="0" />
|
|
<button type="action" name="act_upRankIllusion_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankIllusion_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankIllusion_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankIllusion_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankIllusion_5" class="evolution_5"></button>
|
|
</div>
|
|
</header>
|
|
|
|
<fieldset class="repeating_prodigeIllusion">
|
|
<details>
|
|
<summary>
|
|
<input type="text" name="attr_name" />
|
|
<label class="rang">
|
|
<span>Rang</span>
|
|
<label>
|
|
<span><</span>
|
|
<input type="number" name="attr_rang" value="1" min="1" />
|
|
<span>></span>
|
|
</label>
|
|
</label>
|
|
<button type="roll" name="roll_prodige" value="@{gm} &{template:prodige} {{name=@{character_name}}} {{subname=Illusion / @{name}}} {{result=[[ @{maxIllusion}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{type=@{type}}} {{activation=@{activation}}} {{duree=@{duree}}} {{notes=@{description}}}"></button>
|
|
</summary>
|
|
<div>
|
|
<select name="attr_type">
|
|
<option value="instinctif" selected>Instinctif</option>
|
|
<option value="affectif">Affectif</option>
|
|
</select>
|
|
|
|
<label>
|
|
<span>Activation :</span>
|
|
<input type="text" name="attr_activation" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Durée :</span>
|
|
<input type="text" name="attr_duree" />
|
|
</label>
|
|
|
|
<div class="autoex autoex24">
|
|
<textarea name="attr_description" placeholder="Description"></textarea>
|
|
<span name="attr_description"></span>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col">
|
|
<div class="prodige">
|
|
<header class="corps">
|
|
<button type="roll" class="after" name="roll_esprit" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Corps}} {{result=[[ @{maxCorps}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{objective=[[@{corpsRang}]]}}">
|
|
<h1>Corps</h1>
|
|
</button>
|
|
<input type="number" name="attr_corpsRang" value="0" min="0" />
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankCorps" value="0" />
|
|
<button type="action" name="act_upRankCorps_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankCorps_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankCorps_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankCorps_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankCorps_5" class="evolution_5"></button>
|
|
</div>
|
|
</header>
|
|
|
|
<fieldset class="repeating_prodigeCorps">
|
|
<details>
|
|
<summary>
|
|
<input type="text" name="attr_name" />
|
|
<label class="rang">
|
|
<span>Rang</span>
|
|
<label>
|
|
<span><</span>
|
|
<input type="number" name="attr_rang" value="1" min="1" />
|
|
<span>></span>
|
|
</label>
|
|
</label>
|
|
<button type="roll" name="roll_prodige" value="@{gm} &{template:prodige} {{name=@{character_name}}} {{subname=Corps / @{name}}} {{result=[[ @{maxCorps}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{type=@{type}}} {{activation=@{activation}}} {{duree=@{duree}}} {{notes=@{description}}}"></button>
|
|
</summary>
|
|
<div>
|
|
<select name="attr_type">
|
|
<option value="instinctif" selected>Instinctif</option>
|
|
<option value="affectif">Affectif</option>
|
|
</select>
|
|
|
|
<label>
|
|
<span>Activation :</span>
|
|
<input type="text" name="attr_activation" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Durée :</span>
|
|
<input type="text" name="attr_duree" />
|
|
</label>
|
|
|
|
<div class="autoex autoex24">
|
|
<textarea name="attr_description" placeholder="Description"></textarea>
|
|
<span name="attr_description"></span>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="prodige">
|
|
<header class="realite">
|
|
<button type="roll" class="after" name="roll_esprit" value="@{gm} &{template:jets} {{name=@{character_name}}} {{subname=Réalité}} {{result=[[ @{maxRealite}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{objective=[[@{realiteRang}]]}}">
|
|
<h1>Réalité</h1>
|
|
</button>
|
|
<input type="number" name="attr_realiteRang" value="0" min="0" />
|
|
<div class="evolution">
|
|
<input type="hidden" name="attr_upRankRealite" value="0" />
|
|
<button type="action" name="act_upRankRealite_1" class="evolution_1"></button>
|
|
<button type="action" name="act_upRankRealite_2" class="evolution_2"></button>
|
|
<button type="action" name="act_upRankRealite_3" class="evolution_3"></button>
|
|
<button type="action" name="act_upRankRealite_4" class="evolution_4"></button>
|
|
<button type="action" name="act_upRankRealite_5" class="evolution_5"></button>
|
|
</div>
|
|
</header>
|
|
|
|
<fieldset class="repeating_prodigeRealite">
|
|
<details>
|
|
<summary>
|
|
<input type="text" name="attr_name" />
|
|
<label class="rang">
|
|
<span>Rang</span>
|
|
<label>
|
|
<span><</span>
|
|
<input type="number" name="attr_rang" value="1" min="1" />
|
|
<span>></span>
|
|
</label>
|
|
</label>
|
|
<button type="roll" name="roll_prodige" value="@{gm} &{template:prodige} {{name=@{character_name}}} {{subname=Corps / @{name}}} {{result=[[ @{maxRealite}D6>5]]}} {{mod=[[?{Modificateurs|0}]]}} {{type=@{type}}} {{activation=@{activation}}} {{duree=@{duree}}} {{notes=@{description}}}"></button>
|
|
</summary>
|
|
<div>
|
|
<select name="attr_type">
|
|
<option value="instinctif" selected>Instinctif</option>
|
|
<option value="affectif">Affectif</option>
|
|
</select>
|
|
|
|
<label>
|
|
<span>Activation :</span>
|
|
<input type="text" name="attr_activation" />
|
|
</label>
|
|
|
|
<label>
|
|
<span>Durée :</span>
|
|
<input type="text" name="attr_duree" />
|
|
</label>
|
|
|
|
<div class="autoex autoex24">
|
|
<textarea name="attr_description" placeholder="Description"></textarea>
|
|
<span name="attr_description"></span>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="corruption">
|
|
<div class="block">
|
|
<div class="line">
|
|
<input type="hidden" name="attr_corruption" value="0" />
|
|
<button type="action" name="act_corruption_1" class="corruption_1">1</button>
|
|
<button type="action" name="act_corruption_2" class="corruption_2">2</button>
|
|
<button type="action" name="act_corruption_3" class="corruption_3">3</button>
|
|
<button type="action" name="act_corruption_4" class="corruption_4">4</button>
|
|
<button type="action" name="act_corruption_5" class="corruption_5">5</button>
|
|
<button type="action" name="act_corruption_6" class="corruption_6">6</button>
|
|
<button type="action" name="act_corruption_7" class="corruption_7">7</button>
|
|
<button type="action" name="act_corruption_8" class="corruption_8">8</button>
|
|
<button type="action" name="act_corruption_9" class="corruption_9">9</button>
|
|
<button type="action" name="act_corruption_10" class="corruption_10">10</button>
|
|
<button type="action" name="act_corruption_11" class="corruption_11">11</button>
|
|
<button type="action" name="act_corruption_12" class="corruption_12">12</button>
|
|
<button type="action" name="act_corruption_13" class="corruption_13">13</button>
|
|
<button type="action" name="act_corruption_14" class="corruption_14">14</button>
|
|
<button type="action" name="act_corruption_15" class="corruption_15">15</button>
|
|
</div>
|
|
<div class="line">
|
|
<span class="titreLarge">Max Endurance</span>
|
|
<span class="spaceSmall"></span>
|
|
<span class="score">9</span>
|
|
<span class="score">8</span>
|
|
<span class="score">7</span>
|
|
<span class="score">6</span>
|
|
<span class="score">5</span>
|
|
<span class="score">4</span>
|
|
<span class="score">3</span>
|
|
<span class="score">2</span>
|
|
<span class="score">1</span>
|
|
</div>
|
|
<div class="line">
|
|
<span class="titreSmall">Malus aux tests</span>
|
|
<span class="spaceLarge"></span>
|
|
<span class="score">-1</span>
|
|
<span class="score">-2</span>
|
|
<span class="score">-2</span>
|
|
<span class="score">-3</span>
|
|
<span class="score">-3</span>
|
|
<span class="score">-4</span>
|
|
</div>
|
|
</div>
|
|
<div class="smallBlock">
|
|
<div class="line">
|
|
<span class="blockTitre">Corruption</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="combat">
|
|
<div class="combatStats">
|
|
<span class="blockTitre">Combat</span>
|
|
|
|
<h1>Mains nues</h1>
|
|
<div class="block">
|
|
<div class="col">
|
|
<span>Phy</span>
|
|
<span>Armure</span>
|
|
</div>
|
|
|
|
<input type="number" name="attr_mainsNues" value="0" readonly />
|
|
|
|
<div class="col">
|
|
<span>Agilité</span>
|
|
<span>Mêlée</span>
|
|
</div>
|
|
</div>
|
|
|
|
<h1>Au contact</h1>
|
|
<div class="block">
|
|
<div class="col">
|
|
<span>Phy</span>
|
|
<span>Armure</span>
|
|
</div>
|
|
|
|
<div class="midCol">
|
|
<input type="number" name="attr_contact" value="0" readonly />
|
|
<span class="line"></span>
|
|
<span class="name">Arme</span>
|
|
</div>
|
|
|
|
|
|
<div class="col">
|
|
<span>Agilité</span>
|
|
<span>Mêlée</span>
|
|
</div>
|
|
</div>
|
|
|
|
<h1>À distance</h1>
|
|
<div class="block">
|
|
<div class="col">
|
|
<span>Phy</span>
|
|
<span>Armure</span>
|
|
</div>
|
|
|
|
<input type="number" name="attr_distance" value="0" readonly />
|
|
|
|
<div class="col">
|
|
<span>Arme à d.</span>
|
|
<span>Arme</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="armes">
|
|
<span class="blockTitre">Armement</span>
|
|
<fieldset class="repeating_armes">
|
|
<details>
|
|
<summary>
|
|
<input type="text" list="listWpn" name="attr_name" />
|
|
<datalist id="listWpn">
|
|
<option value="Bâton">Bâton</option>
|
|
<option value="Gourdin">Gourdin</option>
|
|
<option value="Dague">Dague</option>
|
|
<option value="Epée courte">Epée courte</option>
|
|
<option value="Epée longue">Epée longue</option>
|
|
<option value="Epée à deux mains">Epée à deux mains</option>
|
|
<option value="Epée à deux mains - Alliage en Résine">Epée à deux mains - Alliage en Résine</option>
|
|
<option value="Hache">Hache</option>
|
|
<option value="Grande hache">Grande hache</option>
|
|
<option value="Grande hache - Alliage en Résine">Grande hache - Alliage en Résine</option>
|
|
<option value="Fronde">Fronde</option>
|
|
<option value="Arc">Arc</option>
|
|
<option value="Arc long">Arc long</option>
|
|
<option value="Arbalète">Arbalète</option>
|
|
<option value="Pistolet">Pistolet</option>
|
|
</datalist>
|
|
<label>
|
|
<input type="checkbox" name="attr_selected" value="1" title="Utiliser l'arme" />
|
|
<span></span>
|
|
</label>
|
|
<select name="attr_type">
|
|
<option value="contact" selected>Arme de contact</option>
|
|
<option value="distance">Arme à distance</option>
|
|
</select>
|
|
<label class="degats">
|
|
<span>Dégâts</span>
|
|
<input type="number" name="attr_degats" value="0" />
|
|
</label>
|
|
<select name="attr_typeDegats" class="full">
|
|
<option value="Superficiels" selected>Type de dégâts : Superficiels</option>
|
|
<option value="Mortels">Type de dégâts : Mortels</option>
|
|
</select>
|
|
</summary>
|
|
<div class="autoex autoex22">
|
|
<textarea name="attr_notes"></textarea>
|
|
<span name="attr_notes"></span>
|
|
</div>
|
|
</details>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="attaqueArmure">
|
|
<div class="attaque">
|
|
<div class="line">
|
|
<span class="blockTitre">Attaque</span>
|
|
<input type="hidden" name="attr_totalAttack" value="[[@{reserveAttaque}]]" />
|
|
<input type="hidden" name="attr_totalDefense" value="[[@{reserveDefense}]]" />
|
|
|
|
<input type="hidden" name="attr_maxAttack" value="[[(((@{totalAttack} + 0) + abs(@{totalAttack} - 0)) / 2)]]" />
|
|
<input type="hidden" name="attr_maxDefense" value="[[(((@{totalDefense} + 0) + abs(@{totalDefense} - 0)) / 2)]]" />
|
|
|
|
<button type="roll" name="roll_attaque" value="@{gm} &{template:combat} {{name=@{character_name}}} {{subname=@{armeName}}} {{mod=[[@{reserveBM}]]}} {{attack=[[ @{maxAttack}D6>5]]}} {{defense=[[ @{maxDefense}D6>5]]}} {{type=@{armeType}}} {{dgts=@{armeDegats}}} {{typeDegats=@{armeTypeDegats}}} {{notes=@{armeNotes}}}"></button>
|
|
</div>
|
|
<label>
|
|
<span>Bonus / Malus Réserve :</span>
|
|
<input type="number" name="attr_reserveBM" value="0" />
|
|
</label>
|
|
<label>
|
|
<span>Réserve totale :</span>
|
|
<input type="number" name="attr_reserveTotale" value="0" readonly />
|
|
</label>
|
|
<label>
|
|
<span>Réserve d'attaque :</span>
|
|
<input type="number" name="attr_reserveAttaque" value="0" />
|
|
</label>
|
|
<label>
|
|
<span>Réserve de défense :</span>
|
|
<input type="number" name="attr_reserveDefense" value="0" readonly />
|
|
</label>
|
|
</div>
|
|
|
|
<div class="armures">
|
|
<span class="blockTitre">Armures</span>
|
|
<fieldset class="repeating_armures">
|
|
<details>
|
|
<summary>
|
|
<input type="text" list="listArmor" name="attr_name" />
|
|
<datalist id="listArmor">
|
|
<option value="Armure de cuir">Armure de cuir</option>
|
|
<option value="Cotte de mailles">Cotte de mailles</option>
|
|
<option value="Armure de plates">Armure de plates</option>
|
|
<option value="Armure de plates - Alliage en Résine">Armure de plates - Alliage en Résine</option>
|
|
<option value="Armure de plates complète">Armure de plates complète</option>
|
|
<option value="Armure de plates complète - Alliage en Résine">Armure de plates complète - Alliage en Résine</option>
|
|
<option value="Petit bouclier">Petit bouclier</option>
|
|
<option value="Bouclier">Bouclier standard</option>
|
|
<option value="Pavois">Pavois</option>
|
|
<option value="Pointes pour bouclier">Pointes pour bouclier</option>
|
|
</datalist>
|
|
<label>
|
|
<input type="checkbox" name="attr_selected" value="1" title="Utiliser l'armure" />
|
|
<span></span>
|
|
</label>
|
|
<label class="malus">
|
|
<span>Malus physique</span>
|
|
<input type="number" name="attr_malusPhysique" value="0" />
|
|
</label>
|
|
<label class="bonus">
|
|
<span>Bonus en défense</span>
|
|
<input type="number" name="attr_bonusDefense" value="0" />
|
|
</label>
|
|
<label class="bonus">
|
|
<span>Bonus au contact</span>
|
|
<input type="number" name="attr_bonusMelee" value="0" />
|
|
</label>
|
|
|
|
</summary>
|
|
<div class="autoex autoex22">
|
|
<textarea name="attr_notes"></textarea>
|
|
<span name="attr_notes"></span>
|
|
</div>
|
|
</details>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="enduranceVitalite">
|
|
<div class="endurance">
|
|
<input type="hidden" name="attr_endurance_max" value="0" />
|
|
|
|
<div class="line olympique">
|
|
<div class="titre">
|
|
<span class="titre">Forme olympique</span>
|
|
<span class="space"></span>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b10">
|
|
<input type="hidden" name="attr_end10" value="0" />
|
|
|
|
<button type="action" name="act_end_10_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_10_Main" class="main">10</button>
|
|
<button type="action" name="act_end_10_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b9">
|
|
<input type="hidden" name="attr_end9" value="0" />
|
|
|
|
<button type="action" name="act_end_9_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_9_Main" class="main">9</button>
|
|
<button type="action" name="act_end_9_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b8">
|
|
<input type="hidden" name="attr_end8" value="0" />
|
|
|
|
<button type="action" name="act_end_8_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_8_Main" class="main">8</button>
|
|
<button type="action" name="act_end_8_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b7">
|
|
<input type="hidden" name="attr_end7" value="0" />
|
|
|
|
<button type="action" name="act_end_7_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_7_Main" class="main">7</button>
|
|
<button type="action" name="act_end_7_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line normal">
|
|
<div class="titre">
|
|
<span class="titre">Normal</span>
|
|
<span class="space"></span>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b6">
|
|
<input type="hidden" name="attr_end6" value="0" />
|
|
|
|
<button type="action" name="act_end_6_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_6_Main" class="main">6</button>
|
|
<button type="action" name="act_end_6_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b5">
|
|
<input type="hidden" name="attr_end5" value="0" />
|
|
|
|
<button type="action" name="act_end_5_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_5_Main" class="main">5</button>
|
|
<button type="action" name="act_end_5_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b4">
|
|
<input type="hidden" name="attr_end4" value="0" />
|
|
|
|
<button type="action" name="act_end_4_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_4_Main" class="main">4</button>
|
|
<button type="action" name="act_end_4_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore"></div>
|
|
</div>
|
|
|
|
<div class="line blesse">
|
|
<div class="titre">
|
|
<span class="titre">Blessé</span>
|
|
<span class="space"></span>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b3">
|
|
<input type="hidden" name="attr_end3" value="0" />
|
|
|
|
<button type="action" name="act_end_3_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_3_Main" class="main">3</button>
|
|
<button type="action" name="act_end_3_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b2">
|
|
<input type="hidden" name="attr_end2" value="0" />
|
|
|
|
<button type="action" name="act_end_2_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_2_Main" class="main">2</button>
|
|
<button type="action" name="act_end_2_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore2 enduranceScore">
|
|
<span class="blockTitre">
|
|
Endurance
|
|
</span>
|
|
<input type="number" name="attr_endurance_max" value="0" readonly />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line grievementBlesse">
|
|
<div class="titre">
|
|
<span class="titre">Grièvement blessé</span>
|
|
<span class="space"></span>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b1">
|
|
<input type="hidden" name="attr_end1" value="0" />
|
|
|
|
<button type="action" name="act_end_1_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_1_Main" class="main">1</button>
|
|
<button type="action" name="act_end_1_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore">
|
|
<div class="score b0">
|
|
<input type="hidden" name="attr_end0" value="0" />
|
|
|
|
<button type="action" name="act_end_0_Sub1" class="sub1">1</button>
|
|
<button type="action" name="act_end_0_Main" class="main">0</button>
|
|
<button type="action" name="act_end_0_Sub2" class="sub2">2</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="blockScore2 enduranceScore">
|
|
<span class="blockTitre">
|
|
Mod. Endurance
|
|
</span>
|
|
<input type="number" name="attr_modEndurance" value="0" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line mourant">
|
|
<span class="space"></span>
|
|
<span class="titre">Mourant / Mort</span>
|
|
|
|
<input type="hidden" name="attr_physique" class="physiqueScore" value="0" />
|
|
<input type="hidden" name="attr_mourant" class="mourant" value="0" />
|
|
|
|
<div class="bouton m1">
|
|
<button type="action" name="act_mourant_1">-1</button>
|
|
</div>
|
|
|
|
<div class="bouton m2">
|
|
<button type="action" name="act_mourant_2">-2</button>
|
|
</div>
|
|
|
|
<div class="bouton m3">
|
|
<button type="action" name="act_mourant_3">-3</button>
|
|
</div>
|
|
|
|
<div class="bouton m4">
|
|
<button type="action" name="act_mourant_4">-4</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="vitalite">
|
|
<div class="line">
|
|
<span class="blockTitre">Vitalité</span>
|
|
</div>
|
|
|
|
<div class="line">
|
|
<div>
|
|
<span>Max Test</span>
|
|
<span>12 / 12 / 11</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line">
|
|
<div>
|
|
<span>Max Test</span>
|
|
<span>10 / 9</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line">
|
|
<div>
|
|
<span>Max Test</span>
|
|
<span>8 / 5</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="line">
|
|
<div>
|
|
<span>Pas de test d'action</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<input type="hidden" name="attr_numberArme" value="0" />
|
|
|
|
<input type="hidden" name="attr_armeEquipped" value="false" />
|
|
<input type="hidden" name="attr_armeName" value="Mains nues" />
|
|
<input type="hidden" name="attr_armeDegats" value="0" />
|
|
<input type="hidden" name="attr_armeBonus" value="0" />
|
|
<input type="hidden" name="attr_armeTypeDegats" value="Superficiels" />
|
|
<input type="hidden" name="attr_armeType" value="Arme de contact" />
|
|
<input type="hidden" name="attr_armeNotes" value="" />
|
|
|
|
<input type="hidden" name="attr_armureName" value="0" />
|
|
<input type="hidden" name="attr_armureBonusDefense" value="0" />
|
|
<input type="hidden" name="attr_armureBonusMelee" value="0" />
|
|
<input type="hidden" name="attr_armureMalusPhysique" value="0" />
|
|
|
|
<input type="hidden" name="attr_endurance" value="0" />
|
|
<input type="hidden" name="attr_maxDice" value="0" />
|
|
|
|
<input type="hidden" name="attr_reserveBonus" value="0" />
|
|
|
|
<input type="hidden" name="attr_rollPenalty" value="0" />
|
|
|
|
<rolltemplate class="sheet-rolltemplate-jets">
|
|
<h1>{{name}}</h1>
|
|
<h2>{{subname}}</h2>
|
|
{{#^rollTotal() mod 0}}
|
|
<div class="donnees separationBot">
|
|
<span>Modificateur</span>
|
|
<span>{{mod}}</span>
|
|
</div>
|
|
{{/^rollTotal() mod 0}}
|
|
<div>
|
|
<span>Réussites</span>
|
|
<span>{{result}}</span>
|
|
</div>
|
|
|
|
{{#objective}}
|
|
<div>
|
|
<span>Difficulté</span>
|
|
<span>{{objective}}</span>
|
|
</div>
|
|
{{/objective}}
|
|
|
|
{{#rollGreater() result 4}}
|
|
<h3 class="critique">Réussite Critique</h3>
|
|
{{/rollGreater() result 4}}
|
|
|
|
{{#rollTotal() result 0}}
|
|
{{#rollWasFumble() result}}
|
|
<h3 class="fail">Échec Dramatique</h3>
|
|
{{/rollWasFumble() result}}
|
|
{{/rollTotal() result 0}}
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-prodige">
|
|
<h1>{{name}}</h1>
|
|
<h2>{{subname}}</h2>
|
|
{{#^rollTotal() mod 0}}
|
|
<div class="donnees separationBot">
|
|
<span>Modificateur</span>
|
|
<span>{{mod}}</span>
|
|
</div>
|
|
{{/^rollTotal() mod 0}}
|
|
<div>
|
|
<span>Réussites</span>
|
|
<span>{{result}}</span>
|
|
</div>
|
|
{{#rollGreater() result 4}}
|
|
<h3 class="critique">Réussite Critique</h3>
|
|
{{/rollGreater() result 4}}
|
|
|
|
{{#rollTotal() result 0}}
|
|
{{#rollWasFumble() result}}
|
|
<h3 class="fail">Échec Dramatique</h3>
|
|
{{/rollWasFumble() result}}
|
|
{{/rollTotal() result 0}}
|
|
|
|
<div class="separation donnees">
|
|
<span>Type</span>
|
|
<span>{{type}}</span>
|
|
</div>
|
|
<div class="donnees">
|
|
<span>Activation</span>
|
|
<span>{{activation}}</span>
|
|
</div>
|
|
<div class="donnees">
|
|
<span>Durée</span>
|
|
<span>{{duree}}</span>
|
|
</div>
|
|
<h3>Description</h3>
|
|
<span>{{notes}}</span>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-combat">
|
|
<h1>{{name}}</h1>
|
|
<h2>{{subname}}</h2>
|
|
{{#^rollTotal() mod 0}}
|
|
<div class="donnees separationBot">
|
|
<span>Mod. Réserve</span>
|
|
<span>{{mod}}</span>
|
|
</div>
|
|
{{/^rollTotal() mod 0}}
|
|
<div>
|
|
<span>Attaque</span>
|
|
<span>{{attack}}</span>
|
|
</div>
|
|
<div>
|
|
<span>Défense</span>
|
|
<span>{{defense}}</span>
|
|
</div>
|
|
|
|
<div class="separation donnees">
|
|
<span>Type d'arme</span>
|
|
<span>{{type}}</span>
|
|
</div>
|
|
<div class="donnees">
|
|
<span>Dégâts</span>
|
|
<span>{{dgts}}</span>
|
|
</div>
|
|
<div class="donnees">
|
|
<span>Type de dégâts</span>
|
|
<span>{{typeDegats}}</span>
|
|
</div>
|
|
<h3>Notes sur l'arme</h3>
|
|
<span>{{notes}}</span>
|
|
</rolltemplate>
|
|
|
|
|
|
<script type="text/worker">
|
|
const buttonVertus = ["chance_0","chance_1","chance_2","chance_3","chance_4","chance_5", "volonte_0","volonte_1","volonte_2","volonte_3","volonte_4","volonte_5"];
|
|
|
|
const buttonComp = ["upRankExpression_1","upRankExpression_2","upRankExpression_3","upRankExpression_4","upRankExpression_5",
|
|
"upRankEmpathie_1","upRankEmpathie_2","upRankEmpathie_3","upRankEmpathie_4","upRankEmpathie_5",
|
|
"upRankRhetorique_1","upRankRhetorique_2","upRankRhetorique_3","upRankRhetorique_4","upRankRhetorique_5",
|
|
"upRankRepresentation_1","upRankRepresentation_2","upRankRepresentation_3","upRankRepresentation_4","upRankRepresentation_5",
|
|
"upRankNegoce_1","upRankNegoce_2","upRankNegoce_3","upRankNegoce_4","upRankNegoce_5",
|
|
"upRankErudition_1","upRankErudition_2","upRankErudition_3","upRankErudition_4","upRankErudition_5",
|
|
"upRankArtisanat_1","upRankArtisanat_2","upRankArtisanat_3","upRankArtisanat_4","upRankArtisanat_5",
|
|
"upRankMedecine_1","upRankMedecine_2","upRankMedecine_3","upRankMedecine_4","upRankMedecine_5",
|
|
"upRankSavoir_1","upRankSavoir_2","upRankSavoir_3","upRankSavoir_4","upRankSavoir_5",
|
|
"upRankPerception_1","upRankPerception_2","upRankPerception_3","upRankPerception_4","upRankPerception_5",
|
|
"upRankAgilite_1","upRankAgilite_2","upRankAgilite_3","upRankAgilite_4","upRankAgilite_5",
|
|
"upRankMelee_1","upRankMelee_2","upRankMelee_3","upRankMelee_4","upRankMelee_5",
|
|
"upRankDiscretion_1","upRankDiscretion_2","upRankDiscretion_3","upRankDiscretion_4","upRankDiscretion_5",
|
|
"upRankDistance_1","upRankDistance_2","upRankDistance_3","upRankDistance_4","upRankDistance_5",
|
|
"upRankSurvie_1","upRankSurvie_2","upRankSurvie_3","upRankSurvie_4","upRankSurvie_5"];
|
|
|
|
const buttonProdige = ["upRankEsprit_1","upRankEsprit_2","upRankEsprit_3","upRankEsprit_4","upRankEsprit_5",
|
|
"upRankCorps_1","upRankCorps_2","upRankCorps_3","upRankCorps_4","upRankCorps_5",
|
|
"upRankIllusion_1","upRankIllusion_2","upRankIllusion_3","upRankIllusion_4","upRankIllusion_5",
|
|
"upRankRealite_1","upRankRealite_2","upRankRealite_3","upRankRealite_4","upRankRealite_5"];
|
|
|
|
const buttonCorruption = ["corruption_1","corruption_2","corruption_3","corruption_4","corruption_5",
|
|
"corruption_6","corruption_7","corruption_8","corruption_9","corruption_10",
|
|
"corruption_11","corruption_12","corruption_13","corruption_14","corruption_15"];
|
|
|
|
const buttonEndurance = ["end_10", "end_9", "end_8", "end_7", "end_6", "end_5", "end_4", "end_3", "end_2", "end_1", "end_0"];
|
|
const buttonMourant = ["mourant_1", "mourant_2", "mourant_3", "mourant_4"];
|
|
|
|
const buttontab = ["principal","prodige","combat"];
|
|
|
|
function updateEndurance(value, max, reset=false) {
|
|
var newAttr = {};
|
|
|
|
let i = buttonEndurance.length;
|
|
|
|
if(reset == false) {
|
|
do {
|
|
i--;
|
|
|
|
let nEnd = buttonEndurance[i].split("_")[0];
|
|
let vEnd = Number(buttonEndurance[i].split("_")[1]);
|
|
|
|
if(vEnd >= value)
|
|
newAttr["end"+vEnd] = 2;
|
|
else
|
|
newAttr["end"+vEnd] = 0;
|
|
} while(i > 0)
|
|
|
|
newAttr["endurance"] = value;
|
|
newAttr["mourant"] = 0;
|
|
}
|
|
else {
|
|
do {
|
|
i--;
|
|
|
|
let nEnd = buttonEndurance[i].split("_")[0];
|
|
let vEnd = Number(buttonEndurance[i].split("_")[1]);
|
|
|
|
if(vEnd >= max)
|
|
newAttr["end"+vEnd] = 2;
|
|
else
|
|
newAttr["end"+vEnd] = 0;
|
|
} while(i > 0)
|
|
|
|
newAttr["endurance"] = max;
|
|
newAttr["mourant"] = 0;
|
|
}
|
|
|
|
setAttrs(newAttr);
|
|
}
|
|
|
|
function updateWeapon() {
|
|
getSectionIDs("armes", function(idarray) {
|
|
var list = [];
|
|
var listID = [];
|
|
|
|
let wpnRangedSelected = false;
|
|
let wpnEquipped = false;
|
|
let wpnNum = 0;
|
|
let wpnName = "Mains nues";
|
|
let wpnType = "Arme de contact";
|
|
let wpnDgts = 0;
|
|
let wpnTDgts = "Superficiels";
|
|
let wpnNotes = "";
|
|
|
|
for(var i in idarray) {
|
|
listID.push(idarray[i]);
|
|
list.push("repeating_armes_"+idarray[i]+"_name");
|
|
list.push("repeating_armes_"+idarray[i]+"_type");
|
|
list.push("repeating_armes_"+idarray[i]+"_degats");
|
|
list.push("repeating_armes_"+idarray[i]+"_typeDegats");
|
|
list.push("repeating_armes_"+idarray[i]+"_notes");
|
|
list.push("repeating_armes_"+idarray[i]+"_selected");
|
|
}
|
|
|
|
wpnContact = {};
|
|
wpnDistance = [];
|
|
|
|
getAttrs(list, function(values) {
|
|
for(var i in listID) {
|
|
let id = listID[i];
|
|
|
|
let equipped = values["armeEquipped"];
|
|
|
|
let base = "repeating_armes_"+id+"_";
|
|
|
|
let armeSelected = values[base+"selected"];
|
|
let armeName = values[base+"name"];
|
|
let armeType = values[base+"type"];
|
|
let armeDegats = values[base+"degats"];
|
|
let armeTypeDegats = values[base+"typeDegats"];
|
|
let armeNotes = values[base+"notes"];
|
|
|
|
if(armeSelected == "1") {
|
|
wpnEquipped = true;
|
|
|
|
if(armeType == "contact") {
|
|
wpnContact["A"+wpnNum] = {};
|
|
|
|
let listWPN = wpnContact["A"+wpnNum];
|
|
|
|
listWPN.id = base+"selected";
|
|
listWPN.name = armeName;
|
|
listWPN.type = "Arme de contact";
|
|
listWPN.dgts = armeDegats;
|
|
listWPN.tDgts = armeTypeDegats;
|
|
listWPN.notes = armeNotes;
|
|
wpnNum += 1;
|
|
}
|
|
|
|
if(armeType == "distance" && wpnRangedSelected == false) {
|
|
wpnRangedSelected = true;
|
|
wpnName = armeName;
|
|
wpnType = "Arme à distance";
|
|
wpnDgts = armeDegats;
|
|
wpnTDgts = armeTypeDegats;
|
|
wpnBnus = armeDegats;
|
|
wpnNotes = armeNotes;
|
|
wpnNum = 1;
|
|
}
|
|
else if(armeType == "distance" && wpnRangedSelected == true) {
|
|
wpnDistance.push(base+"selected");
|
|
}
|
|
}
|
|
}
|
|
|
|
let newArme = {};
|
|
|
|
console.log(wpnContact);
|
|
|
|
if(wpnRangedSelected == true) {
|
|
newArme["armeEquipped"] = wpnEquipped;
|
|
newArme["numberArme"] = 1;
|
|
newArme["armeName"] = wpnName;
|
|
newArme["armeType"] = wpnType;
|
|
newArme["armeDegats"] = wpnDgts;
|
|
newArme["armeBonus"] = wpnDgts;
|
|
newArme["armeTypeDegats"] = wpnTDgts;
|
|
newArme["armeNotes"] = wpnNotes;
|
|
|
|
for(var i in wpnContact) {
|
|
let reset = wpnContact[i];
|
|
|
|
newArme[wpnContact[i].id] = 0;
|
|
}
|
|
|
|
for(var i in wpnDistance) {
|
|
let reset = wpnDistance[i];
|
|
|
|
newArme[wpnDistance[i]] = 0;
|
|
}
|
|
}
|
|
else {
|
|
if(wpnNum == 0) {
|
|
newArme["armeEquipped"] = wpnEquipped;
|
|
newArme["numberArme"] = 0;
|
|
newArme["armeName"] = wpnName;
|
|
newArme["armeType"] = wpnType;
|
|
newArme["armeDegats"] = wpnDgts;
|
|
newArme["armeBonus"] = wpnDgts;
|
|
newArme["armeTypeDegats"] = wpnTDgts;
|
|
newArme["armeNotes"] = wpnNotes;
|
|
}
|
|
else if(wpnNum == 1) {
|
|
newArme["armeEquipped"] = wpnEquipped;
|
|
newArme["numberArme"] = 1;
|
|
|
|
newArme["armeName"] = wpnContact["A0"].name;
|
|
newArme["armeType"] = wpnContact["A0"].type;
|
|
newArme["armeDegats"] = wpnContact["A0"].dgts;
|
|
newArme["armeBonus"] = wpnContact["A0"].dgts;
|
|
newArme["armeTypeDegats"] = wpnContact["A0"].tDgts;
|
|
newArme["armeNotes"] = wpnContact["A0"].notes;
|
|
}
|
|
else {
|
|
newArme["armeEquipped"] = wpnEquipped;
|
|
newArme["numberArme"] = 2;
|
|
|
|
let name = "";
|
|
let type = "";
|
|
let dgts = "";
|
|
let bonus = 0;
|
|
let tDgts = "";
|
|
let notes = "";
|
|
|
|
for(var i in wpnContact) {
|
|
let tName = wpnContact[i].name;
|
|
let tType = wpnContact[i].type;
|
|
let tBonus = wpnContact[i].dgts;
|
|
let tVDgts = wpnContact[i].dgts;
|
|
let tTDgts = wpnContact[i].tDgts;
|
|
let tNotes = wpnContact[i].notes;
|
|
|
|
if(i == "A0") {
|
|
name = tName;
|
|
type = tType;
|
|
dgts = tVDgts;
|
|
bonus = tBonus;
|
|
tDgts = tTDgts;
|
|
notes = tNotes;
|
|
}
|
|
else if(i == "A1") {
|
|
if(tBonus > bonus)
|
|
bonus = tBonus;
|
|
|
|
name += " / "+tName;
|
|
dgts += " / "+tVDgts;
|
|
tDgts += " / "+tTDgts;
|
|
notes += " / "+tNotes;
|
|
}
|
|
else {
|
|
newArme[wpnContact[i].id] = 0;
|
|
}
|
|
}
|
|
|
|
newArme["armeName"] = name;
|
|
newArme["armeType"] = type;
|
|
newArme["armeBonus"] = bonus;
|
|
newArme["armeDegats"] = dgts;
|
|
newArme["armeTypeDegats"] = tDgts;
|
|
newArme["armeNotes"] = notes;
|
|
}
|
|
|
|
for(var i in wpnDistance) {
|
|
let reset = wpnDistance[i];
|
|
|
|
newArme[wpnDistance[i]] = 0;
|
|
}
|
|
}
|
|
|
|
setAttrs(newArme);
|
|
});
|
|
});
|
|
}
|
|
|
|
function updateArmor() {
|
|
getSectionIDs("armures", function(idarray) {
|
|
var list = [];
|
|
var listID = [];
|
|
|
|
let armName = "";
|
|
let armBonusDefense = 0;
|
|
let armBonusMelee = 0;
|
|
let armMalusPhysique = 0;
|
|
|
|
for(var i in idarray) {
|
|
listID.push(idarray[i]);
|
|
list.push("repeating_armures_"+idarray[i]+"_name");
|
|
list.push("repeating_armures_"+idarray[i]+"_bonusDefense");
|
|
list.push("repeating_armures_"+idarray[i]+"_bonusMelee");
|
|
list.push("repeating_armures_"+idarray[i]+"_malusPhysique");
|
|
list.push("repeating_armures_"+idarray[i]+"_selected");
|
|
}
|
|
|
|
list.push("armeType");
|
|
|
|
getAttrs(list, function(values) {
|
|
for(var i in listID) {
|
|
let id = listID[i];
|
|
let wpnType = values["armeType"]
|
|
|
|
let base = "repeating_armures_"+id+"_";
|
|
|
|
let selected = values[base+"selected"];
|
|
let name = values[base+"name"];
|
|
let bonusDef = Number(values[base+"bonusDefense"]);
|
|
let bonusMel = Number(values[base+"bonusMelee"]);
|
|
let malusPhy = Number(values[base+"malusPhysique"]);
|
|
|
|
if(selected == "1") {
|
|
armName = name;
|
|
armBonusDefense += bonusDef;
|
|
armMalusPhysique += malusPhy;
|
|
armBonusMelee += bonusMel;
|
|
}
|
|
}
|
|
|
|
let newArmure = {};
|
|
|
|
newArmure["armureName"] = armName;
|
|
newArmure["armureBonusDefense"] = armBonusDefense;
|
|
newArmure["armureBonusMelee"] = armBonusMelee;
|
|
newArmure["armureMalusPhysique"] = armMalusPhysique;
|
|
|
|
setAttrs(newArmure);
|
|
});
|
|
});
|
|
}
|
|
|
|
buttontab.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
setAttrs({
|
|
sheetTab: button
|
|
});
|
|
});
|
|
});
|
|
|
|
buttonVertus.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
|
|
let name = button.split("_")[0];
|
|
let value = button.split("_")[1];
|
|
|
|
getAttrs([name, name+"_max"], function(val) {
|
|
let v = Number(val[name]);
|
|
let max = Number(val[name+"_max"]);
|
|
let result;
|
|
|
|
if(v == value-1)
|
|
result = max;
|
|
else if(value-1 < 0)
|
|
result = 0;
|
|
else
|
|
result = value-1;
|
|
|
|
var newAttr = {};
|
|
newAttr[name] = result;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
});
|
|
|
|
buttonComp.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
|
|
let name = button.split("_")[0];
|
|
let value = button.split("_")[1];
|
|
|
|
getAttrs([name], function(val) {
|
|
let v = val[name];
|
|
let result;
|
|
|
|
if(v == value) {
|
|
result = 0;
|
|
}
|
|
else
|
|
result = value;
|
|
|
|
var newAttr = {};
|
|
newAttr[name] = result;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
});
|
|
|
|
buttonProdige.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
|
|
let name = button.split("_")[0];
|
|
let value = button.split("_")[1];
|
|
|
|
getAttrs([name], function(val) {
|
|
let v = val[name];
|
|
let result;
|
|
|
|
if(v == value) {
|
|
result = 0;
|
|
}
|
|
else
|
|
result = value;
|
|
|
|
var newAttr = {};
|
|
newAttr[name] = result;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
});
|
|
|
|
buttonCorruption.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
|
|
let name = button.split("_")[0];
|
|
let value = button.split("_")[1];
|
|
|
|
getAttrs([name], function(val) {
|
|
let v = val[name];
|
|
let result;
|
|
|
|
if(v == value) {
|
|
result = 0;
|
|
}
|
|
else
|
|
result = value;
|
|
|
|
var newAttr = {};
|
|
newAttr[name] = result;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
});
|
|
|
|
buttonEndurance.forEach(button => {
|
|
on(`clicked:${button}_main clicked:${button}_sub2`, function() {
|
|
|
|
|
|
let name = button.split("_")[0];
|
|
let value = Number(button.split("_")[1]);
|
|
let next = value-1;
|
|
|
|
if(next < 0)
|
|
next = 0;
|
|
|
|
getAttrs(["end"+next, "endurance", "endurance_max"], function(val) {
|
|
let s1 = val["end"+next];
|
|
let end = Number(val["endurance"]);
|
|
let endMax = Number(val["endurance_max"]);
|
|
|
|
if(value == end && s1 == 0 || value == end && s1 == 2)
|
|
updateEndurance(value, endMax, true);
|
|
else
|
|
updateEndurance(value, endMax, false);
|
|
});
|
|
});
|
|
|
|
on(`clicked:${button}_sub1`, function() {
|
|
|
|
let name = button.split("_")[0];
|
|
let value = Number(button.split("_")[1]);
|
|
|
|
getAttrs(["end"+value, "endurance", "endurance_max"], function(val) {
|
|
let s1 = Number(val["end"+value]);
|
|
let end = Number(val["endurance"]);
|
|
let endMax = Number(val["endurance_max"]);
|
|
|
|
if(value != endMax)
|
|
{
|
|
var newAttr = {};
|
|
|
|
if(s1 == 1)
|
|
{
|
|
updateEndurance(value+1, endMax, true);
|
|
newAttr["end"+value] = 0;
|
|
}
|
|
else {
|
|
updateEndurance(value+1, endMax, false);
|
|
newAttr["end"+value] = 1;
|
|
}
|
|
|
|
setAttrs(newAttr);
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
buttonMourant.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
|
|
let value = Number(button.split("_")[1]);
|
|
|
|
getAttrs(["mourant", "endurance", "endurance_max"], function(val) {
|
|
let end = val["endurance"];
|
|
let endMax = val["endurance_max"];
|
|
let mourant = val["mourant"];
|
|
let calc = 0-value;
|
|
|
|
var newAttr = {};
|
|
|
|
if(mourant == value)
|
|
{
|
|
updateEndurance(endMax, endMax, true);
|
|
newAttr["mourant"] = 0;
|
|
newAttr["maxDice"] = 0;
|
|
}
|
|
else {
|
|
updateEndurance(calc, endMax, false);
|
|
newAttr["mourant"] = value;
|
|
newAttr["maxDice"] = 0;
|
|
}
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
});
|
|
|
|
//GESTION DE L'ENDURANCE
|
|
on("change:physique change:corruption change:endurance change:modEndurance sheet:opened", function() {
|
|
|
|
getAttrs(["physique", "corruption", "endurance", "modEndurance"], function(values) {
|
|
let endMod = Number(values["modEndurance"]);
|
|
let endurance = Number(values["physique"])+3+endMod;
|
|
let endValue = Number(values["endurance"]);
|
|
let corruption = Number(values["corruption"]);
|
|
let rollPenalty = 0;
|
|
let maxEnd = 999;
|
|
|
|
switch(corruption) {
|
|
case 7:
|
|
maxEnd = 9;
|
|
break;
|
|
|
|
case 8:
|
|
maxEnd = 8;
|
|
break;
|
|
|
|
case 9:
|
|
maxEnd = 7;
|
|
break;
|
|
|
|
case 10:
|
|
maxEnd = 6;
|
|
rollPenalty = 1;
|
|
break;
|
|
|
|
case 11:
|
|
maxEnd = 5;
|
|
rollPenalty = 2;
|
|
break;
|
|
|
|
case 12:
|
|
maxEnd = 4;
|
|
rollPenalty = 2;
|
|
break;
|
|
|
|
case 13:
|
|
maxEnd = 3;
|
|
rollPenalty = 3;
|
|
break;
|
|
|
|
case 14:
|
|
maxEnd = 2;
|
|
rollPenalty = 3;
|
|
break;
|
|
|
|
case 15:
|
|
maxEnd = 1;
|
|
rollPenalty = 4;
|
|
break;
|
|
|
|
default:
|
|
maxEnd = 999;
|
|
break;
|
|
}
|
|
|
|
let newAttr = {};
|
|
|
|
if(endurance > maxEnd) {
|
|
newAttr["endurance_max"] = maxEnd;
|
|
|
|
if(endValue > maxEnd)
|
|
updateEndurance(maxEnd, maxEnd, true);
|
|
}
|
|
else {
|
|
newAttr["endurance_max"] = endurance;
|
|
|
|
if(endValue > endurance)
|
|
updateEndurance(endurance, endurance, true);
|
|
else
|
|
updateEndurance(endValue, endurance, false);
|
|
}
|
|
|
|
|
|
switch(endValue) {
|
|
|
|
case 10:
|
|
case 9:
|
|
case 8:
|
|
case 7:
|
|
newAttr["maxDice"] = 999;
|
|
break;
|
|
|
|
case 6:
|
|
case 5:
|
|
newAttr["maxDice"] = 12;
|
|
break;
|
|
|
|
case 4:
|
|
newAttr["maxDice"] = 11;
|
|
break;
|
|
|
|
case 3:
|
|
newAttr["maxDice"] = 10;
|
|
break;
|
|
|
|
case 2:
|
|
newAttr["maxDice"] = 9;
|
|
break;
|
|
|
|
case 1:
|
|
newAttr["maxDice"] = 8;
|
|
break;
|
|
|
|
case 0:
|
|
newAttr["maxDice"] = 5;
|
|
break;
|
|
|
|
case -1:
|
|
case -2:
|
|
case -3:
|
|
case -4:
|
|
newAttr["maxDice"] = 0;
|
|
break;
|
|
|
|
default:
|
|
newAttr["maxDice"] = 999;
|
|
break;
|
|
}
|
|
|
|
newAttr["rollPenalty"] = rollPenalty;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
|
|
//GESTION RESERVES DE COMBAT - MAINS NUES
|
|
on("change:physique change:armureBonusDefense change:armureBonusMelee change:agilite change:melee change:rollPenalty sheet:opened", function() {
|
|
|
|
getAttrs(["physique", "armureBonusDefense", "armureBonusMelee", "agilite", "melee", "rollPenalty"], function(values) {
|
|
let physique = Number(values["physique"]);
|
|
let rollPenalty = Number(values["rollPenalty"]);
|
|
let agilite = Number(values["agilite"]);
|
|
let melee = Number(values["melee"]);
|
|
|
|
let armure = Number(values["armureBonusDefense"]);
|
|
let armureMelee = Number(values["armureBonusMelee"]);
|
|
|
|
let newAttr = {};
|
|
|
|
let total = 0;
|
|
|
|
total += physique;
|
|
total += armure;
|
|
total += armureMelee;
|
|
total += agilite;
|
|
total += melee;
|
|
total -= rollPenalty;
|
|
|
|
newAttr["mainsNues"] = total;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
|
|
//GESTION RESERVES DE COMBAT - CONTACT
|
|
on("change:physique change:armureBonusDefense change:armureBonusMelee change:agilite change:melee change:armeBonus change:armeType change:numberArme change:rollPenalty sheet:opened", function() {
|
|
|
|
getAttrs(["physique", "armureBonusDefense", "armureBonusMelee", "agilite", "melee", "armeBonus", "armeType", "numberArme", "rollPenalty"], function(values) {
|
|
let physique = Number(values["physique"]);
|
|
let rollPenalty = Number(values["rollPenalty"]);
|
|
let agilite = Number(values["agilite"]);
|
|
let melee = Number(values["melee"]);
|
|
|
|
let numArme = values["numberArme"];
|
|
let armeType = values["armeType"];
|
|
let armeBonus = Number(values["armeBonus"]);
|
|
|
|
let armure = Number(values["armureBonusDefense"]);
|
|
let armureMelee = Number(values["armureBonusMelee"]);
|
|
|
|
|
|
let newAttr = {};
|
|
|
|
let total = 0;
|
|
|
|
total += physique;
|
|
total += armure;
|
|
total += armureMelee;
|
|
total += agilite;
|
|
total += melee;
|
|
total -= rollPenalty;
|
|
|
|
if(numArme == 2)
|
|
total += 1;
|
|
|
|
if(armeType == "Arme de contact")
|
|
total += armeBonus
|
|
|
|
newAttr["contact"] = total;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
|
|
//GESTION RESERVES DE COMBAT - DISTANCE
|
|
on("change:physique change:armureBonusDefense change:armesDistance change:armeBonus change:armeType change:rollPenalty sheet:opened", function() {
|
|
|
|
getAttrs(["physique", "armureBonusDefense", "armesDistance", "armeBonus", "armeType", "rollPenalty"], function(values) {
|
|
let physique = Number(values["physique"]);
|
|
let rollPenalty = Number(values["rollPenalty"]);
|
|
let aDistance = Number(values["armesDistance"]);
|
|
|
|
let armeType = values["armeType"];
|
|
let armeBonus = Number(values["armeBonus"]);
|
|
|
|
let armure = Number(values["armureBonusDefense"]);
|
|
|
|
let newAttr = {};
|
|
|
|
let total = 0;
|
|
|
|
total += physique;
|
|
total += armure;
|
|
total += aDistance;
|
|
total -= rollPenalty;
|
|
|
|
if(armeType == "Arme à distance")
|
|
total += armeBonus
|
|
|
|
newAttr["distance"] = total;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
|
|
//GESTION DES ARMES PREDEFINI
|
|
on("change:repeating_armes:name", function(eventInfo) {
|
|
let src = eventInfo.sourceAttribute.split("_");
|
|
let id = src[0]+"_"+src[1]+"_"+src[2]+"_";
|
|
let nV = eventInfo.newValue;
|
|
|
|
let update = true;
|
|
let typeWpn = "contact";
|
|
let typeDgts = "";
|
|
let dgts = 0;
|
|
let notes = "";
|
|
|
|
let newAttr = {};
|
|
|
|
switch(nV) {
|
|
case "Bâton":
|
|
typeDgts = "Superficiels";
|
|
dgts = 1;
|
|
break;
|
|
|
|
case "Gourdin":
|
|
typeDgts = "Superficiels";
|
|
dgts = 3;
|
|
break;
|
|
|
|
case "Dague":
|
|
case "Epée courte":
|
|
typeDgts = "Mortels";
|
|
dgts = 1;
|
|
break;
|
|
|
|
case "Epée longue":
|
|
typeDgts = "Mortels";
|
|
dgts = 2;
|
|
break;
|
|
|
|
case "Epée à deux mains":
|
|
typeDgts = "Mortels";
|
|
dgts = 3;
|
|
notes = "2 mains, Physique 2 ou plus";
|
|
break;
|
|
|
|
case "Epée à deux mains - Alliage en Résine":
|
|
typeDgts = "Mortels";
|
|
dgts = 3;
|
|
break;
|
|
|
|
case "Hache":
|
|
typeDgts = "Mortels";
|
|
dgts = 2;
|
|
notes = "Physique 2 ou plus";
|
|
break;
|
|
|
|
case "Grande hache":
|
|
typeDgts = "Mortels";
|
|
dgts = 4;
|
|
notes = "2 mains, Physique 3 ou plus";
|
|
break;
|
|
|
|
case "Grande hache - Alliage en Résine":
|
|
typeDgts = "Mortels";
|
|
dgts = 4;
|
|
break;
|
|
|
|
case "Fronde":
|
|
typeDgts = "Superficiels";
|
|
dgts = 1;
|
|
typeWpn = "distance";
|
|
break;
|
|
|
|
case "Arc":
|
|
typeDgts = "Mortels";
|
|
dgts = 1;
|
|
typeWpn = "distance";
|
|
break;
|
|
|
|
case "Arc long":
|
|
typeDgts = "Mortels";
|
|
dgts = 2;
|
|
typeWpn = "distance";
|
|
notes = "Physique 2 ou plus";
|
|
break;
|
|
|
|
case "Arbalète":
|
|
typeDgts = "Mortels";
|
|
dgts = 2;
|
|
typeWpn = "distance";
|
|
notes = "Un seul tir tous les 2 tours";
|
|
break;
|
|
|
|
case "Pistolet":
|
|
typeDgts = "Mortels";
|
|
dgts = 5;
|
|
typeWpn = "distance";
|
|
notes = "Un seul tir tous les 3 tours";
|
|
break;
|
|
|
|
default:
|
|
update = false;
|
|
break;
|
|
}
|
|
|
|
if(update === true) {
|
|
newAttr[id+"type"] = typeWpn;
|
|
newAttr[id+"typeDegats"] = typeDgts;
|
|
newAttr[id+"degats"] = dgts;
|
|
newAttr[id+"notes"] = notes;
|
|
|
|
setAttrs(newAttr);
|
|
}
|
|
});
|
|
|
|
//GESTION DES ARMURES PREDEFINI
|
|
on("change:repeating_armures:name", function(eventInfo) {
|
|
let src = eventInfo.sourceAttribute.split("_");
|
|
let id = src[0]+"_"+src[1]+"_"+src[2]+"_";
|
|
let nV = eventInfo.newValue;
|
|
|
|
let update = true;
|
|
let malusPhy = 0;
|
|
let bonusDefense = 0;
|
|
let bonusContact = 0;
|
|
let notes = "";
|
|
|
|
let newAttr = {};
|
|
|
|
switch(nV) {
|
|
case "Armure de cuir":
|
|
bonusDefense = 1;
|
|
break;
|
|
|
|
case "Cotte de mailles":
|
|
bonusDefense = 2;
|
|
break;
|
|
|
|
case "Armure de plates":
|
|
bonusDefense = 3;
|
|
malusPhy = 2;
|
|
notes = "Physique 2 ou plus";
|
|
break;
|
|
|
|
case "Armure de plates - Alliage en Résine":
|
|
bonusDefense = 3;
|
|
break;
|
|
|
|
case "Armure de plates complète":
|
|
bonusDefense = 4;
|
|
malusPhy = 2;
|
|
notes = "Physique 3 ou plus";
|
|
break;
|
|
|
|
case "Armure de plates complète - Alliage en Résine":
|
|
bonusDefense = 4;
|
|
malusPhy = 1;
|
|
notes = "Physique 2 ou plus";
|
|
break;
|
|
|
|
case "Petit bouclier":
|
|
bonusDefense = 1;
|
|
break;
|
|
|
|
case "Bouclier standard":
|
|
bonusDefense = 2;
|
|
break;
|
|
|
|
case "Pavois":
|
|
bonusDefense = 3;
|
|
notes = "Physique 2 ou plus";
|
|
break;
|
|
|
|
case "Pointes pour bouclier":
|
|
bonusContact = 1;
|
|
break;
|
|
|
|
default:
|
|
update = false;
|
|
break;
|
|
}
|
|
|
|
if(update === true) {
|
|
newAttr[id+"malusPhysique"] = malusPhy;
|
|
newAttr[id+"bonusDefense"] = bonusDefense;
|
|
newAttr[id+"bonusMelee"] = bonusContact;
|
|
newAttr[id+"notes"] = notes;
|
|
|
|
setAttrs(newAttr);
|
|
}
|
|
});
|
|
|
|
//GESTION DES ARMES
|
|
on("change:repeating_armes sheet:opened", function(eventInfo) {
|
|
updateWeapon();
|
|
});
|
|
|
|
//GESTION DES ARMURES
|
|
on("change:repeating_armures sheet:opened", function(eventInfo) {
|
|
updateArmor();
|
|
});
|
|
|
|
//GESTION DE LA RESERVE TOTALE
|
|
on("change:mainsNues change:contact change:distance change:armeEquipped change:armeType change:reserveBM change:maxDice sheet:opened", function(eventInfo) {
|
|
|
|
getAttrs(["mainsNues", "contact", "distance", "armeEquipped", "armeType", "reserveBM", "maxDice"], function(values) {
|
|
let mainsNues = Number(values["mainsNues"]);
|
|
let contact = Number(values["contact"]);
|
|
let distance = Number(values["distance"]);
|
|
|
|
let armeEquipped = values["armeEquipped"];
|
|
let armeType = values["armeType"];
|
|
|
|
let reserveBM = Number(values["reserveBM"]);
|
|
|
|
let max = Number(values["maxDice"]);
|
|
|
|
let total = 0;
|
|
|
|
let newAttr = {};
|
|
|
|
total += reserveBM;
|
|
|
|
if(armeEquipped == false)
|
|
total += mainsNues;
|
|
else {
|
|
if(armeType == "Arme de contact")
|
|
total += contact;
|
|
|
|
if(armeType == "Arme à distance")
|
|
total += distance;
|
|
}
|
|
|
|
if(total > max)
|
|
total = max;
|
|
|
|
newAttr["reserveTotale"] = total;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
|
|
//GESTION DES RESERVES ATTAQUE/DEFENSE
|
|
on("change:reserveTotale change:reserveAttaque change:armureBonusDefense sheet:opened", function(eventInfo) {
|
|
|
|
getAttrs(["reserveTotale", "reserveAttaque", "armureBonusDefense"], function(values) {
|
|
let reserve = Number(values["reserveTotale"]);
|
|
let rAttaque = Number(values["reserveAttaque"]);
|
|
|
|
let armure = Number(values["armureBonusDefense"]);
|
|
|
|
let totalR = reserve;
|
|
let totalA = 0;
|
|
let totalD = 0;
|
|
|
|
let newAttr = {};
|
|
|
|
totalD = totalR-rAttaque;
|
|
|
|
if(totalD < armure)
|
|
totalD = armure;
|
|
|
|
totalA = totalR-totalD;
|
|
|
|
if(rAttaque > totalA)
|
|
newAttr["reserveAttaque"] = totalA;
|
|
|
|
newAttr["reserveDefense"] = totalD;
|
|
|
|
setAttrs(newAttr);
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|