Compare commits
31 Commits
fvtt-hero-
...
master
Author | SHA1 | Date | |
---|---|---|---|
a5c6ae8fcb | |||
5e42cfbab1 | |||
86a9889359 | |||
7375fa39c5 | |||
ab587740d8 | |||
0f4fe253e0 | |||
3b13a44d9d | |||
0ebe0c3734 | |||
6a00dd8583 | |||
5064b83f2b | |||
58275c32e6 | |||
c22b950f7c | |||
893ca4cfa5 | |||
94065a3755 | |||
1d4d3054c3 | |||
e5c6d3f42f | |||
f914b9838e | |||
8a543068d2 | |||
379b8358ee | |||
40ee7c3c40 | |||
a07f367b0c | |||
09bb7fb692 | |||
92dc81af24 | |||
d2430ee482 | |||
86780ce8ae | |||
b383481915 | |||
dca78fd4b6 | |||
f381269acf | |||
686ea4cea6 | |||
c915b85a7b | |||
5026e120c1 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
packs/* filter=lfs diff=lfs merge=lfs -text
|
12
README.md
12
README.md
@ -2,8 +2,18 @@ This is the official Hero System 6th Edition game system for FoundryVTT, based o
|
|||||||
|
|
||||||
The Hero System game system is not usable standalone. To play this game you need a copy of the core rulebook.
|
The Hero System game system is not usable standalone. To play this game you need a copy of the core rulebook.
|
||||||
|
|
||||||
|
It features :
|
||||||
|
|
||||||
|
- PC/NPC sheets
|
||||||
|
- Roll management and associated helpers
|
||||||
|
- Segment and Turn management in the combat tracker
|
||||||
|
- Official compendiums
|
||||||
|
|
||||||
|
![Snapshot](https://www.lahiette.com/leratierbretonnien/wp-content/uploads/2023/08/hero6_snapshot_02.webp "Snapshot")
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
Manifest URL: https://github.com/Legendsmiths-LLC/
|
Manifest URL: https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/master/system.json
|
||||||
|
Project page : https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6
|
||||||
|
|
||||||
For manual installation, use the provided manifest URL in the "Install System" popup window while managing game systems.
|
For manual installation, use the provided manifest URL in the "Install System" popup window while managing game systems.
|
||||||
|
|
||||||
|
47
changelog.md
Normal file
47
changelog.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
v11.0.23
|
||||||
|
|
||||||
|
- Proper display of BODY/STUN bars on tokens
|
||||||
|
|
||||||
|
v11.0.22
|
||||||
|
|
||||||
|
- Fix actor sheet (powers, characteristics)
|
||||||
|
- Fix weapons roll
|
||||||
|
|
||||||
|
v11.0.21
|
||||||
|
|
||||||
|
- Fix grid default distance in system.json
|
||||||
|
- Fix powers roll again (#29)
|
||||||
|
|
||||||
|
v11.0.20
|
||||||
|
|
||||||
|
- Enhance chat message output (cf #25)
|
||||||
|
- Enhance roll window
|
||||||
|
- Code simplification
|
||||||
|
|
||||||
|
v11.0.19
|
||||||
|
|
||||||
|
- Fix killing damage computation (again)
|
||||||
|
|
||||||
|
v11.0.18
|
||||||
|
|
||||||
|
- Fix killing damage computation
|
||||||
|
|
||||||
|
v11.0.17
|
||||||
|
|
||||||
|
- Fix tickets 1, 2, 3, 7, 8, 9, 10
|
||||||
|
- Implements effects tagging (#11)
|
||||||
|
|
||||||
|
v11.0.16
|
||||||
|
|
||||||
|
- Fix mental maneuvers rolls
|
||||||
|
- Renamed title
|
||||||
|
|
||||||
|
v11.0.15
|
||||||
|
|
||||||
|
- Fix target rolls for power
|
||||||
|
- Add maneuvers roll in the maneuver tab
|
||||||
|
- Renamed title
|
||||||
|
|
||||||
|
v11.0.14
|
||||||
|
|
||||||
|
- Initial public release
|
@ -162,13 +162,19 @@ export class Hero6ActorSheet extends ActorSheet {
|
|||||||
html.find('.roll-perception').click((event) => {
|
html.find('.roll-perception').click((event) => {
|
||||||
this.actor.rollPerception("int");
|
this.actor.rollPerception("int");
|
||||||
});
|
});
|
||||||
|
html.find('.roll-weapon').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
this.actor.rollWeapon(li.data("item-id"));
|
||||||
|
});
|
||||||
|
html.find('.roll-power-attack').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
this.actor.rollPowerAttack(li.data("item-id"));
|
||||||
|
});
|
||||||
html.find('.roll-direct').click((event) => {
|
html.find('.roll-direct').click((event) => {
|
||||||
const rollFormula = $(event.currentTarget).data("roll-formula")
|
const rollFormula = $(event.currentTarget).data("roll-formula")
|
||||||
const rollSource = $(event.currentTarget).data("roll-source")
|
const rollSource = $(event.currentTarget).data("roll-source")
|
||||||
Hero6Utility.processDirectRoll( { actorId: this.actor.id, rollFormula: rollFormula, rollSource: rollSource, mode:"directroll"} )
|
Hero6Utility.processDirectRoll( { actorId: this.actor.id, rollFormula: rollFormula, rollSource: rollSource, mode:"directroll"} )
|
||||||
});
|
});
|
||||||
|
|
||||||
html.find('.roll-item').click((event) => {
|
html.find('.roll-item').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
let itemId = li.data("item-id")
|
let itemId = li.data("item-id")
|
||||||
@ -184,16 +190,6 @@ export class Hero6ActorSheet extends ActorSheet {
|
|||||||
let itemId = li.data("item-id")
|
let itemId = li.data("item-id")
|
||||||
this.actor.rollLiftDice(itemId);
|
this.actor.rollLiftDice(itemId);
|
||||||
});
|
});
|
||||||
html.find('.roll-weapon').click((event) => {
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
|
||||||
const skillId = li.data("item-id")
|
|
||||||
this.actor.rollWeapon(skillId)
|
|
||||||
});
|
|
||||||
html.find('.roll-maneuver').click((event) => {
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
|
||||||
const maneuverId = li.data("maneuver-id")
|
|
||||||
this.actor.rollManeuver(maneuverId)
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.hold-action').click((event) => {
|
html.find('.hold-action').click((event) => {
|
||||||
this.actor.holdAction()
|
this.actor.holdAction()
|
||||||
|
@ -216,7 +216,6 @@ export class Hero6Actor extends Actor {
|
|||||||
skill.roll = charac.roll
|
skill.roll = charac.roll
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("SILL", skill)
|
|
||||||
if (skill.system.levels > 0) {
|
if (skill.system.levels > 0) {
|
||||||
skill.roll += skill.system.levels
|
skill.roll += skill.system.levels
|
||||||
}
|
}
|
||||||
@ -224,14 +223,26 @@ export class Hero6Actor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
prepareManeuver(maneuver) {
|
prepareManeuver(maneuver) {
|
||||||
|
let subMode = "normal"
|
||||||
maneuver.roll = 11 + this.system.characteristics.ocv.value
|
if (maneuver.system.maneuvertype == "mental") {
|
||||||
|
maneuver.roll = 11 + (Number(this.system.characteristics.omcv.value) || 0)
|
||||||
|
subMode = "omcv"
|
||||||
|
if (Number(maneuver.system.omcv)) {
|
||||||
|
maneuver.roll += (Number(maneuver.system.omcv) || 0)
|
||||||
|
} else {
|
||||||
|
maneuver.noOMCV = true
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
maneuver.roll = 11 + (Number(this.system.characteristics.ocv.value) || 0)
|
||||||
|
subMode = "ocv"
|
||||||
if (Number(maneuver.system.ocv)) {
|
if (Number(maneuver.system.ocv)) {
|
||||||
maneuver.roll += Number(maneuver.system.ocv)
|
maneuver.roll += (Number(maneuver.system.ocv) || 0)
|
||||||
} else {
|
} else {
|
||||||
maneuver.noOCV = true
|
maneuver.noOCV = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return subMode
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getSkills() {
|
getSkills() {
|
||||||
@ -304,11 +315,13 @@ export class Hero6Actor extends Actor {
|
|||||||
let maneuvers = {
|
let maneuvers = {
|
||||||
general: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "general"),
|
general: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "general"),
|
||||||
offensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "offensive"),
|
offensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "offensive"),
|
||||||
defensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "defensive")
|
defensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "defensive"),
|
||||||
|
mental: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "mental")
|
||||||
}
|
}
|
||||||
Hero6Utility.sortArrayObjectsByName(maneuvers.general)
|
Hero6Utility.sortArrayObjectsByName(maneuvers.general)
|
||||||
Hero6Utility.sortArrayObjectsByName(maneuvers.offensive)
|
Hero6Utility.sortArrayObjectsByName(maneuvers.offensive)
|
||||||
Hero6Utility.sortArrayObjectsByName(maneuvers.defensive)
|
Hero6Utility.sortArrayObjectsByName(maneuvers.defensive)
|
||||||
|
Hero6Utility.sortArrayObjectsByName(maneuvers.mental)
|
||||||
return maneuvers
|
return maneuvers
|
||||||
}
|
}
|
||||||
getAllManeuvers() {
|
getAllManeuvers() {
|
||||||
@ -628,6 +641,9 @@ export class Hero6Actor extends Actor {
|
|||||||
rollData.actorImg = this.img
|
rollData.actorImg = this.img
|
||||||
rollData.actorId = this.id
|
rollData.actorId = this.id
|
||||||
rollData.img = this.img
|
rollData.img = this.img
|
||||||
|
rollData.title = this.name
|
||||||
|
rollData.subMode = "normal"
|
||||||
|
rollData.characteristics = duplicate(this.system.characteristics)
|
||||||
if (chKey) {
|
if (chKey) {
|
||||||
rollData.charac = duplicate(this.system.characteristics[chKey])
|
rollData.charac = duplicate(this.system.characteristics[chKey])
|
||||||
this.prepareCharacValues(rollData.charac)
|
this.prepareCharacValues(rollData.charac)
|
||||||
@ -646,12 +662,10 @@ export class Hero6Actor extends Actor {
|
|||||||
const ray = new Ray(token.object?.center || token.center, defenderToken.center)
|
const ray = new Ray(token.object?.center || token.center, defenderToken.center)
|
||||||
rollData.tokensDistance = canvas.grid.measureDistances([{ ray }], { gridSpaces: false })[0] / canvas.grid.grid.options.dimensions.distance
|
rollData.tokensDistance = canvas.grid.measureDistances([{ ray }], { gridSpaces: false })[0] / canvas.grid.grid.options.dimensions.distance
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.info("No token connected to this actor, unable to compute distance.")
|
//ui.notifications.info("No token connected to this actor, unable to compute distance.")
|
||||||
return
|
//return
|
||||||
}
|
}
|
||||||
if (defender) {
|
if (defender) {
|
||||||
rollData.forceAdvantage = defender.isAttackerAdvantage()
|
|
||||||
rollData.advantageFromTarget = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("ROLLDATA", rollData)
|
console.log("ROLLDATA", rollData)
|
||||||
@ -662,6 +676,7 @@ export class Hero6Actor extends Actor {
|
|||||||
rollPerception() {
|
rollPerception() {
|
||||||
let rollData = this.getCommonRollData("int")
|
let rollData = this.getCommonRollData("int")
|
||||||
rollData.isPerception = true
|
rollData.isPerception = true
|
||||||
|
rollData.title = "Perception roll"
|
||||||
rollData.charac.roll = Number(rollData.charac.perceptionroll)
|
rollData.charac.roll = Number(rollData.charac.perceptionroll)
|
||||||
rollData.mode = "perception"
|
rollData.mode = "perception"
|
||||||
if (rollData.target) {
|
if (rollData.target) {
|
||||||
@ -675,6 +690,7 @@ export class Hero6Actor extends Actor {
|
|||||||
rollCharac(chKey) {
|
rollCharac(chKey) {
|
||||||
let rollData = this.getCommonRollData(chKey)
|
let rollData = this.getCommonRollData(chKey)
|
||||||
rollData.mode = "charac"
|
rollData.mode = "charac"
|
||||||
|
rollData.title = "Characteristic roll"
|
||||||
if (rollData.target) {
|
if (rollData.target) {
|
||||||
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
||||||
return
|
return
|
||||||
@ -686,12 +702,13 @@ export class Hero6Actor extends Actor {
|
|||||||
let item = this.items.get(itemId)
|
let item = this.items.get(itemId)
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "item"
|
rollData.mode = "item"
|
||||||
|
rollData.title = Hero6Utility.upperFirst(item.type) + " - " + item.name
|
||||||
rollData.item = duplicate(item)
|
rollData.item = duplicate(item)
|
||||||
if (item.type == "skill") {
|
if (item.type == "skill") {
|
||||||
this.prepareSkill(rollData.item)
|
this.prepareSkill(rollData.item)
|
||||||
}
|
}
|
||||||
if (item.type == "maneuver") {
|
if (item.type == "maneuver") {
|
||||||
this.prepareManeuver(rollData.item)
|
rollData.subMode = this.prepareManeuver(rollData.item)
|
||||||
}
|
}
|
||||||
this.startRoll(rollData)
|
this.startRoll(rollData)
|
||||||
}
|
}
|
||||||
@ -704,18 +721,32 @@ export class Hero6Actor extends Actor {
|
|||||||
rollData.title = item.name
|
rollData.title = item.name
|
||||||
rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(item.system.damage)
|
rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(item.system.damage)
|
||||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||||
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
//await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
|
|
||||||
rollData.roll = myRoll
|
rollData.roll = myRoll
|
||||||
rollData.result = myRoll.total
|
rollData.result = myRoll.total
|
||||||
rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll)
|
rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll)
|
||||||
|
|
||||||
|
let mult
|
||||||
|
if (item.system.damageeffect == "killing") { // As per issue #11
|
||||||
|
mult = new Roll("1d3").roll({ async: false })
|
||||||
|
rollData.killingMultiplier = mult.total
|
||||||
|
rollData.stunValue = Number(myRoll.total) * (Number(mult.total) + (Number(item.system.stunx) || 0))
|
||||||
|
} else {
|
||||||
|
rollData.stunValue = myRoll.total
|
||||||
|
}
|
||||||
|
|
||||||
let msgFlavor = await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-damage-result.hbs`, rollData)
|
let msgFlavor = await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-damage-result.hbs`, rollData)
|
||||||
let msg = await rollData.roll.toMessage({
|
let msg = await rollData.roll.toMessage({
|
||||||
user: game.user.id,
|
user: game.user.id,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
flavor: msgFlavor
|
flavor: msgFlavor
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (mult) {
|
||||||
|
await Hero6Utility.showDiceSoNice(mult, game.settings.get("core", "rollMode"))
|
||||||
|
}
|
||||||
|
|
||||||
rollData.roll = duplicate(rollData.roll) // Convert to object
|
rollData.roll = duplicate(rollData.roll) // Convert to object
|
||||||
msg.setFlag("world", "rolldata", rollData)
|
msg.setFlag("world", "rolldata", rollData)
|
||||||
console.log("Rolldata result", rollData)
|
console.log("Rolldata result", rollData)
|
||||||
@ -743,28 +774,6 @@ export class Hero6Actor extends Actor {
|
|||||||
console.log("Rolldata result", rollData)
|
console.log("Rolldata result", rollData)
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollManeuver(maneuverId) {
|
|
||||||
let skill = this.items.get(skillId)
|
|
||||||
if (skill) {
|
|
||||||
if (skill.system.islore && skill.system.level == 0) {
|
|
||||||
ui.notifications.warn("You can't use Lore Skills with a SL of 0.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
skill = duplicate(skill)
|
|
||||||
Hero6Utility.updateSkill(skill)
|
|
||||||
let abilityKey = skill.system.ability
|
|
||||||
let rollData = this.getCommonRollData(abilityKey)
|
|
||||||
rollData.mode = "skill"
|
|
||||||
rollData.skill = skill
|
|
||||||
rollData.img = skill.img
|
|
||||||
if (rollData.target) {
|
|
||||||
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.startRoll(rollData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
rollSkill(skillId) {
|
rollSkill(skillId) {
|
||||||
let skill = this.items.get(skillId)
|
let skill = this.items.get(skillId)
|
||||||
if (skill) {
|
if (skill) {
|
||||||
@ -788,34 +797,58 @@ export class Hero6Actor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollWeapon(weaponId) {
|
async rollWeapon(weaponId) {
|
||||||
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.subMode = "ocv"
|
||||||
skill = duplicate(skill)
|
|
||||||
Hero6Utility.updateSkill(skill)
|
|
||||||
let abilityKey = skill.system.ability
|
|
||||||
let rollData = this.getCommonRollData(abilityKey)
|
|
||||||
rollData.mode = "weapon"
|
rollData.mode = "weapon"
|
||||||
rollData.skill = skill
|
rollData.item = weapon
|
||||||
rollData.weapon = weapon
|
rollData.item.roll = 11 + (Number(this.system.characteristics.ocv.value) || 0) + (Number(weapon.system.ocv) || 0)
|
||||||
rollData.img = weapon.img
|
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 > Hero6Utility.getWeaponMaxRange(rollData.weapon) ) {
|
|
||||||
ui.notifications.warn(`Your target is out of range of your weapon (max: ${Hero6Utility.getWeaponMaxRange(rollData.weapon)} - current : ${rollData.tokensDistance})` )
|
|
||||||
return
|
|
||||||
}*/
|
|
||||||
this.startRoll(rollData)
|
this.startRoll(rollData)
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
ui.notifications.warn("Unable to find the weapon " + weapon.name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollMentalManeuver(maneuverId) {
|
||||||
|
let maneuver = this.items.get(maneuverId)
|
||||||
|
if (maneuver) {
|
||||||
|
maneuver = duplicate(maneuver)
|
||||||
|
let rollData = this.getCommonRollData()
|
||||||
|
rollData.roll = 11 + (Number(this.system.characteristics.omcv.value) || 0) + (Number(maneuver.system.omcv) || 0)
|
||||||
|
rollData.mode = "mentalmaneuver"
|
||||||
|
rollData.item = maneuver
|
||||||
|
rollData.img = maneuver.img
|
||||||
|
this.startRoll(rollData)
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Unable to find the maneuver " + maneuver.name)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollPowerAttack(powerId ) {
|
||||||
|
let power = this.items.get(powerId)
|
||||||
|
if (power) {
|
||||||
|
power = duplicate(power)
|
||||||
|
let rollData = this.getCommonRollData()
|
||||||
|
rollData.mode = "powerattack"
|
||||||
|
rollData.item = power
|
||||||
|
rollData.img = power.img
|
||||||
|
|
||||||
|
if (power.system.attackvalue == "ocv") {
|
||||||
|
rollData.item.roll = 11 + (Number(this.system.characteristics.ocv.value) || 0) + (Number(power.system.ocv) || 0)
|
||||||
|
rollData.subMode = "ocv"
|
||||||
|
} else {
|
||||||
|
rollData.item.roll = 11 + (Number(this.system.characteristics.omcv.value) || 0) + (Number(power.system.omcv) || 0)
|
||||||
|
rollData.subMode = "omcv"
|
||||||
|
}
|
||||||
|
this.startRoll(rollData)
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Unable to find power " + power.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async startRoll(rollData) {
|
async startRoll(rollData) {
|
||||||
let rollDialog = await Hero6RollDialog.create(this, rollData)
|
let rollDialog = await Hero6RollDialog.create(this, rollData)
|
||||||
|
@ -54,6 +54,9 @@ export class Hero6Combat extends Combat {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
constructor(data, context) {
|
constructor(data, context) {
|
||||||
|
|
||||||
|
data.flags = { world: { turnData: { turnNumber: 0, segmentNumber: 12} } }
|
||||||
|
|
||||||
super(data, context);
|
super(data, context);
|
||||||
|
|
||||||
this.turnNumber = 0;
|
this.turnNumber = 0;
|
||||||
@ -280,12 +283,13 @@ export class Hero6Combat extends Combat {
|
|||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async _onCreateEmbeddedDocuments(type, documents, result, options, userId) {
|
async _onCreateDescendantDocuments(type, documents, result, options, userId) {
|
||||||
//console.log("Added...")
|
//console.log("Added...")
|
||||||
|
if (game.user.isGM) {
|
||||||
await super._onCreateEmbeddedDocuments(type, documents, result, options, userId)
|
await super._onCreateEmbeddedDocuments(type, documents, result, options, userId)
|
||||||
await this.rebuildInitiative()
|
await this.rebuildInitiative()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/* --------------------------------------------
|
/* --------------------------------------------
|
||||||
_onUpdate(changed, options, userId) {
|
_onUpdate(changed, options, userId) {
|
||||||
}*/
|
}*/
|
||||||
|
@ -10,7 +10,8 @@ export const Hero6_CONFIG = {
|
|||||||
maneuverTypes: {
|
maneuverTypes: {
|
||||||
"general": "General",
|
"general": "General",
|
||||||
"offensive": "Offensive",
|
"offensive": "Offensive",
|
||||||
"defensive": "Defensive"
|
"defensive": "Defensive",
|
||||||
|
"mental": "Mental"
|
||||||
},
|
},
|
||||||
rollCharac : {
|
rollCharac : {
|
||||||
"str": "Strength",
|
"str": "Strength",
|
||||||
@ -21,6 +22,13 @@ export const Hero6_CONFIG = {
|
|||||||
"pre": "Presence",
|
"pre": "Presence",
|
||||||
"manual": "Manual",
|
"manual": "Manual",
|
||||||
},
|
},
|
||||||
|
damageEffect: {
|
||||||
|
"normal": "Normal",
|
||||||
|
"killing": "Killing",
|
||||||
|
"stunonly": "Stun Only",
|
||||||
|
"bodyonly": "Body Only",
|
||||||
|
"effect": "Effect"
|
||||||
|
},
|
||||||
skillType: {
|
skillType: {
|
||||||
"agility": "Agility",
|
"agility": "Agility",
|
||||||
"interaction": "Interaction",
|
"interaction": "Interaction",
|
||||||
@ -29,6 +37,10 @@ export const Hero6_CONFIG = {
|
|||||||
"combat": "Combat" ,
|
"combat": "Combat" ,
|
||||||
"custom": "Custom"
|
"custom": "Custom"
|
||||||
},
|
},
|
||||||
|
attackTypes: {
|
||||||
|
"ocv": "OCV",
|
||||||
|
"omcv": "OMCV"
|
||||||
|
},
|
||||||
powerEquipmentType: {
|
powerEquipmentType: {
|
||||||
"adjustment": "Adjustment",
|
"adjustment": "Adjustment",
|
||||||
"mental": "Mental",
|
"mental": "Mental",
|
||||||
|
@ -147,13 +147,13 @@ export class Hero6ItemSheet extends ItemSheet {
|
|||||||
});
|
});
|
||||||
|
|
||||||
html.find('.item-skill-profiency').click(ev => {
|
html.find('.item-skill-profiency').click(ev => {
|
||||||
this.object.update( {'system.levels': 12, 'system.cost': 2} )
|
this.object.update( {'system.skillfamiliarity': false, 'system.cost': 2} )
|
||||||
} )
|
} )
|
||||||
html.find('.item-skill-familiarity').click(ev => {
|
html.find('.item-skill-familiarity').click(ev => {
|
||||||
this.object.update( {'system.levels': 10, 'system.cost': 1} )
|
this.object.update( {'system.skillprofiency': false, 'system.cost': 1} )
|
||||||
} )
|
} )
|
||||||
html.find('.item-skill-everyman').click(ev => {
|
html.find('.item-skill-everyman').click(ev => {
|
||||||
this.object.update( {'system.levels': 8, 'system.cost': 0} )
|
this.object.update( {'system.cost': 0} )
|
||||||
} )
|
} )
|
||||||
|
|
||||||
html.find('.view-subitem').click(ev => {
|
html.find('.view-subitem').click(ev => {
|
||||||
|
@ -5,7 +5,7 @@ export class Hero6RollDialog extends Dialog {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async create(actor, rollData) {
|
static async create(actor, rollData) {
|
||||||
|
|
||||||
let options = { classes: ["Hero6Dialog"], width: 460, height: 'fit-content', 'z-index': 99999 };
|
let options = { classes: ["Hero6Dialog"], width: 320, height: 'fit-content', 'z-index': 99999 };
|
||||||
let html = await renderTemplate('systems/fvtt-hero-system-6/templates/apps/roll-dialog-generic.hbs', rollData);
|
let html = await renderTemplate('systems/fvtt-hero-system-6/templates/apps/roll-dialog-generic.hbs', rollData);
|
||||||
|
|
||||||
return new Hero6RollDialog(actor, rollData, html, options);
|
return new Hero6RollDialog(actor, rollData, html, options);
|
||||||
@ -14,7 +14,7 @@ export class Hero6RollDialog extends Dialog {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
constructor(actor, rollData, html, options, close = undefined) {
|
constructor(actor, rollData, html, options, close = undefined) {
|
||||||
let conf = {
|
let conf = {
|
||||||
title: (rollData.mode == "skill") ? "Skill" : "Attribute",
|
title: "Roll window",
|
||||||
content: html,
|
content: html,
|
||||||
buttons: {
|
buttons: {
|
||||||
roll: {
|
roll: {
|
||||||
|
@ -43,6 +43,9 @@ export class Hero6Utility {
|
|||||||
Handlebars.registerHelper('mul', function (a, b) {
|
Handlebars.registerHelper('mul', function (a, b) {
|
||||||
return Number(a) * Number(b);
|
return Number(a) * Number(b);
|
||||||
})
|
})
|
||||||
|
Handlebars.registerHelper('add', function (a, b) {
|
||||||
|
return (Number(a) || 0) + (Number(b) || 0);
|
||||||
|
})
|
||||||
Handlebars.registerHelper('locationLabel', function (key) {
|
Handlebars.registerHelper('locationLabel', function (key) {
|
||||||
return __locationNames[key]
|
return __locationNames[key]
|
||||||
})
|
})
|
||||||
@ -346,6 +349,7 @@ export class Hero6Utility {
|
|||||||
// ability/save/size => 0
|
// ability/save/size => 0
|
||||||
let diceFormula = "3d6"
|
let diceFormula = "3d6"
|
||||||
let target = 10
|
let target = 10
|
||||||
|
|
||||||
if (rollData.charac) {
|
if (rollData.charac) {
|
||||||
target = rollData.charac.roll
|
target = rollData.charac.roll
|
||||||
}
|
}
|
||||||
@ -355,7 +359,7 @@ export class Hero6Utility {
|
|||||||
target += rollData.bonusMalus
|
target += rollData.bonusMalus
|
||||||
|
|
||||||
// Performs roll
|
// Performs roll
|
||||||
console.log("Roll formula", diceFormula)
|
//console.log("Roll formula", diceFormula)
|
||||||
let myRoll = rollData.roll
|
let myRoll = rollData.roll
|
||||||
if (!myRoll) { // New rolls only of no rerolls
|
if (!myRoll) { // New rolls only of no rerolls
|
||||||
myRoll = new Roll(diceFormula).roll({ async: false })
|
myRoll = new Roll(diceFormula).roll({ async: false })
|
||||||
@ -370,6 +374,7 @@ export class Hero6Utility {
|
|||||||
if (rollData.result <= target) {
|
if (rollData.result <= target) {
|
||||||
rollData.isSuccess = true
|
rollData.isSuccess = true
|
||||||
}
|
}
|
||||||
|
//console.log("Roll result", rollData)
|
||||||
if (myRoll.terms[0].total == 3) { // Always a success
|
if (myRoll.terms[0].total == 3) { // Always a success
|
||||||
rollData.isSuccess = true
|
rollData.isSuccess = true
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
MANIFEST-000098
|
MANIFEST-000188
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.588130 7fda7bbff6c0 Recovering log #96
|
2023/10/04-21:41:44.140558 7f16d7fff6c0 Recovering log #186
|
||||||
2023/08/24-20:28:52.597974 7fda7bbff6c0 Delete type=3 #94
|
2023/10/04-21:41:44.150660 7f16d7fff6c0 Delete type=3 #184
|
||||||
2023/08/24-20:28:52.598068 7fda7bbff6c0 Delete type=0 #96
|
2023/10/04-21:41:44.150712 7f16d7fff6c0 Delete type=0 #186
|
||||||
|
2023/10/04-21:47:02.531984 7f14567ef6c0 Level-0 table #191: started
|
||||||
|
2023/10/04-21:47:02.532010 7f14567ef6c0 Level-0 table #191: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.538823 7f14567ef6c0 Delete type=0 #189
|
||||||
|
2023/10/04-21:47:02.545067 7f14567ef6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.545092 7f14567ef6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/08/24-20:11:49.190057 7fda7abfd6c0 Recovering log #92
|
2023/10/04-21:35:01.811691 7f16d6ffd6c0 Recovering log #182
|
||||||
2023/08/24-20:11:49.204015 7fda7abfd6c0 Delete type=3 #90
|
2023/10/04-21:35:01.822017 7f16d6ffd6c0 Delete type=3 #180
|
||||||
2023/08/24-20:11:49.204065 7fda7abfd6c0 Delete type=0 #92
|
2023/10/04-21:35:01.822072 7f16d6ffd6c0 Delete type=0 #182
|
||||||
2023/08/24-20:28:26.993087 7fda79bfb6c0 Level-0 table #97: started
|
2023/10/04-21:41:38.795066 7f14567ef6c0 Level-0 table #187: started
|
||||||
2023/08/24-20:28:26.993130 7fda79bfb6c0 Level-0 table #97: 0 bytes OK
|
2023/10/04-21:41:38.795089 7f14567ef6c0 Level-0 table #187: 0 bytes OK
|
||||||
2023/08/24-20:28:27.002024 7fda79bfb6c0 Delete type=0 #95
|
2023/10/04-21:41:38.801689 7f14567ef6c0 Delete type=0 #185
|
||||||
2023/08/24-20:28:27.002188 7fda79bfb6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808479 7f14567ef6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:27.002221 7fda79bfb6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808530 7f14567ef6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/complications/MANIFEST-000188
Normal file
BIN
packs/complications/MANIFEST-000188
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000100
|
MANIFEST-000190
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.572724 7fda7a3fc6c0 Recovering log #97
|
2023/10/04-21:41:44.100507 7f16d6ffd6c0 Recovering log #188
|
||||||
2023/08/24-20:28:52.584112 7fda7a3fc6c0 Delete type=3 #95
|
2023/10/04-21:41:44.111147 7f16d6ffd6c0 Delete type=3 #186
|
||||||
2023/08/24-20:28:52.584178 7fda7a3fc6c0 Delete type=0 #97
|
2023/10/04-21:41:44.111281 7f16d6ffd6c0 Delete type=0 #188
|
||||||
|
2023/10/04-21:47:02.509785 7f14567ef6c0 Level-0 table #193: started
|
||||||
|
2023/10/04-21:47:02.509815 7f14567ef6c0 Level-0 table #193: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.518200 7f14567ef6c0 Delete type=0 #191
|
||||||
|
2023/10/04-21:47:02.518694 7f14567ef6c0 Manual compaction at level-0 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.518773 7f14567ef6c0 Manual compaction at level-1 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,15 +1,8 @@
|
|||||||
2023/08/24-20:11:49.176021 7fda7b3fe6c0 Recovering log #92
|
2023/10/04-21:35:01.768747 7f16d7fff6c0 Recovering log #184
|
||||||
2023/08/24-20:11:49.186442 7fda7b3fe6c0 Delete type=3 #90
|
2023/10/04-21:35:01.779863 7f16d7fff6c0 Delete type=3 #182
|
||||||
2023/08/24-20:11:49.186511 7fda7b3fe6c0 Delete type=0 #92
|
2023/10/04-21:35:01.779921 7f16d7fff6c0 Delete type=0 #184
|
||||||
2023/08/24-20:28:26.929251 7fda79bfb6c0 Level-0 table #98: started
|
2023/10/04-21:41:38.760705 7f14567ef6c0 Level-0 table #189: started
|
||||||
2023/08/24-20:28:26.933483 7fda79bfb6c0 Level-0 table #98: 61208 bytes OK
|
2023/10/04-21:41:38.760752 7f14567ef6c0 Level-0 table #189: 0 bytes OK
|
||||||
2023/08/24-20:28:26.940562 7fda79bfb6c0 Delete type=0 #96
|
2023/10/04-21:41:38.767288 7f14567ef6c0 Delete type=0 #187
|
||||||
2023/08/24-20:28:26.961338 7fda79bfb6c0 Manual compaction at level-0 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.774856 7f14567ef6c0 Manual compaction at level-0 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:26.961409 7fda79bfb6c0 Manual compaction at level-1 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at '!items!zFQRJSrYV4E12NgW' @ 355 : 1
|
2023/10/04-21:41:38.781126 7f14567ef6c0 Manual compaction at level-1 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:26.961416 7fda79bfb6c0 Compacting 1@1 + 1@2 files
|
|
||||||
2023/08/24-20:28:26.966548 7fda79bfb6c0 Generated table #99@1: 125 keys, 61208 bytes
|
|
||||||
2023/08/24-20:28:26.966578 7fda79bfb6c0 Compacted 1@1 + 1@2 files => 61208 bytes
|
|
||||||
2023/08/24-20:28:26.974691 7fda79bfb6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
|
||||||
2023/08/24-20:28:26.974830 7fda79bfb6c0 Delete type=2 #94
|
|
||||||
2023/08/24-20:28:26.975013 7fda79bfb6c0 Delete type=2 #98
|
|
||||||
2023/08/24-20:28:27.002145 7fda79bfb6c0 Manual compaction at level-1 from '!items!zFQRJSrYV4E12NgW' @ 355 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000090
|
MANIFEST-000182
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.601708 7fda7a3fc6c0 Recovering log #88
|
2023/10/04-21:41:44.152237 7f16d6ffd6c0 Recovering log #180
|
||||||
2023/08/24-20:28:52.613896 7fda7a3fc6c0 Delete type=3 #86
|
2023/10/04-21:41:44.162524 7f16d6ffd6c0 Delete type=3 #178
|
||||||
2023/08/24-20:28:52.614012 7fda7a3fc6c0 Delete type=0 #88
|
2023/10/04-21:41:44.162593 7f16d6ffd6c0 Delete type=0 #180
|
||||||
|
2023/10/04-21:47:02.538933 7f14567ef6c0 Level-0 table #185: started
|
||||||
|
2023/10/04-21:47:02.538963 7f14567ef6c0 Level-0 table #185: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.544945 7f14567ef6c0 Delete type=0 #183
|
||||||
|
2023/10/04-21:47:02.545085 7f14567ef6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.545108 7f14567ef6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/08/24-20:11:49.203061 7fda7bbff6c0 Recovering log #84
|
2023/10/04-21:35:01.823989 7f16d7fff6c0 Recovering log #176
|
||||||
2023/08/24-20:11:49.219726 7fda7bbff6c0 Delete type=3 #82
|
2023/10/04-21:35:01.834386 7f16d7fff6c0 Delete type=3 #174
|
||||||
2023/08/24-20:11:49.219820 7fda7bbff6c0 Delete type=0 #84
|
2023/10/04-21:35:01.834682 7f16d7fff6c0 Delete type=0 #176
|
||||||
2023/08/24-20:28:27.002307 7fda79bfb6c0 Level-0 table #89: started
|
2023/10/04-21:41:38.788643 7f14567ef6c0 Level-0 table #181: started
|
||||||
2023/08/24-20:28:27.002338 7fda79bfb6c0 Level-0 table #89: 0 bytes OK
|
2023/10/04-21:41:38.788676 7f14567ef6c0 Level-0 table #181: 0 bytes OK
|
||||||
2023/08/24-20:28:27.008560 7fda79bfb6c0 Delete type=0 #87
|
2023/10/04-21:41:38.794955 7f14567ef6c0 Delete type=0 #179
|
||||||
2023/08/24-20:28:27.051981 7fda79bfb6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808465 7f14567ef6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:27.052022 7fda79bfb6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808513 7f14567ef6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/maneuvers/MANIFEST-000182
Normal file
BIN
packs/maneuvers/MANIFEST-000182
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000098
|
MANIFEST-000188
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.601706 7fda7abfd6c0 Recovering log #96
|
2023/10/04-21:41:44.164948 7f16ecffa6c0 Recovering log #186
|
||||||
2023/08/24-20:28:52.613896 7fda7abfd6c0 Delete type=3 #94
|
2023/10/04-21:41:44.175548 7f16ecffa6c0 Delete type=3 #184
|
||||||
2023/08/24-20:28:52.613994 7fda7abfd6c0 Delete type=0 #96
|
2023/10/04-21:41:44.175604 7f16ecffa6c0 Delete type=0 #186
|
||||||
|
2023/10/04-21:47:02.552360 7f14567ef6c0 Level-0 table #191: started
|
||||||
|
2023/10/04-21:47:02.552386 7f14567ef6c0 Level-0 table #191: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.560501 7f14567ef6c0 Delete type=0 #189
|
||||||
|
2023/10/04-21:47:02.560629 7f14567ef6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.560655 7f14567ef6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/08/24-20:11:49.205472 7fda7b3fe6c0 Recovering log #92
|
2023/10/04-21:35:01.836873 7f16ecffa6c0 Recovering log #182
|
||||||
2023/08/24-20:11:49.222633 7fda7b3fe6c0 Delete type=3 #90
|
2023/10/04-21:35:01.847899 7f16ecffa6c0 Delete type=3 #180
|
||||||
2023/08/24-20:11:49.222697 7fda7b3fe6c0 Delete type=0 #92
|
2023/10/04-21:35:01.847965 7f16ecffa6c0 Delete type=0 #182
|
||||||
2023/08/24-20:28:27.019936 7fda79bfb6c0 Level-0 table #97: started
|
2023/10/04-21:41:38.781263 7f14567ef6c0 Level-0 table #187: started
|
||||||
2023/08/24-20:28:27.019979 7fda79bfb6c0 Level-0 table #97: 0 bytes OK
|
2023/10/04-21:41:38.781303 7f14567ef6c0 Level-0 table #187: 0 bytes OK
|
||||||
2023/08/24-20:28:27.051866 7fda79bfb6c0 Delete type=0 #95
|
2023/10/04-21:41:38.788512 7f14567ef6c0 Delete type=0 #185
|
||||||
2023/08/24-20:28:27.052012 7fda79bfb6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808450 7f14567ef6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:27.052040 7fda79bfb6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808503 7f14567ef6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/perks/MANIFEST-000188
Normal file
BIN
packs/perks/MANIFEST-000188
Normal file
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000099
|
MANIFEST-000190
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.588130 7fda7abfd6c0 Recovering log #97
|
2023/10/04-21:41:44.127784 7f16d77fe6c0 Recovering log #188
|
||||||
2023/08/24-20:28:52.597915 7fda7abfd6c0 Delete type=3 #95
|
2023/10/04-21:41:44.137990 7f16d77fe6c0 Delete type=3 #186
|
||||||
2023/08/24-20:28:52.597970 7fda7abfd6c0 Delete type=0 #97
|
2023/10/04-21:41:44.138069 7f16d77fe6c0 Delete type=0 #188
|
||||||
|
2023/10/04-21:47:02.518821 7f14567ef6c0 Level-0 table #193: started
|
||||||
|
2023/10/04-21:47:02.518901 7f14567ef6c0 Level-0 table #193: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.525324 7f14567ef6c0 Delete type=0 #191
|
||||||
|
2023/10/04-21:47:02.545045 7f14567ef6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.545077 7f14567ef6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/08/24-20:11:49.190059 7fda7a3fc6c0 Recovering log #93
|
2023/10/04-21:35:01.795955 7f16d77fe6c0 Recovering log #184
|
||||||
2023/08/24-20:11:49.201012 7fda7a3fc6c0 Delete type=3 #91
|
2023/10/04-21:35:01.806044 7f16d77fe6c0 Delete type=3 #182
|
||||||
2023/08/24-20:11:49.201080 7fda7a3fc6c0 Delete type=0 #93
|
2023/10/04-21:35:01.806101 7f16d77fe6c0 Delete type=0 #184
|
||||||
2023/08/24-20:28:26.985277 7fda79bfb6c0 Level-0 table #98: started
|
2023/10/04-21:41:38.774865 7f14567ef6c0 Level-0 table #189: started
|
||||||
2023/08/24-20:28:26.985305 7fda79bfb6c0 Level-0 table #98: 0 bytes OK
|
2023/10/04-21:41:38.774887 7f14567ef6c0 Level-0 table #189: 0 bytes OK
|
||||||
2023/08/24-20:28:26.992913 7fda79bfb6c0 Delete type=0 #96
|
2023/10/04-21:41:38.780982 7f14567ef6c0 Delete type=0 #187
|
||||||
2023/08/24-20:28:27.002175 7fda79bfb6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.781151 7f14567ef6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:27.002210 7fda79bfb6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.781172 7f14567ef6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/powers/MANIFEST-000190
Normal file
BIN
packs/powers/MANIFEST-000190
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000098
|
MANIFEST-000190
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.572723 7fda7b3fe6c0 Recovering log #96
|
2023/10/04-21:41:44.114622 7f16ecffa6c0 Recovering log #188
|
||||||
2023/08/24-20:28:52.584114 7fda7b3fe6c0 Delete type=3 #94
|
2023/10/04-21:41:44.125734 7f16ecffa6c0 Delete type=3 #186
|
||||||
2023/08/24-20:28:52.584178 7fda7b3fe6c0 Delete type=0 #96
|
2023/10/04-21:41:44.125812 7f16ecffa6c0 Delete type=0 #188
|
||||||
|
2023/10/04-21:47:02.525443 7f14567ef6c0 Level-0 table #193: started
|
||||||
|
2023/10/04-21:47:02.525470 7f14567ef6c0 Level-0 table #193: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.531866 7f14567ef6c0 Delete type=0 #191
|
||||||
|
2023/10/04-21:47:02.545057 7f14567ef6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.545100 7f14567ef6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/08/24-20:11:49.176021 7fda7bbff6c0 Recovering log #92
|
2023/10/04-21:35:01.783254 7f16ecffa6c0 Recovering log #184
|
||||||
2023/08/24-20:11:49.186443 7fda7bbff6c0 Delete type=3 #90
|
2023/10/04-21:35:01.792970 7f16ecffa6c0 Delete type=3 #182
|
||||||
2023/08/24-20:11:49.186509 7fda7bbff6c0 Delete type=0 #92
|
2023/10/04-21:35:01.793080 7f16ecffa6c0 Delete type=0 #184
|
||||||
2023/08/24-20:28:26.975180 7fda79bfb6c0 Level-0 table #97: started
|
2023/10/04-21:41:38.767422 7f14567ef6c0 Level-0 table #189: started
|
||||||
2023/08/24-20:28:26.975225 7fda79bfb6c0 Level-0 table #97: 0 bytes OK
|
2023/10/04-21:41:38.767446 7f14567ef6c0 Level-0 table #189: 0 bytes OK
|
||||||
2023/08/24-20:28:26.985137 7fda79bfb6c0 Delete type=0 #95
|
2023/10/04-21:41:38.774734 7f14567ef6c0 Delete type=0 #187
|
||||||
2023/08/24-20:28:27.002160 7fda79bfb6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.781109 7f14567ef6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:27.002199 7fda79bfb6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.781182 7f14567ef6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/skills/MANIFEST-000190
Normal file
BIN
packs/skills/MANIFEST-000190
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
MANIFEST-000098
|
MANIFEST-000188
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
2023/08/24-20:28:52.617237 7fda7abfd6c0 Recovering log #96
|
2023/10/04-21:41:44.177511 7f16d77fe6c0 Recovering log #186
|
||||||
2023/08/24-20:28:52.627761 7fda7abfd6c0 Delete type=3 #94
|
2023/10/04-21:41:44.187706 7f16d77fe6c0 Delete type=3 #184
|
||||||
2023/08/24-20:28:52.627835 7fda7abfd6c0 Delete type=0 #96
|
2023/10/04-21:41:44.187791 7f16d77fe6c0 Delete type=0 #186
|
||||||
|
2023/10/04-21:47:02.545189 7f14567ef6c0 Level-0 table #191: started
|
||||||
|
2023/10/04-21:47:02.545213 7f14567ef6c0 Level-0 table #191: 0 bytes OK
|
||||||
|
2023/10/04-21:47:02.552254 7f14567ef6c0 Delete type=0 #189
|
||||||
|
2023/10/04-21:47:02.560616 7f14567ef6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||||
|
2023/10/04-21:47:02.560646 7f14567ef6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
2023/08/24-20:11:49.221624 7fda7a3fc6c0 Recovering log #92
|
2023/10/04-21:35:01.850710 7f16d77fe6c0 Recovering log #182
|
||||||
2023/08/24-20:11:49.232090 7fda7a3fc6c0 Delete type=3 #90
|
2023/10/04-21:35:01.861789 7f16d77fe6c0 Delete type=3 #180
|
||||||
2023/08/24-20:11:49.232138 7fda7a3fc6c0 Delete type=0 #92
|
2023/10/04-21:35:01.861973 7f16d77fe6c0 Delete type=0 #182
|
||||||
2023/08/24-20:28:27.008700 7fda79bfb6c0 Level-0 table #97: started
|
2023/10/04-21:41:38.801785 7f14567ef6c0 Level-0 table #187: started
|
||||||
2023/08/24-20:28:27.008737 7fda79bfb6c0 Level-0 table #97: 0 bytes OK
|
2023/10/04-21:41:38.801808 7f14567ef6c0 Level-0 table #187: 0 bytes OK
|
||||||
2023/08/24-20:28:27.019736 7fda79bfb6c0 Delete type=0 #95
|
2023/10/04-21:41:38.808336 7f14567ef6c0 Delete type=0 #185
|
||||||
2023/08/24-20:28:27.051993 7fda79bfb6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808493 7f14567ef6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||||
2023/08/24-20:28:27.052030 7fda79bfb6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
2023/10/04-21:41:38.808522 7f14567ef6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||||
|
Binary file not shown.
BIN
packs/talents/MANIFEST-000188
Normal file
BIN
packs/talents/MANIFEST-000188
Normal file
Binary file not shown.
@ -821,10 +821,13 @@ ul, li {
|
|||||||
.roll-dialog-header {
|
.roll-dialog-header {
|
||||||
height: 52px;
|
height: 52px;
|
||||||
}
|
}
|
||||||
|
.dialog-roll-title {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
.actor-icon {
|
.actor-icon {
|
||||||
float: left;
|
float: left;
|
||||||
width: 48px;
|
width: 48px;
|
||||||
|
max-width: 48px;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
padding: 2px 6px 2px 2px;
|
padding: 2px 6px 2px 2px;
|
||||||
}
|
}
|
||||||
@ -1395,6 +1398,9 @@ Focus FOC: #ff0084
|
|||||||
.item-control-end {
|
.item-control-end {
|
||||||
align-self: flex-end;
|
align-self: flex-end;
|
||||||
}
|
}
|
||||||
|
.margin-space-4 {
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
.margin-item-list {
|
.margin-item-list {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
|
18
system.json
18
system.json
@ -5,11 +5,11 @@
|
|||||||
"flags": {}
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Hero System v6 for FoundryVTT (Official)",
|
"description": "Hero System 6E for FoundryVTT (Official)",
|
||||||
"esmodules": [
|
"esmodules": [
|
||||||
"modules/hero6-main.js"
|
"modules/hero6-main.js"
|
||||||
],
|
],
|
||||||
"gridDistance": 5,
|
"gridDistance": 2,
|
||||||
"gridUnits": "m",
|
"gridUnits": "m",
|
||||||
"languages": [
|
"languages": [
|
||||||
{
|
{
|
||||||
@ -85,21 +85,21 @@
|
|||||||
"flags": {}
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"primaryTokenAttribute": "secondary.hp",
|
"primaryTokenAttribute": "characteristics.body",
|
||||||
"secondaryTokenAttribute": "secondary.effort",
|
"secondaryTokenAttribute": "characteristics.end",
|
||||||
"socket": true,
|
"socket": true,
|
||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"version": "11.0.12",
|
"version": "11.0.23",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "11",
|
"minimum": "11",
|
||||||
"verified": "11"
|
"verified": "11"
|
||||||
},
|
},
|
||||||
"title": "Hero System v6 for FoundrtVTT (Official)",
|
"title": "Hero System 6E Basic (Official)",
|
||||||
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/fvtt-hero-system-6/raw/branch/master/system.json",
|
||||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v11.0.12.zip",
|
"download": "https://www.uberwald.me/gitea/public/fvtt-hero-system-6/archive/fvtt-hero-system-6-v11.0.23.zip",
|
||||||
"url": "https://www.uberwald.me/gitea/uberwald/",
|
"url": "https://www.uberwald.me/public/uberwald/",
|
||||||
"background": "systems/fvtt-hero-system-6/images/ui/hero_foundry_cover.webp",
|
"background": "systems/fvtt-hero-system-6/images/ui/hero_foundry_cover.webp",
|
||||||
"id": "fvtt-hero-system-6"
|
"id": "fvtt-hero-system-6"
|
||||||
}
|
}
|
@ -354,9 +354,12 @@
|
|||||||
"levels": 0,
|
"levels": 0,
|
||||||
"quantity": 1,
|
"quantity": 1,
|
||||||
"range": "",
|
"range": "",
|
||||||
|
"damageeffect": "normal",
|
||||||
"damage": "",
|
"damage": "",
|
||||||
|
"stunx": 0,
|
||||||
"endurance": 0,
|
"endurance": 0,
|
||||||
"hasroll": false,
|
"hasroll": false,
|
||||||
|
"attackvalue": "ocv",
|
||||||
"roll": 0,
|
"roll": 0,
|
||||||
"computebody": false,
|
"computebody": false,
|
||||||
"haseffectroll": false,
|
"haseffectroll": false,
|
||||||
@ -375,6 +378,8 @@
|
|||||||
"pha": "",
|
"pha": "",
|
||||||
"ocv": "",
|
"ocv": "",
|
||||||
"dcv" : "",
|
"dcv" : "",
|
||||||
|
"omcv": "",
|
||||||
|
"dmcv" : "",
|
||||||
"isstock": false,
|
"isstock": false,
|
||||||
"active": false
|
"active": false
|
||||||
},
|
},
|
||||||
|
@ -149,21 +149,32 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{{#each maneuvers as |mlist key|}}
|
{{#each maneuvers as |mlist mtype|}}
|
||||||
<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-field-label-long-img">
|
<span class="item-field-label-long-img">
|
||||||
<label class="">{{upperFirst key}} Maneuver</label>
|
<label class="">{{upperFirst mtype}} Maneuver</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-very-short">
|
<span class="item-field-label-very-short">
|
||||||
<label class="short-label">PHA</label>
|
<label class="short-label">PHA</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
{{#if (eq mtype "mental")}}
|
||||||
|
<span class="item-field-label-very-short">
|
||||||
|
<label class="short-label">OMCV</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-very-short">
|
||||||
|
<label class="short-label">DMCV</label>
|
||||||
|
</span>
|
||||||
|
{{else}}
|
||||||
<span class="item-field-label-very-short">
|
<span class="item-field-label-very-short">
|
||||||
<label class="short-label">OCV</label>
|
<label class="short-label">OCV</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-very-short">
|
<span class="item-field-label-very-short">
|
||||||
<label class="short-label">DCV</label>
|
<label class="short-label">DCV</label>
|
||||||
</span>
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<span class="item-field-text-long">
|
<span class="item-field-text-long">
|
||||||
<label class="short-label">Effects</label>
|
<label class="short-label">Effects</label>
|
||||||
</span>
|
</span>
|
||||||
@ -171,13 +182,21 @@
|
|||||||
{{#each mlist as |maneuver key|}}
|
{{#each mlist as |maneuver key|}}
|
||||||
<li class="item flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
<li class="item flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
||||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{maneuver.img}}" /></a>
|
src="{{maneuver.img}}" />
|
||||||
<a class="roll-item"><i class="fas fa-dice"></i></a><span class="item-field-label-long">{{maneuver.name}}
|
</a>
|
||||||
|
<span class="item-field-label-long">
|
||||||
|
<a class="roll-item"><i class="fas fa-dice"></i></a>
|
||||||
|
{{maneuver.name}}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="item-field-label-very-short">{{maneuver.system.pha}}</span>
|
<span class="item-field-label-very-short content-center">{{maneuver.system.pha}}</span>
|
||||||
<span class="item-field-label-very-short">{{maneuver.system.ocv}}</span>
|
{{#if (eq ../mtype "mental")}}
|
||||||
<span class="item-field-label-very-short">{{maneuver.system.dcv}}</span>
|
<span class="item-field-label-very-short content-center">{{maneuver.system.omcv}}</span>
|
||||||
|
<span class="item-field-label-very-short content-center">{{maneuver.system.dmcv}}</span>
|
||||||
|
{{else}}
|
||||||
|
<span class="item-field-label-very-short content-center">{{maneuver.system.ocv}}</span>
|
||||||
|
<span class="item-field-label-very-short content-center">{{maneuver.system.dcv}}</span>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<span class="item-field-text-long">{{maneuver.system.effects}}
|
<span class="item-field-text-long">{{maneuver.system.effects}}
|
||||||
{{#if maneuver.system.haseffectroll}}
|
{{#if maneuver.system.haseffectroll}}
|
||||||
@ -241,9 +260,9 @@
|
|||||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||||
<span class="item-field-label-long">{{char.label}}</span>
|
<span class="item-field-label-long">{{char.label}}</span>
|
||||||
<input type="text" class="item-field-label-short update-field"
|
<input type="text" class="item-field-label-short update-field"
|
||||||
data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" />
|
data-field-name="system.characteristics.{{key}}.max" value="{{char.max}}" data-dtype="Number" />
|
||||||
<input type="text" class="item-field-label-short" name="system.characteristics.{{key}}.damage"
|
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.{{key}}.value"
|
||||||
value="{{char.damage}}" data-dtype="Number" />
|
value="{{char.value}}" data-dtype="Number" />
|
||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -407,7 +426,7 @@
|
|||||||
<div class="charac-item">
|
<div class="charac-item">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-field-label-medium">
|
<span class="item-field-label-short">
|
||||||
<label class="">Value</label>
|
<label class="">Value</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-medium">
|
<span class="item-field-label-medium">
|
||||||
@ -556,11 +575,12 @@
|
|||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
{{#each allmaneuvers as |maneuver key|}}
|
{{#each allmaneuvers as |maneuver key|}}
|
||||||
|
{{#if (ne maneuver.system.maneuvertype "mental")}}
|
||||||
<div class="{{#if maneuver.system.isstock}}maneuver-list maneuver-is-stock{{/if}}">
|
<div class="{{#if maneuver.system.isstock}}maneuver-list maneuver-is-stock{{/if}}">
|
||||||
<li class="item stat flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
<li class="item stat flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
||||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{maneuver.img}}" /></a>
|
src="{{maneuver.img}}" /></a>
|
||||||
<span class="item-field-label-long">{{maneuver.name}}</span>
|
<span class="item-field-label-long"><a class="roll-item"><i class="fas fa-dice"></i>{{maneuver.name}}</a></span>
|
||||||
|
|
||||||
<span class="item-field-label-short">{{maneuver.system.pha}}</span>
|
<span class="item-field-label-short">{{maneuver.system.pha}}</span>
|
||||||
<span class="item-field-label-short">{{maneuver.system.ocv}}</span>
|
<span class="item-field-label-short">{{maneuver.system.ocv}}</span>
|
||||||
@ -574,8 +594,56 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<ul class="stat-list alternate-list item-list">
|
||||||
|
<li class="item flexrow list-item items-title-bg">
|
||||||
|
<span class="item-field-label-long-img">
|
||||||
|
<label class="">Mental Maneuvers</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-short">
|
||||||
|
<label class="short-label">PHA</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-short">
|
||||||
|
<label class="short-label">OMCV</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-short">
|
||||||
|
<label class="short-label">DMCV</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-long3">
|
||||||
|
<label class="short-label">Effects</label>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
{{#each allmaneuvers as |maneuver key|}}
|
||||||
|
{{#if (eq maneuver.system.maneuvertype "mental")}}
|
||||||
|
<div class="">
|
||||||
|
<li class="item stat flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
||||||
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
|
src="{{maneuver.img}}" /></a>
|
||||||
|
<span class="item-field-label-long">
|
||||||
|
<a class="roll-item"><i class="fas fa-dice"></i>
|
||||||
|
{{maneuver.name}}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="item-field-label-short content-center">{{maneuver.system.pha}}</span>
|
||||||
|
<span class="item-field-label-short content-center">{{maneuver.system.omcv}}</span>
|
||||||
|
<span class="item-field-label-short content-center">{{maneuver.system.dmcv}}</span>
|
||||||
|
|
||||||
|
<span class="item-field-label-long3">{{maneuver.system.effects}}</span>
|
||||||
|
|
||||||
|
<div class="item-filler"> </div>
|
||||||
|
<div class="item-controls item-controls-fixed">
|
||||||
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Powers Tab --}}
|
{{!-- Powers Tab --}}
|
||||||
@ -601,8 +669,8 @@
|
|||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="item-field-label-short">Roll</label>
|
<label class="item-field-label-short">Roll</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-medium">
|
<span class="item-field-label-short">
|
||||||
<label class="item-field-label-medium">END</label>
|
<label class="item-field-label-short">END</label>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
{{#each powers as |power key|}}
|
{{#each powers as |power key|}}
|
||||||
@ -610,7 +678,16 @@
|
|||||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{power.img}}" /></a>
|
src="{{power.img}}" /></a>
|
||||||
<span class="item-field-label-short">{{power.system.cost}}</span>
|
<span class="item-field-label-short">{{power.system.cost}}</span>
|
||||||
|
{{#if (eq system.typemodifier "attack")}}
|
||||||
|
<span class="item-field-label-long3">
|
||||||
|
<a class="roll-power-attack">
|
||||||
|
<i class="fas fa-dice"></i>
|
||||||
|
{{power.name}}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{{else}}
|
||||||
<span class="item-field-label-long3">{{power.name}}</span>
|
<span class="item-field-label-long3">{{power.name}}</span>
|
||||||
|
{{/if}}
|
||||||
<span class="item-field-label-long2">{{power.system.displayname}}</span>
|
<span class="item-field-label-long2">{{power.system.displayname}}</span>
|
||||||
<span class="item-field-label-medium"><a class="roll-damage" data-type="power"><i
|
<span class="item-field-label-medium"><a class="roll-damage" data-type="power"><i
|
||||||
class="fas fa-dice"></i>{{power.system.damage}}</a></span>
|
class="fas fa-dice"></i>{{power.system.damage}}</a></span>
|
||||||
@ -620,7 +697,7 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
<span class="item-field-label-short"> </span>
|
<span class="item-field-label-short"> </span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<span class="item-field-label-medium">{{power.system.endurance}}</span>
|
<span class="item-field-label-short">{{power.system.endurance}}</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
@ -32,8 +32,6 @@
|
|||||||
</a>
|
</a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{log combat.flags}}
|
|
||||||
|
|
||||||
{{#if combatCount}}
|
{{#if combatCount}}
|
||||||
{{#if combat.round}}
|
{{#if combat.round}}
|
||||||
<!--<h3 class="encounter-title noborder">Turn {{combat.turnNumber}} Segment {{combat.segmentNumber}}</h3>-->
|
<!--<h3 class="encounter-title noborder">Turn {{combat.turnNumber}} Segment {{combat.segmentNumber}}</h3>-->
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
<form class="skill-roll-dialog">
|
<form class="skill-roll-dialog">
|
||||||
<header class="roll-dialog-header">
|
<header class="roll-dialog-header">
|
||||||
|
<div class="flexrow">
|
||||||
{{#if img}}
|
{{#if img}}
|
||||||
<img class="actor-icon" src="{{img}}" data-edit="img" title="{{name}}" />
|
<img class="actor-icon" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<h1 class="dialog-roll-title roll-dialog-header">{{title}}</h1>
|
<h2 class="dialog-roll-title roll-dialog-header">{{title}}</h2>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
@ -15,6 +17,28 @@
|
|||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq subMode "ocv")}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-long margin-item-list">OCV : </span>
|
||||||
|
<span class="item-field-label-medium margin-item-list">{{characteristics.ocv.value}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} OCV : </span>
|
||||||
|
<span class="item-field-label-medium margin-item-list">{{fixNum item.system.ocv}}</span>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq subMode "omcv")}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-long margin-item-list">OMCV : </span>
|
||||||
|
<span class="item-field-label-medium margin-item-list">{{characteristics.omcv.value}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} OMCV : </span>
|
||||||
|
<span class="item-field-label-medium margin-item-list">{{fixNum item.system.omcv}}</span>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if item}}
|
{{#if item}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} - {{upperFirst item.name}}</span>
|
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} - {{upperFirst item.name}}</span>
|
||||||
|
@ -13,9 +13,28 @@
|
|||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Name : {{title}}</li>
|
<li>Name : {{title}}</li>
|
||||||
|
<li>Damage Effect: {{upperFirst item.system.damageeffect}}</li>
|
||||||
<li>Damage formula : {{diceFormula}}</li>
|
<li>Damage formula : {{diceFormula}}</li>
|
||||||
<li><strong>TOTAL : {{result}}</strong></li>
|
<li><strong>Total formula : {{result}}</strong></li>
|
||||||
|
|
||||||
|
{{#if (eq item.system.damageeffect "normal")}}
|
||||||
<li><strong>BODY : {{bodyValue}}</strong></li>
|
<li><strong>BODY : {{bodyValue}}</strong></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq item.system.damageeffect "killing")}}
|
||||||
|
<li><strong>1d3 result + STUNx : {{killingMultiplier}} + {{item.system.stunx}} = {{add killingMultiplier item.system.stunx}}</strong></li>
|
||||||
|
<li><strong>STUN : {{stunValue}}</strong></li>
|
||||||
|
<li><strong>BODY : {{result}}</strong></li>
|
||||||
|
<li><strong>Penetrating BODY : {{bodyValue}}</strong></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq item.system.damageeffect "stunonly")}}
|
||||||
|
<li><strong>STUN : {{stunValue}}</strong></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq item.system.damageeffect "bodyonly")}}
|
||||||
|
<li><strong>BODY : {{bodyValue}}</strong></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -17,6 +17,21 @@
|
|||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if weapon}}
|
||||||
|
<li>Weapon : {{weapon.name}}
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if maneuver}}
|
||||||
|
<li>Maneuver : {{maneuver.name}}
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if power}}
|
||||||
|
<li>Power : {{power.name}}
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if rollSource}}
|
{{#if rollSource}}
|
||||||
<li>Roll : {{rollSource}}</li>
|
<li>Roll : {{rollSource}}</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@ -42,7 +57,7 @@
|
|||||||
|
|
||||||
<li><strong>TOTAL : {{result}}</strong>
|
<li><strong>TOTAL : {{result}}</strong>
|
||||||
{{#if (exists margin)}}
|
{{#if (exists margin)}}
|
||||||
({{#if isSuccess}}Success!!{{else}}Failure!{{/if}})
|
(<strong>{{#if isSuccess}}Success!!{{else}}Failure!{{/if}}</strong>)
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@ -51,8 +66,16 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (exists margin)}}
|
{{#if (exists margin)}}
|
||||||
|
{{#if (eq subMode "normal")}}
|
||||||
<li><strong>Margin : {{margin}}</strong>
|
<li><strong>Margin : {{margin}}</strong>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{#if (eq subMode "ocv")}}
|
||||||
|
<li><strong>Margin (DCV Hit): {{margin}}</strong>
|
||||||
|
{{/if}}
|
||||||
|
{{#if (eq subMode "omcv")}}
|
||||||
|
<li><strong>Margin (DMCV Hit): {{margin}}</strong>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -37,14 +37,21 @@
|
|||||||
<input type="text" class="item-field-label-medium" name="system.pha" value="{{system.pha}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-medium" name="system.pha" value="{{system.pha}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
{{#if (eq system.maneuvertype "mental")}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-medium">OMCV</label>
|
||||||
|
<input type="text" class="item-field-label-medium" name="system.omcv" value="{{system.omcv}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
<li class="flexrow"><label class="item-field-label-medium">DMCV</label>
|
||||||
|
<input type="text" class="item-field-label-medium" name="system.dmcv" value="{{system.dmcv}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
{{else}}
|
||||||
<li class="flexrow"><label class="item-field-label-medium">OCV</label>
|
<li class="flexrow"><label class="item-field-label-medium">OCV</label>
|
||||||
<input type="text" class="item-field-label-medium" name="system.ocv" value="{{system.ocv}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-medium" name="system.ocv" value="{{system.ocv}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-medium">DCV</label>
|
<li class="flexrow"><label class="item-field-label-medium">DCV</label>
|
||||||
<input type="text" class="item-field-label-medium" name="system.dcv" value="{{system.dcv}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-medium" name="system.dcv" value="{{system.dcv}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
{{/if}}
|
||||||
<li class="flexrow"><label class="item-field-label-medium">Effects</label>
|
<li class="flexrow"><label class="item-field-label-medium">Effects</label>
|
||||||
<input type="text" class="item-field-label-long" name="system.effects" value="{{system.effects}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-long" name="system.effects" value="{{system.effects}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
@ -52,22 +52,21 @@
|
|||||||
data-dtype="Number"/>
|
data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Familiarity only</label>
|
<li class="flexrow"><label class="item-field-label-long">Proficency</label>
|
||||||
<input type="checkbox" class="item-field-label-medium item-skill-familiarity" name="system.skillfamiliarity" {{checked system.skillfamiliarity}}
|
<input type="checkbox" class="item-field-label-medium item-skill-profiency" name="system.skillprofiency" {{checked system.skillprofiency}}
|
||||||
{{#if (or system.skillprofiency system.skilllevelonly)}}disabled{{/if}}
|
data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{#if (not system.skillprofiency)}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Familiarity only</label>
|
||||||
|
<input type="checkbox" class="item-field-label-medium item-skill-familiarity" name="system.skillfamiliarity" {{checked system.skillfamiliarity}}
|
||||||
data-dtype="Number"/>
|
data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
{{#if system.skillfamiliarity}}
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Everyman skill</label>
|
<li class="flexrow"><label class="item-field-label-long">Everyman skill</label>
|
||||||
<input type="checkbox" class="item-field-label-medium item-skill-everyman" name="system.skilleveryman" {{checked system.skilleveryman}} data-dtype="Number"/>
|
<input type="checkbox" class="item-field-label-medium item-skill-everyman" name="system.skilleveryman" {{checked system.skilleveryman}} data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Proficency</label>
|
|
||||||
<input type="checkbox" class="item-field-label-medium item-skill-profiency" name="system.skillprofiency" {{checked system.skillprofiency}}
|
|
||||||
{{#if (or system.skillfamiliarity system.skilllevelonly)}}disabled{{/if}}
|
|
||||||
data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
{{#if (ne system.skilltype "combat")}}
|
{{#if (ne system.skilltype "combat")}}
|
||||||
<li class="flexrow"><label class="item-field-label-long">Levels Cost</label>
|
<li class="flexrow"><label class="item-field-label-long">Levels Cost</label>
|
||||||
|
@ -3,7 +3,13 @@
|
|||||||
|
|
||||||
<span class="item-field-label-very-short content-center" ><label class="content-center">{{equip.system.quantity}}</label> </span>
|
<span class="item-field-label-very-short content-center" ><label class="content-center">{{equip.system.quantity}}</label> </span>
|
||||||
|
|
||||||
<span class="item-field-label-long2">{{equip.name}}</span>
|
<span class="item-field-label-long2">
|
||||||
|
{{#if (eq equip.system.subtype "weapon")}}
|
||||||
|
<a class="roll-weapon"><i class="fas fa-dice"></i>{{equip.name}}</a>
|
||||||
|
{{else}}
|
||||||
|
{{equip.name}}
|
||||||
|
{{/if}}
|
||||||
|
</span>
|
||||||
|
|
||||||
{{#if (or (eq equip.system.subtype "money") (eq equip.system.subtype "equipment"))}}
|
{{#if (or (eq equip.system.subtype "money") (eq equip.system.subtype "equipment"))}}
|
||||||
<span class="item-field-label-very-short"><label> </label> </span>
|
<span class="item-field-label-very-short"><label> </label> </span>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<li class="item stat flexrow list-item list-item-shadow" data-attr-key="{{key}}">
|
<li class="item stat flexrow list-item list-item-shadow" data-attr-key="{{key}}">
|
||||||
|
|
||||||
<input type="text" class="item-field-label-medium" name="system.characteristics.{{key}}.value"
|
<input type="text" class="item-field-label-short" name="system.characteristics.{{key}}.value"
|
||||||
value="{{charac.value}}" data-dtype="Number" />
|
value="{{charac.value}}" data-dtype="Number" />
|
||||||
|
|
||||||
<span class="item-field-label-medium" name="{{key}}">
|
<span class="item-field-label-medium margin-space-4" name="{{key}}">
|
||||||
<h4 class="item-field-label-medium margin-item-list">{{charac.label}}</a></h4>
|
<h4 class="item-field-label-medium margin-item-list">{{charac.label}}</a></h4>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
@ -18,6 +18,18 @@
|
|||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
{{#if (eq (lower system.typemodifier) "attack")}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Attack Roll Uses OCV or OMCV</label>
|
||||||
|
<select class="item-field-label-long" type="text" name="system.attackvalue" value="{{system.attackvalue}}" data-dtype="String">
|
||||||
|
{{#select system.attackvalue}}
|
||||||
|
{{#each config.attackTypes as |name key|}}
|
||||||
|
<option value="{{key}}">{{name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Is sense affecting ?</label>
|
<li class="flexrow"><label class="item-field-label-long">Is sense affecting ?</label>
|
||||||
<label class="item-field-label-medium"><input type="checkbox" name="system.senseaffecting" {{checked system.senseaffecting}}/></label>
|
<label class="item-field-label-medium"><input type="checkbox" name="system.senseaffecting" {{checked system.senseaffecting}}/></label>
|
||||||
</li>
|
</li>
|
||||||
@ -26,9 +38,27 @@
|
|||||||
<li class="flexrow"><label class="item-field-label-long">Range</label>
|
<li class="flexrow"><label class="item-field-label-long">Range</label>
|
||||||
<input type="text" class="item-field-label-medium" name="system.range" value="{{system.range}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-medium" name="system.range" value="{{system.range}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Damage Effect</label>
|
||||||
|
<select class="item-field-label-long" type="text" name="system.damageeffect" value="{{system.damageeffect}}" data-dtype="String">
|
||||||
|
{{#select (lower system.damageeffect)}}
|
||||||
|
{{#each config.damageEffect as |name key|}}
|
||||||
|
<option value="{{key}}">{{name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Damage</label>
|
<li class="flexrow"><label class="item-field-label-long">Damage</label>
|
||||||
<input type="text" class="item-field-label-medium" name="system.damage" value="{{system.damage}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-medium" name="system.damage" value="{{system.damage}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
{{#if (eq system.damageeffect "killing")}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">STUNx</label>
|
||||||
|
<input type="text" class="item-field-label-medium" name="system.stunx" value="{{system.stunx}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Endurance</label>
|
<li class="flexrow"><label class="item-field-label-long">Endurance</label>
|
||||||
|
Loading…
Reference in New Issue
Block a user