diff --git a/module/actor-sheet.js b/module/actor-sheet.js index 0d1e4bf..74f5e7b 100644 --- a/module/actor-sheet.js +++ b/module/actor-sheet.js @@ -9,8 +9,8 @@ export class BladesActorSheet extends ActorSheet { return mergeObject(super.defaultOptions, { classes: ["blades-in-the-dark", "sheet", "actor"], template: "systems/blades-in-the-dark/templates/actor-sheet.html", - width: 800, - height: 1000 + width: 700, + height: 970 }); } @@ -19,12 +19,13 @@ export class BladesActorSheet extends ActorSheet { /** @override */ getData() { const data = super.getData(); - data.dtypes = ["String", "Number", "Boolean", "Radio"]; + + // Calculate Load + let loadout = 0; + data.items.forEach(i => {loadout += (i.type === "item") ? parseInt(i.data.load) : 0}); + data.data.loadout = loadout; console.log("DATA"); console.log(data); - // for ( let attr of Object.values(data.data) ) { - // attr.isCheckbox = attr.dtype === "Boolean"; - // } return data; } @@ -65,7 +66,6 @@ export class BladesActorSheet extends ActorSheet { /** @override */ _updateObject(event, formData) { - console.log(formData); // Handle the free-form attributes list // const formAttrs = expandObject(formData).data.attributes || {}; // const attributes = Object.values(formAttrs).reduce((obj, v) => { diff --git a/module/blades.js b/module/blades.js index 0a479a4..4aab67a 100644 --- a/module/blades.js +++ b/module/blades.js @@ -6,6 +6,7 @@ // Import Modules import { preloadHandlebarsTemplates } from "./templates.js"; +import { BladesItem } from "./item.js"; import { BladesItemSheet } from "./item-sheet.js"; import { BladesActorSheet } from "./actor-sheet.js"; @@ -20,16 +21,13 @@ Hooks.once("init", async function() { * Set an initiative formula for the system * @type {String} */ - CONFIG.Combat.initiative = { - formula: "1d20", - decimals: 2 - }; + CONFIG.Item.entityClass = BladesItem; // Register sheet application classes Actors.unregisterSheet("core", ActorSheet); - Actors.registerSheet("bitd", BladesActorSheet, { makeDefault: true }); + Actors.registerSheet("blades", BladesActorSheet, { types: ["character"], makeDefault: true }); Items.unregisterSheet("core", ItemSheet); - Items.registerSheet("bitd", BladesItemSheet, {makeDefault: true}); + Items.registerSheet("blades", BladesItemSheet, {makeDefault: true}); preloadHandlebarsTemplates(); diff --git a/module/item-sheet.js b/module/item-sheet.js index 51fa886..83d1851 100644 --- a/module/item-sheet.js +++ b/module/item-sheet.js @@ -19,7 +19,14 @@ export class BladesItemSheet extends ItemSheet { /** @override */ get template() { const path = "systems/blades-in-the-dark/templates/items"; - return `${path}/${this.item.data.type}.html`; + let simple_item_types = ["background", "heritage", "vice"]; + let template_name = `${this.item.data.type}`; + + if (simple_item_types.indexOf(this.item.data.type) >= 0) { + template_name = "simple"; + } + + return `${path}/${template_name}.html`; } /* -------------------------------------------- */ @@ -40,7 +47,7 @@ export class BladesItemSheet extends ItemSheet { if (!this.options.editable) return; // Add or Remove Attribute - html.find(".attributes").on("click", ".attribute-control", this._onClickAttributeControl.bind(this)); + // html.find(".attributes").on("click", ".attribute-control", this._onClickAttributeControl.bind(this)); } /* -------------------------------------------- */ @@ -74,34 +81,5 @@ export class BladesItemSheet extends ItemSheet { await this._onSubmit(event); } } - /* -------------------------------------------- */ - - /** @override */ - _updateObject(event, formData) { - - // Handle the free-form attributes list - const formAttrs = expandObject(formData).data.attributes || {}; - const attributes = Object.values(formAttrs).reduce((obj, v) => { - let k = v["key"].trim(); - if ( /[\s\.]/.test(k) ) return ui.notifications.error("Attribute keys may not contain spaces or periods"); - delete v["key"]; - obj[k] = v; - return obj; - }, {}); - - // Remove attributes which are no longer used - for ( let k of Object.keys(this.object.data.data.attributes) ) { - if ( !attributes.hasOwnProperty(k) ) attributes[`-=${k}`] = null; - } - - // Re-combine formData - formData = Object.entries(formData).filter(e => !e[0].startsWith("data.attributes")).reduce((obj, e) => { - obj[e[0]] = e[1]; - return obj; - }, {_id: this.object._id, "data.attributes": attributes}); - - // Update the Item - return this.object.update(formData); - } } diff --git a/module/item.js b/module/item.js new file mode 100644 index 0000000..c361626 --- /dev/null +++ b/module/item.js @@ -0,0 +1,6 @@ +/** + * Extend the basic Item + * @extends {Item} + */ +export class BladesItem extends Item { +} diff --git a/module/templates.js b/module/templates.js index 329ad79..584eeed 100644 --- a/module/templates.js +++ b/module/templates.js @@ -9,6 +9,7 @@ export const preloadHandlebarsTemplates = async function() { const templatePaths = [ // Actor Sheet Partials + "systems/blades-in-the-dark/templates/parts/coins.html", "systems/blades-in-the-dark/templates/parts/attributes.html" ]; diff --git a/packs/abilities.db b/packs/abilities.db new file mode 100644 index 0000000..713a9fd --- /dev/null +++ b/packs/abilities.db @@ -0,0 +1,55 @@ +{"_id":"0IDmKmW3AiaNEBpE","name":"Survivor","permission":{"default":0},"type":"ability","data":{"description":"From hard won experience or occult ritual, you are immune to the poisonous miasma of the deathlands and are able to subsist on the strange flora and fauna there. You get +1 stress box.","class":"Hound","price":"1"},"folder":"PaUiEAoDgddaXGEi","sort":500001,"flags":{}} +{"_id":"1G5jzLtr2Xy5K5I2","name":"Cloak & Dagger","permission":{"default":0},"type":"ability","data":{"description":"When you use a disguise or other form of covert misdirection, you get +1d to rolls to confuse or deflect suspicion. When you throw off your disguise, the resulting surprise gives you the initiative in the situation.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":200001,"flags":{}} +{"_id":"26BF64gJyZVZeQFZ","name":"Analyst","permission":{"default":0},"type":"ability","data":{"description":"During downtime, you get two ticks to distribute among any long term project clocks that involve investigation or learning a new formula or design plan.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":200001,"flags":{}} +{"_id":"3BitFvLHGQbuaezR","name":"Ambush","permission":{"default":0},"type":"ability","data":{"description":"When you attack from hiding or spring a trap, you get +1d.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":200001,"flags":{}} +{"_id":"3VQkC6YZfnO7nFRm","name":"Mastermind","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to protect a teammate, or to push yourself when you gather information or work on a long-term project.","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":700001,"flags":{}} +{"_id":"3Yf2yt4zUSvnLbzA","name":"Physicker","permission":{"default":0},"type":"ability","data":{"description":"You can Tinker with bones, blood, and bodily humours to treat wounds or stabilize the dying. You may study a malady or corpse. Everyone in your crew gets +1d to their healing treatment rolls.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":600001,"flags":{}} +{"_id":"4CjjbD1wYdB3xV9g","name":"Sharpshooter","permission":{"default":0},"type":"ability","data":{"description":"You can push yourself to do one of the following: make a ranged attack at extreme distance beyond what’s normal for the weapon—unleash a barrage of rapid fire to suppress the enemy.","class":"Hound","price":"1"},"folder":"PaUiEAoDgddaXGEi","sort":100001,"flags":{}} +{"_id":"4kNuvKoOQQzM5jLl","name":"Ghost Hunter","permission":{"default":0},"type":"ability","data":{"description":"Your hunting pet is imbued with spirit energy. It gains potency when tracking or fighting the supernatural, and gains an arcane ability: ghost-form, mind-link, or arrow-swift. Take this ability again to choose an additional arcane ability for your pet.","class":"Hound","price":"2"},"folder":"PaUiEAoDgddaXGEi","sort":300001,"flags":{}} +{"_id":"56t1bRDXIxGDJhKd","name":"Venomous","permission":{"default":0},"type":"ability","data":{"description":"Choose a drug or poison (from your bandolier stock) to which you have become immune. You can push yourself to secrete it through your skin or saliva or exhale it as a vapor.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":800001,"flags":{}} +{"_id":"5UwC3EZPaWrw3szD","name":"Tempest","permission":{"default":0},"type":"ability","data":{"description":"You can push yourself to do one of the following: unleash a stroke of lightning as a weapon - summon a storm in your immediate vicinity (torrential rain, roaring winds, heavy fog, chilling frost/snow, etc.).","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":700001,"flags":{}} +{"_id":"7hooG3QMZrhGlD35","name":"Leader","permission":{"default":0},"type":"ability","data":{"description":"When you Command a cohort in combat, they continue to fight when they would otherwise break (they're not taken out when they suffer level 3 harm). They gain +1 effect and 1 armor.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":400000,"flags":{}} +{"_id":"97TVuvrGMilTIMKO","name":"Strange Methods","permission":{"default":0},"type":"ability","data":{"description":"When you invent or craft a creation with arcane features, take +1 result level to your roll. You begin with one arcane design already known.","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":600001,"flags":{}} +{"_id":"BW4k9Qr3AGw6sEut","name":"Iron Will","permission":{"default":0},"type":"ability","data":{"description":"You're immune to the terror that some supernatural entities inflict on sight. Take +1d to resistance rolls with Resolve.","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":300001,"flags":{}} +{"_id":"CskYi6efFy3OKS0D","name":"Like Looking into a Mirror","permission":{"default":0},"type":"ability","data":{"description":"You can always tell when someone is lying to you.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":400001,"flags":{}} +{"_id":"DPRnFPkObGyvgzGW","name":"Scout","permission":{"default":0},"type":"ability","data":{"description":"When you gather info to locate a target, you get +1 effect. When you hide in a prepared position or use camouflage, you get +1dto rolls to avoid detection.","class":"Hound","price":"1"},"folder":"PaUiEAoDgddaXGEi","sort":400001,"flags":{}} +{"_id":"FLECQ52FEPuV9lPl","name":"Mule","permission":{"default":0},"type":"ability","data":{"description":"Your load limits are higher. Light: 5. Normal: 7. Heavy: 8.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":500000,"flags":{}} +{"_id":"Fa3urOZnQj2dhups","name":"Not to be Trifled With","permission":{"default":0},"type":"ability","data":{"description":"You can push yourself to do one of the following: perform a feat of physical force that verges on the superhuman—engage a small gang on equal footing in close combat.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":600000,"flags":{}} +{"_id":"GFcTs25hSqVfPccB","name":"Savage","permission":{"default":0},"type":"ability","data":{"description":"When you unleash physical violence, it's especially frightening. When you Command a frightened target, take +1d.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":700000,"flags":{}} +{"_id":"GGik6vATDVw1ZkZX","name":"Saboteur","permission":{"default":0},"type":"ability","data":{"description":"When you Wreck, the work is much quieter than it should be and the damage is hidden from casual inspection.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":700001,"flags":{}} +{"_id":"K327OtKAa3T8NweW","name":"Ghost Voice","permission":{"default":0},"type":"ability","data":{"description":"You know the secret method to interact with a ghost or demon as if it was a normal human, regardless of how wild or feral it appears. You gain potency when communicating with the supernatural.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":300001,"flags":{}} +{"_id":"KhryFnEwDPtPCuEY","name":"Ghost Ward","permission":{"default":0},"type":"ability","data":{"description":"You know how to Wreck an area with arcane substances and methods so it is either anathema or enticing to spirits (your choice).","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":500001,"flags":{}} +{"_id":"KzghACWjB35yp9Ox","name":"Fortitude","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to resist a consequence of fatigue, weakness, or chemical effects, or to push yourself when working with technical skill or handling alchemicals.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":400001,"flags":{}} +{"_id":"LL4ALumWoSfHBuEC","name":"Battleborn","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to reduce harm from an attack in combat or to push yourself during a fight.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":100000,"flags":{}} +{"_id":"OIAtGUPHlE5wfHZo","name":"Vigorous","permission":{"default":0},"type":"ability","data":{"description":"You recover from harm faster. Permanently fill in one of your healing clock segments. Take +1d to healing treatment rolls.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":800000,"flags":{}} +{"_id":"RNMcZRcMABGjvFwr","name":"A Little Something on the Side","permission":{"default":0},"type":"ability","data":{"description":"At the end of each downtime phase, you earn +2 stash.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":500001,"flags":{}} +{"_id":"TDhvP6fV6PnTSrvC","name":"Calculating","permission":{"default":0},"type":"ability","data":{"description":"Due to your careful planning, during downtime, you may give yourself or another crew member +1 downtime action.","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":200001,"flags":{}} +{"_id":"TTxVIEqlbXvQpFuq","name":"Functioning Vice","permission":{"default":0},"type":"ability","data":{"description":"When you indulge your vice, you may adjust the dice outcome by 1 or 2 (up or down). An ally who joins in your vice may do the same.","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":400001,"flags":{}} +{"_id":"UI8WWOJiSFr3Sn9C","name":"Artificer","permission":{"default":0},"type":"ability","data":{"description":"When you invent or craft a creation with spark-craftfeatures, take +1 result level to your roll. You begin with one special design already known.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":300001,"flags":{}} +{"_id":"YYyzA49gE764951G","name":"The Devil's Footsteps","permission":{"default":0},"type":"ability","data":{"description":"When you push yourself, choose one of the following additional benefits: perform a feat of athletics that verges on the superhuman—maneuver to confuse your enemies so they mistakenly attack each other.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":400001,"flags":{}} +{"_id":"YeRIdgN6dt54tSAK","name":"Ghost Contract","permission":{"default":0},"type":"ability","data":{"description":"When you shake on a deal, you and your partner - human or otherwise - both bear a mark of your oath. If either breaks the contract, they take level 3 harm, \"Cursed\".","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":500001,"flags":{}} +{"_id":"Z8LYDGPeRdUnjtLN","name":"Ritual","permission":{"default":0},"type":"ability","data":{"description":"You can Study an occult ritual (or create a new one) to summon a supernatural effect or being. You know the arcane methods to perform ritual sorcery. You begin with one ritual already learned.","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":500001,"flags":{}} +{"_id":"bCRW1vrqROytbqWb","name":"Ghost Mind","permission":{"default":0},"type":"ability","data":{"description":"You're always aware of supernatural entities in your presence. Take +1d when you gather info about the supernatural.","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":200001,"flags":{}} +{"_id":"bqQNAewUffuNUfbV","name":"Rook's Gambit","permission":{"default":0},"type":"ability","data":{"description":"Take 2 Stress to roll your best action rating while performing a different action. Say how you adapt your skill to this use.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":100001,"flags":{}} +{"_id":"cyYStjHgqaxobB1y","name":"Subterfuge","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to resist a consequence from suspicion or persuasion, or to push yourself for subterfuge.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":700001,"flags":{}} +{"_id":"e46lMfe6ayO3qDF5","name":"Foresight","permission":{"default":0},"type":"ability","data":{"description":"Two times per score you can assist a teammate without paying stress. Tell us how you prepared for this.","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":100001,"flags":{}} +{"_id":"eVTVGgTOhaqSpCca","name":"Vengeful","permission":{"default":0},"type":"ability","data":{"description":"You gain an additional xp trigger: You got payback against someone who harmed you or someone you care about. If your crew helped you get payback, also mark crew xp.","class":"Hound","price":"1"},"folder":"PaUiEAoDgddaXGEi","sort":700001,"flags":{}} +{"_id":"ehNEPCtVCr4hbqBm","name":"Focused","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to resist a consequence of surprise or mental harm (fear, confusion, losing track of someone) or to push yourself for ranged combat or tracking.","class":"Hound","price":"1"},"folder":"PaUiEAoDgddaXGEi","sort":200001,"flags":{}} +{"_id":"h0F1Xsoijv0LlMSd","name":"Jail Bird","permission":{"default":0},"type":"ability","data":{"description":"When incarcerated, your wanted level counts as 1 less, your Tier as 1 more, and you gain +1 faction status with a faction you help on the inside (in addition to your incarceration roll).","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":600001,"flags":{}} +{"_id":"iRMpss4mzoC4WNFp","name":"Compel","permission":{"default":0},"type":"ability","data":{"description":"You can Attune to the ghost field to force a nearby ghost to appear and obey a command you give it. You are not supernaturally terrified by a ghost you summon or compel (though your allies may be).","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":100001,"flags":{}} +{"_id":"j20q54yIvqlg51Z5","name":"Shadow","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to resist a consequence from detection or security measures, or to push yourself for a feat of athletics or stealth.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":800001,"flags":{}} +{"_id":"mkI2szl2Ea1v2zGS","name":"Bodyguard","permission":{"default":0},"type":"ability","data":{"description":"When you protect a teammate, take +1d to your resistance roll. When you gather info to anticipate possible threats in the current situation, you get +1 effect.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":200000,"flags":{}} +{"_id":"n47JqyJJwXX3Q0Ua","name":"Connected","permission":{"default":0},"type":"ability","data":{"description":"During downtime, you get +1 result level when you acquire an asset or reduce heat.","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":300001,"flags":{}} +{"_id":"npFfvkY95OWza0Mo","name":"Warded","permission":{"default":0},"type":"ability","data":{"description":"You may expend your special armor to resist a supernatural consequence, or to push yourself when you deal with arcane forces.","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":800001,"flags":{}} +{"_id":"omm65Xz4wqJVE0Th","name":"Infiltrator","permission":{"default":0},"type":"ability","data":{"description":"You are not affected by quality or Tier when you bypass security measures.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":100001,"flags":{}} +{"_id":"owJ82qqEbO4u8wGv","name":"Occultist","permission":{"default":0},"type":"ability","data":{"description":"You know the secret ways to Consort with ancient powers, forgotten gods or demons. Once you've consorted with one, you get +1d to command cultists who worship it.","class":"Whisper","price":"1"},"folder":"5Sb9YUatUQwtpdMZ","sort":400001,"flags":{}} +{"_id":"qw5Nzte5I60PiBbh","name":"Expertise","permission":{"default":0},"type":"ability","data":{"description":"Choose one of your action ratings. When you lead a group action using that action, you can suffer only 1 stress at most regardless of the number of failed rolls.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":500001,"flags":{}} +{"_id":"r6dry3SxyDBP84bD","name":"Ghost Veil","permission":{"default":0},"type":"ability","data":{"description":"You may shift partially into the ghost field, becoming shadowy and insubstantial for a few moments. Take 2 stress when you shift, plus 1 stress for each extra feature: It lasts for a few minutes rather than moments - you are invisible rather than shadowy - you may float through the air like a ghost.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":600001,"flags":{}} +{"_id":"rNafmXeBlQ9eDpF9","name":"Reflexes","permission":{"default":0},"type":"ability","data":{"description":"When there's a question about who acts first, the answer is you (two characters with Reflexes act simultaneously).","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":700001,"flags":{}} +{"_id":"sOennuura7lMn9qm","name":"Tough as Nails","permission":{"default":0},"type":"ability","data":{"description":"Penalties from harm are one level less severe (though level 4 harm is still fatal).","class":"Hound","price":"1"},"folder":"PaUiEAoDgddaXGEi","sort":600001,"flags":{}} +{"_id":"uaLo32nPUpKp3Yqf","name":"Ghost Fighter","permission":{"default":0},"type":"ability","data":{"description":"You may imbue your hands, melee weapons, or tools with spirit energy. You gain potency in combat vs. the supernatural. You may grapple with spirits to restrain and capture them.","class":"Cutter","price":"1"},"folder":"cJPDzs27jPdqAVDV","sort":300000,"flags":{}} +{"_id":"ubiQP80zuYu0jkBt","name":"Daredevil","permission":{"default":0},"type":"ability","data":{"description":"When you roll a desperate action, you get +1d to your roll if you also take -1d to any resistance rolls against consequences from your action.","class":"Lurk","price":"1"},"folder":"7gkE4yoqYZiTi9EB","sort":300001,"flags":{}} +{"_id":"v53AgGx9HbOAmBbM","name":"Alchemist","permission":{"default":0},"type":"ability","data":{"description":"When you invent or craft a creation with alchemicalfeatures, take +1 result level to your roll. You begin with one special formula already known.","class":"Leech","price":"1"},"folder":"EorKoKOCKsvC93ZA","sort":100001,"flags":{}} +{"_id":"vbIWDdNIEa6dpP7D","name":"Weaving the Web","permission":{"default":0},"type":"ability","data":{"description":"You gain +1d to Consort when you gather information on a target for a score. You get +1d to the engagement roll for that operation.","class":"Spider","price":"1"},"folder":"io6Cdw11wDXIixI3","sort":800001,"flags":{}} +{"_id":"vqMYvzn0jw6Iwy9U","name":"Trust in Me","permission":{"default":0},"type":"ability","data":{"description":"You get +1d vs. a target with whom you have an intimate relationship.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":800001,"flags":{}} +{"_id":"zCgcGLgPPOKGOXck","name":"Mesmerism","permission":{"default":0},"type":"ability","data":{"description":"When you Sway someone, you may cause them to forget that it's happened until they next interact with you.","class":"Slide","price":"1"},"folder":"537uDqf28OmWJoAM","sort":600001,"flags":{}} diff --git a/packs/classes.db b/packs/classes.db index a78b877..47c332c 100644 --- a/packs/classes.db +++ b/packs/classes.db @@ -1,8 +1,7 @@ -{"_id":"8jExf4Zqad6e3bvn","name":"Leech","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":400000,"flags":{}} -{"_id":"CAHfNrPDJZKVNMrH","name":"Lurk","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":500000,"flags":{}} -{"_id":"JGxBjlbooxuUHe4E","name":"Hound","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]}},"folder":"Q5shG4toM5PkRSnX","sort":100000,"flags":{}} -{"_id":"OKRtWdhpwIAdX3RS","name":"Itemko","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":0,"description":""},"folder":"3Rl8reBeGom1vbie","sort":100000,"flags":{}} -{"_id":"P6LMZBrG5U9eCjhX","name":"Spider","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":700000,"flags":{}} -{"_id":"YUGDdyADj0PTBVcP","name":"Slide","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":600000,"flags":{}} -{"_id":"tEob41rtEbHcswNM","name":"Cutter","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":300000,"flags":{}} -{"_id":"zOg14xy8ZEku6bNq","name":"Whisper","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":200000,"flags":{}} \ No newline at end of file +{"_id":"8jExf4Zqad6e3bvn","name":"Leech","permission":{"default":0},"type":"class","data":{"description":"A saboteur and technician","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"sort":400000,"flags":{}} +{"_id":"CAHfNrPDJZKVNMrH","name":"Lurk","permission":{"default":0},"type":"class","data":{"description":"A stealthy infiltrator and burglar","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"sort":500000,"flags":{}} +{"_id":"JGxBjlbooxuUHe4E","name":"Hound","permission":{"default":0},"type":"class","data":{"description":"A deadly sharpshooter and tracker","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]}},"sort":100000,"flags":{}} +{"_id":"P6LMZBrG5U9eCjhX","name":"Spider","permission":{"default":0},"type":"class","data":{"description":"A devious mastermind","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"sort":700000,"flags":{}} +{"_id":"YUGDdyADj0PTBVcP","name":"Slide","permission":{"default":0},"type":"class","data":{"description":"A subtle manipulator and spy","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"sort":600000,"flags":{}} +{"_id":"tEob41rtEbHcswNM","name":"Cutter","permission":{"default":0},"type":"class","data":{"description":"A dangerous & intimidating fighter","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"sort":300000,"flags":{}} +{"_id":"zOg14xy8ZEku6bNq","name":"Whisper","permission":{"default":0},"type":"class","data":{"description":"An Arcane adept and channeler","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"sort":200000,"flags":{}} diff --git a/packs/heritages.db b/packs/heritages.db index 77383ea..a9f67a9 100644 --- a/packs/heritages.db +++ b/packs/heritages.db @@ -3,4 +3,4 @@ {"_id":"TiL4AssY9Ryty6f9","name":"The Dagger Isles","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":200000,"flags":{}} {"_id":"Tk61Y7K84GgQpqPz","name":"Skovlan","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":500000,"flags":{}} {"_id":"WRzLNozCfzFLg0d6","name":"Tycheros","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":600000,"flags":{}} -{"_id":"fKEJOkqoAwinyzrm","name":"Akoros","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":100000,"flags":{}} \ No newline at end of file +{"_id":"fKEJOkqoAwinyzrm","name":"Akoros","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":100000,"flags":{}} diff --git a/packs/items.db b/packs/items.db index 75406f2..98522e0 100644 --- a/packs/items.db +++ b/packs/items.db @@ -1,28 +1,16 @@ -{"_id":"0GbyUKjjMof6D8fb","name":"Faith","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":100000,"flags":{}} -{"_id":"43dWmFJgAeqcsOJl","name":"Pleasure","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":500000,"flags":{}} -{"_id":"7q2RhjaBzYBoWmMa","name":"Law","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":300000,"flags":{}} -{"_id":"7zLXN88TgLkP0JlK","name":"Noble","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":600000,"flags":{}} -{"_id":"8bDf9RzcGeNz48Kp","name":"Underworld","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":700000,"flags":{}} -{"_id":"8jExf4Zqad6e3bvn","name":"Leech","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":400000,"flags":{}} -{"_id":"ANBgWHbSQVgUQecV","name":"Iruvia","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":300000,"flags":{}} -{"_id":"CAHfNrPDJZKVNMrH","name":"Lurk","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":500000,"flags":{}} -{"_id":"JGxBjlbooxuUHe4E","name":"Hound","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]}},"folder":"Q5shG4toM5PkRSnX","sort":100000,"flags":{}} -{"_id":"Lp7ezgXB3USzviHa","name":"Obligation","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":400000,"flags":{}} -{"_id":"OKRtWdhpwIAdX3RS","name":"Itemko","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":0,"description":""},"folder":"3Rl8reBeGom1vbie","sort":100000,"flags":{}} -{"_id":"P6LMZBrG5U9eCjhX","name":"Spider","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":700000,"flags":{}} -{"_id":"PJ4m6YEsMEzfgAqy","name":"Weird","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":700000,"flags":{}} -{"_id":"RrvbKXClyyNBYFBB","name":"Severos","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":400000,"flags":{}} -{"_id":"S1CvKYfGwHFq9yxR","name":"Trade","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":400000,"flags":{}} -{"_id":"TiL4AssY9Ryty6f9","name":"The Dagger Isles","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":200000,"flags":{}} -{"_id":"Tk61Y7K84GgQpqPz","name":"Skovlan","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":500000,"flags":{}} -{"_id":"VNt88GVp0Td0Q8H6","name":"Luxury","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":300000,"flags":{}} -{"_id":"WRzLNozCfzFLg0d6","name":"Tycheros","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":600000,"flags":{}} -{"_id":"Y0aq94hQO9LyMJN9","name":"Stupor","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":600000,"flags":{}} -{"_id":"YUGDdyADj0PTBVcP","name":"Slide","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":600000,"flags":{}} -{"_id":"ZplBgIXHxWLUXX1o","name":"Academic","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":100000,"flags":{}} -{"_id":"ex7Mqv42SKZrfUL0","name":"Military","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":500000,"flags":{}} -{"_id":"fKEJOkqoAwinyzrm","name":"Akoros","permission":{"default":0},"type":"heritage","data":{"description":""},"folder":"2TX8ibE6E4CDUGYX","sort":100000,"flags":{}} -{"_id":"qGkgWsdxcnl0cFhm","name":"Labor","permission":{"default":0},"type":"background","data":{"description":""},"folder":"YkuVHwuSV9IfsxU0","sort":200000,"flags":{}} -{"_id":"tEob41rtEbHcswNM","name":"Cutter","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":300000,"flags":{}} -{"_id":"ueBoUHFBMHlCowB0","name":"Gambling","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":200000,"flags":{}} -{"_id":"zOg14xy8ZEku6bNq","name":"Whisper","permission":{"default":0},"type":"class","data":{"description":"","base_skills":{"hunt":[0],"study":[0],"survey":[0],"tinker":[0],"finesse":[0],"prowl":[0],"skirmish":[0],"wreck":[0],"attune":[0],"command":[0],"consort":[0],"sway":[0]},"class_items":[]},"folder":"Q5shG4toM5PkRSnX","sort":200000,"flags":{}} +{"_id":"05ZtdYxXWEPmLlxH","name":"Demolition Tools","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"2","description":"","items":[]},"sort":1400000,"flags":{}} +{"_id":"8kgtZo4ddpRAJH7l","name":"+ Heavy","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"3","description":"","items":[]},"sort":800000,"flags":{}} +{"_id":"9BztJARntO1uFSYY","name":"Throwing Knives","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":200000,"flags":{}} +{"_id":"K9onsW8mnJiFrWAZ","name":"A Blade or Two","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":100000,"flags":{}} +{"_id":"MOZAojcYM92lrDcK","name":"A Large Weapon","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"2","description":"","items":[]},"sort":500000,"flags":{}} +{"_id":"OEspgCofoCwHOcm9","name":"An Unusual Weapon","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":600000,"flags":{}} +{"_id":"RM4Qs7KnUDUWXOiz","name":"Subterfuge Supplies","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":1300000,"flags":{}} +{"_id":"SaRZapoF6ja5s7Qo","name":"Lantern","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":1600000,"flags":{}} +{"_id":"YLPAWyYPQZuuHL18","name":"Arcane Implements","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":1100000,"flags":{}} +{"_id":"cIa0ZZUXpOcqPtKy","name":"Climbing Gear","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"2","description":"","items":[]},"sort":1000000,"flags":{}} +{"_id":"gCFkqHGH9KGiGcGn","name":"Burglary Gear","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":900000,"flags":{}} +{"_id":"iUytqBYn6e0slC75","name":"A Pistol","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":300000,"flags":{}} +{"_id":"ukmU5W2Ya9EJr4J0","name":"Armor","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"2","description":"","items":[]},"sort":700000,"flags":{}} +{"_id":"vLpzNwzhGlBfxw2v","name":"Documents","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":1200000,"flags":{}} +{"_id":"y1tNdNOesmsYbJkv","name":"Tinkering Tools","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":1500000,"flags":{}} +{"_id":"y9WkdMK6v8GxweL5","name":"A 2nd Pistol","permission":{"default":0},"type":"item","data":{"class_restriction":"","load":"1","description":"","items":[]},"sort":400000,"flags":{}} diff --git a/packs/vices.db b/packs/vices.db index da5192d..434041e 100644 --- a/packs/vices.db +++ b/packs/vices.db @@ -1,7 +1,7 @@ +{"_id":"0GbyUKjjMof6D8fb","name":"Faith","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":100000,"flags":{}} +{"_id":"43dWmFJgAeqcsOJl","name":"Pleasure","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":500000,"flags":{}} {"_id":"Lp7ezgXB3USzviHa","name":"Obligation","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":400000,"flags":{}} {"_id":"PJ4m6YEsMEzfgAqy","name":"Weird","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":700000,"flags":{}} {"_id":"VNt88GVp0Td0Q8H6","name":"Luxury","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":300000,"flags":{}} {"_id":"Y0aq94hQO9LyMJN9","name":"Stupor","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":600000,"flags":{}} {"_id":"ueBoUHFBMHlCowB0","name":"Gambling","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":200000,"flags":{}} -{"_id":"43dWmFJgAeqcsOJl","name":"Pleasure","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":500000,"flags":{}} -{"_id":"0GbyUKjjMof6D8fb","name":"Faith","permission":{"default":0},"type":"vice","data":{"description":""},"folder":"Jz1yD35kaDA2NZtZ","sort":100000,"flags":{}} \ No newline at end of file diff --git a/styles/assets/brush/dry-brush-stroke-1.png b/styles/assets/brush/dry-brush-stroke-1.png new file mode 100644 index 0000000..2b2b1a1 Binary files /dev/null and b/styles/assets/brush/dry-brush-stroke-1.png differ diff --git a/styles/assets/brush/dry-brush-stroke-3.png b/styles/assets/brush/dry-brush-stroke-3.png new file mode 100644 index 0000000..4138a0e Binary files /dev/null and b/styles/assets/brush/dry-brush-stroke-3.png differ diff --git a/styles/blades.css b/styles/blades.css index cddb14b..120b0d0 100644 --- a/styles/blades.css +++ b/styles/blades.css @@ -7,6 +7,9 @@ /* * Custom Radio */ +/* + * Custom Radio Squared + */ /* * Checkboxes underscored. */ @@ -16,31 +19,76 @@ /* * General Styles */ - * { +* { font-family: Georgia, "Bitstream Charter", "Times New Roman", serif; } * ul { list-style: none; } +* form.actor-sheet { + padding: 20px; +} +* textarea { + margin-top: 10px; +} +* td { + padding: 10px; +} * .section { margin-bottom: 10px; display: flex; flex-direction: row; justify-content: space-between; } +* .section > * { + margin-right: 10px; +} +* .section > *:last-child { + margin-right: 0px; +} +* .section .grow-one { + flex-grow: 1; +} +* .section .grow-two { + flex-grow: 2; +} +* .section.experience { + margin-bottom: 0px; + justify-content: center; +} +* .editor, +* .editor-content { + min-height: 280px; +} +* .flex-horizontal { + display: flex; + flex-direction: row; + justify-content: space-between; +} +* .flex-vertical { + display: flex; + flex-direction: column; +} * .black-label { background-color: black; color: white; - font-size: 35px; + font-size: 21px; text-align: center; padding: 0px 5px; - height: 50px !important; + height: 30px !important; text-transform: capitalize; } +* .label-stripe { + text-transform: uppercase; + background-color: #888; + margin-bottom: 10px; + position: relative; +} * #stress-trauma { border-top: 3px solid black; display: flex; flex-direction: row; + margin-bottom: 0px; /* Trauma */ } * #stress-trauma > * { @@ -54,8 +102,8 @@ /* Hide the browser's default checkbox */ } * #stress-trauma #character-stress label { - height: 100px; - width: 32px; + height: 50px; + width: 17px; background-image: url("assets/teeth/stresstooth-red.png"); background-repeat: no-repeat; background-size: contain; @@ -86,8 +134,8 @@ flex-direction: column; } * #stress-trauma #character-trauma-container #character-trauma label { - height: 100px; - width: 32px; + height: 50px; + width: 17px; background-image: url("assets/teeth/shorttooth-red.png"); background-repeat: no-repeat; background-size: contain; @@ -124,7 +172,7 @@ } * #stress-trauma #trauma-list label { cursor: pointer; - font-size: 22px; + font-size: 19px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; @@ -142,6 +190,49 @@ text-decoration: none; font-weight: bold; } +* #abilities #character-experience { + display: flex; + /* Hide the browser's default checkbox */ + position: absolute; + top: 0px; + right: 0px; +} +* #abilities #character-experience label { + height: 30px; + width: 10px; + background-image: url("assets/teeth/stresstooth-red.png"); + background-repeat: no-repeat; + background-size: contain; + margin-right: 5px; +} +* #abilities #character-experience label:last-of-type { + margin-right: 0px; +} +* #abilities #character-experience label[for$="-0"] { + width: auto; + height: auto; + background-image: none !important; + background: black !important; + margin-right: 0px; +} +* #abilities #character-experience input { + display: none; +} +* #abilities #character-experience input:checked ~ label { + background-image: url("assets/teeth/stresstooth-halfgrey.png"); +} +* #abilities #character-experience input:checked + label { + background-image: url("assets/teeth/stresstooth-red.png"); +} +* #abilities .item-name { + width: 70px; +} +* #abilities .item-body { + width: auto; +} +* #abilities .item-description { + width: 200px; +} * #harm-armor { display: flex; } @@ -211,49 +302,59 @@ * #harm-armor #character-health-clock *:nth-child(9) { transform: rotate(270deg) skewY(180deg); } -* #harm-armor #character-armor-uses { - display: flex; - flex-direction: column; -} * #harm-armor #character-armor-uses div { display: flex; flex-direction: row; justify-content: space-between; } +* #attributes { + display: flex; + flex-direction: column; +} +* #attributes .stripe { + background-color: black; + color: white; + font-size: 17px; + padding-left: 5px; +} * #attributes .attributes-exp { + position: relative; + margin-bottom: 10px; +} +* #attributes .attributes-exp .stripe-tooth-body { display: flex; /* Hide the browser's default checkbox */ + position: absolute; + top: 0px; + right: 0px; } -* #attributes .attributes-exp label { - height: 50px; - width: 17px; +* #attributes .attributes-exp .stripe-tooth-body label { + height: 30px; + width: 10px; background-image: url("assets/teeth/xptooth-red.png"); background-repeat: no-repeat; background-size: contain; margin-right: 5px; } -* #attributes .attributes-exp label:last-of-type { +* #attributes .attributes-exp .stripe-tooth-body label:last-of-type { margin-right: 0px; } -* #attributes .attributes-exp label[for$="-0"] { +* #attributes .attributes-exp .stripe-tooth-body label[for$="-0"] { width: auto; height: auto; background-image: none !important; background: black !important; margin-right: 0px; } -* #attributes .attributes-exp input { +* #attributes .attributes-exp .stripe-tooth-body input { display: none; } -* #attributes .attributes-exp input:checked ~ label { +* #attributes .attributes-exp .stripe-tooth-body input:checked ~ label { background-image: url("assets/teeth/xptooth-white.png"); } -* #attributes .attributes-exp input:checked + label { +* #attributes .attributes-exp .stripe-tooth-body input:checked + label { background-image: url("assets/teeth/xptooth-red.png"); } -* #attributes .attributes-exp { - border-top: 5px solid black; -} * #attributes .attributes-container { display: flex; margin: 5px 0px; @@ -261,8 +362,8 @@ /* Hide the browser's default checkbox */ } * #attributes .attributes-container label { - height: 20px; - width: 20px; + height: 15px; + width: 15px; background-color: black; vertical-align: middle; border: 2px solid black; @@ -288,5 +389,72 @@ * #attributes .attributes-container * { margin-right: 5px; } +* .item { + justify-content: space-between; +} +* .item .item-body { + margin-bottom: 10px; +} +* .item .item-body * { + margin-right: 10px; +} +* .item .item-body .item-description { + font-style: italic; + text-align: justify; +} +* .item div { + flex-grow: 2; +} +* .item .item-control { + flex-grow: 1; +} +* .item .item-body, +* .item .item-class-label { + width: 100px; +} +* #name, +* #alias { + margin-bottom: 10px; +} +* .profile-img { + margin: 0px 30px; +} +* .coins { + display: flex; + /* Hide the browser's default checkbox */ + flex-wrap: wrap; +} +* .coins label { + height: 15px; + width: 15px; + background-color: grey; + vertical-align: middle; + border: 1px solid black; +} +* .coins label[for$="-0"] { + margin-right: 0px; +} +* .coins input { + display: none; +} +* .coins input:checked ~ label { + background-color: white; +} +* .coins input:checked + label { + background-color: grey; +} +* .coins label { + margin-right: 3px; + margin-bottom: 3px; +} +* .coins label[for$="0"] { + border-width: 2px; +} +* .coins.coins-hands { + width: 36px; +} +* .coins.coins-stashed { + width: 190px; +} /*# sourceMappingURL=style.css.map */ diff --git a/system.json b/system.json index f447e0b..128aa5b 100644 --- a/system.json +++ b/system.json @@ -42,6 +42,20 @@ "system": "blades-in-the-dark", "path": "./packs/backgrounds.db", "entity": "Item" + }, + { + "name": "Items", + "label": "Items", + "system": "blades-in-the-dark", + "path": "./packs/items.db", + "entity": "Item" + }, + { + "name": "Abilities", + "label": "Abilities", + "system": "blades-in-the-dark", + "path": "./packs/abilities.db", + "entity": "Item" } ] } diff --git a/template.json b/template.json index 59a2a31..4f76306 100644 --- a/template.json +++ b/template.json @@ -10,6 +10,7 @@ "coins": [0], "coins_stashed": [0], "special_abilities": [], + "loadout": 0, "harm": { "light": { "one": "", @@ -108,13 +109,18 @@ }, "Item": { "types": ["item", "class", "ability", "heritage", "background", "vice"], + "templates": { + "default": { + "description": "" + } + }, "item": { + "templates": ["default"], "class_restriction": "", - "load": 0, - "description": "" + "load": 0 }, "class": { - "description": "", + "templates": ["default"], "base_skills": { "hunt": [0], "study": [0], @@ -132,17 +138,18 @@ "class_items": [] }, "ability": { + "templates": ["default"], "class": "", - "description": "" + "price": 1 }, "heritage": { - "description": "" + "templates": ["default"] }, "background": { - "description": "" + "templates": ["default"] }, "vice": { - "description": "" + "templates": ["default"] } } } diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index cb224be..c826275 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -1,77 +1,85 @@ -
+
-
-
+
+
-
+
+ {{#each actor.items as |item id|}} {{#eq item.type "heritage"}} -
-
+
+
Heritage
+
-

{{item.name}}

+
{{item.name}}
-
+
{{/eq}} {{/each}} {{#each actor.items as |item id|}} - {{#eq item.type "background"}} -
-
- -

{{item.name}}

+ {{#eq item.type "background"}} +
+
Background
+
+ +
{{item.name}}
+
+
- -
- {{/eq}} + {{/eq}} + {{/each}} + + {{#each actor.items as |item id|}} + {{#eq item.type "vice"}} +
+
Vice
+
+ +
{{item.name}}
+
+ +
+ {{/eq}} + {{/each}} + + {{#each actor.items as |item id|}} + {{#eq item.type "class"}} +
+
Class
+
+ +
{{item.name}}
+
+ +
+ {{/eq}} {{/each}}
-
- -
+ -
-
+
+
-
- {{#each actor.items as |item id|}} - {{#eq item.type "vice"}} -
-
- -

{{item.name}}

-
- -
- {{/eq}} - {{/each}} - {{#each actor.items as |item id|}} - {{#eq item.type "class"}} -
-
- -

{{item.name}}

-
- -
- {{/eq}} - {{/each}} -
+ + {{> "systems/blades-in-the-dark/templates/parts/coins.html"}}
+ {{!-- Experience --}} +
+
{{!-- Stress and Trauma --}}
@@ -229,21 +237,75 @@
{{!-- Attributes --}} - {{> "systems/blades-in-the-dark/templates/parts/attributes.html"}} +
- {{!-- Owned Items Tab --}} - -
    - {{#each actor.items as |item id|}} -
  1. -
    - -

    {{item.name}}

    +
    +
    +
    +

    Abilities

    +
    + {{#multiboxes data.experience}} + + + + + + + + + + + + + + + + + + + {{/multiboxes}} +
    +
    + +
    + {{#each actor.items as |item id|}} + {{#eq item.type "ability"}} +
    +
    +
    {{item.name}}
    +
    {{item.data.description}}
    +
    +
    - -
  2. - {{/each}} -
- + {{/eq}} + {{/each}} +
+
+ + {{!-- Owned Items Tab --}} +
+
+

Loadout: {{data.loadout}}

+
+
+ {{#each actor.items as |item id|}} + {{#eq item.type "item"}} +
+
+ +
{{item.name}}
+
{{item.data.description}}
+
+ +
+ {{/eq}} + {{/each}} +
+
+
+ + {{!-- Attributes --}} + {{> "systems/blades-in-the-dark/templates/parts/attributes.html"}} +
diff --git a/templates/items/ability.html b/templates/items/ability.html new file mode 100644 index 0000000..c2d357b --- /dev/null +++ b/templates/items/ability.html @@ -0,0 +1,15 @@ +
+
+ +
+

+
+
+ + {{!-- Sheet Body --}} +
+ +
+ + +
diff --git a/templates/items/class.html b/templates/items/class.html index 0ff211c..6558ceb 100644 --- a/templates/items/class.html +++ b/templates/items/class.html @@ -6,12 +6,7 @@
- {{!-- Sheet Body --}}
- - {{!-- Description Tab --}} -
- {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} -
+
diff --git a/templates/items/item.html b/templates/items/item.html index 83d6718..36aaedc 100644 --- a/templates/items/item.html +++ b/templates/items/item.html @@ -8,10 +8,8 @@ {{!-- Sheet Body --}}
- - {{!-- Description Tab --}} -
- {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} -
+ + +
diff --git a/templates/items/simple.html b/templates/items/simple.html new file mode 100644 index 0000000..d7746bb --- /dev/null +++ b/templates/items/simple.html @@ -0,0 +1,13 @@ +
+
+ +
+

+
+
+ + {{!-- Sheet Body --}} +
+ +
+
diff --git a/templates/parts/attributes.html b/templates/parts/attributes.html index 16dc156..95e5d74 100644 --- a/templates/parts/attributes.html +++ b/templates/parts/attributes.html @@ -1,23 +1,26 @@ -
- -
+
+
- {{#multiboxes data.attributes.insight.exp}} - - - - - - - - - - - - - - - {{/multiboxes}} +
+ +
+
+ {{#multiboxes data.attributes.insight.exp}} + + + + + + + + + + + + + + {{/multiboxes}} +
{{!-- Skills --}} @@ -50,7 +53,7 @@ -
study
+
Study
{{/multiboxes}}
@@ -66,7 +69,7 @@ -
survey
+
Survey
{{/multiboxes}}
@@ -82,30 +85,34 @@ -
tinker
+
Tinker
{{/multiboxes}}
-
+
- {{#multiboxes data.attributes.prowess.exp}} - - - - - - - - - - - - - - - {{/multiboxes}} +
+ +
+
+ {{#multiboxes data.attributes.prowess.exp}} + + + + + + + + + + + + + + {{/multiboxes}} +
{{!-- Skills --}} @@ -122,7 +129,7 @@ -
finesse
+
Finesse
{{/multiboxes}}
@@ -138,7 +145,7 @@ -
prowl
+
Prowl
{{/multiboxes}}
@@ -154,7 +161,7 @@ -
skirmish
+
Skirmish
{{/multiboxes}}
@@ -170,33 +177,37 @@ -
wreck
+
Wreck
{{/multiboxes}}
-
+
- {{#multiboxes data.attributes.resolve.exp}} - - - - - - - - - - - - - - - {{/multiboxes}} +
+ +
+
+ {{#multiboxes data.attributes.resolve.exp}} + + + + + + + + + + + + + + {{/multiboxes}} +
- + {{!-- Skills --}}
{{#multiboxes data.attributes.resolve.skills.attune}} @@ -211,7 +222,7 @@ -
attune
+
Attune
{{/multiboxes}}
@@ -227,7 +238,7 @@ -
command
+
Command
{{/multiboxes}}
@@ -243,7 +254,7 @@ -
consort
+
Consort
{{/multiboxes}}
@@ -259,10 +270,9 @@ -
sway
+
Sway
{{/multiboxes}}
-
- -
\ No newline at end of file +
+
diff --git a/templates/parts/coins.html b/templates/parts/coins.html new file mode 100644 index 0000000..6ec9e0a --- /dev/null +++ b/templates/parts/coins.html @@ -0,0 +1,118 @@ +
+ +
+
+ +
+
+ {{#multiboxes data.coins}} + + + + + + + + + + {{/multiboxes}} +
+
+ +
+ +
+ +
+
+ {{#multiboxes data.coins_stashed}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{/multiboxes}} +
+ +
+ +
\ No newline at end of file