Add Weapon rolls
This commit is contained in:
parent
2566fac378
commit
17e8fb4aa6
@ -132,8 +132,14 @@ export class Avd12ActorSheet extends ActorSheet {
|
|||||||
|
|
||||||
html.find('.roll-weapon').click((event) => {
|
html.find('.roll-weapon').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
const skillId = li.data("item-id")
|
const weponId = li.data("item-id")
|
||||||
this.actor.rollWeapon(skillId)
|
this.actor.rollWeapon(weponId)
|
||||||
|
});
|
||||||
|
html.find('.roll-weapon-damage').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item");
|
||||||
|
const dmg = $(event.currentTarget).data("damage")
|
||||||
|
const weaponId = li.data("item-id")
|
||||||
|
this.actor.rollWeaponDamage(weaponId, dmg)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -199,8 +199,27 @@ export class Avd12Actor extends Actor {
|
|||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
addDamages( damage) {
|
||||||
|
//console.log(damage)
|
||||||
|
if ( damage.damagetype != "none" && damage.dice ) {
|
||||||
|
damage.normal = damage.dice + '+' + damage.bonus
|
||||||
|
damage.critical = damage.dice + '+' + Number(damage.bonus)*2
|
||||||
|
let parser = damage.dice.match(/(\d+)(d\d+)/)
|
||||||
|
let nbDice = 2
|
||||||
|
if (parser && parser[1]) {
|
||||||
|
nbDice = Number(parser[1]) * 2
|
||||||
|
}
|
||||||
|
damage.brutal = nbDice + parser[2] + "+" + Number(damage.bonus)*2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
getWeapons() {
|
getWeapons() {
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []);
|
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || [])
|
||||||
|
comp.forEach(item => {
|
||||||
|
this.addDamages(item.system.damages.primary)
|
||||||
|
this.addDamages(item.system.damages.secondary)
|
||||||
|
this.addDamages(item.system.damages.tertiary)
|
||||||
|
})
|
||||||
Avd12Utility.sortArrayObjectsByName(comp)
|
Avd12Utility.sortArrayObjectsByName(comp)
|
||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
@ -664,156 +683,41 @@ export class Avd12Actor extends Actor {
|
|||||||
let weapon = this.items.get(weaponId)
|
let weapon = this.items.get(weaponId)
|
||||||
if (weapon) {
|
if (weapon) {
|
||||||
weapon = duplicate(weapon)
|
weapon = duplicate(weapon)
|
||||||
let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase())
|
let rollData = this.getCommonRollData()
|
||||||
if (skill) {
|
rollData.modifier = this.system.bonus[weapon.system.weapontype]
|
||||||
skill = duplicate(skill)
|
rollData.mode = "weapon"
|
||||||
Avd12Utility.updateSkill(skill)
|
rollData.weapon = weapon
|
||||||
let abilityKey = skill.system.ability
|
rollData.img = weapon.img
|
||||||
let rollData = this.getCommonRollData(abilityKey)
|
this.startRoll(rollData)
|
||||||
rollData.mode = "weapon"
|
} else {
|
||||||
rollData.skill = skill
|
ui.notifications.warn("Unable to find the relevant weapon ")
|
||||||
rollData.weapon = weapon
|
|
||||||
rollData.img = weapon.img
|
|
||||||
if (!rollData.forceDisadvantage) { // This is an attack, check if disadvantaged
|
|
||||||
rollData.forceDisadvantage = this.isAttackDisadvantage()
|
|
||||||
}
|
|
||||||
/*if (rollData.weapon.system.isranged && rollData.tokensDistance > Avd12Utility.getWeaponMaxRange(rollData.weapon) ) {
|
|
||||||
ui.notifications.warn(`Your target is out of range of your weapon (max: ${Avd12Utility.getWeaponMaxRange(rollData.weapon)} - current : ${rollData.tokensDistance})` )
|
|
||||||
return
|
|
||||||
}*/
|
|
||||||
this.startRoll(rollData)
|
|
||||||
} else {
|
|
||||||
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollDefenseMelee(attackRollData) {
|
async rollWeaponDamage(weaponId, damageType) {
|
||||||
let weapon = this.items.get(attackRollData.defenseWeaponId)
|
let weapon = this.items.get(weaponId)
|
||||||
if (weapon) {
|
if (weapon) {
|
||||||
weapon = duplicate(weapon)
|
weapon = duplicate(weapon)
|
||||||
let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase())
|
this.addDamages(weapon.system.damages.primary)
|
||||||
if (skill) {
|
|
||||||
skill = duplicate(skill)
|
|
||||||
Avd12Utility.updateSkill(skill)
|
|
||||||
let abilityKey = skill.system.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
|
|
||||||
if (!rollData.forceDisadvantage) { // This is an attack, check if disadvantaged
|
|
||||||
rollData.forceDisadvantage = this.isDefenseDisadvantage()
|
|
||||||
}
|
|
||||||
|
|
||||||
this.startRoll(rollData)
|
|
||||||
} else {
|
|
||||||
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
ui.notifications.warn("Weapon not found ! ")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
rollDefenseRanged(attackRollData) {
|
|
||||||
let rollData = this.getCommonRollData()
|
|
||||||
rollData.defenderTokenId = undefined // Cleanup
|
|
||||||
rollData.mode = "rangeddefense"
|
|
||||||
if (attackRollData) {
|
|
||||||
rollData.attackRollData = duplicate(attackRollData)
|
|
||||||
rollData.effectiveRange = Avd12Utility.getWeaponRange(attackRollData.weapon)
|
|
||||||
rollData.tokensDistance = attackRollData.tokensDistance // QoL copy
|
|
||||||
}
|
|
||||||
rollData.sizeDice = Avd12Utility.getSizeDice(this.system.biodata.size)
|
|
||||||
rollData.distanceBonusDice = 0 //Math.max(0, Math.floor((rollData.tokensDistance - rollData.effectiveRange) + 0.5))
|
|
||||||
rollData.hasCover = "none"
|
|
||||||
rollData.situational = "none"
|
|
||||||
rollData.useshield = false
|
|
||||||
rollData.shield = this.getEquippedShield()
|
|
||||||
this.startRoll(rollData)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
rollShieldDie() {
|
|
||||||
let shield = this.getEquippedShield()
|
|
||||||
if (shield) {
|
|
||||||
shield = duplicate(shield)
|
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "shield"
|
rollData.damageFormula = weapon.system.damages.primary[damageType]
|
||||||
rollData.shield = shield
|
rollData.mode = "weapon-damage"
|
||||||
rollData.useshield = true
|
rollData.weapon = weapon
|
||||||
rollData.img = shield.img
|
rollData.damageType = damageType
|
||||||
this.startRoll(rollData)
|
rollData.img = weapon.img
|
||||||
|
let myRoll = new Roll(rollData.damageFormula).roll({ async: false })
|
||||||
|
await Avd12Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
|
rollData.roll = myRoll
|
||||||
|
let msg = await Avd12Utility.createChatWithRollMode(rollData.alias, {
|
||||||
|
content: await renderTemplate(`systems/fvtt-avd12/templates/chat/chat-damage-result.hbs`, rollData)
|
||||||
|
})
|
||||||
|
msg.setFlag("world", "rolldata", rollData)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Unable to find the relevant weapon ")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async rollArmorDie(rollData = undefined) {
|
|
||||||
let armor = this.getEquippedArmor()
|
|
||||||
if (armor) {
|
|
||||||
armor = duplicate(armor)
|
|
||||||
let reduce = 0
|
|
||||||
let multiply = 1
|
|
||||||
let disadvantage = false
|
|
||||||
let advantage = false
|
|
||||||
let messages = ["Armor applied"]
|
|
||||||
|
|
||||||
if (rollData) {
|
|
||||||
if (Avd12Utility.isArmorLight(armor) && Avd12Utility.isWeaponPenetrating(rollData.attackRollData.weapon)) {
|
|
||||||
return { armorIgnored: true, nbSuccess: 0, messages: ["Armor ignored : Penetrating weapons ignore Light Armors."] }
|
|
||||||
}
|
|
||||||
if (Avd12Utility.isWeaponPenetrating(rollData.attackRollData.weapon)) {
|
|
||||||
messages.push("Armor reduced by 1 (Penetrating weapon)")
|
|
||||||
reduce = 1
|
|
||||||
}
|
|
||||||
if (Avd12Utility.isWeaponLight(rollData.attackRollData.weapon)) {
|
|
||||||
messages.push("Armor with advantage (Light weapon)")
|
|
||||||
advantage = true
|
|
||||||
}
|
|
||||||
if (Avd12Utility.isWeaponHeavy(rollData.attackRollData.weapon)) {
|
|
||||||
messages.push("Armor with disadvantage (Heavy weapon)")
|
|
||||||
disadvantage = true
|
|
||||||
}
|
|
||||||
if (Avd12Utility.isWeaponHack(rollData.attackRollData.weapon)) {
|
|
||||||
messages.push("Armor reduced by 1 (Hack weapon)")
|
|
||||||
reduce = 1
|
|
||||||
}
|
|
||||||
if (Avd12Utility.isWeaponUndamaging(rollData.attackRollData.weapon)) {
|
|
||||||
messages.push("Armor multiplied by 2 (Undamaging weapon)")
|
|
||||||
multiply = 2
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let diceColor = armor.system.absorprionroll
|
|
||||||
let armorResult = await Avd12Utility.getRollTableFromDiceColor(diceColor, false)
|
|
||||||
console.log("Armor log", armorResult)
|
|
||||||
let armorValue = Math.max(0, (Number(armorResult.text) + reduce) * multiply)
|
|
||||||
if (advantage || disadvantage) {
|
|
||||||
let armorResult2 = await Avd12Utility.getRollTableFromDiceColor(diceColor, false)
|
|
||||||
let armorValue2 = Math.max(0, (Number(armorResult2.text) + reduce) * multiply)
|
|
||||||
if (advantage) {
|
|
||||||
armorValue = (armorValue2 > armorValue) ? armorValue2 : armorValue
|
|
||||||
messages.push(`Armor advantage - Roll 1 = ${armorValue} - Roll 2 = ${armorValue2}`)
|
|
||||||
}
|
|
||||||
if (disadvantage) {
|
|
||||||
armorValue = (armorValue2 < armorValue) ? armorValue2 : armorValue
|
|
||||||
messages.push(`Armor disadvantage - Roll 1 = ${armorValue} - Roll 2 = ${armorValue2}`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
armorResult.armorValue = armorValue
|
|
||||||
if (!rollData) {
|
|
||||||
ChatMessage.create({ content: "Armor result : " + armorValue })
|
|
||||||
}
|
|
||||||
messages.push("Armor result : " + armorValue)
|
|
||||||
return { armorIgnored: false, nbSuccess: armorValue, rawArmor: armorResult.text, messages: messages }
|
|
||||||
}
|
|
||||||
return { armorIgnored: true, nbSuccess: 0, messages: ["No armor equipped."] }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async startRoll(rollData) {
|
async startRoll(rollData) {
|
||||||
this.syncRoll(rollData)
|
this.syncRoll(rollData)
|
||||||
|
@ -19,7 +19,6 @@ export class Avd12ItemSheet extends ItemSheet {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_getHeaderButtons() {
|
_getHeaderButtons() {
|
||||||
let buttons = super._getHeaderButtons();
|
let buttons = super._getHeaderButtons();
|
||||||
|
15
packs/weapons.db
Normal file
15
packs/weapons.db
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{"name":"Heavy 2-Handed Blunt Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":200,"cost":1200,"health":0,"movespeed":0,"equipped":false,"weapontype":"crush","category":"heavy2h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"2d8","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHar0Cqlcw9R","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light 1-Handed Blunt Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":50,"cost":350,"health":0,"movespeed":0,"equipped":false,"weapontype":"crush","category":"light1h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d10","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHar32dCrCv2","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Heavy 1-Handed Slash Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":100,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"slash","category":"heavy1h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d12","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHar8Juk5ks7","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light 2-Handed Slash Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":100,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"slash","category":"light2h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"3d4","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarDxHs0eLp","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Heavy Ranged Weapon","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":120,"cost":1200,"health":0,"movespeed":0,"equipped":false,"weapontype":"ranged","category":"heavyranged","minrange":4,"maxrange":30,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"2d6","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarFD3DmT42","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light 1-Handed Slash Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":50,"cost":350,"health":0,"movespeed":0,"equipped":false,"weapontype":"slash","category":"light1h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d10","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarH20z6Lzc","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light 1-Handed Pierce Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":50,"cost":350,"health":0,"movespeed":0,"equipped":false,"weapontype":"pierce","category":"light1h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d10","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarHuz9mQH3","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Heavy 2-Handed Slash Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":200,"cost":1200,"health":0,"movespeed":0,"equipped":false,"weapontype":"slash","category":"heavy2h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"2d8","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarO3iVLBrZ","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light 2-Handed Pierce Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":100,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"pierce","category":"light2h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"3d4","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarP3WA52j3","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light 2-Handed Blunt Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":100,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"crush","category":"light2h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"3d4","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarU8V5XbYB","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Heavy 2-Handed Pierce Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":200,"cost":1200,"health":0,"movespeed":0,"equipped":false,"weapontype":"pierce","category":"heavy2h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"2d8","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarV3eCc8Ed","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Heavy 1-Handed Blunt Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":100,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"crush","category":"heavy1h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d12","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHarc8F58s38","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Ultra-Light Ranged Weapon","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":40,"cost":400,"health":0,"movespeed":0,"equipped":false,"weapontype":"ranged","category":"ulightranged","minrange":0,"maxrange":4,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d6","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHariX73eN1h","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Heavy 1-Handed Pierce Weapon [Iron]","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":100,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"pierce","category":"heavy1h","minrange":0,"maxrange":0,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d12","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHaroH0fihZh","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
||||||
|
{"name":"Light Ranged Weapon","type":"weapon","img":"systems/fvtt-avd12/images/icons/weapon2.webp","system":{"focuspointsbonus":0,"focusregenbonus":0,"burnchancebonus":0,"mitigation":{"physical":{"value":0},"psychic":{"value":0},"fire":{"value":0},"lightning":{"value":0},"cold":{"value":0},"dark":{"value":0},"divine":{"value":0},"arcane":{"value":0}},"bonus":{"block":{"value":0},"dodge":{"value":0},"resistance":{"value":0}},"focus":{"isfocus":false,"core":"corenone","treatment":"treatmentnone","bond":"bondnone"},"weight":80,"cost":600,"health":0,"movespeed":0,"equipped":false,"weapontype":"ranged","category":"lightranged","minrange":2,"maxrange":10,"throwrange":0,"magical":false,"blackenediron":false,"silvered":false,"damages":{"primary":{"damagetype":"physical","dice":"1d8","bonus":"0"},"secondary":{"damagetype":"none","dice":"","bonus":"0"},"tertiary":{"damagetype":"none","dice":"","bonus":"0"}},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.MOcIlHar8MM7JNm7"}},"_stats":{"systemId":"fvtt-avd12","systemVersion":"10.0.11","coreVersion":"10.288","createdTime":1671358405255,"modifiedTime":1671361680079,"lastModifiedBy":"JgmaAbvFHQvSlowN"},"_id":"MOcIlHaruSwtPJ77","folder":null,"sort":0,"ownership":{"default":0,"JgmaAbvFHQvSlowN":3}}
|
@ -51,6 +51,15 @@
|
|||||||
"system": "fvtt-avd12",
|
"system": "fvtt-avd12",
|
||||||
"private": false,
|
"private": false,
|
||||||
"flags": {}
|
"flags": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Item",
|
||||||
|
"label": "Weapons",
|
||||||
|
"name": "weapons",
|
||||||
|
"path": "packs/weapons.db",
|
||||||
|
"system": "fvtt-avd12",
|
||||||
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"title": "AnyVenture D12 RPG",
|
"title": "AnyVenture D12 RPG",
|
||||||
|
@ -109,7 +109,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Combat Tab --}}
|
{{!-- Modules Tab --}}
|
||||||
<div class="tab modules" data-group="primary" data-tab="modules">
|
<div class="tab modules" data-group="primary" data-tab="modules">
|
||||||
|
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
@ -197,6 +197,34 @@
|
|||||||
|
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
|
|
||||||
|
<ul class="item-list alternate-list">
|
||||||
|
<li class="item flexrow list-item items-title-bg">
|
||||||
|
<span class="item-name-label-header item-name-label-header-long2">
|
||||||
|
<h3><label class="item-name-label-header-long2">Equipped Weapons</label></h3>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-long">
|
||||||
|
<label class="short-label">Damage</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-long">
|
||||||
|
<label class="short-label">Critical</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-long">
|
||||||
|
<label class="short-label">Brutal</label>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
{{#each weapons as |weapon key|}}
|
||||||
|
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||||
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
|
src="{{weapon.img}}" /></a>
|
||||||
|
<span class="item-name-label-long2"><a class="roll-weapon"><i class="fa-solid fa-dice-d12"></i>{{weapon.name}}</a></span>
|
||||||
|
<span class="item-field-label-long"><label><a class="roll-weapon-damage" data-damage="normal"><i class="fa-solid fa-dice-d12"></i>{{weapon.system.damages.primary.normal}}</label></a></span>
|
||||||
|
<span class="item-field-label-long"><label><a class="roll-weapon-damage" data-damage="critical"><i class="fa-solid fa-dice-d12"></i>{{weapon.system.damages.primary.critical}}</label></a></span>
|
||||||
|
<span class="item-field-label-long"><label><a class="roll-weapon-damage" data-damage="brutal"><i class="fa-solid fa-dice-d12"></i>{{weapon.system.damages.primary.brutal}}</label></a></span>
|
||||||
|
<div class="item-filler"> </div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
|
||||||
<ul class="stat-list alternate-list">
|
<ul class="stat-list alternate-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header">
|
<span class="item-name-label-header">
|
||||||
@ -225,7 +253,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
34
templates/chat/chat-damage-result.hbs
Normal file
34
templates/chat/chat-damage-result.hbs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<div class="chat-message-header">
|
||||||
|
{{#if actorImg}}
|
||||||
|
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||||
|
{{/if}}
|
||||||
|
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
{{#if img}}
|
||||||
|
<div >
|
||||||
|
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
<div class="flexcol">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
<li>Weapon : {{weapon.name}}
|
||||||
|
</li>
|
||||||
|
<li>Damage formula : {{damageFormula}} ({{upperFirst damageType}})
|
||||||
|
</li>
|
||||||
|
<li>Damage type : {{upperFirst weapon.system.damages.primary.damagetype}}
|
||||||
|
</li>
|
||||||
|
<li>Total : {{roll.total}}
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
@ -98,7 +98,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<label class="item-field-label-short">Dice</label>
|
<label class="item-field-label-short">Dice</label>
|
||||||
<input type="text" class="item-field-label-short" name="system.damages.{{key}}.dice" value="{{damage.dice}}" data-dtype="Number"/>
|
<input type="text" class="item-field-label-short" name="system.damages.{{key}}.dice" value="{{damage.dice}}" data-dtype="String"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<label class="item-field-label-short">Bonus</label>
|
<label class="item-field-label-short">Bonus</label>
|
||||||
|
@ -3,3 +3,4 @@
|
|||||||
<option value="blunt">Blunt</option>
|
<option value="blunt">Blunt</option>
|
||||||
<option value="slash">Slash</option>
|
<option value="slash">Slash</option>
|
||||||
<option value="pierce">Pierce</option>
|
<option value="pierce">Pierce</option>
|
||||||
|
<option value="crush">Crush</option>
|
||||||
|
Reference in New Issue
Block a user