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

222 lines
9.3 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- capacités-->
<main>
<section>
<h1>Vade † Mecum</h1>
<div class="capacites">
<h3>Capacités</h3>
<fieldset class="repeating_capacites">
<details class="capacite">
<summary>
<input class="capacite_name" name="attr_name" placeholder="Capacité" type="text" value=""/>
</summary>
<textarea class="capacite_description" name="attr_description" placeholder="Description"></textarea>
</details>
</fieldset>
</div>
<div class="contacts">
<h3>Contacts</h3>
<textarea class="contacts" name="attr_contacts"></textarea>
</div>
<div class="materiel">
<h3>Matériel</h3>
<textarea class="materiel" name="attr_materiel"></textarea>
</div>
</section>
<!-- personnage-->
<section>
<h1>Vade † Mecum</h1>
<input name="attr_character_name" type="text" value=""/>
<div class="row" id="statsBlock">
<div class="col2">
<div class="statLine"><span>Niveau</span>
<div>
<input name="attr_niveau" type="number" value="0"/>
</div>
</div>
<div class="statLine"><span>Attaque</span>
<div>
<button name="roll_Attaque" type="roll" value="&amp;{template:attack} {{jet=[[2d6 + @{attaque} + ?{Bonus/Malus ?|0}]]}} {{character=@{character_name}}}"></button>
<input name="attr_attaque" type="number" value="0"/>
</div>
</div>
<div class="statLine"><span>Blessures max</span>
<div>
<input name="attr_blessures_max" type="number" value="0"/>
</div>
</div>
</div>
<div class="col2">
<div class="statLine"><span>Anima</span>
<div>
<button name="roll_Anima" type="roll" value="&amp;{template:anima} {{jet=[[2d6 + @{anima} + ?{Bonus/Malus ?|0}]]}} {{character=@{character_name}}}"></button>
<input name="attr_anima" type="number" value="0"/>
</div>
</div>
<div class="statLine"><span>Défense</span>
<div>
<button name="roll_Défense" type="roll" value="&amp;{template:defense} {{jet=[[2d6 + @{defense} + ?{Bonus/Malus ?|0}]]}} {{character=@{character_name}}}"></button>
<input name="attr_defense" type="number" value="0"/>
</div>
</div>
<div class="statLine"><span>Aegis</span>
<div>
<input name="attr_aegis" type="number" value="0"/>
</div>
</div>
</div>
</div>
<div class="row" id="hurtsBlock">
<div class="col2 frame">
<div class="frameTitle"><span>Blessures</span>
<input name="attr_blessures" type="number" value="0"/>
</div>
<textarea name="attr_blessuresDescription"></textarea>
</div>
<div class="col2 frame">
<div class="frameTitle"><span>Souffrances</span>
<input name="attr_souffrances" type="number" value="0"/>
</div>
<textarea name="attr_souffrancesDescription"></textarea>
</div>
</div>
<div class="row" id="equipmentBlock">
<div class="col2 frame rptFrame" id="weapons">
<div class="frameTitle"><span>Armes</span><span title="Portée">Pt</span><span title="Bonus attaque">Atq</span><span></span></div>
<fieldset class="repeating_weapons">
<input name="attr_wpn_name" placeholder="Arme" type="text" value=""/>
<input name="attr_wpn_range" placeholder="Portée" type="text" value=""/>
<input name="attr_wpn_atk" placeholder="Attaque" type="text" value=""/>
<button name="roll_Arme" type="roll" value="&amp;{template:attack} {{jet=[[2d6 + @{attaque} + @{wpn_atk} + ?{Bonus/Malus ?|0} + @{wpn_atk}]]}} {{character=@{character_name}}} {{equipment=@{wpn_name}}}"></button>
</fieldset>
</div>
<div class="col2 frame rptFrame" id="armours">
<div class="frameTitle"><span>Protections</span><span title="Bonus défense">Def</span><span title="Bonus Aegis">Aeg</span><span></span></div>
<fieldset class="repeating_armours">
<input name="attr_arm_name" placeholder="Protection" type="text" value=""/>
<input name="attr_arm_def" placeholder="+Défense" type="number" value=""/>
<input name="attr_arm_aeg" placeholder="+Aegis" type="number" value=""/>
<button name="roll_Protection" type="roll" value="&amp;{template:defense} {{jet=[[2d6 + @{defense} + @{arm_def} + ?{Bonus/Malus ?|0} + @{arm_def}]]}} {{character=@{character_name}}} {{equipment=@{arm_name}}}"></button>
</fieldset>
</div>
</div>
<div class="row" id="bottomBlock">
<div class="col2" id="xp">
<div class="statLine"><span>Expérience</span>
<div>
<input name="attr_xp" type="number" value="0"/>
</div>
</div>
<div class="statLine"><span>Jet libre</span>
<div>
<button name="roll_Libre" type="roll" value="&amp;{template:base} {{jet=[[2d6 + ?{Bonus/Malus ?|0}]]}} {{character=@{character_name}}}"></button>
</div>
</div>
</div>
<div class="col2 frame rptFrame" id="heal">
<div class="frameTitle"><span>Soins</span><span title="Nombre">Nb</span><span title="Blessures
Écrire 'm-N' ou 'max - N' pour les Réveil">Bls</span><span title="Souffrance">Sfr</span><span></span></div>
<fieldset class="repeating_heal">
<input name="attr_heal-name" placeholder="Objet" type="text" value=""/>
<input name="attr_healnb" type="number" value="0"/>
<input name="attr_heal-blessure" type="text" value=""/>
<input name="attr_heal-souffrance" type="number" value=""/>
<button name="act_heal" type="action" value=""></button>
</fieldset>
</div>
</div>
</section>
</main>
<footer><span>v 1.0 par Calmacil</span></footer>
<rolltemplate class="sheet-rolltemplate-base">
<div class="sheet-template-container">
<div class="sheet-template-header">{{#character}}<span class="sheet-template-character">{{character}}</span>{{/character}}
Fait appel au destin
</div>
<div class="sheet-template-body">{{#jet}}<span>{{jet}}</span>{{/jet}}</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-attack">
<div class="sheet-template-container">
<div class="sheet-template-header">{{#character}}<span class="sheet-template-character">{{character}}</span>{{/character}}
Attaque sauvagement
{{#equipment}}<span class="sheet-template-equipment">( {{equipment}} )</span>{{/equipment}}
</div>
<div class="sheet-template-body">{{#jet}}<span>{{jet}}</span>{{/jet}}</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-defense">
<div class="sheet-template-container">
<div class="sheet-template-header">{{#character}}<span class="sheet-template-character">{{character}}</span>{{/character}}
Se défend
{{#equipment}}<span class="sheet-template-equipment">( {{equipment}} )</span>{{/equipment}}
</div>
<div class="sheet-template-body">{{#jet}}<span>{{jet}}</span>{{/jet}}</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-anima">
<div class="sheet-template-container">
<div class="sheet-template-header">{{#character}}<span class="sheet-template-character">{{character}}</span>{{/character}}
Fait appel à son âme
</div>
<div class="sheet-template-body">{{#jet}}<span>{{jet}}</span>{{/jet}}</div>
</div>
</rolltemplate>
<script type="text/worker">/**
* Manage the Heal button action, including revive
*/
on('clicked:repeating_heal', function(ev)
{
let id = ev.sourceAttribute.split('_').pop();
let nb_id = 'repeating_heal_' + id + '_healnb';
let wound_id = 'repeating_heal_' + id + '_heal-blessure';
let pain_id = 'repeating_heal_' + id + '_heal-souffrance';
let name_id = 'repeating_heal_' + id + '_heal-name';
getAttrs([nb_id, wound_id, pain_id, name_id, 'blessures', 'blessures_max', 'souffrances'], function (values) {
let wounds = parseInt(values["blessures"])||0;
let max_wounds = parseInt(values["blessures_max"])||0;
let cur_pain = parseInt(values["souffrances"])||0;
let nb = parseInt(values[nb_id])||0;
let pain = parseInt(values[pain_id])||0;
console.log("Module de soins");
console.warn("Nb: " + values[nb_id] + " - " + nb);
if (nb) {
console.log("Je peux soigner !");
let revive = values[name_id].match(/[eé]veil/);
if (revive && wounds == max_wounds) {
console.log("Résurection");
if (values[wound_id].indexOf('-')) {
let amount = parseInt(values[wound_id].split('-').pop().trim())||0;
wounds = max(max_wounds - amount, 0);
nb--;
} else {
console.warn("Je sais pas combien je lui mets !")
}
} else if (wounds && !revive){
console.log("Soins");
let amount = parseInt(values[wound_id])||0;
wounds = Math.max(wounds - amount, 0);
cur_pain += pain;
nb--;
} else {
console.log('pas de soins');
}
setAttrs({
blessures: wounds,
repeating_heal_healnb: nb,
souffrances: cur_pain
});
}
})
})
</script>