Files
2024-06-03 13:15:14 -04:00

195 lines
10 KiB
HTML

<script type="text/worker">
function rollDie(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function updateAbility(name) {
var baseName = name + "Base";
var lootName = name + "LootBonus";
getAttrs([baseName, lootName], function (values) {
var calculated = parseInt(values[baseName]) + parseInt(values[lootName]);
var obj = {};
obj[name] = calculated;
setAttrs(obj);
});
}
on("change:RollDeathSaveCheck", function () {
setAttrs({ DeathSaveCounter: rollDie(1, 6) });
});
on("change:StrengthBase", function() { updateAbility("Strength"); });
on("change:StrengthLootBonus", function() { updateAbility("Strength"); });
on("change:DexterityBase", function() { updateAbility("Dexterity"); });
on("change:DexterityLootBonus", function() { updateAbility("Dexterity"); });
on("change:ConstitutionBase", function() { updateAbility("Constitution"); });
on("change:ConstitutionLootBonus", function() { updateAbility("Constitution"); });
on("change:IntelligenceBase", function() { updateAbility("Intelligence"); });
on("change:IntelligenceLootBonus", function() { updateAbility("Intelligence"); });
on("change:WisdomBase", function() { updateAbility("Wisdom"); });
on("change:WisdomLootBonus", function() { updateAbility("Wisdom"); });
on("change:CharismaBase", function() { updateAbility("Charisma"); });
on("change:CharismaLootBonus", function() { updateAbility("Charisma"); });
on("change:ArmorBase", function() { updateAbility("Armor"); });
on("change:ArmorLootBonus", function() { updateAbility("Armor"); });
on("change:BasicEffortBase", function() { updateAbility("BasicEffort"); });
on("change:BasicEffortLootBonus", function() { updateAbility("BasicEffort"); });
on("change:WeaponsEffortBase", function() { updateAbility("WeaponsEffort"); });
on("change:WeaponsEffortLootBonus", function() { updateAbility("WeaponsEffort"); });
on("change:MagicEffortBase", function() { updateAbility("MagicEffort"); });
on("change:MagicEffortLootBonus", function() { updateAbility("MagicEffort"); });
on("change:UltimateEffortBase", function() { updateAbility("UltimateEffort"); });
on("change:UltimateEffortLootBonus", function() { updateAbility("UltimateEffort"); });
</script>
<div class="sheet-3colrow">
<div class="sheet-col">
<div class="description">
<input type="text" name="attr_character_name">
<input type="text" name="attr_Class">
<input type="text" name="attr_BioForm">
<input type="text" name="attr_Story">
</div>
</div>
<div class="sheet-col">
<div class="attributes">
<div class="attribute">
<button type="roll" class="str" value="/roll 1d20 + @{Strength}" name="roll_StrengthCheck"></button>
<input class="base" type="number" name="attr_StrengthBase" value="0">
<input class="modifier" name="attr_DisplayStrength" type="number" value="@{Strength}" disabled="true">
<input class="loot" type="number" name="attr_StrengthLootBonus" value="0">
<input type="hidden" name="attr_Strength" value="0">
</div>
<div class="attribute">
<button type="roll" class="dex" value="/roll 1d20 + @{Dexterity}" name="roll_DexterityCheck"></button>
<input class="base" type="number" name="attr_DexterityBase" value="0">
<input class="modifier" type="number" name="attr_DisplayDexterity" value="@{Dexterity}" disabled="true">
<input class="loot" type="number" name="attr_DexterityLootBonus" value="0">
<input type="hidden" name="attr_Dexterity" value="0">
</div>
<div class="attribute">
<button type="roll" class="con" value="/roll 1d20 + @{Constitution}" name="roll_ConstitutionCheck"></button>
<input class="base" type="number" name="attr_ConstitutionBase" value="0">
<input class="modifier" type="number" name="attr_DisplayConstitution" value="@{Constitution}" disabled="true">
<input class="loot" type="number" name="attr_ConstitutionLootBonus" value="0">
<input type="hidden" name="attr_Constitution" value="0">
</div>
<div class="attribute">
<button type="roll" class="int" value="/roll 1d20 + @{Intelligence}" name="roll_IntelligenceCheck"></button>
<input class="base" type="number" name="attr_IntelligenceBase" value="0">
<input class="modifier" type="number" name="attr_DisplayIntelligence" value="@{Intelligence}" disabled="true">
<input class="loot" type="number" name="attr_IntelligenceLootBonus" value="0">
<input type="hidden" name="attr_Intelligence" value="0">
</div>
<div class="attribute">
<button type="roll" class="wis" value="/roll 1d20 + @{Wisdom}" name="roll_WisdomCheck"></button>
<input class="base" type="number" name="attr_WisdomBase" value="0">
<input class="modifier" type="number" name="attr_DisplayWisdom" value="@{Wisdom}" disabled="true">
<input class="loot" type="number" name="attr_WisdomLootBonus" value="0">
<input type="hidden" name="attr_Wisdom" value="0">
</div>
<div class="attribute">
<button type="roll" class="cha" value="/roll 1d20 + @{Charisma}" name="roll_CharismaCheck"></button>
<input class="base" type="number" name="attr_CharismaBase" value="0">
<input class="modifier" type="number" name="attr_DisplayCharisma" value="@{Charisma}" disabled="true">
<input class="loot" type="number" name="attr_CharismaLootBonus" value="0">
<input type="hidden" name="attr_Charisma" value="0">
</div>
</div>
</div>
<div class="sheet-col">
<div class="armor">
<button type="roll" value="/roll 1d20 + @{Armor}" name="roll_ArmorCheck"></button>
<input class="modifier" type="number" name="attr_DisplayArmor" value="10 + @{Armor}" disabled="true">
<input class="base" type="number" name="attr_ArmorBase" value="0">
<input class="loot" type="number" name="attr_ArmorLootBonus" value="0">
<input type="hidden" name="attr_Armor" value="0">
</div>
<div class="effort">
<div class="basic">
<button type="roll" value="/roll 1d4 + @{BasicEffort}" name="roll_BasicEffortCheck"></button>
<input class="modifier" type="number" name="attr_DisplayBasicEffort" value="@{BasicEffort}" disabled="true">
<input class="base" type="number" name="attr_BasicEffortBase" value="0">
<input class="loot" type="number" name="attr_BasicEffortLootBonus" value="0">
<input type="hidden" name="attr_BasicEffort" value="0">
</div>
<div class="weapons">
<button type="roll" value="/roll 1d6 + @{WeaponsEffort}" name="roll_BasicEffortCheck"></button>
<input class="modifier" type="number" name="attr_DisplayWeaponsEffort" value="@{WeaponsEffort}" disabled="true">
<input class="base" type="number" name="attr_WeaponsEffortBase" value="0">
<input class="loot" type="number" name="attr_WeaponsEffortLootBonus" value="0">
<input type="hidden" name="attr_WeaponsEffort" value="0">
</div>
<div class="magic">
<button type="roll" value="/roll 1d8 + @{MagicEffort}" name="roll_BasicEffortCheck"></button>
<input class="modifier" type="number" name="attr_DisplayMagicEffort" value="@{MagicEffort}" disabled="true">
<input class="base" type="number" name="attr_MagicEffortBase" value="0">
<input class="loot" type="number" name="attr_MagicEffortLootBonus" value="0">
<input type="hidden" name="attr_MagicEffort" value="0">
</div>
<div class="ultimate">
<button type="roll" value="/roll 1d12 + @{UltimateEffort}" name="roll_BasicEffortCheck"></button>
<input class="modifier" type="number" name="attr_DisplayUltimateEffort" value="@{UltimateEffort}" disabled="true">
<input class="base" type="number" name="attr_UltimateEffortBase" value="0">
<input class="loot" type="number" name="attr_UltimateEffortLootBonus" value="0">
<input type="hidden" name="attr_UltimateEffort" value="0">
</div>
</div>
</div>
</div>
<div class="hearts">
<input type="checkbox" name="attr_Heart10" value="10" checked="true" />
<input type="checkbox" name="attr_Heart20" value="10" checked="false" />
<input type="checkbox" name="attr_Heart30" value="10" checked="false" />
<input type="checkbox" name="attr_Heart40" value="10" checked="false" />
<input type="checkbox" name="attr_Heart50" value="10" checked="false" />
<div class="health-tracker">
<input type="number" name="attr_CurrentHealth"> / <input type="number" name="attr_MaximumHealth" value="@{Heart10} + @{Heart20} + @{Heart30} + @{Heart40} + @{Heart50}" disabled="true">
</div>
<div class="death-save">
<input type="checkbox" value="1" name="attr_RollDeathSaveCheck" checked="false">
<input type="number" name="attr_DeathSaveCounter" value="">
</div>
</div>
<div class="sheet-2colrow loot">
<div class="sheet-col">
<fieldset class="repeating_equipmentleft">
<div class="compendium-drop-target">
<div class="loot-item">
<input type="text" name="attr_EquipmentNameLeft" accept="Name">
<input type="checkbox" name="attr_IsEquippedLeft" value="1" checked="false">
</div>
</div>
</fieldset>
</div>
<div class="sheet-col loot-col2">
<fieldset class="repeating_equipmentright">
<div class="compendium-drop-target">
<div class="loot-item">
<input type="text" name="attr_EquipmentNameRight" accept="Name">
<input type="checkbox" name="attr_IsEquippedRight" value="1" checked="false">
</div>
</div>
</fieldset>
</div>
</div>