Files
2024-06-03 13:15:14 -04:00

832 lines
46 KiB
HTML

<input type='hidden' class='page-form' name='attr_pageTab'/>
<div class='page'>
<!-- Logo aventures -->
<div class="page-logo-aventures">
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/img/aventures-logo2.png" width="150px"/>
</div>
<!-- Informations générales du personnage -->
<!-- Le système de table grid est utilisé dans cette page -->
<div class="page-block">
<div class="page-head">
<span data-i18n="personnage">Personnage </span>
</div>
<div class="grid-character">
<div class="grid-character-nom">
<span data-i18n="nom:">Nom : </span> <input type="text" class="page-input-text" spellcheck="false" name="attr_Nomperso" data-i18n-placeholder="nom" placeholder="Nom"/>
</div>
<div class="grid-character-race">
<span data-i18n="race:">Race : </span> <input type="text" class="page-input-text" spellcheck="false" name="attr_character_race" data-i18n-placeholder="race" placeholder="Race"/>
</div>
<div class="grid-character-classe">
<span data-i18n="classe:">Classe : </span> <input type="text" class="page-input-text" spellcheck="false" name="attr_character_classe" data-i18n-placeholder="classe" placeholder="Classe"/>
</div>
<div class="grid-character-element">
<span data-i18n="element:">Élément : </span> <input type="text" class="page-input-text" spellcheck="false" name="attr_character_element" data-i18n-placeholder="element" placeholder="Élement"/>
</div>
<div class="grid-character-themes">
<span data-i18n="themes:">Thèmes : </span><br>
<textarea class="themes-langues" spellcheck="false" name="attr_character_themes" data-i18n-placeholder="themes" placeholder="Thèmes"></textarea>
</div>
<div class="grid-character-langues">
<span data-i18n="langues:">Langues connues : </span><br>
<textarea class="themes-langues" spellcheck="false" name="attr_character_langues" data-i18n-placeholder="langues" placeholder="Langues connues"></textarea>
</div>
<div class="grid-character-vocation">
<span data-i18n="vocation:">Vocation : </span><br>
<textarea class="vocation" spellcheck="false" name="attr_character_vocation" data-i18n-placeholder="vocation" placeholder="Vocation"></textarea>
</div>
</div>
</div>
<!-- Stats du personnage-->
<div class="page-block">
<div class="page-head">
<span data-i18n="statistiques">Statistiques </span>
</div>
<div class="grid-global-stats">
<!-- Stats principales et secondaires : exemple Physique - Puissance - Agilité -->
<div class="grid-stats">
<div class="grid-stats-physique">
<span data-i18n="physique">Physique </span>
</div>
<div class="grid-stats-social">
<span data-i18n="social">Social </span>
</div>
<div class="grid-stats-mental">
<span data-i18n="mental">Mental </span>
</div>
<div class="grid-stats-physique-value">
<input type="number" class="page-number-main" name="attr_physique">
<!-- On lance un dés qui s'affiche en rouge en cas d'échec critique (entre 96 et 100) et en vert en cas de réussite critique (5 ou moins)
et on affiche la stats concernée + les modificateurs bonus/malus
plus d'info : https://wiki.roll20.net/Dice_Reference#Critical_Success_and_Fumble_Points -->
<button type='roll' value='/me effectue un jet de Physique ! [[1d100cs<5cf>96]] vs: [[@{physique}+@{puissanceJ}+@{puissanceRMalus}+@{finesseJ}+@{finesseRMalus}+@{mod}]]' name='roll_Physique'></button>
<!-- le format de la value est une macro roll20 : https://wiki.roll20.net/Macros -->
</div>
<div class="grid-stats-social-value">
<input type="number" class="page-number-main" name="attr_social">
<button type='roll' value='/me effectue un jet de Social ! [[1d100cs<5cf>96]] vs: [[@{social}+@{auraJ}+@{auraRMalus}+@{relationJ}+@{relationRMalus}+@{mod}]]' name='roll_Social'></button>
</div>
<div class="grid-stats-mental-value">
<input type="number" class="page-number-main" name="attr_mental">
<button type='roll' value='/me effectue un jet de Mental ! [[1d100cs<5cf>96]] vs: [[@{mental}+@{instinctJ}+@{instinctRMalus}+@{savoirJ}+@{savoirRMalus}+@{mod}]]' name='roll_Mental'></button>
</div>
<div class="grid-stats-puissance">
<span data-i18n="puissance">Puissance </span>
</div>
<div class="grid-stats-finesse">
<span data-i18n="finesse">Finesse </span>
</div>
<div class="grid-stats-aura">
<span data-i18n="aura">Aura </span>
</div>
<div class="grid-stats-relations">
<span data-i18n="relations">Relations </span>
</div>
<div class="grid-stats-instinct">
<span data-i18n="instinct">Instinct </span>
</div>
<div class="grid-stats-savoir">
<span data-i18n="savoir">Savoir </span>
</div>
<!-- On définit en caché les jets possibles pour les sous-catégories des stats principales -->
<input type="number" disabled="true" class="page-query" value="?{type de dé|d6, 1d6cs1cf6|d8, 1d8cs1cf8|d10, 1d10cs1cf10|d12, 1d12cs1cf12|d20, 1d20cs1cf20}" name="attr_query">
<div class="grid-stats-puissance-value">
<input type="number" class="page-number" name="attr_puissance">
<!-- On lance le dés choisi par le joeur dans la query ci-dessus et on compare à la stat + le modificateur de bonus/malus -->
<button type='roll' value="/me effectue un jet de Puissance ! [[@{query}]] vs: [[(@{puissance}+@{puissance_bonus}+@{puissanceJ}/10+@{mod})*@{puissanceR}]]" name='roll_Puissance'></button>
</div>
<div class="grid-stats-finesse-value">
<input type="number" class="page-number" name="attr_finesse">
<button type='roll' value="/me effectue un jet de Finesse ! [[@{query}]] vs: [[(@{finesse}+@{finesse_bonus}+@{finesseJ}/10+@{mod})*@{finesseR}]]" name='roll_Finesse'></button>
</div>
<div class="grid-stats-aura-value">
<input type="number" class="page-number" name="attr_aura">
<button type='roll' value="/me effectue un jet d'Aura ! [[@{query}]] vs: [[(@{aura}+@{aura_bonus}+@{auraJ}/10+@{mod})*@{auraR}]]" name='roll_Aura'></button>
</div>
<div class="grid-stats-relations-value">
<input type="number" class="page-number" name="attr_relation">
<button type='roll' value="/me effectue un jet de Relations ! [[@{query}]] vs: [[(@{relation}+@{relation_bonus}+@{relationJ}/10+@{mod})*@{relationR}]]" name='roll_Relations'></button>
</div>
<div class="grid-stats-instinct-value">
<input type="number" class="page-number" name="attr_instinct">
<button type='roll' value="/me effectue un jet d'Instinct ! [[@{query}]] vs: [[(@{instinct}+@{instinct_bonus}+@{instinctJ}/10+@{mod})*@{instinctR}]]" name='roll_Instinct'></button>
</div>
<div class="grid-stats-savoir-value">
<input type="number" class="page-number" name="attr_savoir">
<button type='roll' value="/me effectue un jet de Savoir ! [[@{query}]] vs: [[(@{savoir}+@{savoir_bonus}+@{savoirJ}/10+@{mod})*@{savoirR}]]" name='roll_Savoir'></button>
</div>
<!-- Cartons de malus jaunes/rouges -->
<div class="grid-carton-puissance">
<input type='checkbox' class="page-carton-jaune" name='attr_puissance_jaune'/>
<input type='checkbox' class="page-carton-rouge" name='attr_puissance_rouge'/>
<!-- On définit la valeur des cartons, 0 par défaut -->
<input name="attr_puissanceJ" type="hidden" value="0">
<input name="attr_puissanceR" type="hidden" value="1">
<input name="attr_puissanceRMalus" type="hidden" value="0">
</div>
<div class="grid-carton-finesse">
<input type='checkbox' class="page-carton-jaune" name='attr_finesse_jaune'/>
<input type='checkbox' class="page-carton-rouge" name='attr_finesse_rouge'/>
<input name="attr_finesseJ" type="hidden" value="0">
<input name="attr_finesseR" type="hidden" value="1">
<input name="attr_finesseRMalus" type="hidden" value="0">
</div>
<div class="grid-carton-aura">
<input type='checkbox' class="page-carton-jaune" name='attr_aura_jaune'/>
<input type='checkbox' class="page-carton-rouge" name='attr_aura_rouge'/>
<input name="attr_auraJ" type="hidden" value="0">
<input name="attr_auraR" type="hidden" value="1">
<input name="attr_auraRMalus" type="hidden" value="0">
</div>
<div class="grid-carton-relation">
<input type='checkbox' class="page-carton-jaune" name='attr_relation_jaune'/>
<input type='checkbox' class="page-carton-rouge" name='attr_relation_rouge'/>
<input name="attr_relationJ" type="hidden" value="0">
<input name="attr_relationR" type="hidden" value="1">
<input name="attr_relationRMalus" type="hidden" value="0">
</div>
<div class="grid-carton-instinct">
<input type='checkbox' class="page-carton-jaune" name='attr_instinct_jaune'/>
<input type='checkbox' class="page-carton-rouge" name='attr_instinct_rouge'/>
<input name="attr_instinctJ" type="hidden" value="0">
<input name="attr_instinctR" type="hidden" value="1">
<input name="attr_instinctRMalus" type="hidden" value="0">
</div>
<div class="grid-carton-savoir">
<input type='checkbox' class="page-carton-jaune" name='attr_savoir_jaune'/>
<input type='checkbox' class="page-carton-rouge" name='attr_savoir_rouge'/>
<input name="attr_savoirJ" type="hidden" value="0">
<input name="attr_savoirR" type="hidden" value="1">
<input name="attr_savoirRMalus" type="hidden" value="0">
</div>
<!-- Bonus de sous-stats -->
<div class="grid-stats-bonus">
<span data-i18n="bonus">Bonus </span>
</div>
<!-- Valeurs des bonus de sous-stats -->
<div class="grid-bonus-puissance">
<input type="number" class="page-number" name="attr_puissance_bonus" value="0">
</div>
<div class="grid-bonus-finesse">
<input type="number" class="page-number" name="attr_finesse_bonus" value="0">
</div>
<div class="grid-bonus-aura">
<input type="number" class="page-number" name="attr_aura_bonus" value="0">
</div>
<div class="grid-bonus-relation">
<input type="number" class="page-number" name="attr_relation_bonus" value="0">
</div>
<div class="grid-bonus-instinct">
<input type="number" class="page-number" name="attr_instinct_bonus" value="0">
</div>
<div class="grid-bonus-savoir">
<input type="number" class="page-number" name="attr_savoir_bonus" value="0">
</div>
<!--Detail des bonus-->
<div class="grid-bonus-detail">
<textarea class="bonus-detail" spellcheck="false" name="attr_bonus_detail" data-i18n-placeholder="bonusdetails" placeholder="Détails des bonus"></textarea>
</div>
<!-- Avantage ou désavantage actif ? Sert de rappel pour le joueur/MJ -->
<div class="grid-avantage">
<span data-i18n="avantage">Avantage </span>
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/img/chained-heart.png" width="15px" height="15px">
<input type='checkbox' name='attr_avantage'/>
| <span data-i18n="desavantage">Désavantage </span>
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/img/broken-heart.png" width="12px" height="12px">
<input type='checkbox' name='attr_desavantage' />
</div>
</div>
<!-- Stats ingame : Lvl, PV, Psy, ect... -->
<div class="grid-stats-ingame">
<div class="grid-stats-lvl">
<span data-i18n="niveau">Niveau </span>
</div>
<div class="grid-stats-lvl-value">
<input type="number" class="page-number-main" name="attr_niveau">
</div>
<div class="grid-stats-pv">
<span data-i18n="sante">Santé </span>
</div>
<div class="grid-stats-pv-value">
<input type="number" class="page-number-main" name="attr_sante">
/
<input type="number" class="page-number-bar-max" name="attr_sante_max">
</div>
<div class="grid-stats-psy">
<span data-i18n="psy">Psy </span>
</div>
<div class="grid-stats-psy-value">
<input type="number" class="page-number-main" name="attr_psy">
/
<input type="number" class="page-number-bar-max" name="attr_psy_max">
</div>
<div class="grid-stats-posture">
<span data-i18n="postureBase">Posture de base </span>
</div>
<div class="grid-stats-posture-value">
<select name="attr_posture" class="page-select">
<option value="posture" data-i18n="posture" selected>Posture </option>
<option value="offensif" data-i18n="offensif">Offensif </option>
<option value="defensif" data-i18n="defensif">Défensif </option>
<option value="focus" data-i18n="focus">Focus </option>
</select>
</div>
<!--Gestion des dés d'aventures et de mésaventures
possible d'utiliser le script suivant pour synchroniser le changement sur toutes les fiches de perso :
https://github.com/Roll20/roll20-api-scripts/blob/master/ChatSetAttr/README.md-->
<div class="grid-des-aventures-des">
<span data-i18n="desAventures">Dés d'aventures</span>
<button type='roll' value="&{template:default} {{name=lance un dés d'aventures}} {{Roll=[[1d6]]}} {{1-2=Déplacement.}} {{3-4=Posture.}} {{5-6=In extremis.}}" name='roll_desAventures_button'></button>
</div>
<div class="grid-des-aventures-reste">
<span data-i18n="restant">Restant : </span>
<input type="number" class="page-number" name="attr_desAventures" value="2"/>
<button type="action" name="act_aventureDice" class="des_buttons" ><img
src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/img/minus.png"
width="10px"/></button>
</div>
<div class="grid-des-mesaventures-des">
<span data-i18n="desMesaventures">Dés de mésaventures</span>
<button type='roll' value="&{template:default} {{name=lance un dés de mésaventures}} {{Roll=[[1d6]]}} {{1-2=Déplacement.}} {{3-4=Posture.}} {{5-6=In extremis.}}" name='roll_desMesaventures_button'></button>
</div>
<div class="grid-des-mesaventures-reste">
<span data-i18n="restant">Restant : </span>
<input type="number" class="page-number" name="attr_desMesaventures" value="2"/>
<button type="action" name="act_mesaventureDice" class="des_buttons" ><img
src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/img/minus.png"
width="10px"/></button>
</div>
</div>
</div>
</div>
<!-- Mise en place des tabs, par défaut sur competences -->
<input type="hidden" class="page-tabstoggle" name="attr_pageTab" value="competences"/>
<div class="tab" name="attr_tab">
<button class="tablinks" type="action" name="act_competences"><span data-i18n="competences">Compétences </span></button>
<button class="tablinks" type="action" name="act_equipement"><span data-i18n="equipement">Équipement </span></button>
</div>
<div class="page-competences">
<!-- Compétences et dons -->
<div class="page-block">
<div class="page-head">
<span data-i18n="competencesetdons">Compétences et dons </span>
</div>
<div class="grid-competences-dons">
<!-- Répétitions de compétences, création de ligne à la volé -->
<div class='grid-competences'>
<span data-i18n="competences">Compétences </span>
<div>
<input type="text" class="page-text-competence" spellcheck="false" name="attr_competence_3" data-i18n-placeholder="competencenom" placeholder="Nom de la compétence"/>
<select name="attr_competence_attr" class="page-select">
<option value="0" data-i18n="attribut" selected>Attribut</option>
<option value="[[@{physique}+@{puissanceJ}+@{puissanceRMalus}+@{finesseJ}+@{finesseRMalus}+@{mod}]]" data-i18n="physique">Physique</option>
<option value="[[@{social}+@{auraJ}+@{auraRMalus}+@{relationJ}+@{relationRMalus}+@{mod}]]" data-i18n="social">Social</option>
<option value="[[@{mental}+@{instinctJ}+@{instinctRMalus}+@{savoirJ}+@{savoirRMalus}+@{mod}]]" data-i18n="mental">Mental</option>
</select>
+
<input type="number" class="page-number-long" name="attr_competence_4">
<!-- On lance un test de compétence en prenant en compte la stat principale + le bonus de compétence + le modificateur de bonus/malus -->
<button type='roll' value="/me teste sa compétence @{competence_3} ! [[1d100cs<5cf>96]] vs: [[@{competence_attr}+@{competence_4}+@{mod}]]" name='roll_Comp'></button>
</div>
<fieldset class="repeating_competences">
<div>
<input type="text" class="page-text-competence" spellcheck="false" name="attr_competence_3" data-i18n-placeholder="competencenom" placeholder="Nom de la compétence"/>
<select name="attr_competence_attr" class="page-select">
<option value="0" data-i18n="attribut">Attribut</option>
<option value="[[@{physique}+@{puissanceJ}+@{puissanceRMalus}+@{finesseJ}+@{finesseRMalus}+@{mod}]]" data-i18n="physique">Physique</option>
<option value="[[@{social}+@{auraJ}+@{auraRMalus}+@{relationJ}+@{relationRMalus}+@{mod}]]" data-i18n="social">Social</option>
<option value="[[@{mental}+@{instinctJ}+@{instinctRMalus}+@{savoirJ}+@{savoirRMalus}+@{mod}]]" data-i18n="mental">Mental</option>
</select>
+
<input type="number" class="page-number-long" name="attr_competence_4">
<!-- On lance un test de compétence en prenant en compte la stat principale + le bonus de compétence + le modificateur de bonus/malus -->
<button type='roll' value="/me teste sa compétence @{competence_3} ! [[1d100cs<5cf>96]] vs: [[@{competence_attr}+@{competence_4}+@{mod}]]" name='roll_Comp'></button>
</div>
</fieldset>
</div>
<!-- Répétitions de dons, création de ligne à la volé -->
<div class='grid-dons'>
<span data-i18n="dons">Dons </span>
<div> <!--Création d'une première ligne-->
<input type="text" class="page-text-don" spellcheck="false" name="attr_dons_3" data-i18n-placeholder="donname" placeholder="Nom du don"/>
<input type="number" data-i18n-placeholder="psy" placeholder="Psy" class="page-number-don-cost" name="attr_dons_4">
<input type="number" name="attr_don_dmgdice" class="page-number" placeholder="1">
<select name="attr_don_dX" class="page-comp-dX-select" data-i18n-placeholder="type" placeholder="Type">
<option value="x">d?</option>
<option value="d4">d4</option>
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="d20">d20</option>
</select>
+
<input type="number" name="attr_don_mod" class="page-number" placeholder="0">
<button type='roll' value="/me lance le sort @{dons_3} et inflige [[(@{don_dmgdice}@{don_dX})+@{don_mod}+@{mod}]] !" name='roll_dmg'></button>
</div>
<fieldset class="repeating_dons">
<div> <!--Création de lignes supplémentaires-->
<input type="text" class="page-text-don" spellcheck="false" name="attr_dons_3" data-i18n-placeholder="donname" placeholder="Nom du don"/>
<input type="number" data-i18n-placeholder="psy" placeholder="Psy" class="page-number-don-cost" name="attr_dons_4">
<input type="number" name="attr_don_dmgdice" class="page-number" placeholder="1">
<select name="attr_don_dX" class="page-comp-dX-select" data-i18n-placeholder="type" placeholder="Type">
<option value="x">d?</option>
<option value="d4">d4</option>
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="d20">d20</option>
</select>
+
<input type="number" name="attr_don_mod" class="page-number" placeholder="0">
<!-- On lance le don et les dégâts de celui-ci. Attention, le coût en psy n'est pas retiré automatiquement, les macros roll20 ne le permettent pas -->
<button type='roll' value="/me lance le sort @{dons_3} et inflige [[(@{don_dmgdice}@{don_dX})+@{don_mod}+@{mod}]] !" name='roll_dmg'></button>
</div>
</fieldset>
</div>
</div>
<div class="grid-competences-passiv">
<span data-i18n="passives">Passives </span> <br>
<textarea class="textarea.passiv" spellcheck="false" name="attr_competencespassives" data-i18n-placeholder="passivesdetails" placeholder="Compétences passives" ></textarea>
</div>
</div>
</div>
<div class="page-equipement">
<!-- Equipement -->
<div class="page-block">
<div class="page-head">
<span data-i18n="equipement">Équipement </span>
</div>
<div class="grid-equipement">
<!-- Répétitions d'armes, création de ligne à la volé -->
<div class="grid-armes">
<span data-i18n="armes">Armes </span>
<div>
<input type="text" class="page-arme" spellcheck="false" name="attr_arme" data-i18n-placeholder="armenom" placeholder="Nom de l'arme" />
<select name="attr_arme_type" class="page-select">
<option value="" data-i18n="type">Type</option>
<option value="perforant" data-i18n="perforant">Perforant</option>
<option value="tranchant" data-i18n="tranchant">Tranchant</option>
<option value="contondant" data-i18n="contondant">Contondant</option>
</select>
<input type="number" name="attr_dmgdice" class="page-number" placeholder="1">
<select name="attr_dX" class="page-comp-dX-select" data-i18n-placeholder="type" placeholder="Type">
<option value="x">d?</option>
<option value="d4">d4</option>
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="d20">d20</option>
</select>
+
<input type="number" class="page-number" name="attr_dmgmod">
<!-- On affiche le nombre de dégât en prenant en compte les dégâts fixes et le type de dégât en fonction de l'arme -->
<button type='roll' value='/me inflige [[(@{dmgdice}@{dX})+@{dmgmod}]] de dégâts @{arme_type} avec @{arme} !' name='roll_dmg'></button>
</div>
<fieldset class="repeating_weapons">
<div>
<input type="text" class="page-arme" spellcheck="false" name="attr_arme" data-i18n-placeholder="armenom" placeholder="Nom de l'arme" />
<select name="attr_arme_type" class="page-select">
<option value="" data-i18n="type">Type</option>
<option value="perforant" data-i18n="perforant">Perforant</option>
<option value="tranchant" data-i18n="tranchant">Tranchant</option>
<option value="contondant" data-i18n="contondant">Contondant</option>
</select>
<input type="number" name="attr_dmgdice" class="page-number" placeholder="1">
<select name="attr_dX" class="page-comp-dX-select" data-i18n-placeholder="type" placeholder="Type">
<option value="x">d?</option>
<option value="d4">d4</option>
<option value="d6">d6</option>
<option value="d8">d8</option>
<option value="d10">d10</option>
<option value="d12">d12</option>
<option value="d20">d20</option>
</select>
+
<input type="number" class="page-number" name="attr_dmgmod">
<!-- On affiche le nombre de dégât en prenant en compte les dégâts fixes et le type de dégât en fonction de l'arme -->
<button type='roll' value='/me inflige [[(@{dmgdice}@{dX})+@{dmgmod}]] de dégâts @{arme_type} avec @{arme} !' name='roll_dmg'></button>
</div>
</fieldset>
</div>
<!-- Répétitions d'armures, création de ligne à la volé -->
<div class="grid-armure">
<span data-i18n="armure">Armure </span>
<div>
<input type="text" class="page-armure" spellcheck="false" name="attr_equipement_7" data-i18n-placeholder="armurenom" placeholder="Nom de l'armure" />
<input type="number" class="page-number-long" name="attr_equipement_8" data-i18n-placeholder="physiquereduit" placeholder="Phy" />
</div>
<fieldset class="repeating_equipements2">
<div>
<input type="text" class="page-armure" spellcheck="false" name="attr_equipement_7" data-i18n-placeholder="armurenom" placeholder="Nom de l'armure" />
<input type="number" class="page-number-long" name="attr_equipement_8" data-i18n-placeholder="physiquereduit" placeholder="Phy" />
</div>
</fieldset>
</div>
<!-- Répétitions d'équipements, création de ligne à la volé -->
<div class="grid-sac">
<span data-i18n="equipementtotal">Equipement total </span>
<div>
<input type="text" class="page-objet-nom" spellcheck="false" name="attr_equipement_5" data-i18n-placeholder="objet" placeholder="Objet" />
<input type="number" class="page-number-long" spellcheck="false" name="attr_equipement_6" data-i18n-placeholder="quantitereduit" placeholder="Qté" />
</div>
<fieldset class="repeating_equipements1">
<div>
<input type="text" class="page-objet-nom" spellcheck="false" name="attr_equipement_5" data-i18n-placeholder="objet" placeholder="Objet" />
<input type="number" class="page-number-long" spellcheck="false" name="attr_equipement_6" data-i18n-placeholder="quantitereduit" placeholder="Qté" />
</div>
</fieldset>
</div>
<!-- Champ libre -->
<div class="grid-autre">
<span data-i18n="autres">Autres </span>
<div>
<textarea class="textarea.autres" spellcheck="false" name="attr_autre" data-i18n-placeholder="autres" placeholder="Autres" ></textarea>
</div>
</div>
</div>
</div>
</div>
<!-- Active/Desactive l'ajout d'une boite de dialogue pour ajouter des bonus/malus aux jets -->
<div class="page-options">
<span data-i18n="jetbonusmalus">Bonus/Malus dans les jets : </span> <input type="checkbox" value="?{Bonus/malus|0}[mod]" name="attr_mod" checked="true">
</div>
</div>
</div>
<div class="ver"> Ver. 3.0 </div><!-- Version format: [Nb de prod].[Modifs post-prod] -->
<!-- Scripts -->
<script type="text/worker">
//Lignes d'équipement total
on('change:repeating_equipements remove:repeating_equipements', function() {
repeatingSum("poids_total","equipements",["equipement_poids","equipement_nombre"]);
});
//IDs des nouvelles lignes créées à la volée
on(`page:opened`, function() {
getAttrs(["code_version","competence_1","competence_2","don_1","don_2","equipement_1","equipement_2","equipement_3","equipement_4"], values => {
let version = parseInt(values.code_version)||0;
if(version < 1) {
var newrowattrs = {};
newrowattrs['code_version'] = 1;
newrowid = generateRowID();
newrowattrs["repeating_competences_" + newrowid + "_competence_3"] = values.competence_1;
newrowattrs["repeating_competences_" + newrowid + "_competence_4"] = values.competence_2;
newrowid = generateRowID();
newrowattrs["repeating_dons_" + newrowid + "_dons_3"] = values.don_1;
newrowattrs["repeating_dons_" + newrowid + "_dons_4"] = values.don_2;
newrowattrs["repeating_dons_" + newrowid + "_don_dmgdice"] = "values.don_dmgdice";
newrowattrs["repeating_dons_" + newrowid + "_don_dX"] = "values.don_dX";
newrowattrs["repeating_dons_" + newrowid + "_don_mod"] = "values.don_mod";
newrowid = generateRowID();
newrowattrs["repeating_weapons_" + newrowid + "_arme"] = "values.arme";
newrowattrs["repeating_weapons_" + newrowid + "_arme_type"] = "values.arme_type";
newrowattrs["repeating_weapons_" + newrowid + "_dmgdice"] = "values.dmgdice";
newrowattrs["repeating_weapons_" + newrowid + "_dX"] = "values.dX";
newrowattrs["repeating_weapons_" + newrowid + "_dmgmod"] = "values.dmgmod";
newrowid = generateRowID();
newrowattrs["repeating_equipements1_" + newrowid + "_equipement_5"] = values.equipement_1;
newrowattrs["repeating_equipements1_" + newrowid + "_equipement_6"] = values.equipement_2;
newrowid = generateRowID();
newrowattrs["repeating_equipements2_" + newrowid + "_equipement_7"] = values.equipement_3;
newrowattrs["repeating_equipements2_" + newrowid + "_equipement_8"] = values.equipement_4;
setAttrs(newrowattrs);
}
});
});
// Scripts de gestion des dés d'aventures et mésaventures
on('clicked:aventureDice', function() {
getAttrs(['desAventures', "desMesaventures"], function(values) {
let nbAventures = parseInt(values.desAventures)||0;
let nbMesaventures = parseInt(values.desMesaventures)||0;
if (nbAventures != 0) {
setAttrs({
desAventures: nbAventures-1,
desMesaventures: nbMesaventures+1
});
} else {
}
});
});
on('clicked:mesaventureDice', function() {
getAttrs(['desAventures', "desMesaventures"], function(values) {
let nbAventures = parseInt(values.desAventures)||0;
let nbMesaventures = parseInt(values.desMesaventures)||0;
if (nbMesaventures != 0) {
setAttrs({
desAventures: nbAventures+1,
desMesaventures: nbMesaventures-1
});
} else {
}
});
});
// Scripts de calcul des malus de cartons jaune et rouge
//Applique -10% aux jets de Physique et -1 aux jets de puissance
on('change:puissance_jaune', function() {
getAttrs(['puissance_jaune', "puissanceJ"], function(values) {
if (values.puissance_jaune == 'on') {
setAttrs({
puissanceJ: -10
});
} else {
setAttrs({
puissanceJ: 0
});
}
});
});
//Applique -(Valeur de puissance * 10)% aux jets de Physique et empèche les jets de puissance
on('change:puissance_rouge ; puissance_jaune', function() {
getAttrs(['puissance_rouge', "puissanceR", "puissanceRMalus", "puissance", "puissance_bonus", "puissanceJ"], function(values) {
let puissanceMalus = parseInt(values.puissanceRMalus)||0;
let puissance = parseInt(values.puissance)||0;
let puissanceBonus = parseInt(values.puissance_bonus)||0;
let puissanceJ = parseInt(values.puissanceJ)||0;
puissanceMalus = (puissance + puissanceBonus -1) * -10;
if (values.puissance_rouge == 'on') {
setAttrs({
puissanceRMalus: puissanceMalus,
puissanceR: 0
});
} else {
setAttrs({
puissanceRMalus: 0,
puissanceR: 1
});
}
});
});
//Applique -10% aux jets de Physique et -1 aux jets de finesse
on('change:finesse_jaune', function() {
getAttrs(['finesse_jaune', "finesseJ"], function(values) {
if (values.finesse_jaune == 'on') {
setAttrs({
finesseJ: -10
});
} else {
setAttrs({
finesseJ: 0
});
}
});
});
//Applique -(Valeur de finesse * 10)% aux jets de Physique et empèche les jets de finesse
on('change:finesse_rouge ; finesse_jaune', function() {
getAttrs(['finesse_rouge', "finesseR", "finesseRMalus", "finesse", "finesse_bonus", "finesseJ"], function(values) {
let finesseMalus = parseInt(values.finesseRMalus)||0;
let finesse = parseInt(values.finesse)||0;
let finesseBonus = parseInt(values.finesse_bonus)||0;
let finesseJ = parseInt(values.finesseJ)||0;
finesseMalus = (finesse + finesseBonus -1) * -10;
if (values.finesse_rouge == 'on') {
setAttrs({
finesseRMalus: finesseMalus,
finesseR: 0
});
} else {
setAttrs({
finesseRMalus: 0,
finesseR: 1
});
}
});
});
//Applique -10% aux jets de Social et -1 aux jets de aura
on('change:aura_jaune', function() {
getAttrs(['aura_jaune', "auraJ"], function(values) {
if (values.aura_jaune == 'on') {
setAttrs({
auraJ: -10
});
} else {
setAttrs({
auraJ: 0
});
}
});
});
//Applique -(Valeur de aura * 10)% aux jets de Social et empèche les jets de aura
on('change:aura_rouge ; aura_jaune', function() {
getAttrs(['aura_rouge', "auraR", "auraRMalus", "aura", "aura_bonus", "auraJ"], function(values) {
let auraMalus = parseInt(values.auraRMalus)||0;
let aura = parseInt(values.aura)||0;
let auraBonus = parseInt(values.aura_bonus)||0;
let auraJ = parseInt(values.auraJ)||0;
auraMalus = (aura + auraBonus -1) * -10;
if (values.aura_rouge == 'on') {
setAttrs({
auraRMalus: auraMalus,
auraR: 0
});
} else {
setAttrs({
auraRMalus: 0,
auraR: 1
});
}
});
});
//Applique -10% aux jets de Social et -1 aux jets de relation
on('change:relation_jaune', function() {
getAttrs(['relation_jaune', "relationJ"], function(values) {
if (values.relation_jaune == 'on') {
setAttrs({
relationJ: -10
});
} else {
setAttrs({
relationJ: 0
});
}
});
});
//Applique -(Valeur de relation * 10)% aux jets de Social et empèche les jets de relation
on('change:relation_rouge ; relation_jaune', function() {
getAttrs(['relation_rouge', "relationR", "relationRMalus", "relation", "relation_bonus", "relationJ"], function(values) {
let relationMalus = parseInt(values.relationRMalus)||0;
let relation = parseInt(values.relation)||0;
let relationBonus = parseInt(values.relation_bonus)||0;
let relationJ = parseInt(values.relationJ)||0;
relationMalus = (relation + relationBonus -1) * -10;
if (values.relation_rouge == 'on') {
setAttrs({
relationRMalus: relationMalus,
relationR: 0
});
} else {
setAttrs({
relationRMalus: 0,
relationR: 1
});
}
});
});
//Applique -10% aux jets de Mental et -1 aux jets de instinct
on('change:instinct_jaune', function() {
getAttrs(['instinct_jaune', "instinctJ"], function(values) {
if (values.instinct_jaune == 'on') {
setAttrs({
instinctJ: -10
});
} else {
setAttrs({
instinctJ: 0
});
}
});
});
//Applique -(Valeur de instinct * 10)% aux jets de Mental et empèche les jets de instinct
on('change:instinct_rouge ; instinct_jaune', function() {
getAttrs(['instinct_rouge', "instinctR", "instinctRMalus", "instinct", "instinct_bonus", "instinctJ"], function(values) {
let instinctMalus = parseInt(values.instinctRMalus)||0;
let instinct = parseInt(values.instinct)||0;
let instinctBonus = parseInt(values.instinct_bonus)||0;
let instinctJ = parseInt(values.instinctJ)||0;
instinctMalus = (instinct + instinctBonus -1) * -10;
if (values.instinct_rouge == 'on') {
setAttrs({
instinctRMalus: instinctMalus,
instinctR: 0
});
} else {
setAttrs({
instinctRMalus: 0,
instinctR: 1
});
}
});
});
//Applique -10% aux jets de Mental et -1 aux jets de savoir
on('change:savoir_jaune', function() {
getAttrs(['savoir_jaune', "savoirJ"], function(values) {
if (values.savoir_jaune == 'on') {
setAttrs({
savoirJ: -10
});
} else {
setAttrs({
savoirJ: 0
});
}
});
});
//Applique -(Valeur de savoir * 10)% aux jets de Mental et empèche les jets de savoir
on('change:savoir_rouge ; savoir_jaune', function() {
getAttrs(['savoir_rouge', "savoirR", "savoirRMalus", "savoir", "savoir_bonus", "savoirJ"], function(values) {
let savoirMalus = parseInt(values.savoirRMalus)||0;
let savoir = parseInt(values.savoir)||0;
let savoirBonus = parseInt(values.savoir_bonus)||0;
let savoirJ = parseInt(values.savoirJ)||0;
savoirMalus = (savoir + savoirBonus -1) * -10;
if (values.savoir_rouge == 'on') {
setAttrs({
savoirRMalus: savoirMalus,
savoirR: 0
});
} else {
setAttrs({
savoirRMalus: 0,
savoirR: 1
});
}
});
});
//Gestion des tabs
const buttontablist = ["competences","equipement"];
buttontablist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
pageTab: button
});
});
});
</script>