Merge pull request #12968 from coreyhickson/master

Torchbearer 2E: migrate off of legacy, setup pug and scss, fix disposition and exhausted roll
This commit is contained in:
Nicole Brooks
2024-06-18 14:40:37 -04:00
committed by GitHub
46 changed files with 14977 additions and 11980 deletions
+2
View File
@@ -0,0 +1,2 @@
package-lock.json
torchbearer.css.map
+16
View File
@@ -0,0 +1,16 @@
Torchbearer 2E Character Sheet
=======================
Use `npm install` to download dependancies and `npm install pug-cli -g` to download the pug CLI.
Start compiling for SCSS & PUG with `npm start` from the Torchbearer 2E directory.
## Feature Log
- Make the sheet responsive
- Add wises help text
## Known Bugs
- Backpacks have a bug requiring toggling twice to make it work
- Fresh does not get counted for a new character
+14
View File
@@ -0,0 +1,14 @@
{
"version": "1.0.0",
"scripts": {
"start": "npm-run-all --parallel sass pug",
"sass": "sass ./src/torchbearer.scss ./torchbearer.css -w --no-source-map --no-charset",
"pug": "pug ./src/torchbearer.pug -o . -w --pretty"
},
"devDependencies": {
"npm-run-all": "^4.1.5",
"pug": "^3.0.3",
"pug-cli": "^1.0.0-alpha6",
"sass": "^1.77.3"
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
{
"html": "torchbearer.html",
"css": "torchbearer.css",
"authors": "Steve K.",
"authors": "Steve K., Corey H.",
"roll20userid": "5047",
"preview": "torchbearer.jpg",
"instructions": "This character sheet is compatible with Torchbearer 2nd Edition. For more information on Torchbearer please visit <a href='https://www.burningwheel.com/'>Burning Wheel</a>.",
@@ -18,5 +18,5 @@
"description": "This option determines whether or not the sheet, by default, uses the advanced roll modal or rolls directly to chat."
}
],
"legacy": true
"legacy": false
}
+502
View File
@@ -0,0 +1,502 @@
on("sheet:opened", function (eventinfo) {
initialize();
});
const scrubAdvancement = attribute_base => {
const update = {};
update[attribute_base + "_pass"] = 0;
update[attribute_base + "_fail"] = 0;
update[attribute_base + "_bl"] = 0;
update[attribute_base + "_show_advancement"] = 0;
setAttrs(update, { silent: true });
};
const checkAdvancement = attribute_base => {
const attributes_to_fetch = [attribute_base, attribute_base + "_pass", attribute_base + "_fail", attribute_base + "_show_advancement"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const base = parseInt(attributes[attribute_base], 10);
const pass = parseInt(attributes[attribute_base + "_pass"], 10);
const fail = parseInt(attributes[attribute_base + "_fail"], 10);
const show = parseInt(attributes[attribute_base + "_show_advancement"], 10);
if (pass === base && fail === base - 1) {
update[attribute_base + "_show_advancement"] = 1;
} else if (["resources", "circles"].includes(attribute_base) && base === 0 && pass === 1) {
update[attribute_base + "_show_advancement"] = 1;
} else if (show === 1) {
update[attribute_base + "_show_advancement"] = 0;
};
setAttrs(update, { silent: true });
});
};
const doAdvancement = attribute_base => {
const attributes_to_fetch = [attribute_base];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const base = parseInt(attributes[attribute_base], 10);
update[attribute_base] = base === 0 && !["resources", "circles"].includes(attribute_base) ? 2 : base + 1;
update[attribute_base + "_advancement"] = 0;
setAttrs(update, { silent: true });
scrubAdvancement(attribute_base);
});
};
const checkBeginnersLuck = attribute_base => {
const attributes_to_fetch = [attribute_base + "_bl", attribute_base + "_show_advancement", "nature"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const nature = attributes["nature"];
const bl = attributes[attribute_base + "_bl"];
const show = parseInt(attributes[attribute_base + "_show_advancement"], 10);
if (nature === bl) {
update[attribute_base + "_show_advancement"] = 1;
} else if (show === 1) {
update[attribute_base + "_show_advancement"] = 0;
};
setAttrs(update, { silent: true });
});
};
const updateConditions = trigger_attribute => {
const attributes_to_fetch = ["fresh", "hungry_and_thirsty", "angry", "afraid", "exhausted", "injured", "sick", "dead", "bl_suffix"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const conditions = [];
const { fresh, hungry_and_thirsty, angry, afraid, exhausted, injured, sick, dead, bl_suffix } = attributes;
const bl = bl_suffix && bl_suffix !== "" ? true : false;
let town_conditions_modifier = ""; let conditions_modifier = ""; let conflict_conditions_modifier = "";
if (trigger_attribute === "fresh" && fresh && fresh !== "0") {
update["hungry_and_thirsty"] = 0; update["angry"] = 0; update["afraid"] = 0; update["exhausted"] = 0; update["injured"] = 0; update["sick"] = 0; update["dead"] = 0;
conditions_modifier = bl ? "+2[Fresh]" : "+1[Fresh]";
town_conditions_modifier = bl ? "+2[Fresh]" : "+1[Fresh]";
conflict_conditions_modifier = bl ? "+2[Fresh]" : "+1[Fresh]";
conditions.push("Fresh");
} else {
update["fresh"] = 0;
if (hungry_and_thirsty && hungry_and_thirsty !== "0") {
// conflict_conditions_modifier = conflict_conditions_modifier + "-1[Hungry and Thirsty]";
conditions.push("Hungry and Thirsty");
};
if (angry && angry !== "0") {
conditions.push("Angry");
};
if (afraid && afraid !== "0") {
conditions.push("Afraid");
};
if (exhausted && exhausted !== "0") {
// conflict_conditions_modifier = conflict_conditions_modifier + "-1[Exhausted]";
conditions.push("Exhausted");
};
if (injured && injured !== "0") {
conditions_modifier = conditions_modifier + "-1[Injured]";
conflict_conditions_modifier = conflict_conditions_modifier + "-1[Injured]";
conditions.push("Injured");
};
if (sick && sick !== "0") {
conditions_modifier = conditions_modifier + "-1[Sick]";
conflict_conditions_modifier = conflict_conditions_modifier + "-1[Sick]";
conditions.push("Sick");
};
if (dead && dead !== "0") {
conditions.push("Dead");
};
};
let display_conditions = ""
if (conditions.length) {
display_conditions = "{{conditions=" + conditions.join(", ") + "}}";
if (dead && dead !== "0") {
display_conditions = display_conditions + " {{dead=true}}";
}
}
update["roll_template_conditions"] = display_conditions;
update["town_conditions_modifier"] = town_conditions_modifier;
update["conflict_conditions_modifier"] = conflict_conditions_modifier;
update["conditions_modifier"] = conditions_modifier;
setAttrs(update, { silent: true });
});
};
const updateModifiers = trigger_attribute => {
const attributes_to_fetch = ["trait_mod", "trait_mod_type", "complex_trigger", "persona_mod", "persona_mod_number", "nature_mod", "taxed_nature", "help_mod", "help_mod_number", "gear_mod", "gear_mod_number", "party_hungry_and_thirsty_mod", "home_town_mod", "enchanted_item_mod", "invocation_mod", "spell_mod", "level_benefit_mod", "dim_light_mod", "evil_gm_factor_mod", "other_mod", "other_mod_number", "other_successes", "backpack_mod", "bl_suffix", "fresh"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const modifiers = [];
let complex_mods = ""; let roll_template_complex_mods = "";
const { trait_mod, trait_mod_type, complex_trigger, persona_mod, persona_mod_number, nature_mod, taxed_nature, help_mod, help_mod_number, gear_mod, gear_mod_number, party_hungry_and_thirsty_mod, home_town_mod, enchanted_item_mod, invocation_mod, spell_mod, level_benefit_mod, dim_light_mod, evil_gm_factor_mod, other_mod, other_mod_number, other_successes, backpack_mod, bl_suffix, fresh } = attributes;
const bl = bl_suffix && bl_suffix !== "" ? true : false;
if (trait_mod && trait_mod !== "0") {
complex_mods = complex_mods + "+" + trait_mod_type + "[Trait]";
modifiers.push("Trait " + trait_mod_type);
};
if (persona_mod && persona_mod !== "0") {
complex_mods = complex_mods + "+" + (bl ? persona_mod_number * 2 : persona_mod_number) + "[Persona]";
modifiers.push("Persona +" + persona_mod_number);
};
if (nature_mod && nature_mod !== "0") {
complex_mods = complex_mods + "+" + (bl ? taxed_nature * 2 : taxed_nature) + "[Nature]";
modifiers.push("Nature +" + taxed_nature);
};
if (help_mod && help_mod !== "0") {
complex_mods = complex_mods + "+" + help_mod_number + "[Help]";
modifiers.push("Help +" + help_mod_number);
};
if (gear_mod && gear_mod !== "0") {
complex_mods = complex_mods + "+" + gear_mod_number + "[Gear]";
modifiers.push("Gear +" + gear_mod_number);
};
if (party_hungry_and_thirsty_mod && party_hungry_and_thirsty_mod !== "0") {
// complex_mods = complex_mods + "-1[Party Hungry and Thirsty]";
modifiers.push("Party Hungry or Thirsty");
};
if (home_town_mod && home_town_mod !== "0") {
complex_mods = complex_mods + "+1[Home Town Advantage]";
modifiers.push("Home Town Advantage");
};
if (enchanted_item_mod && enchanted_item_mod !== "0") {
complex_mods = complex_mods + "+" + (bl ? 2 : 1) + "[Enchanted Item]";
modifiers.push("Enchanted Item");
};
if (invocation_mod && invocation_mod !== "0") {
complex_mods = complex_mods + "+" + (bl ? 2 : 1) + "[Invocation]";
modifiers.push("Invocation Effect");
};
if (spell_mod && spell_mod !== "0") {
complex_mods = complex_mods + "+" + (bl ? 2 : 1) + "[Spell Effect]";
modifiers.push("Spell Effect");
};
if (level_benefit_mod && level_benefit_mod !== "0") {
complex_mods = complex_mods + "+1[Level Benefit]";
modifiers.push("Level Benefit");
};
if (dim_light_mod && dim_light_mod !== "0") {
// complex_mods = complex_mods + "-1[Dim Light]";
modifiers.push("Dim Light");
};
if (evil_gm_factor_mod && evil_gm_factor_mod !== "0") {
// complex_mods = complex_mods + "-1[Evil GM Factor]";
modifiers.push("Evil GM Factor");
};
if (backpack_mod && backpack_mod !== "0") {
// complex_mods = complex_mods + "-1[Wearing Backpack]";
modifiers.push("Wearing a Backpack -1S");
};
if (other_mod && other_mod !== "0" && ((other_mod_number && other_mod_number !== "0") || (other_successes && other_successes !== "0"))) {
complex_mods = complex_mods + "+" + other_mod_number + "[Other]";
const dice_mod_operator = other_mod_number < 0 ? "" : "+";
update["other_mod_operator"] = dice_mod_operator;
const success_mod_operator = other_successes < 0 ? "" : "+";
update["other_successes_operator"] = success_mod_operator;
modifiers.push("Other Modifiers " + dice_mod_operator + other_mod_number + "D/" + success_mod_operator + other_successes + "S");
};
update["complex_mods"] = complex_mods;
update["roll_template_complex_mods"] = modifiers.length ? "{{modifiers=" + modifiers.join(", ") + "}}" : "";
setAttrs(update, { silent: true });
});
};
const activateComplexRollModal = (roll_trigger, initialize_request) => {
const update = { show_roll_modal: 1 };
update[roll_trigger] = 0;
const trigger = roll_trigger.replace(/_trigger/g, '');
update["complex_trigger"] = trigger;
update["complex_trigger_display"] = trigger.charAt(0).toUpperCase() + trigger.slice(1);
update["trigger_is_not_town"] = ["circles", "resources", "recovery_angry", "recovery_afraid", "recovery_exhausted", "recovery_injured", "recovery_sick"].includes(trigger) ? "0" : "1";
update["bl_prefix"] = "";
update["bl_suffix"] = "";
const attributes_to_fetch = [trigger, "health", "will", "skill1_bl_d", "skill2_bl_d", "skill3_bl_d", "skill4_bl_d", "skill5_bl_d", "fresh", "persona_mod", "nature_mod", "spell_effect_mod", "invocation_effect_mod", "enchanted_item_mod"];
if (trigger.includes("skill")) {
attributes_to_fetch.push(trigger + "_name");
}
getAttrs(attributes_to_fetch, attributes => {
const { health, will, fresh, persona_mod, nature_mod, spell_effect_mod, invocation_effect_mod, enchanted_item_mod } = attributes;
if (trigger.includes("skill")) {
update["complex_trigger_display"] = attributes[trigger + "_name"];
}
if (trigger === "loremaster") {
update["complex_trigger_display"] = "Lore Master";
}
if (trigger.substr(0, 9) === "recovery_") {
const recovery_name_array = trigger.split("_");
recovery_name_array[0] = recovery_name_array[0].charAt(0).toUpperCase() + recovery_name_array[0].slice(1);
recovery_name_array[1] = recovery_name_array[1].charAt(0).toUpperCase() + recovery_name_array[1].slice(1);
update["complex_trigger_display"] = recovery_name_array.join(" from ");
update["ob_type"] = "independent";
if (trigger === "recovery_angry") {
update["ob"] = 2;
} else if (trigger === "recovery_injured") {
update["ob"] = 4;
} else {
update["ob"] = 3;
}
}
let base_mod = parseInt(attributes[trigger], 10);
if (["recovery_exhausted", "recovery_injured"].includes(trigger)) {
base_mod = parseInt(health, 10);
}
if (["recovery_angry", "recovery_afraid", "recovery_sick"].includes(trigger)) {
base_mod = parseInt(will, 10);
}
if (base_mod === 0 && trigger != "resources") {
let bl_type = "will";
if (trigger.includes("skill")) {
bl_type = attributes[trigger + "_bl_d"] === 'w' ? "will" : "health";
} else {
bl_type = bl_map[trigger];
}
base_mod = parseInt(attributes[bl_type], 10);
update["bl_prefix"] = "ceil((";
update["bl_suffix"] = ")/2)";
}
update["complex_trigger_mod"] = base_mod;
setAttrs(update, { silent: true }, () => {
updateObType();
updateBackpackMod();
if (initialize_request) {
closeComplexRollModal();
}
if (update["bl_suffix"] && update["bl_suffix"] === ")/2)") {
updateModifiers();
}
});
});
};
const closeComplexRollModal = () => {
const update = {
show_roll_modal: 0,
trait_mod: 0,
trait_mod_type: 1,
persona_mod: 0,
persona_mod_number: 1,
nature_mod: 0,
nature_in_or_out: "inside",
help_mod: 0,
help_mod_number: 1,
gear_mod: 0,
gear_mod_number: 1,
party_hungry_and_thirsty_mod: 0,
home_town_mod: 0,
enchanted_item_mod: 0,
invocation_mod: 0,
spell_mod: 0,
level_benefit_mod: 0,
dim_light_mod: 0,
evil_gm_factor_mod: 0,
other_mod: 0,
other_mod_number: 1,
complex_mods: "",
};
setAttrs(update, { silent: true });
};
const bl_map = {
"alchemist": "will",
"arcanist": "will",
"armorer": "health",
"cartographer": "will",
"commander": "will",
"cook": "will",
"criminal": "health",
"dungeoneer": "health",
"fighter": "health",
"haggler": "will",
"healer": "will",
"hunter": "health",
"laborer": "health",
"loremaster": "will",
"manipulator": "will",
"mentor": "will",
"orator": "will",
"pathfinder": "health",
"peasant": "health",
"persuader": "will",
"rider": "health",
"ritualist": "will",
"sapper": "health",
"scavenger": "health",
"scholar": "will",
"scout": "will",
"survivalist": "health",
"theologian": "will",
}
const updateSuccessMod = trigger_attribute => {
const attributes_to_fetch = ["hungry_and_thirsty", "exhausted", "party_hungry_and_thirsty_mod", "dim_light_mod", "evil_gm_factor_mod", "other_mod", "other_successes", "backpack_mod"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const modifiers = [];
const { hungry_and_thirsty, exhausted, party_hungry_and_thirsty_mod, dim_light_mod, evil_gm_factor_mod, other_mod, other_successes, backpack_mod } = attributes;
if (party_hungry_and_thirsty_mod && party_hungry_and_thirsty_mod !== "0") {
modifiers.push("-1[Party Hungry or Thirsty]");
};
if (dim_light_mod && dim_light_mod !== "0") {
modifiers.push("-1[Dim Light]");
};
if (evil_gm_factor_mod && evil_gm_factor_mod !== "0") {
modifiers.push("-1[Evil GM Factor]");
};
if (hungry_and_thirsty && hungry_and_thirsty !== "0") {
modifiers.push("-1[Hungry and Thirsty]");
};
if (exhausted && exhausted !== "0") {
modifiers.push("-1[Exhausted]");
};
if (backpack_mod && backpack_mod !== "0") {
modifiers.push("-1[Backpack]");
};
if (other_mod && other_mod !== "0" && other_successes && other_successes !== "0") {
const val = parseInt(other_successes, 10) > -1 ? "+" + other_successes : other_successes;
modifiers.push(val + "[Other Modifiers]");
};
update["success_mod"] = modifiers.length ? "[[" + modifiers.join(" ") + "]]" : "0";
update["success_mod_rolltemplate"] = "{{disposition=[[@{success_mod_base}]]}}";
setAttrs(update, { silent: true });
});
}
const updateObType = () => {
const attributes_to_fetch = ["complex_trigger", "ob_type"];
getAttrs(attributes_to_fetch, attributes => {
const trigger = attributes.complex_trigger;
const ob_type = attributes.ob_type;
const update = {};
if (["circles", "resources", "recovery_angry", "recovery_afraid", "recovery_exhausted", "recovery_injured", "recovery_sick"].includes(trigger)) {
update["complex_conditions_modifier"] = "@{town_conditions_modifier}";
} else if (ob_type === "conflict") {
update["complex_conditions_modifier"] = "@{conflict_conditions_modifier}";
} else {
update["complex_conditions_modifier"] = "@{conditions_modifier}";
};
update["complex_ob_formula"] = "";
if (ob_type === "versus") {
update["complex_ob_formula"] = "d6>4";
}
if (ob_type === "conflict") {
update["complex_ob_formula"] = "*0";
update["conflict_sub_type"] = "{{might=@{might}}} ";
} else {
update["conflict_sub_type"] = " ";
}
if (ob_type === "simple") {
update["ob_type_template"] = "{{simple=true}}";
} else if (ob_type === "independent") {
update["ob_type_template"] = "{{independent=true}}";
} else if (ob_type === "versus") {
update["ob_type_template"] = "{{versus=true}}";
} else if (ob_type === "conflict") {
update["ob_type_template"] = "{{conflict=true}}";
};
setAttrs(update, { silent: true });
});
}
const updateBackpackMod = () => {
const attributes_to_fetch = ["complex_trigger", "backpack_type"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const { complex_trigger, backpack_type } = attributes;
update["backpack_mod"] = "0";
if (backpack_type === "backpack" && (complex_trigger === "fighter" || complex_trigger === "dungeoneer")) {
update["backpack_mod"] = "-1[Backpack]";
}
setAttrs(update, { silent: true });
});
}
const checkStigmata = () => {
const attributes_to_fetch = ["urdr", "burden"];
getAttrs(attributes_to_fetch, attributes => {
const update = {};
const { urdr, burden } = attributes;
update["stigmata_flag"] = "0";
if (urdr < burden) {
update["stigmata_flag"] = "1";
}
setAttrs(update, { silent: true });
});
}
const initialize = () => {
const attributes_to_fetch = ["initialized"];
getAttrs(attributes_to_fetch, attributes => {
const { initialized } = attributes;
if (initialized) {
return;
}
updateConditions("fresh");
activateComplexRollModal("resources", true);
setAttrs({ initialized: "true" });
});
}
on("change:will change:health change:nature change:resources change:circles change:alchemist change:arcanist change:armorer change:cartographer change:commander change:cook change:criminal change:dungeoneer change:fighter change:haggler change:healer change:hunter change:loremaster change:manipulator change:mentor change:orator change:pathfinder change:persuader change:rider change:ritualist change:scavenger change:scholar change:survivalist change:theologian change:skill1 change:skill2 change:skill3 change:skill4 change:skill5 change:scout change:laborer change:peasant change:sapper", function (eventinfo) {
const attribute_base = eventinfo.sourceAttribute;
scrubAdvancement(attribute_base);
});
on("change:will_pass change:will_fail change:health_pass change:health_fail change:nature_pass change:nature_fail change:resources_pass change:resources_fail change:circles_pass change:circles_fail change:alchemist_pass change:arcanist_pass change:armorer_pass change:cartographer_pass change:commander_pass change:cook_pass change:criminal_pass change:dungeoneer_pass change:fighter_pass change:haggler_pass change:healer_pass change:hunter_pass change:loremaster_pass change:manipulator_pass change:mentor_pass change:orator_pass change:pathfinder_pass change:persuader_pass change:rider_pass change:ritualist_pass change:scavenger_pass change:scholar_pass change:survivalist_pass change:theologian_pass change:skill1_pass change:skill2_pass change:skill3_pass change:skill4_pass change:skill5_pass change:alchemist_fail change:arcanist_fail change:armorer_fail change:cartographer_fail change:commander_fail change:cook_fail change:criminal_fail change:dungeoneer_fail change:fighter_fail change:haggler_fail change:healer_fail change:hunter_fail change:loremaster_fail change:manipulator_fail change:mentor_fail change:orator_fail change:pathfinder_fail change:persuader_fail change:rider_fail change:ritualist_fail change:scavenger_fail change:scholar_fail change:survivalist_fail change:theologian_fail change:skill1_fail change:skill2_fail change:skill3_fail change:skill4_fail change:skill5_fail change:scout_pass change:scout_fail change:laborer_pass change:laborer_fail change:peasant_pass change:peasant_fail change:sapper_pass change:sapper_fail", function (eventinfo) {
const attribute_base = eventinfo.sourceAttribute.replace(/_pass|_fail/g, '');
checkAdvancement(attribute_base);
});
on("change:will_advancement change:health_advancement change:nature_advancement change:resources_advancement change:circles_advancement change:alchemist_advancement change:arcanist_advancement change:armorer_advancement change:cartographer_advancement change:commander_advancement change:cook_advancement change:criminal_advancement change:dungeoneer_advancement change:fighter_advancement change:haggler_advancement change:healer_advancement change:hunter_advancement change:loremaster_advancement change:manipulator_advancement change:mentor_advancement change:orator_advancement change:pathfinder_advancement change:persuader_advancement change:rider_advancement change:ritualist_advancement change:scavenger_advancement change:scholar_advancement change:survivalist_advancement change:theologian_advancement change:skill1_advancement change:skill2_advancement change:skill3_advancement change:skill4_advancement change:skill5_advancement change:scout_advancement change:laborer_advancement change:peasant_advancement change:sapper_advancement", function (eventinfo) {
const attribute_base = eventinfo.sourceAttribute.replace(/_advancement/g, '');
doAdvancement(attribute_base);
});
on("change:alchemist_bl change:arcanist_bl change:armorer_bl change:cartographer_bl change:commander_bl change:cook_bl change:criminal_bl change:dungeoneer_bl change:fighter_bl change:haggler_bl change:healer_bl change:hunter_bl change:loremaster_bl change:manipulator_bl change:mentor_bl change:orator_bl change:pathfinder_bl change:persuader_bl change:rider_bl change:ritualist_bl change:scavenger_bl change:scholar_bl change:survivalist_bl change:theologian_bl change:skill1_bl change:skill2_bl change:skill3_bl change:skill4_bl change:skill5_bl change:scout_bl change:laborer_bl change:peasant_bl change:sapper_bl", function (eventinfo) {
const attribute_base = eventinfo.sourceAttribute.replace(/_bl/g, '');;
checkBeginnersLuck(attribute_base);
});
on("change:fresh change:hungry_and_thirsty change:angry change:afraid change:exhausted change:injured change:sick change:dead", function (eventinfo) {
updateConditions(eventinfo.sourceAttribute);
});
on("change:will_trigger change:health_trigger change:nature_trigger change:resources_trigger change:circles_trigger change:alchemist_trigger change:arcanist_trigger change:armorer_trigger change:cartographer_trigger change:commander_trigger change:cook_trigger change:criminal_trigger change:dungeoneer_trigger change:fighter_trigger change:haggler_trigger change:healer_trigger change:hunter_trigger change:loremaster_trigger change:manipulator_trigger change:mentor_trigger change:orator_trigger change:pathfinder_trigger change:persuader_trigger change:rider_trigger change:ritualist_trigger change:sapper_trigger change:scavenger_trigger change:scholar_trigger change:scout_trigger change:survivalist_trigger change:theologian_trigger change:skill1_trigger change:skill2_trigger change:skill3_trigger change:skill4_trigger change:skill5_trigger change:laborer_trigger change:peasant_trigger change:recovery_angry_trigger change:recovery_afraid_trigger change:recovery_exhausted_trigger change:recovery_injured_trigger change:recovery_sick_trigger ", function (eventinfo) {
activateComplexRollModal(eventinfo.sourceAttribute)
});
on("change:close_complex_modal", eventinfo => {
closeComplexRollModal();
})
on("change:skill1_bl change:skill2_bl change:skill3_bl change:skill4_bl change:skill5_bl", eventinfo => {
const update = {};
if (eventinfo.newValue === "[[round(@{will}/2)]][Will]") {
update[eventinfo.sourceAttribute + "_d"] = "w";
} else if (eventinfo.newValue === "[[round(@{health}/2)]][Health]") {
update[eventinfo.sourceAttribute + "_d"] = "h";
}
setAttrs(update, { silent: true });
});
on("change:trait_mod change:trait_mod_type change:persona_mod change:persona_mod_number change:nature_mod change:help_mod change:help_mod_number change:gear_mod change:gear_mod_number change:party_hungry_and_thirsty_mod change:home_town_mod change:enchanted_item_mod change:invocation_mod change:spell_mod change:level_benefit_mod change:dim_light_mod change:evil_gm_factor_mod change:other_mod change:other_mod_number change:backpack_type", eventinfo => {
updateModifiers(eventinfo.sourceAttribute);
});
on("change:exhausted change:hungry_and_thirsty change:party_hungry_and_thirsty_mod change:dim_light_mod change:evil_gm_factor_mod change:other_mod change:other_successes", eventinfo => {
updateSuccessMod(eventinfo.sourceAttribute);
updateModifiers(eventinfo.sourceAttribute);
});
on("change:ob_type", eventinfo => {
updateObType();
});
on("change:backpack_type", eventinfo => {
updateBackpackMod();
});
on("change:urdr change:burden", eventinfo => {
checkStigmata();
})
View File
@@ -0,0 +1,674 @@
input.sheet-flag.sheet-modal-flag(
value="0"
name="attr_show_roll_modal"
type="hidden"
)
#complex-roll-modal.sheet-complex-roll-modal.sheet-hidden
input.sheet-close-complex-modal(
name="attr_close_complex_modal"
type="checkbox"
)
span
.sheet-header
span
span(name="attr_complex_trigger_display")
| Check
.sheet-roll-obstacle
.sheet-column-3
span.sheet-font-bigger.sheet-bold Obstacle Type
.sheet-row.sheet-check-container
input.sheet-underlined(
checked=""
value="independent"
name="attr_ob_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Independent
.sheet-row.sheet-check-container
input.sheet-underlined(
value="versus"
name="attr_ob_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Versus
.sheet-row.sheet-check-container
input.sheet-underlined(
value="conflict"
name="attr_ob_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Disposition
.sheet-row.sheet-check-container
input.sheet-underlined(
value="simple"
name="attr_ob_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Simple
.sheet-column-3
span.sheet-font-bigger.sheet-bold You're Rolling
input.char-sheet.sheet-ob-input.sheet-rolling(
value="@{bl_prefix}@{complex_trigger_mod}@{complex_conditions_modifier}@{complex_mods}@{bl_suffix}"
disabled="true"
name="attr_complex_rolling"
type="number"
)
.sheet-column-3
input.char-sheet.sheet-flag.sheet-ob-flag(
value="independent"
name="attr_ob_type"
type="hidden"
)
span.sheet-font-bigger.sheet-bold.sheet-hidden.sheet-independent.sheet-versus Against
span.sheet-font-bigger.sheet-bold.sheet-hidden.sheet-conflict Disposition
span.sheet-font-small.sheet-bold.sheet-hidden.sheet-independent Obstacle #
span.sheet-font-small.sheet-bold.sheet-hidden.sheet-versus Opponent's # of Dice
.sheet-font-small.sheet-bold.sheet-hidden.sheet-conflict.sheet-relative.sheet-disposition-type
.sheet-relative
input.sheet-underlined(
checked=""
value="@{will}"
name="attr_success_mod_base"
type="radio"
)
span
span Will
.sheet-relative
input.sheet-underlined(
value="@{health}"
name="attr_success_mod_base"
type="radio"
)
span
span Health
.sheet-relative
input.sheet-underlined(
value="@{nature}"
name="attr_success_mod_base"
type="radio"
)
span
span Nature
.sheet-relative
select.sheet-disposition-subtype(name="attr_conflict_sub_type")
option(value="{{might=@{might}}} ") Might
option(value="{{precedence=@{precedence}}} ") Precedence
option(value=" ") Neither
input.char-sheet.sheet-hidden.sheet-independent.sheet-versus.sheet-ob-input(
min="0"
value="1"
name="attr_ob"
type="number"
)
input.char-sheet.sheet-hidden.sheet-conflict.sheet-ob-input(
value="@{success_mod_base}+@{success_mod}"
disabled="true"
name="attr_complex_successes"
type="number"
)
button.sheet-complex-roll-button(
value="&{template:complex} {{roll_name=@{complex_trigger_display}}} {{number_of_dice=[[@{complex_rolling}]]}} {{result=[[[[@{complex_rolling}]]d6>4]]}} @{roll_template_conditions} @{roll_template_complex_mods} @{ob_type_template} {{ob=[[@{ob}@{complex_ob_formula}]]}} @{success_mod_rolltemplate} {{success_mod=@{success_mod}}} @{conflict_sub_type} {{character=@{character_name}}}"
name="roll_complex"
type="roll"
)
span.sheet-handwritten Roll
// <input type="checkbox" name="attr_complex_roll_listener" class="sheet-complex-roll-listener">
.sheet-roll-choices
.sheet-column-2
span.sheet-font-bigger.sheet-bold Options
input.sheet-flag.sheet-ob-flag(
value="independent"
name="attr_ob_type"
type="hidden"
)
.sheet-row.sheet-check-container.trait-row
input.char-sheet.sheet-underlined.sheet-trait-mod(
value="@{trait_mod_type}"
name="attr_trait_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Using Trait
.sheet-hidden.sheet-trait-mod-options
select.sheet-underlined-select.sheet-trait-select(name="attr_trait_mod_type")
option(value="1") For Self (+1D)
option(value="-1") Against Self (-1D)
option.sheet-hidden.sheet-versus(value="2") Opponent Using Trait Against Themselves (+2D)
.sheet-row.sheet-check-container
input.sheet-underlined.sheet-persona(
value="@{persona_mod_number}"
name="attr_persona_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Spend Persona
.sheet-hidden.sheet-persona-options
input.sheet-underlined-input(
max="3"
min="1"
value="1"
name="attr_persona_mod_number"
type="number"
)
.sheet-row.sheet-check-container
input.sheet-underlined.sheet-nature(
value="@{nature}"
name="attr_nature_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small
| Use Nature (+
span(name="attr_taxed_nature")
| D)
.sheet-hidden.sheet-nature-options
select.sheet-underlined-select.sheet-nature-select(name="attr_nature_in_or_out")
option(value="inside") Inside
option(value="outside") Outside
.sheet-row.sheet-check-container
input.sheet-underlined.sheet-help(
value="@{help_mod_number}"
name="attr_help_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Help or Aid
.sheet-hidden.sheet-help-options
input.sheet-underlined-input(
value="1"
name="attr_help_mod_number"
type="number"
)
.sheet-row.sheet-check-container
input.sheet-underlined.sheet-gear(
value="@{gear_mod_number}"
name="attr_gear_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Gear or Supplies
.sheet-hidden.sheet-gear-options
input.sheet-underlined-input(
value="1"
name="attr_gear_mod_number"
type="number"
)
.sheet-row.sheet-check-container.sheet-hidden.sheet-conflict
input.sheet-underlined(
value="-1"
name="attr_party_hungry_and_thirsty_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Party is Hungry and Thirsty (-1S)
input.sheet-flag.sheet-town-ability-flag(
name="attr_complex_trigger"
type="hidden"
)
.sheet-row.sheet-check-container.sheet-hidden.sheet-town-ability
input.sheet-underlined(
value="1"
name="attr_home_town_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Home Town (+1D)
.sheet-row.sheet-check-container
input.sheet-underlined(
value="1"
name="attr_enchanted_item_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Enchanted Item Effect (+1D)
.sheet-row.sheet-check-container
input.sheet-underlined(
value="1"
name="attr_invocation_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Invocation Effect (+1D)
.sheet-row.sheet-check-container
input.sheet-underlined(
value="1"
name="attr_spell_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Spell Effect (+1D)
.sheet-row.sheet-check-container
input.sheet-underlined(
value="1"
name="attr_level_benefit_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Level Benefit (+1D)
.sheet-row.sheet-check-container
input.sheet-underlined(
value="-1"
name="attr_dim_light_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Dim Light (-1S)
.sheet-row.sheet-check-container
input.sheet-underlined(
value="-1"
name="attr_evil_gm_factor_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Evil GM Factor (-1S)
.sheet-row.sheet-check-container.sheet-bottom
input.sheet-underlined.sheet-other(
value="@{other_mod_number}"
name="attr_other_mod"
type="checkbox"
)
span
span.sheet-bold.sheet-font-small Other Modifiers
.sheet-hidden.sheet-other-options
span.sheet-handwritten Dice
input.sheet-underlined-input(
value="1"
name="attr_other_mod_number"
type="number"
)
span.sheet-handwritten Successes
input.sheet-underlined-input(
value="1"
name="attr_other_successes"
type="number"
)
.sheet-column-2
input.sheet-flag.sheet-ob-flag(
value="independent"
name="attr_ob_type"
type="hidden"
)
span.sheet-font-bigger.sheet-bold Active Modifiers
.sheet-row
span
span(name="attr_complex_trigger_display")
| (+
span(name="attr_complex_trigger_mod")
| D)
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_fresh"
type="hidden"
)
span.sheet-hidden.sheet-mod Fresh (+1D)
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_injured"
type="hidden"
)
input.sheet-flag.sheet-not-town(
name="attr_trigger_is_not_town"
type="hidden"
)
span.sheet-hidden.sheet-mod Injured (-1D)
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_sick"
type="hidden"
)
input.sheet-flag.sheet-not-town(
name="attr_trigger_is_not_town"
type="hidden"
)
span.sheet-hidden.sheet-mod Sick (-1D)
.sheet-row.sheet-hidden.sheet-conflict
input.sheet-flag.sheet-mod-flag(
name="attr_exhausted"
type="hidden"
)
span.sheet-hidden.sheet-mod Exhausted (-1S)
.sheet-row.sheet-hidden.sheet-conflict
input.sheet-flag.sheet-mod-flag(
name="attr_hungry_and_thirsty"
type="hidden"
)
span.sheet-hidden.sheet-mod Hungry and Thirsty (-1S)
.sheet-row.sheet-hidden.sheet-conflict
input.sheet-flag.sheet-mod-flag(
name="attr_party_hungry_and_thirsty_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Party is Hungry and Thirsty (-1S)
.sheet-row
input.sheet-flag.sheet-mod-flag(
value="0"
name="attr_backpack_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Wearing a Backpack (-1S)
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_trait_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod
| Trait (+
span(name="attr_trait_mod_type")
| D)
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_persona_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod
| Persona (+
span(name="attr_persona_mod_number")
| D)
span.sheet-danger
| Spending
span(name="attr_persona_mod_number")
| Persona
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_nature_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod
| Nature (+
span(name="attr_taxed_nature")
| D)
input.sheet-flag.sheet-in-or-out(
value="in"
name="attr_nature_in_or_out"
type="hidden"
)
span.sheet-hidden.sheet-out.sheet-danger Outside Taxes Nature
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_help_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod
| Help or Aid (+
span(name="attr_help_mod_number")
| D)
.sheet-row
input.sheet-flag.sheet-mod-flag(
name="attr_gear_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod
| Gear or Supplies (+
span(name="attr_gear_mod_number")
| D)
input.sheet-flag.sheet-town-ability-flag(
name="attr_complex_trigger"
type="hidden"
)
.sheet-row.sheet-hidden.sheet-town-ability
input.sheet-flag.sheet-mod-flag(
name="attr_home_town_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Home Town (+1D)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_enchanted_item_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Enchanted Item Effect (+1D)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_invocation_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Invocation Effect (+1D)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_spell_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Spell Effect (+1D)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_level_benefit_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Level Benefit (+1D)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_dim_light_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Dim Light (-1S)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_evil_gm_factor_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod Evil GM Factor (-1S)
.sheet-row.sheet-hidden
input.sheet-flag.sheet-mod-flag(
name="attr_other_mod"
type="hidden"
)
span.sheet-hidden.sheet-mod
| Other Modifiers (
span(name="attr_other_mod_operator")
span(name="attr_other_mod_number")
| D)
| (
span(name="attr_other_successes_operator")
span(name="attr_other_successes")
| S)
.sheet-row
input.sheet-flag.sheet-mod-flag-bl(
name="attr_bl_suffix"
type="hidden"
)
input.sheet-flag.sheet-mod-flag-bl(
name="attr_bl_prefix"
type="hidden"
)
span.sheet-hidden.sheet-mod Beginner's Luck (Total Halved)
.sheet-rolltemplates
rolltemplate.sheet-rolltemplate-simple
.sheet-container
.sheet-header
span.sheet-name {{roll_name}} {{number_of_dice}}
.sheet-sub-header
| {{#character}}
span.sheet-faint {{character}}
| {{#bl}}
span -
| {{/bl}}
| {{/character}}
| {{#description}}
.row
span.description {{description}}
| {{/description}}
| {{#bl}}
span.sheet-faint
| Beginner's Luck (
span.sheet-caps {{bl}}
| )
| {{/bl}}
.sheet-result
| {{#dead}}
.sheet-failure.sheet-handwritten.sheet-dead
span.sheet-row You're dead, seems unlikely
| {{/dead}}
| {{^dead}}
| {{#rollGreater() result 1}}
.sheet-success.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-success.sheet-handwritten
span Successes
| {{/rollGreater() result 1}}
| {{#rollTotal() result 1}}
.sheet-success.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-success.sheet-handwritten
span Success
| {{/rollTotal() result 1}}
| {{#rollTotal() result 0}}
.sheet-failure.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-failure.sheet-handwritten
span Successes
| {{/rollTotal() result 0}}
| {{/dead}}
.sheet-conditions
| {{#conditions}}
span.sheet-handwritten {{conditions}}
| {{/conditions}}
rolltemplate.sheet-rolltemplate-complex
.sheet-container
.sheet-header
span.sheet-name {{roll_name}} {{number_of_dice}}
.sheet-sub-header
| {{#character}}
span.sheet-faint {{character}}
| {{#bl}}
span -
| {{/bl}} {{/character}} {{#bl}}
span.sheet-faint
| Beginner's Luck (
span.sheet-caps {{bl}}
| )
| {{/bl}}
.sheet-result
| {{#dead}}
.sheet-failure.sheet-handwritten.sheet-dead
span.sheet-row You're dead, seems unlikely
| {{/dead}}
| {{^dead}}
| {{#simple}}
| {{#rollGreater() result 1}}
.sheet-success.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-success.sheet-handwritten
span Successes
| {{/rollGreater() result 1}}
| {{#rollTotal() result 1}}
.sheet-success.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-success.sheet-handwritten
span Success
| {{/rollTotal() result 1}}
| {{#rollTotal() result 0}}
.sheet-failure.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-failure.sheet-handwritten
span Successes
| {{/rollTotal() result 0}}
| {{/simple}}
| {{^simple}}
.sheet-column-3
| {{#rollLess() result ob}}
.sheet-failure.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-failure.sheet-handwritten
| {{#rollTotal() result 1}}
span Success
| {{/rollTotal() result 1}} {{#^rollTotal() result 1}}
span Successes
| {{/^rollTotal() result 1}}
| {{/rollLess() result ob}}
| {{#^rollLess() result ob}}
.sheet-success.sheet-handwritten
span {{result}}
.sheet-success-footer.sheet-success.sheet-handwritten
| {{#rollTotal() result 1}}
span Success
| {{/rollTotal() result 1}}
| {{#^rollTotal() result 1}}
span Successes
| {{/^rollTotal() result 1}}
div
| {{#success_mod}}
| {{#^rollTotal() success_mod 0}}
| {{#^rollLess() success_mod 0}}
.sheet-success.sheet-handwritten
span.sheet-operator +
span {{success_mod}}
.sheet-success-footer.sheet-success.sheet-handwritten
| {{#rollTotal() success_mod 1}}
span Success
| {{/rollTotal() success_mod 1}}
| {{#^rollTotal() success_mod 1}}
span Successes
| {{/^rollTotal() success_mod 1}}
| {{/^rollLess() success_mod 0}}
| {{#rollLess() success_mod 0}}
.sheet-failure.sheet-handwritten
span {{success_mod}}
.sheet-success-footer.sheet-faiure.sheet-handwritten
| {{#rollTotal() success_mod 1}}
span Success
| {{/rollTotal() success_mod 1}}
| {{#^rollTotal() success_mod 1}}
span Successes
| {{/^rollTotal() success_mod 1}}
| {{/rollLess() success_mod 0}}
| {{/^rollTotal() success_mod 0}}
| {{/success_mod}}
| {{/^rollLess() result ob}}
| {{#conflict}}
.sheet-column-3
.sheet-handwritten
span +
.sheet-column-3
.sheet-success.sheet-handwritten
span {{disposition}}
.sheet-success-footer.sheet-success.sheet-handwritten
span Disposition
| {{/conflict}}
| {{^conflict}}
.sheet-column-3
.sheet-vs
span VS
.sheet-column-3
| {{#rollLess() ob result}}
.sheet-failure.sheet-handwritten
span {{ob}}
.sheet-success-footer.sheet-failure.sheet-handwritten
| {{#independent}}
span Obstacle
| {{/independent}} {{#versus}}
span Opponent
| {{/versus}}
| {{/rollLess() ob result}} {{#^rollLess() ob result}}
.sheet-success.sheet-handwritten
span {{ob}}
.sheet-success-footer.sheet-success.sheet-handwritten
| {{#independent}}
span Obstacle
| {{/independent}} {{#versus}}
span Opponent
| {{/versus}}
| {{/^rollLess() ob result}}
| {{/conflict}}
| {{/simple}}
| {{/dead}}
| {{#conflict}}
.sheet-conflict-subtype
span.sheet-handwritten
| {{#might}}Might {{might}}{{/might}} {{#precedence}}Precedence
| {{precedence}}{{/precedence}}
| {{/conflict}}
.sheet-conditions
| {{#conditions}}
span.sheet-handwritten {{conditions}}
| {{/conditions}}
| {{#modifiers}}
| {{#conditions}}
span.sheet-handwritten.sheet-comma ,
| {{/conditions}}
span.sheet-handwritten {{modifiers}}
| {{/modifiers}}
@@ -0,0 +1,23 @@
.sheet-container
include ./../pages/tabs.pug
// PAGE 1 - ANATOMY
include ./../pages/anatomy.pug
// PAGE 2 - KIT
include ./../pages/kit.pug
// PAGE 3 - MAGIC
include ./../pages/magic.pug
// PAGE 4 - RELATIONSHIPS
include ./../pages/relationships.pug
// PAGE 5 - LEVEL REQUIREMENTS & BENEFITS
include ./../pages/levels.pug
// PAGE 6 - OPTIONS
include ./../pages/options.pug
// HIDDEN FIELDS
include ./../pages/hidden.pug
File diff suppressed because it is too large Load Diff
+93
View File
@@ -0,0 +1,93 @@
input(
name="attr_roll_template_conditions"
type="hidden"
)
input(
name="attr_conditions_modifier"
type="hidden"
)
input(
name="attr_town_conditions_modifier"
type="hidden"
)
input(
name="attr_conflict_conditions_modifier"
type="hidden"
)
input(
name="attr_complex_trigger"
type="hidden"
)
input(
value="0"
name="attr_complex_trigger_mod"
type="hidden"
)
input(
name="attr_complex_trigger_display"
type="hidden"
)
input(
value=""
name="attr_complex_mods"
type="hidden"
)
input(
value="@{conditions_modifier}"
name="attr_complex_conditions_modifier"
type="hidden"
)
input(
name="attr_roll_template_complex_mods"
type="hidden"
)
input(
value=""
name="attr_complex_ob_formula"
type="hidden"
)
input(
value=""
name="attr_ob_type_template"
type="hidden"
)
input(
value="0"
name="attr_success_mod"
type="hidden"
)
input(
value="{{disposition=[[@{success_mod_base}]]}}"
name="attr_success_mod_rolltemplate"
type="hidden"
)
input(
value="0"
name="attr_backpack_mod"
type="hidden"
)
input(
value=""
name="attr_bl_prefix"
type="hidden"
)
input(
value=""
name="attr_bl_suffix"
type="hidden"
)
input(
value="false"
name="attr_initialized"
type="hidden"
)
input(
value=""
name="attr_other_mod_operator"
type="hidden"
)
input(
value=""
name="attr_other_successes_operator"
type="hidden"
)
+857
View File
@@ -0,0 +1,857 @@
.sheet-page2.sheet-tabcontainer.sheet-hidden
// FATE
#inventory.sheet-section.sheet-inventory
.sheet-header
span Inventory
.sheet-inventory-row
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Head
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_head1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_head1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_head1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Neck
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_neck1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_neck1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_neck1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Hands
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_hands1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_hands1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_hands1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_hands2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_hands2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_hands2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Carried
input.sheet-textinput.sheet-edit(
name="attr_inventory_hands3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_hands3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_hands3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Carried
input.sheet-textinput.sheet-edit(
name="attr_inventory_hands4"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_hands4")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_hands4_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Feet
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_feet1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_feet1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_feet1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-row
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Torso
input.sheet-flag.sheet-backpack-flag(
value="none"
name="attr_backpack_type"
type="hidden"
)
.sheet-inventory-container.sheet-hidden.sheet-satchel
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
span.sheet-handwritten.sheet-font-big Satchel
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_torso1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-container.sheet-hidden.sheet-backpack
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
span.sheet-handwritten.sheet-font-big Backpack
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_torso1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-container.sheet-hidden.sheet-backpack
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
span.sheet-handwritten.sheet-font-big Backpack
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_torso2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-container.sheet-hidden.sheet-none
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_torso1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_torso1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_torso1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-container.sheet-hidden.sheet-none.sheet-satchel
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_torso2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_torso2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_torso2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Worn
input.sheet-textinput.sheet-edit(
name="attr_inventory_torso3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_torso3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_torso3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Belt
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 1
input.sheet-textinput.sheet-edit(
name="attr_inventory_belt1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_belt1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_belt1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 2
input.sheet-textinput.sheet-edit(
name="attr_inventory_belt2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_belt2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_belt2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 3
input.sheet-textinput.sheet-edit(
name="attr_inventory_belt3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_belt3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_belt3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-bold Belt items:
span
| belt 1, pack 1, or weapon 1. Bundled pack items must be kept in a
| purse or pouch.
.sheet-inventory-section
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Pocket
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold Trinkets
input.sheet-textinput.sheet-edit(
name="attr_inventory_pocket1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_pocket1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_pocket1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-row
.sheet-edit
.sheet-relative
input.sheet-underlined(
checked=""
value="none"
name="attr_backpack_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold No Bag
.sheet-relative
input.sheet-underlined(
value="satchel"
name="attr_backpack_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Satchel
.sheet-relative
input.sheet-underlined(
value="backpack"
name="attr_backpack_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Backpack
input.sheet-flag.sheet-backpack-flag(
name="attr_backpack_type"
type="hidden"
)
.sheet-inventory-section.sheet-hidden.sheet-satchel
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Satchel
.sheet-row.sheet-inventory-container.sheet-faint
span.sheet-bold.sheet-font-small Satchel:
span.sheet-font-small Torso/Worn 1
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 1
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 2
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 3
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section.sheet-hidden.sheet-backpack
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Backpack
.sheet-row.sheet-inventory-container.sheet-faint
span.sheet-bold.sheet-font-small Backpack:
span.sheet-font-small Torso/Worn 2.
span.sheet-italic.sheet-font-small Factor for Dungeoneer and Fighter.
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 1
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 2
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 3
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 4
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack4"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack4")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack4_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 5
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack5"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack5")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack5_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 6
input.sheet-textinput.sheet-edit(
name="attr_inventory_backpack6"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_inventory_backpack6")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_inventory_backpack6_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-row.sheet-end
fieldset(class="repeating_container")
.sheet-inventory-section
.sheet-edit
.sheet-relative
input.sheet-underlined(
checked=""
value="small"
name="attr_container_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Small Sack
.sheet-relative
input.sheet-underlined(
value="large"
name="attr_container_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Large Sack
.sheet-relative
input.sheet-underlined(
value="cache"
name="attr_container_type"
type="radio"
)
span
span.sheet-font-small.sheet-bold Cache
input.sheet-flag.sheet-container-flag(
value="small"
name="attr_container_type"
type="hidden"
)
.sheet-inventory-section.sheet-hidden.sheet-small
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Small Sack
.sheet-carried-options
div
input.sheet-underlined(
value="carried"
name="attr_carry_option"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-faint.sheet-bold Carried
div
input.sheet-underlined(
value="dropped"
name="attr_carry_option"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-faint.sheet-bold Dropped
div
input.sheet-underlined(
value="lost"
name="attr_carry_option"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-faint.sheet-bold Lost
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 1
input.sheet-textinput.sheet-edit(
name="attr_container1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 2
input.sheet-textinput.sheet-edit(
name="attr_container2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section.sheet-hidden.sheet-large
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Large Sack
.sheet-row.sheet-inventory-container.sheet-faint.sheet-font-small
span Requires two hands to carry or pack 1 when empty
.sheet-carried-options
div
input.sheet-underlined(
value="carried"
name="attr_carry_option"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-faint.sheet-bold Carried
div
input.sheet-underlined(
value="dropped"
name="attr_carry_option"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-faint.sheet-bold Dropped
div
input.sheet-underlined(
value="lost"
name="attr_carry_option"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-faint.sheet-bold Lost
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 1
input.sheet-textinput.sheet-edit(
name="attr_container1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 2
input.sheet-textinput.sheet-edit(
name="attr_container2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 3
input.sheet-textinput.sheet-edit(
name="attr_container3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 4
input.sheet-textinput.sheet-edit(
name="attr_container4"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container4")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container4_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 5
input.sheet-textinput.sheet-edit(
name="attr_container5"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container5")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container5_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 6
input.sheet-textinput.sheet-edit(
name="attr_container6"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container6")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container6_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-inventory-section.sheet-hidden.sheet-cache
.sheet-row.sheet-name-header
span.sheet-font-bigger.sheet-bold Cache
.sheet-row.sheet-inventory-container.sheet-faint.sheet-font-small
span Stashed in camp, in your home, or at your mom's house
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 1
input.sheet-textinput.sheet-edit(
name="attr_container1"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container1")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container1_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 2
input.sheet-textinput.sheet-edit(
name="attr_container2"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container2")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container2_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 3
input.sheet-textinput.sheet-edit(
name="attr_container3"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container3")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container3_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 4
input.sheet-textinput.sheet-edit(
name="attr_container4"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container4")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container4_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 5
input.sheet-textinput.sheet-edit(
name="attr_container5"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container5")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container5_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 6
input.sheet-textinput.sheet-edit(
name="attr_container6"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container6")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container6_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 7
input.sheet-textinput.sheet-edit(
name="attr_container7"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container7")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container7_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 8
input.sheet-textinput.sheet-edit(
name="attr_container8"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container8")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container8_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 9
input.sheet-textinput.sheet-edit(
name="attr_container9"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container9")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container9_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 10
input.sheet-textinput.sheet-edit(
name="attr_container10"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container10")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container10_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 11
input.sheet-textinput.sheet-edit(
name="attr_container11"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container11")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container11_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
.sheet-row.sheet-inventory-container
span.sheet-font-small.sheet-faint.sheet-worn.sheet-bold 12
input.sheet-textinput.sheet-edit(
name="attr_container12"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_container12")
.sheet-status-container
input.sheet-underlined.sheet-edit(
value="1"
name="attr_container12_damaged"
type="checkbox"
)
span.sheet-edit
span.sheet-font-small.sheet-status.sheet-faint.sheet-edit.sheet-bold Damaged
+117
View File
@@ -0,0 +1,117 @@
.sheet-page5.sheet-tabcontainer.sheet-hidden
// LEVEL REQUIREMENTS & BENEFITS
#levels.sheet-section.sheet-levels
.sheet-header
span Level Requirements and Benefits
.sheet-levels-section
.sheet-row
.sheet-level-number
span.sheet-bold.sheet-font-small Level
.sheet-level-f
span.sheet-bold.sheet-font-small F
.sheet-level-p
span.sheet-bold.sheet-font-small P
.sheet-level-benefits
span.sheet-bold.sheet-font-small Level Benefits
.sheet-row.sheet-level-row.sheet-shaded.sheet-1
.sheet-level-number
span.sheet-bold.sheet-font-small 1
.sheet-level-f
span.sheet-bold.sheet-font-small 0
.sheet-level-p
span.sheet-bold.sheet-font-small 0
.sheet-level-benefits
textarea.sheet-edit(name="attr_level1_benefits")
span.sheet-play.sheet-handwritten +1D to Resources in your home town,
span.sheet-play.sheet-handwritten(name="attr_level1_benefits")
.sheet-row.sheet-level-row.sheet-2
.sheet-level-number
span.sheet-bold.sheet-font-small 2
.sheet-level-f
span.sheet-bold.sheet-font-small 3
.sheet-level-p
span.sheet-bold.sheet-font-small 3
.sheet-level-benefits
textarea.sheet-edit(name="attr_level2_benefits")
span.sheet-play.sheet-handwritten(name="attr_level2_benefits")
.sheet-row.sheet-level-row.sheet-shaded.sheet-3
.sheet-level-number
span.sheet-bold.sheet-font-small 3
.sheet-level-f
span.sheet-bold.sheet-font-small 7
.sheet-level-p
span.sheet-bold.sheet-font-small 6
.sheet-level-benefits
textarea.sheet-edit(name="attr_level3_benefits")
span.sheet-play.sheet-handwritten +1D to Circles in your home town,
span.sheet-play.sheet-handwritten(name="attr_level3_benefits")
.sheet-row.sheet-level-row.sheet-4
.sheet-level-number
span.sheet-bold.sheet-font-small 4
.sheet-level-f
span.sheet-bold.sheet-font-small 14
.sheet-level-p
span.sheet-bold.sheet-font-small 12
.sheet-level-benefits
textarea.sheet-edit(name="attr_level4_benefits")
span.sheet-play.sheet-handwritten(name="attr_level4_benefits")
.sheet-row.sheet-level-row.sheet-shaded.sheet-5
.sheet-level-number
span.sheet-bold.sheet-font-small 5
.sheet-level-f
span.sheet-bold.sheet-font-small 22
.sheet-level-p
span.sheet-bold.sheet-font-small 20
.sheet-level-benefits
textarea.sheet-edit(name="attr_level5_benefits")
span.sheet-play.sheet-handwritten(name="attr_level5_benefits")
.sheet-row.sheet-level-row.sheet-6
.sheet-level-number
span.sheet-bold.sheet-font-small 6
.sheet-level-f
span.sheet-bold.sheet-font-small 31
.sheet-level-p
span.sheet-bold.sheet-font-small 30
.sheet-level-benefits
textarea.sheet-edit(name="attr_level6_benefits")
span.sheet-play.sheet-handwritten(name="attr_level6_benefits")
.sheet-row.sheet-level-row.sheet-shaded.sheet-7
.sheet-level-number
span.sheet-bold.sheet-font-small 7
.sheet-level-f
span.sheet-bold.sheet-font-small 41
.sheet-level-p
span.sheet-bold.sheet-font-small 42
.sheet-level-benefits
textarea.sheet-edit(name="attr_level7_benefits")
span.sheet-play.sheet-handwritten(name="attr_level7_benefits")
.sheet-row.sheet-level-row.sheet-8
.sheet-level-number
span.sheet-bold.sheet-font-small 8
.sheet-level-f
span.sheet-bold.sheet-font-small 52
.sheet-level-p
span.sheet-bold.sheet-font-small 56
.sheet-level-benefits
textarea.sheet-edit(name="attr_level8_benefits")
span.sheet-play.sheet-handwritten(name="attr_level8_benefits")
.sheet-row.sheet-level-row.sheet-shaded.sheet-9
.sheet-level-number
span.sheet-bold.sheet-font-small 9
.sheet-level-f
span.sheet-bold.sheet-font-small 64
.sheet-level-p
span.sheet-bold.sheet-font-small 72
.sheet-level-benefits
textarea.sheet-edit(name="attr_level9_benefits")
span.sheet-play.sheet-handwritten(name="attr_level9_benefits")
.sheet-row.sheet-level-row.sheet-10
.sheet-level-number
span.sheet-bold.sheet-font-small 10
.sheet-level-f
span.sheet-bold.sheet-font-small 78
.sheet-level-p
span.sheet-bold.sheet-font-small 98
.sheet-level-benefits
textarea.sheet-edit(name="attr_level10_benefits")
span.sheet-play.sheet-handwritten(name="attr_level10_benefits")
+270
View File
@@ -0,0 +1,270 @@
.sheet-page3.sheet-tabcontainer.sheet-hidden
// RELICS
#relics.sheet-section.sheet-relics
.sheet-header
span Relics
.sheet-relic-section
.sheet-row
.sheet-relic-name
span.sheet-bold.sheet-font-small Relic
.sheet-relic-inventory
span.sheet-bold.sheet-font-small Inventory
.sheet-relic-invocation
span.sheet-bold.sheet-font-small Invocation/Patron/Circle
fieldset(class="repeating_relics")
.sheet-row
.sheet-relic-name
input.sheet-textinput.sheet-edit(
name="attr_relic_name"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relic_name")
.sheet-relic-inventory
input.sheet-textinput.sheet-edit(
name="attr_relic_inventory"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relic_inventory")
.sheet-relic-invocation
input.sheet-textinput.sheet-edit(
name="attr_relic_invocation"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relic_invocation")
.sheet-urdr-burden-section
div
span.sheet-row.sheet-font-bigger.sheet-faint Urdr
div
input.sheet-normal.sheet-zero(
checked="checked"
value="0"
name="attr_urdr"
type="radio"
)
span
input.sheet-normal(
value="1"
name="attr_urdr"
type="radio"
)
span
input.sheet-normal(
value="2"
name="attr_urdr"
type="radio"
)
span
input.sheet-normal(
value="3"
name="attr_urdr"
type="radio"
)
span
input.sheet-normal(
value="4"
name="attr_urdr"
type="radio"
)
span
span.sheet-row.sheet-font-bigger.sheet-faint Burden
div
input.sheet-normal.sheet-zero(
checked="checked"
value="0"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="1"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="2"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="3"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="4"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="5"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="6"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="7"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="8"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="9"
name="attr_burden"
type="radio"
)
span
input.sheet-normal(
value="10"
name="attr_burden"
type="radio"
)
span
input.sheet-flag.sheet-stigmata-flag(
value="0"
name="attr_stigmata_flag"
type="hidden"
)
span.sheet-danger.sheet-handwritten.sheet-hidden.sheet-stigmata Stigmata
// RELICS
#spells.sheet-section.sheet-spells
.sheet-header
span Arcane Spells
.sheet-memory-palace
div
span.sheet-row.sheet-font-bigger.sheet-faint.sheet-underlined Memory Palace
div
input.sheet-normal.sheet-zero(
checked="checked"
value="0"
name="attr_memory_palace"
type="radio"
)
span
input.sheet-normal(
value="1"
name="attr_memory_palace"
type="radio"
)
span
input.sheet-normal(
value="2"
name="attr_memory_palace"
type="radio"
)
span
input.sheet-normal(
value="3"
name="attr_memory_palace"
type="radio"
)
span
input.sheet-normal(
value="4"
name="attr_memory_palace"
type="radio"
)
span
input.sheet-normal(
value="5"
name="attr_memory_palace"
type="radio"
)
span
.sheet-spells-section
.sheet-row
.sheet-spell-name
span.sheet-bold.sheet-font-small Spell
.sheet-spell-ob
span.sheet-bold.sheet-font-small Ob
.sheet-spell-known
span.sheet-bold.sheet-font-small known
.sheet-spell-book
span.sheet-bold.sheet-font-small spell book
.sheet-spell-mem
span.sheet-bold.sheet-font-small mem.
.sheet-spell-cast
span.sheet-bold.sheet-font-small cast
.sheet-spell-scroll
span.sheet-bold.sheet-font-small scroll
.sheet-spell-supplies
span.sheet-bold.sheet-font-small supplies
.sheet-spell-effect.sheet-title
span.sheet-bold.sheet-font-small effect
fieldset(class="repeating_spells")
.sheet-row
.sheet-spell-name
input.sheet-textinput.sheet-edit(
name="attr_spell_name"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_spell_name")
.sheet-spell-ob
input.sheet-numberinput.sheet-edit(
name="attr_spell_ob"
type="number"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_spell_ob")
.sheet-spell-known
input.sheet-underlined(
value="1"
name="attr_spell_known"
type="checkbox"
)
span
.sheet-spell-book
input.sheet-underlined(
value="1"
name="attr_spell_book"
type="checkbox"
)
span
.sheet-spell-mem
input.sheet-underlined(
value="1"
name="attr_spell_mem"
type="checkbox"
)
span
.sheet-spell-cast
input.sheet-underlined(
value="1"
name="attr_spell_cast"
type="checkbox"
)
span
.sheet-spell-scroll
input.sheet-underlined(
value="1"
name="attr_spell_scroll"
type="checkbox"
)
span
.sheet-spell-supplies
input.sheet-underlined(
value="1"
name="attr_spell_supplies"
type="checkbox"
)
span
.sheet-spell-effect
input.sheet-textinput.sheet-edit(
name="attr_spell_effect"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_spell_effect")
+26
View File
@@ -0,0 +1,26 @@
.sheet-page6.sheet-tabcontainer.sheet-hidden
// SHEET SETTINGS
#settings.sheet-section.sheet-levels
.sheet-header
span Sheet Settings
.sheet-section
span.sheet-row.sheet-font-bigger.sheet-bold Roll Style
.sheet-relative
input.sheet-underlined(
checked="checked"
value="complex"
name="attr_roll_type"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-bold Complex
span.sheet-font-small.sheet-status.sheet-faint - Uses advanced roll modal
.sheet-relative
input.sheet-underlined(
value="simple"
name="attr_roll_type"
type="radio"
)
span
span.sheet-font-small.sheet-status.sheet-bold Simple
span.sheet-font-small.sheet-status.sheet-faint - Roll directly to chat
@@ -0,0 +1,41 @@
.sheet-page4.sheet-tabcontainer.sheet-hidden
// ALLIES & ENEMIES
#relationships.sheet-section.sheet-relationships
.sheet-header
span Allies & Enemies
.sheet-relationship-section
.sheet-row
.sheet-relationship-name
span.sheet-bold.sheet-font-small Name
.sheet-relationship-location
span.sheet-bold.sheet-font-small Location
.sheet-relationship-status
span.sheet-bold.sheet-font-small Status
.sheet-relationship-notes
span.sheet-bold.sheet-font-small Notes
fieldset(class="repeating_relationships")
.sheet-row
.sheet-relationship-name
input.sheet-textinput.sheet-edit(
name="attr_relationship_name"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relationship_name")
.sheet-relationship-location
input.sheet-textinput.sheet-edit(
name="attr_relationship_location"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relationship_location")
.sheet-relationship-status
input.sheet-textinput.sheet-edit(
name="attr_relationship_status"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relationship_status")
.sheet-relationship-notes
input.sheet-textinput.sheet-edit(
name="attr_relationship_notes"
type="text"
)
span.sheet-play.sheet-handwritten.sheet-font-big(name="attr_relationship_notes")
+50
View File
@@ -0,0 +1,50 @@
input.sheet-absolute.sheet-tab.sheet-editing(
checked="checked"
value="0"
name="attr_edit"
type="radio"
)
span Edit Mode
input.sheet-absolute.sheet-tab.sheet-playing(
value="1"
name="attr_edit"
type="radio"
)
span Play Mode
input.sheet-absolute.sheet-tab.sheet-page1(
checked="checked"
value="page1"
name="attr_tab"
type="radio"
)
span Anatomy
input.sheet-absolute.sheet-tab.sheet-page2(
value="page2"
name="attr_tab"
type="radio"
)
span Kit
input.sheet-absolute.sheet-tab.sheet-page3(
value="page3"
name="attr_tab"
type="radio"
)
span Magic
input.sheet-absolute.sheet-tab.sheet-page4(
value="page4"
name="attr_tab"
type="radio"
)
span Relationships
input.sheet-absolute.sheet-tab.sheet-page5(
value="page5"
name="attr_tab"
type="radio"
)
span Level
input.sheet-absolute.sheet-tab.sheet-page6(
value="page6"
name="attr_tab"
type="radio"
)
span Options
View File
View File
View File
View File
View File
View File
@@ -0,0 +1,136 @@
/* ABILITIES AND SKILLS */
.sheet-raw-abilities,
.sheet-town-abilities {
display: inline-block;
width: 95px;
padding-right: 5px;
vertical-align: top;
position: relative;
height: 30px;
&.sheet-nature {
width: 80px;
}
input.sheet-edit {
width: 100px;
}
}
.sheet-rating {
display: inline-block;
width: 25px;
margin-right: 10px;
text-align: center;
vertical-align: top;
&.sheet-nature {
width: 40px;
.sheet-edit {
width: 12px !important;
}
}
&:not(.sheet-header-only) {
border-radius: 0;
border-bottom: 2px solid rgba(165, 165, 165, 0.8);
font-size: 1.2em;
line-height: 0.9;
}
}
.sheet-advancement {
display: inline-block;
width: 110px;
line-height: 10px;
position: relative;
.sheet-edit {
width: 68px;
position: absolute;
top: -5px;
right: 0;
select {
width: 68px;
}
}
}
.sheet-nature-descriptor {
display: inline-block;
margin-left: 5px;
&:not(:last-child) span::after {
content: ",";
}
input {
width: 120px;
}
}
.sheet-abilities .sheet-row,
.sheet-skills .sheet-row {
height: 30px;
}
.sheet-might-container {
vertical-align: top;
.sheet-might {
display: inline-block;
margin-right: 15px;
}
input[type="radio"].sheet-editing:checked ~ .sheet-tabcontainer .sheet-might + .sheet-rating {
position: relative;
min-height: 25px;
}
}
.sheet-beginner-checks .sheet-bl-label {
margin-right: -7px;
}
.sheet-skill-footer {
.sheet-footer-left,
.sheet-footer-right {
display: inline-block;
}
.sheet-footer-left {
width: 22.5%;
border-right: 1px solid black;
}
.sheet-footer-right {
width: 76%;
}
.sheet-row {
height: 12px;
}
}
.sheet-roll_type[value="simple"] ~ div .sheet-precedence {
margin-left: 9px;
}
.sheet-column-skills {
width: calc(50% - 2px);
display: inline-block;
vertical-align: top;
}
.sheet-bl-ability {
position: absolute;
right: 14px;
font-size: 0.8em;
}
.sheet-bl-ability-flag[value="w"] ~ .sheet-w,
.sheet-bl-ability-flag[value="h"] ~ .sheet-h {
display: inline-block;
}
+200
View File
@@ -0,0 +1,200 @@
@import 'variables.scss';
/* Bubble Styling */
input[type="radio"].sheet-normal {
position: absolute;
opacity: 0;
width: 10px;
cursor: pointer;
z-index: 10;
margin-top: 5px;
margin-right: -4px;
}
input[type="radio"].sheet-normal+span::before {
border: solid 1px #000000;
line-height: 11px;
text-align: center;
display: inline-block;
vertical-align: middle;
-moz-box-shadow: 0 0 0px #000;
-webkit-box-shadow: 0 0 0px #000;
box-shadow: 0 0 0px #000;
background: #000000;
background: -moz-radial-gradient(#f6f6f6, #dfdfdf);
background: -webkit-radial-gradient(#f6f6f6, #dfdfdf);
background: -ms-radial-gradient(#f6f6f6, #dfdfdf);
background: -o-radial-gradient(#f6f6f6, #dfdfdf);
background: radial-gradient(#f6f6f6, #dfdfdf);
}
input[type="radio"].sheet-normal+span::before {
content: "";
width: 8px;
height: 8px;
font-size: 40.9px;
font-family: $font_family_3;
text-indent: -3px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
margin-right: -4px;
}
input[type="radio"].sheet-normal:checked~input[type="radio"]+span::before {
content: "";
}
input.sheet-zero:checked+span::before {
opacity: 0;
}
input.sheet-zero:hover+span::before {
opacity: 0.25;
font-size: 12px;
content: "";
text-indent: -1px;
}
input.sheet-zero+span::before {
opacity: 0;
}
.sheet-advancement-flag[value="0"]~.sheet-advancement-pass .sheet-0,
.sheet-advancement-flag[value="1"]~.sheet-advancement-pass .sheet-1,
.sheet-advancement-flag[value="2"]~.sheet-advancement-pass .sheet-1,
.sheet-advancement-flag[value="2"]~.sheet-advancement-pass .sheet-2,
.sheet-advancement-flag[value="3"]~.sheet-advancement-pass .sheet-1,
.sheet-advancement-flag[value="3"]~.sheet-advancement-pass .sheet-2,
.sheet-advancement-flag[value="3"]~.sheet-advancement-pass .sheet-3,
.sheet-advancement-flag[value="4"]~.sheet-advancement-pass .sheet-1,
.sheet-advancement-flag[value="4"]~.sheet-advancement-pass .sheet-2,
.sheet-advancement-flag[value="4"]~.sheet-advancement-pass .sheet-3,
.sheet-advancement-flag[value="4"]~.sheet-advancement-pass .sheet-4,
.sheet-advancement-flag[value="5"]~.sheet-advancement-pass .sheet-1,
.sheet-advancement-flag[value="5"]~.sheet-advancement-pass .sheet-2,
.sheet-advancement-flag[value="5"]~.sheet-advancement-pass .sheet-3,
.sheet-advancement-flag[value="5"]~.sheet-advancement-pass .sheet-4,
.sheet-advancement-flag[value="5"]~.sheet-advancement-pass .sheet-5,
.sheet-max10.sheet-advancement-flag[value="0"]~.sheet-advancement-pass .sheet-1,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-pass .sheet-1,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-pass .sheet-2,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-pass .sheet-3,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-pass .sheet-4,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-pass .sheet-5,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-pass .sheet-6,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-1,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-2,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-3,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-4,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-5,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-6,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-pass .sheet-7,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-1,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-2,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-3,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-4,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-5,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-6,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-7,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-pass .sheet-8,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-1,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-2,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-3,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-4,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-5,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-6,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-7,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-8,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-pass .sheet-9,
.sheet-advancement-flag[value="2"]~.sheet-advancement-fail .sheet-1,
.sheet-advancement-flag[value="3"]~.sheet-advancement-fail .sheet-1,
.sheet-advancement-flag[value="3"]~.sheet-advancement-fail .sheet-2,
.sheet-advancement-flag[value="4"]~.sheet-advancement-fail .sheet-1,
.sheet-advancement-flag[value="4"]~.sheet-advancement-fail .sheet-2,
.sheet-advancement-flag[value="4"]~.sheet-advancement-fail .sheet-3,
.sheet-advancement-flag[value="5"]~.sheet-advancement-fail .sheet-1,
.sheet-advancement-flag[value="5"]~.sheet-advancement-fail .sheet-2,
.sheet-advancement-flag[value="5"]~.sheet-advancement-fail .sheet-3,
.sheet-advancement-flag[value="5"]~.sheet-advancement-fail .sheet-4,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-fail .sheet-1,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-fail .sheet-2,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-fail .sheet-3,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-fail .sheet-4,
.sheet-max10.sheet-advancement-flag[value="6"]~.sheet-advancement-fail .sheet-5,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-fail .sheet-1,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-fail .sheet-2,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-fail .sheet-3,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-fail .sheet-4,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-fail .sheet-5,
.sheet-max10.sheet-advancement-flag[value="7"]~.sheet-advancement-fail .sheet-6,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-1,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-2,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-3,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-4,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-5,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-6,
.sheet-max10.sheet-advancement-flag[value="8"]~.sheet-advancement-fail .sheet-7,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-1,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-2,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-3,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-4,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-5,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-6,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-7,
.sheet-max10.sheet-advancement-flag[value="9"]~.sheet-advancement-fail .sheet-8,
.sheet-untaxed_nature[value="1"]~div .sheet-beginner-checks .sheet-1,
.sheet-untaxed_nature[value="2"]~div .sheet-beginner-checks .sheet-1,
.sheet-untaxed_nature[value="2"]~div .sheet-beginner-checks .sheet-2,
.sheet-untaxed_nature[value="3"]~div .sheet-beginner-checks .sheet-1,
.sheet-untaxed_nature[value="3"]~div .sheet-beginner-checks .sheet-2,
.sheet-untaxed_nature[value="3"]~div .sheet-beginner-checks .sheet-3,
.sheet-untaxed_nature[value="4"]~div .sheet-beginner-checks .sheet-1,
.sheet-untaxed_nature[value="4"]~div .sheet-beginner-checks .sheet-2,
.sheet-untaxed_nature[value="4"]~div .sheet-beginner-checks .sheet-3,
.sheet-untaxed_nature[value="4"]~div .sheet-beginner-checks .sheet-4,
.sheet-untaxed_nature[value="5"]~div .sheet-beginner-checks .sheet-1,
.sheet-untaxed_nature[value="5"]~div .sheet-beginner-checks .sheet-2,
.sheet-untaxed_nature[value="5"]~div .sheet-beginner-checks .sheet-3,
.sheet-untaxed_nature[value="5"]~div .sheet-beginner-checks .sheet-4,
.sheet-untaxed_nature[value="5"]~div .sheet-beginner-checks .sheet-5,
.sheet-untaxed_nature[value="6"]~div .sheet-beginner-checks .sheet-1,
.sheet-untaxed_nature[value="6"]~div .sheet-beginner-checks .sheet-2,
.sheet-untaxed_nature[value="6"]~div .sheet-beginner-checks .sheet-3,
.sheet-untaxed_nature[value="6"]~div .sheet-beginner-checks .sheet-4,
.sheet-untaxed_nature[value="6"]~div .sheet-beginner-checks .sheet-5,
.sheet-untaxed_nature[value="6"]~div .sheet-beginner-checks .sheet-6,
.sheet-show-advancement[value="1"]~.sheet-advancement-checkbox,
.sheet-roll_type[value="simple"]~div .sheet-beginner_luck_flag[value="0"]~.sheet-simple_roll.sheet-beginner_luck,
.sheet-roll_type[value="simple"]~div .sheet-beginner_luck_flag:not([value="0"])~.sheet-simple_roll.sheet-normal,
.sheet-roll_type[value="complex"]~div .sheet-complex_roll {
display: inline-block;
}
.sheet-advancement-flag[value="0"]:not(.sheet-max10)~.sheet-advancement-pass,
.sheet-advancement-flag[value="0"]:not(.sheet-max10)~.sheet-advancement-fail,
.sheet-advancement-flag:not([value="0"])~.sheet-beginner-checks {
display: none;
}
.sheet-advancement-checkbox {
position: absolute;
right: 0;
top: 0;
width: 15px;
height: 15px;
}
input[type="checkbox"].sheet-advancement-checkbox {
opacity: 0;
cursor: pointer;
z-index: 10;
height: 15px;
}
input[type="checkbox"].sheet-advancement-checkbox+span {
background: url("https://i.imgur.com/lz44L8d.png");
background-size: 100% 100%;
}
+25
View File
@@ -0,0 +1,25 @@
@import 'variables.scss';
/* Fate Styling */
.sheet-fate {
.sheet-box {
display: inline-block;
padding: 5px;
border: 2px solid $grey;
margin-right: -5px;
width: 60px;
position: relative;
}
.sheet-name-header {
margin-top: 10px;
}
.sheet-compact {
margin-top: 3px;
}
}
.sheet-check-info .sheet-compact {
margin-top: 3px;
}
+91
View File
@@ -0,0 +1,91 @@
@import 'variables.scss';
/* Condition Checkbox Styling */
.sheet-conditions {
.sheet-body {
.sheet-condition {
position: relative;
.sheet-bold {
margin-left: 3px;
}
}
.sheet-leftside {
height: 19px;
display: inline-block;
width: 70%;
}
.sheet-rightside {
height: 19px;
display: inline-block;
width: 27%;
position: relative;
.sheet-complex_roll {
top: 7px;
}
.sheet-simple_roll {
vertical-align: bottom;
}
}
.sheet-right {
text-align: right;
.sheet-complex_roll,
.sheet-complex_roll + span {
width: 60px;
}
}
}
}
.sheet-hidden.sheet-condition-display {
display: none;
}
input.sheet-condition-flag[value="1"] + .sheet-condition-display {
display: block;
}
.sheet-warning {
background-color: $background_yellow;
border: 1px solid rgba(165, 165, 165, 0.8);
border-radius: 5px;
padding: 5px;
margin: 5px 0;
.sheet-skills {
.sheet-row {
height: 18px;
}
input.sheet-afraid-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills {
input.sheet-beginner_luck_flag[value="0"] {
~ button,
~ input,
~ input + span {
cursor: not-allowed;
pointer-events: none;
color: $grey;
}
}
}
input.sheet-sick-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills {
input[type="radio"],
input[type="radio"] + span {
cursor: not-allowed;
pointer-events: none;
color: $grey;
&::before {
background: radial-gradient($grey, $grey);
border: 1px solid $grey;
}
}
}
}
}
+54
View File
@@ -0,0 +1,54 @@
@import 'variables.scss';
/* Edit/Play Mode Styles */
/* Common styles for sheet-edit */
.sheet-edit,
.sheet-edit>select {
background-color: $background_yellow;
}
/* Define width for each specific sheet-edit */
.sheet-name .sheet-edit {
width: 102px;
}
.sheet-stock .sheet-edit {
width: 103px;
}
.sheet-class .sheet-edit {
width: 107px;
}
.sheet-home .sheet-edit {
width: 101px;
}
.sheet-raiment .sheet-edit {
width: 333px;
}
.sheet-parents .sheet-edit {
width: 90px;
}
.sheet-mentor .sheet-edit {
width: 91px;
}
.sheet-friend .sheet-edit {
width: 98px;
}
.sheet-enemy .sheet-edit {
width: 95px;
}
/* Hide sheet-edit when sheet-playing or sheet-editing is checked */
input[type="radio"].sheet-playing:checked~.sheet-edit,
input[type="radio"].sheet-editing:checked~.sheet-play,
input[type="radio"].sheet-playing:checked~.sheet-tabcontainer .sheet-edit,
input[type="radio"].sheet-editing:checked~.sheet-tabcontainer .sheet-play {
display: none;
}
+97
View File
@@ -0,0 +1,97 @@
/* INVENTORY STYLING */
.sheet-inventory .sheet-name-header {
border-bottom: 2px solid rgba(165, 165, 165, 0.8);
}
/* Common styles for inventory rows */
.sheet-inventory-row {
display: inline-block;
margin-right: 10px;
vertical-align: top;
max-height: 450px;
}
/* Common styles for inventory sections */
.sheet-inventory-section {
width: 190px;
margin-bottom: 20px;
}
/* Common styles for inventory containers */
.sheet-inventory-container {
min-height: 30px;
width: 100%;
}
/* Common styles for status container */
.sheet-inventory-container .sheet-status-container {
position: relative;
}
/* Styling for status checkbox */
input[type="radio"].sheet-editing:not(:checked) ~ .sheet-tabcontainer .sheet-inventory-container .sheet-status-container input[type="checkbox"]:checked ~ span.sheet-status {
display: inline-block;
position: absolute;
left: 55px;
top: -5px;
}
/* Styling for inventory text input */
.sheet-inventory-container .sheet-textinput {
width: 140px;
}
/* Common styles for status */
.sheet-status {
background: none;
}
/* Margin for worn items */
.sheet-worn {
margin-right: 5px;
}
/* Display options for backpack, container, and cache */
input.sheet-backpack-flag[value="none"] ~ .sheet-none,
input.sheet-backpack-flag[value="satchel"] ~ .sheet-satchel,
input.sheet-backpack-flag[value="backpack"] ~ .sheet-backpack,
input.sheet-container-flag[value="small"] ~ .sheet-small,
input.sheet-container-flag[value="large"] ~ .sheet-large,
input.sheet-container-flag[value="cache"] ~ .sheet-cache {
display: inline-block;
}
/* Common styles for inventory items */
.sheet-inventory .repitem {
display: inline-block;
vertical-align: top;
margin-right: 10px;
}
/* Max-width for the end of inventory rows */
.sheet-inventory-row.sheet-end {
max-width: 400px;
}
/* Common styles for carried options */
.sheet-carried-options div {
display: inline-block;
position: relative;
}
/* Styling for underlined input */
.sheet-carried-options input.sheet-underlined,
.sheet-carried-options input.sheet-underlined + span {
width: 15px !important;
}
/* Styling for checked underlined input */
.sheet-carried-options input[type="radio"].sheet-underlined:checked + span::before {
left: 3px;
}
/* Z-index for item control */
.sheet-inventory-row .itemcontrol {
z-index: 99;
}
+63
View File
@@ -0,0 +1,63 @@
/* LEVELS STYLING */
.sheet-level-number,
.sheet-level-f,
.sheet-level-p,
.sheet-level-benefits {
display: inline-block;
text-align: center;
border-bottom: 1px solid rgba(165, 165, 165, 0.8);
}
.sheet-level-row {
&:not(:first-child) {
.sheet-level-number,
.sheet-level-f,
.sheet-level-p,
.sheet-level-benefits {
padding-top: 15px;
padding-bottom: 15px;
}
}
&.sheet-shaded {
background-color: rgba(165, 165, 165, 0.3);
}
&:not(:first-child) {
.sheet-level-f,
.sheet-level-p,
.sheet-level-benefits {
border-left: 1px solid rgba(165, 165, 165, 0.8);
}
}
}
.sheet-level-number {
width: 50px;
font-weight: bold;
}
.sheet-level-f,
.sheet-level-p {
width: 30px;
}
.sheet-level-benefits {
width: 930px;
padding-left: 10px;
text-align: left;
}
.sheet-levels {
.sheet-row:first-child,
.sheet-row.sheet-level-row {
display: flex;
}
textarea {
height: 18px;
margin: 0;
width: 920px;
resize: vertical;
}
}
+175
View File
@@ -0,0 +1,175 @@
@import 'variables.scss';
/* Common Dimensions and Colors */
$relic-width-small: 200px;
$relic-width-large: 300px;
$relic-height: 25px;
$border-color-light: rgba(165, 165, 165, 0.8);
$background-color-light: rgba(165, 165, 165, 0.3);
/* MAGIC STYLING */
.sheet-relic {
&-name,
&-inventory,
&-invocation {
display: inline-block;
min-height: $relic-height;
position: relative;
span {
position: absolute;
bottom: 0;
}
input {
position: absolute;
bottom: -3px;
}
}
&-name,
&-inventory {
width: $relic-width-small;
}
&-invocation {
width: $relic-width-large;
}
}
.sheet-relics {
width: 100%;
.sheet-header {
width: 100%;
}
.sheet-row {
border-bottom: 1px solid $border-color-light;
}
}
.sheet-relic-section {
margin-right: 25px;
display: inline-block;
}
.sheet-urdr-burden-section {
display: inline-block;
vertical-align: top;
width: 250px;
.sheet-row {
width: 100%;
}
span {
&.sheet-faint,
&.sheet-handwritten {
padding-left: 15px;
}
&.sheet-danger.sheet-handwritten {
color: $red;
-webkit-text-stroke-color: $red;
}
}
}
input.sheet-stigmata-flag[value="1"]~.sheet-stigmata {
display: inline-block;
}
.sheet-spells {
position: relative;
.sheet-header {
width: 100%;
}
.sheet-memory-palace {
position: absolute;
top: 0;
right: 45px;
span.sheet-faint {
width: 250px;
}
}
.sheet-row {
display: flex !important;
border-bottom: 1px solid $border-color-light;
}
.sheet-underlined {
border-bottom: 1px solid $border-color-light;
padding-left: 15px;
}
input[type="checkbox"]:checked+span::before {
left: 30px !important;
}
}
.sheet-spells-section {
width: 1060px;
}
.sheet-spell {
&-name,
&-ob,
&-known,
&-book,
&-mem,
&-cast,
&-scroll,
&-supplies {
min-height: $relic-height;
position: relative;
vertical-align: top;
text-align: center;
}
&-name,
&-effect {
width: 355px;
padding-left: 5px;
&.sheet-title {
text-align: center;
}
span {
margin-left: 15px;
}
input {
width: 355px;
}
}
&-ob,
&-book,
&-cast,
&-supplies {
background-color: $background-color-light;
}
&-name {
width: $relic-width-small;
}
&-ob,
&-known,
&-book,
&-mem,
&-cast,
&-scroll,
&-supplies {
width: 70px;
}
}
@@ -0,0 +1,30 @@
/* RELATIONSHIP STYLING */
.sheet-relationships .sheet-row {
display: flex !important;
width: 1060px;
border-bottom: 1px solid rgba(165, 165, 165, 0.8);
}
.sheet-relationship-name,
.sheet-relationship-name input {
width: 200px;
}
.sheet-relationship-location,
.sheet-relationship-location input {
width: 150px;
}
.sheet-relationship-status,
.sheet-relationship-status input {
width: 150px;
}
.sheet-relationship-notes,
.sheet-relationship-notes input {
width: 560px;
}
.sheet-relationship-notes span {
margin-left: 15px;
}
+283
View File
@@ -0,0 +1,283 @@
@import 'variables.scss';
// Variables
$modal-bg-color: rgb(240, 240, 240);
$border-color: rgba(165, 165, 165, 0.8);
$checkbox-dimensions: 15px;
// Mixins
@mixin absolute-position($top, $right, $z-index: auto) {
position: absolute;
top: $top;
right: $right;
z-index: $z-index;
}
// Complex Roll Styling
.sheet-modal-flag[value="1"]+.sheet-complex-roll-modal {
display: block;
position: fixed;
top: 100px;
right: 0;
left: 0;
margin: 0 auto;
z-index: 100;
width: 500px;
background: $modal-bg-color;
border: 2px solid rgba(64, 64, 64, 0.8);
border-radius: 5px;
padding: 10px;
}
input[type="checkbox"].sheet-close-complex-modal,
input[type="checkbox"].sheet-close-complex-modal+span {
@include absolute-position(0, 0);
width: $checkbox-dimensions;
height: $checkbox-dimensions;
}
input[type="checkbox"].sheet-close-complex-modal {
cursor: pointer;
opacity: 0;
z-index: 101;
}
input[type="checkbox"].sheet-close-complex-modal+span::before {
content: "";
}
.sheet-check-container {
position: relative;
height: 25px;
}
input.sheet-ob-flag {
&[value="independent"]~.sheet-independent,
&[value="versus"]~.sheet-versus,
&[value="versus"]~div .sheet-versus,
&[value="conflict"]~.sheet-conflict {
display: block;
}
}
.sheet-roll-choices {
border-top: 2px solid $border-color;
margin-top: 10px;
padding-top: 10px;
}
.sheet-trait-mod:checked~.sheet-trait-mod-options,
.sheet-persona:checked~.sheet-persona-options,
.sheet-nature:checked~.sheet-nature-options,
.sheet-help:checked~.sheet-help-options,
.sheet-gear:checked~.sheet-gear-options,
.sheet-other:checked~.sheet-other-options,
input.sheet-town-ability-flag {
display: inline-block;
&[value="circles"]+.sheet-town-ability,
&[value="resources"]+.sheet-town-ability {
display: inline-block;
}
}
input.sheet-mod-flag:not([value="0"])+.sheet-mod,
input.sheet-mod-flag[value="1"]+input.sheet-not-town[value="1"]+.sheet-mod,
input.sheet-mod-flag-bl[value="ceil(("]+.sheet-mod,
input.sheet-in-or-out[value="outside"]+.sheet-out {
display: inline-block;
}
.sheet-row.sheet-check-container.sheet-hidden,
.sheet-row.sheet-conflict.sheet-hidden {
display: none;
}
.sheet-trait-select {
width: 130px;
}
.sheet-nature-select {
width: 80px;
}
input[type="number"].char-sheet.sheet-ob-input {
font-family: $font_family_2;
color: $blue;
font-weight: bold;
text-transform: uppercase;
-webkit-text-stroke-width: 0.3px;
-webkit-text-stroke-color: $blue;
letter-spacing: normal;
background: none;
border: none;
border-bottom: 2px solid $border-color;
width: 50px;
text-align: center;
padding: 0;
font-size: 2.5em;
}
.sheet-roll-obstacle {
position: relative;
}
.sheet-rolling {
margin-top: 17px;
}
button[type="roll"].sheet-complex-roll-button {
@include absolute-position(auto, 10px, 10);
bottom: -5px;
width: 33%;
height: 25px;
background: $blue;
border: 2px solid $border-color;
text-align: center;
}
button[type="roll"].sheet-complex-roll-button span {
color: $white;
-webkit-text-stroke-color: $white;
}
.sheet-disposition-type {
width: 110%;
input[type="radio"].sheet-underlined {
&+span {
margin-right: 3px;
::before {
left: 3px;
}
}
width: 15px !important;
}
div {
display: inline-block;
}
.sheet-disposition-subtype {
@include absolute-position(10px, 0);
width: 85px;
}
}
.sheet-check-container.sheet-bottom {
height: 40px;
}
// Roll Template Styling
.sheet-rolltemplate {
&-simple,
&-complex {
.sheet-container {
background: $modal-bg-color;
border: 2px solid $grey;
border-radius: 5px;
padding: 10px;
}
.sheet-name {
color: $blue;
font-family: $font_family_1;
font-size: 1.4em;
font-weight: 700;
font-variant: small-caps;
letter-spacing: -2px;
text-shadow: 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0,
0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0,
0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0,
0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0;
}
.sheet-faint {
color: $grey;
font-size: 0.85em;
font-family: $font_family_1;
letter-spacing: -1px;
}
.sheet-result {
text-align: center;
font-size: 2em;
}
.sheet-success-footer {
font-size: 0.35em;
}
.sheet-dead {
font-size: 0.8em;
line-height: 1;
}
.sheet-conditions {
line-height: 10px;
.sheet-handwritten {
font-size: 0.8em;
color: $grey;
-webkit-text-stroke-color: $grey;
}
}
.inlinerollresult,
.fullcrit,
.fullfail,
.importantroll {
background: none !important;
border: none !important;
}
.sheet-caps {
text-transform: uppercase;
}
.sheet-handwritten {
font-family: $font_family_2;
color: $blue;
font-weight: bold;
text-transform: uppercase;
-webkit-text-stroke-width: 0.3px;
-webkit-text-stroke-color: $blue;
letter-spacing: normal;
&.sheet-failure {
color: $dark_red;
-webkit-text-stroke-color: $dark_red;
}
}
.sheet-comma {
margin-left: -5px;
}
.sheet-column-3 {
display: inline-block;
vertical-align: top;
padding-right: 5px;
}
.sheet-vs {
color: $grey;
font-size: 0.55em;
font-family: $font_family_1;
letter-spacing: -1px;
margin: 0 -15px;
}
.sheet-conflict-subtype {
text-align: center;
}
.sheet-operator {
margin-right: -15px;
}
}
}
+314
View File
@@ -0,0 +1,314 @@
@import 'variables.scss';
/* General Styling */
.sheet-bold {
font-weight: bold;
}
.sheet-italic {
font-style: italic;
}
.sheet-center {
text-align: center;
}
.sheet-hidden {
display: none;
}
.sheet-font-smallest {
font-size: 0.75em;
}
.sheet-font-smaller {
font-size: 0.8em;
}
.sheet-font-small {
font-size: 0.9em;
}
.sheet-font-big {
font-size: 1.1em;
}
.sheet-font-bigger {
font-size: 1.2em;
}
.sheet-font-biggest {
font-size: 1.4em;
}
span {
font-family: $font_family_1;
letter-spacing: -1px;
}
.sheet-column-2 {
width: calc(49% - 5px);
display: inline-block;
vertical-align: top;
padding-right: 5px;
}
.sheet-column-3 {
width: calc(32% - 5px);
display: inline-block;
vertical-align: top;
padding-right: 5px;
}
.sheet-compact {
display: block;
line-height: 1.2;
}
.sheet-left {
float: left;
}
.sheet-right {
float: right;
}
.sheet-faint {
color: $grey;
}
.sheet-footer {
bottom: 0;
left: 0;
position: absolute;
text-align: center;
width: 100%;
}
.sheet-danger {
color: $red;
}
.sheet-relative {
position: relative;
}
/* Button Styling */
button[type="roll"] {
background-color: $background_transparent;
color: $dark_grey;
border: none;
font-size: 1em !important;
text-align: left;
background-image: none;
text-shadow: none;
box-shadow: none;
padding: 0px;
margin: 0px;
width: 100%;
overflow: hidden;
}
button[type="roll"]::before {
content: "" !important;
}
button[type="roll"]:hover,
input[type="checkbox"].sheet-complex_roll:hover+span.sheet-complex_roll {
color: $blue;
}
.sheet-complex_roll {
position: absolute;
right: 0;
top: 0;
width: 100%;
height: 100%;
}
input[type="checkbox"].sheet-complex_roll {
opacity: 0;
cursor: pointer;
z-index: 10;
height: 100%;
width: 100%;
}
input[type="checkbox"].sheet-underlined,
input[type="radio"].sheet-underlined {
position: absolute;
opacity: 0;
width: 30px;
cursor: pointer;
z-index: 10;
&:checked+span::before {
content: "x";
position: absolute;
top: -4px;
left: 11px;
}
}
/* Header Styling */
.sheet-header {
color: $blue;
font-family: $font_family_1;
font-size: 1.6em;
font-weight: 700;
font-variant: small-caps;
letter-spacing: -2px;
text-shadow: 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0,
0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0,
0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0,
0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0;
background-image: linear-gradient(to right,
rgba(216, 216, 216, 0.6),
rgba(238, 222, 222, 0));
border-radius: 25px;
padding-left: 8px;
margin-top: 5px;
}
.sheet-center-column .sheet-header {
text-align: center;
padding: 0px;
}
/* Handwritten Styling */
.sheet-handwritten {
font-family: $font_family_2;
color: $blue;
font-weight: bold;
text-transform: uppercase;
-webkit-text-stroke-width: 0.3px;
-webkit-text-stroke-color: $blue;
letter-spacing: normal;
}
.sheet-underlined-input,
input[type="checkbox"].sheet-underlined+span,
input[type="radio"].sheet-underlined+span,
.sheet-persona-input {
font-family: $font_family_2;
color: $blue;
font-weight: bold;
text-transform: uppercase;
-webkit-text-stroke-width: 0.3px;
-webkit-text-stroke-color: $blue;
letter-spacing: normal;
background: none;
border-top: none;
border-left: none;
border-right: none;
border-radius: 0px;
border-bottom: 2px solid rgba(165, 165, 165, 0.8);
width: 30px !important;
-webkit-appearance: textfield;
margin: 0;
-moz-appearance: textfield;
text-align: center;
padding: 0px;
font-size: 1.2em;
display: inline-block;
}
.sheet-underlined-input::-webkit-outer-spin-button,
.sheet-underlined-input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.sheet-persona-input::-webkit-outer-spin-button,
.sheet-persona-input::-webkit-inner-spin-button {
opacity: 1;
}
.sheet-persona-input {
width: 45px !important;
-moz-appearance: number-input;
}
.sheet-persona-input.sheet-edit,
.sheet-underlined-input.sheet-edit {
border: none;
background-color: $background_yellow;
}
.sheet-underlined-select {
font-family: $font_family_2;
color: $blue;
font-weight: bold;
text-transform: uppercase;
-webkit-text-stroke-width: 0.3px;
-webkit-text-stroke-color: $blue;
letter-spacing: normal;
background: none;
border-top: none;
border-left: none;
border-right: none;
border-radius: 0px;
border-bottom: 2px solid rgba(165, 165, 165, 0.8);
padding: 0px;
font-size: 1.2em;
height: 20px;
}
/* Layout Styling */
.sheet-container {
width: 1075px;
position: relative;
margin-left: -15px;
min-height: 935px;
display: flex;
border-bottom: 2px solid rgba(165, 165, 165, 0.8);
}
.sheet-left-column {
display: inline-block;
vertical-align: top;
width: 355px;
height: 100%;
border-right: 2px solid rgba(165, 165, 165, 0.8);
position: relative;
}
.sheet-center-column {
display: inline-block;
vertical-align: top;
width: 188px;
margin-left: -5px;
margin-right: -5px;
height: 100%;
position: relative;
}
.sheet-right-column {
display: inline-block;
vertical-align: top;
width: 530px;
height: 100%;
border-left: 2px solid rgba(165, 165, 165, 0.8);
position: relative;
}
.sheet-section {
padding: 10px;
border-top: 2px solid rgba(165, 165, 165, 0.8);
}
.sheet-traits,
.sheet-fate,
.sheet-check-info {
position: relative;
}
.sheet-logo {
background: url("https://i.imgur.com/5SuVIW0.png");
background-size: 100% 100%;
height: 53px;
width: 98%;
position: absolute;
top: 0;
left: 1%;
}
+91
View File
@@ -0,0 +1,91 @@
@import 'variables.scss';
/* Tab Styling */
input[type="radio"].sheet-tab {
opacity: 0;
position: absolute;
z-index: 2;
height: 20px;
}
input[type="radio"].sheet-tab+span {
position: absolute;
border: 2px solid rgba(165, 165, 165, 0.8);
border-radius: 5px 5px 0px 0px;
background-color: $background_white;
color: $dark_grey;
text-align: center;
font-weight: bold;
}
input[type="radio"].sheet-tab:checked+span {
color: $white;
background-color: $blue;
}
@for $i from 1 through 6 {
input[type="radio"].sheet-tab.sheet-page#{$i}:checked~.sheet-page#{$i} {
display: block;
}
}
// TODO Fix the way the tabs are absolutely positioned
input[type="radio"].sheet-tab.sheet-page1,
input[type="radio"].sheet-tab.sheet-page1+span {
top: -20px;
left: 0px;
width: 95px;
}
input[type="radio"].sheet-tab.sheet-page2,
input[type="radio"].sheet-tab.sheet-page2+span {
top: -20px;
left: 99px;
width: 50px;
}
input[type="radio"].sheet-tab.sheet-page3,
input[type="radio"].sheet-tab.sheet-page3+span {
top: -20px;
left: 153px;
width: 60px;
}
input[type="radio"].sheet-tab.sheet-page4,
input[type="radio"].sheet-tab.sheet-page4+span {
top: -20px;
left: 217px;
width: 90px;
}
input[type="radio"].sheet-tab.sheet-page5,
input[type="radio"].sheet-tab.sheet-page5+span {
top: -20px;
left: 311px;
width: 50px;
}
input[type="radio"].sheet-tab.sheet-page6,
input[type="radio"].sheet-tab.sheet-page6+span {
top: -20px;
left: 365px;
width: 65px;
}
input[type="radio"].sheet-tab.sheet-editing,
input[type="radio"].sheet-tab.sheet-editing+span {
top: -20px;
right: 79px;
width: 75px;
}
input[type="radio"].sheet-tab.sheet-playing,
input[type="radio"].sheet-tab.sheet-playing+span {
top: -20px;
right: 0px;
width: 75px;
}
.sheet-tabcontainer {
width: 1075px;
}
+43
View File
@@ -0,0 +1,43 @@
/* Traits */
.sheet-trait {
margin-bottom: 10px;
min-height: 40px;
}
.sheet-trait div {
vertical-align: top;
}
.sheet-trait-name {
width: 120px;
display: inline-block;
}
.sheet-trait-level {
width: 80px;
display: inline-block;
}
.sheet-trait-uses {
width: 90px;
display: inline-block;
}
.sheet-trait-checks {
width: 28px;
display: inline-block;
}
.sheet-traits-flag[value="1"]~div .sheet-1,
.sheet-traits-flag[value="2"]~div .sheet-2,
.sheet-traits-flag[value="3"]~div .sheet-3 {
display: inline-block;
}
.sheet-trait-name input {
width: 115px;
}
.sheet-trait-level select {
width: 80px;
}
+18
View File
@@ -0,0 +1,18 @@
@import url("https://fonts.googleapis.com/css?family=Architects+Daughter|Inknut+Antiqua|Inknut+Antiqua:700&display=swap");
$font_family_1: "Inknut Antiqua";
$font_family_2: "Architects Daughter";
$font_family_3: "Arial";
$grey: rgba(150, 150, 150, 0.8);
$dark_grey: rgb(64, 64, 64);
$red: red;
$dark_red: #a4110e;
$white: #ffffff;
$blue: #3155a4;
$background_yellow: rgb(255, 255, 0, 0.2);
$background_grey: rgba(165, 165, 165, 0.3);
$background_white: #e8e8e8;
$background_blue: $blue;
$background_transparent: transparent;
+28
View File
@@ -0,0 +1,28 @@
/* Who You Are Styling */
.sheet-who-you-are .sheet-column-2 .sheet-row span:first-of-type {
margin-right: 5px;
}
/* Who You Are & What You Fight For Styling */
.sheet-who-you-are .sheet-row,
.sheet-what-you-fight-for .sheet-body>.sheet-row {
margin-top: 6px;
}
.sheet-conditions .sheet-body>.sheet-row {
margin-top: 12px;
}
.sheet-who-you-are .sheet-row {
min-height: 25px;
}
.sheet-what-you-fight-for .sheet-body>.sheet-row {
min-height: 75px;
}
.sheet-what-you-fight-for textarea {
width: calc(100% - 15px);
resize: vertical;
height: 40px;
}
+49
View File
@@ -0,0 +1,49 @@
/* Wises Styling */
.sheet-wise-check-container {
position: relative;
display: inline-block;
.sheet-wise-check-value {
margin-left: 3px;
}
&:not(:last-child) {
border-right: 1px solid black;
padding-right: 5px;
}
}
.sheet-wise-check-container input[type="checkbox"].sheet-underlined,
.sheet-wise-check-container input[type="radio"].sheet-underlined {
width: 15px !important;
+span {
width: 15px !important; // Ensure consistency
&:before {
left: 3px;
}
}
}
.sheet-wises {
.sheet-name-container {
min-height: 20px;
border-bottom: 1px solid black;
margin-bottom: 5px;
}
.sheet-row {
margin-bottom: 10px;
}
.sheet-wises-left,
.sheet-wises-right {
width: 45%;
display: inline-block;
&:first-child {
margin-right: 5%; // Add margin only to the first child
}
}
}
+9
View File
@@ -0,0 +1,9 @@
//- SHEET
include pug/containers/sheetcontainer.pug
//- ROLL TEMPLATE
include pug/containers/rolltemplates.pug
//- SCRIPTS
script(type="text/worker")
include js/scripts.js
+15
View File
@@ -0,0 +1,15 @@
@import 'scss/sheet.scss';
@import 'scss/tabs.scss';
@import 'scss/edit_mode.scss';
@import 'scss/advancement.scss';
@import 'scss/conditions.scss';
@import 'scss/who_you_are.scss';
@import 'scss/traits.scss';
@import 'scss/abilities_and_skills.scss';
@import 'scss/artha.scss';
@import 'scss/wises.scss';
@import 'scss/rolls.scss';
@import 'scss/inventory.scss';
@import 'scss/magic.scss';
@import 'scss/relationships.scss';
@import 'scss/levels.scss';
File diff suppressed because it is too large Load Diff
+2297 -11117
View File
File diff suppressed because it is too large Load Diff