diff --git a/modules/crucible-actor.js b/modules/crucible-actor.js index 52d669b..75359cf 100644 --- a/modules/crucible-actor.js +++ b/modules/crucible-actor.js @@ -554,6 +554,34 @@ export class CrucibleActor extends Actor { } } + /* -------------------------------------------- */ + rollDefenseMelee(attackRollData) { + let weapon = this.data.items.get(attackRollData.defenseWeaponId) + if (weapon) { + weapon = duplicate(weapon) + let skill = this.data.items.find(item => item.name.toLowerCase() == weapon.data.skill.toLowerCase()) + if (skill) { + skill = duplicate(skill) + CrucibleUtility.updateSkill(skill) + let abilityKey = skill.data.ability + let rollData = this.getCommonRollData(abilityKey) + rollData.defenderTokenId = undefined // Cleanup + rollData.mode = "weapondefense" + rollData.shield = this.getEquippedShield() + rollData.attackRollData = duplicate(attackRollData) + rollData.skill = skill + rollData.weapon = weapon + rollData.img = weapon.img + + this.startRoll(rollData) + } else { + ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name) + } + } else { + ui.notifications.warn("Weapon not found ! ") + } + } + /* -------------------------------------------- */ rollShieldDie() { let shield = this.getEquippedShield() diff --git a/modules/crucible-utility.js b/modules/crucible-utility.js index ba6cffa..a2a9710 100644 --- a/modules/crucible-utility.js +++ b/modules/crucible-utility.js @@ -5,9 +5,11 @@ import { CrucibleCommands } from "./crucible-commands.js"; /* -------------------------------------------- */ const __level2Dice = ["d0", "d4", "d6", "d8", "d10", "d12"]; const __name2DiceValue = { "0": 0, "d0": 0, "d4": 4, "d6": 6, "d8": 8, "d10": 10, "d12": 12 } -const __skillLevel2Dice = ["0d8", "1d8", "2d8","3d8", "4d8", '6d8', "8d8", "10d8"] -const __color2RollTable = { blue: "Blue Armor Die", black: "Black Armor Die", green: "Green Armor Die", purple: "Purple Armor Die", - white: "White Armor Die", red: "Red Armor Die", blackgreen: "Black & Green Armor Dice"} +const __skillLevel2Dice = ["0d8", "1d8", "2d8", "3d8", "4d8", '6d8', "8d8", "10d8"] +const __color2RollTable = { + blue: "Blue Armor Die", black: "Black Armor Die", green: "Green Armor Die", purple: "Purple Armor Die", + white: "White Armor Die", red: "Red Armor Die", blackgreen: "Black & Green Armor Dice" +} /* -------------------------------------------- */ export class CrucibleUtility { @@ -20,7 +22,8 @@ export class CrucibleUtility { CrucibleUtility.dropItemOnToken(canvas, data) }); - this.rollDataStore = {} + this.rollDataStore = {} + this.defenderStore = {} CrucibleCommands.init(); @@ -61,13 +64,13 @@ export class CrucibleUtility { static getShieldSkills() { return duplicate(this.shieldSkills) } - + /* -------------------------------------------- */ static async ready() { const skills = await CrucibleUtility.loadCompendium("fvtt-crucible-rpg.skills") this.skills = skills.map(i => i.toObject()) - this.weaponSkills = duplicate( this.skills.filter( item => item.data.isweaponskill)) - this.shieldSkills = duplicate( this.skills.filter( item => item.data.isshieldskill)) + this.weaponSkills = duplicate(this.skills.filter(item => item.data.isweaponskill)) + this.shieldSkills = duplicate(this.skills.filter(item => item.data.isshieldskill)) const rollTables = await CrucibleUtility.loadCompendium("fvtt-crucible-rpg.rolltables") this.rollTables = rollTables.map(i => i.toObject()) @@ -87,16 +90,16 @@ export class CrucibleUtility { } /* -------------------------------------------- */ - static async getRollTableFromDiceColor( diceColor) { + static async getRollTableFromDiceColor(diceColor) { let rollTableName = __color2RollTable[diceColor] if (rollTableName) { const pack = game.packs.get("fvtt-crucible-rpg.rolltables") const index = await pack.getIndex() const entry = index.find(e => e.name === rollTableName) let table = await pack.getDocument(entry._id) - const draw = await table.draw({ displayChat: true, rollMode: "gmroll"}) + const draw = await table.draw({ displayChat: true, rollMode: "gmroll" }) return draw.results.length > 0 ? draw.results[0] : undefined - } + } } /* -------------------------------------------- */ @@ -105,6 +108,15 @@ export class CrucibleUtility { html.on("click", '.view-item-from-chat', event => { game.system.crucible.creator.openItemView(event) }) + html.on("click", '.roll-defense-melee', event => { + let rollId = $(event.currentTarget).data("roll-id") + let rollData = CrucibleUtility.getRollData( rollId ) + rollData.defenseWeaponId = $(event.currentTarget).data("defense-weapon-id") + let actor = game.canvas.tokens.get(rollData.defenderTokenId).actor + if (actor && (game.user.isGM || actor.isOwner) ) { + actor.rollDefenseMelee(rollData ) + } + }) } /* -------------------------------------------- */ @@ -214,12 +226,27 @@ export class CrucibleUtility { return this.rollDataStore[id] } + /* -------------------------------------------- */ + static async displayDefenseMessage(rollData) { + if (rollData.defenderTokenId) { + let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor + if (game.user.isGM || (game.user.character && game.user.character.id == defender.id)) { + rollData.defender = defender + rollData.defenderWeapons = defender.getEquippedWeapons() + rollData.isRollTarget = rollData.weapon?.data.isranged + this.createChatWithRollMode(defender.name, { + alias: defender.name, + user: defender.id, + content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-request-defense.html`, rollData), + whisper: [defender.id].concat(ChatMessage.getWhisperRecipients('GM')), + }) + } + } + } + /* -------------------------------------------- */ static async onSocketMesssage(msg) { console.log("SOCKET MESSAGE", msg.name) - if (msg.name == "msg_update_defense_state") { - this.updateDefenseState(msg.data.defenderId, msg.data.rollId) - } if (msg.name == "msg_update_roll") { this.updateRollData(msg.data) } @@ -233,9 +260,6 @@ export class CrucibleUtility { } this.addItemDropToActor(actor, item) } - if (msg.name == "msg_reroll_hero") { - this.rerollHeroRemaining(msg.data.userId, msg.data.rollId) - } } /* -------------------------------------------- */ @@ -284,9 +308,9 @@ export class CrucibleUtility { } /* -------------------------------------------- */ - static updateSkill( skill) { + static updateSkill(skill) { skill.data.level = skill.data.background + skill.data.basic + skill.data.class + skill.data.explevel - if (skill.data.level > 7) { skill.data.level = 7} + if (skill.data.level > 7) { skill.data.level = 7 } skill.data.skilldice = __skillLevel2Dice[skill.data.level] } @@ -298,13 +322,13 @@ export class CrucibleUtility { // ability/save => 0 let diceFormula let startFormula = "0d6cs>=5" - if ( rollData.ability) { + if (rollData.ability) { startFormula = String(rollData.ability.value) + "d6cs>=5" } - if ( rollData.save) { + if (rollData.save) { startFormula = String(rollData.save.value) + "d6cs>=5" } - if ( rollData.shield) { + if (rollData.shield) { startFormula = "1" + String(rollData.shield.data.shielddie) + "cs>=5" } diceFormula = startFormula @@ -314,10 +338,10 @@ export class CrucibleUtility { // bonus => 6 if (rollData.skill) { let level = rollData.skill.data.level - if (rollData.skill.data.issl2 ) { + if (rollData.skill.data.issl2) { rollData.hasSLBonus = true level += 2 - if (level > 7) { level = 7} + if (level > 7) { level = 7 } } rollData.skill.data.skilldice = __skillLevel2Dice[level] diceFormula += "+" + String(rollData.skill.data.skilldice) + "cs>=5" @@ -339,26 +363,26 @@ export class CrucibleUtility { } else { diceFormula += `+ 0d6cs>=5` } - } else { + } else { diceFormula += `+ 0d8cs=>5 + 0d10cs>=5 + 0d6cs>=5` } - + // advantage => 8 let advFormula = "+ 0d8cs>=5" - if(rollData.advantage == "advantage1") { + if (rollData.advantage == "advantage1") { advFormula = "+ 1d8cs>=5" } - if(rollData.advantage == "advantage2") { + if (rollData.advantage == "advantage2") { advFormula = "+ 2d8cs>=5" } diceFormula += advFormula // disadvantage => 10 let disFormula = "- 0d8cs>=5" - if(rollData.disadvantage == "disadvantage1") { + if (rollData.disadvantage == "disadvantage1") { disFormula = "- 1d8cs>=5" } - if(rollData.disadvantage == "disadvantage2") { + if (rollData.disadvantage == "disadvantage2") { disFormula = "- 2d8cs>=5" } diceFormula += disFormula @@ -370,7 +394,7 @@ export class CrucibleUtility { skillArmorPenalty += armor.data.skillpenalty } } - if (rollData.skill && rollData.skill.data.armorpenalty && skillArmorPenalty > 0 ) { + if (rollData.skill && rollData.skill.data.armorpenalty && skillArmorPenalty > 0) { rollData.skillArmorPenalty = skillArmorPenalty diceFormula += `- ${skillArmorPenalty}d8cs>=5` } else { @@ -390,12 +414,12 @@ export class CrucibleUtility { let myRoll2 = new Roll(diceFormula).roll({ async: false }) await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) if (rollData.rollAdvantage == "roll-advantage") { - if ( myRoll2.total > rollData.nbSuccess) { + if (myRoll2.total > rollData.nbSuccess) { rollData.roll = myRoll2 rollData.nbSuccess = myRoll2.total } } else { - if ( myRoll2.total < rollData.nbSuccess) { + if (myRoll2.total < rollData.nbSuccess) { rollData.roll = myRoll2 rollData.nbSuccess = myRoll2.total } @@ -404,23 +428,27 @@ export class CrucibleUtility { // Manage exp if (rollData.skill && rollData.skill.data.level > 0) { let nbSkillSuccess = rollData.roll.terms[2].total - if ( nbSkillSuccess == 0 || nbSkillSuccess == rollData.skill.data.level) { + if (nbSkillSuccess == 0 || nbSkillSuccess == rollData.skill.data.level) { actor.incrementSkillExp(rollData.skill._id, 1) } } + this.saveRollData(rollData) + actor.lastRoll = rollData + this.createChatWithRollMode(rollData.alias, { content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-generic-result.html`, rollData) }) console.log("Rolldata result", rollData) + // Message response + this.displayDefenseMessage(rollData) + // And save the roll - this.saveRollData(rollData) - actor.lastRoll = rollData } /* -------------------------------------------- */ - static sortArrayObjectsByName( myArray) { + static sortArrayObjectsByName(myArray) { myArray.sort((a, b) => { let fa = a.name.toLowerCase(); let fb = b.name.toLowerCase(); @@ -526,22 +554,15 @@ export class CrucibleUtility { /* -------------------------------------------- */ static updateWithTarget(rollData) { - let objectDefender - let target = CrucibleUtility.getTarget(); + let target = CrucibleUtility.getTarget() if (target) { - let defenderActor = game.actors.get(target.data.actorId) - objectDefender = CrucibleUtility.data(defenderActor) - objectDefender = mergeObject(objectDefender, target.data.actorData) - rollData.defender = objectDefender - rollData.attackerId = this.id - rollData.defenderId = objectDefender._id - defenderActor.addHindrancesList(rollData.effectsList) + rollData.defenderTokenId = target.id } } /* -------------------------------------------- */ static createChatWithRollMode(name, chatOptions) { - this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions); + this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions) } /* -------------------------------------------- */ diff --git a/packs/skills.db b/packs/skills.db index bfc16a3..640f49a 100644 --- a/packs/skills.db +++ b/packs/skills.db @@ -1,25 +1,57 @@ {"_id":"0EsFFhDpU4U1qfbr","name":"First Aid","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/First%20Aid.webp","data":{"ability":"int","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Stop the bleeding; save a life.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Dagger (Thrown)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Dagger.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Dagger (Thrown)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.7cPkH6PHAUt3Rb6P"}},"_id":"0rWkbtidDH1K6ITt"} +{"name":"Weapon - Javelin","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Javelin.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Javelin

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.i6PWAx9ltJU8E1Rh"}},"_id":"21t5PTOa2jnzaOYa"} +{"name":"Weapon - Improvised (Thrown)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Improvised.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Improvised (Thrown)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.VTHoe7dg9tYbUUyj"}},"_id":"3yFefS2kH9BvsnKn"} {"_id":"4UYwQiRMi6b9Voif","name":"Ride Mount","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Ride%20Mount.png","data":{"ability":"str","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Help me back up. I know I can tame him.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"6C4CHsYkDBY05f4W","name":"Stealth","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Stealth.webp","data":{"ability":"agi","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Stay on your toes and don't breath so loud.....

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Staff (2-H)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Staff.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Staff (2-H)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.iAtfHjejCVAwxEYo"}},"_id":"6Waaz1ZFUNXUeXyh"} {"_id":"6b9cpqdptAKFwy16","name":"Locks & Pockets","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Locks%20and%20Pockets.webp","data":{"ability":"dex","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

...and every lock that ain't locked when no one's around.....

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"6jzbwKOKvNUbXYxN","name":"Perception","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Perception.webp","data":{"ability":"wit","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

I think I heard a noise. Would you go check?

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"8o812uFRJbtKrbvc","name":"Blessings Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Blessing%20Lore.png","data":{"ability":"cha","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Chaplain Class Only

\n

 

\n

You can use the Chaplain Blessings Class Power

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"BKRHCd3kMfmQ7tcI","name":"Water Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Water%20Lore.webp","data":{"ability":"int","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

You can cast Water Lore spells.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Sling","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Sling.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Sling

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.vy6naa893l5Aymob"}},"_id":"EZe1zQpE9HRzT4af"} +{"name":"Weapon - Dagger (Melee)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Dagger.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Dagger (Melee)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.Tx4P13eAWKL0BIkW"}},"_id":"Eh9SVpPr67aoTQsN"} +{"name":"Weapon - Hand Axe (Thrown)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Hand%20Axe.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Hand Axe (Thrown)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.U9Xw60VzASxnjVMU"}},"_id":"FbhQrbQyrqV79Oxo"} +{"name":"Weapon - Pick","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Pick.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Pick

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.7uUMjdxMtDUlpWpa"}},"_id":"GALESupI5E30akg0"} +{"name":"Weapon - Bite","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Bite.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Bite

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.SGNfVsHXxyAJP7wr"}},"_id":"KBF3iDyTtJP07xye"} {"_id":"KR9JDNO8QkeNPa8W","name":"Haggle","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Haggle.png","data":{"ability":"wit","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

I'll give you half of your asking price and make you like it.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Improvised (Melee)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Improvised.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Improvised (Melee)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.DC1NNVuYqTvzmQXE"}},"_id":"NlWc5EL5nkKDBUvk"} +{"name":"Weapon - Hammer (Melee)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Hammer.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Hammer (Melee)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.VLI9GowNHKnLOVwQ"}},"_id":"PoTWGYCwpR0RhN33"} +{"name":"Weapon - Flail","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Flail.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Flail

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.tYHPGbI889W9Du4c"}},"_id":"QzuChpDhqpo6Ohtp"} +{"name":"Weapon - Claw","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Claw.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Claw

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.Iu2Rl4DVjIN9HjFg"}},"_id":"Rr4QvLeHr1Ncz1yb"} +{"name":"Weapon - 2-H Axe","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/2-H%20Axe.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

2-H Axe Skill

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.tlkHANCqXC6kAeiL"}},"_id":"S9Ncgj01q9OeZDL3"} +{"name":"Weapon - Club","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Club.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Club

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.fy88HBHUxVqyhJNP"}},"_id":"SGRK1VDSJdzQZhnn"} {"_id":"SyaqDmAk6PEG2wZI","name":"Air Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Air%20Lore.webp","data":{"ability":"int","armorpenalty":true,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

You can cast Air Lore Spells.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"T4YzMBGXyDrzEaBA","name":"Earth Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Earth%20Lore.webp","data":{"ability":"int","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

You can cast Earth Lore spells.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - 2-H Flail","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/2-H%20Flail.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

2-H Flail

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.W6vO8BJIvF0nCxnV"}},"_id":"TUrqTyqWvbEYconB"} +{"name":"Weapon - Hand Axe (Melee)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Hand%20Axe.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Hand Axe (Melee)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.xflr49mcYQeRBIxy"}},"_id":"WgWDvVHrUqfxAoWu"} {"_id":"XenGlvxetLv0A92F","name":"Acrobatics","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Acrobatics.webp","data":{"ability":"agi","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Handy for swinging from Chandaliers, sliding down stair rails, rolling between the legs of a Giant, and other feats of astonishing balance and agility.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"XurQCYDVwEA0yxcv","name":"Fire Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Fire%20Lore.webp","data":{"ability":"int","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

You can cast Fire Lore spells.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"Y4o571K5DQseDaGT","name":"Swim","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Swim.webp","data":{"ability":"str","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Kick you feet and don't forget to breathe!

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Spear (2-H)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Spear.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Spear (2-H)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.qLngjNAnvcXd3tPM"}},"_id":"YwKCavta5WywBRJX"} {"_id":"ZfIwXZwaBKaVoYbG","name":"Athletics","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Athletics.png","data":{"ability":"agi","armorpenalty":true,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Your ability to run, jump, and climb; a measure of your physical coordination.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - 2-H Pick","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/2-H%20Pick.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

2-H Pick

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.qSMQv1DjDxw7Vd2C"}},"_id":"a8qGglAc1HvfKnGI"} +{"name":"Weapon - Spear (1-H)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Spear.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Spear (1-H)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.UuErSkE8ZazgIB9P"}},"_id":"aKjpVHrl9ElworLE"} +{"name":"Weapon - 2-H Hammer","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/2-H%20Hammer.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.YvMOONergKAsFykG"}},"_id":"cZ4s6yFOXhXWHJlw"} {"_id":"cc74gHSQK4hRR8Vj","name":"Brawn","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Brawn.png","data":{"ability":"str","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

A combination of your Size and Strength.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"fJjXMpUILcN983XV","name":"Axe","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/icon_skill.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":true,"isweaponskill":true,"isshieldskill":true,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"","isshiedskill":false,"level":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.Cnw8keaxD1SI3vun"}}} {"_id":"fegRI4Vsyr0Us1Ga","name":"Research","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Research.webp","data":{"ability":"int","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Give me a moment to look that up....

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Mace","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Mace.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Mace

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.339HJIWywPl0qSn5"}},"_id":"gfytCFPUYbstfKe8"} +{"name":"Weapon - Hammer (Thrown)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Hammer.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Hammer (Thrown)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.dHQrYqolZ01IOgzv"}},"_id":"gyo68qDFHgH2qWvz"} +{"name":"Weapon - Spear (Thrown)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Spear.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Spear (Thrown)

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.6rblok4g1WxoKrLs"}},"_id":"hgUwebJwwSd73lVz"} +{"name":"Weapon - Sting","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Sting.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Sting

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.uT9FTZj8Snh7MEsI"}},"_id":"i7YP54Xto6d8bEdt"} {"_id":"i8eeE2I9vv2kHwdJ","name":"Shadow Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Shadow%20Lore.webp","data":{"ability":"int","armorpenalty":true,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

You can cast Shadow Lore spells.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - 2-H Club","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/2-H%20Club.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

2-H Club

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.hnKcAnoDCwFWq7tN"}},"_id":"iXNVpHBqwrOEeoK0"} +{"name":"Weapon - 2-H Sword","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/2-H%20Sword.webp","data":{"ability":"str","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

2-H Sword

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.D7qVkw7L76GZXp20"}},"_id":"ledzUQVgUoqEBB8b"} {"_id":"lfB80K2lFSzQH442","name":"Intuition","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Intuition.png","data":{"ability":"wit","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

I see what you did there.  I think you're up to something....

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"mVIFRdqNRfAItR8f","name":"Persuade","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Persuade.webp","data":{"ability":"int","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

I'm sure you'll see it my way....

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Unarmed","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Unarmed.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Unarmed

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.GXMNTHOjPuR3VNfT"}},"_id":"mnK0xBbU27xFFDR5"} {"_id":"obASqfQt8xUsbTmB","name":"Intimidate","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Intimidate.webp","data":{"ability":"cha","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Because I said so; that's why!

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"qoAzYlPOHVKBd77S","name":"Miracles Lore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Miracle%20Lore.png","data":{"ability":"cha","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Chaplain Class Only

\n

 

\n

You can use the Chaplain Miracles Class Power.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"s2AAQviLttcHul3X","name":"Charm","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Charm.png","data":{"ability":"cha","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Getting someone to do what you want because they want to do it.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Crossbow","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Crossbow.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Crossbow

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.xSjJZ1Tpn9YpAxcu"}},"_id":"tK4kShJlVbab8ZXK"} +{"name":"Weapon - Bow","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Bow.webp","data":{"ability":"dex","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Bow

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.gg26YIMHy7tvPLlA"}},"_id":"tKFIJQ8iQctSeBAi"} +{"name":"Weapon - Sword","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Sword.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Sword

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.zQ1a0p0pZmctlMQA"}},"_id":"um3wZAmgXQEoRCp9"} {"_id":"xlYUHAUSfQrsjQoi","name":"Survival","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Survival.webp","data":{"ability":"wit","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Help me set this snare and we'll eat like kings in the morning.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} {"_id":"yAhtkgqf7pKyjJTA","name":"Poison Use","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Poison%20Use.webp","data":{"ability":"dex","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"

Let me apply this to my blade.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}} +{"name":"Weapon - Gore","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/weapons/Gore.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":false,"isweaponskill":true,"isshieldskill":false,"isfeatdie":false,"issl2":false,"islore":false,"skilltype":"simple","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"

Gore

","level":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.eQjP8IlzcdTr3ca7"}},"_id":"yWSVh4SOTFRbplwN"} diff --git a/system.json b/system.json index 573383b..67e608f 100644 --- a/system.json +++ b/system.json @@ -221,8 +221,8 @@ "templateVersion": 14, "title": "Crucible RPG", "manifest": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/raw/master/system.json", - "download": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/archive/fvtt-crucible-rpg-v0.1.24.zip", + "download": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/archive/fvtt-crucible-rpg-v0.1.25.zip", "url": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg", - "version": "0.1.24", + "version": "0.1.25", "background" : "./images/ui/crucible_welcome_page.webp" } diff --git a/template.json b/template.json index e340786..45e8c88 100644 --- a/template.json +++ b/template.json @@ -175,6 +175,7 @@ "qualities": "", "flaws": "", "damage": "", + "isranged": false, "range": "", "maxrange": "", "minstr": 0, diff --git a/templates/chat-request-defense.html b/templates/chat-request-defense.html new file mode 100644 index 0000000..540f09a --- /dev/null +++ b/templates/chat-request-defense.html @@ -0,0 +1,47 @@ +
+ {{#if actorImg}} + {{alias}} + {{/if}} +

{{alias}}

+
+ +
+ +{{#if img}} +
+ {{name}} +
+{{/if}} + +
+
+ +
+ + {{#if isRollTarget}} +
{{defender.name}} is under Ranged attack. He must roll a Target Roll to defend himself.
+ {{else}} +
{{defender.name}} is under Melee attack. He must roll a Defense Roll to defend himself.
+ {{/if}} + + + + + +
+ + \ No newline at end of file diff --git a/templates/item-skill-sheet.html b/templates/item-skill-sheet.html index 9538827..7856e7b 100644 --- a/templates/item-skill-sheet.html +++ b/templates/item-skill-sheet.html @@ -59,9 +59,9 @@ -
  • +
  • -
  • - -
  • -
  • - + +
  • +
  • + {{#if data.isranged}} +
  • + +
  • +
  • + +
  • + {{/if}} +
  • diff --git a/templates/roll-dialog-generic.html b/templates/roll-dialog-generic.html index d7cd065..188be60 100644 --- a/templates/roll-dialog-generic.html +++ b/templates/roll-dialog-generic.html @@ -8,13 +8,6 @@
    - {{#if shield}} -
    - {{shield.name}} : - {{shield.data.shielddie}} -
    - {{/if}} - {{#if save}}
    {{save.label}} : @@ -36,6 +29,17 @@
    {{/if}} + {{#if shield}} +
    + Use shield ? : + +
    +
    + {{shield.name}} : + {{shield.data.shielddie}} +
    + {{/if}} + {{#if skill}}
    Skill :