Files
roll20-character-sheets/DeusVault/DeusVault.html
T
2024-06-03 13:15:14 -04:00

1962 lines
106 KiB
HTML

<div class="sheet-body">
<input type="hidden" name="attr_selected_rules" value="v2" />
<input type="hidden" name="attr_fiche_type" value="pj" />
<input type="hidden" name="attr_section" value="1" />
<input id="section-1" type="radio" name="attr_section" value="1" hidden />
<input id="section-2" type="radio" name="attr_section" value="2" hidden />
<input type="checkbox" name="attr_show_advanced_roll" hidden />
<input class="sheet-option-btn" type="checkbox" name="options_shown" />
<span></span>
<div class="sheet-options">
<h2>Options</h2>
<div>
<label>
Type de fiche :
<select name="attr_selected_rules">
<option value="v1">v1</option>
<option selected value="v2">v2</option>
</select>
</label>
<div>
<div class="sheet-selected-rules-v1">
<span>
Le degré de réussite d'un jet de maîtrise indique le jet de dégâts de l'attaque et le nombre de
modificateur à y ajouter.
</span>
</div>
<div class="sheet-selected-rules-v2">
<div>
Faire une paire sur une attaque permet d'appliquer des modificateurs à l'attaque en fonction du
tier de l'attaque.
</div>
<div>
Les dégâts des attaques dépendent des caractéristiques liées à l'attaque. (lance c1 dés et
ajoute c2 au résultat)
</div>
</div>
</div>
</div>
<label for="attr_fiche_type">
Type de fiche :
<select id="attr_fiche_type" name="attr_fiche_type">
<option value="pj">PJ</option>
<option value="pnj">PNJ</option>
</select>
</label>
<label for="attr_privaterolls">
Chuchoter au MJ
<select id="attr_privaterolls" 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éfaut)</option>
<option value="?{Chuchoter au MJ ?|Non,|Oui,/w gm }">Demander (Non par défaut)</option>
</select>
</label>
<label> Afficher les jets avancés <input type="checkbox" name="attr_show_advanced_roll" /> </label>
<button type="action" name="act_generage_default_talents">Générer les talents par défaut</button>
<button type="action" name="act_calculate_all">Recalculer les valeurs</button>
</div>
<div class="sheet-fiche">
<div class="sheet-general-informations">
<img class="sheet-character-avatar" name="attr_character_token" />
<div class="sheet-character-informations">
<div>
<div class="sheet-input-field">
<span>Nom</span>
<input name="attr_character_name" type="text" title="@{character_name}" />
</div>
</div>
<div>
<div class="sheet-input-field sheet-input-field-race">
<span>Race</span>
<input name="attr_race" type="text" title="@{race}" />
</div>
<div class="sheet-input-field sheet-input-field-age">
<span>Age</span>
<input name="attr_age" type="text" title="@{age}" />
</div>
</div>
<div>
<div class="sheet-input-field">
<span>Niveau</span>
<input class="sheet-text-center" value="1" name="attr_level" type="text" title="@{level}" />
</div>
<div class="sheet-input-field">
<span>Experience</span>
<input class="sheet-text-center" name="attr_experience" type="text" title="@{experience}" />
<span>/</span>
<input
class="sheet-text-center"
name="attr_experience_required"
type="text"
title="@{experience_required}"
/>
</div>
</div>
</div>
<div class="sheet-characteristics">
<div>
<div>
<button class="sheet-button-roll" name="act_strength" type="action">
<span>Force</span>
<input type="text" name="attr_strength_name" value="Force" hidden />
</button>
</div>
<div>
<input value="1" name="attr_strength" type="text" title="@{strength}" />
</div>
</div>
<div>
<div>
<button class="sheet-button-roll" name="act_dexterity" type="action">
<span>Dextérité</span>
<input type="text" name="attr_dexterity_name" value="Dextérité" hidden />
</button>
</div>
<div>
<input value="1" name="attr_dexterity" type="text" title="@{dexterity}" />
</div>
</div>
<div>
<div>
<button class="sheet-button-roll" name="act_endurance" type="action">
<span>Endurance</span>
<input type="text" name="attr_endurance_name" value="Endurance" hidden />
</button>
</div>
<div>
<input value="1" name="attr_endurance" type="text" title="@{endurance}" />
</div>
</div>
<div>
<div>
<button class="sheet-button-roll" name="act_intelligence" type="action">
<span>Intelligence</span>
<input type="text" name="attr_intelligence_name" value="Intelligence" hidden />
</button>
</div>
<div>
<input value="1" name="attr_intelligence" type="text" title="@{intelligence}" />
</div>
</div>
<div>
<div>
<button class="sheet-button-roll" name="act_charisma" type="action">
<span>Charisme</span>
<input type="text" name="attr_charisma_name" value="Charisme" hidden />
</button>
</div>
<div>
<input value="1" name="attr_charisma" type="text" title="@{charisma}" />
</div>
</div>
</div>
</div>
<div class="sheet-character-status">
<div>
<div class="sheet-s-50">
<input name="attr_wounds" type="text" title="@{wounds}" value="0" />
</div>
<span>Blessures</span>
</div>
<div>
<div class="sheet-s-65">
<input value="0" name="attr_dv" type="text" title="@{dv}" />
</div>
<span>Dés de soin</span>
</div>
<div>
<div class="sheet-s-80">
<input value="0" name="attr_hp" type="text" title="@{hp}" />
<div class="sheet-s-top">
<input value="0" name="attr_hp_temp" type="text" title="@{hp_temp}" />
<span>Temp.</span>
</div>
<div class="sheet-s-bottom">
<input name="attr_hp_max" type="text" title="@{hp_max}" value="0" />
<span>Max.</span>
</div>
</div>
<span>Points de vie</span>
</div>
<div>
<div class="sheet-s-65">
<input value="0" name="attr_armor" type="text" title="@{armor}" />
<div class="sheet-s-top">
<input value="0" name="attr_shield" type="text" title="@{shield}" />
<span>Bouclier</span>
</div>
<div class="sheet-s-bottom">
<input value="0" name="attr_armor_other" type="text" title="@{armor_other}" />
<span>Autre</span>
</div>
</div>
<span>Armure</span>
</div>
<div>
<div class="sheet-s-50">
<input name="attr_speed" type="text" title="@{speed}" value="5" />
</div>
<span>Vitesse</span>
</div>
</div>
<hr class="sheet-horizontal-delimiter" />
<div class="sheet-section-buttons sheet-toggled-type-pj">
<label for="section-1">Compétences</label>
<label for="section-2">Inventaire & Équipement</label>
</div>
<div class="sheet-skills-section sheet-toggled-type-pj sheet-toggled-type-pnj sheet-toggled-section-1">
<div class="sheet-section">
<h2>Talents</h2>
<div class="sheet-section-container">
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_handicraft"
name="attr_expend_handicraft"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_handicraft">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Artisanat
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_handicraft_link1">
<option value="strength">FOR</option>
<option selected value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_handicraft_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-handicraft">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_handicraft_link1}+@{talent_handicraft_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="handicraft" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_athletics"
name="attr_expend_athletics"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_athletics">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Athlétisme
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_athletics_link1">
<option selected value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_athletics_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option selected value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-athletics">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_athletics_link1}+@{talent_athletics_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="athletics" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_nature"
name="attr_expend_nature"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_nature">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Connaissance de la nature
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_nature_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_nature_link2">
<option value="strength">FOR</option>
<option selected value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-nature">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_nature_link1}+@{talent_nature_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="nature" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_secret"
name="attr_expend_secret"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_secret">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Connaissance des secrets
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_secret_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_secret_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-secret">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_secret_link1}+@{talent_secret_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="secret" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_discretion"
name="attr_expend_discretion"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_discretion">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Discrétion
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_discretion_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
/
<select name="attr_talent_discretion_link2">
<option value="strength">FOR</option>
<option selected value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-discretion">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_discretion_link1}+@{talent_discretion_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="discretion" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_dressage"
name="attr_expend_dressage"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_dressage">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Dressage
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_dressage_link1">
<option selected value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_dressage_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-dressage">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_dressage_link1}+@{talent_dressage_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="dressage" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_eloquence"
name="attr_expend_eloquence"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_eloquence">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Eloquence
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_eloquence_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
/
<select name="attr_talent_eloquence_link2">
<option selected value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-eloquence">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_eloquence_link1}+@{talent_eloquence_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="eloquence" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_skillful"
name="attr_expend_skillful"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_skillful">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Habileté
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_skillful_link1">
<option value="strength">FOR</option>
<option selected value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_skillful_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-skillful">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_skillful_link1}+@{talent_skillful_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="skillful" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_larceny"
name="attr_expend_larceny"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_larceny">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Larcin
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_larceny_link1">
<option value="strength">FOR</option>
<option selected value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_larceny_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-larceny">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_larceny_link1}+@{talent_larceny_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="larceny" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_linguistic"
name="attr_expend_linguistic"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_linguistic">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Linguistique
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_linguistic_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
/
<select name="attr_talent_linguistic_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-linguistic">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_linguistic_link1}+@{talent_linguistic_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="linguistic" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_maneuvering"
name="attr_expend_maneuvering"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_maneuvering">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Manoeuvre
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_maneuvering_link1">
<option selected value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_maneuvering_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option selected value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-maneuvering">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_maneuvering_link1}+@{talent_maneuvering_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="maneuvering" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_medicine"
name="attr_expend_medicine"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_medicine">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Médecine
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_medicine_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_medicine_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option selected value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-medicine">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_medicine_link1}+@{talent_medicine_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="medicine" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_perception"
name="attr_expend_perception"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_perception">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Perception
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_perception_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_perception_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-perception">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_perception_link1}+@{talent_perception_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="perception" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_psychology"
name="attr_expend_psychology"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_psychology">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Psychologie
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_psychology_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option selected value="charisma">CHA</option>
</select>
/
<select name="attr_talent_psychology_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option selected value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-psychology">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_psychology_link1}+@{talent_psychology_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="psychology" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_survival"
name="attr_expend_survival"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_survival">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Survie
</h3>
</label>
<div class="sheet-link">
<select name="attr_talent_survival_link1">
<option value="strength">FOR</option>
<option selected value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_talent_survival_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option selected value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-survival">
<div class="sheet-skill">
<input
type="hidden"
name="attr_talent_links"
value="@{talent_survival_link1}+@{talent_survival_link2}"
disabled
/>
<input type="text" name="attr_talent_name" value="survival" hidden />
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol">
<input
class="sheet-expendable-btn"
type="checkbox"
id="attr_expend_other"
name="attr_expend_other"
hidden
/>
<div class="sheet-section-title">
<label for="attr_expend_other">
<h3>
<span class="material-icons sheet-expend-icon">expand_more</span>
<span class="material-icons sheet-retract-icon">expand_less</span>
Autres
</h3>
</label>
</div>
<div class="sheet-section-container sheet-expendable">
<fieldset class="repeating_talent-other">
<div class="sheet-talent-other sheet-option-btn-container">
<input class="sheet-expendable-btn" type="checkbox" name="attr_extended" hidden />
<div class="sheet-skill">
<button
class="sheet-button-roll-more"
name="act_roll-more"
type="action"
></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<div class="sheet-skill-xp">
<input type="text" name="attr_skill_xp" value="0" />/1000
</div>
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
</select>
<input
class="sheet-mastery-value"
type="text"
name="attr_mastery"
value="@{mastery}%"
disabled
/>
<label class="sheet-skill-expendable-btn">
<input
class="sheet-expendable-btn"
type="checkbox"
name="attr_extended"
hidden
/>
</label>
</div>
<div class="sheet-expendable">
<div class="sheet-link">
<select name="attr_link1">
<option selected value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_link2">
<option selected value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<hr class="sheet-vertical-delimiter" />
<div>
<div class="sheet-section sheet-display-repcontrol sheet-selected-rules-v1">
<h2>Maîtrises</h2>
<div>
<fieldset class="repeating_masteries">
<div class="sheet-mastery sheet-option-btn-container">
<input
class="sheet-expendable-btn"
type="checkbox"
name="attr_extended"
checked
hidden
/>
<div class="sheet-skill">
<button class="sheet-button-roll-more" name="act_roll-more" type="action"></button>
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input list="masteries-list" type="text" name="attr_skillname" value="" />
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
<option value="T4">T4</option>
</select>
<input class="sheet-spell-slot" type="text" name="attr_spel_slot" value="" />
<input
class="sheet-mastery-value"
name="attr_mastery"
type="text"
title="@{mastery}"
value="@{mastery}%"
disabled
/>
<label class="sheet-skill-expendable-btn">
<input
class="sheet-expendable-btn"
type="checkbox"
name="attr_extended"
checked
hidden
/>
</label>
</div>
<div class="sheet-expendable">
<div class="sheet-link">
<select name="attr_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<hr class="sheet-horizontal-delimiter sheet-selected-rules-v1" />
<div class="sheet-section sheet-display-repcontrol sheet-selected-rules-v1">
<h2>Attaques</h2>
<div>
<fieldset class="repeating_attacks">
<div class="sheet-attack sheet-option-btn-container">
<input class="sheet-expendable-btn" type="checkbox" name="attr_extended" hidden />
<div class="sheet-skill">
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<input name="attr_attack" type="text" title="@{attack}" value="1d4" />
<label class="sheet-skill-expendable-btn">
<input
class="sheet-expendable-btn"
type="checkbox"
name="attr_extended"
hidden
/>
</label>
</div>
<div class="sheet-expendable">
<div class="sheet-input-field sheet-description-field">
<span>Description</span>
<textarea
name="attr_attack_description"
title="@{attack_description}"
></textarea>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<div class="sheet-section sheet-display-repcontrol sheet-selected-rules-v2">
<h2>Maîtrises</h2>
<div>
<fieldset class="repeating_attacks2">
<div class="sheet-attack sheet-option-btn-container">
<input class="sheet-expendable-btn" type="checkbox" name="attr_extended" hidden />
<div class="sheet-skill">
<button class="sheet-button-roll" name="act_roll" type="action"></button>
<input type="text" name="attr_skillname" value="" />
<select class="sheet-tier-selector" name="attr_skill_tier">
<option value="T1">T1</option>
<option value="T2">T2</option>
<option value="T3">T3</option>
<option value="T4">T4</option>
</select>
<input class="sheet-spell-slot" type="text" name="attr_spel_slot" value="" />
<input name="attr_attack" type="text" title="@{attack}" value="0" readonly />
<label class="sheet-skill-expendable-btn">
<input
class="sheet-expendable-btn"
type="checkbox"
name="attr_extended"
hidden
/>
</label>
</div>
<div class="sheet-expendable">
<div class="sheet-attack-values">
<div>
<span>Valeur du dé:</span>
<input name="attr_dice" type="text" title="@{dice}" value="4" />
</div>
<div class="sheet-link">
<span>Liens:</span>
<select name="attr_link1">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
/
<select name="attr_link2">
<option value="strength">FOR</option>
<option value="dexterity">DEX</option>
<option value="endurance">END</option>
<option value="intelligence">INT</option>
<option value="charisma">CHA</option>
</select>
</div>
</div>
<div class="sheet-input-field sheet-description-field">
<span>Description</span>
<textarea
name="attr_attack_description"
title="@{attack_description}"
></textarea>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<hr class="sheet-horizontal-delimiter sheet-toggled-type-pnj" />
<div class="sheet-section sheet-toggled-type-pnj">
<div>
<div class="sheet-section-title">
<h2>Notes</h2>
</div>
<textarea name="attr_notes"></textarea>
</div>
</div>
</div>
</div>
<div class="sheet-inventory-sections-container sheet-toggled-type-pj sheet-toggled-section-2">
<div class="sheet-inventory-container">
<div>
<h3>Inventaire</h3>
<textarea name="attr_inventory"></textarea>
</div>
<div class="sheet-money-section">
<label class="sheet-currency-input" title="Pièce de platine">
<input type="text" name="attr_currency_pp" />
<span>PP</span>
</label>
<label class="sheet-currency-input" title="Pièce d'or">
<input type="text" name="attr_currency_po" />
<span>PO</span>
</label>
<label class="sheet-currency-input" title="Pièce d'argent">
<input type="text" name="attr_currency_pa" />
<span>PA</span>
</label>
<label class="sheet-currency-input" title="Pièce de cuivre">
<input type="text" name="attr_currency_pc" />
<span>PC</span>
</label>
</div>
<div>
<h3>Équipement</h3>
<textarea name="attr_equipment"></textarea>
</div>
</div>
<div>
<h3>Notes</h3>
<textarea name="attr_notes"></textarea>
</div>
</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-rt1">
<div style="background-color: #fcf8f2; border: 2px solid #a69c73; padding: 5px; color: #3e3431">
<h1 style="color: #3e3431">{{name}}{{#skillTier}} ({{skillTier}}){{/skillTier}}</h1>
<h2 style="color: #3e3431; border-bottom: 2px solid rgba(62, 52, 49, 0.2)">{{character_name}}</h2>
{{#description}}
<div>{{description}}</div>
{{/description}} {{#damageRolled}}
<div class="sheet-rt1-rollvalue">
<span>Dégâts: {{damageRolled}}</span>
{{#attackSucceeded}} {{#rollTotal() computed::attackSucceeded 1}}
<span class="sheet-attack-succeeded">Confirmé</span>
{{/rollTotal() computed::attackSucceeded 1}} {{#rollTotal() computed::attackSucceeded 2}}
<span class="sheet-attack-succeeded">Réussite critique</span>
{{/rollTotal() computed::attackSucceeded 2}} {{/attackSucceeded}}
</div>
{{/damageRolled}}
<div class="sheet-rt1-roll">
<div>{{roll}}</div>
</div>
</div>
</rolltemplate>
<script type="text/worker">
(function () {
const characteristicNames = ["strength", "dexterity", "endurance", "intelligence", "charisma"];
const skills = [
{
name: "Artisanat",
links: ["dexterity", "intelligence"],
talent_name: "handicraft",
talents: [
"Alchimie",
"Cuisine",
"Forge",
"Couture",
"Travail du cuir",
"Tissage ésotérique",
"Art visuel",
"Bricolage",
],
},
{
name: "Athlétisme",
links: ["strength", "endurance"],
talent_name: "athletics",
talents: ["Course", "Nage", "Escalade", "Force brute"],
},
{
name: "Connaissance de la nature",
links: ["intelligence", "dexterity"],
talent_name: "nature",
talents: ["Botanique", "Zoologie"],
},
{
name: "Connaissance des secrets",
links: ["intelligence", "charisma"],
talent_name: "secret",
talents: ["Religion", "Arcane", "Histoire"],
},
{
name: "Discrétion",
links: ["charisma", "dexterity"],
talent_name: "discretion",
talents: ["Dissimulation", "Filature"],
},
{
name: "Dressage",
links: ["strength", "charisma"],
talent_name: "dressage",
talents: ["Domptage", "Apprivoisement"],
},
{
name: "Eloquence",
links: ["charisma", "strength"],
talent_name: "eloquence",
talents: ["Persuasion", "Intimidation"],
},
{
name: "Habileté",
links: ["dexterity", "charisma"],
talent_name: "skillful",
talents: ["Agilité", "Représentation"],
},
{
name: "Larcin",
links: ["dexterity", "intelligence"],
talent_name: "larceny",
talents: ["Crochetage", "Vol à la tire", "Désamorçage"],
},
{
name: "Linguistique",
links: ["charisma", "intelligence"],
talent_name: "linguistic",
talents: [
"Langue commune",
"Langue Géante",
"Langue Sacrée",
"Langue Draconique",
"Langue Elfique ancienne",
],
},
{
name: "Manoeuvre",
links: ["strength", "endurance"],
talent_name: "maneuvering",
talents: ["Equitation", "Conduite"],
},
{
name: "Médecine",
links: ["intelligence", "endurance"],
talent_name: "medicine",
talents: ["Soins", "Diagnostic"],
},
{
name: "Perception",
links: ["intelligence", "charisma"],
talent_name: "perception",
talents: ["Enquête", "Vigilance"],
},
{
name: "Psychologie",
links: ["charisma", "endurance"],
talent_name: "psychology",
talents: ["Perspicacité", "Ténacité"],
},
{
name: "Survie",
links: ["dexterity", "intelligence"],
talent_name: "survival",
talents: ["Chasse/Pêche", "Cartographie/Repérage"],
},
];
function generageDefaultTalents() {
skills.forEach((skill) => {
const sectionName = `repeating_talent-${skill["talent_name"]}`;
const skillNameAttr = "skillname";
getSectionIDs(sectionName, (ids) => {
getAttrs(
ids.map((i) => `${sectionName}_${i}_${skillNameAttr}`),
(names) => {
const skillNamesToSectionId = {};
Object.keys(names).forEach((skillname_path) => {
skillNamesToSectionId[names[skillname_path]] = skillname_path.substring(
sectionName.length + 1,
skillname_path.length - skillNameAttr.length - 1
);
});
const skillNames = Object.values(names);
const attrsToAdd = {};
skill.talents.forEach((talent) => {
rowId =
skillNames.indexOf(talent) !== -1 ? skillNamesToSectionId[talent] : generateRowID();
attrsToAdd[`${sectionName}_${rowId}_${skillNameAttr}`] = talent;
});
setAttrs(attrsToAdd);
}
);
});
});
}
on("clicked:generage_default_talents", function () {
generageDefaultTalents();
});
function rollSkill({ name, skillLevel, skillTier }) {
getAttrs(["privaterolls", "selected_rules"], (values) => {
const roll =
(skillTier === "T1"
? "2d100kl1"
: skillTier === "T2"
? "1d100"
: skillTier === "T3" || skillTier === "T4"
? "2d100kh1"
: "1d100") + `+${skillLevel}`;
const cmd = [
`${values["privaterolls"]}&{template:rt1}`,
`{{name=${name}}}`,
`{{character_name=[@{character_name}](http://journal.roll20.net/character/@{character_id})}}`,
`{{roll=[[${roll}]]}}`,
skillTier ? `{{skillTier=${skillTier}}}` : "",
];
startRoll(cmd.join(" "), (results) => {
finishRoll(results.rollId);
});
});
}
function rollSkillAdvanced(params) {
const roll = params["advancedRoll"] ?? "d100";
const skillLevel = params["skillLevel"];
rollSkill({
...params,
roll: `?{Combien de dés?}${roll}?{Jet avec|Avantage,kh1|Désavantage,kl1}+${
skillLevel ? skillLevel : ""
}`,
});
}
function rollAttacks({ name, roll, description, skillTier }) {
getAttrs(["privaterolls", "selected_rules"], (values) => {
const cmd = [
`${values["privaterolls"]}&{template:rt1}`,
`{{name=${name}}}`,
`{{character_name=[@{character_name}](http://journal.roll20.net/character/@{character_id})}}`,
`{{roll=[[${roll ? roll : `1d100+${skillLevel}`}]]}}`,
description ? `{{description=${description}}}` : "",
`{{damageRolled=${roll}}}`,
"{{attackSucceeded=[[1]]}}",
];
startRoll(cmd.join(" "), (results) => {
const r = results.results.roll.result;
const res = {
attackSucceeded: 0,
};
if (values["selected_rules"] === "v2") {
const dices = results.results.roll.dice.filter(d => d);
if (dices.length !== new Set(dices).size) {
res["attackSucceeded"] = 1;
if (
skillTier === "T4" &&
Object.values(
dices.reduce((acc, val) => {
acc[val] = ++acc[val] || 1;
return acc;
}, {})
).findIndex((v) => v >= 4) >= 0
) {
res["attackSucceeded"] = 2;
}
}
}
finishRoll(results.rollId, res);
});
});
}
on(characteristicNames.map((c) => `clicked:${c}`).join(" "), (eventInfo) => {
const attrName = eventInfo.triggerName.substring(8);
getAttrs([attrName, `${attrName}_name`], (values) => {
rollSkill({
name: values[`${attrName}_name`],
skillLevel: parseInt(values[attrName]),
});
});
});
on("clicked:repeating_attacks:roll clicked:repeating_attacks2:roll", async (eventInfo) => {
const pathBase = eventInfo.sourceAttribute.substring(0, eventInfo.sourceAttribute.length - 4);
getAttrs(
[`${pathBase}skillname`, `${pathBase}attack`, `${pathBase}attack_description`, `${pathBase}skill_tier`],
(values) => {
rollAttacks({
name: values[`${pathBase}skillname`],
roll: values[`${pathBase}attack`],
description: values[`${pathBase}attack_description`],
skillTier: values[`${pathBase}skill_tier`],
});
}
);
});
on(
`clicked:repeating_masteries:roll clicked:repeating_talent-other:roll ${skills
.map((s) => `clicked:repeating_talent-${s["talent_name"]}:roll`)
.join(" ")}`,
async function (eventInfo) {
const pathBase = eventInfo.sourceAttribute.substring(0, eventInfo.sourceAttribute.length - 4);
getAttrs([`${pathBase}skillname`, `${pathBase}mastery`, `${pathBase}skill_tier`], (values) => {
rollSkill({
name: values[`${pathBase}skillname`],
skillLevel: values[`${pathBase}mastery`],
skillTier: values[`${pathBase}skill_tier`],
});
});
}
);
on(
`clicked:repeating_masteries:roll-more clicked:repeating_talent-other:roll-more ${skills
.map((s) => `clicked:repeating_talent-${s["talent_name"]}:roll-more`)
.join(" ")}`,
async function (eventInfo) {
const pathBase = eventInfo.sourceAttribute.substring(0, eventInfo.sourceAttribute.length - 9);
getAttrs([`${pathBase}skillname`, `${pathBase}mastery`, `${pathBase}skill_tier`], (values) => {
rollSkillAdvanced({
name: values[`${pathBase}skillname`],
skillLevel: values[`${pathBase}mastery`],
skillTier: values[`${pathBase}skill_tier`],
});
});
}
);
function calculate_repeating_masteries(repSections) {
getAttrs(
repSections.reduce(
(acc, repSection) => [...acc, `${repSection}_link1`, `${repSection}_link2`],
[...characteristicNames]
),
(values) => {
const output = {};
repSections.forEach((repSection) => {
output[`${repSection}_mastery`] =
parseInt(values[values[`${repSection}_link1`]]) +
parseInt(values[values[`${repSection}_link2`]]);
});
setAttrs(output);
}
);
}
on("change:repeating_masteries", async (eventInfo) => {
if (eventInfo.sourceAttribute.toLowerCase() !== eventInfo.triggerName.toLowerCase()) {
calculate_repeating_masteries([eventInfo.triggerName]);
}
});
function calculate_repeating_talent(basePaths) {
getAttrs(
basePaths.map((pathBase) => `${pathBase}talent_name`),
(values) => {
const talentNames = basePaths.map((pathBase) => values[`${pathBase}talent_name`]);
getAttrs(
[
...characteristicNames,
...talentNames.flatMap((talentName) => [
`talent_${talentName}_link1`,
`talent_${talentName}_link2`,
]),
],
(talentValues) => {
const output = {};
basePaths.forEach((pathBase) => {
const talentName = values[`${pathBase}talent_name`];
output[`${pathBase}mastery`] =
parseInt(talentValues[talentValues[`talent_${talentName}_link1`]]) +
parseInt(talentValues[talentValues[`talent_${talentName}_link2`]]);
});
setAttrs(output);
}
);
}
);
}
on(skills.map((s) => `change:repeating_talent-${s["talent_name"]}`).join(" "), async (eventInfo) => {
const rowIdIdx = eventInfo.triggerName.indexOf("_-");
if (rowIdIdx === -1) {
const sectionName = eventInfo.triggerName.substring(0, eventInfo.triggerName.lastIndexOf("_"));
getSectionIDs(sectionName, (ids) => {
calculate_repeating_talent(ids.map((id) => `${sectionName}_${id}_`));
});
} else {
if (eventInfo.sourceAttribute.indexOf("_", eventInfo.sourceAttribute.indexOf("-", 17)) !== -1) {
calculate_repeating_talent([`${eventInfo.triggerName}_`]);
}
}
});
function calculate_repeating_talent_other(basePaths) {
getAttrs(
[
...characteristicNames,
...basePaths.flatMap((pathBase) => [
`${pathBase}skillname`,
`${pathBase}link1`,
`${pathBase}link2`,
]),
],
(values) => {
const output = {};
basePaths.forEach((pathBase) => {
output[`${pathBase}mastery`] =
parseInt(values[values[`${pathBase}link1`]]) + parseInt(values[values[`${pathBase}link2`]]);
});
setAttrs(output);
}
);
}
on("change:repeating_talent-other", (eventInfo) => {
const rowIdIdx = eventInfo.triggerName.indexOf("_-");
if (rowIdIdx === -1) {
const sectionName = eventInfo.triggerName.substring(0, eventInfo.triggerName.lastIndexOf("_"));
getSectionIDs(sectionName, (ids) => {
calculate_repeating_talent_other(ids.map((id) => `${sectionName}_${id}_`));
});
} else {
if (eventInfo.sourceAttribute.indexOf("_", eventInfo.sourceAttribute.indexOf("-", 17)) !== -1) {
calculate_repeating_talent_other([`${eventInfo.triggerName}_`]);
}
}
});
function calculate_repeating_attacks2(repSections) {
getAttrs(
[
...characteristicNames,
...repSections.flatMap((repSection) => [
`${repSection}_link1`,
`${repSection}_link2`,
`${repSection}_dice`,
]),
],
(values) => {
const output = {};
repSections.forEach((repSection) => {
const diceCount = Math.max(1, Math.floor(parseInt(values[values[`${repSection}_link1`]]) / 2));
output[`${repSection}_attack`] =
`${diceCount}` +
`d${values[`${repSection}_dice`]}` +
`+${values[values[`${repSection}_link2`]]}`;
});
setAttrs(output);
}
);
}
on("change:repeating_attacks2", (eventInfo) => {
if (eventInfo.sourceAttribute.toLowerCase() !== eventInfo.triggerName.toLowerCase()) {
calculate_repeating_attacks2([eventInfo.triggerName]);
}
});
function calculateAll() {
getAttrs(["selected_rules"], (values) => {
const selectedRules = values["selected_rules"];
if (selectedRules === "v1") {
getSectionIDs("repeating_masteries", (ids) => {
calculate_repeating_masteries(ids.map((i) => `repeating_masteries_${i}`));
});
} else if (selectedRules === "v2") {
getSectionIDs("repeating_attacks2", (ids) => {
calculate_repeating_attacks2(ids.map((i) => `repeating_attacks2_${i}`));
});
}
const repTalents = skills.filter((s) => s["talent_name"]);
getAttrs(
repTalents.reduce(
(acc, t) => [...acc, `talent_${t["talent_name"]}_link1`, `talent_${t["talent_name"]}_link2`],
[]
),
(talentLinks) => {
repTalents.forEach((talentToUpdate) => {
const sectionName = `repeating_talent-${talentToUpdate["talent_name"]}`;
getSectionIDs(sectionName, (ids) => {
calculate_repeating_talent(ids.map((id) => `${sectionName}_${id}_`));
});
});
}
);
getSectionIDs("repeating_talent-other", (ids) => {
calculate_repeating_talent_other(ids.map((i) => `repeating_talent-other_${i}_`));
});
});
}
on(
`clicked:calculate_all change:selected_rules ${characteristicNames.map((c) => `change:${c}`).join(" ")}`,
async (eventInfo) => {
calculateAll();
}
);
})();
</script>