Files
roll20-character-sheets-tester/Aventures/Aventures.html
T
2021-12-28 22:46:31 +01:00

741 lines
37 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/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">
Personnage
</div>
<div class="grid-character">
<div class="grid-character-nom">
Nom : <input type="text" class="page-input-text" spellcheck="false" name="attr_Nomperso" placeholder="Nom"/>
</div>
<div class="grid-character-race">
Race : <input type="text" class="page-input-text" spellcheck="false" name="attr_character_race" placeholder="Race"/>
</div>
<div class="grid-character-classe">
Classe : <input type="text" class="page-input-text" spellcheck="false" name="attr_character_classe" placeholder="Classe"/>
</div>
<div class="grid-character-element">
Élement : <input type="text" class="page-input-text" spellcheck="false" name="attr_character_element" placeholder="Élement"/>
</div>
<div class="grid-character-themes">
Thèmes :<br>
<textarea class="themes-langues" spellcheck="false" name="attr_character_themes" placeholder="Thèmes"></textarea>
</div>
<div class="grid-character-langues">
Langues connues :<br>
<textarea class="themes-langues" spellcheck="false" name="attr_character_langues" placeholder="Langues connues"></textarea>
</div>
<div class="grid-character-vocation">
Vocation :<br>
<textarea class="vocation" spellcheck="false" name="attr_character_vocation" placeholder="Vocation"></textarea>
</div>
</div>
</div>
<!-- Stats du personnage-->
<div class="page-block">
<div class="page-head">
Statistiques
</div>
<div class="grid-global-stats">
<!-- Stats principales et secondaires : exemple Physique - Puissance - Agilité -->
<div class="grid-stats">
<div class="grid-stats-physique">
Physique
</div>
<div class="grid-stats-social">
Social
</div>
<div class="grid-stats-mental">
Mental
</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">
Puissance
</div>
<div class="grid-stats-finesse">
Finesse
</div>
<div class="grid-stats-aura">
Aura
</div>
<div class="grid-stats-relations">
Relations
</div>
<div class="grid-stats-instinct">
Instinct
</div>
<div class="grid-stats-savoir">
Savoir
</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, 1d4cs1cf4}" 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">
Bonus
</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" placeholder=""></textarea>
</div>
<!-- Avantage ou désavantage actif ? Sert de rappel pour le joueur/MJ -->
<div class="grid-avantage">
Avantage
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/chained-heart.png" width="15px" height="15px">
<input type='checkbox' name='attr_avantage'/>
| Désavantage
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Aventures/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">
Niveau
</div>
<div class="grid-stats-lvl-value">
<input type="number" class="page-number-main" name="attr_niveau">
</div>
<div class="grid-stats-pv">
Santé
</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">
Psy
</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">
Posture de base
</div>
<div class="grid-stats-posture-value">
<select name="attr_posture" class="page-select">
<option value="posture" selected>Posture </option>
<option value="offensif">Offensif </option>
<option value="defensif">Défensif </option>
<option value="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">
Dés d'aventures :
<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">
Restant :
<input type="number" class="page-number" name="attr_desAventures" value="2"/>
</div>
<div class="grid-des-mesaventures-des">
Dés de mésaventures :
<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">
Restant :
<input type="number" class="page-number" name="attr_desMesaventures" value="2"/>
</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">Competences</button>
<button class="tablinks" type="action" name="act_equipement">Equipement</button>
</div>
<div class="page-competences">
<!-- Compétences et dons -->
<div class="page-block">
<div class="page-head">
Compétences et dons
</div>
<div class="grid-competences-dons">
<!-- Répétitions de compétences, création de ligne à la volé -->
<div class='grid-competences'>
Compétences
<fieldset class="repeating_competences">
<div>
<input type="text" class="page-text-competence" spellcheck="false" name="attr_competence_3" placeholder="Compétence"/>
<select name="attr_competence_attr" class="page-select">
<option value="0">Attribut</option>
<option value="@{physique}">Physique</option>
<option value="@{social}">Social</option>
<option value="@{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'>
Dons
<fieldset class="repeating_dons">
<div>
<input type="text" class="page-text-don" spellcheck="false" name="attr_dons_3" placeholder="Don"/>
<input type="number" 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" 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>
<!-- 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})+@{mod}]] !" name='roll_dmg'></button>
</div>
</fieldset>
</div>
</div>
<div class="grid-competences-passiv">
Passives <br>
<textarea class="textarea.passiv" spellcheck="false" name="attr_competencespassives" placeholder="Passives" ></textarea>
</div>
</div>
</div>
<div class="page-equipement">
<!-- Equipement -->
<div class="page-block">
<div class="page-head">
Équipement
</div>
<div class="grid-equipement">
<!-- Répétitions d'armes, création de ligne à la volé -->
<div class="grid-armes">
Armes
<fieldset class="repeating_weapons">
<div>
<input type="text" class="page-arme" spellcheck="false" name="attr_arme" placeholder="Arme" />
<select name="attr_arme_type" class="page-select">
<option value="">Type</option>
<option value="perforant">Perforant</option>
<option value="tranchant">Tranchant</option>
<option value="contondant">Contondant</option>
</select>
<input type="number" name="attr_dmgdice" class="page-number" placeholder="1">
<select name="attr_dX" class="page-comp-dX-select" 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">
Armure
<fieldset class="repeating_equipements2">
<div>
<input type="text" class="page-armure" spellcheck="false" name="attr_equipement_7" placeholder="Armure" />
<input type="number" class="page-number-long" name="attr_equipement_8" placeholder="Phy" />
</div>
</fieldset>
</div>
<!-- Répétitions d'équipements, création de ligne à la volé -->
<div class="grid-sac">
Equipement total (Quantité)
<fieldset class="repeating_equipements1">
<div>
<input type="text" class="page-objet-nom" spellcheck="false" name="attr_equipement_5" placeholder="Objet" />
<input type="number" class="page-number-long" spellcheck="false" name="attr_equipement_6" placeholder="Qté" />
</div>
</fieldset>
</div>
<!-- Champ libre -->
<div class="grid-autre">
Autres
<div>
<textarea class="textarea.autres" spellcheck="false" name="attr_autre" 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">
Bonus/malus dans les jets: <input type="checkbox" value="?{Bonus/malus|0}[mod]" name="attr_mod" checked="true">
</div>
</div>
</div>
<div class="ver"> Ver. 2.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;
var newrowid = generateRowID();
newrowattrs["repeating_dons_" + newrowid + "_dons_4"] = " ";
newrowid = generateRowID();
newrowattrs["repeating_equipements1_" + newrowid + "_equipement_6"] = " ";
newrowid = generateRowID();
newrowattrs["repeating_weapons_" + newrowid + "_arme"] = " ";
newrowattrs["repeating_weapons_" + newrowid + "_arme_type"] = " ";
newrowattrs["repeating_weapons_" + newrowid + "_dmgdice"] = " ";
newrowattrs["repeating_weapons_" + newrowid + "_dX"] = " ";
newrowattrs["repeating_weapons_" + newrowid + "_dmgmod"] = " ";
newrowid = generateRowID();
newrowattrs["repeating_equipements2_" + newrowid + "_equipement_8"] = " ";
newrowid = generateRowID();
newrowattrs["repeating_competences_" + newrowid + "_competence_3"] = " ";
newrowattrs["repeating_competences_" + newrowid + "_competence_4"] = " ";
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";
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 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>