Files
roll20-character-sheets/swords-and-wizardry/SWSheet.html
T
2024-06-03 13:15:14 -04:00

738 lines
40 KiB
HTML

<!-- === WORKERS === -->
<script type="text/worker">
on("change:STR", function(eventinfo){
var carac = parseInt(eventinfo.newValue) || 0;
var tohit = 0;
var dmg = 0;
var carry = 0;
var door = 0;
if (carac>2 && carac<5) {
tohit = -2;
dmg = -1;
door = 1;
carry = -10;
}
else if (carac>4 && carac<7) {
tohit=-1;
dmg = 0;
door = 1;
carry = -5;
}
else if (carac>6 && carac<9) {
tohit=0;
dmg = 0;
door = 2;
carry = 0;
}
else if (carac>8 && carac<13) {
tohit=-1;
dmg = 0;
door = 2;
carry = 5;
}
else if (carac>12 && carac<16) {
tohit=1;
dmg = 0;
door = 2;
carry = 10;
}
else if (carac == 16) {
tohit=1;
dmg = 1;
door = 3;
carry = 15;
}
else if (carac == 17) {
tohit=2;
dmg = 2;
door = 4;
carry = 30;
}
else if (carac > 17) {
tohit=2;
dmg = 3;
door = 5;
carry = 50;
}
setAttrs({
meleehitbonus: tohit,
meleedmgbonus: dmg,
carrybonus: carry,
opendoors: door
});
});
on("change:DEX", function(){
getAttrs(["DEX","typeac"], function(values) {
var carac = parseInt(values.DEX) || 0;
var typeac = parseInt(values.typeac) || 0;
var tohit = 0;
var ac = 0;
if (carac>2 && carac<9) {
tohit = -1;
if (typeac == 0) {
ac = -1;
} else {
ac = 1;
}
}
else if (carac>8 && carac<13) {
tohit = 0;
ac = 0;
}
else if (carac > 12) {
tohit = 1;
if (typeac == 0) {
ac = 1;
} else {
ac = -1;
}
}
setAttrs({
missilehitbonus: tohit,
dexac: ac
});
});
});
on("change:CON", function(eventinfo){
var carac = parseInt(eventinfo.newValue) || 0;
var hp = 0;
var raise = 75;
if (carac>2 && carac<9) {
hp = -1;
raise = 50;
}
else if (carac>8 && carac<13) {
hp = 0;
raise = 75;
}
else if (carac > 12) {
hp = 1;
raise = 100;
}
setAttrs({
hdbonus: hp,
raisedeadpct: raise
});
});
on("change:INT", function(eventinfo){
var carac = parseInt(eventinfo.newValue) || 0;
var lang = 0;
var spell = 0;
var newspell = 0;
var minmax = '2/4';
if (carac>2 && carac<8) {
lang = 0;
spell = 4;
newspell = 30;
minmax = '2/4';
}
else if (carac == 7) {
lang = 0;
spell = 4;
newspell = 30;
minmax = '2/4';
}
else if (carac == 8) {
lang = 1;
spell = 5;
newspell = 40;
minmax = '3/5';
}
else if (carac == 9) {
lang = 1;
spell = 5;
newspell = 45;
minmax = '3/5';
}
else if (carac == 10) {
lang = 2;
spell = 5;
newspell = 50;
minmax = '4/6';
}
else if (carac == 11) {
lang = 2;
spell = 6;
newspell = 50;
minmax = '4/6';
}
else if (carac == 12) {
lang = 3;
spell = 5;
newspell = 55;
minmax = '4/6';
}
else if (carac == 13) {
lang = 3;
spell = 7;
newspell = 55;
minmax = '5/8';
}
else if (carac == 14) {
lang = 2;
spell = 5;
newspell = 50;
minmax = '4/6';
}
else if (carac == 15) {
lang = 4;
spell = 8;
newspell = 75;
minmax = '6/10';
}
else if (carac == 16) {
lang = 5;
spell = 8;
newspell = 75;
minmax = '6/10';
}
else if (carac == 17) {
lang = 5;
spell = 9;
newspell = 85;
minmax = '7/All';
}
else if (carac > 17) {
lang = 6;
spell = 9;
newspell = 95;
minmax = '8/All';
}
setAttrs({
xtralangs: lang,
maxspelllevel: spell,
newspellpct: newspell,
minmaxspell: minmax
});
});
on("change:WIS", function(eventinfo){
var carac = parseInt(eventinfo.newValue) || 0;
var clericspell = 0;
if (carac > 14) {
clericspell = 1;
}
setAttrs({
xtraclericspells: clericspell
});
});
on("change:CHA", function(eventinfo){
var carac = parseInt(eventinfo.newValue) || 0;
var hirelings = 0;
if (carac>2 && carac<5) {
hirelings = 1;
}
else if (carac>4 && carac<7) {
hirelings=2;
}
else if (carac>6 && carac<9) {
hirelings=3;
}
else if (carac>8 && carac<13) {
hirelings=4;
}
else if (carac>12 && carac<16) {
hirelings=5;
}
else if (carac > 15 && carac < 18) {
hirelings=6;
}
else if (carac > 17) {
hirelings=7;
}
setAttrs({
xtrahirelings: hirelings
});
});
on("change:typeac", function() {
getAttrs(["typeac","DEX"], function(values) {
var typeac = parseInt(values.typeac) || 0;
var carac = parseInt(values.DEX) || 0;
var baseac = 0;
var ac = 0;
if(typeac == 0) {
baseac = 10;
} else {
baseac = 9;
}
if (carac>2 && carac<9) {
if (typeac == 0) {
ac = -1;
} else {
ac = 1;
}
}
else if (carac>8 && carac<13) {
ac = 0;
}
else if (carac > 12) {
if (typeac == 0) {
ac = 1;
} else {
ac = -1;
}
}
setAttrs({
baseac: baseac,
dexac: ac
});
});
});
on("change:dexac change:baseac change:armorac change:shieldrac change:otherac", function() {
getAttrs(["dexac","typeac","baseac","armorac","shieldrac","otherac"], function(values) {
var dexac = parseInt(values.dexac) || 0;
var typeac = parseInt(values.typeac) || 0;
var baseac = parseInt(values.baseac) || 0;
var armorac = parseInt(values.armorac) || 0;
var shieldrac = parseInt(values.shieldrac) || 0;
var otherac = parseInt(values.otherac) || 0;
var totalac = 0;
if (typeac == 0 ) {
totalac = baseac + dexac + Math.abs(armorac) + Math.abs(shieldrac) + otherac;
} else {
totalac = baseac + dexac - Math.abs(armorac) - Math.abs(shieldrac) + otherac;
}
setAttrs({
AC: totalac
});
});
});
on("sheet:opened",function(){
getAttrs(["sheetversion"], function(values) {
var vers = parseFloat(values.sheetversion) || 0;
if (vers < 2.0) {
getAttrs(["maxhp","gearwt"], function(values) {
var oldhp = parseInt(values.maxhp) || 0;
var oldwt = parseFloat(values.gearwt) || 0.0;
setAttrs({
hp_max: oldhp,
gearweight: oldwt,
sheetversion: 2.1
});
});
}
});
});
on("change:repeating_treasure:treasurewt remove:repeating_treasure",function(){
getSectionIDs("repeating_treasure", function(idws) {
var totwght = 0.0;
idws.forEach(function(idw,index,arr){
var uwght = "repeating_treasure_" + idw + "_treasurewt";
var lng = parseInt(arr.length) || 0;
getAttrs(['' + uwght], function(val) {
var swght = parseFloat(val[uwght]) || 0.0;
totwght = totwght + swght;
if ( (index+1) == lng ){
setAttrs({
treasurewt: totwght
});
}
});
});
});
});
on("change:repeating_gear:gearqty change:repeating_gear:gearwt remove:repeating_gear",function(){
getSectionIDs("repeating_gear", function(idws) {
var totwght = 0.0;
idws.forEach(function(idw,index,arr){
var uqte = "repeating_gear_" + idw + "_gearqty";
var uwght = "repeating_gear_" + idw + "_gearwt";
var lng = parseInt(arr.length) || 0;
getAttrs(['' + uqte,'' + uwght], function(val) {
var sqte = parseFloat(val[uqte]) || 0.0;
var swght = parseFloat(val[uwght]) || 0.0;
totwght = totwght + (sqte * swght);
if ( (index+1) == lng ){
setAttrs({
gearweight: totwght
});
}
});
});
});
});
on("change:gearweight change:treasurewt", function(){
getAttrs(["gearweight","treasurewt"], function(val){
var tot = (parseFloat(val.gearweight) || 0.0) + (parseFloat(val.treasurewt) || 0.0);
setAttrs({
totalweight: tot
});
});
});
</script>
<!-- === SHEET === -->
<input type="hidden" name="attr_sheetversion" value="1.0" />
<div class="sheet-main">
<div class="sheet-ligne"> <!-- LINE 1 -->
<div class="mycol sheet-bord"> <!-- BIO and PHYISCAL -->
<div class="sheet-ligne" style="margin-bottom: 2px;">
<span class="sheet-libred" data-i18n="biographical-and-physical">Biographical & Physical</span>
<span class="sheet-lib1 sheet-wid70" data-i18n="name">Name</span>
<input type="text" class="sheet-biginput" name="attr_character_name" />
</div>
<div class="sheet-mycol" style="width: 275px;">
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="class">Class</span>
<input type="text" class="sheet-longinput" name="attr_class" data-i18n-placeholder="class" placeholder="Class"/>
</div>
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="primary">Primary</span>
<input type="text" class="sheet-medinput" name="attr_primattr" data-i18n-placeholder="attribute" placeholder="Attribute" data-i18n-title="primary-attribute" title="Primary Attribute" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="alignment">Alignment</span>
<input type="text" class="sheet-medinput" name="attr_align" data-i18n-placeholder="alignment" placeholder="Alignment" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="deity">Deity</span>
<input type="text" class="sheet-medinput" name="attr_diety" data-i18n-placeholder="deity" placeholder="Deity" />
</div>
</div>
<div class="sheet-mycol sheet-greybg" style="width: 275px;">
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="race">Race</span>
<input type="text" class="sheet-longinput" name="attr_race" data-i18n-placeholder="race" placeholder="Race" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="age">Age</span>
<input type="text" name="attr_age" class="sheet-shortinput" data-i18n-placeholder="age" placeholder="Age" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="gender">Gender</span>
<input type="text" name="attr_gender" class="sheet-shortinput" data-i18n-placeholder="gender" placeholder="Gender" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib1 sheet-wid70" data-i18n="charheight">Height</span>
<input type="text" name="attr_height" class="sheet-shortinput" data-i18n-placeholder="charheight" placeholder="Height" />
<span class="sheet-lib0" data-i18n="charweight">Weight</span>
<input type="text" name="attr_weight" class="sheet-shortinput" data-i18n-placeholder="charweight" placeholder="Weight" />
</div>
</div>
</div> <!-- END BIO and PHYISCAL -->
<div class="sheet-mycol"> <!-- LOGO and Languages -->
<div class="sheet-ligne" style="text-align: center;">
<img style="width:300px;" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/swords-and-wizardry/SWSheet_logo.gif" alt="Swords & Wizardry">
</div>
<div class="sheet-ligne" style="text-align: center;">
<span class="sheet-lib1 sheet-wid70" data-i18n="languages">Languages</span>
<textarea style="width:170px;height:48px;" name="attr_langs" data-i18n-placeholder="languages" placeholder="Languages"></textarea>
</div>
</div> <!-- END LOGO and Languages -->
</div> <!-- END LINE 1 -->
<div class="sheet-ligne"> <!-- LINE 2 -->
<div class="sheet-mycol">
<div class="sheet-ligne">
<span class="sheet-libred" data-i18n="health">Health</span><span class="sheet-libred"> & </span><span class="sheet-libred" data-i18n="XP">XP</span>
</div>
<div class="sheet-ligne"> <!--XP and Level-->
<div class="sheet-mycol" style="width:310px;">
<span class="sheet-lib1" data-i18n="HP">HP</span>
<input type="number" name="attr_hp" value="0" class="sheet-shortinput" data-i18n-title="current-hp" title="Current HP" />
/
<input type="number" name="attr_hp_max" value="0" class="sheet-shortinput" data-i18n-title="maximum-hp" title="Current HP"/>
<span class="sheet-lib1 sheet-wid30" data-i18n="HD">HD</span>
<button type="roll" name="RollHD" data-i18n-title="roll-hd" title="Roll HD" value="&{template:tmpl} {{pc=@{character_name}}} {{hd=1}} {{roll=[[@{hd}]]}}"></button>
<input type="text" name="attr_hd" class="sheet-medinput" data-i18n-placeholder="hd-example" placeholder="Ex:5d6+5" />
</div>
<div class="sheet-mycol sheet-greybg" style="width:550px;">
<span class="sheet-lib1 sheet-wid80" data-i18n="level">Level</span>
<input type="number" name="attr_level" value="1" class="sheet-stats" />
<span class="sheet-lib1 sheet-wid50" data-i18n="XP">XP</span>
<input type="number" name="attr_xp" value="0" class="sheet-medinput" data-i18n-title="current-xp" title="Current XP"/>
/
<input type="number" name="attr_nextlvl" value="0" class="sheet-medinput" data-i18n-title="next-level" title="Next Level"/>
<span class="sheet-lib2 sheet-wid80" data-i18n="bonus-xp-percent">Bonus XP%</span>
<input type="number" name="attr_bonusxppct" value="0" class="sheet-shortinput" data-i18n-title="bonus-xp-tooltip" title="To calculate XP Bonus: Add 5% for each CHA, WIS and Char's Primary Attribute that is >=13" />
</div>
</div> <!--END XP and Level-->
</div> <!-- END LINE 2 -->
</div>
<div class="sheet-ligne"> <!-- LINE 3 -->
<div class="sheet-mycol sheet-bord" style="width:306px;"> <!--ATTRIBUTES-->
<div class="sheet-ligne">
<span class="sheet-libred" data-i18n="attributes">Attributes</span>
</div>
<div class="sheet-ligne">
<span class="sheet-lib0 sheet-wid30" data-i18n="STR">STR</span>
<input type="number" name="attr_STR" value="0" class="sheet-stats" />
<span class="sheet-libmin1 sheet-wid70" data-i18n="to-hit">To-Hit</span>
<input type="number" name="attr_meleehitbonus" value="0"class="sheet-tinyinput" data-i18n-title="melee-to-hit-mod" title="Melee To-Hit Modifier. Automatically calculted when STR is modified. Can be overriden." />
<span class="sheet-libmin1 sheet-wid70" data-i18n="damage">Damage</span>
<input type="number" class="sheet-tinyinput" name="attr_meleedmgbonus" value="0" data-i18n-title="melee-damage-modifier" title="Melee Damage Modifier. Automatically calculted when STR is modified. Can be overriden."/>
</div>
<div class="sheet-ligne" style="padding-left: 72px;">
<span class="sheet-libmin1 sheet-wid70" data-i18n="carry">Carry</span>
<input type="number" class="sheet-tinyinput" name="attr_carrybonus" value="0" data-i18n-title="carry-modifier" title="Carry Modifier. Automatically calculted when STR is modified. Can be overriden."/>
<span class="sheet-libmin1" style="width:39px;" data-i18n="doors">Doors</span>
<button type="roll" name="RollOpenDoor" data-i18n-title="open-doors" title="Open Doors" value="&{template:tmpl} {{pc=@{character_name}}} {{name=^{open-doors}}} {{talent=1}} {{roll=[[1d6cs1cf6]]}} {{target=[[@{opendoors}]]}}" /></button>
<input type="number" class="sheet-tinyinput" name="attr_opendoors" value="1" data-i18n-title="open-doors-title" title="Open Doors. Automatically calculted when STR is modified. Can be overriden."/>
</div>
<div class="sheet-ligne">
<span class="sheet-lib0 sheet-wid30" data-i18n="DEX">DEX</span>
<input type="number" class="sheet-stats" name="attr_DEX" value="0" />
<span class="sheet-libmin1 sheet-wid70" data-i18n="to-hit">To-Hit</span>
<input type="number" name="attr_missilehitbonus" class="sheet-tinyinput" value="0" data-i18n-title="missile-to-hit-mod" title="Missile Weapon To-Hit Bonus/Penalty. Automatically calculted when DEX is modified. Can be overriden."/>
<span class="sheet-libmin1 sheet-wid70" data-i18n="AC+">AC+</span>
<input type="number" name="attr_dexac" class="sheet-tinyinput" value="0" data-i18n-title="effect-on-ac" title="Effect on Armor Class. If DEX is modified, will be automatically calculted, depending on the Ascending or Descending AC choice. Can be overriden." />
</div>
<div class="sheet-ligne">
<span class="sheet-lib0 sheet-wid30" data-i18n="CON">CON</span>
<input type="number" name="attr_CON" value="0" class="sheet-stats" />
<span class="sheet-libmin1 sheet-wid70" data-i18n="hit-dice+">Hit Dice+</span>
<input type="number" name="attr_hdbonus" class="sheet-tinyinput" value="0" data-i18n-title="hp-mod" title="Hit Point Modifier (per hit die). Automatically calculted when CON is modified. Can be overriden." />
<span class="sheet-libmin1 sheet-wid70" data-i18n="raise-dead%">Raise Dead%</span>
<input type="number" name="attr_raisedeadpct" value="0" class="sheet-tinyinput" data-i18n-title="raise-dead-survival" title="Raise Dead Survival. Automatically calculted when CON is modified. Can be overriden." />
</div>
<div class="sheet-ligne">
<span class="sheet-lib0 sheet-wid30" data-i18n="INT">INT</span>
<input type="number" class="sheet-stats" name="attr_INT" value="0" />
<span class="sheet-libmin1 sheet-wid70" data-i18n="spell-level">Spell level</span>
<input type="number" name="attr_maxspelllevel" class="sheet-tinyinput" value="0" data-i18n-title="maximum-spell-level" title="Maximum Spell Level. Automatically calculted when INT is modified. Can be overriden." />
<span class="sheet-libmin1 sheet-wid70" data-i18n="languages">Languages</span>
<input type="number" name="attr_xtralangs" class="sheet-tinyinput" value="0" data-i18n-title="maximum-additional-languages" title="Maximum Additional Languages. Automatically calculted when INT is modified. Can be overriden." />
</div>
<div class="sheet-ligne" style="padding-left: 72px;">
<span class="sheet-libmin1 sheet-wid70" data-i18n="new-spell%">New Spell%</span>
<input type="number" class="sheet-tinyinput" name="attr_newspellpct" value="0" data-i18n-title="chance-new-spell" title="Chance to Understand New Spell. Automatically calculted when INT is modified. Can be overriden." />
<span class="sheet-libmin1" data-i18n="min-max-spells">Min/Max Spells</span>
<input type="text" class="sheet-tinyinput" name="attr_minmaxspell" value="0/0" data-i18n-title="min-max-spells-title" title="Min/Max Spells. Automatically calculted when INT is modified. Can be overriden."/>
</div>
<div class="sheet-ligne">
<span class="sheet-lib0 sheet-wid30" data-i18n="WIS">WIS</span>
<input type="number" name="attr_WIS" class="sheet-stats" value="0" />
<span class="sheet-libmin1 sheet-wid70" data-i18n="cleric-spells+">Cleric Spells+</span>
<input type="number" name="attr_xtraclericspells" class="sheet-tinyinput" value="0" data-i18n-title="cleric-spells-plus" title="Additional first-level Cleric spell. Automatically calculted when WIS is modified. Can be overriden." />
</div>
<div class="sheet-ligne">
<span class="sheet-lib0 sheet-wid30" data-i18n="CHA">CHA</span>
<input type="number" class="sheet-stats" name="attr_CHA" value="0" />
<span class="sheet-libmin1 sheet-wid70" data-i18n="hirelings">Hirelings</span>
<input type="number" name="attr_xtrahirelings" value="0" class="sheet-tinyinput" data-i18n-title="extra-hirelings" title="Maximum Number of Special Hirelings. Automatically calculted when CHA is modified. Can be overriden." />
</div>
</div> <!--END ATTRIBUTES-->
<div style="display: inline-block;">
<div class="sheet-ligne"> <!-- DEF & ST -->
<div class="sheet-mycol sheet-greybg" style="margin-top: 4px;"> <!--DEFENSE-->
<div class="sheet-ligne">
<span class="sheet-libred" data-i18n="defense">Defense</span>
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid50" data-i18n="base-ac">Base AC</span>
<div style="display: inline-block; width: 110px; text-align: center;">
<input type="radio" name="attr_typeac" value="0" checked data-i18n-title="ascending-ac" title="Ascending AC System">
<span class="sheet-libmin1" data-i18n="asc-ac">Asc.</span>
</input>
<input type="radio" name="attr_typeac" value="1" data-i18n-title="descending-ac" title="Descending AC System">
<span class="sheet-libmin1" data-i18n="desc-ac">Desc.</span>
</input>
</div>
<input type="number" name="attr_baseac" value="10" class="sheet-shortinput" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid50" style="margin-right: 110px;" data-i18n="dex-mod">DEX mod.</span>
<input type="number" name="attr_dexacrep" value="[[@{dexac}]]" class="sheet-shortinput" disabled />
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid50" data-i18n="armor">Armor</span>
<input type="text" class="sheet-medinput" name="attr_armorname" data-i18n-placeholder="armor-name" placeholder="Armor name" />
<input type="number" class="sheet-shortinput" value="0" name="attr_armorac" data-i18n-title="armor-ac-effect" title="Armor effect on AC. Use either a positive or negative value, as the total AC will be calculted using an absolute value, depending on the Ascending or Descending AC choice." />
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid50" data-i18n="shield">Shield</span>
<input type="text" class="sheet-medinput" name="attr_shieldname" data-i18n-placeholder="shield-name" placeholder="Shield name" />
<input type="number" class="sheet-shortinput" value="0" name="attr_shieldrac" data-i18n-title="shield-ac-effect" title="Shield effect on AC. Use either a positive or negative value, as the total AC will be calculted using an absolute value, depending on the Ascending or Descending AC choice."/>
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid50" data-i18n="other">Other</span>
<input type="text" class="sheet-medinput" name="attr_otheracname" data-i18n-placeholder="note" placeholder="Note" />
<input type="number" class="sheet-shortinput" value="0" name="attr_otherac" data-i18n-title="other-ac-effect" title="Other effect on AC. The value will be used (added) as written, NOT depending on the Ascending or Descending AC choice, so that malus can be set."/>
</div>
<div class="sheet-ligne" style="text-align: right;">
<span class="sheet-lib1" data-i18n="total-ac">Total AC</span>
<input type="number" name="attr_AC" value="10"class="sheet-shortinput" style="font-weight: bold;" data-i18n-title="total-ac-title" title="Final AC. Automatically calculted from the DEX, Armor, Shield, Other AC modifiers and the Ascending or Descending choice, but can be overriden." />
</div>
</div> <!--END DEFENSE-->
<div class="sheet-mycol sheet-bord" style="width: 305px;"> <!--SAVING THROWS-->
<div class="sheet-ligne">
<span class="sheet-libred" data-i18n="saving-throw">Saving Throw</span>
<button type="roll" name="RollSavingThrow" data-i18n-title="roll-base-saving-throw" title="Roll base Saving Throw" value="&{template:tmpl} {{pc=@{character_name}}} {{save=1}} {{roll=[[1d20cs20cf1]]}} {{target=[[@{savingthrow}]]}}"></button>
<input type="number" name="attr_savingthrow" value="15" class="sheet-shortinput" />
</div>
<div class="sheet-ligne">
<span class="sheet-lib1" data-i18n="bonuses">Bonuses</span>:
</div>
<fieldset class="repeating_savingthrowbonus">
<div class="sheet-ligne">
<input type="text" name="attr_stbonus" data-i18n-placeholder="saving-throw-bonus-note" placeholder="Ex: against being paralyzed or poisoned" />
<button type="roll" name="RollSavingThrowBonus" data-i18n-title="roll-bonus-saving-throw" title="Roll bonus Saving Throw" value="&{template:tmpl} {{pc=@{character_name}}} {{name=@{stbonus}}} {{save=1}} {{roll=[[1d20cs20cf1+@{stbonusvalue}]]}} {{target=[[@{savingthrow}]]}}"></button>
<input type="number" name="attr_stbonusvalue" value="2" class="sheet-shortinput" />
</div>
</fieldset>
</div> <!-- END SAVING THROWS -->
</div> <!-- END DEF & ST -->
<div class="sheet-greybg" style="width:550px; margin-top: 4px;">
<div class="sheet-ligne"> <!-- MOVEMENT -->
<span class="sheet-libred" data-i18n="movement">Movement</span>
<span class="sheet-lib2 sheet-wid80" data-i18n="move-squares">Move Squares</span>
<input type="number" name="attr_movesquares" value="4" class="sheet-shortinput" data-i18n-title="movesquares-title" title="Base movement. Not calculted automatically. Has to be input manually, depending on the house rules and distance measurement used in the game." />
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid70" data-i18n="total-weight">Total Wt.</span>
<input type="number" name="attr_totalweight" value="0" class="sheet-medinput" data-i18n-title="totalweight-title" title="Total weight. Automatically calculted based on the treasure and gear weights. Can be overriden." />
=
<span class="sheet-lib2 sheet-wid70" data-i18n="gear-wt">Gear Wt.</span>
<input type="number" name="attr_gearweight" value="0" class="sheet-medinput" data-i18n-title="gear-wt-title" title="Total gear weight. Automatically calculted based on (quantity * weight) of each item in the gear list. Can be overriden." />
+
<span class="sheet-lib2 sheet-wid70" data-i18n="treasure-wt">Treasure Wt.</span>
<input type="number" name="attr_treasurewt" value="0" class="sheet-medinput" data-i18n-title="treasurewt-title" title="Total weight of treasures. Automatically calculted based on the weight of each item in the treasure list. Can be overriden." />
</div>
<div class="sheet-ligne">
<span class="sheet-lib2 sheet-wid80" data-i18n="0-75-lbs">0-75 lbs</span>:<span data-i18n="4-sqrs">4 sqrs</span>
<span class="sheet-lib2 sheet-wid80" data-i18n="76-100-lbs">76-100 lbs</span>:<span data-i18n="3-sqrs">3 sqrs</span>
<span class="sheet-lib2 sheet-wid80" data-i18n="101-150-lbs">101-150 lbs</span>:<span data-i18n="2-sqrs">2 sqrs</span>
<span class="sheet-lib2 sheet-wid80" data-i18n="151-300-lbs">151-300 lbs</span>:<span data-i18n="1-sqr">1 sqr</span>
</div> <!-- END MOVEMENT -->
</div>
</div>
</div> <!-- END LINE 3 -->
<div class="sheet-ligne"> <!-- LINE 4 -->
<div class="sheet-mycol"> <!-- COL1 Weapons & Magig -->
<div class="sheet-ligne">
<div class="sheet-mycol sheet-bord" style="width:468px;"> <!-- WEAPONS -->
<span class="sheet-libred" data-i18n="weapons">Weapons</span>
<fieldset class="repeating_weapons">
<div class="sheet-ligne">
<input type="text" name="attr_wpnname" value="" class="sheet-longinput sheet-bold" data-i18n-placeholder="weapon-name" placeholder="Weapon name" />
<button type="roll" name="RollAttack" data-i18n-title="roll-attack" title="Roll attack (to hit and damage rolls)" value="&{template:tmpl} {{pc=@{character_name}}} {{name=@{wpnname}}} {{attack=1}} {{roll=[[@{wpnhit}]]}} {{dmg=[[@{wpndmg}]]}}"></button>
<span class="sheet-lib2 sheet-wid50" data-i18n="hit-roll">Hit Roll</span>
<input type="text" class="sheet-shortinput" name="attr_wpnhit" class="sheet-shortinput" value="1d20+0" />
<span class="sheet-lib2 sheet-wid50" data-i18n="dmg-roll">Dmg Roll</span>
<input type="text" class="sheet-shortinput" name="attr_wpndmg" class="sheet-shortinput" value="1d6+0" />
</div>
</fieldset>
</div>
</div><!-- END WEAPONS -->
<div class="sheet-ligne"> <!-- ABILITIES/MAGIC -->
<div class="sheet-mycol sheet-bord" style="width:468px;">
<span class="sheet-libred" data-i18n="abilities">Abilities</span><span class="sheet-libred"> & </span><span class="sheet-libred" data-i18n="magic">Magic</span>
<div class="sheet-ligne">
<span class="sheet-lib2" data-i18n="number-of-spells-by-level">Number of Spells by Level</span>
<div class="sheet-ligne">
<span class="sheet-libmin1">1:</span><input type="number" name="attr_lvl1spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">2:</span><input type="number" name="attr_lvl2spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">3:</span><input type="number" name="attr_lvl3spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">4:</span><input type="number" name="attr_lvl4spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">5:</span><input type="number" name="attr_lvl5spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">6:</span><input type="number" name="attr_lvl6spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">7:</span><input type="number" name="attr_lvl7spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">8:</span><input type="number" name="attr_lvl8spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">9:</span><input type="number" name="attr_lvl9spells" value="0" class="sheet-tinyinput" />
<span class="sheet-libmin1">10:</span><input type="number" name="attr_lvl10spells" value="0" class="sheet-tinyinput" />
</div>
</div>
<span class="sheet-lib2" data-i18n="spell">Spell</span>/ <span class="sheet-lib2" data-i18n="ability-names">Ability Names</span>
<fieldset class="repeating_magic">
<div class="sheet-ligne">
<input type=checkbox name="attr_magicused" />
<input type="text" name="attr_magicname" style="width: 290px;" data-i18n-placeholder="spell-or-ability-name" placeholder="Spell or Ability name" />
<button type="roll" name="RollMagic" data-i18n-title="roll-magic" title="Roll (ex: 2d4)" value="&{template:tmpl} {{pc=@{character_name}}} {{name=@{magicname}}} {{talent=1}} {{roll=[[@{magicroll}]]}} {{target=[[0]]}}"></button>
<input type="text" name="attr_magicroll" class="sheet-medinput" data-i18n-placeholder="roll-magic" placeholder="Roll (ex:1d100)" />
</div>
</fieldset>
</div>
</div> <!-- END ABILITIES/MAGIC -->
</div> <!-- END COL1 Weapons & Magig -->
<div class="sheet-mycol sheet-greybg" style="width: 388px;"> <!-- COL2 EQUIPEMENT -->
<div class="sheet-lib">
<span class="sheet-libred" data-i18n="treasure">Treasure</span>/<span class="sheet-libred" data-i18n="key-items">Key Items</span>
</div>
<div class="sheet-lib">
<span class="sheet-lib2" data-i18n="total-wealth-in-gp">Total Wealth in GP</span>: <input type="text" name="attr_totalwealth" />
</div>
<span class="sheet-lib2l" style="width: 250px;" data-i18n="name">Name</span>
<span class="sheet-lib2l" style="width: 50px;" data-i18n="value">Value</span>
<span class="sheet-lib2l" data-i18n="wt">Wt</span>
<fieldset class="repeating_treasure">
<input type="text" name="attr_treasurename" style="width: 250px;" data-i18n-placeholder="item-name" placeholder="Item name" />
<input type="number" name="attr_treasurevalue" value="0" />
<input type="number" name="attr_treasurewt" value="0" />
</fieldset>
<div class="sheet-lib">
<span class="sheet-libred" data-i18n="gear">Gear</span>/<span class="sheet-libred" data-i18n="equipment">Equipment</span>
</div>
<span class="sheet-lib2l" style="width: 250px;" data-i18n="name">Name</span>
<span class="sheet-lib2l" style="width: 50px;" data-i18n="qty">Qty</span>
<span class="sheet-lib2l" style="" data-i18n="wt">Wt</span>
<fieldset class="repeating_gear">
<input type="text" name="attr_gearname" style="width: 250px;" data-i18n-placeholder="item-name" placeholder="Item name" />
<input type="number" name="attr_gearqty" value="1" />
<input type="number" name="attr_gearwt" value="0" />
</fieldset>
</div> <!-- END COL2 EQUIPEMENT -->
</div> <!-- END LINE 4 -->
</div> <!-- === END SHEET === -->
<!-- === TEMPLATE === -->
<rolltemplate class="sheet-rolltemplate-tmpl">
<div class="sheet-tplmain">
<div class="sheet-pc">{{pc}}</div>
{{#save}}
<div class="sheet-jet">{{roll}} &gt;= {{target}}</div>
<div class="sheet-jet sheet-jetbordleft">
{{#rollGreater() roll target}}
<span class="sheet-success" data-i18n="success">Success</span>
{{/rollGreater() roll target}}
{{#rollTotal() roll target}}
<span class="sheet-success" data-i18n="success">Success</span>
{{/rollTotal() roll target}}
{{#rollLess() roll target}}
<span class="sheet-failure" data-i18n="failure">Failure</span>
{{/rollLess() roll target}}
</div>
<div class="sheet-jetnom"><span data-i18n="saving-throw">Saving Throw</span> {{#name}}({{name}}){{/name}}</div>
{{/save}}
{{#talent}}
{{#target}}
{{#rollTotal() target 0}}
<div class="sheet-jet">{{roll}}</div>
<div class="sheet-jet">&nbsp;</div>
{{/rollTotal() target 0}}
{{#rollGreater() target 0}}
<div class="sheet-jet">{{roll}} &lt;= {{target}}</div>
<div class="sheet-jet sheet-jetbordleft">
{{#rollGreater() roll target}}
<span class="sheet-failure" data-i18n="failure">Failure</span>
{{/rollGreater() roll target}}
{{#rollTotal() roll target}}
<span class="sheet-success" data-i18n="success">Success</span>
{{/rollTotal() roll target}}
{{#rollLess() roll target}}
<span class="sheet-success" data-i18n="success">Success</span>
{{/rollLess() roll target}}
</div>
{{/rollGreater() target 0}}
{{/target}}
<div class="sheet-jetnom">{{name}}</div>
{{/talent}}
{{#attack}}
<div class="sheet-jet"><span data-i18n="to-hit">To-Hit</span> {{roll}}</div>
<div class="sheet-jet sheet-jetbordleft"><span data-i18n="damage">Damage</span>
{{#rollLess() dmg 1}}
1
{{/rollLess() dmg 1}}
{{#rollGreater() dmg 0}}
{{dmg}}
{{/rollGreater() dmg 0}}
</div>
<div class="sheet-jetnom">{{name}}</div>
{{/attack}}
{{#hd}}
<div class="sheet-jet">{{roll}}</div>
<div class="sheet-jet">&nbsp;</div>
<div class="sheet-jetnom"><span data-i18n="hit-points">Hit Points</span></div>
{{/hd}}
</div>
</rolltemplate>