@@ -705,23 +705,15 @@
|
||||
</div>
|
||||
|
||||
<!-- HIDDEN FIELDS USED FOR CALCULATIONS -->
|
||||
<input type="hidden" disabled="true" name="attr_AC-max-con-dex" value="((((@{CON-mod}) + (@{DEX-mod})) + abs((@{CON-mod}) - (@{DEX-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_AC-max-con-dex-wis" value="(((@{AC-max-con-dex}) + (@{WIS-mod}) + abs((@{AC-max-con-dex}) - (@{WIS-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_AC-min-con-dex" value="((((@{CON-mod}) + (@{DEX-mod})) - abs((@{CON-mod}) - (@{DEX-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_AC-min-con-dex-wis" value="(((@{AC-min-con-dex}) + (@{WIS-mod}) - abs((@{AC-min-con-dex}) - (@{WIS-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_PD-max-con-dex" value="((((@{CON-mod}) + (@{DEX-mod})) + abs((@{CON-mod}) - (@{DEX-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_PD-max-con-dex-str" value="(((@{PD-max-con-dex}) + (@{STR-mod}) + abs((@{PD-max-con-dex}) - (@{STR-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_PD-min-con-dex" value="((((@{CON-mod}) + (@{DEX-mod})) - abs((@{CON-mod}) - (@{DEX-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_PD-min-con-dex-str" value="(((@{PD-min-con-dex}) + (@{STR-mod}) - abs((@{PD-min-con-dex}) - (@{STR-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_MD-max-int-wis" value="((((@{INT-mod}) + (@{WIS-mod})) + abs((@{INT-mod}) - (@{WIS-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_MD-max-int-wis-cha" value="(((@{MD-max-int-wis}) + (@{CHA-mod}) + abs((@{MD-max-int-wis}) - (@{CHA-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_MD-min-int-wis" value="((((@{INT-mod}) + (@{WIS-mod})) - abs((@{INT-mod}) - (@{WIS-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_MD-min-int-wis-cha" value="(((@{MD-min-int-wis}) + (@{CHA-mod}) - abs((@{MD-min-int-wis}) - (@{CHA-mod}))) / 2)" />
|
||||
<input type="hidden" disabled="true" name="attr_HP-5-7" value="ceil(((((@{level}-4) + (0)) + abs((@{level}-4) - (0))) / 2)/1000000)*(@{level}-4)" />
|
||||
<input type="hidden" disabled="true" name="attr_HP-8-10" value="ceil(((((@{level}-7) + (0)) + abs((@{level}-7) - (0))) / 2)/1000000)*2*(@{level}-7)" />
|
||||
<input type="hidden" disabled="true" name="attr_HP-multiplier" value="@{level}+2+@{HP-5-7}+@{HP-8-10}" />
|
||||
<input type="hidden" disabled="true" name="attr_LVL-multiplier" value="(1+ceil(((((@{level}-4) + (0)) + abs((@{level}-4) - (0))) / 2)/1000000)+ceil(((((@{level}-7) + (0)) + abs((@{level}-7) - (0))) / 2)/1000000))" />
|
||||
<input type="hidden" disabled="true" name="attr_E-DIE" value="[[&{noerror}(((((@{tracker|Escalation Die}+0) + (6)) - abs((@{tracker|Escalation Die}+0) - (6))) / 2))]][E-DIE]" />
|
||||
<input type="hidden" disabled="true" name="attr_AC-max-con-dex-wis" value="({@{CON-mod},@{DEX-mod},@{WIS-mod}}dl2)" />
|
||||
<input type="hidden" disabled="true" name="attr_AC-min-con-dex-wis" value="({@{CON-mod},@{DEX-mod},@{WIS-mod}}dh2)" />
|
||||
<input type="hidden" disabled="true" name="attr_PD-max-con-dex-str" value="({@{CON-mod},@{DEX-mod},@{STR-mod}}dl2)" />
|
||||
<input type="hidden" disabled="true" name="attr_PD-min-con-dex-str" value="({@{CON-mod},@{DEX-mod},@{STR-mod}}dh2)" />
|
||||
<input type="hidden" disabled="true" name="attr_MD-max-int-wis-cha" value="({@{INT-mod},@{WIS-mod},@{CHA-mod}}dl2)" />
|
||||
<input type="hidden" disabled="true" name="attr_MD-min-int-wis-cha" value="({@{INT-mod},@{WIS-mod},@{CHA-mod}}dh2)" />
|
||||
<input type="hidden" disabled="true" name="attr_HP-multiplier" value="(@{level}+2+{@{level}-4,0}dl1+{(@{level}-7)*2,0}dl1)" />
|
||||
<input type="hidden" disabled="true" name="attr_LVL-multiplier" value="({@{level}-0,@{level}-4,@{level}-7}>1)" />
|
||||
<input type="hidden" disabled="true" name="attr_E-DIE" value="[[&{noerror}({{@{tracker|Escalation Die},6}dh1,{0}}dl1)]][E-DIE]" />
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 869 KiB After Width: | Height: | Size: 1.5 MiB |
@@ -3,10 +3,10 @@
|
||||
<input type="checkbox" name="attr_higher_level_toggle" value="{{cast_as_level=@{higher_level_query}}}" class="attack-toggle">
|
||||
<div class="bold italic mar-r-sm"><span data-i18n="HIGHER_LEVEL"></span>.</div>
|
||||
<div class="attack-toggle col-12 center pad-r-sm">
|
||||
<input type="number" name="attr_higher_level_dice" accept="Higher Spell Slot Dice" placeholder="1">
|
||||
<input type="number" name="attr_higher_level_dice" class="no-spin" accept="Higher Spell Slot Dice" step="0.01">
|
||||
<div class="small-label" data-i18n="DICE"></div>
|
||||
</div>
|
||||
<div class="attack-toggle col-12 border-right center pad-l-sm pad-r-sm">
|
||||
<div class="attack-toggle col-10 border-right center pad-l-sm pad-r-sm">
|
||||
<select name="attr_higher_level_die" accept="Higher Spell Slot Die">
|
||||
<option value="d0">—</option>
|
||||
<option>d2</option>
|
||||
@@ -20,10 +20,10 @@
|
||||
<div class="small-label" data-i18n="DIE"></div>
|
||||
</div>
|
||||
<div class="attack-toggle col-12 center pad-l-sm pad-r-sm">
|
||||
<input type="number" name="attr_second_higher_level_dice" accept="Secondary Higher Spell Slot Dice" placeholder="1">
|
||||
<input type="number" name="attr_second_higher_level_dice" class="no-spin" accept="Secondary Higher Spell Slot Dice" step="0.01">
|
||||
<div class="small-label"><span data-i18n="2ND"></span> <span data-i18n="DICE"></span></div>
|
||||
</div>
|
||||
<div class="attack-toggle col-12 border-right center pad-l-sm pad-r-sm">
|
||||
<div class="attack-toggle col-10 border-right center pad-l-sm pad-r-sm">
|
||||
<select name="attr_second_higher_level_die" accept="Secondary Higher Spell Slot Die">
|
||||
<option value="d0">—</option>
|
||||
<option>d2</option>
|
||||
@@ -38,6 +38,6 @@
|
||||
</div>
|
||||
<div class="attack-toggle col-12 center pad-l-sm">
|
||||
<input type="text" name="attr_higher_level_heal" class="center" accept="Higher Level Healing">
|
||||
<div class="small-label" data-i18n="DIE"></div>
|
||||
<div class="small-label" data-i18n="FLAT_HEAL"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -8,6 +8,7 @@
|
||||
<div class="attack-toggle col-10 center">
|
||||
<select name="attr_saving_throw_ability">
|
||||
<option value="0">—</option>
|
||||
<option value="finesse" data-i18n="FINESSE"></option>
|
||||
<option value="strength" data-i18n="STR"></option>
|
||||
<option value="dexterity" data-i18n="DEX"></option>
|
||||
<option value="constitution" data-i18n="CON"></option>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<div class="bold italic mar-r-sm"><span data-i18n="SPECIAL_EFFECTS"></span>.</div>
|
||||
<div class="attack-toggle col-15 center mar-b-sm">
|
||||
<input type="text" name="attr_special_effects_type" class="center" placeholder="explode">
|
||||
<input type="text" name="attr_special_effects_type" class="center" data-i18n-placeholder="EXPLODE">
|
||||
<div class="small-label" data-i18n="TYPE"></div>
|
||||
</div>
|
||||
<div class="attack-toggle col-15 center pad-l-sm mar-b-sm">
|
||||
|
||||
@@ -108,6 +108,12 @@
|
||||
<input type="checkbox" name="attr_wisdom_saving_throw_attacher">
|
||||
</div>
|
||||
</div>
|
||||
<div class="shaped-row default-saving-throw">
|
||||
<div class="col-85" data-i18n="CHARISMA"></div>
|
||||
<div class="col-15">
|
||||
<input type="checkbox" name="attr_charisma_saving_throw_attacher">
|
||||
</div>
|
||||
</div>
|
||||
<div class="shaped-row custom-saving-throw">
|
||||
<div class="col-85" data-i18n="FORTITUDE"></div>
|
||||
<div class="col-15">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "5eShaped",
|
||||
"version": "6.0.4",
|
||||
"version": "6.1.1",
|
||||
"bin": "./",
|
||||
"description": "5e Shaped character sheet for Roll20.net",
|
||||
"main": "gulpfile.js",
|
||||
|
||||
@@ -273,6 +273,7 @@ export class Actions {
|
||||
const spellcastingRegex = /(\d+)\w+\slevel\s\((\d+)\s?slot(?:s)?\)/gi;
|
||||
const spellcastingLevelRegex = /(\d+)(?:st|dn|rd|th)-level spellcaster/i;
|
||||
const spellcastingAbilityRegex = /spellcasting ability is (\w+)/i;
|
||||
const spellcastingAbilityRegexSecond = /uses (\w+) as his spellcasting ability/i;
|
||||
|
||||
getSetRepeatingItems('actions.parse', {
|
||||
repeatingItems: [`repeating_${type}`],
|
||||
@@ -303,8 +304,12 @@ export class Actions {
|
||||
if (name && name.indexOf('Spellcasting') !== -1) {
|
||||
const spellcastingSearch = spellcastingAbilityRegex.exec(freetext);
|
||||
if (spellcastingSearch && spellcastingSearch[1]) {
|
||||
const spellcastingAbility = spellcastingSearch[1].toLowerCase();
|
||||
finalSetAttrs.default_ability = `@{${spellcastingAbility}_mod}`;
|
||||
finalSetAttrs.default_ability = spellcastingSearch[1].toLowerCase();
|
||||
} else {
|
||||
const spellcastingSearchSecond = spellcastingAbilityRegexSecond.exec(freetext);
|
||||
if (spellcastingSearchSecond && spellcastingSearchSecond[1]) {
|
||||
finalSetAttrs.default_ability = spellcastingSearchSecond[1].toLowerCase();
|
||||
}
|
||||
}
|
||||
const spellcastingLevelSearch = spellcastingLevelRegex.exec(freetext);
|
||||
if (spellcastingLevelSearch && spellcastingLevelSearch[1]) {
|
||||
@@ -323,7 +328,7 @@ export class Actions {
|
||||
if (actionType) {
|
||||
if (actionType[1]) {
|
||||
actionType[1] = actionType[1].toLowerCase();
|
||||
if (isUndefined(v[`${repeatingString}type`]) && actionType[1] === 'melee') {
|
||||
if (isUndefined(v[`${repeatingString}type`]) && (actionType[1] === 'melee' || actionType[1] === 'melee or ranged')) {
|
||||
finalSetAttrs[`${repeatingString}type`] = 'Melee Weapon';
|
||||
} else if (isUndefined(v[`${repeatingString}type`]) && actionType[1] === 'ranged') {
|
||||
finalSetAttrs[`${repeatingString}type`] = 'Ranged Weapon';
|
||||
|
||||
@@ -0,0 +1,335 @@
|
||||
/* global on:false, generateRowID:false */
|
||||
|
||||
import { ABILITIES, SKILLS, TOGGLE_VARS } from './constants';
|
||||
import { Traits } from './Traits';
|
||||
const traits = new Traits();
|
||||
import { getSetItems, getSetRepeatingItems, capitalize, getAbilityShortName, getSkillIdByStorageName, getIntValue, ordinalSpellLevel } from './utilities';
|
||||
|
||||
export class Convert {
|
||||
parseSpellcastingAbility(v, finalSetAttrs) {
|
||||
if (v.spellcasting_ability) {
|
||||
finalSetAttrs.default_ability = v.spellcasting_ability
|
||||
.replace('@', '')
|
||||
.replace('{', '')
|
||||
.replace('_mod', '')
|
||||
.replace('}', '')
|
||||
.replace('+', '');
|
||||
}
|
||||
}
|
||||
parseSizeTypeAlignment(v, finalSetAttrs) {
|
||||
const type = v.npc_type;
|
||||
const match = type.match(/(.*?) (.*?), (.*)/i);
|
||||
if (!type || !type[1] || !type[2] || !type[3]) {
|
||||
console.error('Character doesn\'t have valid type/size/alignment format');
|
||||
}
|
||||
finalSetAttrs.size = capitalize(match[1]);
|
||||
finalSetAttrs.type = match[2];
|
||||
finalSetAttrs.alignment = match[3];
|
||||
}
|
||||
parseHD(v, finalSetAttrs) {
|
||||
finalSetAttrs.hp_srd = `${v.hp_max} (${v.npc_hpformula})`;
|
||||
}
|
||||
parseSavingThrows(v, finalSetAttrs) {
|
||||
const savingThrows = [];
|
||||
for (const ability of ABILITIES) {
|
||||
const saveValue = v[`npc_${getAbilityShortName(ability)}_save`];
|
||||
if (saveValue) {
|
||||
savingThrows.push(`${getAbilityShortName(ability, true)} +${saveValue}`);
|
||||
}
|
||||
}
|
||||
if (savingThrows.length > 0) {
|
||||
finalSetAttrs.saving_throws_srd = savingThrows.join(', ');
|
||||
}
|
||||
}
|
||||
parseNPCSkills(v, finalSetAttrs) {
|
||||
const skills = [];
|
||||
for (const skill in SKILLS) {
|
||||
if (SKILLS.hasOwnProperty(skill)) {
|
||||
const skillValue = v[`npc_${skill.toLowerCase()}`];
|
||||
if (skillValue) {
|
||||
skills.push(`${capitalize(skill.toLowerCase())} +${skillValue}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (skills.length > 1) {
|
||||
finalSetAttrs.skills_srd = skills.join(', ');
|
||||
}
|
||||
}
|
||||
convertJackOfAllTrades(v, finalSetAttrs) {
|
||||
if (v.jack_of_all_trades === '(floor(@{pb}/2))') {
|
||||
finalSetAttrs.jack_of_all_trades_toggle = '@{jack_of_all_trades}';
|
||||
}
|
||||
}
|
||||
convertProficienciesAndLanguages(v, finalSetAttrs) {
|
||||
if (v.other_proficiencies_and_languages) {
|
||||
const proficieniesMatch = v.other_proficiencies_and_languages.match(/Proficiencies. (.*)/i);
|
||||
if (proficieniesMatch && proficieniesMatch[1]) {
|
||||
finalSetAttrs.proficiencies = proficieniesMatch[1];
|
||||
}
|
||||
const languagesMatch = v.other_proficiencies_and_languages.match(/Languages. (.*)/i);
|
||||
if (languagesMatch && languagesMatch[1]) {
|
||||
finalSetAttrs.languages = languagesMatch[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
convertClass() {
|
||||
getSetRepeatingItems('convert.convertClass', {
|
||||
repeatingItems: ['repeating_class'],
|
||||
collectionArray: ['class', 'base_level', 'multiclass1_flag'],
|
||||
callback: (v, finalSetAttrs, ids, repeatingItem) => {
|
||||
if (v.class) {
|
||||
let repeatingString = `${repeatingItem}_${generateRowID()}_`;
|
||||
finalSetAttrs[`${repeatingString}name`] = v.class.toLowerCase();
|
||||
finalSetAttrs[`${repeatingString}level`] = getIntValue(v.base_level);
|
||||
|
||||
for (let i = 1; i <= 3; i++) {
|
||||
if (v[`multiclass${i}_flag`]) {
|
||||
repeatingString = `${repeatingItem}_${generateRowID()}_`;
|
||||
finalSetAttrs[`${repeatingString}name`] = v[`multiclass${i}`].toLowerCase();
|
||||
finalSetAttrs[`${repeatingString}level`] = getIntValue(v[`multiclass${i}_lvl`]);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
convertPCSkills() {
|
||||
const collectionArray = [];
|
||||
for (const skill in SKILLS) {
|
||||
if (SKILLS.hasOwnProperty(skill)) {
|
||||
collectionArray.push(`${skill.toLowerCase()}_prof`);
|
||||
collectionArray.push(`${skill.toLowerCase()}_type`);
|
||||
}
|
||||
}
|
||||
getSetRepeatingItems('convert.convertPCSkills', {
|
||||
repeatingItems: ['repeating_skill'],
|
||||
collectionArray,
|
||||
collectionArrayAddItems: ['proficiency'],
|
||||
callback: (v, finalSetAttrs, ids, repeatingItem) => {
|
||||
for (const skill in SKILLS) {
|
||||
if (SKILLS.hasOwnProperty(skill)) {
|
||||
const skillId = getSkillIdByStorageName(v, repeatingItem, ids, skill);
|
||||
const repeatingString = `${repeatingItem}_${skillId}_`;
|
||||
|
||||
if (v[`${skill.toLowerCase()}_type`] === '2') {
|
||||
finalSetAttrs[`${repeatingString}proficiency`] = 'expertise';
|
||||
} else if (v[`${skill.toLowerCase()}_prof`]) {
|
||||
finalSetAttrs[`${repeatingString}proficiency`] = 'proficient';
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
convertTraits() {
|
||||
getSetRepeatingItems('convert.convertTraits', {
|
||||
repeatingItems: ['repeating_npctrait'],
|
||||
collectionArrayAddItems: ['name', 'desc'],
|
||||
callback: (v, finalSetAttrs, ids, repeatingItem) => {
|
||||
for (const id of ids) {
|
||||
const repeatingString = `${repeatingItem}_${id}_`;
|
||||
traits.set({
|
||||
freetext: v[`${repeatingString}desc`],
|
||||
name: v[`${repeatingString}name`].replace('.', ''),
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
convertActions(oldRepeatingName, repeatingName) {
|
||||
getSetRepeatingItems('convert.convertActions', {
|
||||
repeatingItems: [`repeating_${oldRepeatingName}`],
|
||||
collectionArrayAddItems: ['name', 'attack_type_display', 'attack_tohitrange', 'attack_tohit', 'attack_onhit', 'description'],
|
||||
callback: (v, finalSetAttrs, ids, repeatingItem) => {
|
||||
for (const id of ids) {
|
||||
const repeatingStringOld = `${repeatingItem}_${id}_`;
|
||||
const repeatingString = `repeating_${repeatingName}_${generateRowID()}_`;
|
||||
finalSetAttrs[`${repeatingString}name`] = v[`${repeatingStringOld}name`];
|
||||
if (v[`${repeatingStringOld}attack_type_display`]) {
|
||||
finalSetAttrs[`${repeatingString}freetext`] = `${v[`${repeatingStringOld}attack_type_display`]} ${v[`${repeatingStringOld}attack_tohitrange`]} Hit: `;
|
||||
if (v[`${repeatingStringOld}attack_onhit`]) {
|
||||
finalSetAttrs[`${repeatingString}freetext`] += `${v[`${repeatingStringOld}attack_onhit`]}`;
|
||||
if (v[`${repeatingStringOld}description`]) {
|
||||
finalSetAttrs[`${repeatingString}freetext`] += ` ${v[`${repeatingStringOld}description`]}`;
|
||||
}
|
||||
finalSetAttrs[`${repeatingString}freetext`] += '\n';
|
||||
} else {
|
||||
if (v[`${repeatingStringOld}description`]) {
|
||||
finalSetAttrs[`${repeatingString}freetext`] += `${v[`${repeatingStringOld}description`]}`;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
finalSetAttrs[`${repeatingString}freetext`] = v[`${repeatingStringOld}description`];
|
||||
}
|
||||
finalSetAttrs[`${repeatingString}freetext`] = finalSetAttrs[`${repeatingString}freetext`].replace(/Attack:\s?\+(\d+)/i, 'Attack: +$1 to hit');
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
convertNPCSpells() {
|
||||
getSetRepeatingItems('convert.convertNPCSpells', {
|
||||
repeatingItems: ['repeating_spell-npc'],
|
||||
collectionArrayAddItems: ['spellname_base', 'spellprepared', 'spellritual', 'spellschool', 'spellcastingtime', 'spellrange', 'spelltarget', 'spellcomp_v', 'spellcomp_s', 'spellcomp_m', 'spellcomp_materials', 'spellconcentration', 'spellduration', 'spelldescription', 'spellathigherlevels', 'spelloutput', 'spelldamage', 'spelldamagetype', 'spelldamage2', 'spelldamagetype2', 'spellhealing', 'spellsave', 'spellsavesuccess', 'spellhldie'],
|
||||
callback: (v, finalSetAttrs, ids, repeatingItem) => {
|
||||
for (const id of ids) {
|
||||
const repeatingStringOld = `${repeatingItem}_${id}_`;
|
||||
const repeatingString = `repeating_spell_${generateRowID()}_`;
|
||||
|
||||
const nameLevelMatch = v[`${repeatingStringOld}spellname_base`].match(/(.*) \((.*)\)/i);
|
||||
if (nameLevelMatch && nameLevelMatch[1]) {
|
||||
finalSetAttrs[`${repeatingString}name`] = nameLevelMatch[1];
|
||||
if (nameLevelMatch[2] && nameLevelMatch[2] === 'Cantrip') {
|
||||
finalSetAttrs[`${repeatingString}level`] = ordinalSpellLevel(0);
|
||||
} else if (nameLevelMatch[2]) {
|
||||
finalSetAttrs[`${repeatingString}spell_level`] = ordinalSpellLevel(getIntValue(nameLevelMatch[2].replace('Level ', '')));
|
||||
}
|
||||
}
|
||||
if (!v[`${repeatingStringOld}spellprepared`] || v[`${repeatingStringOld}spellprepared`] === '1') {
|
||||
finalSetAttrs[`${repeatingString}is_prepared`] = 'on';
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellritual`]) {
|
||||
finalSetAttrs[`${repeatingString}ritual`] = 'Yes';
|
||||
}
|
||||
finalSetAttrs[`${repeatingString}school`] = v[`${repeatingStringOld}spellschool`].toUpperCase();
|
||||
finalSetAttrs[`${repeatingString}casting_time`] = v[`${repeatingStringOld}spellcastingtime`].trim().toUpperCase().replace(/\s/g, '_');
|
||||
finalSetAttrs[`${repeatingString}range`] = v[`${repeatingStringOld}spellrange`];
|
||||
finalSetAttrs[`${repeatingString}target`] = v[`${repeatingStringOld}spelltarget`];
|
||||
|
||||
const components = [];
|
||||
if (v[`${repeatingStringOld}spellcomp_v`] === '{{v=1}}') {
|
||||
components.push('V');
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellcomp_s`] === '{{s=1}}') {
|
||||
components.push('S');
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellcomp_m`] === '{{m=1}}') {
|
||||
components.push('M');
|
||||
}
|
||||
if (components.length > 0) {
|
||||
finalSetAttrs[`${repeatingString}components`] = `COMPONENTS_${components.join('_')}`;
|
||||
}
|
||||
finalSetAttrs[`${repeatingString}materials`] = v[`${repeatingStringOld}spellcomp_materials`];
|
||||
|
||||
if (v[`${repeatingStringOld}spellduration`]) {
|
||||
let duration = '';
|
||||
if (v[`${repeatingStringOld}spellconcentration`]) {
|
||||
duration += 'CONCENTRATION_';
|
||||
}
|
||||
duration += v[`${repeatingStringOld}spellduration`].trim().toUpperCase().replace(/\s/g, '_');
|
||||
finalSetAttrs[`${repeatingString}duration`] = duration;
|
||||
}
|
||||
if (v[`${repeatingStringOld}spelloutput`] === 'ATTACK') {
|
||||
finalSetAttrs[`${repeatingString}roll_toggle`] = TOGGLE_VARS.roll;
|
||||
}
|
||||
if (v[`${repeatingStringOld}spelldamage`]) {
|
||||
finalSetAttrs[`${repeatingString}damage_toggle`] = TOGGLE_VARS.damage;
|
||||
finalSetAttrs[`${repeatingString}damage`] = v[`${repeatingStringOld}spelldamage`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spelldamagetype`]) {
|
||||
finalSetAttrs[`${repeatingString}damage_type`] = v[`${repeatingStringOld}spelldamagetype`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spelldamage2`]) {
|
||||
finalSetAttrs[`${repeatingString}second_damage`] = v[`${repeatingStringOld}spelldamage2`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spelldamagetype2`]) {
|
||||
finalSetAttrs[`${repeatingString}second_damage_type`] = v[`${repeatingStringOld}spelldamagetype2`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellhealing`]) {
|
||||
finalSetAttrs[`${repeatingString}heal`] = v[`${repeatingStringOld}spellhealing`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellsave`]) {
|
||||
finalSetAttrs[`${repeatingString}saving_throw_vs_ability`] = v[`${repeatingStringOld}spellsave`].toUpperCase();
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellsavesuccess`]) {
|
||||
finalSetAttrs[`${repeatingString}saving_throw_success`] = v[`${repeatingStringOld}spellsavesuccess`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellhldie`]) {
|
||||
finalSetAttrs[`${repeatingString}higher_level_dice`] = v[`${repeatingStringOld}spellhldie`];
|
||||
}
|
||||
if (v[`${repeatingStringOld}spellhldietype`]) {
|
||||
finalSetAttrs[`${repeatingString}higher_level_die`] = v[`${repeatingStringOld}spellhldietype`];
|
||||
}
|
||||
|
||||
finalSetAttrs[`${repeatingString}content`] = `${v[`${repeatingStringOld}spelldescription`]}\nAt Higher Levels: ${v[`${repeatingStringOld}spellathigherlevels`]}`;
|
||||
|
||||
finalSetAttrs[`${repeatingString}toggle_details`] = '0';
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
convertFromOGL() {
|
||||
const oldToNew = {
|
||||
npc: 'is_npc',
|
||||
npc_ac: 'AC',
|
||||
npc_actype: 'ac_note',
|
||||
npc_challenge: 'challenge',
|
||||
npc_name: 'character_name',
|
||||
npc_vulnerabilities: 'damage_vulnerabilities',
|
||||
npc_resistances: 'damage_resistances',
|
||||
npc_immunities: 'damage_immunities',
|
||||
npc_condition_immunities: 'condition_immunities',
|
||||
npc_senses: 'senses',
|
||||
npc_languages: 'languages',
|
||||
hp_temp: 'temp_HP',
|
||||
experience: 'xp',
|
||||
npc_legendary_actions: 'legendary_action_amount',
|
||||
};
|
||||
const collectionArray = ['npc_type', 'hp_max', 'npc_hpformula', 'jack_of_all_trades', 'other_proficiencies_and_languages', 'spellcasting_ability'];
|
||||
|
||||
for (const ability of ABILITIES) {
|
||||
collectionArray.push(`npc_${getAbilityShortName(ability).toLowerCase()}_save`);
|
||||
}
|
||||
for (const skill in SKILLS) {
|
||||
if (SKILLS.hasOwnProperty(skill)) {
|
||||
collectionArray.push(`npc_${skill.toLowerCase()}`);
|
||||
}
|
||||
}
|
||||
for (const key in oldToNew) {
|
||||
if (oldToNew.hasOwnProperty(key)) {
|
||||
collectionArray.push(key);
|
||||
}
|
||||
}
|
||||
getSetItems('convert.convertFromOGL', {
|
||||
collectionArray,
|
||||
callback: (v, finalSetAttrs) => {
|
||||
finalSetAttrs.tab = 'core';
|
||||
for (const key in oldToNew) {
|
||||
if (oldToNew.hasOwnProperty(key)) {
|
||||
if (v[key]) {
|
||||
finalSetAttrs[oldToNew[key]] = v[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
this.parseSpellcastingAbility(v, finalSetAttrs);
|
||||
this.parseSizeTypeAlignment(v, finalSetAttrs);
|
||||
this.parseHD(v, finalSetAttrs);
|
||||
this.parseSavingThrows(v, finalSetAttrs);
|
||||
this.parseNPCSkills(v, finalSetAttrs);
|
||||
this.convertJackOfAllTrades(v, finalSetAttrs);
|
||||
this.convertProficienciesAndLanguages(v, finalSetAttrs);
|
||||
},
|
||||
});
|
||||
this.convertPCSkills();
|
||||
this.convertTraits();
|
||||
this.convertActions('npcaction', 'action');
|
||||
this.convertActions('npcaction-l', 'legendaryaction');
|
||||
this.convertActions('npcreaction', 'reaction');
|
||||
this.convertClass();
|
||||
this.convertNPCSpells();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
/*
|
||||
NPC Convcersion
|
||||
* weapons like "3 (1d6-1) bludgeoning damage plus 3 (1d6) poison damage" aren't converting both damages
|
||||
|
||||
PC Conversion:
|
||||
* convert "attacks" to repeating attacks
|
||||
* convert "repeating_inventory" to equipment. "itemcount" to "qty", "itemname", "itemweight", "equipped"
|
||||
* convert "repeating_spell-cantrip", "repeating_spell-1" etc to "repeating_spells". "spellname_base", "spellprepared", "spellschool", "spellritual", "spellcastingtime", "spellrange", "spelltarget" to "target", "spellcomp_v" and "spellcomp_s" and "spellcomp_m" and "spellcomp_materials", "spellconcentration", "spellduration", "spelloutput", "spelldescription", "spellathigherlevels"
|
||||
* convert ac to some armor
|
||||
|
||||
*/
|
||||
@@ -6,7 +6,9 @@ import { AbilityChecks } from './AbilityChecks';
|
||||
const abilityChecks = new AbilityChecks();
|
||||
import { Character } from './Character';
|
||||
const character = new Character();
|
||||
import { SKILLS } from './constants';
|
||||
import { ABILITIES, SKILLS } from './constants';
|
||||
import { Convert } from './Convert';
|
||||
const convert = new Convert();
|
||||
import { Equipment } from './Equipment';
|
||||
const equipment = new Equipment();
|
||||
import { ProficiencyBonus } from './ProficiencyBonus';
|
||||
@@ -48,47 +50,29 @@ export class Initialize {
|
||||
},
|
||||
});
|
||||
}
|
||||
checkVersionFormat(version, finalSetAttrs) {
|
||||
const versionRegex = /\d+\.\d+\.\d+/gi;
|
||||
const versionIsProperFormat = versionRegex.exec(version);
|
||||
|
||||
if (version && !versionIsProperFormat) {
|
||||
finalSetAttrs.version = version = currentVersion;
|
||||
}
|
||||
return version;
|
||||
}
|
||||
sheetOpened() {
|
||||
console.log('initialize.sheetOpened');
|
||||
const collectionArray = ['version', 'npc', 'base_level', 'convertedFromOGL', 'import_data', 'roll_setting'];
|
||||
for (const ability of ABILITIES) {
|
||||
collectionArray.push(ability);
|
||||
}
|
||||
getSetItems('initialize.sheetOpened', {
|
||||
collectionArray: ['version', 'strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma', 'import_data', 'roll_setting'],
|
||||
collectionArray,
|
||||
callback: (v, finalSetAttrs) => {
|
||||
const version = this.checkVersionFormat(v.version, finalSetAttrs);
|
||||
|
||||
if (!version) {
|
||||
if (!v.import_data) {
|
||||
const convertOGL = (v.npc || v.base_level) && !v.convertedFromOGL;
|
||||
if (!v.version || convertOGL) {
|
||||
if (!v.import_data && !convertOGL) {
|
||||
finalSetAttrs.edit_mode = 'on';
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.roll_setting)) { // API Script import sets this when making characters
|
||||
finalSetAttrs.roll_setting = '{{ignore=[[0';
|
||||
}
|
||||
const setAbilities = {};
|
||||
if (isUndefinedOrEmpty(v.strength)) {
|
||||
setAbilities.strength = 10;
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.dexterity)) {
|
||||
setAbilities.dexterity = 10;
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.constitution)) {
|
||||
setAbilities.constitution = 10;
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.intelligence)) {
|
||||
setAbilities.intelligence = 10;
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.wisdom)) {
|
||||
setAbilities.wisdom = 10;
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.charisma)) {
|
||||
setAbilities.charisma = 10;
|
||||
for (const ability of ABILITIES) {
|
||||
if (isUndefinedOrEmpty(v[ability])) {
|
||||
setAbilities[ability] = 10;
|
||||
}
|
||||
}
|
||||
setFinalAttrs(v, setAbilities, 'initialize', () => {
|
||||
proficiencyBonus.update();
|
||||
@@ -100,13 +84,23 @@ export class Initialize {
|
||||
spells.updateShowHide();
|
||||
abilities.updateModifiers();
|
||||
});
|
||||
if (convertOGL) {
|
||||
proficiencyBonus.update();
|
||||
this.generateSkills();
|
||||
savingThrows.update();
|
||||
abilities.updateModifiers();
|
||||
convert.convertFromOGL();
|
||||
}
|
||||
} else {
|
||||
upgrade.upgrade();
|
||||
}
|
||||
|
||||
if (isUndefinedOrEmpty(version) || !version || version !== currentVersion) {
|
||||
if (isUndefinedOrEmpty(v.version) || !v.version || v.version !== currentVersion) {
|
||||
finalSetAttrs.version = currentVersion;
|
||||
}
|
||||
if (isUndefinedOrEmpty(v.convertedFromOGL) || !v.convertedFromOGL) {
|
||||
finalSetAttrs.convertedFromOGL = true;
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -227,6 +227,7 @@ export class Npc {
|
||||
const collectionArray = ['hit_dice', 'hit_die'];
|
||||
for (const key in hd) {
|
||||
if (hd.hasOwnProperty(key)) {
|
||||
collectionArray.push(`hd_${key}`);
|
||||
collectionArray.push(`hd_${key}_max`);
|
||||
collectionArray.push(`hd_${key}_query`);
|
||||
collectionArray.push(`hd_${key}_toggle`);
|
||||
@@ -321,7 +322,6 @@ export class Npc {
|
||||
repeatingString = `repeating_regionaleffect_${generateRowID()}_`;
|
||||
finalSetAttrs[`${repeatingString}freetext`] = regionalEffect.trim();
|
||||
});
|
||||
finalSetAttrs.regional_effects_fade = regionalEffectsList.slice(-1)[0];
|
||||
}
|
||||
if (content.indexOf('Lair Actions') !== -1) {
|
||||
const lairActionsSplit = content.split(/Lair Actions\n/);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* global on:false */
|
||||
|
||||
import { getSetItems, getIntValue, getAbilityShortName, addArithmeticOperator, isUndefinedOrEmpty, exists, showSign, getAbilityMod } from './utilities';
|
||||
import { getSetItems, getIntValue, getAbilityShortName, addArithmeticOperator, isUndefinedOrEmpty, exists, showSign, getAbilityMod, getAbilityValue } from './utilities';
|
||||
import { ABILITIES } from './constants';
|
||||
|
||||
export class SavingThrows {
|
||||
@@ -168,29 +168,29 @@ export class SavingThrows {
|
||||
this.updateCustomSavingThrows();
|
||||
}
|
||||
updateFromSRD() {
|
||||
const collectionArray = ['pb', 'saving_throws_srd'];
|
||||
for (const ability of ABILITIES) {
|
||||
collectionArray.push(`${ability}_mod`);
|
||||
collectionArray.push(`${ability}_save_prof`);
|
||||
collectionArray.push(`${ability}_save_bonus`);
|
||||
}
|
||||
getSetItems('savingThrows.updateFromSRD', {
|
||||
collectionArray: ['saving_throws_srd'],
|
||||
collectionArray,
|
||||
callback: (v, finalSetAttrs) => {
|
||||
const savingThrowsFromSRD = v.saving_throws_srd;
|
||||
const pbVar = '@{PB}';
|
||||
for (const ability of ABILITIES) {
|
||||
const shortAbility = getAbilityShortName(ability, true);
|
||||
if (v.saving_throws_srd && v.saving_throws_srd.indexOf(shortAbility) !== -1) {
|
||||
finalSetAttrs[`${ability}_save_prof`] = '@{PB}';
|
||||
|
||||
if (savingThrowsFromSRD.indexOf('Str') !== -1) {
|
||||
finalSetAttrs.strength_save_prof = pbVar;
|
||||
}
|
||||
if (savingThrowsFromSRD.indexOf('Dex') !== -1) {
|
||||
finalSetAttrs.dexterity_save_prof = pbVar;
|
||||
}
|
||||
if (savingThrowsFromSRD.indexOf('Con') !== -1) {
|
||||
finalSetAttrs.constitution_save_prof = pbVar;
|
||||
}
|
||||
if (savingThrowsFromSRD.indexOf('Int') !== -1) {
|
||||
finalSetAttrs.intelligence_save_prof = pbVar;
|
||||
}
|
||||
if (savingThrowsFromSRD.indexOf('Wis') !== -1) {
|
||||
finalSetAttrs.wisdom_save_prof = pbVar;
|
||||
}
|
||||
if (savingThrowsFromSRD.indexOf('Cha') !== -1) {
|
||||
finalSetAttrs.charisma_save_prof = pbVar;
|
||||
const regex = new RegExp(`${shortAbility}\\s?\\+(\\d+)`, 'i');
|
||||
const match = v.saving_throws_srd.match(regex);
|
||||
if (match && match[1]) {
|
||||
const savingThrowValue = getIntValue(match[1]) - getIntValue(v.pb) - getAbilityValue(v, ability);
|
||||
if (savingThrowValue !== 0) {
|
||||
finalSetAttrs[`${ability}_save_bonus`] = savingThrowValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -8,7 +8,7 @@ export class Settings {
|
||||
collectionArray: ['roll_setting', 'roll_info', 'shaped_d20'],
|
||||
callback: (v, finalSetAttrs) => {
|
||||
finalSetAttrs.roll_info = '';
|
||||
finalSetAttrs.shaped_d20 = 'd20';
|
||||
finalSetAttrs.shaped_d20 = 'd20@{d20_mod}';
|
||||
|
||||
if (v.roll_setting === 'adv {{ignore=[[0') {
|
||||
finalSetAttrs.roll_info = '{{advantage=1}}';
|
||||
|
||||
@@ -50,6 +50,30 @@ export class Spells {
|
||||
},
|
||||
});
|
||||
}
|
||||
updateDefaultAbility() {
|
||||
getSetRepeatingItems('spells.update', {
|
||||
repeatingItems: ['repeating_spell'],
|
||||
collectionArray: ['default_ability'],
|
||||
collectionArrayAddItems: ['attack_ability', 'damage_ability', 'second_damage_ability', 'saving_throw_ability', 'heal_ability'],
|
||||
callback: (v, finalSetAttrs, ids, repeatingItem) => {
|
||||
for (const id of ids) {
|
||||
const repeatingString = `${repeatingItem}_${id}_`;
|
||||
|
||||
finalSetAttrs[`${repeatingString}attack_ability`] = v.default_ability;
|
||||
if (v[`${repeatingString}damage_ability`]) {
|
||||
finalSetAttrs[`${repeatingString}damage_ability`] = v.default_ability;
|
||||
}
|
||||
if (v[`${repeatingString}second_damage_ability`]) {
|
||||
finalSetAttrs[`${repeatingString}second_damage_ability`] = v.default_ability;
|
||||
}
|
||||
finalSetAttrs[`${repeatingString}saving_throw_ability`] = v.default_ability;
|
||||
if (v[`${repeatingString}heal_ability`]) {
|
||||
finalSetAttrs[`${repeatingString}heal_ability`] = v.default_ability;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
update(rowId) {
|
||||
const collectionArray = ['is_npc', 'pb', 'finesse_mod', 'global_spell_attack_bonus', 'global_spell_damage_bonus', 'global_spell_dc_bonus', 'global_spell_heal_bonus', 'default_ability', 'caster_level', 'base_dc'];
|
||||
for (const ability of ABILITIES) {
|
||||
@@ -439,6 +463,9 @@ export class Spells {
|
||||
this.update(repeatingInfo.rowId);
|
||||
}
|
||||
});
|
||||
on('change:default_ability', () => {
|
||||
this.updateDefaultAbility();
|
||||
});
|
||||
on('change:pb change:global_spell_attack_bonus change:global_spell_damage_bonus change:global_spell_dc_bonus change:global_spell_heal_bonus', () => {
|
||||
this.update();
|
||||
});
|
||||
|
||||
@@ -550,7 +550,6 @@ export class Upgrade {
|
||||
}
|
||||
if (this.versionCompare(currentVersion, '4.2.0') < 0) {
|
||||
character.updateD20Mod();
|
||||
settings.updateShapedD20();
|
||||
}
|
||||
if (this.versionCompare(currentVersion, '4.2.1') < 0) {
|
||||
this.actionComponentsToRemoveExtraFields();
|
||||
@@ -595,5 +594,9 @@ export class Upgrade {
|
||||
if (this.versionCompare(currentVersion, '6.0.4') < 0) {
|
||||
this.spellEffectsNaming();
|
||||
}
|
||||
if (this.versionCompare(currentVersion, '6.1.1') < 0) {
|
||||
settings.updateShapedD20();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -386,6 +386,7 @@ const updateHD = (v, finalSetAttrs, hd) => {
|
||||
for (const key in hd) {
|
||||
if (hd.hasOwnProperty(key)) {
|
||||
if (hd[key] && hd[key] !== 0) {
|
||||
finalSetAttrs[`hd_${key}`] = hd[key];
|
||||
finalSetAttrs[`hd_${key}_max`] = hd[key];
|
||||
finalSetAttrs[`hd_${key}_query`] = '?{HD';
|
||||
for (let x = 1; x <= hd[key]; x++) {
|
||||
@@ -394,6 +395,9 @@ const updateHD = (v, finalSetAttrs, hd) => {
|
||||
finalSetAttrs[`hd_${key}_query`] += '}';
|
||||
finalSetAttrs[`hd_${key}_toggle`] = 1;
|
||||
} else {
|
||||
if (!isUndefinedOrEmpty(v[`hd_${key}`])) {
|
||||
finalSetAttrs[`hd_${key}`] = 0;
|
||||
}
|
||||
if (!isUndefinedOrEmpty(v[`hd_${key}_max`])) {
|
||||
finalSetAttrs[`hd_${key}_max`] = 0;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
const currentVersion = '6.0.4';
|
||||
const currentVersion = '6.1.1';
|
||||
|
||||
export { currentVersion };
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Erfahrungspunkte",
|
||||
"EXPERTISE":"Sachverstand",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Augen",
|
||||
"FAILURES":"Fehlschläge",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"10_DAYS":"10 jours",
|
||||
"10_MINUTES":"10 minutes",
|
||||
"12_HOURS":"12 heures",
|
||||
"1ST":"1st",
|
||||
"1ST_LEVEL":"1st-level",
|
||||
"1ST":"1<sup>e<\/sup>",
|
||||
"1ST_LEVEL":"1<sup>e<\/sup> niveau",
|
||||
"1_ACTION":"1 action",
|
||||
"1_BONUS_ACTION":"1 action bonus",
|
||||
"1_HOUR":"1 heure",
|
||||
@@ -11,25 +11,25 @@
|
||||
"1_REACTION":"1 réaction",
|
||||
"1_ROUND":"1 tour",
|
||||
"24_HOURS":"24 heures",
|
||||
"2ND":"2nd",
|
||||
"2ND_LEVEL":"2nd-level",
|
||||
"2ND":"2<sup>e<\/sup>",
|
||||
"2ND_LEVEL":"2<sup>e<\/sup> niveau",
|
||||
"30_DAYS":"30 jours",
|
||||
"3RD":"3rd",
|
||||
"3RD_LEVEL":"3rd-level",
|
||||
"4TH":"4th",
|
||||
"4TH_LEVEL":"4th-level",
|
||||
"5TH":"5th",
|
||||
"5TH_LEVEL":"5th-level",
|
||||
"6TH":"6th",
|
||||
"6TH_LEVEL":"6th-level",
|
||||
"7TH":"7th",
|
||||
"7TH_LEVEL":"7th-level",
|
||||
"3RD":"3<sup>e<\/sup>",
|
||||
"3RD_LEVEL":"3<sup>e<\/sup> niveau",
|
||||
"4TH":"4<sup>e<\/sup>",
|
||||
"4TH_LEVEL":"4<sup>e<\/sup> niveau",
|
||||
"5TH":"5<sup>e<\/sup>",
|
||||
"5TH_LEVEL":"5<sup>e<\/sup> niveau",
|
||||
"6TH":"6<sup>e<\/sup>",
|
||||
"6TH_LEVEL":"6<sup>e<\/sup> niveau",
|
||||
"7TH":"7<sup>e<\/sup>",
|
||||
"7TH_LEVEL":"7<sup>e<\/sup> niveau",
|
||||
"7_DAYS":"7 jours",
|
||||
"8TH":"8th",
|
||||
"8TH_LEVEL":"8th-level",
|
||||
"8TH":"8<sup>e<\/sup>",
|
||||
"8TH_LEVEL":"8<sup>e<\/sup> niveau",
|
||||
"8_HOURS":"8 heures",
|
||||
"9TH":"9th",
|
||||
"9TH_LEVEL":"9th-level",
|
||||
"9TH":"9<sup>e<\/sup>",
|
||||
"9TH_LEVEL":"9<sup>e<\/sup> niveau",
|
||||
"ABILITY":"Caractéristique",
|
||||
"ABILITY_CHECK":"Jet de carac",
|
||||
"ABILITY_CHECKS":"Jet de carac",
|
||||
@@ -50,7 +50,7 @@
|
||||
"ALIGNMENT":"Alignement",
|
||||
"ALL":"Tout",
|
||||
"AMMO":"Mun",
|
||||
"AMMO_AUTO_USE":"Utilisation auto des mun",
|
||||
"AMMO_AUTO_USE":"Utilisation auto des munitions",
|
||||
"AMMO_WEIGHT":"Poids des mun",
|
||||
"AMPHIBIOUS":"Amphibien",
|
||||
"ANIMALHANDLING":"Dressage",
|
||||
@@ -68,7 +68,7 @@
|
||||
"ATTACK":"Attaque",
|
||||
"ATTACKS":"Attaques",
|
||||
"AUTO_REVERT_ADV":"Enlever le (dés)avantage après chaque jet",
|
||||
"AVERAGE_OF_ABILITIES":"Average of the highest 1 or 2 abilities",
|
||||
"AVERAGE_OF_ABILITIES":"Moyenne des deux carac les plus élevées.",
|
||||
"BACKGROUND":"Biographie",
|
||||
"BARBARIAN":"Barbare",
|
||||
"BARD":"Barde",
|
||||
@@ -341,7 +341,7 @@
|
||||
"CONCENTRATION_UP_TO_6_ROUNDS":"up to 6 rounds",
|
||||
"CONCENTRATION_UP_TO_8_HOURS":"up to 8 hours",
|
||||
"CONDENSE":"Condensé",
|
||||
"CONDITION_IMMUNITIES":"Immunité<br>aux conditions",
|
||||
"CONDITION_IMMUNITIES":"Immunité aux conditions",
|
||||
"CONJURATION":"Invocation",
|
||||
"CONSTITUTION":"Constitution",
|
||||
"CONTENT":"Contenu",
|
||||
@@ -349,20 +349,20 @@
|
||||
"CORE":"Base",
|
||||
"CRIT":"Crit",
|
||||
"CRIT_ATTACHER_TOOLTIP":"Sélectionner une ou plusieurs autres catégories et crit pour avoir cette attache apparaitre uniquement lors d'un jet critique dans cette (ces) catégorie(s). Cela ne fonctionnera pas avec Entrée supplémentaire.",
|
||||
"CRIT_DAMAGE_TOOLTIP":"Determine les dégâts d'un jet critique. Ne rajoute pas les dégâts de base de l'attaque.",
|
||||
"CRIT_DAMAGE_TOOLTIP":"Détermine les dégâts à rajouter en plus des dégâts de base lors d'un jet critique.",
|
||||
"CRIT_RANGE":"Coup Crit",
|
||||
"CURRENT":"Actuel",
|
||||
"CUSTOM":"Perso.",
|
||||
"CUSTOM_GOLD_VALUES":"Valeur de l'or personnalisée",
|
||||
"CUSTOM_NAME":"Nom perso",
|
||||
"DAMAGE":"Dégâts",
|
||||
"DAMAGE_IMMUNITIES":"Immunité<br>aux dégâts",
|
||||
"DAMAGE_RESISTANCES":"Résistance<br>aux dégâts",
|
||||
"DAMAGE_VULNERABILITIES":"Vulnérabilité<br>aux dégâts",
|
||||
"DAMAGE_IMMUNITIES":"Immunité aux dégâts",
|
||||
"DAMAGE_RESISTANCES":"Résistance aux dégâts",
|
||||
"DAMAGE_VULNERABILITIES":"Vulnérabilité aux dégâts",
|
||||
"DARKVISION":"Vision dans le noir",
|
||||
"DC":"DD",
|
||||
"DEATH":"Mort",
|
||||
"DEATH_SAVES":"Sauv contre la mort",
|
||||
"DEATH_SAVES":"Sauvegarde contre la mort",
|
||||
"DEATH_SAVING_THROW":"Sauv contre la mort",
|
||||
"DEATH_SAVING_THROWS":"Sauv contre la mort",
|
||||
"DECEPTION":"Tromperie",
|
||||
@@ -398,7 +398,8 @@
|
||||
"EXHAUSTION_LEVEL_6":"Mort",
|
||||
"EXPERIENCE_POINTS":"Points d'Expérience",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise en tant qu'avantage pour l'importation",
|
||||
"EXPLODE":"explosion",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Yeux",
|
||||
"FAILURES":"Échecs",
|
||||
@@ -428,19 +429,19 @@
|
||||
"HEAL_FOR":"Soigne",
|
||||
"HEAVY_ARMOR":"Armure Lourde",
|
||||
"HEIGHT":"Taille",
|
||||
"HIDE_INFO":"Hide info",
|
||||
"HIDE_INFO_ABILITY_CHECKS":"Hide ability checks",
|
||||
"HIDE_INFO_ATTACK":"Hide attack",
|
||||
"HIDE_INFO_DAMAGE":"Hide damage",
|
||||
"HIDE_INFO_EFFECT":"Hide effect",
|
||||
"HIDE_INFO_FREETEXT":"Hide freetext",
|
||||
"HIDE_INFO_NOTE":"Please see the documentation. You'll need to use a browser extension to change the css to show certain parts",
|
||||
"HIDE_INFO_RECHARGE":"Hide recharge",
|
||||
"HIDE_INFO_SAVING_THROWS":"Hide saving throws",
|
||||
"HIDE_INFO_SAVING_THROW_DC":"Hide saving throw DC",
|
||||
"HIDE_INFO_SAVING_THROW_FAILURE":"Hide saving throw failure",
|
||||
"HIDE_INFO_SAVING_THROW_SUCCESS":"Hide saving throw success",
|
||||
"HIDE_INFO_SPELL_CONTENT":"Hide spell content",
|
||||
"HIDE_INFO":"Masquer info",
|
||||
"HIDE_INFO_ABILITY_CHECKS":"Masquer jets de carac",
|
||||
"HIDE_INFO_ATTACK":"Masquer attaque",
|
||||
"HIDE_INFO_DAMAGE":"Masquer dégâts",
|
||||
"HIDE_INFO_EFFECT":"Masquer effets",
|
||||
"HIDE_INFO_FREETEXT":"Masquer teste supp.",
|
||||
"HIDE_INFO_NOTE":"Merci de vous référer à la documentation. Vous aurez besoin d'utiliser une extension de navigateur pour changer le css afin de voir certaines parties.",
|
||||
"HIDE_INFO_RECHARGE":"Masquer recharge",
|
||||
"HIDE_INFO_SAVING_THROWS":"Masquer jet de sauvegarde",
|
||||
"HIDE_INFO_SAVING_THROW_DC":"Masquer DD de sauvegarde",
|
||||
"HIDE_INFO_SAVING_THROW_FAILURE":"Masquer échec au jet de sauvegarde",
|
||||
"HIDE_INFO_SAVING_THROW_SUCCESS":"Masquer succes au jet de sauvegarde",
|
||||
"HIDE_INFO_SPELL_CONTENT":"Masquer contenu des sorts",
|
||||
"HIGHER_LEVEL":"Niveau Sup",
|
||||
"HISTORY":"Histoire",
|
||||
"HIT_DICE":"Dés de vie",
|
||||
@@ -457,7 +458,7 @@
|
||||
"IMPORT":"Importer",
|
||||
"INFLUENCE":"Influence",
|
||||
"INITIATIVE":"Initiative",
|
||||
"INITIATIVE_ABILITY":"Initiative ability",
|
||||
"INITIATIVE_ABILITY":"Carac. d'initiative",
|
||||
"INITIATIVE_BONUS":"Bonus initiative",
|
||||
"INSIGHT":"Intuition",
|
||||
"INSPIRATION":"Inspiration",
|
||||
@@ -482,7 +483,7 @@
|
||||
"LEVELS":"niveaux",
|
||||
"LIGHTNING":"foudre",
|
||||
"LIGHT_ARMOR":"Armure Légère",
|
||||
"LONG_REST":"Repos Long",
|
||||
"LONG_REST":"Rep. Long",
|
||||
"MACROS":"Macros",
|
||||
"MAX":"Max",
|
||||
"MEDICINE":"Médecine",
|
||||
@@ -490,7 +491,7 @@
|
||||
"MEDIUM_ARMOR":"Armure Intermédiaire",
|
||||
"MEDIUM_ARMOR_MAX_DEX":"Bonus dex max<br>(armure intermédaire)",
|
||||
"MELEE":"Mêlée",
|
||||
"MELEE_WEAPON":"Melee weapon (thrown)",
|
||||
"MELEE_WEAPON":"Arme de mêlée (lancer)",
|
||||
"MISC":"Autre",
|
||||
"MISCELLANEOUS":"Divers",
|
||||
"MISCELLANEOUS_NOTES":"Notes diverses",
|
||||
@@ -505,12 +506,12 @@
|
||||
"NORMAL":"Normal",
|
||||
"NPC":"PNJ",
|
||||
"ONE_CREATURE":"une créature",
|
||||
"OR":"or",
|
||||
"OR":"ou",
|
||||
"OTHER":"Autre",
|
||||
"OTHER_ARMOR":"Autre type d'Armure",
|
||||
"OTHER_PROFICIENCIES_AND_LANGUAGES":"Maîtrises & Langues",
|
||||
"OTHER_TYPE":"Other (AoE, Cone, Line)",
|
||||
"OUTPUT":"Options d'affichage",
|
||||
"OTHER_TYPE":"Autre (Zone, Cône, Ligne)",
|
||||
"OUTPUT":"Affichage",
|
||||
"PALADIN":"Paladin",
|
||||
"PASSIVE":"Passive",
|
||||
"PASSIVE_ABILITY_CHECK":"Carac passive",
|
||||
@@ -536,7 +537,7 @@
|
||||
"RADIANT":"radiant",
|
||||
"RANGE":"Portée",
|
||||
"RANGED":"Tir",
|
||||
"RANGED_WEAPON":"Ranged weapon",
|
||||
"RANGED_WEAPON":"Attaque à distance",
|
||||
"RANGER":"Rôdeur",
|
||||
"REACH":"Allonge",
|
||||
"REACTION":"Réaction",
|
||||
@@ -568,11 +569,11 @@
|
||||
"SHEET":"Affichage",
|
||||
"SHEET_OUTPUT":"Option d'affichage",
|
||||
"SHIELD":"Bouclier",
|
||||
"SHORT_REST":"Repos court",
|
||||
"SHORT_REST":"Rep. Court",
|
||||
"SHOW_ALL":"Tout voir",
|
||||
"SHOW_PASSIVE":"Voir passif",
|
||||
"SHOW_RESTS":"Voir repos",
|
||||
"SHOW_SPELL_LEVEL_IF_ALL_SLOTS_ARE_USED":"Voir niveau si tout les slots sont utilisés",
|
||||
"SHOW_SPELL_LEVEL_IF_ALL_SLOTS_ARE_USED":"Voir niveau si tout les emplacements sont utilisés",
|
||||
"SHOW_TARGET_AC_ON_ATTACKS":"CA de la cible sur les jets d'attaque",
|
||||
"SHOW_TARGET_NAME_ON_ATTACKS":"Nom de la cible sur les jets d'attaque\/sauv.",
|
||||
"SHOW_TOTALS":"Voir totaux",
|
||||
@@ -635,7 +636,7 @@
|
||||
"UNTIL_DISPELLED_OR_TRIGGERED":"jusqu'à dissipation ou déclenchement",
|
||||
"USED":"Utilisé",
|
||||
"USES":"Charges",
|
||||
"USE_CUSTOM_SAVING_THROWS":"Use custom saving throws",
|
||||
"USE_CUSTOM_SAVING_THROWS":"Jets de sauvegarde personnalisés",
|
||||
"VISION":"Vision",
|
||||
"VS":"vs",
|
||||
"VS_FIEND_OR_UNDEAD":"contre démons ou mort-vivants",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Punti esperienza",
|
||||
"EXPERTISE":"Perizia",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extra",
|
||||
"EYES":"Occhi",
|
||||
"FAILURES":"Fallimenti",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Эксперт",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Глаза",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"Experience points",
|
||||
"EXPERTISE":"Expertise",
|
||||
"EXPERTISE_AS_ADVANTAGE":"Expertise as Advantage when importing",
|
||||
"EXPLODE":"explode",
|
||||
"EXTRAS":"Extras",
|
||||
"EYES":"Eyes",
|
||||
"FAILURES":"Failures",
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
"EXPERIENCE_POINTS":"crwdns7190:0crwdne7190:0",
|
||||
"EXPERTISE":"crwdns7191:0crwdne7191:0",
|
||||
"EXPERTISE_AS_ADVANTAGE":"crwdns8216:0crwdne8216:0",
|
||||
"EXPLODE":"crwdns8459:0crwdne8459:0",
|
||||
"EXTRAS":"crwdns7192:0crwdne7192:0",
|
||||
"EYES":"crwdns7193:0crwdne7193:0",
|
||||
"FAILURES":"crwdns7194:0crwdne7194:0",
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
<td><input type="text" class="sheet-input-small" name="attr_EncumbranceBonus" title="@{EncumbranceBonus}" value="0" /></td>
|
||||
<td class="sheet-right"><button class="sheet-button" type="roll" name="attr_MinorStrengthFeat-roll" title="%{selected|MinorStrengthFeat-roll}" value="&{template:general} {{name=@{character_name}}} {{subtag=Minor Strength Feat}} {{1d6 Roll=[[1d6cs<@{MinorStrengthFeat}cf>@{MinorStrengthFeat}]] }}" > Open Doors</button></td>
|
||||
<td><input type="text" class="sheet-input-small" name="attr_MinorStrengthFeat" title="@{MinorStrengthFeat}" value="0" /></td>
|
||||
<td class="sheet-right"><button class="sheet-button" type="roll" name="attr_MajorStrengthFeat-roll" title="%{selected|MajorStrengthFeat-roll}" value="&{template:general} {{name=@{character_name}}} {{subtag=Major Strength Feat}} {{ Major STR Feat=[[1d100cs>@{MajorStrengthFeat}cf<@{MajorStrengthFeat} ]] %}}" > Bend Bars</button></td>
|
||||
<td class="sheet-right"><button class="sheet-button" type="roll" name="attr_MajorStrengthFeat-roll" title="%{selected|MajorStrengthFeat-roll}" value="&{template:general} {{name=@{character_name}}} {{subtag=Major Strength Feat}} {{ Major STR Feat=[[1d100cs<@{MajorStrengthFeat}cf>@{MajorStrengthFeat} ]] %}}" > Bend Bars</button></td>
|
||||
<td><input type="text" class="sheet-input-small" name="attr_MajorStrengthFeat" title="@{MajorStrengthFeat}" value="0" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -611,7 +611,7 @@
|
||||
<div class="sheet-footer">
|
||||
<div class="sheet-table sheet-text-small">
|
||||
<div class="sheet-table-row">
|
||||
<span class="sheet-data sheet-center">Original Author: Adam Ness | Contributions by: Vince, & Roll20 Community. | Version <i>2.28.16'</i></span>
|
||||
<span class="sheet-data sheet-center">Original Author: Adam Ness | Contributions by: Vince, & Roll20 Community. | Version <i>08.25.16'</i></span>
|
||||
</div>
|
||||
<div class="sheet-table-row">
|
||||
<span class="sheet-data sheet-center">Questions/feedback? Please use the Character Sheets forum:<input type="text" style="border:none; line-height:12px; width:256px;" value="https://app.roll20.net/forum/post/2791950/ad-and-d-1e-update-beta" /></span>
|
||||
@@ -683,8 +683,8 @@
|
||||
var TAS = TAS || (function(){
|
||||
'use strict';
|
||||
|
||||
var version = '0.2.1',
|
||||
lastUpdate = 1453794214,
|
||||
var version = '0.2.4',
|
||||
lastUpdate = 1457098091,
|
||||
|
||||
loggingSettings = {
|
||||
debug: {
|
||||
@@ -852,7 +852,7 @@ var TAS = TAS || (function(){
|
||||
|
||||
coloredLoggerFunction = function(message){
|
||||
console.log(
|
||||
'%c '+label+': %c '+message,
|
||||
'%c '+label+': %c '+message + ' ',
|
||||
'background-color: '+lBGColor+';color: '+lTxtColor+'; font-weight:bold;',
|
||||
'background-color: '+mBGColor+';color: '+mTxtColor+';'
|
||||
);
|
||||
@@ -876,9 +876,9 @@ var TAS = TAS || (function(){
|
||||
|
||||
registerCallstack = function(callstack,label){
|
||||
var idx=_.findIndex(callstackRegistry,function(o){
|
||||
return (_.difference(o.stack,callstack).length === _.difference(callstack,o.stack).length)
|
||||
&& _.difference(o.stack,callstack).length === 0
|
||||
&& o.label === label;
|
||||
return (_.difference(o.stack,callstack).length === _.difference(callstack,o.stack).length) &&
|
||||
_.difference(o.stack,callstack).length === 0 &&
|
||||
o.label === label;
|
||||
});
|
||||
if(-1 === idx){
|
||||
idx=callstackRegistry.length;
|
||||
@@ -940,7 +940,7 @@ var TAS = TAS || (function(){
|
||||
},
|
||||
|
||||
|
||||
wrapCallback = function (label, callback,context){
|
||||
wrapCallback = function (label, callback, context){
|
||||
var callstack;
|
||||
if('function' === typeof label){
|
||||
context=callback;
|
||||
@@ -960,12 +960,15 @@ var TAS = TAS || (function(){
|
||||
|
||||
return (function(cb,ctx,cs,lbl){
|
||||
var ctxref=registerCallstack(cs,lbl);
|
||||
|
||||
/*jshint -W054 */
|
||||
return new Function('cb','ctx','TASlog',
|
||||
"return function TAS_CALLSTACK_"+ctxref+"(){"+
|
||||
"TASlog('Entering: '+(cb.name||'(anonymous function)'));"+
|
||||
"cb.apply(ctx||{},arguments);"+
|
||||
"TASlog('Exiting: '+(cb.name||'(anonymous function)'));"+
|
||||
"};")(cb,ctx,log);
|
||||
/*jshint +W054 */
|
||||
}(callback,context,callstack,label));
|
||||
},
|
||||
|
||||
@@ -1036,8 +1039,10 @@ var TAS = TAS || (function(){
|
||||
Object.defineProperty(obj, pname, {
|
||||
enumerable: true,
|
||||
set: function(v){
|
||||
pvalue=v;
|
||||
prepareUpdate(full_pname,v);
|
||||
if(v!==pvalue) {
|
||||
pvalue=v;
|
||||
prepareUpdate(full_pname,v);
|
||||
}
|
||||
},
|
||||
get: function(){
|
||||
return pvalue;
|
||||
@@ -1049,8 +1054,10 @@ var TAS = TAS || (function(){
|
||||
enumerable: true,
|
||||
set: function(v){
|
||||
var val=v.toString();
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
if(val !== pvalue) {
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
}
|
||||
},
|
||||
get: function(){
|
||||
return pvalue.toString();
|
||||
@@ -1062,8 +1069,10 @@ var TAS = TAS || (function(){
|
||||
enumerable: true,
|
||||
set: function(v){
|
||||
var val=parseInt(v,10) || 0;
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
if(val !== pvalue){
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
}
|
||||
},
|
||||
get: function(){
|
||||
return parseInt(pvalue,10) || 0;
|
||||
@@ -1075,8 +1084,10 @@ var TAS = TAS || (function(){
|
||||
enumerable: true,
|
||||
set: function(v){
|
||||
var val=parseFloat(v) || 0;
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
if(val !== pvalue) {
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
}
|
||||
},
|
||||
get: function(){
|
||||
return parseFloat(pvalue) || 0;
|
||||
@@ -1087,8 +1098,10 @@ var TAS = TAS || (function(){
|
||||
enumerable: true,
|
||||
set: function(v){
|
||||
var val=(parseFloat(v) || 0).toFixed(d);
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
if(val !== pvalue){
|
||||
pvalue=val;
|
||||
prepareUpdate(full_pname,val);
|
||||
}
|
||||
},
|
||||
get: function(){
|
||||
return (parseFloat(pvalue) || 0).toFixed(d);
|
||||
@@ -1276,7 +1289,7 @@ var TAS = TAS || (function(){
|
||||
.reduce(function(m,r){
|
||||
return m + (r.F[field]);
|
||||
},0,function(t,r,a){
|
||||
a[destination]=t;
|
||||
a.S[destination]=t;
|
||||
})
|
||||
.execute();
|
||||
};
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
<td><input type="number" name="attr_INT" /></td>
|
||||
<td>Idea</td>
|
||||
<td><input type="number" name="attr_Idea" value="[[5*@{INT}]]" disabled="true" /></td>
|
||||
<td><button type="roll" value="/roll 1d100<@{Idea})" /></td>
|
||||
<td><button type="roll" name="roll_Idea" value="/roll 1d100<@{Idea})" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CON</td>
|
||||
@@ -113,7 +113,7 @@
|
||||
<td><input type="number" name="attr_POW" /></td>
|
||||
<td>Luck</td>
|
||||
<td><input type="number" name="attr_Luck" value="[[5*@{POW}]]" disabled="true" /></td>
|
||||
<td><button type="roll" value="/roll 1d100<@{Luck})" /></td>
|
||||
<td><button type="roll" name="roll_Luck" value="/roll 1d100<@{Luck})" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SIZ</td>
|
||||
@@ -124,7 +124,7 @@
|
||||
<td><input type="number" name="attr_EDU" /></td>
|
||||
<td>Know</td>
|
||||
<td><input type="number" name="attr_Know" value="[[5*@{EDU}]]" disabled="true" /></td>
|
||||
<td><button type="roll" value="/roll 1d100<@{Know})" /></td>
|
||||
<td><button type="roll" name="roll_Knowledge" value="/roll 1d100<@{Know})" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -146,6 +146,10 @@
|
||||
<button type="roll" value="/roll 1d100<@{Sanity}"></button>
|
||||
</h3>
|
||||
<table style="width: 100%; font-size: 10px;">
|
||||
<tr>
|
||||
<td>Stable Sanity</td>
|
||||
<td><input type="number" name="attr_stableSanity" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Insanity</strong></td>
|
||||
</tr>
|
||||
@@ -272,6 +276,10 @@
|
||||
<div class='sheet-col'>
|
||||
<h3 style="text-align: center; color: #FFF; background-color: #000;">Magic Points</h3>
|
||||
<table style="width: 100%; font-size: 10px;">
|
||||
<tr>
|
||||
<td>Stable Magic Points</td>
|
||||
<td><input type="number" name="attr_stableMP" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Unconscious</strong></td>
|
||||
</tr>
|
||||
@@ -336,6 +344,10 @@
|
||||
<div class='sheet-col'>
|
||||
<h3 style="text-align: center; color: #FFF; background-color: #000;">Hit Points</h3>
|
||||
<table style="width: 100%; font-size: 10px;">
|
||||
<tr>
|
||||
<td>Stable Hit Points</td>
|
||||
<td><input type="number" name="attr_stableHP" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Dead</strong></td>
|
||||
<td style="text-align: right;">Unconscious</td>
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Open+Sans');
|
||||
|
||||
body {
|
||||
line-height: 3.0em;
|
||||
font-family:"Open Sans",Verdana,sans-serif;
|
||||
}
|
||||
|
||||
.charsheet label {
|
||||
display: inline-block;
|
||||
width: 75px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.charsheet input {
|
||||
display: inline-block;
|
||||
width: 55px;
|
||||
}
|
||||
input.input_short {
|
||||
display: inline-block;
|
||||
width: 55px;
|
||||
}
|
||||
label{font-weight:strong;}
|
||||
.sheet-col strong.sheet-dee {
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
.full-width{width:100%;clear:both;}
|
||||
.half-width{width:49%;float:left;}
|
||||
.third-width{width:32%; float:left;}
|
||||
|
||||
.sheet-row{border-top:1px solid black; border-bottom:1px solid black;}
|
||||
|
||||
.charsheet input.sheet-short {
|
||||
width: 3.5em;
|
||||
}
|
||||
|
||||
.charsheet {
|
||||
background-image: url("http://freeseamlesstextures.com/images/28-faded-parchment-background-sml.jpg");
|
||||
}
|
||||
|
||||
.charsheet table td, .charsheet table th {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
select.sheet-dtype {
|
||||
width: 60px;
|
||||
vertical-align: top;
|
||||
}
|
||||
h1 {
|
||||
font-size: 1.8em;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-weight: 500;
|
||||
line-height: 2.0em;
|
||||
}
|
||||
h2{font-size:1.6em; font-weight:500; line-height:2.0em;}
|
||||
h3 {
|
||||
font-size: 1.4em;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-weight: 500;
|
||||
line-height: 2.0em;
|
||||
}
|
||||
p {
|
||||
|
||||
font-size: 1.0em;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-weight: 400;
|
||||
line-height: 1.8em;
|
||||
}
|
||||
label{font-weight:500; font-size:1.25em;}
|
||||
blockquote {
|
||||
font-family: "Open Sans";
|
||||
font-size: 17px;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-weight: 400;
|
||||
line-height: 23px;
|
||||
}
|
||||
pre {
|
||||
font-family: "Open Sans";
|
||||
font-size: 11px;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-weight: 400;
|
||||
line-height: 23px;
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
<head>
|
||||
<link rel="stylesheet" href="FASATrek.css" type="text/css">
|
||||
</head>
|
||||
|
||||
<div class="sheet-row full-width">
|
||||
<h1>FASA Trek Character Data Record 1.0</h1>
|
||||
<div class="third-width">
|
||||
|
||||
<label>Name:</label><input type="text" name="attr_character_name" />
|
||||
<label>Rank:</label><input type="text" name="attr_rank" />
|
||||
<br/><label>Species:</label><input type="text" name="attr_species" />
|
||||
<label>Gender:</label><input type="text" name="attr_character_gender" class="input_short" />
|
||||
<label>Age:</label><input type="number" name="attr_character_age" class="input_short" />
|
||||
|
||||
</div>
|
||||
|
||||
<div class="third-width">
|
||||
|
||||
<label>Organization:</label><input type="text" name="attr_character_org" />
|
||||
<label>Division:</label><input type="text" name="attr_character_div" />
|
||||
<label>Posting(Ship):</label><input type="text" name="attr_character_ship" />
|
||||
<label>Position:</label><input type="text" name="attr_character_position" />
|
||||
|
||||
</div>
|
||||
<div class="third-width">
|
||||
logo or image goes here
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
<div class="sheet-row full-width">
|
||||
<h3>Attributes and Tactical Skills</h3>
|
||||
<div class="half-width">
|
||||
<label for="attr_strength">STR:</label><input type="number" name='attr_strength' class='input_short'>
|
||||
<label for="attr_endurance">END:</label><input type="number" name='attr_endurance' class='input_short'>
|
||||
<label for="attr_intelligence">INT:</label><input type="number" name='attr_intelligence' class='input_short' value="80">
|
||||
<label for="attr_dexterity">DEX:</label><input type="number" name='attr_dexterity' class='input_short'>
|
||||
<label for="attr_charisma">CHA:</label><input type="number" name='attr_charisma' class='input_short'>
|
||||
<label for="attr_luck">LUC:</label><input type="number" name='attr_luck' class='input_short'>
|
||||
<label for="attr_psionic">PSI:</label><input type="number" name='attr_psionic' class='input_short'>
|
||||
<br/>
|
||||
<label for="attr_MaxOpEnd">Max Op End:</label><input type="number" name='attr_MaxOpEnd' class='input_short'>
|
||||
<label for="attr_CurOpEnd">Cur Op End:</label><input type="number" name='attr_CurOpEnd' class='input_short'>
|
||||
<label>Inact Save:</label><input type="number" class='input_short' value=20>
|
||||
<label>Unc Thresh:</label><input type="number" class='input_short' value=5>
|
||||
<br/>
|
||||
<label>Wound Rate:</label><input type="number" class='input_short' value="floor(@{attr_endurance}/20)" disabled="true">
|
||||
<label>Fatig Rate:</label><input type="number" class='input_short' value="floor(@{attr_endurance}/10)" disabled="true">
|
||||
<label>Bare-Hand Damage: </label><input type="text" class='input_short' value="1d10+3">
|
||||
<label><b>AP</b>: </label><input type="number" class='input_short' value="(floor(@{attr_dexterity}/10)+4)" disabled="true">
|
||||
</div>
|
||||
<div class="sheet-col half-width">
|
||||
<table class="full-width">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Away Team</th>
|
||||
<th> </th>
|
||||
<th>Starship Ops</th>
|
||||
<th> </th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Mark. Mod: </td>
|
||||
<td><input type="number" name="attr_MrksMod" class="input_short" value="round((@{attr_dexterity}+@{attr_MrksMod})/2)" disabled="true" /></td>
|
||||
<td>Helm Ops</td>
|
||||
<td><input type="number" name="attr_SSHelmOps" class="input_short" value="round((@{attr_intelligence}+@{attr_SSHelmOps})/2)" disabled="true" /></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sheet-row full-width">
|
||||
|
||||
<h3 class="full-wdith">Skills</h3>
|
||||
<div class="third-width">
|
||||
<h3>Away Team Skills</h3>
|
||||
<label>Env. Suit Ops: </label><input type="number" name="attr_EnvSuit" class="input_short" value="25" /><br/>
|
||||
<label>Marks. Archaic: </label><input type="number" name="attr_MrksArc1" class="input_short" value="25" /><br/>
|
||||
<label>Marks. Mod: </label><input type="number" name="attr_MrksMod" class="input_short" value="25" /><br/>
|
||||
<label>Pers. Combat Armed: </label><input type="number" name="attr_PCArmed" class="input_short" value="25" /><br/>
|
||||
<label>Pers. Combat Unarmed: </label><input type="number" name="attr_PCUnarmed" class="input_short" value="25" /><br/>
|
||||
<label>Security Procedures: </label><input type="number" name="attr_SecProcedures" class="input_short" value="25" /><br/>
|
||||
<label>Sm Equipment Ops: </label><input type="number" name="attr_SmEquipOps" class="input_short" value="25" /><br/>
|
||||
</div>
|
||||
<div class="third-width">
|
||||
<h3>Starship Skills</h3>
|
||||
<label>Combat Strategy/Tactics: </label><input type="number" name="attr_SSComTactics" class="input_short" value="65" /><br/>
|
||||
<label>Comm System Ops: </label><input type="number" name="attr_SSShieldOps" class="input_short" value="65" /><br/>
|
||||
<label>Comm System Tech: </label><input type="number" name="attr_SSShieldTech" class="input_short" value="65" /><br/>
|
||||
<label>Computer Ops: </label><input type="number" name="attr_SSCompOps" class="input_short" value="65" /><br/>
|
||||
<label>Computer Tech: </label><input type="number" name="attr_SSCompTech" class="input_short" value="65" /><br/>
|
||||
<label>DamCon Procedures: </label><input type="number" name="attr_SSDamCon" class="input_short" value="65" /><br/>
|
||||
<label>Helm Ops: </label><input type="number" name="attr_SSHelmOps" class="input_short" value="65" /><br/>
|
||||
<label>Sensors: </label><input type="number" name="attr_SSSensors" class="input_short" value="65" /><br/>
|
||||
<label>Shield Ops: </label><input type="number" name="attr_SSShieldOps" class="input_short" value="65" /><br/>
|
||||
<label>Shield Tech: </label><input type="number" name="attr_SSShieldTech" class="input_short" value="65" /><br/>
|
||||
<label>Shuttle Pilot: </label><input type="number" name="attr_SSShuttlePilot" class="input_short" value="65" /><br/>
|
||||
<label>Shuttle Tech: </label><input type="number" name="attr_SSShuttleTech" class="input_short" value="65" /><br/>
|
||||
<label>Transporter Ops: </label><input type="number" name="attr_SSTransOps" class="input_short" value="65" /><br/>
|
||||
<label>Transporter Tech: </label><input type="number" name="attr_SSTransTech" class="input_short" value="65" /><br/>
|
||||
<label>Weapon Ops: </label><input type="number" name="attr_SSWeaponOps" class="input_short" value="65" /><br/>
|
||||
<label>Weapon Tech: </label><input type="number" name="attr_SSWeaponTech" class="input_short" value="65" /><br/>
|
||||
|
||||
</div>
|
||||
<div class="third-width">
|
||||
<h3>Other Skills</h3>
|
||||
<label>Administration: </label><input type="number" name="attr_Admin" class="input_short" /><br/>
|
||||
<label>Carousing: </label><input type="number" name="attr_Carousing" class="input_short" /><br/>
|
||||
<label>Electronics Technology: </label><input type="number" name="attr_ElecTech" class="input_short" /><br/>
|
||||
<label>Electronics Technology: </label><input type="number" name="attr_ElecTech" class="input_short" /><br/>
|
||||
<label>Instruction: </label><input type="number" name="attr_Instruction" class="input_short" /><br/>
|
||||
<label>Leadership: </label><input type="number" name="attr_Leadership" class="input_short" /><br/>
|
||||
<label>Life Sup. Sys. Technology: </label><input type="number" name="attr_LifeTech" class="input_short" /><br/>
|
||||
<label>Mechanical Engineering: </label><input type="number" name="attr_MechEng" class="input_short" /><br/>
|
||||
<label>General Medicine: </label><input type="number" name="attr_GenMedicine" class="input_short" /><br/>
|
||||
<label>Negotiation/Diplomacy: </label><input type="number" name="attr_NegDip" class="input_short" /><br/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"html": "FASATrek.html",
|
||||
"css": "FASATrek.css",
|
||||
"authors": "Russ and Tanya F.",
|
||||
"roll20userid": "1655707",
|
||||
"preview": "FASATrek.png",
|
||||
"instructions": "**FASA Star Trek**\n\nThis sheet is meant to support but also update the character sheet for FASA's Star Trek RPG (Yes, from the 1980's).\n\nThe sheet will make sense to those playing the game, however some skills have been grouped in new 'buckets' to facilitate gameplay - such as Away Team Skills and Shipboard Skills."
|
||||
}
|
||||
@@ -1,27 +1,27 @@
|
||||
.charsheet{
|
||||
background-color: #ffffff;
|
||||
background-image: url("http://i.imgur.com/LuER4iT.png");
|
||||
}
|
||||
|
||||
table td{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
label {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h4 {
|
||||
text-align: center;
|
||||
}
|
||||
.charsheet{
|
||||
background-color: #ffffff;
|
||||
background-image: url("http://i.imgur.com/LuER4iT.png");
|
||||
}
|
||||
|
||||
table td{
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
label {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h4 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,713 @@
|
||||
<div class="sheet-hex">
|
||||
<script type="text/worker">
|
||||
//Set encumbrance based on strength
|
||||
on("change:strength", function () {
|
||||
getAttrs(["strength"], function (values) {
|
||||
switch (values.strength) {
|
||||
case "1":
|
||||
setAttrs({ enclight: 10, encmedium: 25, encheavy: 50 });
|
||||
break;
|
||||
case "2":
|
||||
setAttrs({ enclight: 25, encmedium: 50, encheavy: 100 });
|
||||
break;
|
||||
case "3":
|
||||
setAttrs({ enclight: 50, encmedium: 100, encheavy: 250 });
|
||||
break;
|
||||
case "4":
|
||||
setAttrs({ enclight: 100, encmedium: 250, encheavy: 500 });
|
||||
break;
|
||||
case "5":
|
||||
setAttrs({ enclight: 250, encmedium: 500, encheavy: 750 });
|
||||
break;
|
||||
case "6":
|
||||
setAttrs({ enclight: 500, encmedium: 750, encheavy: 1000 });
|
||||
break;
|
||||
default:
|
||||
setAttrs({ enclight: 0, encmedium: 0, encheavy: 0 });
|
||||
break;
|
||||
} //end switch
|
||||
}); //end getAttrs
|
||||
}); //end on("change:strength")
|
||||
|
||||
//Calculate averages for weapons and skills and enter in HEX n+ notation style
|
||||
on("change:repeating_skills:skillrating", function (e) {
|
||||
getAttrs(["repeating_skills_skillrating"], function (values) {
|
||||
var n = "(" + Math.floor(values.repeating_skills_skillrating / 2).toString();
|
||||
n += (values.repeating_skills_skillrating % 2 > 0) ? "+)" : ")";
|
||||
setAttrs({ repeating_skills_skillaverage: n });
|
||||
});
|
||||
});
|
||||
on("change:repeating_weapons:weaponattack", function (e) {
|
||||
getAttrs(["repeating_weapons_weaponattack"], function (values) {
|
||||
var n = "(" + Math.floor(values.repeating_weapons_weaponattack / 2).toString();
|
||||
n += (values.repeating_weapons_weaponattack % 2 > 0) ? "+)" : ")";
|
||||
setAttrs({ repeating_weapons_weaponaverage: n });
|
||||
});
|
||||
});
|
||||
|
||||
//Inventory weight tallying
|
||||
on("change:repeating_equipment:equipweight remove:repeating_equipment", function (e) {
|
||||
getSectionIDs("repeating_equipment", function (idarr) {
|
||||
var totalWeight = 0;
|
||||
var weightTally = _.after(idarr.length, function () {
|
||||
setAttrs({ invweight: Math.round(totalWeight) });
|
||||
});
|
||||
for (var i = 0; i < idarr.length; i++) {
|
||||
getAttrs(["repeating_equipment_" + idarr[i] + "_equipweight"], function (v) {
|
||||
totalWeight += parseFloat(v[Object.keys(v)[0]]);
|
||||
weightTally();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
//Sync wound tracker to health by assigning health to the pip just changed
|
||||
on("change:h12 change:h11 change:h10 change:h9 change:h8 change:h7 change:h6 change:h5 change:h4 change:h3 change:h2 change:h1 change:h0 change:hn1 change:hn2 change:hn3 change:hn4 change:hn5 change:hn6 change:hn7 change:hn8 change:hn9 change:hn10 change:hn11",
|
||||
function (e) {
|
||||
function endsWith(str, suffix) {
|
||||
return str.indexOf(suffix, str.length - suffix.length) !== -1;
|
||||
}
|
||||
var lowestHealth;
|
||||
getAttrs(["h12", "h11", "h10", "h9", "h8", "h7", "h6", "h5", "h4", "h3", "h2", "h1", "h0", "hn1", "hn2", "hn3", "hn4", "hn5", "hn6", "hn7", "hn8", "hn9", "hn10", "hn11"], function (values) {
|
||||
var type = "";
|
||||
for (var i = 12; i >= -11; i--) {
|
||||
//Negative health on the wound tracker prefixed hn (health negative)
|
||||
if (i < 0) {
|
||||
type = "hn" + (i.toString().substr(1));
|
||||
}
|
||||
else {
|
||||
type = "h" + (i.toString());
|
||||
}
|
||||
if (values[type] !== undefined) {
|
||||
if (endsWith(values[type], "L")) {
|
||||
lowestHealth = values[type].substring(values[type], values[type].length - 1);
|
||||
}
|
||||
else if (endsWith(values[type], "NL")) {
|
||||
lowestHealth = values[type].substring(values[type], values[type].length - 3);
|
||||
}
|
||||
//Do nothing if slot ends in "H" indicating healed slot.
|
||||
}
|
||||
}
|
||||
getAttrs(["health_max"], function (values) {
|
||||
if (lowestHealth == undefined) {
|
||||
//Reset health to max because there's no damage showing
|
||||
setAttrs({ health: parseInt(values.health_max) });
|
||||
}
|
||||
else {
|
||||
//Assign lowest health pip value to health
|
||||
lowestHealth = parseInt(lowestHealth);
|
||||
if (lowestHealth <= parseInt(values.health_max)) {
|
||||
setAttrs({ health: lowestHealth });
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
</script>
|
||||
<div class="sheet-2colrow sheet-main-row">
|
||||
<!-- Left column -->
|
||||
<div class="sheet-col sheet-primary">
|
||||
<div class="sheet-logo-row">
|
||||
<div class="sheet-archetype">
|
||||
<input class="sheet-free-input" name="attr_archetype" type="text" />
|
||||
<span>Archétype</span>
|
||||
<input class="sheet-free-input" name="attr_motivation" type="text" />
|
||||
<span>Motivation</span>
|
||||
</div>
|
||||
<div class="sheet-img-logo">
|
||||
<img class="sheet-hexlogo" src="http://www.tripleacegames.com/wp-content/themes/tripleacegames/images/leagues-of-adventure-logo.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-stats">
|
||||
<h1 class="sheet-first-heading">Attributs primaires</h1>
|
||||
<div class="sheet-2colrow">
|
||||
<div class="sheet-col sheet-collapse-margin">
|
||||
<label class="sheet-attr-input-label sheet-attr-body">
|
||||
Corps
|
||||
<input class="sheet-attr-input-text body" name="attr_body" type="text" title="Resistance check" />
|
||||
<button type="roll" class="sheet-roll-button" name="roll_bodyroll" value="&{template:default} {{name=Body}} {{Successes=[[(@{body}*2+@{mods})d2>2]]}} {{Average=[[((@{body}*2+@{mods})%2)d2>2+[[floor((@{body}*2+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label sheet-attr-dexterity">
|
||||
Dextérité
|
||||
<input class="sheet-attr-input-text dexterity" name="attr_dexterity" type="text" title="Balance check" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Dexterity}} {{Successes=[[(@{dexterity}*2+@{mods})d2>2]]}} {{Average=[[((@{dexterity}*2+@{mods})%2)d2>2+[[floor((@{dexterity}*2+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label sheet-attr-strength">
|
||||
Force
|
||||
<input class="sheet-attr-input-text strength" name="attr_strength" type="text" title="Feats of strength check" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Strength}} {{Successes=[[(@{strength}*2+@{mods})d2>2]]}} {{Average=[[((@{strength}*2+@{mods})%2)d2>2+[[floor((@{strength}*2+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</label>
|
||||
</div>
|
||||
<div class="sheet-col sheet-collapse-margin">
|
||||
<label class="sheet-attr-input-label sheet-right-attr">
|
||||
Charisme
|
||||
<input class="sheet-attr-input-text charisma" name="attr_charisma" type="text" title="Influence check" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Charisma}} {{Successes=[[(@{charisma}*2+@{mods})d2>2]]}} {{Average=[[((@{charisma}*2+@{mods})%2)d2>2+[[floor((@{charisma}*2+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label sheet-right-attr">
|
||||
Intelligence
|
||||
<input class="sheet-attr-input-text intelligence" name="attr_intelligence" type="text" title="Reason check" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Intelligence}} {{Successes=[[(@{intelligence}*2+@{mods})d2>2]]}} {{Average=[[((@{intelligence}*2+@{mods})%2)d2>2+[[floor((@{intelligence}*2+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label sheet-right-attr">
|
||||
Volonté
|
||||
<input class="sheet-attr-input-text willpower" name="attr_willpower" type="text" title="Courage check" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Willpower}} {{Successes=[[(@{willpower}*2+@{mods})d2>2]]}} {{Average=[[((@{willpower}*2+@{mods})%2)d2>2+[[floor((@{willpower}*2+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Secondary Attributes -->
|
||||
<h1 class="sheet-top-separator">Attributs secondaires</h1>
|
||||
<div class="sheet-2colrow">
|
||||
<div class="sheet-col sheet-collapse-margin">
|
||||
<label class="sheet-attr-input-label">
|
||||
Taille
|
||||
<input class="sheet-attr-input-text" name="attr_size" type="text" value="0" />
|
||||
<span class="sheet-button-spacer"></span>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label">
|
||||
Déplacement
|
||||
<input class="sheet-attr-input-text" name="attr_move" type="text" title="Move = Strength + Dexterity" />
|
||||
<span class="sheet-button-spacer"></span>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label">
|
||||
Perception
|
||||
<input class="sheet-attr-input-text perception" name="attr_perception" type="text" title="Perception = Intelligence + Willpower" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Perception}} {{Successes=[[(@{perception}+@{mods})d2>2]]}} {{Average=[[((@{perception}+@{mods})%2)d2>2+[[floor((@{perception}+@{mods})/2)]]]]}} {{Modifier=@{mods}}}"></button>
|
||||
</label>
|
||||
</div>
|
||||
<div class="sheet-col sheet-collapse-margin">
|
||||
<label class="sheet-attr-input-label sheet-right-attr">
|
||||
Initiative
|
||||
<input class="sheet-attr-input-text initiative" name="attr_initiative" type="text" title="Initiative = Dexterity + Intelligence" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Initiative}} {{Regular=[[@{initiative}d2>2 &{tracker}]]}} {{Continuous=[[10-@{initiative}d2>2]]}} "></button>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label sheet-right-attr">
|
||||
Défense
|
||||
<input class="sheet-attr-input-text defense" name="attr_defense" type="text" title="Defense = Passive+Active-Size, Passive = Body, Active = Dexterity" />
|
||||
<button type="roll" class="sheet-roll-button" value="&{template:default} {{name=Defense}} {{Success=[[(@{defense}+@{mods})d2>2]]}} {{Average=[[((@{defense}+@{mods})%2)d2>2+[[floor((@{defense}+@{mods})/2)]]]]}} {{Modifier=@{mods}}}"></button>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label sheet-right-attr">
|
||||
Étourdissement
|
||||
<input class="sheet-attr-input-text" name="attr_stun" type="text" title="Stun = Body" />
|
||||
<span class="sheet-button-spacer"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Skills -->
|
||||
<div class="sheet-top-separator sheet-heading-with-columns">
|
||||
<h1>Compétences</h1>
|
||||
<div class="sheet-column-headings">
|
||||
<div class="sheet-skill-name"></div>
|
||||
<div class="sheet-skill-base">Base</div>
|
||||
<div class="sheet-skill-levels">Dégrés</div>
|
||||
<div class="sheet-skill-rating">Niveau</div>
|
||||
<div class="sheet-skill-avg">(Moy.)</div>
|
||||
<div class="sheet-skill-roll"></div>
|
||||
</div>
|
||||
<fieldset class="repeating_skills">
|
||||
<div class="sheet-skill-name">
|
||||
<input type="text" name="attr_skillname" class="sheet-free-input skillname" />
|
||||
</div>
|
||||
<div class="sheet-skill-base">
|
||||
<input type="text" name="attr_skillbase" class="sheet-free-input" />
|
||||
</div>
|
||||
<div class="sheet-skill-levels">
|
||||
<input type="text" name="attr_skilllevel" class="sheet-free-input" />
|
||||
</div>
|
||||
<div class="sheet-skill-rating">
|
||||
<input type="text" name="attr_skillrating" class="sheet-free-input skillrating" />
|
||||
</div>
|
||||
<div class="sheet-skill-avg">
|
||||
<input type="text" name="attr_skillaverage" class="sheet-free-input skillsaverage" readonly="readonly" />
|
||||
</div>
|
||||
<div class="sheet-skill-roll">
|
||||
<button type="roll" value="&{template:default} {{name=@{skillname}}} {{Successes=[[(@{skillrating}+@{mods})d2>2]]}} {{Average=[[((@{skillrating}+@{mods})%2)d2>2+[[floor((@{skillrating}+@{mods})/2)]]]]}} {{Modifier=@{mods}}} "></button>
|
||||
</div>
|
||||
</fieldset>
|
||||
<p class="sheet-footnote">* compétence spéciale</p>
|
||||
</div>
|
||||
<!-- Weapons -->
|
||||
<div class="sheet-top-separator sheet-bottom-separator sheet-heading-with-columns sheet-weapons">
|
||||
<h1>Armes</h1>
|
||||
<fieldset class="repeating_weapons">
|
||||
<div class="sheet-weapon-row-1">
|
||||
<div class="sheet-weapon-name">
|
||||
<input type="text" name="attr_weaponname" class="sheet-free-input weaponname" />
|
||||
</div>
|
||||
<div class="sheet-weapon-dmg">
|
||||
<input type="text" name="attr_weapondmg" class="sheet-free-input weapondmg" />
|
||||
<span>Dmg</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-mod">
|
||||
<input type="text" name="attr_weaponmod" class="sheet-free-input weaponmod" />
|
||||
<span>Mod</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-attack">
|
||||
<input type="text" name="attr_weaponattack" class="sheet-free-input weaponattack" />
|
||||
<span>Attaque</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-avg">
|
||||
<input type="text" name="attr_weaponaverage" class="sheet-free-input weaponaverage" readonly="readonly" />
|
||||
<span>(Moy.)</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-roll">
|
||||
<button type="roll" value="&{template:default} {{name=@{weaponname}}} {{Successes=[[(@{weaponattack}+@{mods})d2>2]]}} {{Average=[[((@{weaponattack}+@{mods})%2)d2>2+[[floor((@{weaponattack}+@{mods})/2)]]]]}} {{Modifier=@{mods}}}"></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-weapon-row-2">
|
||||
<input type="checkbox" name="attr_moredetails" class="sheet-weapon-isranged" />
|
||||
<span class="sheet-ranged-weapon">Plus de détails</span>
|
||||
<div class="sheet-ranged-stats">
|
||||
<div class="sheet-weapon-notes">
|
||||
<input type="text" name="attr_weaponnotes" class="sheet-free-input" />
|
||||
<span>Notes</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-speed">
|
||||
<input type="text" name="attr_weaponspeed" class="sheet-free-input" />
|
||||
<span>Vit.</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-range">
|
||||
<input type="text" name="attr_weaponrange" class="sheet-free-input" />
|
||||
<span>Por.</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-capacity">
|
||||
<input type="text" name="attr_weaponcapacity" class="sheet-free-input" />
|
||||
<span>Cap.</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-ammo">
|
||||
<input type="text" name="attr_weaponammo" class="sheet-free-input" />
|
||||
<span>Mun.</span>
|
||||
</div>
|
||||
<div class="sheet-weapon-rate">
|
||||
<input type="text" name="attr_weaponrate" class="sheet-free-input" />
|
||||
<span>Taux.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<!-- Talents -->
|
||||
<h1 class="sheet-top-separator">Talents</h1>
|
||||
<fieldset class="repeating_talents">
|
||||
<textarea type="text" name="attr_talent"></textarea>
|
||||
</fieldset>
|
||||
|
||||
<h1 class="sheet-top-separator">Ressources</h1>
|
||||
<fieldset class="repeating_resources">
|
||||
<textarea type="text" name="attr_resource"></textarea>
|
||||
</fieldset>
|
||||
|
||||
<h1 class="sheet-top-separator">Défauts</h1>
|
||||
<fieldset class="repeating_flaws">
|
||||
<textarea type="text" name="attr_flaw"></textarea>
|
||||
</fieldset>
|
||||
|
||||
<!-- Languages, Money, Encumbrance -->
|
||||
<div class="sheet-2colrow sheet-top-separator">
|
||||
<div class="sheet-col sheet-languages-money">
|
||||
<h1>Langues</h1>
|
||||
<textarea type="text" class="sheet-languages" name="attr_languages"></textarea>
|
||||
<h1>Argent</h1>
|
||||
<textarea type="text" class="sheet-money" name="attr_money"></textarea>
|
||||
</div>
|
||||
<div class="sheet-col sheet-encumbrance">
|
||||
<h1>Encombrement</h1>
|
||||
<label class="sheet-attr-input-label">
|
||||
<span class="sheet-field">Léger</span>
|
||||
<input class="sheet-wider-input-text" name="attr_enclight" type="text" readonly="readonly" />
|
||||
<span class="sheet-subtext">livres</span>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label">
|
||||
<span class="sheet-field">Moyen</span>
|
||||
<input class="sheet-wider-input-text" type="text" name="attr_encmedium" readonly="readonly" title="-1 Dexterity and Move" />
|
||||
<span class="sheet-subtext">livres</span>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label">
|
||||
<span class="sheet-field">Lourd</span>
|
||||
<input class="sheet-wider-input-text" type="text" name="attr_encheavy" readonly="readonly" title="-2 Dexterity and Move" />
|
||||
<span class="sheet-subtext">livres</span>
|
||||
</label>
|
||||
<label class="sheet-attr-input-label">
|
||||
<span class="sheet-field">Total porté</span>
|
||||
<input class="sheet-wider-input-text invweight" type="text" name="attr_invweight" readonly="readonly" />
|
||||
<span class="sheet-subtext">livres</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Equipment -->
|
||||
<div class="sheet-top-separator sheet-heading-with-columns">
|
||||
<h1>Équipement</h1>
|
||||
<div class="sheet-column-headings">
|
||||
<div class="sheet-equip-item"> </div>
|
||||
<div class="sheet-equip-num">#</div>
|
||||
<div class="sheet-equip-weight">Poids</div>
|
||||
</div>
|
||||
<fieldset class="repeating_equipment">
|
||||
<div class="sheet-equip-item">
|
||||
<input type="text" name="attr_equipitem" class="sheet-free-input" />
|
||||
</div>
|
||||
<div class="sheet-equip-num">
|
||||
<input type="text" name="attr_equipnum" class="sheet-free-input" />
|
||||
</div>
|
||||
<div class="sheet-equip-weight">
|
||||
<input type="text" name="attr_equipweight" class="sheet-free-input equipweight" />
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Right column -->
|
||||
<div class="sheet-col sheet-sidebar">
|
||||
<label class="sheet-side-input-label">
|
||||
<span class="sheet-side-heading">Style</span>
|
||||
<input type="number" step="1" min="0" name="attr_style" class="sheet-style-input-number" />
|
||||
</label>
|
||||
<label class="sheet-side-input-label sheet-no-bottom-border">
|
||||
<span class="sheet-side-heading">
|
||||
Santé
|
||||
<span class="sheet-subtext">Actuel</span>
|
||||
</span>
|
||||
<input type="text" name="attr_health" class="sheet-wider-input-text" title="Health = Body + Willpower + Size" />
|
||||
</label>
|
||||
<div class="sheet-health-meter sheet-no-bottom-border">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">Blessures</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h12" value="12L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h12" value="12NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h12" value="12H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h11" value="11L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h11" value="11NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h11" value="11H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>10</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h10" value="10L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h10" value="10NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h10" value="10H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>9</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h9" value="9L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h9" value="9NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h9" value="9H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h8" value="8L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h8" value="8NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h8" value="8H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>7</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h7" value="7L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h7" value="7NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h7" value="7H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h6" value="6L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h6" value="6NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h6" value="6H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h5" value="5L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h5" value="5NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h5" value="5H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h4" value="4L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h4" value="4NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h4" value="4H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h3" value="3L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h3" value="3NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h3" value="3H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h2" value="2L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h2" value="2NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h2" value="2H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h1" value="1L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h1" value="1NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h1" value="1H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_h0" value="0L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_h0" value="0NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_h0" value="0H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-1</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn1" value="-1L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn1" value="-1NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn1" value="-1H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-2</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn2" value="-2L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn2" value="-2NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn2" value="-2H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-3</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn3" value="-3L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn3" value="-3NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn3" value="-3H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-4</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn4" value="-4L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn4" value="-4NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn4" value="-4H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-5</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn5" value="-5L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn5" value="-5NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn5" value="-5H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-6</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn6" value="-6L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn6" value="-6NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn6" value="-6H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-7</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn7" value="-7L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn7" value="-7NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn7" value="-7H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-8</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn8" value="-8L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn8" value="-8NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn8" value="-8H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-9</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn9" value="-9L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn9" value="-9NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn9" value="-9H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-10</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn10" value="-10L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn10" value="-10NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn10" value="-10H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-11</td>
|
||||
<td>
|
||||
<div class="sheet-pip-circle">
|
||||
<input type="radio" class="sheet-pip-circle sheet-healthy-pip" name="attr_hn11" value="-11L" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-l-pip" name="attr_hn11" value="-11NL" />
|
||||
<input type="radio" class="sheet-pip-circle sheet-nl-pip" name="attr_hn11" value="-11H" />
|
||||
<span class="sheet-pip-circle sheet-nl-pip">✊</span>
|
||||
<span class="sheet-pip-circle sheet-l-pip">🔫</span>
|
||||
<span class="sheet-pip-circle sheet-healthy-pip"></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<label class="sheet-side-input-label">
|
||||
<span class="sheet-side-heading">
|
||||
<span class="sheet-subtext">Maximum</span>
|
||||
</span>
|
||||
<input type="text" name="attr_health_max" class="sheet-wider-input-text" title="Health = Body + Willpower + Size" />
|
||||
</label>
|
||||
<label class="sheet-side-input-label">
|
||||
XP<br />
|
||||
<input type="text" name="attr_xp" class="sheet-wider-input-text" />
|
||||
</label>
|
||||
<label class="sheet-side-input-label">
|
||||
<span class="sheet-side-heading">Modificateur</span>
|
||||
<span class="sheet-side-heading">Prompt</span>
|
||||
<input type="checkbox" name="attr_mods" value="?{Dice Pool Modifier|0}" /> On
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,327 @@
|
||||
.sheet-hex {
|
||||
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', 'Arial', 'sans-serif';
|
||||
max-width: 640px;
|
||||
min-width: 480px;
|
||||
width: 100%; }
|
||||
.sheet-hex button[type="roll"] {
|
||||
border: 1px solid darkgrey;
|
||||
border-radius: 0;
|
||||
display: inline-block;
|
||||
font-size: 0.7rem;
|
||||
width: 100%; }
|
||||
.sheet-hex button[type="roll"].sheet-roll-button {
|
||||
width: 1.6rem; }
|
||||
.sheet-hex h1 {
|
||||
background-color: #808080;
|
||||
border-top-left-radius: 0.25rem;
|
||||
color: #fff;
|
||||
font-size: 1rem;
|
||||
line-height: 1.4rem;
|
||||
padding: 0 0 0.1rem 0.5rem; }
|
||||
.sheet-hex h1.sheet-first-heading {
|
||||
border-top-left-radius: 3rem;
|
||||
float: right;
|
||||
text-align: center;
|
||||
width: 50%; }
|
||||
.sheet-hex input[type="text"], .sheet-hex input[type="number"] {
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
color: #4c4c4c;
|
||||
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; }
|
||||
.sheet-hex input[type="text"].sheet-free-input, .sheet-hex input[type="text"].sheet-skill-input, .sheet-hex input[type="number"].sheet-free-input, .sheet-hex input[type="number"].sheet-skill-input {
|
||||
border: none;
|
||||
border-bottom: 1px solid lightblue;
|
||||
font-size: 0.9rem;
|
||||
margin: 0.2rem 0 0 0;
|
||||
width: 100%; }
|
||||
.sheet-hex input[type="text"].sheet-free-input.small, .sheet-hex input[type="text"].small.sheet-skill-input, .sheet-hex input[type="number"].sheet-free-input.small, .sheet-hex input[type="number"].small.sheet-skill-input {
|
||||
font-size: 0.7rem; }
|
||||
.sheet-hex input[type="text"].sheet-free-input + span, .sheet-hex input[type="text"].sheet-skill-input + span, .sheet-hex input[type="number"].sheet-free-input + span, .sheet-hex input[type="number"].sheet-skill-input + span {
|
||||
color: grey;
|
||||
font-size: 0.7rem;
|
||||
font-style: italic;
|
||||
margin: 0 0 0 0.4rem; }
|
||||
.sheet-hex input[type="text"].sheet-skill-input, .sheet-hex input[type="number"].sheet-skill-input {
|
||||
display: inline; }
|
||||
.sheet-hex input[type="text"].sheet-box-input, .sheet-hex input[type="number"].sheet-box-input {
|
||||
width: 100%; }
|
||||
.sheet-hex input[type="text"].sheet-style-input-number, .sheet-hex input[type="number"].sheet-style-input-number {
|
||||
width: 3rem; }
|
||||
.sheet-hex textarea {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
border-bottom: 1px solid lightblue;
|
||||
box-shadow: none;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
font-size: 0.9rem;
|
||||
height: 2.8rem;
|
||||
max-width: 100%;
|
||||
min-width: 100%;
|
||||
width: 100%; }
|
||||
.sheet-hex .repcontainer {
|
||||
margin: 0 0 0.5rem 0; }
|
||||
.sheet-hex .repcontrol button.btn.repcontrol_add, .sheet-hex .repcontrol button.btn.repcontrol_edit {
|
||||
border: 1px solid darkgrey;
|
||||
border-radius: 0;
|
||||
font-size: 0.7rem;
|
||||
padding: 0.2rem 0.6rem; }
|
||||
.sheet-hex .sheet-main-row {
|
||||
position: relative;
|
||||
top: -1.5rem; }
|
||||
.sheet-hex .sheet-logo-row .sheet-img-logo {
|
||||
min-height: 200px;
|
||||
width: 45%; }
|
||||
.sheet-hex .sheet-logo-row .sheet-img-logo .sheet-hexlogo {
|
||||
width: 100%; }
|
||||
.sheet-hex .sheet-logo-row .sheet-archetype {
|
||||
display: block;
|
||||
float: right;
|
||||
padding: 1rem 0.3rem 0 0;
|
||||
width: 32%; }
|
||||
.sheet-hex .sheet-logo-row .sheet-archetype .sheet-free-input, .sheet-hex .sheet-logo-row .sheet-archetype input[type="text"].sheet-skill-input, .sheet-hex .sheet-logo-row .sheet-archetype input[type="number"].sheet-skill-input {
|
||||
padding: 0.1rem 0.2rem;
|
||||
margin: 0; }
|
||||
.sheet-hex .sheet-logo-row .sheet-archetype .sheet-free-input + span, .sheet-hex .sheet-logo-row .sheet-archetype input[type="text"].sheet-skill-input + span, .sheet-hex .sheet-logo-row .sheet-archetype input[type="number"].sheet-skill-input + span {
|
||||
display: block;
|
||||
line-height: 0.9rem;
|
||||
padding: 0 0.4rem 0 0;
|
||||
text-align: right; }
|
||||
.sheet-hex .sheet-stats {
|
||||
position: relative;
|
||||
top: -6.5rem; }
|
||||
.sheet-hex .sheet-2colrow {
|
||||
font-size: 0; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-primary {
|
||||
margin: 0 20px 0 0;
|
||||
width: 85%; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-sidebar {
|
||||
margin: 0.7rem 0 0 0;
|
||||
width: 10%; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-collapse-margin {
|
||||
margin-right: 0;
|
||||
width: 50%; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-encumbrance {
|
||||
float: right;
|
||||
width: 36%; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-encumbrance .sheet-field {
|
||||
display: inline-block;
|
||||
line-height: 0.9rem;
|
||||
margin: 0 0.2rem 0 0;
|
||||
vertical-align: middle;
|
||||
width: 48%; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-languages-money {
|
||||
margin-right: 1rem;
|
||||
width: 59%; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-languages-money textarea {
|
||||
border-top: none;
|
||||
height: 4.6rem; }
|
||||
.sheet-hex .sheet-2colrow .sheet-col.sheet-languages-money textarea.sheet-money {
|
||||
height: 3rem; }
|
||||
.sheet-hex .sheet-attr-input-label, .sheet-hex .sheet-side-input-label {
|
||||
border-bottom: 1px solid lightblue;
|
||||
font-size: 0.9rem;
|
||||
font-weight: normal;
|
||||
margin: 0.3rem 0 0.3rem 0;
|
||||
padding: 0 0 0.3rem 0;
|
||||
text-align: right; }
|
||||
.sheet-hex .sheet-attr-input-label .sheet-button-spacer, .sheet-hex .sheet-side-input-label .sheet-button-spacer,
|
||||
.sheet-hex .sheet-attr-input-label button[type="roll"].sheet-roll-button, .sheet-hex .sheet-side-input-label button[type="roll"].sheet-roll-button {
|
||||
margin-right: 2rem; }
|
||||
.sheet-hex .sheet-attr-input-label.sheet-attr-body, .sheet-hex .sheet-attr-body.sheet-side-input-label {
|
||||
float: right;
|
||||
width: 78%; }
|
||||
.sheet-hex .sheet-attr-input-label.sheet-attr-dexterity, .sheet-hex .sheet-attr-dexterity.sheet-side-input-label {
|
||||
float: right;
|
||||
margin: 0 0 0.3rem 0;
|
||||
width: 93%; }
|
||||
.sheet-hex .sheet-attr-input-label.sheet-attr-strength, .sheet-hex .sheet-attr-strength.sheet-side-input-label {
|
||||
float: right;
|
||||
margin: 0 0 0.3rem 0;
|
||||
width: 100%; }
|
||||
.sheet-hex .sheet-attr-input-label.sheet-right-attr .sheet-button-spacer, .sheet-hex .sheet-right-attr.sheet-side-input-label .sheet-button-spacer,
|
||||
.sheet-hex .sheet-attr-input-label.sheet-right-attr button[type="roll"].sheet-roll-button, .sheet-hex .sheet-right-attr.sheet-side-input-label button[type="roll"].sheet-roll-button {
|
||||
margin-right: 20%; }
|
||||
.sheet-hex .sheet-side-input-label {
|
||||
padding: 0 0 0.5rem 0;
|
||||
text-align: left; }
|
||||
.sheet-hex .sheet-side-input-label .sheet-side-heading {
|
||||
display: block;
|
||||
font-size: 0.9rem; }
|
||||
.sheet-hex .sheet-side-input-label .sheet-side-heading:nth-child(2) {
|
||||
margin: 0 0 0.5rem 0; }
|
||||
.sheet-hex .sheet-side-input-label .sheet-side-heading .sheet-subtext {
|
||||
display: block;
|
||||
margin: 0.4rem 0 0 0; }
|
||||
.sheet-hex .sheet-footnote {
|
||||
color: grey;
|
||||
font-size: 0.7rem;
|
||||
font-style: italic; }
|
||||
.sheet-hex .sheet-paren {
|
||||
font-weight: normal; }
|
||||
.sheet-hex .sheet-attr-input-text {
|
||||
width: 2rem; }
|
||||
.sheet-hex .sheet-wider-input-text {
|
||||
width: 3rem; }
|
||||
.sheet-hex .sheet-sub-label {
|
||||
font-size: 0.6rem; }
|
||||
.sheet-hex .sheet-heading-with-columns {
|
||||
position: relative; }
|
||||
.sheet-hex .sheet-heading-with-columns .sheet-column-headings {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 0.1rem;
|
||||
width: 100%; }
|
||||
.sheet-hex .sheet-heading-with-columns .sheet-column-headings div {
|
||||
color: #fff;
|
||||
font-size: 0.7rem;
|
||||
font-weight: normal; }
|
||||
.sheet-hex .sheet-heading-with-columns .sheet-column-headings div.sheet-skill-name, .sheet-hex .sheet-heading-with-columns .sheet-column-headings div.sheet-skill-base, .sheet-hex .sheet-heading-with-columns .sheet-column-headings div.sheet-skill-levels, .sheet-hex .sheet-heading-with-columns .sheet-column-headings div.sheet-skill-rating, .sheet-hex .sheet-heading-with-columns .sheet-column-headings div.sheet-skill-avg, .sheet-hex .sheet-heading-with-columns .sheet-column-headings div.sheet-skill-roll {
|
||||
display: inline-block;
|
||||
text-align: left; }
|
||||
.sheet-hex .sheet-skill-name, .sheet-hex .sheet-skill-base,
|
||||
.sheet-hex .sheet-skill-levels,
|
||||
.sheet-hex .sheet-skill-rating,
|
||||
.sheet-hex .sheet-skill-avg, .sheet-hex .sheet-skill-roll,
|
||||
.sheet-hex .sheet-weapon-roll, .sheet-hex .sheet-weapon-name, .sheet-hex .sheet-weapon-dmg,
|
||||
.sheet-hex .sheet-weapon-attack,
|
||||
.sheet-hex .sheet-weapon-range,
|
||||
.sheet-hex .sheet-weapon-capacity, .sheet-hex .sheet-weapon-ammo,
|
||||
.sheet-hex .sheet-weapon-avg, .sheet-hex .sheet-weapon-mod,
|
||||
.sheet-hex .sheet-weapon-rate,
|
||||
.sheet-hex .sheet-weapon-speed, .sheet-hex .sheet-weapon-notes {
|
||||
display: table-cell;
|
||||
text-align: left;
|
||||
padding: 0 0.1rem; }
|
||||
.sheet-hex .sheet-skill-name {
|
||||
width: 50%; }
|
||||
.sheet-hex .sheet-skill-base,
|
||||
.sheet-hex .sheet-skill-levels,
|
||||
.sheet-hex .sheet-skill-rating,
|
||||
.sheet-hex .sheet-skill-avg {
|
||||
width: 10%; }
|
||||
.sheet-hex .sheet-skill-roll,
|
||||
.sheet-hex .sheet-weapon-roll {
|
||||
width: 8%; }
|
||||
.sheet-hex .sheet-weapons .sheet-weapon-row-1 {
|
||||
display: block; }
|
||||
.sheet-hex .sheet-weapons .sheet-weapon-row-2 {
|
||||
border-bottom: 1px dashed darkgrey;
|
||||
display: block;
|
||||
margin: 0 0 0.5rem 0;
|
||||
padding: 0 0 0.5rem 0;
|
||||
position: relative; }
|
||||
.sheet-hex .sheet-weapon-isranged {
|
||||
position: absolute;
|
||||
top: -1rem;
|
||||
left: 0.6rem; }
|
||||
.sheet-hex .sheet-weapon-isranged + span {
|
||||
color: grey;
|
||||
font-size: 0.7rem;
|
||||
font-style: italic;
|
||||
position: absolute;
|
||||
left: 1.6rem;
|
||||
top: -1.1rem; }
|
||||
.sheet-hex .sheet-weapon-isranged ~ .sheet-ranged-stats {
|
||||
display: none; }
|
||||
.sheet-hex .sheet-weapon-isranged:checked ~ .sheet-ranged-stats {
|
||||
display: block; }
|
||||
.sheet-hex .sheet-ranged-stats {
|
||||
width: 100%; }
|
||||
.sheet-hex .sheet-weapon-name {
|
||||
width: 50%; }
|
||||
.sheet-hex .sheet-weapon-dmg,
|
||||
.sheet-hex .sheet-weapon-attack,
|
||||
.sheet-hex .sheet-weapon-range,
|
||||
.sheet-hex .sheet-weapon-capacity {
|
||||
width: 12%; }
|
||||
.sheet-hex .sheet-weapon-ammo,
|
||||
.sheet-hex .sheet-weapon-avg {
|
||||
width: 10%; }
|
||||
.sheet-hex .sheet-weapon-mod,
|
||||
.sheet-hex .sheet-weapon-rate,
|
||||
.sheet-hex .sheet-weapon-speed {
|
||||
width: 8%; }
|
||||
.sheet-hex .sheet-weapon-notes {
|
||||
width: 42%; }
|
||||
.sheet-hex .sheet-equip-item {
|
||||
display: inline-block;
|
||||
padding: 0 0.1rem;
|
||||
width: 70%; }
|
||||
.sheet-hex .sheet-equip-num {
|
||||
display: inline-block;
|
||||
padding: 0 0.1rem;
|
||||
width: 10%; }
|
||||
.sheet-hex .sheet-equip-weight {
|
||||
display: inline-block;
|
||||
padding: 0 0.1rem;
|
||||
width: 17%; }
|
||||
.sheet-hex .sheet-bottom-separator {
|
||||
margin-bottom: 1rem; }
|
||||
.sheet-hex .sheet-left-separator {
|
||||
margin-left: 1rem; }
|
||||
.sheet-hex .sheet-top-separator {
|
||||
margin-top: 1rem; }
|
||||
.sheet-hex .sheet-button-spacer {
|
||||
display: inline-block;
|
||||
width: 28px; }
|
||||
.sheet-hex .sheet-subtext {
|
||||
font-size: 0.7rem; }
|
||||
.sheet-hex .sheet-health-meter {
|
||||
border-bottom: 1px solid lightblue;
|
||||
padding: 0 0 0.5rem 0; }
|
||||
.sheet-hex .sheet-health-meter th {
|
||||
font-size: 0.7rem;
|
||||
font-weight: normal;
|
||||
padding: 0.5rem 0 0.2rem 0;
|
||||
text-align: left;
|
||||
width: 25%; }
|
||||
.sheet-hex .sheet-health-meter td {
|
||||
font-size: 1rem;
|
||||
text-align: right; }
|
||||
.sheet-hex .sheet-health-meter td:first-child {
|
||||
padding: 0.1rem 0.4rem 0.1rem 0;
|
||||
width: 33%; }
|
||||
.sheet-hex .sheet-health-meter p {
|
||||
border-bottom: 1px solid grey;
|
||||
font-size: 0.7rem;
|
||||
margin: 0.4rem 0 0 0.4rem;
|
||||
padding: 0 0 0.3rem 0; }
|
||||
.sheet-hex .sheet-health-meter p span.sheet-large-icon {
|
||||
font-size: 1rem; }
|
||||
.sheet-hex .sheet-health-meter div.sheet-pip-circle {
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 10px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: relative; }
|
||||
.sheet-hex .sheet-health-meter input.sheet-pip-circle {
|
||||
height: 18px;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
width: 18px;
|
||||
z-index: 1; }
|
||||
.sheet-hex .sheet-health-meter input.sheet-pip-circle.sheet-healthy-pip {
|
||||
z-index: 2; }
|
||||
.sheet-hex .sheet-health-meter span.sheet-pip-circle {
|
||||
margin: 0;
|
||||
display: none; }
|
||||
.sheet-hex .sheet-health-meter input.sheet-healthy-pip:checked + input.sheet-l-pip,
|
||||
.sheet-hex .sheet-health-meter input.sheet-l-pip:checked + input.sheet-nl-pip {
|
||||
z-index: 3; }
|
||||
.sheet-hex .sheet-health-meter input.sheet-healthy-pip:checked ~ span.sheet-l-pip,
|
||||
.sheet-hex .sheet-health-meter input.sheet-l-pip:checked ~ span.sheet-nl-pip,
|
||||
.sheet-hex .sheet-health-meter input.sheet-nl-pip:checked ~ span.sheet-healthy-pip {
|
||||
display: inline-block; }
|
||||
.sheet-hex .sheet-health-meter .sheet-nl-pip, .sheet-hex .sheet-health-meter .sheet-l-pip {
|
||||
left: -12px; }
|
||||
.sheet-hex .sheet-no-bottom-border {
|
||||
border-bottom: none;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0; }
|
||||
.sheet-hex .sheet-no-bottom-border .sheet-side-heading {
|
||||
margin: 0; }
|
||||
|
||||
|
After Width: | Height: | Size: 198 KiB |
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"html": "LoA-fr.html",
|
||||
"css": "LoA.css",
|
||||
"authors": "Pierre Schaeffer (original from Carl Tsui)",
|
||||
"roll20userid": "1685345",
|
||||
"preview": "LoaSheetPreview.png",
|
||||
"instructions": "Character sheet for Triple Ace Game's *Leagues of Adventure*.\r\rThis sheet is a translated and slightly modified version of Carl Tsui's (@ctsui) Hollow Earth expedition sheet\r\rThanks to Triple Ace Games for providing the official LoA logo for this sheet.\r\r### Usage\rFill in the text inputs with scores and play!\rHover over text inputs for some hints. Auto-calc fields are kept to a minimal since Talents can change how scores are derived.\r### Wound Tracker\r* Click on a pip to cycle between lethal (pistol), non-lethal (fist), and healthy (empty).\r* Mark damage such that the bottom-most filled pip indicates your current health.\r<u>Example</u>: Commander Dobson with Health 4 gets slugged for 2 points of non-lethal damage. Toggle the pip next to 3 and 2 to each show a fist. His current health is now 2.\r\r### Modifier Prompts\rThe sheet will present a dialog to ask for roll modifiers for every roll if modifier prompts are turned on. This may be convenient for players, but GMs may wish to leave this off."
|
||||
}
|
||||
@@ -255,6 +255,16 @@ label.sheet-attr {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.sheet-col label.sheet-influencetaglines{
|
||||
max-width: 100%;
|
||||
margin: 0;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 5px;
|
||||
padding-left: 7px;
|
||||
font-size: 0.9em;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* all the playbook selection wizardry */
|
||||
.sheet-beacon,
|
||||
|
||||
@@ -128,15 +128,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="sheet-attr-box">
|
||||
<button type='roll' align="center" value='&{template:aw} {{name=@{character_name}}} {{roll_name=Conditions}} {{roll_mod=[[@{afraid} + @{angry} + @{guilty} + @{insecure} + @{hopeless}]]}} {{result=[[2d6 + [[{[[{[[[[@{afraid} + @{angry} + @{guilty} + @{insecure} + @{hopeless}]] + ?{Situational bonus/penalty?|0}]],-3}dl1]],4}kl1]][Modifier]]]}}' name='roll_conditions' ></button>
|
||||
<label class="sheet-nameconditions">Conditions:</label>
|
||||
<input type="number" name="attr_conditiontotal" value='{{result=[[@{afraid} + @{angry} + @{guilty} + @{insecure} + @{hopeless}]]}}' disabled/>
|
||||
<div class="sheet-roll-box sheet-cf">
|
||||
<label class="sheet-taglines">(take a powerful blow)</label>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="sheet-attr-box">
|
||||
<button type='roll' value='&{template:aw} {{name=@{character_name}}} {{roll_name=something}} {{roll_mod=0}} {{result=[[2d6 + [[{[[{[[?{Situational bonus/penalty?|0}]],-3}dl1]],4}kl1]][Modifier]]]}}' name='roll_basic' ></button>
|
||||
<label class="sheet-name">Flat 2d6</label>
|
||||
@@ -223,6 +214,16 @@
|
||||
<div class="sheet-col odd">
|
||||
<!-- conditions -->
|
||||
<div class="sheet-conditions sheet-section-title-conditions"></div>
|
||||
<div class="sheet-attr-box">
|
||||
<button type='roll' align="center" value='&{template:aw} {{name=@{character_name}}} {{roll_name=Conditions}} {{roll_mod=[[@{afraid} + @{angry} + @{guilty} + @{insecure} + @{hopeless}]]}} {{result=[[2d6 + [[{[[{[[[[@{afraid} + @{angry} + @{guilty} + @{insecure} + @{hopeless}]] + ?{Situational bonus/penalty?|0}]],-3}dl1]],4}kl1]][Modifier]]]}}' name='roll_conditions' ></button>
|
||||
<label class="sheet-nameconditions">Conditions:</label>
|
||||
<input type="number" name="attr_conditiontotal" value='{{result=[[@{afraid} + @{angry} + @{guilty} + @{insecure} + @{hopeless}]]}}' disabled/>
|
||||
<div class="sheet-roll-box sheet-cf">
|
||||
<label class="sheet-taglines">(take a powerful blow)</label>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<br>
|
||||
<div class="sheet-attr-box">
|
||||
<div class="sheet-roll-box sheet-cf">
|
||||
<input type="checkbox" value="1" name="attr_afraid"/><label class="sheet-conditionname">Afraid</label><br>
|
||||
@@ -405,10 +406,10 @@
|
||||
</div>
|
||||
<!-- influence tracker -->
|
||||
<div class="sheet-influence sheet-section-title-influence"></div>
|
||||
<label class="sheet-influencetaglines">(add 1 to all rolls that target these people)</label><br>
|
||||
<fieldset class="repeating_influence">
|
||||
<input type="text" name="attr_influence" style="font-size: 1em" placeholder="(their name)" autocomplete="off">
|
||||
<input type="text" name="attr_influence" style="font-size: 1em; font-weight: bold" placeholder="(their name)" autocomplete="off">
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -422,15 +423,15 @@
|
||||
<tr>
|
||||
{{#rollTotal() result 16}}
|
||||
<td class="result success">{{result}}</td>
|
||||
<td>YEAH!</td>
|
||||
<td>KAPOW!</td>
|
||||
{{/rollTotal() result 16}}
|
||||
{{#rollTotal() result 15}}
|
||||
<td class="result success">{{result}}</td>
|
||||
<td>YEAH!</td>
|
||||
<td>KAPOW!</td>
|
||||
{{/rollTotal() result 15}}
|
||||
{{#rollTotal() result 14}}
|
||||
<td class="result success">{{result}}</td>
|
||||
<td>YEAH!</td>
|
||||
<td>KAPOW!</td>
|
||||
{{/rollTotal() result 14}}
|
||||
{{#rollTotal() result 13}}
|
||||
<td class="result success">{{result}}</td>
|
||||
@@ -478,7 +479,7 @@
|
||||
{{/rollTotal() result 3}}
|
||||
{{#rollTotal() result 2}}
|
||||
<td class="result failure">{{result}}</td>
|
||||
<td>Miss</td>
|
||||
<td>oh dear</td>
|
||||
{{/rollTotal() result 2}}
|
||||
{{#rollTotal() result 1}}
|
||||
<td class="result failure">{{result}}</td>
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
"authors": "Uriah Brown (PanoramicPanda), David Lee (camperdave), Corin Stratton (cwstra)",
|
||||
"roll20userid": "2858, 53782, 349526",
|
||||
"preview": "ptu.png",
|
||||
"instructions": "Pokemon Tabletop United\r Trainer/Pokemon Sheet\r Attack Buttons\r The Physical Attack button will roll damage and add the Combat Value of ATK to the roll. The Special Attack button does the same but for SPATK. \r\r To save time, try enabling the macro bar in your settings, and then dragging down roll buttons to the macro bar.\r\r For help in creating your pokemon, visit the forums \r [http://http://s4.zetaboards.com/Pokemon_Tabletop/forum/3848682/] \r or use my tools \r [http://ptu.panda-games.net] \r #Useful Attributes# \r\r HitPoints, HitPoints_max"
|
||||
"instructions": "Pokemon Tabletop United\r Trainer/Pokemon Sheet\r Attack Buttons\r The Physical Attack button will roll damage and add the Combat Value of ATK to the roll. The Special Attack button does the same but for SPATK. \r\r To save time, try enabling the macro bar in your settings, and then dragging down roll buttons to the macro bar. Alternatively, these macros might be helpful: [https://docs.google.com/document/d/1t35l_ky6oI3J4cslLQ5r96vSVdvx7am1qgqgf0auejc/edit?usp=sharing] \r\r For help in creating your pokemon, visit the forums \r [http://s4.zetaboards.com/Pokemon_Tabletop/forum/3848682/] \r or use my tools \r [http://ptu.panda-games.net] \r #Useful Attributes# \r\r HitPoints, HitPoints_max"
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 158 KiB |
@@ -11,4 +11,9 @@ Fixed display of Species/Career/Specialization to look more crisp.
|
||||
4.0.4.3 Updates;
|
||||
Fixed spelling mistakes
|
||||
Code cleanup
|
||||
Changed display of Old Vehicle Tabs
|
||||
Changed display of Old Vehicle Tabs
|
||||
|
||||
6.3.0 Updates
|
||||
NPC Sheet
|
||||
Skill Suggestion Engine
|
||||
Collapsible sections
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"html": "FFG-SWRPG-CharacterSheet.html",
|
||||
"css": "FFG-SWRPG-CharacterSheet.css",
|
||||
"authors": "GM Knowledge Rhino",
|
||||
"roll20userid": "472728",
|
||||
"authors": "Tim P.",
|
||||
"roll20userid": "1190923",
|
||||
"preview": "Character Sheet Preview.png",
|
||||
"instructions": "This character sheet utilizes the FFG-SWRPG-Dice-Roller.js to perform many of the rolls of the sheet, please make sure this is loaded. For information about the sheet and instructions how to load the script please visit the wiki page at https://wiki.roll20.net/SWRPG-API-Compatible . Version 4.0.4.6 adds version history display to the header of the sheet."
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
# Twilight 2000 V2.2
|
||||
|
||||
Basic Twlight 2000 Character sheet. Only put the skill level in the skill fields and not the total asset. For the weapons enter the
|
||||
total asset for the weapon. For melee weapons select the damage bonus on the dropdown based on the type of weapon.
|
||||
|
||||
# Twilight 2000 V2.2
|
||||
|
||||
Basic Twlight 2000 Character sheet. Only put the skill level in the skill fields and not the total asset. For the weapons enter the
|
||||
total asset for the weapon. For melee weapons select the damage bonus on the dropdown based on the type of weapon.
|
||||
|
||||
* A future update may be done to add a configuration switch for Dark Conspiracy.
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"html": "Twilight2000.html",
|
||||
"css": "Twilight2000.css",
|
||||
"authors": "Walt Shumate",
|
||||
"roll20userid": "720651",
|
||||
"preview": "Twilight2000.png",
|
||||
"instructions": "Character Sheet for Twilight2000 v2.2. There is an burst caculator which works works how many dice to roll"
|
||||
{
|
||||
"html": "Twilight2000.html",
|
||||
"css": "Twilight2000.css",
|
||||
"authors": "Walt Shumate",
|
||||
"roll20userid": "720651",
|
||||
"preview": "Twilight2000.png",
|
||||
"instructions": "Character Sheet for Twilight2000 v2.2. There is an burst caculator which works works how many dice to roll"
|
||||
}
|
||||
@@ -0,0 +1,984 @@
|
||||
body{
|
||||
line-height: 14px !important;
|
||||
}
|
||||
.sheet-addon{
|
||||
width: 75%;
|
||||
margin: 0px 12.5%;
|
||||
background-color: #fee9e9;
|
||||
}
|
||||
.sheet-buttonlabel{
|
||||
width: 85px;
|
||||
margin-left: 12px;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-header{
|
||||
margin-top: 24px;
|
||||
}
|
||||
input[type=text]{
|
||||
display: inline-block;
|
||||
border: 0px;
|
||||
border-bottom: 1px solid #000;
|
||||
background: transparent;
|
||||
}
|
||||
input[type=number]{
|
||||
display: inline-block;
|
||||
border: 0px;
|
||||
border-bottom: 1px solid #000;
|
||||
background: transparent;
|
||||
width: 3.5em !important;
|
||||
}
|
||||
.sheet-paper{
|
||||
background-color: #eaf2f5;
|
||||
box-shadow: 2px 2px 3px #eee;
|
||||
z-index: -2;
|
||||
}
|
||||
.sheet-bioq{
|
||||
display: inline-block;
|
||||
margin-left: 2%;
|
||||
}
|
||||
.sheet-biol{
|
||||
display: inline-block;
|
||||
width: 86%;
|
||||
}
|
||||
.sheet-biom{
|
||||
display: inline-block;
|
||||
width: 70%;
|
||||
}
|
||||
.sheet-bios{
|
||||
display: inline-block;
|
||||
width: 12%;
|
||||
}
|
||||
.sheet-biot{
|
||||
background: transparent;
|
||||
width: 94% !important;
|
||||
height: 60px !important;
|
||||
margin-left: 2%;
|
||||
border: 0px;
|
||||
border-bottom: 1px solid #000;
|
||||
resize: none;
|
||||
}
|
||||
.sheet-h1{
|
||||
font-size: 24px;
|
||||
font-family: Impact, Charcoal, sans-serif;
|
||||
}
|
||||
.sheet-h3{
|
||||
font-size: 14px;
|
||||
font-family: Impact, Charcoal, sans-serif;
|
||||
}
|
||||
.sheet-inputs{
|
||||
border-bottom: 2px solid black !important;
|
||||
}
|
||||
.sheet-sticky{
|
||||
width: 18%;
|
||||
margin-left: 1.6%;
|
||||
background-color: #f7f4a7;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-blurb{
|
||||
background: transparent;
|
||||
width: 93% !important;
|
||||
height: 60px !important;
|
||||
margin-left: 1%;
|
||||
border: 0px;
|
||||
resize: none;
|
||||
}
|
||||
.sheet-relatlab{
|
||||
margin-left: 2%;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-percentages{
|
||||
margin-left: 110px;
|
||||
}
|
||||
.sheet-percent{
|
||||
display: inline-block;
|
||||
margin: 0px 15px;
|
||||
}
|
||||
.sheet-stressname{
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
width: 110px;
|
||||
}
|
||||
.sheet-stressopp{
|
||||
text-align: center;
|
||||
}
|
||||
.sheet-upbeat{
|
||||
position: relative;
|
||||
left: 15px;
|
||||
width: 1px;
|
||||
}
|
||||
.sheet-downbeat{
|
||||
text-align: right !important;
|
||||
position: relative;
|
||||
right: 45px;
|
||||
margin-right: -20px;
|
||||
}
|
||||
.sheet-half{
|
||||
width: calc(50% - 2px);
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-swf{
|
||||
margin: -8px;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
}
|
||||
.sheet-fails{
|
||||
position: relative;
|
||||
right: 20px;
|
||||
border-right: 1px solid black;
|
||||
}
|
||||
.sheet-failbox{
|
||||
opacity: 0;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
position: relative;
|
||||
top: 0px;
|
||||
left: 14px;
|
||||
margin: -10px;
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
}
|
||||
.sheet-failbox + span::before{
|
||||
margin-right: -10px;
|
||||
border: solid 1px #121212;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
background: #eaf2f5;
|
||||
|
||||
color: black;
|
||||
content: "✕";
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
font-size: 1.15em;
|
||||
|
||||
-moz-border-radius: 10%;
|
||||
-webkit-border-radius: 10%;
|
||||
border-radius: 10%;
|
||||
}
|
||||
.sheet-failbox:checked ~ .sheet-failbox + span::before{
|
||||
content: "";
|
||||
}
|
||||
.sheet-failbox0 + span::before{
|
||||
opacity: 0;
|
||||
}
|
||||
.sheet-failbox0:hover + span::before{
|
||||
opacity: .5;
|
||||
}
|
||||
button[type=roll]{
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
button[type=roll]:before{
|
||||
content: "" !important;
|
||||
}
|
||||
.sheet-rage{
|
||||
border-bottom: 3px solid black;
|
||||
margin: 0px 25px;
|
||||
text-align: center;
|
||||
font-size: 3em;
|
||||
font-weight: bold;
|
||||
width: 125px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: 15px;
|
||||
}
|
||||
.sheet-noble{
|
||||
border-bottom: 1px solid black;
|
||||
border-radius: 25%;
|
||||
margin: 0px 20px;
|
||||
text-align: center;
|
||||
font-size: 2.5em;
|
||||
font-weight: italic;
|
||||
width: 135px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: 15px;
|
||||
}
|
||||
.sheet-fear{
|
||||
border-bottom: 1px solid black;
|
||||
border-radius: -25%;
|
||||
margin: 0px 20px;
|
||||
text-align: center;
|
||||
font-size: 2.5em;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
width: 135px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: 15px;
|
||||
}
|
||||
.sheet-obsession{
|
||||
border-bottom: 1px double black;
|
||||
border-radius: -25%;
|
||||
margin: 0px 32px;
|
||||
text-align: center;
|
||||
font-size: 1.5em;
|
||||
width: 110px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: 15px;
|
||||
}
|
||||
.sheet-obsessions{
|
||||
margin-top: 20px;
|
||||
margin-bottom: -5px;
|
||||
height: 40px !important;
|
||||
}
|
||||
.sheet-identitywrapper{
|
||||
background-color: #ebecde;
|
||||
padding: 5px;
|
||||
}
|
||||
.sheet-identitylabel{
|
||||
border: 2px solid black;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
font-family: "Arial Black", Gadget, sans-serif;
|
||||
}
|
||||
.sheet-identity{
|
||||
border: 2px solid black;
|
||||
border-top: none;
|
||||
font-weight: bold;
|
||||
font-family: "Arial Black", Gadget, sans-serif;
|
||||
}
|
||||
.sheet-identityname{
|
||||
width: 33%;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.sheet-identitycap{
|
||||
width: 100%;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.sheet-identityspace{
|
||||
border-top: 1px solid black;
|
||||
padding: 0px 5px;
|
||||
}
|
||||
.sheet-identityhead{
|
||||
padding 0px 5px;
|
||||
}
|
||||
.sheet-identityinfo{
|
||||
width: 83%;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.sheet-idnumb{
|
||||
font-size: 1.5em;
|
||||
padding-top: 8px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.sheet-idbox{
|
||||
border: 1px solid #256eb7;
|
||||
border-right: none;
|
||||
height: 30px;
|
||||
width: 100px;
|
||||
margin: 2px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: 3px;
|
||||
}
|
||||
.sheet-idbox + span::before{
|
||||
border-left: 2px solid #256eb7;
|
||||
border-top: 2px solid #256eb7;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -11px;
|
||||
left: -106px;
|
||||
margin-right: -35px;
|
||||
}
|
||||
.sheet-percbox{
|
||||
border: 3px solid #256eb7;
|
||||
height: 30px;
|
||||
width: 150px;
|
||||
margin-left: 3px;
|
||||
padding-left: 5px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -6px;
|
||||
left: 3px;
|
||||
}
|
||||
.sheet-suplab{
|
||||
color: #256eb7;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: -4px;
|
||||
}
|
||||
.sheet-idofflabel{
|
||||
border: 1px solid #256eb7;
|
||||
border-left: none;
|
||||
height: 30px;
|
||||
width: 135px;
|
||||
margin: 2px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: -3px;
|
||||
top: 3px;
|
||||
}
|
||||
.sheet-offlabtxt{
|
||||
color: #256eb7;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sheet-supidabbox{
|
||||
border: 1px solid #256eb7;
|
||||
border-top: none;
|
||||
padding-left: 4px;
|
||||
padding-top: 10px;
|
||||
width: 97px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: 53px;
|
||||
top: -8px;
|
||||
}
|
||||
.sheet-supernaturalability{
|
||||
width: 90px;
|
||||
margin-bottom: 25px !important;
|
||||
}
|
||||
.sheet-superabil2a{
|
||||
display: inline-block;
|
||||
border-bottom: 1px solid #256eb7;
|
||||
border-right: 1px solid #256eb7;
|
||||
width: 284px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: -59px;
|
||||
left: 53px;
|
||||
padding: 5px;
|
||||
}
|
||||
.sheet-cblab{
|
||||
position: relative;
|
||||
top: 3px;
|
||||
width: 65px;
|
||||
}
|
||||
.sheet-superabil2b{
|
||||
display: inline-block;
|
||||
border-bottom: 1px solid #256eb7;
|
||||
border-right: 1px solid #256eb7;
|
||||
width: 284px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: -69px;
|
||||
left: 108px;
|
||||
padding: 5px;
|
||||
}
|
||||
.sheet-superabil2c{
|
||||
display: inline-block;
|
||||
border-bottom: 1px solid #256eb7;
|
||||
border-right: 1px solid #256eb7;
|
||||
width: 284px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
top: -70px;
|
||||
left: 108px;
|
||||
padding: 5px;
|
||||
}
|
||||
input[type="checkbox"]{
|
||||
width: 13px;
|
||||
height: 13px;
|
||||
opacity: 0;
|
||||
margin: -10px;
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
left: 8px;
|
||||
}
|
||||
input[type="checkbox"].sheet-superabilcb + span::before{
|
||||
margin-right: 2px;
|
||||
border: solid 2px #256eb7;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
background: transparent;
|
||||
|
||||
color: black;
|
||||
content: "";
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
font-size: 1.15em;
|
||||
}
|
||||
input[type="checkbox"].sheet-superabilcb:checked + span::before{
|
||||
color: black;
|
||||
content: "✕";
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
font-size: 1.15em;
|
||||
}
|
||||
.sheet-superabilnotes{
|
||||
width: 396px;
|
||||
border: 1px solid #256eb7;
|
||||
border-top: none;
|
||||
height: 100px;
|
||||
position: relative;
|
||||
top: -70px;
|
||||
left: 5px;
|
||||
}
|
||||
.sheet-notes{
|
||||
background: transparent;
|
||||
width: 96% !important;
|
||||
height: 65px !important;
|
||||
margin-left: 1%;
|
||||
border: 0px;
|
||||
resize: none;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
}
|
||||
.sheet-superabilnotes + span::before{
|
||||
border-left: 2px solid #256eb7;
|
||||
border-bottom: 2px solid #256eb7;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -87px;
|
||||
left: 38px;
|
||||
margin: -35px;
|
||||
}
|
||||
.sheet-superidfooter{
|
||||
position: relative;
|
||||
top: -75px;
|
||||
left: 12px;
|
||||
}
|
||||
.sheet-supformtype{
|
||||
display: inline-block;
|
||||
margin-left: 3px;
|
||||
color: #256eb7;
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sheet-supformfooter{
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
color: #256eb7;
|
||||
font-size: .75em;
|
||||
position: relative;
|
||||
left: 70px;
|
||||
bottom: 8px;
|
||||
}
|
||||
.sheet-supformfooter + span::before{
|
||||
border-right: 2px solid #256eb7;
|
||||
border-bottom: 2px solid #256eb7;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -29px;
|
||||
left: 47px;
|
||||
}
|
||||
.sheet-idtypecb + span::before{
|
||||
margin-right: 2px;
|
||||
border: solid 2px black;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
|
||||
background: transparent;
|
||||
|
||||
color: black;
|
||||
content: "";
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
font-size: 1.15em;
|
||||
|
||||
position: relative;
|
||||
left: 4px;
|
||||
}
|
||||
.sheet-idtypecb:checked + span::before{
|
||||
color: black;
|
||||
content: "✕";
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
font-size: 1.15em;
|
||||
}
|
||||
.sheet-typelab{
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-cb1 + span::before{
|
||||
border: solid 2px #256eb7;
|
||||
}
|
||||
.sheet-cb2 + span::before{
|
||||
border: solid 2px #67486a;
|
||||
}
|
||||
.sheet-cb3 + span::before{
|
||||
border: solid 2px #3fa09a;
|
||||
}
|
||||
input.sheet-notch{
|
||||
width: 13px;
|
||||
height: 13px;
|
||||
opacity: 0;
|
||||
margin: -10px;
|
||||
cursor: pointer;
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
left: 13px;
|
||||
}
|
||||
input.sheet-notch + span::before{
|
||||
margin-right: 2px;
|
||||
border: solid 1px black;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
left: 7px;
|
||||
|
||||
background: white;
|
||||
|
||||
content: "";
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
font-size: 1.15em;
|
||||
|
||||
-moz-border-radius: 50%;
|
||||
-webkit-border-radius: 50%;
|
||||
border-radius: 50%;
|
||||
z-index: 1;
|
||||
}
|
||||
input.sheet-notch[value="60"] + span::before{
|
||||
background: #101010;
|
||||
}
|
||||
input.sheet-notch:checked + span::before{
|
||||
color: #101010;
|
||||
content: "✖";
|
||||
}
|
||||
.sheet-stresswave{
|
||||
margin-top: -30px;
|
||||
margin-right: -400px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 15px solid transparent;
|
||||
border-bottom: 15px solid transparent;
|
||||
border-right: 425px solid black;
|
||||
position: relative;
|
||||
left: 125px;
|
||||
top: 0px;
|
||||
z-index: 0;
|
||||
}
|
||||
.sheet-adeptidleaf{
|
||||
padding: 5px;
|
||||
background-color: #f6f3ef;
|
||||
width: 405px !important;
|
||||
}
|
||||
.sheet-adeptidbox{
|
||||
border: 1px solid #67486a;
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
display: inline-block;
|
||||
border-right: none;
|
||||
}
|
||||
.sheet-adeptidbox + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-top: 3px solid #67486a;
|
||||
border-left: 3px solid #67486a;
|
||||
content: "";
|
||||
margin: -15px;
|
||||
position: relative;
|
||||
bottom: 13px;
|
||||
right: 87px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-adeptleaf1a{
|
||||
border: 3px solid #67486a;
|
||||
width: 200px;
|
||||
height: 28px;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 4px;
|
||||
left: 3px;
|
||||
}
|
||||
.sheet-adeptleaf1b{
|
||||
border: 1px solid #67486a;
|
||||
width: 94px;
|
||||
height: 28px;
|
||||
display: inline-block;
|
||||
border-left: none;
|
||||
position: relative;
|
||||
top: 6px;
|
||||
right: 1px;
|
||||
}
|
||||
.sheet-adeptleaftext{
|
||||
color: #67486a;
|
||||
font-size: .8em;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-adeptleafinputt{
|
||||
font-size: .8em;
|
||||
height: 14px !important;
|
||||
width: 98% !important;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.sheet-adeptleafinputn{
|
||||
font-size: .8em;
|
||||
height: 14px !important;
|
||||
border-bottom: none !important;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-adeptleaf1b + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-top: 3px solid #67486a;
|
||||
border-right: 3px solid #67486a;
|
||||
content: "";
|
||||
margin: -15px;
|
||||
position: relative;
|
||||
bottom: 11px;
|
||||
right: 3px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-adeptleafoffbox{
|
||||
border: 1px solid #67486a;
|
||||
width: 96px;
|
||||
height: 28px;
|
||||
display: inline-block;
|
||||
border-top: none;
|
||||
}
|
||||
.sheet-adeptleafofftxt{
|
||||
color: #67486a;
|
||||
font-size: .8em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sheet-adeptleaf2{
|
||||
border: 1px solid #67486a;
|
||||
width: 96px;
|
||||
height: 86px;
|
||||
display: inline-block;
|
||||
border-top: none;
|
||||
position: relative;
|
||||
bottom: 70px;
|
||||
}
|
||||
.sheet-adeptspellset{
|
||||
display: inline-block;
|
||||
width: 299px;
|
||||
height: 63px;
|
||||
margin-left: -4px;
|
||||
}
|
||||
.sheet-adeptleafspella{
|
||||
border: 1px solid #67486a;
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
display: inline-block;
|
||||
width: 200px;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
margin-right: -4px;
|
||||
height: 24px;
|
||||
}
|
||||
.sheet-adeptspellname{
|
||||
width: 60%;
|
||||
border-bottom: none !important;
|
||||
}
|
||||
.sheet-adeptleafspellb{
|
||||
border: 1px solid #67486a;
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 97px;
|
||||
height: 24px;
|
||||
}
|
||||
.sheet-adeptleafspellc{
|
||||
border: 1px solid #67486a;
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
display: inline-block;
|
||||
width: 298px;
|
||||
position: relative;
|
||||
height: 42px;
|
||||
}
|
||||
.sheet-adeptspelleffect{
|
||||
height: 28px !important;
|
||||
font-size: 1em !important;
|
||||
}
|
||||
.sheet-adeptleafta{
|
||||
background: transparent;
|
||||
border: none;
|
||||
width: 93% !important;
|
||||
resize: none;
|
||||
height: 75% !important;
|
||||
}
|
||||
.sheet-adeptleaf7{
|
||||
width: 395px;
|
||||
height: 28px;
|
||||
border: 1px solid #67486a;
|
||||
border-top: none;
|
||||
}
|
||||
.sheet-adeptleaf7 + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-bottom: 3px solid #67486a;
|
||||
border-left: 3px solid #67486a;
|
||||
content: "";
|
||||
margin: -15px;
|
||||
position: relative;
|
||||
bottom: 16px;
|
||||
left: 14px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-adeptidfooter{
|
||||
margin-top: -10px;
|
||||
}
|
||||
.sheet-adeptformtype{
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
color: #67486a;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-adeptleafend + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-bottom: 3px solid #67486a;
|
||||
border-right: 3px solid #67486a;
|
||||
content: "";
|
||||
margin: -15px;
|
||||
position: relative;
|
||||
bottom: 23px;
|
||||
left: 28px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-avataridleaf{
|
||||
background-color: #f3f5f6;
|
||||
padding: 5px;
|
||||
height: 350px;
|
||||
width: 400px;
|
||||
}
|
||||
.sheet-avatarleafidnumbox{
|
||||
border: 1px solid #3fa09a;
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
display: inline-block;
|
||||
border-right: none;
|
||||
}
|
||||
.sheet-avatarleaf1a{
|
||||
border: 3px solid #3fa09a;
|
||||
display: inline-block;
|
||||
width: 197px;
|
||||
height: 30px;
|
||||
margin-left: -5px;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
.sheet-avatartext{
|
||||
font-size: .8em;
|
||||
color: #3fa09a;
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-avatarleaf1b{
|
||||
border: 1px solid #3fa09a;
|
||||
border-left: none;
|
||||
display: inline-block;
|
||||
width: 90px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
right: 4px;
|
||||
}
|
||||
.sheet-avatarleaf2{
|
||||
border: 1px solid #3fa09a;
|
||||
width: 100px;
|
||||
height: 86px;
|
||||
display: inline-block;
|
||||
border-top: none;
|
||||
margin-top: -1px;
|
||||
}
|
||||
.sheet-avatarleaf4{
|
||||
display: inline-block;
|
||||
width: 291px;
|
||||
height: 30px;
|
||||
border: 1px solid #3fa09a;
|
||||
border-left: none;
|
||||
border-top: none;
|
||||
margin-top: -1px;
|
||||
}
|
||||
.sheet-avatarleafchannels{
|
||||
display: inline-block;
|
||||
width: 291px;
|
||||
height: 28px;
|
||||
border: 1px solid #3fa09a;
|
||||
border-left: none;
|
||||
border-top: none;
|
||||
}
|
||||
.sheet-avatarpowers{
|
||||
width: 290px;
|
||||
display: inline-block;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
}
|
||||
.sheet-avatarnotes{
|
||||
border: 1px solid #3fa09a;
|
||||
border-top: none;
|
||||
width: 392px;
|
||||
margin-top: -147px;
|
||||
}
|
||||
.sheet-avatarformtype{
|
||||
display: inline-block;
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
color: #3fa09a;
|
||||
}
|
||||
.sheet-avatarleafidnumbox + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-top: 3px solid #3fa09a;
|
||||
border-left: 3px solid #3fa09a;
|
||||
content: "";
|
||||
margin: -11px;
|
||||
position: relative;
|
||||
bottom: 13px;
|
||||
right: 95px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-avatarleaf1b + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-top: 3px solid #3fa09a;
|
||||
border-right: 3px solid #3fa09a;
|
||||
content: "";
|
||||
margin: -11px;
|
||||
position: relative;
|
||||
bottom: 195px;
|
||||
left: 388px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-avatarnotes + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-bottom: 3px solid #3fa09a;
|
||||
border-left: 3px solid #3fa09a;
|
||||
content: "";
|
||||
margin: -20px;
|
||||
position: relative;
|
||||
bottom: 16px;
|
||||
left: 19px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-avatarfooter + span::before{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-bottom: 3px solid #3fa09a;
|
||||
border-right: 3px solid #3fa09a;
|
||||
content: "";
|
||||
margin: -11px;
|
||||
position: relative;
|
||||
bottom: 48px;
|
||||
left: 388px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
}
|
||||
.sheet-avnotesend + span::before{
|
||||
color: #3fa09a;
|
||||
content: "For Official Use Only GRG-ST-LZ3";
|
||||
width: -200px;
|
||||
height: -30px;
|
||||
margin-left: 85px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sheet-idswitcher{
|
||||
margin-left: 60px;
|
||||
}
|
||||
.sheet-tab{
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 756px;
|
||||
}
|
||||
.sheet-tab label{
|
||||
margin-left: -1px;
|
||||
position: relative;
|
||||
left: 1px;
|
||||
display: inline-block;
|
||||
width: 120px;
|
||||
font-size: 1em;
|
||||
font-weight: normal;
|
||||
}
|
||||
.sheet-content {
|
||||
background: white;
|
||||
display: none;
|
||||
}
|
||||
.sheet-tab .sheet-idtypecb:checked ~ .sheet-content{
|
||||
display: inline-block;
|
||||
}
|
||||
.sheet-buttons{
|
||||
margin: -8px;
|
||||
}
|
||||
.sheet-cb0, .sheet-cb0 + span, .sheet-cb0 + span + label, .sheet-cb0 + span + label + button{
|
||||
position: relative !important;
|
||||
left: 5px !important;
|
||||
}
|
||||
.sheet-cb1, .sheet-cb1 + span, .sheet-cb1 + span + label, .sheet-cb1 + span + label + button{
|
||||
position: relative !important;
|
||||
left: 85px !important;
|
||||
}
|
||||
.sheet-cb2, .sheet-cb2 + span, .sheet-cb2 + span + label, .sheet-cb2 + span + label + button{
|
||||
position: relative !important;
|
||||
left: 245px !important;
|
||||
}
|
||||
.sheet-cb3, .sheet-cb3 + span, .sheet-cb3 + span + label, .sheet-cb3 + span + label + button{
|
||||
position: relative !important;
|
||||
left: 330px !important;
|
||||
}
|
||||
.sheet-idofflabel + span::before{
|
||||
border-right: 2px solid #256eb7;
|
||||
border-top: 2px solid #256eb7;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 14px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
top: -11px;
|
||||
left: 6px;
|
||||
margin: -35px;
|
||||
}
|
||||
.sheet-superidentity{
|
||||
background-color: #f3f5f6;
|
||||
height: 260px;
|
||||
width: 412px;
|
||||
}
|
||||
@@ -0,0 +1,730 @@
|
||||
<div class="sheet-wrapper">
|
||||
<div class="sheet-2colrow">
|
||||
<div class="sheet-col sheet-paper">
|
||||
<div class="sheet-row">
|
||||
<div class="sheet-bioq">Name:</div>
|
||||
<input type="text" name="attr_name" class="sheet-biol">
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<div class="sheet-bioq">Sex:</div>
|
||||
<input type="text" name="attr_sex" class="sheet-bios">
|
||||
<div class="sheet-bioq">Race:</div>
|
||||
<input type="text" name="attr_race" class="sheet-bios">
|
||||
<div class="sheet-bioq">Height:</div>
|
||||
<input type="text" name="attr_height" class="sheet-bios">
|
||||
<div class="sheet-bioq">Weight:</div>
|
||||
<input type="text" name="attr_weight" class="sheet-bios">
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<div class="sheet-bioq">Wound Threshold:</div>
|
||||
<input type="text" name="attr_wt" class="sheet-biom">
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<div class="sheet-bioq">Distinguishing Characteristics:</div>
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<textarea name="attr_distinguish" class="sheet-biot"></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="sheet-col sheet-header">
|
||||
<div class="sheet-row">
|
||||
<div class="sheet-h1 sheet-bioq">CABAL</div>
|
||||
<input type="text" name="attr_cabal" class="sheet-inputs"></div><div class="sheet-row">
|
||||
<div class="sheet-h3 sheet-bioq">CURRENT<br>OBJECTIVE</div>
|
||||
<input type="text" name="attr_cabal" class="sheet-inputs"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-row sheet-stickies">
|
||||
<div class="sheet-sticky">
|
||||
<div style="margin-left: 10%;"><button type="roll" value="/me rolls against a relationship![[d100]]vs[[@{fav}]]" class="ui-draggable"></button></div>
|
||||
<textarea class="sheet-blurb" name="attr_favoritename"></textarea>
|
||||
<div style="margin-left: 16%;"><input type="number" name="attr_fav">%<div class="sheet-relatlab">Favorite</div>
|
||||
<div style="margin-left: 42%;">(status)</div></div>
|
||||
</div><div class="sheet-sticky">
|
||||
<div style="margin-left: 60%;"><button type="roll" value="/me rolls against a relationship![[d100]]vs[[@{guru}]]" class="ui-draggable"></button></div>
|
||||
<textarea class="sheet-blurb" name="attr_guruname"></textarea>
|
||||
<div style="margin-left: 23%"><input type="number" name="attr_guru">%<div class="sheet-relatlab">Guru</div>
|
||||
<div style="margin-left: 38%">(notice)</div></div>
|
||||
</div><div class="sheet-sticky">
|
||||
<div style="margin-left: 30%;"><button type="roll" value="/me rolls against a relationship![[d100]]vs[[@{mentor}]]" class="ui-draggable"></button></div>
|
||||
<textarea class="sheet-blurb" name="attr_mentorname"></textarea>
|
||||
<div style="margin-left: 20%"><input type="number" name="attr_mentor">%<div class="sheet-relatlab">Mentor</div>
|
||||
<div style="margin-left: 35%">(connect)</div></div>
|
||||
</div><div class="sheet-sticky">
|
||||
<div style="margin-left: 40%;"><button type="roll" value="/me rolls against a relationship![[d100]]vs[[@{responsibility}]]" class="ui-draggable"></button></div>
|
||||
<textarea class="sheet-blurb" name="attr_responsibilityname"></textarea>
|
||||
<div style="margin-left: 2%"><input type="number" name="attr_responsibility">%<div class="sheet-relatlab">Responsibility</div>
|
||||
<div style="margin-left: 40%">(knowledge)</div></div>
|
||||
</div>
|
||||
<div class="sheet-sticky">
|
||||
<div style="margin-left: 10%;"><button type="roll" value="/me rolls against a relationship![[d100]]vs[[@{protege}]]" class="ui-draggable"></button></div>
|
||||
<textarea class="sheet-blurb" name="attr_protegename"></textarea>
|
||||
<div style="margin-left: 18%"><input type="number" name="attr_protege">%<div class="sheet-relatlab">Protege</div>
|
||||
<div style="margin-left: 43%">(health)</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-row sheet-paper">
|
||||
<div class="sheet-col">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><div class="sheet-percent">60</div></td>
|
||||
<td><div class="sheet-percent">55</div></td>
|
||||
<td><div class="sheet-percent">50</div></td>
|
||||
<td><div class="sheet-percent">45</div></td>
|
||||
<td><div class="sheet-percent">40</div></td>
|
||||
<td><div class="sheet-percent">35</div></td>
|
||||
<td><div class="sheet-percent">30</div></td>
|
||||
<td><div class="sheet-percent">25</div></td>
|
||||
<td><div class="sheet-percent">20</div></td><td>
|
||||
<div class="sheet-swf" style="text-align: left; position: relative; left: 10px;">STUPID</div>
|
||||
<div class="sheet-swf" style="text-align: right; position: relative; right: 10px;">WEAK</div>
|
||||
<div class="sheet-swf" style="text-align: center">FAILURE</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"></td>
|
||||
<td>
|
||||
<div class="sheet-upbeat">HEALTH</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td style="border-left: 1px solid black;"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div class="sheet-stressname">HELPLESSNESS</div>
|
||||
<div class="sheet-stressopp">(vs. violence)<button type="roll" value="/me rolls against violence shock![[d100]]vs[[@{helplessness}]]" class="ui-draggable"></button></div>
|
||||
<div class="sheet-stresswave">
|
||||
</div><span></span></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="60" checked="checked"><span></span>
|
||||
</div></td><td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="55"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="50"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="45"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="40"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="35"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="30"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="25"><span></span>
|
||||
</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_helplessness" value="20"><span></span>
|
||||
</div>
|
||||
</td><td class="sheet-fails">
|
||||
<input type="radio" name="attr_helplessnessf" value="0" class="sheet-failbox sheet-failbox0" checked="checked"><span></span>
|
||||
<input type="radio" name="attr_helplessnessf" value="1" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_helplessnessf" value="2" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_helplessnessf" value="3" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_helplessnessf" value="4" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_helplessnessf" value="5" class="sheet-failbox"><span></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="sheet-downbeat">DODGE</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">60</div></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">60</div></td>
|
||||
<td>
|
||||
<div class="sheet-upbeat">STATUS</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td style="border-left: 1px solid black;"></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div class="sheet-stressname">ISOLATION</div>
|
||||
<div class="sheet-stressopp">(vs. helplessness)
|
||||
<button type="roll" value="/me rolls against helplessness shock![[d100]]vs[[@{isolation}]]" class="ui-draggable"></button></div>
|
||||
<div class="sheet-stresswave">
|
||||
</div><span></span></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="60" checked="checked"><span></span>
|
||||
</div></td><td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="55"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="50"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="45"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="40"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="35"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="30"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="25"><span></span>
|
||||
</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_isolation" value="20"><span></span>
|
||||
</div>
|
||||
</td><td class="sheet-fails">
|
||||
<input type="radio" name="attr_isolationf" value="0" class="sheet-failbox sheet-failbox0" checked="checked"><span></span>
|
||||
<input type="radio" name="attr_isolationf" value="1" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_isolationf" value="2" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_isolationf" value="3" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_isolationf" value="4" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_isolationf" value="5" class="sheet-failbox"><span></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="sheet-downbeat">PURSUIT</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">60</div></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">60</div></td>
|
||||
<td>
|
||||
<div class="sheet-upbeat">KNOWLEDGE</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td style="border-left: 1px solid black;"></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div class="sheet-stressname">SELF</div>
|
||||
<div class="sheet-stressopp">(vs. unnatural)
|
||||
<button type="roll" value="/me rolls against unnatural shock![[d100]]vs[[@{self}]]" class="ui-draggable"></button>
|
||||
</div>
|
||||
<div class="sheet-stresswave">
|
||||
</div><span></span></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="60" checked="checked"><span></span>
|
||||
</div></td><td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="55"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="50"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="45"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="40"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="35"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="30"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="25"><span></span>
|
||||
</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_self" value="20"><span></span>
|
||||
</div>
|
||||
</td><td class="sheet-fails">
|
||||
<input type="radio" name="attr_selff" value="0" class="sheet-failbox sheet-failbox0" checked="checked"><span></span>
|
||||
<input type="radio" name="attr_selff" value="1" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_selff" value="2" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_selff" value="3" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_selff" value="4" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_selff" value="5" class="sheet-failbox"><span></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="sheet-downbeat">LIE</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">60</div></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">60</div></td>
|
||||
<td>
|
||||
<div class="sheet-upbeat">NOTICE</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td style="border-left: 1px solid black;"></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div class="sheet-stressname">UNNATURAL</div>
|
||||
<div class="sheet-stressopp">(vs. self)
|
||||
<button type="roll" value="/me rolls against self shock![[d100]]vs[[@{unnatural}]]" class="ui-draggable"></button>
|
||||
</div>
|
||||
<div class="sheet-stresswave">
|
||||
</div><span></span></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="60" checked="checked"><span></span>
|
||||
</div></td><td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="55"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="50"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="45"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="40"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="35"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="30"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="25"><span></span>
|
||||
</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_unnatural" value="20"><span></span>
|
||||
</div>
|
||||
</td><td class="sheet-fails">
|
||||
<input type="radio" name="attr_unnaturalf" value="0" class="sheet-failbox sheet-failbox0" checked="checked"><span></span>
|
||||
<input type="radio" name="attr_unnaturalf" value="1" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_unnaturalf" value="2" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_unnaturalf" value="3" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_unnaturalf" value="4" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_unnaturalf" value="5" class="sheet-failbox"><span></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="sheet-downbeat">SECRETS</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">60</div></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">60</div></td>
|
||||
<td>
|
||||
<div class="sheet-upbeat">CONNECT</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td style="border-left: 1px solid black;"></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><div class="sheet-stressname">VIOLENCE</div>
|
||||
<div class="sheet-stressopp">(vs. isolation)
|
||||
<button type="roll" value="/me rolls against isolation shock![[d100]]vs[[@{violation}]]" class="ui-draggable"></button>
|
||||
</div>
|
||||
<div class="sheet-stresswave">
|
||||
</div><span></span></td>
|
||||
<td style="border-right: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="60" checked="checked"><span></span>
|
||||
</div></td><td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="55"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="50"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="45"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="40"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="35"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="30"><span></span>
|
||||
</div></td>
|
||||
<td><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="25"><span></span>
|
||||
</div></td>
|
||||
<td style="border-left: 1px solid black;"><div class="sheet-percent">
|
||||
<input type="radio" class="sheet-notch" name="attr_violence" value="20"><span></span>
|
||||
</div>
|
||||
|
||||
</td><td class="sheet-fails">
|
||||
<input type="radio" name="attr_violencef" value="0" class="sheet-failbox sheet-failbox0" checked="checked"><span></span>
|
||||
<input type="radio" name="attr_violencef" value="1" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_violencef" value="2" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_violencef" value="3" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_violencef" value="4" class="sheet-failbox"><span></span>
|
||||
<input type="radio" name="attr_violencef" value="5" class="sheet-failbox"><span></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><div class="sheet-downbeat">STRUGGLE</div></td>
|
||||
<td style="border-left: 1px solid black;"></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><div class="sheet-percent">20</div></td>
|
||||
<td><div class="sheet-percent">25</div></td>
|
||||
<td><div class="sheet-percent">30</div></td>
|
||||
<td><div class="sheet-percent">35</div></td>
|
||||
<td><div class="sheet-percent">40</div></td>
|
||||
<td><div class="sheet-percent">45</div></td>
|
||||
<td><div class="sheet-percent">50</div></td>
|
||||
<td><div class="sheet-percent">55</div></td>
|
||||
<td><div class="sheet-percent">60</div></td><td class="sheet-fails"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div><div class="sheet-col">
|
||||
<div class="sheet-rage">RAGE</div>
|
||||
<textarea class="sheet-blurb sheet-obsessions" name="attr_rage"></textarea>
|
||||
<div class="sheet-noble">NOBLE</div>
|
||||
<textarea class="sheet-blurb sheet-obsessions" name="attr_noble"></textarea>
|
||||
<div class="sheet-fear">FEAR</div>
|
||||
<textarea class="sheet-blurb sheet-obsessions" name="attr_fear"></textarea>
|
||||
<div class="sheet-obsession">OBSESSION</div>
|
||||
<textarea class="sheet-blurb sheet-obsessions" name="attr_obsession"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-row sheet-addon">
|
||||
<div class="sheet-buttonlabel">HEALTH</div>
|
||||
<button type="roll" value="/me rolls Health![[d100]]vs[[@{helplessness}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">STATUS</div>
|
||||
<button type="roll" value="/me rolls Status![[d100]]vs[[@{isolation}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">KNOWLEDGE</div>
|
||||
<button type="roll" value="/me rolls Knowledge![[d100]]vs[[@{self}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">NOTICE</div>
|
||||
<button type="roll" value="/me rolls Status![[d100]]vs[[@{unnatural}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">CONNECT</div>
|
||||
<button type="roll" value="/me rolls Connect![[d100]]vs[[@{violence}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">DODGE</div>
|
||||
<button type="roll" value="/me rolls Dodge![[d100]]vs[[100 - @{helplessness}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">PURSUIT</div>
|
||||
<button type="roll" value="/me rolls Pursuit![[d100]]vs[[100 - @{isolation}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">LIE</div>
|
||||
<button type="roll" value="/me rolls Lie![[d100]]vs[[100 - @{self}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">SECRETS</div>
|
||||
<button type="roll" value="/me rolls Secrets![[d100]]vs[[100 - @{unnatural}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-buttonlabel">STRUGGLE</div>
|
||||
<button type="roll" value="/me rolls Struggle![[d100]]vs[[100 - @{violence}]]" class="ui-draggable"></button>
|
||||
</div>
|
||||
<div class="sheet-2colrow">
|
||||
<div class="sheet-col sheet-identitywrapper">
|
||||
<div class="sheet-row sheet-identitylabel">IDENTITIES</div>
|
||||
<div class="sheet-row sheet-identity">
|
||||
<div class="sheet-row sheet-identityhead">
|
||||
<div class="sheet-row">Because I am
|
||||
<input type="number" name="attr_identity1val">
|
||||
<input type="text" name="attr_identity1" class="sheet-identityname">, of course I can
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<input type="text" name="attr_identity1cap" class="sheet-identitycap">
|
||||
</div></div>
|
||||
<div class="sheet-row sheet-identityspace">Substitutes for Ability:<input type="text" name="attr_identity1sub" style="width: 58%; border-bottom: none !important;">
|
||||
</div><div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity1feat1" class="sheet-identityinfo">
|
||||
</div>
|
||||
<div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity1feat2" class="sheet-identityinfo">
|
||||
</div></div>
|
||||
<div class="sheet-row sheet-identity">
|
||||
<div class="sheet-row sheet-identityhead">
|
||||
<div class="sheet-row">Because I am
|
||||
<input type="number" name="attr_identity2val">
|
||||
<input type="text" name="attr_identity2" class="sheet-identityname">, of course I can
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<input type="text" name="attr_identity2cap" class="sheet-identitycap">
|
||||
</div></div>
|
||||
<div class="sheet-row sheet-identityspace">Substitutes for Ability:<input type="text" name="attr_identity2sub" style="width: 58%; border-bottom: none !important;">
|
||||
</div><div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity2feat1" class="sheet-identityinfo">
|
||||
</div>
|
||||
<div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity2feat2" class="sheet-identityinfo">
|
||||
</div></div>
|
||||
<div class="sheet-row sheet-identity">
|
||||
<div class="sheet-row sheet-identityhead">
|
||||
<div class="sheet-row">Because I am
|
||||
<input type="number" name="attr_identity2val">
|
||||
<input type="text" name="attr_identity2" class="sheet-identityname">, of course I can
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<input type="text" name="attr_identity3cap" class="sheet-identitycap">
|
||||
</div></div>
|
||||
<div class="sheet-row sheet-identityspace">Substitutes for Ability:<input type="text" name="attr_identity3sub" style="width: 58%; border-bottom: none !important;">
|
||||
</div><div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity3feat1" class="sheet-identityinfo">
|
||||
</div>
|
||||
<div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity3feat2" class="sheet-identityinfo">
|
||||
</div></div>
|
||||
<div class="sheet-buttons"><button type="roll" value="/me rolls their identity as @{identity1}![[d100]]vs[[@{identity1val}]]" class="ui-draggable" style="position: relative; bottom: 395px; left: 420px;"></button>
|
||||
<button type="roll" value="/me rolls their identity as @{identity2}![[d100]]vs[[@{identity2val}]]" class="ui-draggable" style="position: relative; bottom: 260px; left: 394px;"></button>
|
||||
<button type="roll" value="/me rolls their identity as @{identity3}![[d100]]vs[[@{identity3val}]]" class="ui-draggable" style="position: relative; bottom: 120px; left: 369px;"></button>
|
||||
</div>
|
||||
</div><div class="sheet-col"><div class="sheet-id4container">
|
||||
<div class="sheet-tab">
|
||||
<input type="checkbox" id="sheet-tab-1" name="attr_identitytype" class="sheet-idtypecb sheet-cb0" value="0" style="left: 14px !important;" checked="checked"><span></span>
|
||||
<label for="sheet-tab-1" style="width: 40px; margin-right: -10px;">Identity</label><button type="roll" value="/me rolls their identity as @{identity4}![[d100]]vs[[@{identity4val}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-content">
|
||||
<div class="sheet-identity" style="border-top: 2px solid black; background-color: #ebecde;">
|
||||
<div class="sheet-row sheet-identityhead">
|
||||
<div class="sheet-row">Because I am
|
||||
<input type="number" name="attr_identity4val">
|
||||
<input type="text" name="attr_identity4" class="sheet-identityname">, of course I can
|
||||
</div>
|
||||
<div class="sheet-row">
|
||||
<input type="text" name="attr_identity4cap" class="sheet-identitycap">
|
||||
</div></div>
|
||||
<div class="sheet-row sheet-identityspace">Substitutes for Ability:<input type="text" name="attr_identity3sub" style="width: 58%; border-bottom: none !important;">
|
||||
</div><div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity4feat1" class="sheet-identityinfo">
|
||||
</div>
|
||||
<div class="sheet-row sheet-identityspace">Feature:<input type="text" name="attr_identity4feat2" class="sheet-identityinfo">
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-tab"><input type="checkbox" id="sheet-tab-2" name="attr_identitytype" class="sheet-idtypecb sheet-cb1" value="1" style="left: 94px !important;"><span></span>
|
||||
<label for="sheet-tab-2" style="width: 115px; margin-right: -10px;">Supernatural Ability</label>
|
||||
<button type="roll" value="/me rolls to use @{supernaturalability}![[d100]]vs[[@{supper}]]" class="ui-draggable"></button>
|
||||
|
||||
<div class="sheet-content"><div class="sheet-superidentity sheet-specid">
|
||||
<div class="sheet-idbox">
|
||||
<div class="sheet-idnumb">00823</div>
|
||||
</div>
|
||||
<span></span>
|
||||
<div class="sheet-percbox">
|
||||
<div class="sheet-suplab">a. Percentage</div>
|
||||
<input type="number" name="attr_supper" style="display: inline-block; border-bottom: none; margin-left: 10px;" value="0">
|
||||
</div>
|
||||
<div class="sheet-idofflabel">
|
||||
<div class="sheet-offlabtxt">For Official Use Only</div><div class="sheet-offlabtxt">ST-0-LZ3</div>
|
||||
</div>
|
||||
<span></span><div class="sheet-supidabbox" style="margin-left: -48px;">
|
||||
<div class="sheet-suplab">1. Supernatural</div>
|
||||
<div class="sheet-suplab" style="margin-left: 15px;">Ability</div><input type="text" name="attr_supernaturalability" class="sheet-supernaturalability">
|
||||
</div><div class="sheet-superabil2a">
|
||||
<div class="sheet-suplab" style="position: relative; top: 3px;">2a.</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityvs" value="1" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Vague</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityvs" value="2" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Specific</div>
|
||||
</div>
|
||||
<div class="sheet-superabil2b">
|
||||
<div class="sheet-suplab" style="position: relative; top: 3px;">2b.</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityhip" value="1" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Harm</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityhip" value="2" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Information</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityhip" value="3" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Protection</div>
|
||||
</div>
|
||||
<div class="sheet-superabil2c">
|
||||
<div class="sheet-suplab" style="position: relative; top: 3px; width: 18px;">3.</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityiv" value="1" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Influence</div>
|
||||
<input type="checkbox" name="attr_supernaturalabilityiv" value="2" class="sheet-superabilcb">
|
||||
<span></span>
|
||||
<div class="sheet-suplab sheet-cblab">Versatility</div>
|
||||
</div>
|
||||
<div class="sheet-superabilnotes">
|
||||
<div class="sheet-suplab" style="position: relative; top: 5px; left: 5px;">Notes</div><textarea class="sheet-notes"></textarea>
|
||||
</div><span></span>
|
||||
<div class="sheet-superidfooter">
|
||||
<div class="sheet-suplab" style="font-weight: bold">Form</div><div class="sheet-supformtype">ATL-G 3</div>
|
||||
<div class="sheet-supformfooter">permission granted to photocopy for personal use</div>
|
||||
<span></span></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sheet-tab">
|
||||
<input type="checkbox" id="sheet-tab-3" name="attr_identitytype" class="sheet-idtypecb sheet-cb2" value="2" style="left: 254px !important;"><span></span>
|
||||
<label for="sheet-tab-3" style="width: 35px; margin-right: -10px;">Adept</label>
|
||||
<button type="roll" value="/me rolls to cast a @{adeptschool} spell![[d100]]vs[[@{adeptperc}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-content">
|
||||
<div class="sheet-adeptidleaf sheet-specid">
|
||||
<div class="sheet-adeptidbox">
|
||||
<div class="sheet-idnumb">56070</div>
|
||||
</div><span></span>
|
||||
<div class="sheet-adeptleaf1a">
|
||||
<div class="sheet-adeptleaftext">1a. Adept School</div>
|
||||
<input type="text" name="attr_adeptschool" class="sheet-adeptleafinputt">
|
||||
</div>
|
||||
<div class="sheet-adeptleaf1b">
|
||||
<div class="sheet-adeptleaftext">1b. Percentage</div>
|
||||
<input type="number" name="attr_adeptperc" class="sheet-adeptleafinputn">
|
||||
</div><span></span><div class="sheet-adeptleafoffbox" style="position: relative; bottom: 34px;">
|
||||
<div class="sheet-adeptleafofftxt">For Official Use</div>
|
||||
<div class="sheet-adeptleafofftxt">Only GR3-GST-0Z</div>
|
||||
</div>
|
||||
|
||||
<div class="sheet-adeptspellset" style="margin-top: -5px;">
|
||||
<div class="sheet-adeptleafspella">
|
||||
<div class="sheet-adeptleaftext">4a. Spell Name:</div>
|
||||
<input type="text" class="sheet-adeptspellname" name="attr_adeptspell1">
|
||||
</div>
|
||||
<div class="sheet-adeptleafspellb">
|
||||
<div class="sheet-adeptleaftext">4b. Cost:</div>
|
||||
<input type="text" class="sheet-adeptleafinputn" name="attr_adeptspell1cost" style="width: 50%;">
|
||||
</div>
|
||||
<div class="sheet-adeptleafspellc">
|
||||
<div class="sheet-adeptleaftext">4c. Effect:</div>
|
||||
<input type="text" class="sheet-adeptleafinputt sheet-adeptspelleffect" name="attr_adeptspell1effect" style="width: 90%;">
|
||||
</div></div><div class="sheet-adeptleaf2">
|
||||
<div class="sheet-adeptleaftext">2. Taboos</div>
|
||||
<textarea class="sheet-adeptleafta" name="attr_adepttaboos"></textarea></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="sheet-adeptspellset">
|
||||
<div class="sheet-adeptleafspella">
|
||||
<div class="sheet-adeptleaftext">5a. Spell Name:</div>
|
||||
<input type="text" class="sheet-adeptspellname" name="attr_adeptspell2">
|
||||
</div>
|
||||
<div class="sheet-adeptleafspellb">
|
||||
<div class="sheet-adeptleaftext">5b. Cost:</div>
|
||||
<input type="text" class="sheet-adeptleafinputn" name="attr_adeptspell2cost" style="width: 50%;">
|
||||
</div>
|
||||
<div class="sheet-adeptleafspellc">
|
||||
<div class="sheet-adeptleaftext">5c. Effect:</div>
|
||||
<input type="text" class="sheet-adeptleafinputt sheet-adeptspelleffect" name="attr_adeptspell2effect" style="width: 90%;">
|
||||
</div></div><div class="sheet-adeptleaf2" style="position: relative; bottom: 70px;">
|
||||
<div class="sheet-adeptleaftext">3. Domain</div>
|
||||
<textarea class="sheet-adeptleafta" name="attr_adeptdomain"></textarea></div>
|
||||
<div class="sheet-adeptspellset" style="margin-top: -36px; position: relative; bottom: 20px;">
|
||||
<div class="sheet-adeptleafspella">
|
||||
<div class="sheet-adeptleaftext">6a. Spell Name:</div>
|
||||
<input type="text" class="sheet-adeptspellname" name="attr_adeptspell3">
|
||||
</div>
|
||||
<div class="sheet-adeptleafspellb">
|
||||
<div class="sheet-adeptleaftext">6b. Cost:</div>
|
||||
<input type="text" class="sheet-adeptleafinputn" name="attr_adeptspell3cost" style="width: 50%;">
|
||||
</div>
|
||||
<div class="sheet-adeptleafspellc">
|
||||
<div class="sheet-adeptleaftext">6c. Effect:</div>
|
||||
<input type="text" class="sheet-adeptleafinputt sheet-adeptspelleffect" name="attr_adeptspell3effect" style="width: 90%;">
|
||||
</div></div>
|
||||
<div class="sheet-adeptleaf7" style="margin-top: -70px;">
|
||||
<div class="sheet-adeptleaftext">7a. Minor Charges</div>
|
||||
<input type="text" class="sheet-adeptleafinputt" name="attr_adeptminorcharges">
|
||||
</div>
|
||||
<div class="sheet-adeptleaf7">
|
||||
<div class="sheet-adeptleaftext">7b. Significant Charges</div>
|
||||
<input type="text" class="sheet-adeptleafinputt" name="attr_adeptsigcharges">
|
||||
</div>
|
||||
<div class="sheet-adeptleaf7">
|
||||
<div class="sheet-adeptleaftext">7c. Major Charges</div>
|
||||
<input type="text" class="sheet-adeptleafinputt" name="attr_adeptmajorcharges">
|
||||
</div>
|
||||
<span></span>
|
||||
<div class="sheet-adeptidfooter">
|
||||
<div class="sheet-adeptleaftext" style="font-weight: bold; position: relative; bottom: 5px;">Form</div><div class="sheet-adeptformtype">ATL-G 4MS</div>
|
||||
<div class="sheet-adeptleaftext sheet-adeptleafend" style="position: relative; left: 30px;">permission granted to photocopy for personal use</div>
|
||||
<span></span></div></div>
|
||||
</div></div><div class="sheet-tab">
|
||||
<input type="checkbox" id="sheet-tab-4" name="attr_identitytype" class="sheet-idtypecb sheet-cb3" value="3" style="left: 339px !important;"><span></span>
|
||||
<label for="sheet-tab-4" style="width: 40px; margin-right: -10px;">Avatar</label>
|
||||
<button type="roll" value="/me rolls to channel the @{archetype}![[d100]]vs[[@{avatarperc}]]" class="ui-draggable"></button>
|
||||
<div class="sheet-content">
|
||||
<div class="sheet-avataridleaf sheet-specid">
|
||||
<div class="sheet-avatarleafidnumbox"><div class="sheet-idnumb">00386</div></div>
|
||||
<span></span>
|
||||
<div class="sheet-avatarleaf1a">
|
||||
<div class="sheet-avatartext">1a. Archetype Name</div>
|
||||
<input type="text" class="sheet-adeptleafinputt" name="attr_archetype">
|
||||
</div>
|
||||
<div class="sheet-avatarleaf1b">
|
||||
<div class="sheet-avatartext">1b. Percentage</div>
|
||||
<input type="number" class="sheet-adeptleafinputn" name="attr_avatarperc">
|
||||
</div>
|
||||
<span></span>
|
||||
<div class="sheet-avatarleaf2" style="position: relative; bottom: 145px;"><div class="sheet-avatartext">2. Taboos</div>
|
||||
<textarea name="attr_avatartaboos" class="sheet-adeptleafta"></textarea></div>
|
||||
<div class="sheet-avatarpowers"><div class="sheet-avatarleaf4"><div class="sheet-avatartext">4. Channels:</div></div>
|
||||
<div class="sheet-avatarleafchannels"><div class="sheet-avatartext">1-50%:</div><input type="text" class="sheet-adeptleafinputt" name="attr_avatarc1"></div><div class="sheet-avatarleafchannels"><div class="sheet-avatartext">51-70%:</div><input type="text" class="sheet-adeptleafinputt" name="attr_avatarc51"></div>
|
||||
<div class="sheet-avatarleafchannels"><div class="sheet-avatartext">7-90%:</div><input type="text" class="sheet-adeptleafinputt" name="attr_avatarc71"></div>
|
||||
<div class="sheet-avatarleafchannels"><div class="sheet-avatartext">91-98%:</div><input type="text" class="sheet-adeptleafinputt" name="attr_avatarc91"></div><div class="sheet-avatarleafchannels"><div class="sheet-avatartext">Godwalker:</div><input type="text" class="sheet-adeptleafinputt" name="attr_avatarc99"></div></div>
|
||||
<div class="sheet-avatarleaf2" style="position: relative; bottom: 145px; height: 87px;"><div class="sheet-avatartext">3. Symbols</div>
|
||||
<textarea name="attr_avatarsymbols" class="sheet-adeptleafta"></textarea></div>
|
||||
<div class="sheet-avatarnotes">
|
||||
<div class="sheet-avatartext">5. Notes</div>
|
||||
<textarea class="sheet-blurb" name="attr_avatarnotes"></textarea><div class="sheet-avnotesend"></div>
|
||||
<span></span>
|
||||
</div>
|
||||
<span></span>
|
||||
<div class="sheet-avatarfooter">
|
||||
<div class="sheet-avatartext" style="font-weight: bold; position: relative; top: -5px;">Form</div>
|
||||
<div class="sheet-avatarformtype">ATL-G M5</div>
|
||||
<div class="sheet-avatartext" style="position: relative; left: 38px;">permission granted to photocopy for personal use</div>
|
||||
</div>
|
||||
<span></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
After Width: | Height: | Size: 72 KiB |
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"html": "UnknownArmies3e.html",
|
||||
"css": "UnknownArmies3e.css",
|
||||
"authors": "Kevin Justus",
|
||||
"roll20userid": "129882",
|
||||
"preview": "UnknownArmies3e.png",
|
||||
"instructions": "A character sheet for the Third Edition of Unknown Armies. Made based on the most official one I could find, with some alterations to make it newbie-friendly(circular buttons replacing the push-pins at the top of the Relationship sticky notes, next to Shock Gauge names, a leaflet with buttons for the skills, and a set of buttons for Identities)."
|
||||
}
|
||||
@@ -226,7 +226,7 @@ asoiaf:
|
||||
|
||||
unknownarmies:
|
||||
- "UnknownArmies"
|
||||
- "Unknown Armies"
|
||||
- "Unknown Armies: 2nd Edition"
|
||||
- "Unknown Armies"
|
||||
|
||||
dnd5e:
|
||||
@@ -1475,4 +1475,22 @@ adnd2erevised:
|
||||
dungeonworldch:
|
||||
- "DungeonWorldChinese"
|
||||
- "Dungeon World (Chinese)"
|
||||
- "Apocalypse World Engine"
|
||||
- "Apocalypse World Engine"
|
||||
|
||||
leagueofadventuresfr:
|
||||
- "LeaguesOfAdventures-fr"
|
||||
- "Leagues of Adventure (French)"
|
||||
- "Ubiquity"
|
||||
|
||||
unknownarmies3e:
|
||||
- "Unknown Armies 3e"
|
||||
- "Unknown Armies: 3rd Edition"
|
||||
- "Unknown Armies"
|
||||
|
||||
twilight2000:
|
||||
- "Twilight-2000-v2.2"
|
||||
- "Twilight 2000"
|
||||
|
||||
fasatrek:
|
||||
- "FASATrek"
|
||||
- "FASATrek"
|
||||
|
||||
@@ -487,15 +487,15 @@
|
||||
</tr><tr>
|
||||
<td>Throwing<input style=width:35px type="text" name="attr_throwingsb" />SB<input style=width:35px type="text" name="attr_throwingml" />ML<input style=width:35px type="text" name="attr_throwingug" value='0'/><button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{throwingsb}*@{throwingml})+@{throwingug}+?{EML|0})]] Throwing skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps1"/><input style=width:35px type="text" name="attr_ps1sb" />SB<input style=width:35px type="text" name="attr_ps1ml" />ML<input style=width:35px type="text" name="attr_ps1ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps1sb}*@{ps1ml})+@{ps1ug}+?{EML|0}]] @{ps1} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps2"/><input style=width:35px type="text" name="attr_ps2sb" />SB<input style=width:35px type="text" name="attr_ps2ml" />ML<input style=width:35px type="text" name="attr_ps2ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps2sb}*@{ps2ml})+@{ps2ug+?{EML|0}]] @{ps2} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps2"/><input style=width:35px type="text" name="attr_ps2sb" />SB<input style=width:35px type="text" name="attr_ps2ml" />ML<input style=width:35px type="text" name="attr_ps2ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps2sb}*@{ps2ml})+@{ps2ug}+?{EML|0}]] @{ps2} skill.'></button></td>
|
||||
</tr><tr>
|
||||
<td><input style=width:70px type="text" name="attr_ps3"/><input style=width:35px type="text" name="attr_ps3sb" />SB<input style=width:35px type="text" name="attr_ps3ml" />ML<input style=width:35px type="text" name="attr_ps3ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps3sb}*@{ps3ml})+@{ps3ug+?{EML|0}]] @{ps3} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps4"/><input style=width:35px type="text" name="attr_ps4sb" />SB<input style=width:35px type="text" name="attr_ps4ml" />ML<input style=width:35px type="text" name="attr_ps4ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps4sb}*@{ps4ml})+@{ps4ug+?{EML|0}]] @{ps4} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps5"/><input style=width:35px type="text" name="attr_ps5sb" />SB<input style=width:35px type="text" name="attr_ps5ml" />ML<input style=width:35px type="text" name="attr_ps5ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps5sb}*@{ps5ml})+@{ps5ug+?{EML|0}]] @{ps5} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps3"/><input style=width:35px type="text" name="attr_ps3sb" />SB<input style=width:35px type="text" name="attr_ps3ml" />ML<input style=width:35px type="text" name="attr_ps3ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps3sb}*@{ps3ml})+@{ps3ug}+?{EML|0}]] @{ps3} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps4"/><input style=width:35px type="text" name="attr_ps4sb" />SB<input style=width:35px type="text" name="attr_ps4ml" />ML<input style=width:35px type="text" name="attr_ps4ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps4sb}*@{ps4ml})+@{ps4ug}+?{EML|0}]] @{ps4} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps5"/><input style=width:35px type="text" name="attr_ps5sb" />SB<input style=width:35px type="text" name="attr_ps5ml" />ML<input style=width:35px type="text" name="attr_ps5ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps5sb}*@{ps5ml})+@{ps5ug}+?{EML|0}]] @{ps5} skill.'></button></td>
|
||||
</tr><tr>
|
||||
<td><input style=width:70px type="text" name="attr_ps6"/><input style=width:35px type="text" name="attr_ps6sb" />SB<input style=width:35px type="text" name="attr_ps6ml" />ML<input style=width:35px type="text" name="attr_ps6ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps6sb}*@{ps6ml})+@{ps6ug+?{EML|0}]] @{ps6} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps7"/><input style=width:35px type="text" name="attr_ps7sb" />SB<input style=width:35px type="text" name="attr_ps7ml" />ML<input style=width:35px type="text" name="attr_ps7ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps7sb}*@{ps7ml})+@{ps7ug+?{EML|0}]] @{ps7} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps8"/><input style=width:35px type="text" name="attr_ps8sb" />SB<input style=width:35px type="text" name="attr_ps8ml" />ML<input style=width:35px type="text" name="attr_ps8ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps8sb}*@{ps8ml})+@{ps8ug+?{EML|0}]] @{ps8} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps6"/><input style=width:35px type="text" name="attr_ps6sb" />SB<input style=width:35px type="text" name="attr_ps6ml" />ML<input style=width:35px type="text" name="attr_ps6ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps6sb}*@{ps6ml})+@{ps6ug}+?{EML|0}]] @{ps6} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps7"/><input style=width:35px type="text" name="attr_ps7sb" />SB<input style=width:35px type="text" name="attr_ps7ml" />ML<input style=width:35px type="text" name="attr_ps7ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps7sb}*@{ps7ml})+@{ps7ug}+?{EML|0}]] @{ps7} skill.'></button></td>
|
||||
<td><input style=width:70px type="text" name="attr_ps8"/><input style=width:35px type="text" name="attr_ps8sb" />SB<input style=width:35px type="text" name="attr_ps8ml" />ML<input style=width:35px type="text" name="attr_ps8ug" value='0'/>UG<button type='roll' name='roll_skill' value='/me rolls [[1d100cs5cs10cs15cs20cs25cs30cs35cs40cs45cs50cs55cs60cs65cs70cs75cs80cs85cs90cs95cs100]] [[(@{ps8sb}*@{ps8ml})+@{ps8ug}+?{EML|0}]] @{ps8} skill.'></button></td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||