Update Rangers.html
RoSD Character Sheet Release Notes Version: 1.1 Additions: Added Health, Move, and Spellcasting dice roller buttons Added Poison and Disease tracker checkboxes Changed the Stats layout section to have a Base and modifier value, and show the total. Old variable names were maintained to preserve backwards compatibility. Updated natural 20 roll crit output text Added additional inventory slots (to support gear that doesn't take a slot) Added a "used" checkbox next to inventory to track consumables Added "XP for Next Lvl" field so you don't have to keep looking in the rules book to see how many more xp you need Added the character's name into the die roll output Bugfixes: Fixed the name linking from the sheet to the title shown in the journal Fixed some extra DIVs in the Notes box To do list: When you set the token's HP to 0, it doesn't automatically add the red X to the token Add a modifier popup option to various stat rolls (so the mod can be added on the fly) Figure out a way to auto-roll the defender's Fight (may require selecting both attacker and defender) Figure out a way to calculate damage done
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<div class="columna" style="width:50%;">
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<h3>Name</h3>
|
||||
<input type="text" class="stats-input" name="attr_name" style="width:90%;margin-bottom: 10px;"/>
|
||||
<input type="text" class="stats-input" name="attr_character_name" style="width:90%;margin-bottom: 10px;"/>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px">
|
||||
<h3>Character Type</h3>
|
||||
@@ -25,6 +25,10 @@
|
||||
<div>Experience</div>
|
||||
<input type="text" class="stats-input" name="attr_experience"/>
|
||||
</div>
|
||||
<div class="columna" style="padding-right: 20px;">
|
||||
<div>XP for Next Lvl</div>
|
||||
<input type="text" class="stats-input" name="attr_nextlevel"/>
|
||||
</div>
|
||||
<div class="columna" style="padding-right: 20px;">
|
||||
<div>Recruitment Points</div>
|
||||
<input type="text" class="stats-input" name="attr_recruit"/>
|
||||
@@ -78,92 +82,168 @@
|
||||
<!-- Stats -->
|
||||
<h3>Stats</h3>
|
||||
<div class="linea">
|
||||
<div class="columna" style="width: 20%;">
|
||||
<div class="columna" style="width: 200px;">
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna" style="width: 70px">
|
||||
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
Base
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
Mod
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
Total
|
||||
</div>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna">
|
||||
<button title="Fight" type="roll" name="roll_Fight" value="&{template:statroll} {{rollIsFight=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{fight}]]}}">
|
||||
<button title="Fight" type="roll" name="roll_Fight" value="&{template:statroll} {{rollIsFight=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{fightTotal}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
Fight
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<input type="text" class="short" name="attr_fight"/>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_fight"/>
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
+ <input type="text" class="short" name="attr_fightMod"/>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
= <span name="attr_fightTotal"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna">
|
||||
<button title="Shoot" type="roll" name="roll_Shoot" value="&{template:statroll} {{rollIsShoot=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{shoot}]]}}">
|
||||
<button title="Shoot" type="roll" name="roll_Shoot" value="&{template:statroll} {{rollIsShoot=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{shootTotal}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
Shoot
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_shoot"/>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
+ <input type="text" class="short" name="attr_shootMod"/>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
= <span name="attr_shootTotal"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna">
|
||||
<button title="Will" type="roll" name="roll_Will" value="&{template:statroll} {{rollIsWill=true}} {{charname=@{character_name}}} {{Result=[[1d20cs21cf0+@{will}]]}}">
|
||||
</button>
|
||||
<button title="Will" type="roll" name="roll_Will" value="&{template:statroll} {{rollIsWill=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{willTotal}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
Will
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<input type="text" class="short" name="attr_will"/>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_will"/>
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
+ <input type="text" class="short" name="attr_willMod"/>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
= <span name="attr_willTotal"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columna" style="width: 22%;">
|
||||
<div class="columna" style="width:200px;">
|
||||
<div class="columna" style="width: 200px;">
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="rollLabel">
|
||||
Armor (base)
|
||||
<div class="columna" style="width: 75px">
|
||||
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
Base
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
Mod
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
Total
|
||||
</div>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna">
|
||||
<button title="Armor" type="roll" name="roll_Armor" value="&{template:statroll} {{rollIsArmor=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{armortotal}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
Armor
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_armorbase"/>
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
+ <input type="text" class="short" name="attr_armorMod"/>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
= <span name="attr_armortotal"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="rollLabel">
|
||||
Health (base)
|
||||
<div class="columna">
|
||||
<button title="Health" type="roll" name="roll_Health" value="&{template:statroll} {{rollIsHealth=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{healthcurrent}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<div class="rollLabel">
|
||||
Health
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_healthmax"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columna" style="width: 24%;">
|
||||
<div class="linea" style="margin-bottom: 10px">
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
+ <input type="text" class="short" name="attr_healthMod"/>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
Armor (total)
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<input type="text" class="short" name="attr_armortotal"/>
|
||||
= <span name="attr_healthcurrent"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="linea" style="margin-bottom: 10px">
|
||||
<div class="rollLabel">
|
||||
Health (current)
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna">
|
||||
<button title="Move" type="roll" name="roll_Move" value="&{template:statroll} {{rollIsMove=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{moveTotal}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<input type="text" class="short" name="attr_healthcurrent"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columna" style="width: 16%;">
|
||||
<div class="linea" style="margin-bottom: 10px">
|
||||
<div class="rollLabel">
|
||||
Move
|
||||
</div>
|
||||
<div class="columna-right">
|
||||
<input type="text" class="short" name="attr_move"/>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_move"/>
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
+ <input type="text" class="short" name="attr_moveMod"/>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
= <span name="attr_moveTotal"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="fancy"/>
|
||||
<div class="linea">
|
||||
<!-- Spellcasting -->
|
||||
<h3>Spellcasting Rolls</h3>
|
||||
<div class="linea">
|
||||
<div class="columna" style="width: 220px;">
|
||||
<div class="linea" style="margin-bottom: 10px;">
|
||||
<div class="columna">
|
||||
<button title="Cast" type="roll" name="roll_Cast" value="&{template:statroll} {{rollIsCast=true}} {{charname=@{character_name}}} {{Result=[[1d20cs20cf0+@{castTotal}]]}}">
|
||||
</button>
|
||||
</div>
|
||||
<div class="rollLabel">
|
||||
Spellcasting Modifier:
|
||||
</div>
|
||||
<div style="display: inline-block; text-align: left; vertical-align: top;">
|
||||
<input type="text" class="short" name="attr_castMod"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="fancy"/>
|
||||
<!-- Abilities -->
|
||||
<div class="linea">
|
||||
<div class="columna">
|
||||
@@ -379,14 +459,14 @@
|
||||
</span>
|
||||
<input type="text" name="attr_inventory3" class="inventory-input"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columna" style="width: 50%;">
|
||||
<div class="linea">
|
||||
<span class="inventory-label">
|
||||
4
|
||||
</span>
|
||||
<input type="text" name="attr_inventory4" class="inventory-input"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columna" style="width: 50%;">
|
||||
<div class="linea">
|
||||
<span class="inventory-label">
|
||||
5
|
||||
@@ -399,6 +479,18 @@
|
||||
</span>
|
||||
<input type="text" name="attr_inventory6" class="inventory-input"/>
|
||||
</div>
|
||||
<div class="linea">
|
||||
<span class="inventory-label">
|
||||
7
|
||||
</span>
|
||||
<input type="text" name="attr_inventory7" class="inventory-input"/>
|
||||
</div>
|
||||
<div class="linea">
|
||||
<span class="inventory-label">
|
||||
8
|
||||
</span>
|
||||
<input type="text" name="attr_inventory8" class="inventory-input"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="fancy"/>
|
||||
@@ -426,7 +518,7 @@
|
||||
<!-- Notes -->
|
||||
<div class="linea">
|
||||
<h3>Notes</h3>
|
||||
<textarea name="attr_notes"/>
|
||||
<textarea name="attr_notes"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -436,20 +528,20 @@
|
||||
<div class="sheet-template-header"><span class="fancy">{{charname}}</span> rolls Fight: </div>
|
||||
{{#Result}}<div class="sheet-template-row">Fight Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{#rollWasCrit() Result}}
|
||||
<div class="sheet-template-row"><span>Gets a Crit and may do +5 damage!</span></div>
|
||||
<div class="sheet-template-row"><span>If you're a Hero, you Crit and do +5 damage!</span></div>
|
||||
{{/rollWasCrit() Result}}
|
||||
{{#rollWasFumble() Result}}
|
||||
<div class="sheet-template-row"><span>Fumbles and misses!</span></div>
|
||||
<div class="sheet-template-row"><span>Rolls a Nat 1 and misses!</span></div>
|
||||
{{/rollWasFumble() Result}}
|
||||
{{/rollIsFight}}
|
||||
{{#rollIsShoot}}
|
||||
<div class="sheet-template-header">{{charname}} rolls Shoot: </div>
|
||||
{{#Result}}<div class="sheet-template-row">Shoot Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{#rollWasCrit() Result}}
|
||||
<div class="sheet-template-row"><span>Gets a Crit and may do +5 damage!</span></div>
|
||||
<div class="sheet-template-row"><span>If you're a Hero, you Crit and do +5 damage!</span></div>
|
||||
{{/rollWasCrit() Result}}
|
||||
{{#rollWasFumble() Result}}
|
||||
<div class="sheet-template-row"><span>Fumbles and misses!</span></div>
|
||||
<div class="sheet-template-row"><span>Rolls a Nat 1 and misses!</span></div>
|
||||
{{/rollWasFumble() Result}}
|
||||
{{/rollIsShoot}}
|
||||
{{#rollIsWill}}
|
||||
@@ -462,9 +554,104 @@
|
||||
<div class="sheet-template-row"><span>Crit Fail!</span></div>
|
||||
{{/rollWasFumble() Result}}
|
||||
{{/rollIsWill}}
|
||||
{{#rollIsCast}}
|
||||
<div class="sheet-template-header"><span class="fancy">{{charname}}</span> rolls Shoot (spellcasting): </div>
|
||||
{{#Result}}<div class="sheet-template-row">Cast Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{#rollWasCrit() Result}}
|
||||
<div class="sheet-template-row"><span>If you're a Hero, you Crit and do +5 damage!</span></div>
|
||||
{{/rollWasCrit() Result}}
|
||||
{{#rollWasFumble() Result}}
|
||||
<div class="sheet-template-row"><span>Rolls a Nat 1 and misses!</span></div>
|
||||
{{/rollWasFumble() Result}}
|
||||
{{/rollIsCast}}
|
||||
{{#rollIsArmor}}
|
||||
<div class="sheet-template-header"><span class="fancy">{{charname}}</span> rolls Armor: </div>
|
||||
{{#Result}}<div class="sheet-template-row">Armor Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{/rollIsArmor}}
|
||||
{{#rollIsHealth}}
|
||||
<div class="sheet-template-header"><span class="fancy">{{charname}}</span> rolls Health: </div>
|
||||
{{#Result}}<div class="sheet-template-row">Health Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{/rollIsHealth}}
|
||||
{{#rollIsMove}}
|
||||
<div class="sheet-template-header"><span class="fancy">{{charname}}</span> rolls Move: </div>
|
||||
{{#Result}}<div class="sheet-template-row">Move Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{/rollIsMove}}
|
||||
{{#rollIsSkill}}
|
||||
<div class="sheet-template-header">{{charname}} rolls {{skillname}}: </div>
|
||||
{{#Result}}<div class="sheet-template-row">Skill Roll: <span>{{Result}}</span></div>{{/Result}}
|
||||
{{/rollIsSkill}}
|
||||
</div>
|
||||
</rolltemplate>
|
||||
</rolltemplate>
|
||||
|
||||
<script type="text/worker">
|
||||
on("change:fight change:fightMod sheet:opened", function() {
|
||||
getAttrs(["FIGHT","FIGHTMOD"], function(values) {
|
||||
let fight = parseInt(values.FIGHT)||0;
|
||||
let fightMod = parseInt(values.FIGHTMOD)||0;
|
||||
let fightTotal = fight + fightMod;
|
||||
setAttrs({
|
||||
"fightTotal": fightTotal
|
||||
});
|
||||
});
|
||||
});
|
||||
on("change:shoot change:shootMod sheet:opened", function() {
|
||||
getAttrs(["SHOOT","SHOOTMOD"], function(values) {
|
||||
let shoot = parseInt(values.SHOOT)||0;
|
||||
let shootMod = parseInt(values.SHOOTMOD)||0;
|
||||
let shootTotal = shoot + shootMod;
|
||||
setAttrs({
|
||||
"shootTotal": shootTotal
|
||||
});
|
||||
});
|
||||
});
|
||||
on("change:will change:willMod sheet:opened", function() {
|
||||
getAttrs(["WILL","WILLMOD"], function(values) {
|
||||
let will = parseInt(values.WILL)||0;
|
||||
let willMod = parseInt(values.WILLMOD)||0;
|
||||
let willTotal = will + willMod;
|
||||
setAttrs({
|
||||
"willTotal": willTotal
|
||||
});
|
||||
});
|
||||
});
|
||||
on("change:armorbase change:armorMod sheet:opened", function() {
|
||||
getAttrs(["ARMORBASE","ARMORMOD"], function(values) {
|
||||
let armorbase = parseInt(values.ARMORBASE)||0;
|
||||
let armorMod = parseInt(values.ARMORMOD)||0;
|
||||
let armortotal = armorbase + armorMod;
|
||||
setAttrs({
|
||||
"armortotal": armortotal
|
||||
});
|
||||
});
|
||||
});
|
||||
on("change:healthmax change:healthMod sheet:opened", function() {
|
||||
getAttrs(["HEALTHMAX","HEALTHMOD"], function(values) {
|
||||
let healthmax = parseInt(values.HEALTHMAX)||0;
|
||||
let healthMod = parseInt(values.HEALTHMOD)||0;
|
||||
let healthcurrent = healthmax + healthMod;
|
||||
setAttrs({
|
||||
"healthcurrent": healthcurrent
|
||||
});
|
||||
});
|
||||
});
|
||||
on("change:move change:moveMod sheet:opened", function() {
|
||||
getAttrs(["MOVE","MOVEMOD"], function(values) {
|
||||
let move = parseInt(values.MOVE)||0;
|
||||
let moveMod = parseInt(values.MOVEMOD)||0;
|
||||
let moveTotal = move + moveMod;
|
||||
setAttrs({
|
||||
"moveTotal": moveTotal
|
||||
});
|
||||
});
|
||||
});
|
||||
on("change:cast change:castMod sheet:opened", function() {
|
||||
getAttrs(["CAST","CASTMOD"], function(values) {
|
||||
let cast = parseInt(values.CAST)||0;
|
||||
let castMod = parseInt(values.CASTMOD)||0;
|
||||
let castTotal = cast + castMod;
|
||||
setAttrs({
|
||||
"castTotal": castTotal
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user