mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
Fixing merge problems
Fixing merge problems
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
/* Set the min-width so that when the window is resized the look will stay consistant */
|
||||
|
||||
.charsheet {
|
||||
background-color: #cad7e2;
|
||||
width: 1000px;
|
||||
}
|
||||
|
||||
|
||||
/* Universal styling applied to all elements of these types */
|
||||
|
||||
@@ -40,7 +37,7 @@ th {
|
||||
/* text-align: center; */
|
||||
padding-bottom: 5px;
|
||||
padding-top: 5px;
|
||||
background-color: #a6b5c3;
|
||||
/* background-color: #a6b5c3; */
|
||||
}
|
||||
|
||||
table {
|
||||
@@ -64,13 +61,17 @@ input.sheet-short {
|
||||
|
||||
input.sheet-transparent {
|
||||
width: 45px;
|
||||
background-color: #cad7e2;
|
||||
background-color: var(--main-bg-color);
|
||||
border: 0px;
|
||||
border-bottom: 1px solid #a6b5c3;
|
||||
border-radius: 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.sheet-characterSheet {
|
||||
background-color: var(--main-bg-color);
|
||||
}
|
||||
|
||||
select.sheet-dtype {
|
||||
vertical-align: top;
|
||||
width: 60px;
|
||||
@@ -87,11 +88,21 @@ label.sheet-header {
|
||||
/* text-align: center; */
|
||||
padding-bottom: 5px;
|
||||
padding-top: 5px;
|
||||
background-color: #a6b5c3;
|
||||
background-color: var(--header-bg-color);
|
||||
}
|
||||
|
||||
th.sheet-header {
|
||||
background-color: var(--header-bg-color);
|
||||
}
|
||||
|
||||
/* Targetted styling that only effects elements contained within the stated class */
|
||||
|
||||
.charsheet {
|
||||
/* background-color: #cad7e2; */
|
||||
/* background-color: var(--main-bg-color); */
|
||||
width: 1000px;
|
||||
}
|
||||
|
||||
.sheet-stats h3 {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
@@ -107,7 +118,6 @@ label.sheet-header {
|
||||
width: 45px;
|
||||
}
|
||||
|
||||
|
||||
.charsheet label {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
@@ -143,9 +153,27 @@ input.sheet-toggle-hide:checked ~ div.sheet-body {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ********************** COLORS ****************************** */
|
||||
|
||||
.charsheet {
|
||||
--main-bg-color: #d4dce4;
|
||||
--header-bg-color: #989fb3;
|
||||
--input-bg-color: #fff;
|
||||
}
|
||||
.sheet-mainBgColor[value="default"] ~ .sheet-characterSheet { --main-bg-color: #d4dce4; --header-bg-color: #989fb3; }
|
||||
.sheet-mainBgColor[value="white"] ~ .sheet-characterSheet { --main-bg-color: #fff; --header-bg-color: #cccccc; }
|
||||
.sheet-mainBgColor[Value="lilac"] ~ .sheet-characterSheet { --main-bg-color: #ded6e0; --header-bg-color: #ac98b1; }
|
||||
.sheet-mainBgColor[value="grayscale"] ~ .sheet-characterSheet { --main-bg-color: #f3f3f3; --header-bg-color: #bbb; }
|
||||
.sheet-mainBgColor[value="book"] ~ .sheet-characterSheet { --main-bg-color: #f3efe6; --header-bg-color: #c3baa6; }
|
||||
.sheet-mainBgColor[value="summer"] ~ .sheet-characterSheet { --main-bg-color: #fef7ed; --header-bg-color: #e6cfad; }
|
||||
.sheet-mainBgColor[value="fall"] ~ .sheet-characterSheet { --main-bg-color: #f5dbcc; --header-bg-color: #e0a696; }
|
||||
.sheet-mainBgColor[value="winter"] ~ .sheet-characterSheet { --main-bg-color: #dcefef; --header-bg-color: #9cccd6; }
|
||||
.sheet-mainBgColor[value="spring"] ~ .sheet-characterSheet { --main-bg-color: #e6f1e2; --header-bg-color: #bdcc9e; }
|
||||
|
||||
|
||||
/* Roll template */
|
||||
|
||||
|
||||
/* ***************** Roll template ******************** */
|
||||
|
||||
/* Smaller margins - remove these if you want the huge default left margin */
|
||||
.sheet-rolltemplate-custom {
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
<div class="3colrow">
|
||||
<input class="sheet-mainBgColor" name="attr_mainBgColor" type="hidden" value="default"/>
|
||||
<div class="sheet-characterSheet">
|
||||
<div class="3colrow characterSheet">
|
||||
<div class="col">
|
||||
<label data-i18n="race">Race</label><input type="text" name="attr_race" />
|
||||
<label data-i18n="profession">Profession</label><input type="text" name="attr_profession" />
|
||||
@@ -20,19 +22,25 @@
|
||||
<div class="col">
|
||||
<label data-i18n="realmpower">Roy. pouvoir</label><input type="text" name="attr_royaume_pouvoir" />
|
||||
<label data-i18n="powerpoints">Pts pouvoir</label><input type="number" name="attr_pp" class='sheet-short'> / <input type="number" name="attr_pp_max" class='sheet-short'/>
|
||||
<label data-i18n="basehp">PdC base</label><input type="number" name="attr_hp_base" class='sheet-short'> <label data-i18n="totalhp" style="width: 63px;">PdC total</label><input type="number" name="attr_hp_max" class='sheet-short'/>
|
||||
<label data-i18n="basehp">PdC base</label><input type="text" name="attr_hp_base" class='sheet-short'> <label data-i18n="totalhp" style="width: 63px;">PdC total</label><input type="text" name="attr_hp_max" class='sheet-short'/>
|
||||
<label data-i18n="actualhp">PdC actuels</label><input type="number" name="attr_hp" style="width: 70px;"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type='hidden' class='sheet-tabstoggle' name='attr_sheetTab' value='character' />
|
||||
<input type='hidden' name='attr_totalhpcalculation' value='1'/>
|
||||
<br>
|
||||
|
||||
<!-- ##############################################
|
||||
# CHARACTER TAB #
|
||||
############################################## -->
|
||||
|
||||
|
||||
<div class='sheet-character'>
|
||||
<span>
|
||||
<hr/>
|
||||
|
||||
|
||||
<div class="3colrow">
|
||||
<div class="col" style="width: 400px;">
|
||||
<table><tr><th data-i18n="attributes" style="padding-left: 5px;">Caractéristiques</th><th data-i18n="temporary-abbr">Temp.</th><th data-i18n="potential-abbr">Pot.</th><th data-i18n="development-abbr">Dev.</th><th data-i18n="base-abbr">Base</th><th data-i18n="race-abbr">Race</th><th data-i18n="total-abbr">TOTAL</th></tr>
|
||||
<table><tr><th class="header" data-i18n="attributes" style="padding-left: 5px;">Caractéristiques</th><th class="header" data-i18n="temporary-abbr">Temp.</th><th class="header" data-i18n="potential-abbr">Pot.</th><th class="header" data-i18n="development-abbr">Dev.</th><th class="header" data-i18n="base-abbr">Base</th><th class="header" data-i18n="race-abbr">Race</th><th class="header" data-i18n="total-abbr">TOTAL</th></tr>
|
||||
|
||||
<tr><td><label data-i18n="constitution">Constitution</label></td><td><input type="text" name='attr_temp_constitution' class='sheet-short'></td><td><input type="text" name='attr_pot_constitution' class="transparent" class='sheet-short'></td>
|
||||
<td><input type="text" name='attr_dev_constitution' class="transparent" class='sheet-short'></td><td><input type="text" name='attr_base_constitution' class="transparent" class='sheet-short'></td>
|
||||
@@ -95,9 +103,9 @@
|
||||
<label data-i18n="defensivebonus-db" style="width: 139px;">Bonus défensif (BD)</label><input type="text" name='attr_bonus_bd' style="width: 133px;">
|
||||
<label data-i18n="withshield" style="width: 90px;">Avec bouclier</label><input type="text" name='attr_bouclier_melee' style="width: 86px;"> <b>/</b> <input type="text" name='attr_bouclier_distance' style="width: 85px;">
|
||||
<label data-i18n="movementpenalty" style="width: 85px;">Malus mouvelent</label><input type="text" name='attr_malus_armure' style="width: 45px; margin-right: 15px;"> <label data-i18n="distancepenalty" style="width: 65px;">Malus tir</label> <input type="text" name='attr_malus_tir' style="width: 45px;">
|
||||
<label data-i18n="helmet" style="width: 50px;">Casque</label><input type="checkbox" name="attr_casque" value="1" checked="false" style="width: 14px; margin-right: 10px;" />
|
||||
<label data-i18n="armgreaves" style="width: 65px;">Brassards</label><input type="checkbox" name="attr_brassards" value="1" checked="false" style="width: 14px; margin-right: 10px;" />
|
||||
<label data-i18n="leggreaves" style="width: 65px;">Jambières</label><input type="checkbox" name="attr_jambières" value="1" checked="false" style="width: 14px;" />
|
||||
<input type="checkbox" name="attr_casque" value="1" checked="false" style="width: 14px; margin-right: 5px;" /><label data-i18n="helmet" style="width: 50px;">Casque</label>
|
||||
<input type="checkbox" name="attr_brassards" value="1" checked="false" style="width: 14px; margin-right: 5px;" /><label data-i18n="armgreaves" style="width: 65px;">Brassards</label>
|
||||
<input type="checkbox" name="attr_jambières" value="1" checked="false" style="width: 14px; margin-right: 5px;" /><label data-i18n="leggreaves" style="width: 65px;">Jambières</label>
|
||||
<br><br>
|
||||
<label data-i18n="wounds" style="width: 274px; padding-left: 5px;" class="header">Blessures</label>
|
||||
<fieldset class="repeating_blessures" >
|
||||
@@ -107,18 +115,28 @@
|
||||
<div class="col" style="width: 220px;">
|
||||
<label data-i18n="languages" style="width: 135px; padding-left: 5px;" class="header">Langages</label><label data-i18n="spoken" style="width: 25px;" class="header">Parlé</label><label data-i18n="writen" style="width: 25px;" class="header">Ecrit</label>
|
||||
<fieldset class="repeating_langages">
|
||||
<input type="text" name="attr_langages" style="width: 150px;" /><input type="number" name="attr_parle_langages" style="width: 35px;" /><input type="number" name="attr_ecrit_langages" style="width: 35px;" />
|
||||
<input type="text" name="attr_langages" style="width: 150px;" /><input type="text" name="attr_parle_langages" style="width: 35px;" /><input type="text" name="attr_ecrit_langages" style="width: 35px;" />
|
||||
</fieldset>
|
||||
<br>
|
||||
<label data-i18n="miscellaneous" style="width: 155px; padding-left: 5px;" class="header">Divers</label>
|
||||
<label data-i18n="miscellaneous" style="width: 205px; padding-left: 5px;" class="header">Divers</label>
|
||||
<label data-i18n="bmr" style="width: 30px;">BMR</label><input type="text" name='attr_bmr' style="width: 52px;">
|
||||
<select name="attr_alluremax" style="width: 124px;">
|
||||
<option data-i18n="walk" value="1" selected="selected">Marche x1</option>
|
||||
<option data-i18n="fastwalk" value="1.5">Marche rapide x1.5</option>
|
||||
<option data-i18n="run" value="2">Course x2</option>
|
||||
<option data-i18n="sprint" value="3">Sprint x3</option>
|
||||
<option data-i18n="accsprint" value="4">Sprint acc. x4</option>
|
||||
<option data-i18n="dash" value="5">Ruée x5</option>
|
||||
</select>
|
||||
<label data-i18n="hitdice" style="width: 82px;">Dé de vie</label><input type="text" name='attr_des_vie' style="width: 52px;"><button type='roll' name='roll_testattack' value='&{template:custom} {{title=^{hitdice}}} {{^{result}=[[d@{des_vie}]]}}'></button>
|
||||
<label data-i18n="developmentpoints" style="width: 82px;">Pts de Dév</label><input type="text" name='attr_pdev' value="(@{dev_constitution}+@{dev_agilite}+@{dev_autodiscipline}+@{dev_memoire}+@{dev_raisonnement})" disabled="true" style="width: 52px;">
|
||||
<label data-i18n="developmentpoints" style="width: 82px;">Pts de Dév</label><input type="text" name='attr_pdevused' style="width: 52px;"> / <input type="text" name='attr_pdev' style="width: 52px;">
|
||||
<label data-i18n="secundarydevelopmentpoints" style="width: 82px;">PdD Sec.</label><input type="text" name='attr_secpdevused' style="width: 52px;"> / <input type="text" name='attr_secpdev' style="width: 52px;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<div class='sheet-character'>
|
||||
<span>
|
||||
|
||||
<hr class="sheet-mainBgColor">
|
||||
|
||||
|
||||
<div class="2colrow" >
|
||||
<div class="col" style="width: 678px;">
|
||||
<label data-i18n="primaryskills" style="width: 135px; padding-left: 5px;" class="header">Comp. principales</label><label data-i18n="attributemod-abbr" style="width: 70px;" class="header">Mod Carac.</label><label data-i18n="cost" style="width: 30px;" class="header">Coût</label><label data-i18n="profession-abbr" style="width: 25px;" class="header">Prof.</label><label data-i18n="nbranks" style="width: 44px;" class="header">#Rangs</label><label data-i18n="dev-abbr" style="width: 30px; text-align: center;" class="header">Dev.</label><label data-i18n="base-abbr" style="width: 35px;" class="header">Base</label><label data-i18n="attribute-abbr" style="width: 35px;" class="header">Carac.</label><label data-i18n="profession-abbr" style="width: 25px;" class="header">Prof.</label><label data-i18n="miscellaneous-abbr" style="width: 30px;" class="header">Div.</label><label data-i18n="item-abbr" style="width: 30px;" class="header">Obj.</label><label data-i18n="total-abbr" style="width: 34px;" class="header">TOTAL</label>
|
||||
@@ -154,10 +172,16 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</span>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################
|
||||
# EQUIPMENT TAB #
|
||||
############################################## -->
|
||||
|
||||
<div class='sheet-equipment'>
|
||||
<span>
|
||||
|
||||
<div class="2colrow" >
|
||||
<div class="col" style="width: 466px;">
|
||||
<label data-i18n="equipment" style="width: 381px; padding-left: 5px;" class="header">Equipement</label><label data-i18n="weight" style="width: 60px;" class="header">Poids kg</label>
|
||||
@@ -175,18 +199,24 @@
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<hr/>
|
||||
<br/>
|
||||
<div>
|
||||
<div class="col" style="width: 466px;">
|
||||
<label data-i18n="mithril" style="width: 56px; padding-left: 5px;" class="header">Mithril</label><label data-i18n="gold" style="width: 60px;" class="header">Or</label><label data-i18n="silver" style="width: 60px;" class="header">Argent</label><label data-i18n="bronze" style="width: 60px;" class="header">Bronze</label><label data-i18n="copper" style="width: 60px;" class="header">Cuivre</label><label data-i18n="iron" style="width: 58px;" class="header">Fer</label>
|
||||
<input type="number" name="attr_pm" style="width: 70px;" /><input type="number" name="attr_po" style="width: 70px;" /><input type="number" name="attr_pa" style="width: 70px;" /><input type="number" name="attr_pb" style="width: 70px;" /><input type="number" name="attr_pc" style="width: 70px;" /><input type="number" name="attr_pf" style="width: 70px;" />
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################
|
||||
# MAGIC TAB #
|
||||
############################################## -->
|
||||
|
||||
<div class='sheet-magic'>
|
||||
<span>
|
||||
|
||||
<div class="col" style="width: 950px;">
|
||||
<label data-i18n="show" style="width: 45px; padding-left: 5px;" class="header">Afficher</label><label data-i18n="spelllists" style="width: 290px;" class="header">Listes de sorts</label><label data-i18n="realm" style="width: 90px;" class="header">Royaume</label><label data-i18n="listtype" style="width: 90px;" class="header">Type de liste</label><label data-i18n="levelmax" style="width: 70px;" class="header">Niveau max</label><label data-i18n="learnchances" style="width: 70px;" class="header">%Apprent.</label><label data-i18n="bookandpage" style="width: 137px;" class="header">Manuel et page</label>
|
||||
<br>
|
||||
@@ -270,26 +300,72 @@
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################
|
||||
# SETTINGS TAB #
|
||||
############################################## -->
|
||||
|
||||
<div class='sheet-settings'>
|
||||
|
||||
<label data-i18n="totalhpcalcmode" style="width: 200px;"/>Total HP calculation mode:</label>
|
||||
|
||||
<label data-i18n="background-color" style="width: 175px;">Background color</label>
|
||||
<select name="attr_mainBgColorSelect" value="default">
|
||||
<option value="default" data-i18n="default" style="background-color: #d4dce4;" selected="selected">Default</option>
|
||||
<option value="white" data-i18n="white" style="background-color: #fff;">White</option>
|
||||
<option value="lilac" data-i18n="lilac" style="background-color: #ded6e0;">Lilac</option>
|
||||
<option value="grayscale" data-i18n="grayscale" style="background-color: #f3f3f3;">Grayscale</option>
|
||||
<option value="book" data-i18n="book" style="background-color: #f3efe6;">Book</option>
|
||||
<option value="summer" data-i18n="season-summer" style="background-color: #fef7ed;">Summer</option>
|
||||
<option value="fall" data-i18n="season-fall" style="background-color: #f5dbcc;">Fall</option>
|
||||
<option value="winter" data-i18n="season-winter" style="background-color: #dcefef;">Winter</option>
|
||||
<option value="spring" data-i18n="season-spring" style="background-color: #e6f1e2;">Spring</option>
|
||||
</select>
|
||||
<p data-i18n="backgroundcolordesc" style="width: 700px;">Choose the main color of the character sheet (changes background and headers).</p>
|
||||
<br>
|
||||
<label data-i18n="totalhpcalcmode" style="width: 175px;"/>Total HP calculation mode</label>
|
||||
<select name="attr_totalhpcalculation">
|
||||
<option data-i18n="legacycalc" value="1" selected="selected">Legacy calculations</option>
|
||||
<option data-i18n="nocalc" value="0">No calculations</option>
|
||||
</select>
|
||||
<p data-i18n="hpcalcdescription">Choose the Total HP calculation. In Legacy, the Total HP equals the Base HP + Base HP * (constitution bonus / 100). If you choose No Calculations, Total HP is not automatically calculated and you will need to enter the value manually. If you do that, you don't have to use the Base HP value.</p>
|
||||
|
||||
<label data-i18n="professionbonusmode" style="width: 200px;"/>Profession bonus mode:</label>
|
||||
<select name="attr_professionbonuscalcmode">
|
||||
<p data-i18n="hpcalcdescription" style="width: 700px;">Choose the Total HP calculation. In Legacy, the Total HP equals the Base HP + Base HP * (constitution bonus / 100). If you choose No Calculations, Total HP is not automatically calculated and you will need to enter the value manually. If you do that, you don't have to use the Base HP value.</p>
|
||||
<br>
|
||||
<label data-i18n="professionbonusmode" style="width: 175px;"/>Profession bonus mode</label>
|
||||
<select name="attr_professionbonuscalcmode">
|
||||
<option data-i18n="legacyprofbonus" value="0" selected="selected">Legacy profession bonus</option>
|
||||
<option data-i18n="flatprofbonus" value="1">Flat profession bonus</option>
|
||||
</select>
|
||||
<p data-i18n="profbonusmodedescription">Placeholder</p>
|
||||
<p data-i18n="profbonusmodedescription" style="width: 700px;">Choose the mode of professional bonus calculations. By the legacy rules, the professional bonus is multiplied by the character level. You can also choice the flat bonus option, in this case, the professional bonus don't scale with the caracter level.</p>
|
||||
<br>
|
||||
<label data-i18n="skilldevmode" style="width: 175px;"/>Skill development mode</label>
|
||||
<select name="attr_skilldevmode">
|
||||
<option data-i18n="legacyskilldev" value="0" selected="selected">Legacy development points</option>
|
||||
<option data-i18n="flatskilldev" value="1">Flat development points</option>
|
||||
</select>
|
||||
<p data-i18n="skilldevmodedescription" style="width: 700px;">Choose the mode of development points acquisition. In legacy rules, development points are derived from the 5 first attributes and depend of the temporary score. You can choose a flat development points too and enter the desired development points manually.</p>
|
||||
<br>
|
||||
<label data-i18n="secondaryskilldevmode" style="width: 175px;"/>Secondary skill dev bonus</label>
|
||||
<select name="attr_secondaryskilldevmode">
|
||||
<option data-i18n="flatskilldev" value="0" selected="selected">Fixed development points</option>
|
||||
<option data-i18n="10bonus" value="10" >10% bonus</option>
|
||||
<option data-i18n="20bonus" value="20" >20% bonus</option>
|
||||
<option data-i18n="25bonus" value="25" >25% bonus</option>
|
||||
<option data-i18n="30bonus" value="30" >30% bonus</option>
|
||||
<option data-i18n="40bonus" value="40" >40% bonus</option>
|
||||
<option data-i18n="50bonus" value="50" >50% bonus</option>
|
||||
</select>
|
||||
<p data-i18n="secondaryskilldevmodedescription" style="width: 700px;">Choose the secondary skill development bonus. You can choose a fixed bonus or a pourcentage of the primary development points. The pourcentage bonus work only correctly of you use the legacy development points mode on the above option.</p>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- ##############################################
|
||||
# ROLL TEMPLATE SECTION #
|
||||
############################################## -->
|
||||
|
||||
<rolltemplate class="sheet-rolltemplate-custom">
|
||||
<div class="sheet-container sheet-color-{{color}}">
|
||||
<div class="sheet-header">
|
||||
@@ -304,9 +380,18 @@
|
||||
{{#desc}}<div class="sheet-desc">{{desc}}</div>{{/desc}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</rolltemplate>
|
||||
|
||||
<!-- ##############################################
|
||||
# SCRIPTS SECTION #
|
||||
############################################## -->
|
||||
|
||||
|
||||
<script type="text/worker">
|
||||
/* *******************************
|
||||
* TAB SYSTEM *
|
||||
*******************************/
|
||||
const buttonlist = ["character","equipment","magic", "settings"];
|
||||
buttonlist.forEach(button => {
|
||||
on(`clicked:${button}`, function() {
|
||||
@@ -315,7 +400,9 @@
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/* *********************************************
|
||||
* REPEATING LIST TOTAL (WEITHT, DP...) *
|
||||
*********************************************/
|
||||
const repeatingSum = (destinations, section, fields, ...extras) => {
|
||||
const isNumber = value => parseFloat(value).toString() === value.toString();
|
||||
const isOption = value => [...checks.valid, ...checks.roundtypes].includes(value);
|
||||
@@ -373,10 +460,21 @@
|
||||
});
|
||||
});
|
||||
};
|
||||
on('change:repeating_equipment:poids_equipment remove:repeating_equipment change:weighttotal', function() {
|
||||
repeatingSum('weighttotal','equipment','poids_equipment','round:2');
|
||||
on('change:repeating_equipment:poids_equipment remove:repeating_equipment change:weighttotal', function() {
|
||||
repeatingSum('weighttotal','equipment','poids_equipment','round:2');
|
||||
});
|
||||
|
||||
on('change:repeating_skills:dev_skillname remove:repeating_skills change:pdevused', function() {
|
||||
repeatingSum('pdevused','skills','dev_skillname');
|
||||
});
|
||||
|
||||
on('change:repeating_secondaryskills:dev_skillname remove:repeating_secondaryskills change:secpdevused', function() {
|
||||
repeatingSum('secpdevused','secondaryskills','dev_skillname');
|
||||
});
|
||||
|
||||
/* *************************
|
||||
* HP CALCULATIONS *
|
||||
*************************/
|
||||
on('change:hp_base change:base_constitution change:race_constitution change:totalhpcalculation change:hp_max', () => {
|
||||
getAttrs(['hp_base','base_constitution','race_constitution','totalhpcalculation'], values => {
|
||||
const base = parseInt( values.hp_base) || 0;
|
||||
@@ -394,7 +492,53 @@
|
||||
});
|
||||
});
|
||||
|
||||
/* ***************************
|
||||
* PRIMARY DEV POINTS *
|
||||
***************************/
|
||||
on('change:dev_constitution change:dev_agilite change:dev_autodiscipline change:dev_memoire change:dev_raisonnement change:skilldevmode change:pdev', () => {
|
||||
getAttrs(['dev_constitution','dev_agilite','dev_autodiscipline','dev_memoire','dev_raisonnement', 'skilldevmode'], values => {
|
||||
const devco = parseInt( values.dev_constitution) || 0;
|
||||
const devag = parseInt( values.dev_agilite) || 0;
|
||||
const devad = parseInt( values.dev_autodiscipline) || 0;
|
||||
const devme = parseInt( values.dev_memoire) || 0;
|
||||
const devrs = parseInt( values.dev_raisonnement) || 0;
|
||||
const devmode = parseInt( values.skilldevmode) || 0;
|
||||
// check to see if calculation is on or off. If off, end the sheet worker.
|
||||
if(devmode==1) return;
|
||||
// calculate dev points
|
||||
const devpts = devco+devag+devad+devme+devrs;
|
||||
// update hp attribute on sheet.
|
||||
setAttrs({
|
||||
pdev: devpts
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/* *****************************
|
||||
* SECONDARY DEV POINTS *
|
||||
*****************************/
|
||||
on('change:dev_constitution change:dev_agilite change:dev_autodiscipline change:dev_memoire change:dev_raisonnement change:secondaryskilldevmode change:secpdev', () => {
|
||||
getAttrs(['dev_constitution','dev_agilite','dev_autodiscipline','dev_memoire','dev_raisonnement', 'secondaryskilldevmode'], values => {
|
||||
const secdevco = parseInt( values.dev_constitution) || 0;
|
||||
const secdevag = parseInt( values.dev_agilite) || 0;
|
||||
const secdevad = parseInt( values.dev_autodiscipline) || 0;
|
||||
const secdevme = parseInt( values.dev_memoire) || 0;
|
||||
const secdevrs = parseInt( values.dev_raisonnement) || 0;
|
||||
const secdevmode = parseInt( values.secondaryskilldevmode) || 0;
|
||||
// check to see if calculation is on or off. If off, end the sheet worker.
|
||||
if(secdevmode==0) return;
|
||||
// calculate dev points
|
||||
const secdevpts = Math.round((secdevco+secdevag+secdevad+secdevme+secdevrs) * secdevmode / 100);
|
||||
// update hp attribute on sheet.
|
||||
setAttrs({
|
||||
secpdev: secdevpts
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
/* ******************************************
|
||||
* PROFESSIONAL PRIMARY SKILL BONUS *
|
||||
******************************************/
|
||||
on('change:repeating_skills:prof_skillname change:professionbonuscalcmode change:niveau', () => {
|
||||
getSectionIDs('repeating_skills', ids => {
|
||||
// get an array of names for the skillname attribute across all rows.
|
||||
@@ -430,6 +574,10 @@
|
||||
});
|
||||
});
|
||||
|
||||
/* ********************************************
|
||||
* PROFESSIONAL SECONDARY SKILL BONUS *
|
||||
********************************************/
|
||||
|
||||
on('change:repeating_secondaryskills:prof_skillname change:professionbonuscalcmode change:niveau', () => {
|
||||
getSectionIDs('repeating_secondaryskills', ids => {
|
||||
// get an array of names for the skillname attribute across all rows.
|
||||
@@ -465,6 +613,17 @@
|
||||
});
|
||||
});
|
||||
|
||||
/* ***************************************
|
||||
* BACKGROUND COLOR SELECTOR *
|
||||
***************************************/
|
||||
|
||||
on("change:mainBgColorSelect", function(event) {
|
||||
getAttrs(["mainBgColorSelect", "mainBgColor"], function(values) {
|
||||
setAttrs({
|
||||
mainBgColor: values.mainBgColorSelect
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 156 KiB |
@@ -2,8 +2,9 @@
|
||||
"html": "Rolemaster_2nd-classic.html",
|
||||
"css": "Rolemaster_2nd-classic.css",
|
||||
"authors": "Thibaut 'Onirim' C.",
|
||||
"roll20userid": "4349072",
|
||||
"preview": "Rolemaster_2nd-classic.png",
|
||||
"instructions": "A Rolemaster 1st, 2nd, Express & Classic edition sheet in vintage colors. The character sheet don't use auto-calculations for stats for the sake of simplicity and adaptability. The sheet is compatible with the most options of Rolemaster 2nd and Classic. I plan to add a configuration page for supporting some options. RM2/RMC is all about options so the auto-calculations will remain limited. The character sheet is compatible with the first Rolemaster family (RM1, RM2, RMX, RMC), but is not compatible with the Standard System/Fantasy Roleplaying family.",
|
||||
"instructions": "A Rolemaster 1st, 2nd, Express & Classic edition sheet. The character sheet don't use auto-calculations for stats for the sake of adaptability. The sheet is compatible with the most options of Rolemaster 1nd, 2nd, Express and Classic Editions. The Classic Rolemaster family is about options so the auto-calculations will remain limited. The character sheet is not fully compatible with the Standard System/Fantasy Roleplaying family but can be used for them too. In that case, use the Primary skills for Category, and Secondary skills for actual skills.",
|
||||
"useroptions":
|
||||
[
|
||||
{
|
||||
@@ -27,6 +28,35 @@
|
||||
],
|
||||
"default": "0",
|
||||
"description": "Choose the mode of professional bonus calculations. By the legacy rules, the professional bonus is multiplied by the character level. You can also choice the flat bonus option, in this case, the professional bonus don't scale with the caracter level."
|
||||
}
|
||||
},
|
||||
{
|
||||
"attribute": "skilldevmode",
|
||||
"displayname": "Development points acquisition mode: ",
|
||||
"type": "select",
|
||||
"options": [
|
||||
"Legacy rules|0",
|
||||
"Fixed dev points|1"
|
||||
],
|
||||
"default": "0",
|
||||
"description": "Choose the mode of development points acquisition. In legacy rules, development points are derived from the 5 first attributes and depend of the temporary score. You can choose a fixed development points too and enter the desired development points manually."
|
||||
},
|
||||
{
|
||||
"attribute": "secondaryskilldevmode",
|
||||
"displayname": "Secondary development points bonus: ",
|
||||
"type": "select",
|
||||
"options": [
|
||||
"Fixed dev points|0",
|
||||
"10% bonus|10",
|
||||
"20% bonus|20",
|
||||
"25% bonus|25",
|
||||
"30% bonus|30",
|
||||
"40% bonus|40",
|
||||
"50% bonus|50"
|
||||
|
||||
],
|
||||
"default": "25",
|
||||
"description": "Choose the secondary skill development bonus. You can choose a fixed bonus or a pourcentage of the primary development points. The pourcentage bonus work only correctly of you use the legacy development points mode on the above option."
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@@ -105,5 +105,36 @@
|
||||
"professionbonusmode": "Mode de calcul des bonus de profession",
|
||||
"legacyprofbonus": "Par niveaux",
|
||||
"flatprofbonus": "Bonus plat",
|
||||
"profbonusmodedescription": "Choissez le type de calcul des bonus de profession. Par défaut, les bonus de professions sont octroyés par niveau, il est également possible de choisir les bonus de professions en tant que bonus plats à attribuer à la création du personnage, ou à certains paliers de leurs progression."
|
||||
"profbonusmodedescription": "Choissez le type de calcul des bonus de profession. Par défaut, les bonus de professions sont octroyés par niveau, il est également possible de choisir les bonus de professions en tant que bonus plats à attribuer à la création du personnage, ou à certains paliers de leurs progression.",
|
||||
"bmr": "BMVT",
|
||||
"walk": "Marche x1",
|
||||
"fastwalk": "March. rap x1.5",
|
||||
"run": "Course x2",
|
||||
"sprint": "Sprint x3",
|
||||
"accsprint": "Sprint acc. x4",
|
||||
"dash": "Ruée x5",
|
||||
"skilldevmode": "Mode d'acquisition des Points de développement",
|
||||
"legacyskilldev": "Règles de base",
|
||||
"flatskilldev": "Points de dév fixes",
|
||||
"skilldevmodedescription": "Choisissez le mode d'acquisition des points de développements. Par défaut, ils sont dérivés des 5 premières caractérisitques. Il est également possible d'attribuer une valeur fixe aux points de développements.",
|
||||
"secundarydevelopmentpoints": "PdD Second.",
|
||||
"secondaryskilldevmode": "Bonus des Points de développements secondaires",
|
||||
"10bonus": "10% bonus",
|
||||
"20bonus": "20% bonus",
|
||||
"25bonus": "25% bonus",
|
||||
"30bonus": "30% bonus",
|
||||
"40bonus": "40% bonus",
|
||||
"50bonus": "50% bonus",
|
||||
"secondaryskilldevmodedescription": "Sélectionnez le type de bonus aux points de développements pour les compétences secondaires. Les bonus en pourcentages des points de développements principaux ne fonctionnent que si le mode de calcul des points de développement est celui des règles de base (voir l'option précédente).",
|
||||
"background-color": "Couleur de la fiche de personnage",
|
||||
"default": "Par défaut",
|
||||
"white": "Blanc",
|
||||
"lilac": "Lilas",
|
||||
"grayscale": "Gris",
|
||||
"book": "Livre",
|
||||
"season-summer": "Eté",
|
||||
"season-fall": "Automne",
|
||||
"season-winter": "Hiver",
|
||||
"season-spring": "Printemps",
|
||||
"backgroundcolordesc": "Vous pouvez changer les couleurs de la fiche de personnage grâce à ce menu. Si vous désirez d'autres couleurs, contactez l'auteur de la fiche (Onirim) afin qu'elles puissent être ajoutées lors d'une prochaine mise à jour !"
|
||||
}
|
||||
@@ -33,15 +33,15 @@
|
||||
"armor-at": "Armor (AT)",
|
||||
"defensivebonus-db": "Defensive Bonus (DB)",
|
||||
"withshield": "With Shield",
|
||||
"movementpenalty": "Movement Pen.",
|
||||
"movementpenalty": "Mvt Pen.",
|
||||
"helmet": "Helmet",
|
||||
"armgreaves": "Arms",
|
||||
"leggreaves": "Legs",
|
||||
"distancepenalty": "Distance Pen.",
|
||||
"armgreaves": "Arm greav",
|
||||
"leggreaves": "Leg greav",
|
||||
"distancepenalty": "Dist Pen.",
|
||||
"wounds": "Wounds",
|
||||
"languages": "Languages",
|
||||
"spoken": "Spoken",
|
||||
"writen": "Writen",
|
||||
"spoken": "spok",
|
||||
"writen": "writ",
|
||||
"miscellaneous": "Misc.",
|
||||
"hitdice": "Hit Dice",
|
||||
"developmentpoints": "Dev Points",
|
||||
@@ -81,12 +81,12 @@
|
||||
"spellrange": "Range",
|
||||
"description": "Description",
|
||||
"relations": "Relatives",
|
||||
"constitutioncheck": "Constitution Check",
|
||||
"agilitycheck": "Agility Check",
|
||||
"selfdisciplinecheck": "Self-Discipline Check",
|
||||
"memorycheck": "Memory Check",
|
||||
"reasoningcheck": "Reasoning Check",
|
||||
"strengthcheck": "Strength Check",
|
||||
"constitutioncheck": "Constitution Check",
|
||||
"agilitycheck": "Agility Check",
|
||||
"selfdisciplinecheck": "Self-Discipline Check",
|
||||
"memorycheck": "Memory Check",
|
||||
"reasoningcheck": "Reasoning Check",
|
||||
"strengthcheck": "Strength Check",
|
||||
"quicknesscheck": "Quickness Check",
|
||||
"presencecheck": "Presence Check",
|
||||
"empathycheck": "Empathy Check",
|
||||
@@ -105,5 +105,37 @@
|
||||
"professionbonusmode": "Mode of professional bonus calculations",
|
||||
"legacyprofbonus": "Per level",
|
||||
"flatprofbonus": "Flat bonus",
|
||||
"profbonusmodedescription": "Choose the mode of professional bonus calculations. By the legacy rules, the professional bonus is multiplied by the character level. You can also choice the flat bonus option, in this case, the professional bonus don't scale with the caracter level."
|
||||
"profbonusmodedescription": "Choose the mode of professional bonus calculations. By the legacy rules, the professional bonus is multiplied by the character level. You can also choice the flat bonus option, in this case, the professional bonus don't scale with the caracter level.",
|
||||
"bmr": "BMR",
|
||||
"walk": "Walk x1",
|
||||
"fastwalk": "Fast Walk x1.5",
|
||||
"run": "Run x2",
|
||||
"sprint": "Sprint x3",
|
||||
"accsprint": "Acc. Sprint x4",
|
||||
"dash": "Dash x5",
|
||||
"skilldevmode": "Development points acquisition mode",
|
||||
"legacyskilldev": "Legacy rules",
|
||||
"flatskilldev": "Fixed development points",
|
||||
"skilldevmodedescription": "Choose the mode of development points acquisition. In legacy rules, development points are derived from the 5 first attributes and depend of the temporary score. You can choose a fixed development points too and enter the desired development points manually.",
|
||||
"secundarydevelopmentpoints": "Second. DP",
|
||||
"secondaryskilldevmode": "Secondary development points bonus",
|
||||
"10bonus": "10% bonus",
|
||||
"20bonus": "20% bonus",
|
||||
"25bonus": "25% bonus",
|
||||
"30bonus": "30% bonus",
|
||||
"40bonus": "40% bonus",
|
||||
"50bonus": "50% bonus",
|
||||
"secondaryskilldevmodedescription": "Choose the secondary skill development bonus. You can choose a fixed bonus or a pourcentage of the primary development points. The pourcentage bonus work only correctly of you use the legacy development points mode on the above option.",
|
||||
"background-color": "Character sheet color",
|
||||
"default": "Default",
|
||||
"white": "White",
|
||||
"lilac": "Lilac",
|
||||
"grayscale": "Gray",
|
||||
"book": "Book",
|
||||
"season-summer": "Summer",
|
||||
"season-fall": "Fall",
|
||||
"season-winter": "Winter",
|
||||
"season-spring": "Spring",
|
||||
"backgroundcolordesc": "You can change the character sheet color with this menu. If you want more colors, contact the sheet author (Onirim) and ask him for another color to add in the color menu!"
|
||||
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"level": "Niveau",
|
||||
"experience": "Exp.",
|
||||
"character": "Personnage",
|
||||
"equipment": "Équipement",
|
||||
"equipment": "Equipement",
|
||||
"magic": "Magie",
|
||||
"settings": "Config.",
|
||||
"realmpower": "Roy. pouvoir",
|
||||
@@ -33,7 +33,7 @@
|
||||
"armor-at": "Armure (TA)",
|
||||
"defensivebonus-db": "Bonus défensif (BD)",
|
||||
"withshield": "Avec bouclier",
|
||||
"movementpenalty": "Malus mouvement",
|
||||
"movementpenalty": "Malus mouv.",
|
||||
"helmet": "Casque",
|
||||
"armgreaves": "Brassards",
|
||||
"leggreaves": "Jambières",
|
||||
@@ -79,14 +79,14 @@
|
||||
"spellclass": "Classe",
|
||||
"spellduration": "Durée",
|
||||
"spellrange": "Portée",
|
||||
"description": "Description ",
|
||||
"description": "Description",
|
||||
"relations": "Relations",
|
||||
"constitutioncheck": "Jet de constitution",
|
||||
"agilitycheck": "Jet d'agilité",
|
||||
"selfdisciplinecheck": "Jet d'autodiscipline",
|
||||
"memorycheck": "Jet de mémoire",
|
||||
"reasoningcheck": "Jet de raisonnement",
|
||||
"strengthcheck": "Jet de force",
|
||||
"constitutioncheck": "Jet de constitution",
|
||||
"agilitycheck": "Jet d'agilité",
|
||||
"selfdisciplinecheck": "Jet d'autodiscipline",
|
||||
"memorycheck": "Jet de mémoire",
|
||||
"reasoningcheck": "Jet de raisonnement",
|
||||
"strengthcheck": "Jet de force",
|
||||
"quicknesscheck": "Jet de rapidité",
|
||||
"presencecheck": "Jet de présence",
|
||||
"empathycheck": "Jet d'empathie",
|
||||
@@ -105,5 +105,36 @@
|
||||
"professionbonusmode": "Mode de calcul des bonus de profession",
|
||||
"legacyprofbonus": "Par niveaux",
|
||||
"flatprofbonus": "Bonus plat",
|
||||
"profbonusmodedescription": "Choissez le type de calcul des bonus de profession. Par défaut, les bonus de professions sont octroyés par niveau, il est également possible de choisir les bonus de professions en tant que bonus plats à attribuer à la création du personnage, ou à certains paliers de leurs progression."
|
||||
"profbonusmodedescription": "Choissez le type de calcul des bonus de profession. Par défaut, les bonus de professions sont octroyés par niveau, il est également possible de choisir les bonus de professions en tant que bonus plats à attribuer à la création du personnage, ou à certains paliers de leurs progression.",
|
||||
"bmr": "BMVT",
|
||||
"walk": "Marche x1",
|
||||
"fastwalk": "March. rap x1.5",
|
||||
"run": "Course x2",
|
||||
"sprint": "Sprint x3",
|
||||
"accsprint": "Sprint acc. x4",
|
||||
"dash": "Ruée x5",
|
||||
"skilldevmode": "Mode d'acquisition des Points de développement",
|
||||
"legacyskilldev": "Règles de base",
|
||||
"flatskilldev": "Points de dév fixes",
|
||||
"skilldevmodedescription": "Choisissez le mode d'acquisition des points de développements. Par défaut, ils sont dérivés des 5 premières caractérisitques. Il est également possible d'attribuer une valeur fixe aux points de développements.",
|
||||
"secundarydevelopmentpoints": "PdD Second.",
|
||||
"secondaryskilldevmode": "Bonus des Points de développements secondaires",
|
||||
"10bonus": "10% bonus",
|
||||
"20bonus": "20% bonus",
|
||||
"25bonus": "25% bonus",
|
||||
"30bonus": "30% bonus",
|
||||
"40bonus": "40% bonus",
|
||||
"50bonus": "50% bonus",
|
||||
"secondaryskilldevmodedescription": "Sélectionnez le type de bonus aux points de développements pour les compétences secondaires. Les bonus en pourcentages des points de développements principaux ne fonctionnent que si le mode de calcul des points de développement est celui des règles de base (voir l'option précédente).",
|
||||
"background-color": "Couleur de la fiche de personnage",
|
||||
"default": "Par défaut",
|
||||
"white": "Blanc",
|
||||
"lilac": "Lilas",
|
||||
"grayscale": "Gris",
|
||||
"book": "Livre",
|
||||
"season-summer": "Eté",
|
||||
"season-fall": "Automne",
|
||||
"season-winter": "Hiver",
|
||||
"season-spring": "Printemps",
|
||||
"backgroundcolordesc": "Vous pouvez changer les couleurs de la fiche de personnage grâce à ce menu. Si vous désirez d'autres couleurs, contactez l'auteur de la fiche (Onirim) afin qu'elles puissent être ajoutées lors d'une prochaine mise à jour !"
|
||||
}
|
||||
Reference in New Issue
Block a user