mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
855 lines
57 KiB
HTML
855 lines
57 KiB
HTML
<input type="hidden" name="attr_version" value="">
|
||
<input type="hidden" name="attr_life" value="">
|
||
<input type="hidden" name="attr_life_max" value="">
|
||
<input type="hidden" name="attr_totalrois" value="fiche">
|
||
<input type="hidden" name="attr_nameinrolls" value="1">
|
||
<input type="hidden" name="attr_pj_pnj" value="pj">
|
||
<div class="body">
|
||
<input type="hidden" class="tabstoggle" name="attr_optiontab" value=false>
|
||
<button type="action" class="l_options btn-min" name="act_options" title="Afficher/Cacher les options"></button>
|
||
<div class="options">
|
||
<input type="hidden" class="optionsWarning" name="attr_showWarning" value=false>
|
||
<div class="option-warning-div">
|
||
<p style="margin-top: 100px"><b>ATTENTION</b></p>
|
||
<p><span name="attr_warningText"></span></p>
|
||
<button type="action" class="l_calcul-comp1" name="act_validateWarning">Confirmer</button>
|
||
<button type="action" class="l_noconf" name="act_noconf">Annuler</button>
|
||
</div>
|
||
<h1>Options</h1> Type de fiche :
|
||
<select class="opt-field pj_pnj" name="attr_pj-pnj">
|
||
<option value="pj">PJ</option>
|
||
<option value="pnj">PNJ</option>
|
||
</select>
|
||
<hr class="hr_opt">
|
||
<h3>Affichage des jets</h3> Chuchoter les jets au MJ :
|
||
<select class="opt-field" name="attr_privaterolls">
|
||
<option value="/w gm ">Oui (Toujours)</option>
|
||
<option value=" ">Non (Jamais)</option>
|
||
<option value="?{Chuchoter au MJ ?|Oui,/w gm |Non,}">Demander (Oui par défault)</option>
|
||
<option value="?{Chuchoter au MJ ?|Non,|Oui,/w gm }">Demander (Non par défault)</option>
|
||
</select>
|
||
<br> Afficher le nom du personnage lors des jets :
|
||
<select class="opt-field" name="attr_namerolls">
|
||
<option value="1">Oui (Toujours)</option>
|
||
<option value="0">Non (Jamais)</option>
|
||
<option value="3">Demander (Oui par défault)</option>
|
||
<option value="2">Demander (Non par défault)</option>
|
||
</select>
|
||
<hr class="hr_opt">
|
||
<h3>Calculs des compétences</h3>
|
||
<br>
|
||
<p style="position: relative; top: -28px; margin-bottom: -15px; line-height: 15px;">Calcul automatique des compétences en fonction des caractéristiques du personnage.<br>
|
||
<span style="color: #AA0000;">❗ Les compétences seront réinitialisées pour être recalculées.</span>
|
||
</p>Méthode 1 : Calculs prêts à jouer :
|
||
<button type="action" class="l_co-comp1-bu" name="act_skillCalculate1" title="( ( Lien1 + Lien2 ) / 2 ) x 5">Calculer</button>
|
||
<br> Méthode 2 : Calculs pour personnalisation de personnage :
|
||
<button type="action" class="l_co-comp2-bu" name="act_skillCalculate2" title="( Lien1 + Lien2 ) x 2">Calculer</button>
|
||
<br>
|
||
<p style="position: relative; top: -10px;">Il vous restera alors 50 points à répartir</p>
|
||
<hr class="hr_opt">
|
||
<h3>Personnages prétirés</h3>
|
||
<br>
|
||
<p style="position: relative; top: -28px; margin-bottom: -15px; line-height: 15px;">Remplissage automatique de cette fiche avec les données d'un personnage prétiré.
|
||
<br> <span style="color: #AA0000;">❗ Toutes les données de cette fiche seront remplacées.</span></p> Choix du personnage :
|
||
<select class="opt-field" name="attr_selectpretire">
|
||
<option value="0">-</option>
|
||
<option value="1">[Prélude] Reveka Cosovei (Sorcière)</option>
|
||
<option value="2">[Prélude] Taloche (Prodige, Écuyer)</option>
|
||
<option value="3">Zavrazhny Rustem (Alchimiste)</option>
|
||
<option value="4">Philinda Marteline (Aventurière)</option>
|
||
<option value="5">Calisse Lapointe (Combattante)</option>
|
||
<option value="6">Honorin Bicastre (Mage de l'académie d'Aria)</option>
|
||
<option value="7">Odéryse Lamarche (Miséricordieuse)</option>
|
||
<option value="8">Ambroise-Gabriel Francœur (Noble)</option>
|
||
<option value="9">Basilis Presteroi (Voleur)</option>
|
||
<option value="10">Demetrius Petralis (Mage de Varna (Bouclier))</option>
|
||
<option value="11">Calliope Appolosia (Mage de Varna (Flamme))</option>
|
||
</select>
|
||
<button type="action" class="l_pretire-bu" name="act_pretire-bu">Valider</button>
|
||
<hr class="hr_opt"> </div>
|
||
<div class="fiche">
|
||
<input type="hidden" class="toggle-pj-pnj" name="attr_pj-pnj" value="pj">
|
||
<div class="fiche-pnj">
|
||
<div class="gridPJ">
|
||
<div class="column1 mainsection">
|
||
<!------------- PNJ -------------->
|
||
<div class="titre">PNJ</div>
|
||
<div class="singleinput">
|
||
<span>Nom :</span>
|
||
<div class="inputelement blockinput">
|
||
<input name="attr_character_name" type="text">
|
||
<input name="attr_profession" type="text" placeholder="Profession">
|
||
</div>
|
||
</div>
|
||
<!---------- COMPETENCES PNJ ----------->
|
||
<div class="npcskills">
|
||
<div class="npcskillsgrid skillheader">
|
||
<span class="column2">Compétences</span>
|
||
<span class="column3to4">Score</span>
|
||
</div>
|
||
<fieldset class="repeating_specialskills">
|
||
<div class="npcskillsgrid">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=@{specialskill_name}}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=@{specialskill_name} : @{specialskill_score}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<input class="column2" name="attr_specialskill_name" type="text" placeholder="" title="@{specialskill_name}">
|
||
<input class="column3" name="attr_specialskill_score" type="text" placeholder="" title="@{specialskill_score}">
|
||
<span class="column4">%</span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<!--------- VIVRE OU SURVIVRE ---------->
|
||
<div class="column2 mainsection">
|
||
<div class="titre">Vivre ou survivre</div>
|
||
<fieldset class="repeating_weapon">
|
||
<div class="margin-bottom weaponcontainer">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Attaque}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=@{arme} (@{degats})}} {{roll=[[@{degats}cf<0cs<0]]}}"></button>
|
||
<div class="weaponinput">
|
||
<input name="attr_arme" type="text">
|
||
<span>Arme</span>
|
||
<span>Dégâts</span>
|
||
</div>
|
||
<input class="roundinput" name="attr_degats" type="text">
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<!--------------- SANTE ---------------->
|
||
<div class="column3 mainsection">
|
||
<div class="centeredelement">
|
||
<div class="roundinputcontainer">
|
||
<input class="roundinput" name="attr_vie" type="text" value="0" title="@{vie} (ou @{life_max})">
|
||
<span>Points de vie</span>
|
||
</div>
|
||
</div>
|
||
<div class="centeredelement">
|
||
<div class="roundinputcontainer">
|
||
<input class="roundinput" name="attr_blessures" type="text" value="0">
|
||
<span>Blessures</span>
|
||
</div>
|
||
</div>
|
||
<div class="centeredelement">
|
||
<div class="roundinputcontainer">
|
||
<input class="roundinput" name="attr_protection" type="text" value="0">
|
||
<span>Protection</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="mainsection">
|
||
<span>Notes</span>
|
||
<textarea style="height: 190px;" name="attr_notes"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="fiche-pj">
|
||
<div class="gridPJ">
|
||
<div class="column1 mainsection">
|
||
<!------------- AVENTURIER -------------->
|
||
<div class="titre">Aventurier</div>
|
||
<div class="singleinput">
|
||
<span>Nom :</span>
|
||
<div class="inputelement blockinput">
|
||
<input name="attr_character_name" type="text">
|
||
<input name="attr_profession" type="text" placeholder="Profession">
|
||
</div>
|
||
</div>
|
||
<div class="singleinput">
|
||
<span>Âge :</span>
|
||
<input class="smallinput" name="attr_age" type="text">
|
||
</div>
|
||
<!---------- CARACTERISTIQUES ----------->
|
||
<div class="carac mainsection">
|
||
<div class="titre">Caractéristiques</div>
|
||
<div class="gridcarac margin-bottom">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Force}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Force : @{force}}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
<span>Force :</span>
|
||
<input class="smallinput" name="attr_force" type="text">
|
||
</div>
|
||
<div class="gridcarac margin-bottom">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Dextérité}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Dextérité : @{dexterite}}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
<span>Dextérité :</span>
|
||
<input class="smallinput" name="attr_dexterite" type="text">
|
||
</div>
|
||
<div class="gridcarac margin-bottom">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Endurance}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Endurance : @{endurance}}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
<span>Endurance :</span>
|
||
<input class="smallinput" name="attr_endurance" type="text">
|
||
</div>
|
||
<div class="gridcarac margin-bottom">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Intelligence}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Intelligence : @{intelligence}}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
<span>Intelligence :</span>
|
||
<input class="smallinput" name="attr_intelligence" type="text">
|
||
</div>
|
||
<div class="gridcarac margin-bottom">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Charisme}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Charisme: @{charisme}}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
<span>Charisme :</span>
|
||
<input class="smallinput" name="attr_charisme" type="text">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!--------- VIVRE OU SURVIVRE ---------->
|
||
<div class="column2 mainsection">
|
||
<div class="titre">Vivre ou survivre</div>
|
||
<fieldset class="repeating_weapon">
|
||
<div class="margin-bottom weaponcontainer">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Attaque}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=@{arme} (@{degats})}} {{roll=[[@{degats}cf<0cs<0]]}}"></button>
|
||
<div class="weaponinput">
|
||
<input name="attr_arme" type="text">
|
||
<span>Arme</span>
|
||
<span>Dégâts</span>
|
||
</div>
|
||
<input class="roundinput" name="attr_degats" type="text">
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<!--------------- SANTE ---------------->
|
||
<div class="column3 mainsection">
|
||
<div class="centeredelement">
|
||
<div class="roundinputcontainer">
|
||
<input class="roundinput" name="attr_vie" type="text" value="0" title="@{vie} (ou @{life_max})">
|
||
<span>Points de vie</span>
|
||
</div>
|
||
</div>
|
||
<div class="centeredelement">
|
||
<div class="roundinputcontainer">
|
||
<input class="roundinput" name="attr_blessures" type="text" value="0">
|
||
<span>Blessures</span>
|
||
</div>
|
||
</div>
|
||
<div class="centeredelement">
|
||
<div class="roundinputcontainer">
|
||
<input class="roundinput" name="attr_protection" type="text" value="0">
|
||
<span>Protection</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!----------------- RP ------------------>
|
||
<div class="griddual">
|
||
<div class="column1">
|
||
<div class="rp-texte">JE SUIS GÉNIAL·E<br>parce que...</div>
|
||
<textarea class="rp-input-texte" name="attr_genial"></textarea>
|
||
</div>
|
||
<div class="column2">
|
||
<div class="rp-texte">Mais LA SOCIÉTÉ A DES PROBLÈMES<br>avec moi parce que...</div>
|
||
<textarea class="rp-input-texte" name="attr_problemes"></textarea>
|
||
</div>
|
||
</div>
|
||
<hr />
|
||
<!----------- COMPETENCES ------------>
|
||
<div class="gridskills">
|
||
<div class="column1">
|
||
<div class="gridbasicskills skillheader">
|
||
<div class="column2">Compétences</div>
|
||
<div class="column3">Lien</div>
|
||
<div class="column4to5">Score</div>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Artisanat, construire}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Artisanat, construire : @{artisanat}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Artisanat, construire</span>
|
||
<span class="column3">DEX/INT</span>
|
||
<input class="column4" name="attr_artisanat" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Combat rapproché}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Combat rapproché : @{combatrapp}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Combat rapproché</span>
|
||
<span class="column3">FOR/DEX</span>
|
||
<input class="column4" name="attr_combatrapp" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Combat à distance}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Combat à distance : @{combatdist}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Combat à distance</span>
|
||
<span class="column3">DEX/INT</span>
|
||
<input class="column4" name="attr_combatdist" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Connaissance de la nature}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Connaissance de la nature : @{connnature}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Connaissance de la nature</span>
|
||
<span class="column3">DEX/INT</span>
|
||
<input class="column4" name="attr_connnature" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Connaissance des secrets}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Connaissance des secrets : @{connsecret}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Connaissance des secrets</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_connsecret" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Courir, sauter}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Courir, sauter : @{courir}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Courir, sauter</span>
|
||
<span class="column3">DEX/END</span>
|
||
<input class="column4" name="attr_courir" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Discrétion}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Discrétion : @{discretion}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Discrétion</span>
|
||
<span class="column3">DEX/CHA</span>
|
||
<input class="column4" name="attr_discretion" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Droit}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Droit : @{droit}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Droit</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_droit" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Esquiver}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Esquiver : @{esquiver}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Esquiver</span>
|
||
<span class="column3">DEX/INT</span>
|
||
<input class="column4" name="attr_esquiver" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Intimider}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Intimider : @{intimider}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Intimider</span>
|
||
<span class="column3">FOR/CHA</span>
|
||
<input class="column4" name="attr_intimider" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Lire, écrire}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Lire, écrire : @{lire}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Lire, écrire</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_lire" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Mentir, convaincre}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Mentir, convaincre : @{mentir}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Mentir, convaincre</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_mentir" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Perception}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Perception : @{perception}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Perception</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_perception" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Piloter}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Piloter : @{piloter}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Piloter</span>
|
||
<span class="column3">DEX/END</span>
|
||
<input class="column4" name="attr_piloter" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Psychologie}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Psychologie : @{psychologie}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Psychologie</span>
|
||
<span class="column3">END/INT</span>
|
||
<input class="column4" name="attr_psychologie" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Réflexes}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Réflexes : @{reflexes}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Réflexes</span>
|
||
<span class="column3">DEX/INT</span>
|
||
<input class="column4" name="attr_reflexes" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Serrures et pièges}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Serrures et pièges : @{serrures}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Serrures et pièges</span>
|
||
<span class="column3">DEX/END</span>
|
||
<input class="column4" name="attr_serrures" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Soigner}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Soigner : @{soigner}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Soigner</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_soigner" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Survie}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Survie : @{survie}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Survie</span>
|
||
<span class="column3">END/INT</span>
|
||
<input class="column4" name="attr_survie" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
<div class="gridbasicskills">
|
||
<div class="column1">
|
||
<button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=Voler}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=Voler : @{voler}%}} {{roll=[[1d100cf>96cs<5]]}}"></button>
|
||
</div>
|
||
<span class="column2">Voler</span>
|
||
<span class="column3">INT/CHA</span>
|
||
<input class="column4" name="attr_voler" type="text">
|
||
<span class="column5">%</span>
|
||
</div>
|
||
</div>
|
||
<div class="column2 separator"></div>
|
||
<div class="column3">
|
||
<!------ COMPETENCES SPECIALES ------->
|
||
<div class="gridspecialskills skillheader">
|
||
<div class="column2">Compétences spéciales</div>
|
||
<div class="column3to5">Lien</div>
|
||
<div class="column6to7">Score</div>
|
||
</div>
|
||
<fieldset class="repeating_specialskills">
|
||
<div class="gridspecialskills">
|
||
<div class="column1"><button class="btn-min" type="roll" value="@{privaterolls}&{template:aria1} {{name=@{specialskill_name}}} {{character_name=[@{nameinrolls}](http://journal.roll20.net/character/@{character_id})}} {{body=@{specialskill_name} : @{specialskill_score}%}} {{roll=[[1d100cf>96cs<5]]}}"></button></div>
|
||
<textarea class="column2" name="attr_specialskill_name" type="text"></textarea>
|
||
<input class="column3" name="attr_specialskill_link1" type="text">
|
||
<span class="column4">/</span>
|
||
<input class="column5" name="attr_specialskill_link2" type="text">
|
||
<input class="column6" name="attr_specialskill_score" type="text">
|
||
<span class="column7">%</span>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<hr />
|
||
<!---------- POSSESSIONS/NOTES ----------->
|
||
<div class="griddual">
|
||
<div class="column1">
|
||
<span>Possessions</span>
|
||
<textarea name="attr_possessions"></textarea>
|
||
<div class="gridquad">
|
||
<span class="column1">Couronnes</span>
|
||
<span class="column2">Orbes</span>
|
||
<span class="column3">Sceptres</span>
|
||
<span class="column4">Rois</span>
|
||
</div>
|
||
<div class="gridquad">
|
||
<input class="column1" name="attr_couronnes" type="text" placeholder="0">
|
||
<input class="column2" name="attr_orbes" type="text" placeholder="0">
|
||
<input class="column3" name="attr_sceptres" type="text" placeholder="0">
|
||
<input class="column4" name="attr_rois" type="text" placeholder="0" title="@{rois} (ou @{totalrois} pour la fortune totale convertie en Rois)">
|
||
</div>
|
||
</div>
|
||
<div class="column2">
|
||
<span>Notes</span>
|
||
<textarea style="height: 190px;" name="attr_notes"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- ==================================================== -->
|
||
<!-- ==================== TEMPLATES ===================== -->
|
||
<!-- ==================================================== -->
|
||
<rolltemplate class="sheet-rolltemplate-aria1">
|
||
<div class="sheet-aria1-container"> {{#name}}
|
||
<h1>{{name}} </h1> {{/name}} {{#character_name}}
|
||
<h2>{{character_name}} </h2> {{/character_name}}
|
||
<div class="sheet-aria1-body"> {{#body}} {{body}} {{/body}} </div>
|
||
<div class="sheet-aria1-roll"> {{#roll}} {{roll}} {{/roll}} </div>
|
||
<div class="sheet-aria1-buttons"> {{#buttons}} {{buttons}} {{/buttons}} </div>
|
||
<div class="sheet-aria1-footer"></div>
|
||
</div>
|
||
</rolltemplate>
|
||
<!-- ==================================================== -->
|
||
<!-- ==================== JAVASCRIPT ==================== -->
|
||
<!-- ==================================================== -->
|
||
<script type="text/worker">
|
||
on(`sheet:opened`, eventInfo => {
|
||
getAttrs(['version'], v => {
|
||
versionator(parseFloat(v.version) || 0);
|
||
});
|
||
|
||
setAttrs({
|
||
optiontab: false,
|
||
showWarning:false,
|
||
skillCalculateMethod: 0,
|
||
selectpretire: 0
|
||
});
|
||
|
||
const versionator = version => {
|
||
if(version < 1.2) {
|
||
updgradeToV1_2();
|
||
}
|
||
}
|
||
|
||
const updgradeToV1_2 = () => {
|
||
const version = 1.2;
|
||
getAttrs(["arme1", "arme2", "arme3", "degats1", "degats2", "degats3",
|
||
"cosp1-nom", "cosp1-lien1", "cosp1-lien2", "cosp1-score", "cosp2-nom", "cosp2-lien1", "cosp2-lien2", "cosp2-score", "cosp3-nom", "cosp3-lien1", "cosp3-lien2", "cosp3-score",
|
||
"cosp4-nom", "cosp4-lien1", "cosp4-lien2", "cosp4-score", "cosp5-nom", "cosp5-lien1", "cosp5-lien2", "cosp5-score", "cosp6-nom", "cosp6-lien1", "cosp6-lien2", "cosp6-score",
|
||
"cosp7-nom", "cosp7-lien1", "cosp7-lien2", "cosp7-score", "cosp8-nom", "cosp8-lien1", "cosp8-lien2", "cosp8-score", "cosp9-nom", "cosp9-lien1", "cosp9-lien2", "cosp9-score",
|
||
"cosp10-nom", "cosp10-lien1", "cosp10-lien2", "cosp10-score", "cosp11-nom", "cosp11-lien1", "cosp11-lien2", "cosp11-score", "cosp12-nom", "cosp12-lien1", "cosp12-lien2", "cosp12-score",
|
||
"cosp13-nom", "cosp13-lien1", "cosp13-lien2", "cosp13-score", "cosp14-nom", "cosp14-lien1", "cosp14-lien2", "cosp14-score", "cosp15-nom", "cosp15-lien1", "cosp15-lien2", "cosp15-score",
|
||
"cosp16-nom", "cosp16-lien1", "cosp16-lien2", "cosp16-score", "cosp17-nom", "cosp17-lien1", "cosp17-lien2", "cosp17-score", "cosp18-nom", "cosp18-lien1", "cosp18-lien2", "cosp18-score",
|
||
"cosp19-nom", "cosp19-lien1", "cosp19-lien2", "cosp19-score", "cosp20-nom", "cosp20-lien1", "cosp20-lien2", "cosp20-score"], values => {
|
||
const update = {};
|
||
console.log(values);
|
||
migrateweapons(update, values, 1, 3);
|
||
migrateSpecialSkills(update, values, 1, 20);
|
||
|
||
update["version"] = version;
|
||
setAttrs(update, { silent: true }, versionator(version));
|
||
});
|
||
}
|
||
|
||
const migrateweapons = (update, values, start, end) => {
|
||
for(var i = start ; i <= end ; i++) {
|
||
if(typeof values[`arme${i}`] === 'undefined') {
|
||
continue;
|
||
}
|
||
const newRowId = generateRowID();
|
||
addAttributeReplace(update, buildFieldName("weapon", newRowId, "arme"), values[`arme${i}`]);
|
||
addAttributeReplace(update, buildFieldName("weapon", newRowId, "degats"), values[`degats${i}`]);
|
||
}
|
||
}
|
||
|
||
const migrateSpecialSkills = (update, values, start, end) => {
|
||
for(var i = start ; i <= end ; i++) {
|
||
if(typeof values[`cosp${i}-nom`] === 'undefined') {
|
||
console.log(`$cosp${i}-nom is undefined`);
|
||
continue;
|
||
}
|
||
const newRowId = generateRowID();
|
||
addAttributeReplace(update, buildFieldName("specialskills", newRowId, "specialskill_name"), values[`cosp${i}-nom`]);
|
||
addAttributeReplace(update, buildFieldName("specialskills", newRowId, "specialskill_link1"), values[`cosp${i}-lien1`]);
|
||
addAttributeReplace(update, buildFieldName("specialskills", newRowId, "specialskill_link2"), values[`cosp${i}-lien2`]);
|
||
addAttributeReplace(update, buildFieldName("specialskills", newRowId, "specialskill_score"), values[`cosp${i}-score`]);
|
||
}
|
||
}
|
||
|
||
const buildFieldName = (section, id, field) => `repeating_${section}_${id}_${field}`;
|
||
|
||
const addAttributeReplace = (update, key, replacementValue) => {
|
||
if (typeof replacementValue === 'undefined') {
|
||
return;
|
||
}
|
||
update[key] = replacementValue;
|
||
}
|
||
});
|
||
|
||
on("change:namerolls change:character_name sheet:opened", () => {
|
||
getAttrs(["NAMEROLLS", "CHARACTER_NAME"], values => {
|
||
const namerolls = +values.NAMEROLLS || 0;
|
||
const character_name = values.CHARACTER_NAME || "";
|
||
if(namerolls === 1) {
|
||
setAttrs({
|
||
nameinrolls: character_name
|
||
});
|
||
} else if(namerolls === 2) {
|
||
setAttrs({
|
||
nameinrolls: "?{Afficher le nom du personnage ?|Non, |Oui," + character_name + "}"
|
||
});
|
||
} else if(namerolls === 3) {
|
||
setAttrs({
|
||
nameinrolls: "?{Afficher le nom du personnage ?|Oui," + character_name + "|Non, }"
|
||
});
|
||
} else {
|
||
setAttrs({
|
||
nameinrolls: " "
|
||
});
|
||
}
|
||
});
|
||
});
|
||
|
||
on("change:vie change:blessures sheet:opened", () => {
|
||
getAttrs(["VIE", "BLESSURES"], values => {
|
||
const vie = +values.VIE || 0;
|
||
const blessures = +values.BLESSURES || 0;
|
||
setAttrs({
|
||
life: vie - blessures
|
||
});
|
||
setAttrs({
|
||
life_max: vie
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:life", () => {
|
||
getAttrs(["LIFE", "vie"], values => {
|
||
const life = +values.LIFE || 0;
|
||
const vie = +values.vie || 0;
|
||
let blessures = vie - life;
|
||
if(blessures > vie) {
|
||
blessures = vie;
|
||
}
|
||
if(blessures < 0) {
|
||
blessures = 0;
|
||
}
|
||
setAttrs({
|
||
blessures: blessures
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:couronnes change:orbes change:scepres change:rois sheet:opened", () => {
|
||
getAttrs(["COURONNES", "ORBES", "SCEPTRES", "ROIS"], values => {
|
||
const couronnes = +values.COURONNES || 0;
|
||
const orbes = +values.ORBES || 0;
|
||
const scepres = +values.SCEPTRES || 0;
|
||
const rois = +values.ROIS || 0;
|
||
setAttrs({
|
||
totalrois: (couronnes * 1000) + (orbes * 100) + (scepres * 10) + rois
|
||
});
|
||
});
|
||
});
|
||
|
||
on(`clicked:options`, () => {
|
||
getAttrs(["OptionTab"], values => {
|
||
const OptionTab1 = values.OptionTab;
|
||
setAttrs({
|
||
optiontab: !OptionTab1,
|
||
showWarning: false,
|
||
selectpretire: 0
|
||
});
|
||
});
|
||
});
|
||
|
||
on(`clicked:skillCalculate1`, () => {
|
||
setAttrs({
|
||
skillCalculateMethod: 1,
|
||
showWarning: true,
|
||
warningText: "Les compétences seront réinitialisées pour être recalculées.",
|
||
optiontab: true,
|
||
selectpretire: 0
|
||
});
|
||
});
|
||
|
||
on(`clicked:skillCalculate2`, () => {
|
||
setAttrs({
|
||
skillCalculateMethod: 2,
|
||
showWarning: true,
|
||
warningText: "Les compétences seront réinitialisées pour être recalculées.",
|
||
optiontab: true,
|
||
selectpretire: 0
|
||
});
|
||
});
|
||
|
||
on(`clicked:pretire-bu`, () => {
|
||
getAttrs(["selectpretire"], values => {
|
||
if(values.selectpretire > 0) {
|
||
setAttrs({
|
||
showWarning: true,
|
||
warningText: "Toutes les données de cette fiche seront supprimées. Elles seront remplacées par celles du personnage prétiré choisi.",
|
||
skillCalculateMethod: 0,
|
||
optiontab: true
|
||
});
|
||
}
|
||
});
|
||
});
|
||
|
||
on(`clicked:noconf`, () => {
|
||
setAttrs({
|
||
showWarning: false,
|
||
skillCalculateMethod: 0,
|
||
selectpretire: 0
|
||
});
|
||
});
|
||
|
||
on(`clicked:validateWarning`, () => {
|
||
getAttrs(["skillCalculateMethod", "selectpretire"], values => {
|
||
if(values.skillCalculateMethod > 0) {
|
||
CalculateSkills(values.skillCalculateMethod);
|
||
return;
|
||
}
|
||
|
||
if(values.selectpretire > 0){
|
||
FillPreMadeChar(values.selectpretire - 1);
|
||
return;
|
||
}
|
||
});
|
||
});
|
||
|
||
const CalculateSkills = method => {
|
||
getAttrs(["force", "dexterite", "endurance", "intelligence", "charisme"], values => {
|
||
const FOR = +values.force || 0;
|
||
const DEX = +values.dexterite || 0;
|
||
const END = +values.endurance || 0;
|
||
const INT = +values.intelligence || 0;
|
||
const CHA = +values.charisme || 0;
|
||
|
||
var calculationMethod = method == 1 ? SkillMethod1 : SkillMethod2;
|
||
|
||
setAttrs({
|
||
artisanat: calculationMethod(DEX, INT),
|
||
combatrapp: calculationMethod(FOR, DEX),
|
||
combatdist: calculationMethod(DEX, INT),
|
||
connnature: calculationMethod(DEX, INT),
|
||
connsecret: calculationMethod(INT, CHA),
|
||
courir: calculationMethod(DEX, END),
|
||
discretion: calculationMethod(DEX, CHA),
|
||
droit: calculationMethod(INT, CHA),
|
||
esquiver: calculationMethod(DEX, INT),
|
||
intimider: calculationMethod(FOR, CHA),
|
||
lire: calculationMethod(INT, CHA),
|
||
mentir: calculationMethod(INT, CHA),
|
||
perception: calculationMethod(INT, CHA),
|
||
piloter: calculationMethod(DEX, END),
|
||
psychologie: calculationMethod(END, INT),
|
||
reflexes: calculationMethod(DEX, INT),
|
||
serrures: calculationMethod(DEX, END),
|
||
soigner: calculationMethod(INT, CHA),
|
||
survie: calculationMethod(END, INT),
|
||
voler: calculationMethod(INT, CHA),
|
||
optiontab: false,
|
||
showWarning: false,
|
||
skillCalculateMethod: 0,
|
||
selectpretire: 0
|
||
});
|
||
});
|
||
};
|
||
|
||
const SkillMethod1 = (value1, value2) => {
|
||
return Math.floor((value1 + value2) / 2) * 5;
|
||
}
|
||
|
||
const SkillMethod2 = (value1, value2) => {
|
||
return (value1 + value2) * 2;
|
||
}
|
||
|
||
const pretires = [
|
||
{ character_name: "Reveka Cosovei", profession: "Sorcière", age: 22, force: 9, dexterite: 10, endurance: 12, intelligence: 16, charisme: 13, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Bâton", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d6", vie: 12, artisanat: 65, combatrapp: 45, combatdist: 65, connnature: 65, connsecret: 70,
|
||
courir: 70, discretion: 45, droit: 70, esquiver: 65, intimider: 65, lire: 70, mentir: 60, perception: 70, piloter: 55, psychologie: 65, reflexes: 75, serrures: 55, soigner: 70, survie: 65, voler: 70,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Magie de la mort\nPoints de mort: 10", "repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_score": 10,
|
||
possessions: "Bouteille\nToile goudronnée\n5 torches\nGibecière\nCanne de marche\nJeu de dés\nCarte d’Aria",
|
||
couronnes:0, orbes: 0, sceptres: 4, rois: 32, notes: "" },
|
||
|
||
{ character_name: "Taloche", profession: "Prodige (Écuyer)", age: 16, force: 12, dexterite: 12, endurance: 12, intelligence: 12, charisme: 12, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Dague", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d4", vie: 12, artisanat: 50, combatrapp: 50, combatdist: 50, connnature: 50, connsecret: 50,
|
||
courir: 50, discretion: 50, droit: 50, esquiver: 50, intimider: 50, lire: 50, mentir: 50, perception: 50, piloter: 50, psychologie: 50, reflexes: 50, serrures: 50, soigner: 50, survie: 50, voler: 50,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Prodige Choisissez l’une de vos compétences et passez-la à 80 % définitivement. Vous ne pouvez faire appel à votre compétence spéciale que trois fois.)",
|
||
possessions: "Dague\nBriquet\n3 Collets\nÉcuelle\nLanterne\nSac de couchage\nTimbale (bois)\nVerroterie",
|
||
couronnes:0, orbes: 0, sceptres: 0, rois: 0, notes: "" },
|
||
|
||
{ character_name: "Zavrazhny Rustem", profession: "Alchimiste", age: 21, force: 10, dexterite: 13, endurance: 10, intelligence: 14, charisme: 13, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Fronde", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d6", vie: 10, artisanat: 75, combatrapp: 55, combatdist: 65, connnature: 65, connsecret: 65,
|
||
courir: 55, discretion: 65, droit: 65, esquiver: 65, intimider: 45, lire: 75, mentir: 65, perception: 65, piloter: 55, psychologie: 65, reflexes: 55, serrures: 55, soigner: 65, survie: 65, voler: 65,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Créer une potion", "repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_score": 60,
|
||
"repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_name": "Identifier une substance", "repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_score": 40,
|
||
"repeating_specialskills_-OAyVqRBIZYja5n44vR1_specialskill_name": "Magnétite capricieuse (Vous pouvez attirer les objets métalliques dans un rayon de 10 m autour de vous. Les armes quittent les mains de leur porteur, les serrures se débloquent et les seaux s’envolent. En cas d’échec, vous obtenez l’effet inverse (les assaillants resserrent leur prise, les verrous se grippent, les seaux s’ancrent au sol), ajoutant un malus de -20 % à tout jet visant à les manipuler contre leur gré.)", "repeating_specialskills_-OAyVqRBIZYja5n44vR1_specialskill_score": 50,
|
||
possessions: "Fronde\nBesace\n5 fioles\nCire à cacheter\n3 feuilles de parchemin\nPlume d'oie\nPot d'encre\n5 boîtes à ingrédients\nTraité de météorologie",
|
||
couronnes:0, orbes: 5, sceptres: 0, rois: 22, notes: "" },
|
||
|
||
{ character_name: "Philinda Marteline", profession: "Aventurière", age: 18, force: 12, dexterite: 12, endurance: 12, intelligence: 12, charisme: 12, blessures: 0, protection: 2,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Arbalète", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "2d6",
|
||
"repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_arme": "Gourdin", "repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_degats": "1d6", vie: 12, artisanat: 60, combatrapp: 60, combatdist: 60, connnature: 80, connsecret: 50,
|
||
courir: 60, discretion: 60, droit: 60, esquiver: 70, intimider: 60, lire: 60, mentir: 60, perception: 60, piloter: 60, psychologie: 50, reflexes: 60, serrures: 60, soigner: 60, survie: 80, voler: 70,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Chanceuse (Une fois par jour, vous pouvez transformer un échec en succès ou un échec critique en échec simple. Vous ne pouvez pas transformer un succès en succès critique.)",
|
||
possessions: "Plastron en cuir rigide\nArbalète\nGourdin\nGibecière\n3 collets\nSac de couchage (épais)\nLanterne\nBriquet\nBoussole",
|
||
couronnes:0, orbes: 1, sceptres: 5, rois: 34, notes: "" },
|
||
|
||
{ character_name: "Calisse Lapointe", profession: "Combattante", age: 19, force: 15, dexterite: 13, endurance: 14, intelligence: 10, charisme: 8, blessures: 0, protection: 4,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Pertuisane", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d6+2",
|
||
"repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_arme": "Épée courte", "repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_degats": "1d6", vie: 14, artisanat: 55, combatrapp: 70, combatdist: 55, connnature: 55, connsecret: 45,
|
||
courir: 65, discretion: 50, droit: 35, esquiver: 75, intimider: 55, lire: 45, mentir: 45, perception: 45, piloter: 55, psychologie: 65, reflexes: 75, serrures: 65, soigner: 55, survie: 55, voler: 45,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Bagout fulgurant (Vous êtes littéralement capable de faire prendre des vessies pour des lanternes à votre interlocuteur ou votre interlocutrice. Ce dernier ou cette dernière croit sans discuter vos affirmations et se range à votre avis directement. Il ou elle n’en devient pas forcément un•e allié•e pour autant. Vous ne pouvez utiliser ce pouvoir que dix fois durant la campagne.)",
|
||
possessions: "Plastron de cuir et métal\nPertuisane\nÉpée courte\nBouclier\nCouverture\nGourde\n3 cataplasmes\nRations de piste (1 semaine)\nSac à dos",
|
||
couronnes:0, orbes: 2, sceptres: 31, rois: 22, notes: "" },
|
||
|
||
{ character_name: "Honorin Bicastre", profession: "Mage de l'académie d'Aria", age: 22, force: 9, dexterite: 10, endurance: 11, intelligence: 16, charisme: 14, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Bâton", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d6", vie: 11, artisanat: 65, combatrapp: 45, combatdist: 65, connnature: 75, connsecret: 75,
|
||
courir: 40, discretion: 60, droit: 75, esquiver: 65, intimider: 55, lire: 80, mentir: 75, perception: 75, piloter: 60, psychologie: 65, reflexes: 65, serrures: 50, soigner: 65, survie: 65, voler: 75,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Modélisation", "repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_score": 60,
|
||
"repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_name": "Faveurs d'Ina (La déesse de la compassion vous a en sa sainte garde. Pour les dix prochains affrontements, vous ignorez la première blessure qui vous est infligée et ne subissez pas la perte de points de vie correspondante.)",
|
||
possessions: "Jeu de cartes (25 + joker)\nBâton\nSablier\nLongue-vue\n10 feuilles de papier\nPinceau\nPot à encre\nTraité de théologie",
|
||
couronnes:0, orbes: 7, sceptres: 5, rois: 21, notes: "" },
|
||
|
||
{ character_name: "Odéryse Lamarche", profession: "Miséricordieuse", age: 35, force: 11, dexterite: 13, endurance: 13, intelligence: 14, charisme: 9, blessures: 0, protection: 1,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Épée", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d6+1", vie: 13, artisanat: 55, combatrapp: 60, combatdist: 65, connnature: 65, connsecret: 60,
|
||
courir: 65, discretion: 55, droit: 55, esquiver: 65, intimider: 50, lire: 80, mentir: 55, perception: 65, piloter: 65, psychologie: 65, reflexes: 65, serrures: 55, soigner: 55, survie: 75, voler: 65,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Modélisation", "repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_score": 80,
|
||
"repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_name": "Voler la magie", "repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_score": 30,
|
||
"repeating_specialskills_-OAyVqRBIZYja5n44vR1_specialskill_name": "Sens de la traque (Vous connaissez instinctivement l’orientation vers laquelle se tourner pour trouver un mage atteint de la folie de la fin. Vous ne pouvez vous focaliser sur un mage en particulier et votre sens de la traque peut tout à fait passer d’un mage à un autre en fonction de la proximité. Quand vous faites appel à cette capacité, faites votre jet sous Sens de la traque de sorte que SEUL LE MJ connaisse le résultat. Il vous indiquera alors la direction, sans que vous sachiez si elle est digne de foi ou non.)", "repeating_specialskills_-OAyVqRBIZYja5n44vR1_specialskill_score": 50,
|
||
possessions: "Plastron de cuir souple\nÉpée\nJeu de cartes (10 + joker)\nSac de couchage (épais)\nTente\nMarmite\nTimbale (bois)\nUstensiles de toilette",
|
||
couronnes:0, orbes: 2, sceptres: 21, rois: 11, notes: "" },
|
||
|
||
{ character_name: "Ambroise-Gabriel Francœur", profession: "Noble", age: 39, force: 10, dexterite: 10, endurance: 11, intelligence: 13, charisme: 16, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Canne-épée", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d6",
|
||
"repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_arme": "Poignard", "repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_degats": "1d3+2", vie: 11, artisanat: 55, combatrapp: 50, combatdist: 55, connnature: 55, connsecret: 70,
|
||
courir: 50, discretion: 75, droit: 80, esquiver: 55, intimider: 65, lire: 60, mentir: 90, perception: 70, piloter: 50, psychologie: 75, reflexes: 55, serrures: 50, soigner: 70, survie: 55, voler: 45,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Mécènes peu regardants (Vous êtes doué pour trouver des financements incongrus mais de confiance. Vous pouvez lever des fonds de la sorte jusqu’à dix fois durant la campagne, pour un investissement maximal égal à chaque fois au coût d’un petit navire de commerce).",
|
||
possessions: "Canne-épée\nPoignard\nLaissez-passer\nMiroir\nCarte\nFiole d’hydromel\nCoffret\nPorte-bonheur\nUstensiles de toilette",
|
||
couronnes:0, orbes: 8, sceptres: 13, rois: 5, notes: "" },
|
||
|
||
{ character_name: "Basilis Presteroi", profession: "Voleur", age: 20, force: 10, dexterite: 14, endurance: 11, intelligence: 14, charisme: 11, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Dague", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1d4",
|
||
"repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_arme": "Hachette", "repeating_weapon_-OAyWnAZpwzeOXw6Fi9N_degats": "1d6", vie: 11, artisanat: 60, combatrapp: 50, combatdist: 60, connnature: 50, connsecret: 70,
|
||
courir: 65, discretion: 60, droit: 70, esquiver: 60, intimider: 60, lire: 70, mentir: 70, perception: 70, piloter: 55, psychologie: 60, reflexes: 80, serrures: 65, soigner: 70, survie: 50, voler: 90,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Oreilles opportunes (Vous êtes au courant des rumeurs les plus pointues sur un sujet précis. Une fois par jour, vous pouvez demander à votre MJ des renseignements sur un thème spécifique et ce dernier doit vous transmettre les éléments le concernant, à l’exception des points identifiés comme secrets. Vous savez en outre quelles sont les rumeurs les plus fondées.)",
|
||
possessions: "Dague\nHachette\nOutils de crochetage\nPasse-partout\nDéguisement\nJeu de cartes truqué\n3 timbales (à bonneteau)\nSifflet\nTrousse de maquillage",
|
||
couronnes:0, orbes: 3, sceptres: 11, rois: 17, notes: "" },
|
||
|
||
{ character_name: "Demetrius Petralis", profession: "Mage de Varna (bouclier)", age: 27, force: 8, dexterite: 11, endurance: 14, intelligence: 17, charisme: 10, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Poings", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1", vie: 14, artisanat: 70, combatrapp: 45, combatdist: 70, connnature: 70, connsecret: 75,
|
||
courir: 70, discretion: 50, droit: 65, esquiver: 60, intimider: 45, lire: 65, mentir: 75, perception: 55, piloter: 60, psychologie: 75, reflexes: 70, serrures: 60, soigner: 65, survie: 70, voler: 70,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Bouclier", "repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_score": 50,
|
||
"repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_name": "Invisibilisation (À l’instar de nombreuses femmes d’Aqabah, vous pouvez devenir invisible aux yeux du monde. Vous êtes toujours là mais les gens ne font tout simplement pas attention à vous, à moins que vous ne tentiez une action marquante à leur encontre. Quand vous utilisez cette compétence, vous faites un jet sous Invisibilisation à chaque fois que vous quittez une pièce et/ou abordez un nouveau groupe de personnes. En cas d’échec, vous êtes automatiquement le centre de l’attention et la source de toutes les suspicions.)", "repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_score": 50,
|
||
possessions: "Carte d’Aria\nLaissez-passer\nBoussole\nTraité de zoologie\nNécessaire à écrire\nBoîte\nCasserole\nGourde",
|
||
couronnes:0, orbes: 2, sceptres: 4, rois: 31, notes: "Vous ne pouvez utiliser vos poings que pour la légitime défense." },
|
||
|
||
{ character_name: "Calliope Appolosia", profession: "Mage de Varna (Flamme)", age: 29, force: 9, dexterite: 10, endurance: 12, intelligence: 16, charisme: 13, blessures: 0, protection: 0,
|
||
"repeating_weapon_-OAtV5CF16ljNY0Pc2u0_arme": "Poings", "repeating_weapon_-OAtV5CF16ljNY0Pc2u0_degats": "1", vie: 12, artisanat: 65, combatrapp: 45, combatdist: 65, connnature: 65, connsecret: 70,
|
||
courir: 70, discretion: 45, droit: 70, esquiver: 65, intimider: 65, lire: 70, mentir: 60, perception: 70, piloter: 55, psychologie: 70, reflexes: 75, serrures: 55, soigner: 70, survie: 65, voler: 65,
|
||
"repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_name": "Flamme", "repeating_specialskills_-OAwKVN3oBgCdJPfkl28_specialskill_score": 50,
|
||
"repeating_specialskills_-OAyVpJj47Z1MFq1XS1C_specialskill_name": "Création d'eau (Une fois par jour, vous pouvez générer suffisamment d’eau pour hydrater un humain pendant une journée (environ 2 litres). Vous devez simplement prendre soin de bien vous sécher les mains après un tel miracle, pour éviter de parasiter la génération de flamme.)",
|
||
possessions: "Bouteille\nToile goudronnée\n5 torches\nGibecière\nCanne de marche\nJeu de dés\nCarte de Varna\nLaissez-passer\nBoussole",
|
||
couronnes:0, orbes: 0, sceptres: 2, rois: 6, notes: "Vous ne pouvez utiliser vos poings que pour la légitime défense." }
|
||
];
|
||
|
||
const FillPreMadeChar = selectpretire => {
|
||
if(selectpretire < 0) {
|
||
return;
|
||
}
|
||
|
||
getSectionIDs("repeating_specialskills", skillIds => {
|
||
skillIds.forEach( id => removeRepeatingRow(`repeating_specialskills_${id}`));
|
||
});
|
||
getSectionIDs("repeating_weapon", weaponIds => {
|
||
weaponIds.forEach( id => removeRepeatingRow(`repeating_weapon_${id}`));
|
||
});
|
||
|
||
var attrs = structuredClone(pretires[selectpretire]);
|
||
attrs.optiontab = false;
|
||
attrs.showWarning = false;
|
||
attrs.skillCalculateMethod = 0;
|
||
attrs.selectpretire = 0;
|
||
setAttrs(attrs);
|
||
};
|
||
</script>
|