Compare commits

..

8 Commits

79 changed files with 766 additions and 465 deletions

View File

@ -1,19 +1,22 @@
{ {
"ACTOR": { "TYPES": {
"TypeCharacter": "Character" "Actor": {
}, "character": "Character",
"ITEM": { "minion": "Minion"
"TypeSkill": "Skill", },
"TypePerk": "Perk", "Item": {
"TypePower": "Power", "Skill": "Skill",
"TypeTalent": "Talent", "Perk": "Perk",
"TypeAdvantage": "Advantage", "Power": "Power",
"TypeMartialart": "Martial art", "Talent": "Talent",
"TypeLimitation": "Limitation", "Advantage": "Advantage",
"TypeComplication": "Complication", "Martialart": "Martial art",
"TypeEquipment": "Equipment", "Limitation": "Limitation",
"TypeCurrency": "Currency", "Complication": "Complication",
"TypeManeuver": "Maneuver" "Equipment": "Equipment",
"Currency": "Currency",
"Maneuver": "Maneuver"
}
}, },
"COMBAT": { "COMBAT": {
"TurnPrev": "Previous initiative", "TurnPrev": "Previous initiative",

View File

@ -46,6 +46,7 @@ export class Hero6ActorSheet extends ActorSheet {
complications: this.actor.getComplications( ), complications: this.actor.getComplications( ),
maneuvers: this.actor.getManeuvers( ), maneuvers: this.actor.getManeuvers( ),
nonstockmaneuvers: this.actor.getNonStockManeuvers(), nonstockmaneuvers: this.actor.getNonStockManeuvers(),
allmaneuvers: this.actor.getAllManeuvers(),
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ), weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())), armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())), shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
@ -74,7 +75,9 @@ export class Hero6ActorSheet extends ActorSheet {
editScore: this.options.editScore, editScore: this.options.editScore,
isGM: game.user.isGM isGM: game.user.isGM
} }
this.formData = formData; this.formData = formData;
this.stockManeuverDisplayed = false
console.log("PC : ", formData, this.object); console.log("PC : ", formData, this.object);
return formData; return formData;
@ -89,9 +92,9 @@ export class Hero6ActorSheet extends ActorSheet {
// Everything below here is only needed if the sheet is editable // Everything below here is only needed if the sheet is editable
if (!this.options.editable) return; if (!this.options.editable) return;
html.bind("keydown", function(e) { // Ignore Enter in actores sheet /*html.bind("keydown", function(e) { // Ignore Enter in actores sheet
if (e.keyCode === 13) return false; if (e.keyCode === 13) return false;
}); });*/
// Update Inventory Item // Update Inventory Item
html.find('.item-edit').click(ev => { html.find('.item-edit').click(ev => {
@ -179,14 +182,18 @@ export class Hero6ActorSheet extends ActorSheet {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
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) => { 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 skillId = li.data("item-id")
this.actor.rollWeapon(skillId) 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()
}); });
@ -194,6 +201,16 @@ export class Hero6ActorSheet extends ActorSheet {
this.actor.abortAction() this.actor.abortAction()
}); });
html.find(".show-stock-maneuver").click((event) => {
if ( !this.stockManeuverDisplayed) {
$('div .maneuver-list').removeClass('maneuver-is-stock');
this.stockManeuverDisplayed = true
} else {
$('div .maneuver-list').addClass('maneuver-is-stock');
this.stockManeuverDisplayed = false
}
});
html.find('.lock-unlock-sheet').click((event) => { html.find('.lock-unlock-sheet').click((event) => {
this.options.editScore = !this.options.editScore; this.options.editScore = !this.options.editScore;
this.render(true); this.render(true);

View File

@ -4,7 +4,7 @@ import { Hero6RollDialog } from "./hero6-roll-dialog.js";
import { Hero6LiftDice } from "./hero6-lift-dice.js"; import { Hero6LiftDice } from "./hero6-lift-dice.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
const __speed2Segments = [ [0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12], const __speed2Segments = [[0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12],
[2, 4, 6, 7, 9, 11, 12], [2, 3, 5, 6, 8, 9, 11, 12], [2, 3, 4, 6, 7, 8, 10, 11, 12], [2, 3, 4, 5, 6, 8, 9, 10, 11, 12], [2, 4, 6, 7, 9, 11, 12], [2, 3, 5, 6, 8, 9, 11, 12], [2, 3, 4, 6, 7, 8, 10, 11, 12], [2, 3, 4, 5, 6, 8, 9, 10, 11, 12],
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]] [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]
@ -40,12 +40,10 @@ export class Hero6Actor extends Actor {
return actor; return actor;
} }
if (data.type == 'character') { if (data.type == 'character' || data.type == 'minion') {
const maneuvers = await Hero6Utility.loadCompendium("fvtt-hero-system-6.maneuvers") const maneuvers = await Hero6Utility.loadCompendium("fvtt-hero-system-6.maneuvers")
let maneuversObj = maneuvers.map(i => i.toObject()) let maneuversObj = maneuvers.map(i => i.toObject())
data.items = maneuversObj.filter(m => m.system.isstock) data.items = maneuversObj.filter(m => m.system.isstock)
}
if (data.type == 'npc') {
} }
return super.create(data, options); return super.create(data, options);
@ -62,14 +60,19 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
computeDerivatedData() { computeDerivatedData() {
if (this.type == "character") { let newSTREND = this.computeSTREND()
let newSTREND = this.computeSTREND() if (newSTREND != this.system.characteristics.str.strend) {
if (newSTREND != this.system.characteristics.str.strend) { this.update({ 'system.characteristics.str.strend': newSTREND })
this.update({ 'system.characteristics.str.strend': newSTREND })
}
} }
} }
/* -------------------------------------------- */
performMigration() {
// Fix OCV/OMCV rollable
if (!this.system.characteristics.ocv.hasroll) {
this.update({ 'system.characteristics.ocv.hasroll': true, 'system.characteristics.omcv.hasroll': true })
}
}
/* -------------------------------------------- */
computeDicesValue() { computeDicesValue() {
this.system.biodata.presenceattack = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.pre.value) this.system.biodata.presenceattack = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.pre.value)
this.system.characteristics.str.strdice = Hero6LiftDice.getLiftDice(this.system.characteristics.str.value) this.system.characteristics.str.strdice = Hero6LiftDice.getLiftDice(this.system.characteristics.str.value)
@ -164,6 +167,19 @@ export class Hero6Actor extends Actor {
} }
return item; return item;
} }
/* -------------------------------------------- */
async _preCreate(data, options, user) {
await super._preCreate(data, options, user);
// Configure prototype token settings
const prototypeToken = {};
if (this.type === "character") Object.assign(prototypeToken, {
sight: { enabled: true }, actorLink: true, disposition: CONST.TOKEN_DISPOSITIONS.FRIENDLY
});
this.updateSource({ prototypeToken });
}
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareSkill(skill) { prepareSkill(skill) {
skill.roll = 0 skill.roll = 0
@ -206,6 +222,17 @@ export class Hero6Actor extends Actor {
} }
} }
/* -------------------------------------------- */
prepareManeuver(maneuver) {
maneuver.roll = 11 + this.system.characteristics.ocv.value
if (Number(maneuver.system.ocv)) {
maneuver.roll += Number(maneuver.system.ocv)
} else {
maneuver.noOCV = true
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getSkills() { getSkills() {
let comp = duplicate(this.items.filter(item => item.type == 'skill') || []) let comp = duplicate(this.items.filter(item => item.type == 'skill') || [])
@ -284,6 +311,11 @@ export class Hero6Actor extends Actor {
Hero6Utility.sortArrayObjectsByName(maneuvers.defensive) Hero6Utility.sortArrayObjectsByName(maneuvers.defensive)
return maneuvers return maneuvers
} }
getAllManeuvers() {
let maneuvers = this.items.filter(item => item.type == "maneuver")
Hero6Utility.sortArrayObjectsByName(maneuvers)
return maneuvers
}
getNonStockManeuvers() { getNonStockManeuvers() {
let maneuvers = this.items.filter(item => item.type == "maneuver" && !item.system.isstock) let maneuvers = this.items.filter(item => item.type == "maneuver" && !item.system.isstock)
Hero6Utility.sortArrayObjectsByName(maneuvers) Hero6Utility.sortArrayObjectsByName(maneuvers)
@ -389,7 +421,7 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async cleanCombat() { async cleanCombat() {
await this.setFlag("world", "hold-action", false) await this.setFlag("world", "hold-action", false)
await this.setFlag("world", "abort-action", { state: false, count: 0 } ) await this.setFlag("world", "abort-action", { state: false, count: 0 })
} }
async holdAction() { async holdAction() {
await this.disableAbortAction() await this.disableAbortAction()
@ -462,9 +494,9 @@ export class Hero6Actor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getBaseInit(turn) { getBaseInit(turn) {
if ( turn != this.turn) { if (turn != this.turn) {
let r = new Roll("1d6").roll({ async: false }) let r = new Roll("1d6").roll({ async: false })
this.currentInit = this.system.characteristics.dex.initiative + (r.total / 10) this.currentInit = Number(this.system.characteristics.dex.initiative) + Number(((r.total / 10).toFixed(2)))
this.turn = turn this.turn = turn
} }
return this.currentInit return this.currentInit
@ -497,8 +529,13 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareCharacValues(charac) { prepareCharacValues(charac) {
charac.total = charac.value if (charac.label == "OCV" || charac.label == "OMCV" ) {
charac.roll = 9 + Math.round((charac.value) / 5) charac.total = charac.value
charac.roll = 11 + charac.value
} else {
charac.total = charac.value
charac.roll = 9 + Math.round((charac.value) / 5)
}
} }
prepareCharac() { prepareCharac() {
let characs = duplicate(this.system.characteristics) let characs = duplicate(this.system.characteristics)
@ -512,7 +549,7 @@ export class Hero6Actor extends Actor {
if (key == "spd") { if (key == "spd") {
ch.phasesString = this.getPhasesString() ch.phasesString = this.getPhasesString()
} }
if (key =="pre") { if (key == "pre") {
ch.presenceattack = duplicate(this.system.biodata.presenceattack) ch.presenceattack = duplicate(this.system.biodata.presenceattack)
} }
} }
@ -648,6 +685,9 @@ export class Hero6Actor extends Actor {
if (item.type == "skill") { if (item.type == "skill") {
this.prepareSkill(rollData.item) this.prepareSkill(rollData.item)
} }
if (item.type == "maneuver") {
this.prepareManeuver(rollData.item)
}
this.startRoll(rollData) this.startRoll(rollData)
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -697,7 +737,28 @@ export class Hero6Actor extends Actor {
msg.setFlag("world", "rolldata", rollData) msg.setFlag("world", "rolldata", rollData)
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)

View File

@ -77,19 +77,28 @@ export class Hero6Combat extends Combat {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
forceHold(actor, isHold) { forceHold(actor, isHold) {
let updList = [] if (game.user.isGM) {
let c = this.combatants.find(c => c.actor._id == actor.id) let updList = []
let name = actor.name + ((isHold) ? " (H)" : "") let c = this.combatants.find(c => c.actor._id == actor.id)
updList.push({ _id: c.id || c._id, name: name, initiative: actor.getBaseInit(this.segmentNumber) }) let name = actor.name + ((isHold) ? " (H)" : "")
this.updateEmbeddedDocuments("Combatant", updList) console.log("ForceHold!!", c, actor)
updList.push({ _id: c.id || c._id, name: name, initiative: actor.getBaseInit(this.segmentNumber) })
this.updateEmbeddedDocuments("Combatant", updList)
} else {
game.socket.emit("system.fvtt-hero-system-6", { name: "msg_force_hold", data: { actorId: actor.id, isHold: isHold } });
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
forceAbort(actor, isAbort) { forceAbort(actor, isAbort) {
let updList = [] if (game.user.isGM) {
let c = this.combatants.find(c => c.actor._id == actor.id) let updList = []
let name = actor.name + ((isAbort) ? " (A)" : "") let c = this.combatants.find(c => c.actor._id == actor.id)
updList.push({ _id: c.id || c._id, name: name, initiative: actor.getBaseInit(this.segmentNumber) }) let name = actor.name + ((isAbort) ? " (A)" : "")
this.updateEmbeddedDocuments("Combatant", updList) updList.push({ _id: c.id || c._id, name: name, initiative: actor.getBaseInit(this.segmentNumber) })
this.updateEmbeddedDocuments("Combatant", updList)
} else {
game.socket.emit("system.fvtt-hero-system-6", { name: "msg_force_abort", data: { actorId: actor.id, isAbort: isAbort } });
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -110,7 +119,7 @@ export class Hero6Combat extends Combat {
} }
if (isOnAbort) { if (isOnAbort) {
name = c.actor.name + " (A)" name = c.actor.name + " (A)"
if ( c.actor.incAbortActionCount() ) { if (c.actor.incAbortActionCount()) {
c.actor.disableAbortAction() c.actor.disableAbortAction()
} }
} }
@ -159,20 +168,70 @@ export class Hero6Combat extends Combat {
nextTurn() { nextTurn() {
let nbC = this.combatants.filter(c => c.initiative > 0).length let nbC = this.combatants.filter(c => c.initiative > 0).length
//console.log("Next turn called....", this.turn, nbC) //console.log("Next turn called....", this.turn, nbC)
if (this.turn < nbC-1) { if (this.turn < nbC - 1) {
super.nextTurn() super.nextTurn()
} else { } else {
this.nextRound() this.nextRound()
} }
} }
/* -------------------------------------------- */
async previousRound() {
let hasCombatants = false
let nextRound = this.round
let advanceTime = 0
let turn = this.turn === null ? null : 0; // Preserve the fact that it's no-one's turn currently.
let turnData = this.getFlag("world", "turnData")
//console.log("Next round called....", nextRound, turnData)
while (!hasCombatants) {
if (this.settings.skipDefeated && (turn !== null)) {
turn = this.turns.findIndex(t => !t.isDefeated);
if (turn === -1) {
ui.notifications.warn("COMBAT.NoneRemaining", { localize: true });
turn = 0;
}
}
advanceTime = -1 * (Math.max(this.turns.length - this.turn, 0) * CONFIG.time.turnTime);
advanceTime -= CONFIG.time.roundTime;
nextRound = nextRound -1
//console.log("Next round called....2", nextRound, turnData)
turnData = this.getFlag("world", "turnData")
if (!turnData) {
turnData = { turnNumber: 0, segmentNumber: 12 }
this.setFlag("world", "turnData", turnData)
}
turnData = duplicate(turnData)
turnData.segmentNumber -= 1
if (turnData.segmentNumber <= 0) {
turnData.segmentNumber = 12
turnData.turnNumber--
}
await this.setFlag("world", "turnData", turnData)
this.turnNumber = turnData.turnNumber;
this.segmentNumber = turnData.segmentNumber;
//console.log("Next round called....3", nextRound, turnData)
// Re-compute init of actors
hasCombatants = await this.rebuildInitiative()
//console.log("Going round....", nextRound, hasCombatants)
}
// Update the document, passing data through a hook first
const updateData = { round: nextRound, turn };
const updateOptions = { advanceTime, direction: -1 };
Hooks.callAll("combatRound", this, updateData, updateOptions);
console.log(this)
return this.update(updateData, updateOptions);
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async nextRound() { async nextRound() {
let hasCombatants = false let hasCombatants = false
let nextRound = this.round let nextRound = this.round
let advanceTime = 0 let advanceTime = 0
let turn = this.turn === null ? null : 0; // Preserve the fact that it's no-one's turn currently. let turn = this.turn === null ? null : 0; // Preserve the fact that it's no-one's turn currently.
let turnData = this.getFlag("world", "hero6-turn-data") let turnData = this.getFlag("world", "turnData")
//console.log("Next round called....", nextRound, turnData) //console.log("Next round called....", nextRound, turnData)
while (!hasCombatants) { while (!hasCombatants) {
@ -187,18 +246,21 @@ export class Hero6Combat extends Combat {
advanceTime += CONFIG.time.roundTime; advanceTime += CONFIG.time.roundTime;
nextRound = nextRound + 1; nextRound = nextRound + 1;
//console.log("Next round called....2", nextRound, turnData) //console.log("Next round called....2", nextRound, turnData)
turnData = this.getFlag("world", "hero6-turn-data") turnData = this.getFlag("world", "turnData")
if (!turnData) { if (!turnData) {
turnData = { turnNumber: 0, segmentNumber: 12 } turnData = { turnNumber: 0, segmentNumber: 12 }
this.setFlag("world", "hero6-turn-data", turnData) this.setFlag("world", "turnData", turnData)
} }
turnData = duplicate(turnData) turnData = duplicate(turnData)
turnData.segmentNumber += 1 turnData.segmentNumber += 1
if (turnData.segmentNumber > 12) { if (turnData.segmentNumber > 12) {
turnData.segmentNumber = 1 turnData.segmentNumber = 1
turnData.turnNumber++ turnData.turnNumber++
ChatMessage.create({
content: "Complete Post-Segment 12 Recoveries."
})
} }
await this.setFlag("world", "hero6-turn-data", turnData) await this.setFlag("world", "turnData", turnData)
this.turnNumber = turnData.turnNumber; this.turnNumber = turnData.turnNumber;
this.segmentNumber = turnData.segmentNumber; this.segmentNumber = turnData.segmentNumber;
//console.log("Next round called....3", nextRound, turnData) //console.log("Next round called....3", nextRound, turnData)
@ -209,9 +271,10 @@ export class Hero6Combat extends Combat {
} }
// Update the document, passing data through a hook first // Update the document, passing data through a hook first
const updateData = { round: nextRound, turn: turn, segmentNumber: turnData.segmentNumber, turnNumber: turnData.turnNumber }; const updateData = { round: nextRound, turn };
const updateOptions = { advanceTime, direction: 1 }; const updateOptions = { advanceTime, direction: 1 };
Hooks.callAll("combatRound", this, updateData, updateOptions); Hooks.callAll("combatRound", this, updateData, updateOptions);
console.log(this)
return this.update(updateData, updateOptions); return this.update(updateData, updateOptions);
} }

View File

@ -53,6 +53,5 @@ export const Hero6_CONFIG = {
"standard": "Standard", "standard": "Standard",
"normal": "Normal", "normal": "Normal",
"killing": "Killing", "killing": "Killing",
"countbody": "Killing (Count BODY)"
} }
} }

View File

@ -41,7 +41,7 @@ Hooks.once("init", async function () {
// Set an initiative formula for the system // Set an initiative formula for the system
CONFIG.Combat.initiative = { CONFIG.Combat.initiative = {
formula: "1d6", formula: "1d6",
decimals: 3 decimals: 2
}; };
/* ------------------------------- ------------- */ /* ------------------------------- ------------- */
@ -61,7 +61,7 @@ Hooks.once("init", async function () {
// Register sheet application classes // Register sheet application classes
Actors.unregisterSheet("core", ActorSheet); Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-hero-system-6", Hero6ActorSheet, { types: ["character"], makeDefault: true }); Actors.registerSheet("fvtt-hero-system-6", Hero6ActorSheet, { types: ["character"], makeDefault: true });
Actors.registerSheet("fvtt-hero-system-6", Hero6NPCSheet, { types: ["npc"], makeDefault: false }); Actors.registerSheet("fvtt-hero-system-6", Hero6ActorSheet, { types: ["minion"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet); Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-hero-system-6", Hero6ItemSheet, { makeDefault: true }); Items.registerSheet("fvtt-hero-system-6", Hero6ItemSheet, { makeDefault: true });

View File

@ -124,6 +124,10 @@ export class Hero6Utility {
const rollTables = await Hero6Utility.loadCompendium("fvtt-hero-system-6.rolltables") const rollTables = await Hero6Utility.loadCompendium("fvtt-hero-system-6.rolltables")
this.rollTables = rollTables.map(i => i.toObject()) this.rollTables = rollTables.map(i => i.toObject())
for (let actor of game.actors) {
actor.performMigration()
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -159,6 +163,7 @@ export class Hero6Utility {
'systems/fvtt-hero-system-6/templates/partials/partial-options-abilities.hbs', 'systems/fvtt-hero-system-6/templates/partials/partial-options-abilities.hbs',
'systems/fvtt-hero-system-6/templates/partials/partial-item-nav.hbs', 'systems/fvtt-hero-system-6/templates/partials/partial-item-nav.hbs',
'systems/fvtt-hero-system-6/templates/partials/partial-item-description.hbs', 'systems/fvtt-hero-system-6/templates/partials/partial-item-description.hbs',
'systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs',
'systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment.hbs', 'systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment.hbs',
'systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs', 'systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs',
'systems/fvtt-hero-system-6/templates/partials/partial-power-equipment-cost.hbs', 'systems/fvtt-hero-system-6/templates/partials/partial-power-equipment-cost.hbs',
@ -230,12 +235,21 @@ export class Hero6Utility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async onSocketMesssage(msg) { static async onSocketMesssage(msg) {
console.log("SOCKET MESSAGE", msg.name) console.log("SOCKET MESSAGE", msg.name, msg)
if (msg.name == "msg_update_roll") { if (msg.name == "msg_update_roll") {
this.updateRollData(msg.data) this.updateRollData(msg.data)
} }
if (msg.name == "msg_gm_process_attack_defense") { if (msg.name == "msg_force_hold") {
this.processSuccessResult(msg.data) if (game.user.isGM) {
let actor = game.actors.get(msg.data.actorId)
game.combat.forceHold(actor, msg.data.isHold)
}
}
if (msg.name == "msg_force_abort") {
if (game.user.isGM) {
let actor = game.actors.get(msg.data.actorId)
game.combat.forceAbort(actor, msg.data.isAbort)
}
} }
if (msg.name == "msg_gm_item_drop" && game.user.isGM) { if (msg.name == "msg_gm_item_drop" && game.user.isGM) {
let actor = game.actors.get(msg.data.actorId) let actor = game.actors.get(msg.data.actorId)
@ -342,7 +356,7 @@ export class Hero6Utility {
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 })
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) //await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
} }
rollData.roll = myRoll rollData.roll = myRoll

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000070

View File

@ -1,8 +1,8 @@
2023/08/03-22:32:11.523171 7f01523fc6c0 Recovering log #20 2023/08/15-21:47:51.923693 7fa0ddffb6c0 Recovering log #68
2023/08/03-22:32:11.540084 7f01523fc6c0 Delete type=3 #18 2023/08/15-21:47:52.020246 7fa0ddffb6c0 Delete type=3 #66
2023/08/03-22:32:11.540129 7f01523fc6c0 Delete type=0 #20 2023/08/15-21:47:52.020324 7fa0ddffb6c0 Delete type=0 #68
2023/08/03-22:32:17.500527 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.852100 7f9e3ffff6c0 Level-0 table #73: started
2023/08/03-22:32:17.500588 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.852160 7f9e3ffff6c0 Level-0 table #73: 0 bytes OK
2023/08/03-22:32:17.506820 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.858657 7f9e3ffff6c0 Delete type=0 #71
2023/08/03-22:32:17.520955 7f0151bfb6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.859003 7f9e3ffff6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
2023/08/03-22:32:17.521030 7f0151bfb6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.859027 7f9e3ffff6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/08/03-22:31:33.868131 7f01533fe6c0 Recovering log #16 2023/08/10-13:03:20.564375 7fd68f7fe6c0 Recovering log #64
2023/08/03-22:31:33.979394 7f01533fe6c0 Delete type=3 #14 2023/08/10-13:03:20.579793 7fd68f7fe6c0 Delete type=3 #62
2023/08/03-22:31:33.979434 7f01533fe6c0 Delete type=0 #16 2023/08/10-13:03:20.579835 7fd68f7fe6c0 Delete type=0 #64
2023/08/03-22:31:52.457027 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.069254 7fd40dfff6c0 Level-0 table #69: started
2023/08/03-22:31:52.457052 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.069298 7fd40dfff6c0 Level-0 table #69: 0 bytes OK
2023/08/03-22:31:52.463153 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.080890 7fd40dfff6c0 Delete type=0 #67
2023/08/03-22:31:52.482011 7f0151bfb6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.092975 7fd40dfff6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
2023/08/03-22:31:52.482068 7f0151bfb6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.100392 7fd40dfff6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000070

View File

@ -1,7 +1,7 @@
2023/08/03-22:32:11.490520 7f0153bff6c0 Recovering log #20 2023/08/15-21:47:51.802290 7fa0dd7fa6c0 Recovering log #68
2023/08/03-22:32:11.500170 7f0153bff6c0 Delete type=3 #18 2023/08/15-21:47:51.859664 7fa0dd7fa6c0 Delete type=3 #66
2023/08/03-22:32:11.500230 7f0153bff6c0 Delete type=0 #20 2023/08/15-21:47:51.859782 7fa0dd7fa6c0 Delete type=0 #68
2023/08/03-22:32:17.438731 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.813491 7f9e3ffff6c0 Level-0 table #73: started
2023/08/03-22:32:17.438765 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.813538 7f9e3ffff6c0 Level-0 table #73: 0 bytes OK
2023/08/03-22:32:17.445239 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.819750 7f9e3ffff6c0 Delete type=0 #71
2023/08/03-22:32:17.461466 7f0151bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.829889 7f9e3ffff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2023/08/03-22:31:33.672919 7f01533fe6c0 Recovering log #16 2023/08/10-13:03:20.538109 7fd6a4bfa6c0 Recovering log #64
2023/08/03-22:31:33.764300 7f01533fe6c0 Delete type=3 #14 2023/08/10-13:03:20.547376 7fd6a4bfa6c0 Delete type=3 #62
2023/08/03-22:31:33.764606 7f01533fe6c0 Delete type=0 #16 2023/08/10-13:03:20.547429 7fd6a4bfa6c0 Delete type=0 #64
2023/08/03-22:31:52.363681 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.019934 7fd40dfff6c0 Level-0 table #69: started
2023/08/03-22:31:52.363732 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.019967 7fd40dfff6c0 Level-0 table #69: 0 bytes OK
2023/08/03-22:31:52.374669 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.026189 7fd40dfff6c0 Delete type=0 #67
2023/08/03-22:31:52.411785 7f0151bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.026358 7fd40dfff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000014 MANIFEST-000062

View File

@ -1,8 +1,8 @@
2023/08/03-22:32:11.526034 7f0152bfd6c0 Recovering log #12 2023/08/15-21:47:51.927283 7fa0dcff96c0 Recovering log #60
2023/08/03-22:32:11.543863 7f0152bfd6c0 Delete type=3 #10 2023/08/15-21:47:52.038744 7fa0dcff96c0 Delete type=3 #58
2023/08/03-22:32:11.543924 7f0152bfd6c0 Delete type=0 #12 2023/08/15-21:47:52.038839 7fa0dcff96c0 Delete type=0 #60
2023/08/03-22:32:17.513990 7f0151bfb6c0 Level-0 table #17: started 2023/08/15-22:11:19.865715 7f9e3ffff6c0 Level-0 table #65: started
2023/08/03-22:32:17.514015 7f0151bfb6c0 Level-0 table #17: 0 bytes OK 2023/08/15-22:11:19.865740 7f9e3ffff6c0 Level-0 table #65: 0 bytes OK
2023/08/03-22:32:17.520642 7f0151bfb6c0 Delete type=0 #15 2023/08/15-22:11:19.872425 7f9e3ffff6c0 Delete type=0 #63
2023/08/03-22:32:17.521009 7f0151bfb6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.879299 7f9e3ffff6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
2023/08/03-22:32:17.521478 7f0151bfb6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.879345 7f9e3ffff6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/08/03-22:31:33.887886 7f0152bfd6c0 Recovering log #8 2023/08/10-13:03:20.566148 7fd6a4bfa6c0 Recovering log #56
2023/08/03-22:31:33.994036 7f0152bfd6c0 Delete type=3 #6 2023/08/10-13:03:20.582806 7fd6a4bfa6c0 Delete type=3 #54
2023/08/03-22:31:33.994083 7f0152bfd6c0 Delete type=0 #8 2023/08/10-13:03:20.582865 7fd6a4bfa6c0 Delete type=0 #56
2023/08/03-22:31:52.449237 7f0151bfb6c0 Level-0 table #13: started 2023/08/10-13:05:41.081044 7fd40dfff6c0 Level-0 table #61: started
2023/08/03-22:31:52.449263 7f0151bfb6c0 Level-0 table #13: 0 bytes OK 2023/08/10-13:05:41.081087 7fd40dfff6c0 Level-0 table #61: 0 bytes OK
2023/08/03-22:31:52.456923 7f0151bfb6c0 Delete type=0 #11 2023/08/10-13:05:41.092838 7fd40dfff6c0 Delete type=0 #59
2023/08/03-22:31:52.481990 7f0151bfb6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.100288 7fd40dfff6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
2023/08/03-22:31:52.482059 7f0151bfb6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.109268 7fd40dfff6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000070

View File

@ -1,8 +1,8 @@
2023/08/03-22:32:11.542387 7f01523fc6c0 Recovering log #20 2023/08/15-21:47:52.040277 7fa0ddffb6c0 Recovering log #68
2023/08/03-22:32:11.560297 7f01523fc6c0 Delete type=3 #18 2023/08/15-21:47:52.138553 7fa0ddffb6c0 Delete type=3 #66
2023/08/03-22:32:11.560512 7f01523fc6c0 Delete type=0 #20 2023/08/15-21:47:52.138627 7fa0ddffb6c0 Delete type=0 #68
2023/08/03-22:32:17.493642 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.859141 7f9e3ffff6c0 Level-0 table #73: started
2023/08/03-22:32:17.493688 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.859174 7f9e3ffff6c0 Level-0 table #73: 0 bytes OK
2023/08/03-22:32:17.500316 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.865615 7f9e3ffff6c0 Delete type=0 #71
2023/08/03-22:32:17.520920 7f0151bfb6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.879276 7f9e3ffff6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
2023/08/03-22:32:17.521020 7f0151bfb6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.879335 7f9e3ffff6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/08/03-22:31:33.981151 7f01533fe6c0 Recovering log #16 2023/08/10-13:03:20.581819 7fd68f7fe6c0 Recovering log #64
2023/08/03-22:31:34.061585 7f01533fe6c0 Delete type=3 #14 2023/08/10-13:03:20.598440 7fd68f7fe6c0 Delete type=3 #62
2023/08/03-22:31:34.061736 7f01533fe6c0 Delete type=0 #16 2023/08/10-13:03:20.598503 7fd68f7fe6c0 Delete type=0 #64
2023/08/03-22:31:52.463277 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.093002 7fd40dfff6c0 Level-0 table #69: started
2023/08/03-22:31:52.463307 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.093032 7fd40dfff6c0 Level-0 table #69: 0 bytes OK
2023/08/03-22:31:52.470250 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.100152 7fd40dfff6c0 Delete type=0 #67
2023/08/03-22:31:52.482031 7f0151bfb6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.109249 7fd40dfff6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
2023/08/03-22:31:52.482410 7f0151bfb6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.109302 7fd40dfff6c0 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-000070 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/powers/000062.ldb Normal file

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000071

View File

@ -1,8 +1,8 @@
2023/08/03-22:32:11.504542 7f01523fc6c0 Recovering log #20 2023/08/15-21:47:51.861656 7fa0dcff96c0 Recovering log #69
2023/08/03-22:32:11.521105 7f01523fc6c0 Delete type=3 #18 2023/08/15-21:47:51.916356 7fa0dcff96c0 Delete type=3 #67
2023/08/03-22:32:11.521156 7f01523fc6c0 Delete type=0 #20 2023/08/15-21:47:51.916435 7fa0dcff96c0 Delete type=0 #69
2023/08/03-22:32:17.471567 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.843844 7f9e3ffff6c0 Level-0 table #74: started
2023/08/03-22:32:17.471602 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.843905 7f9e3ffff6c0 Level-0 table #74: 0 bytes OK
2023/08/03-22:32:17.480333 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.851729 7f9e3ffff6c0 Delete type=0 #72
2023/08/03-22:32:17.493507 7f0151bfb6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.858992 7f9e3ffff6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
2023/08/03-22:32:17.493543 7f0151bfb6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.859036 7f9e3ffff6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/08/03-22:31:33.790889 7f0152bfd6c0 Recovering log #16 2023/08/10-13:03:20.550530 7fd6a4bfa6c0 Recovering log #65
2023/08/03-22:31:33.884940 7f0152bfd6c0 Delete type=3 #14 2023/08/10-13:03:20.564384 7fd6a4bfa6c0 Delete type=3 #63
2023/08/03-22:31:33.885064 7f0152bfd6c0 Delete type=0 #16 2023/08/10-13:03:20.564676 7fd6a4bfa6c0 Delete type=0 #65
2023/08/03-22:31:52.438338 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.056785 7fd40dfff6c0 Level-0 table #70: started
2023/08/03-22:31:52.438374 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.056809 7fd40dfff6c0 Level-0 table #70: 0 bytes OK
2023/08/03-22:31:52.448881 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.069063 7fd40dfff6c0 Delete type=0 #68
2023/08/03-22:31:52.449118 7f0151bfb6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.081017 7fd40dfff6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
2023/08/03-22:31:52.449158 7f0151bfb6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.092990 7fd40dfff6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000070

View File

@ -1,8 +1,8 @@
2023/08/03-22:32:11.504608 7f0152bfd6c0 Recovering log #20 2023/08/15-21:47:51.861659 7fa0ddffb6c0 Recovering log #68
2023/08/03-22:32:11.524096 7f0152bfd6c0 Delete type=3 #18 2023/08/15-21:47:51.916357 7fa0ddffb6c0 Delete type=3 #66
2023/08/03-22:32:11.524332 7f0152bfd6c0 Delete type=0 #20 2023/08/15-21:47:51.916429 7fa0ddffb6c0 Delete type=0 #68
2023/08/03-22:32:17.487194 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.830017 7f9e3ffff6c0 Level-0 table #73: started
2023/08/03-22:32:17.487218 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.830056 7f9e3ffff6c0 Level-0 table #73: 0 bytes OK
2023/08/03-22:32:17.493333 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.836953 7f9e3ffff6c0 Delete type=0 #71
2023/08/03-22:32:17.493535 7f0151bfb6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.858959 7f9e3ffff6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
2023/08/03-22:32:17.493560 7f0151bfb6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.859011 7f9e3ffff6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/08/03-22:31:33.766904 7f01533fe6c0 Recovering log #16 2023/08/10-13:03:20.550530 7fd68f7fe6c0 Recovering log #64
2023/08/03-22:31:33.865983 7f01533fe6c0 Delete type=3 #14 2023/08/10-13:03:20.561274 7fd68f7fe6c0 Delete type=3 #62
2023/08/03-22:31:33.866041 7f01533fe6c0 Delete type=0 #16 2023/08/10-13:03:20.561313 7fd68f7fe6c0 Delete type=0 #64
2023/08/03-22:31:52.424062 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.037917 7fd40dfff6c0 Level-0 table #69: started
2023/08/03-22:31:52.424265 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.037949 7fd40dfff6c0 Level-0 table #69: 0 bytes OK
2023/08/03-22:31:52.430673 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.044140 7fd40dfff6c0 Delete type=0 #67
2023/08/03-22:31:52.449080 7f0151bfb6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.069221 7fd40dfff6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
2023/08/03-22:31:52.449141 7f0151bfb6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.081033 7fd40dfff6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000070

View File

@ -1,8 +1,8 @@
2023/08/03-22:32:11.546170 7f0152bfd6c0 Recovering log #20 2023/08/15-21:47:52.052796 7fa0de7fc6c0 Recovering log #68
2023/08/03-22:32:11.563632 7f0152bfd6c0 Delete type=3 #18 2023/08/15-21:47:52.154403 7fa0de7fc6c0 Delete type=3 #66
2023/08/03-22:32:11.563697 7f0152bfd6c0 Delete type=0 #20 2023/08/15-21:47:52.154479 7fa0de7fc6c0 Delete type=0 #68
2023/08/03-22:32:17.506983 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.872538 7f9e3ffff6c0 Level-0 table #73: started
2023/08/03-22:32:17.507022 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.872564 7f9e3ffff6c0 Level-0 table #73: 0 bytes OK
2023/08/03-22:32:17.513835 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.878867 7f9e3ffff6c0 Delete type=0 #71
2023/08/03-22:32:17.520991 7f0151bfb6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.879310 7f9e3ffff6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
2023/08/03-22:32:17.521446 7f0151bfb6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.879353 7f9e3ffff6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2023/08/03-22:31:33.996672 7f0152bfd6c0 Recovering log #16 2023/08/10-13:03:20.584203 7fd6a4bfa6c0 Recovering log #64
2023/08/03-22:31:34.114315 7f0152bfd6c0 Delete type=3 #14 2023/08/10-13:03:20.602339 7fd6a4bfa6c0 Delete type=3 #62
2023/08/03-22:31:34.114356 7f0152bfd6c0 Delete type=0 #16 2023/08/10-13:03:20.602426 7fd6a4bfa6c0 Delete type=0 #64
2023/08/03-22:31:52.470365 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.100405 7fd40dfff6c0 Level-0 table #69: started
2023/08/03-22:31:52.470387 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.100432 7fd40dfff6c0 Level-0 table #69: 0 bytes OK
2023/08/03-22:31:52.481758 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.109117 7fd40dfff6c0 Delete type=0 #67
2023/08/03-22:31:52.482045 7f0151bfb6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.109289 7fd40dfff6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
2023/08/03-22:31:52.482076 7f0151bfb6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.109316 7fd40dfff6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000022 MANIFEST-000070

View File

@ -1,7 +1,7 @@
2023/08/03-22:32:11.490520 7f01523fc6c0 Recovering log #20 2023/08/15-21:47:51.802282 7fa0dcff96c0 Recovering log #68
2023/08/03-22:32:11.500170 7f01523fc6c0 Delete type=3 #18 2023/08/15-21:47:51.859665 7fa0dcff96c0 Delete type=3 #66
2023/08/03-22:32:11.500333 7f01523fc6c0 Delete type=0 #20 2023/08/15-21:47:51.859740 7fa0dcff96c0 Delete type=0 #68
2023/08/03-22:32:17.480474 7f0151bfb6c0 Level-0 table #25: started 2023/08/15-22:11:19.837182 7f9e3ffff6c0 Level-0 table #73: started
2023/08/03-22:32:17.480502 7f0151bfb6c0 Level-0 table #25: 0 bytes OK 2023/08/15-22:11:19.837243 7f9e3ffff6c0 Level-0 table #73: 0 bytes OK
2023/08/03-22:32:17.487051 7f0151bfb6c0 Delete type=0 #23 2023/08/15-22:11:19.843628 7f9e3ffff6c0 Delete type=0 #71
2023/08/03-22:32:17.493518 7f0151bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2023/08/15-22:11:19.858980 7f9e3ffff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2023/08/03-22:31:33.673016 7f0152bfd6c0 Recovering log #16 2023/08/10-13:03:20.538110 7fd68f7fe6c0 Recovering log #64
2023/08/03-22:31:33.788078 7f0152bfd6c0 Delete type=3 #14 2023/08/10-13:03:20.547376 7fd68f7fe6c0 Delete type=3 #62
2023/08/03-22:31:33.788135 7f0152bfd6c0 Delete type=0 #16 2023/08/10-13:03:20.547427 7fd68f7fe6c0 Delete type=0 #64
2023/08/03-22:31:52.430865 7f0151bfb6c0 Level-0 table #21: started 2023/08/10-13:05:41.044355 7fd40dfff6c0 Level-0 table #69: started
2023/08/03-22:31:52.430915 7f0151bfb6c0 Level-0 table #21: 0 bytes OK 2023/08/10-13:05:41.044380 7fd40dfff6c0 Level-0 table #69: 0 bytes OK
2023/08/03-22:31:52.438188 7f0151bfb6c0 Delete type=0 #19 2023/08/10-13:05:41.056662 7fd40dfff6c0 Delete type=0 #67
2023/08/03-22:31:52.449100 7f0151bfb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2023/08/10-13:05:41.069241 7fd40dfff6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -74,7 +74,7 @@
color: rgba(224, 208, 197, 0.9); color: rgba(224, 208, 197, 0.9);
} }
.dialog-content, .dialog-buttons, .form-fields { .dialog-content, .dialog-buttons, .form-fields {
color: rgba(224, 208, 197, 0.9); color: rgba(4, 44, 44, 0.98);
} }
.dialog-buttons { .dialog-buttons {
color: rgba(224, 208, 197, 0.9); color: rgba(224, 208, 197, 0.9);
@ -1360,6 +1360,7 @@ Focus FOC: #ff0084
flex-grow:1; flex-grow:1;
max-width: 8rem; max-width: 8rem;
min-width: 8rem; min-width: 8rem;
text-align: start;
} }
.item-field-text-long { .item-field-text-long {
flex-grow:1; flex-grow:1;
@ -1425,4 +1426,8 @@ Focus FOC: #ff0084
} }
.margin-left-8 { .margin-left-8 {
margin-left: 8px; margin-left: 8px;
}
.maneuver-is-stock {
display: none;
visibility: hidden;
} }

View File

@ -100,14 +100,14 @@
"styles": [ "styles": [
"styles/simple.css" "styles/simple.css"
], ],
"version": "11.0.0", "version": "11.0.7",
"compatibility": { "compatibility": {
"minimum": "10", "minimum": "11",
"verified": "11" "verified": "11"
}, },
"title": "Hero System v6 for FoundrtVTT (Official)", "title": "Hero System v6 for FoundrtVTT (Official)",
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json", "manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v11.0.0.zip", "download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v11.0.7.zip",
"url": "https://www.uberwald.me/gitea/uberwald/", "url": "https://www.uberwald.me/gitea/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"

View File

@ -1,7 +1,8 @@
{ {
"Actor": { "Actor": {
"types": [ "types": [
"character" "character",
"minion"
], ],
"templates": { "templates": {
"biodata": { "biodata": {
@ -72,7 +73,7 @@
"category": "main", "category": "main",
"value": 10, "value": 10,
"base": 10, "base": 10,
"perceptionroll": 10 "perceptionroll": 11
}, },
"ego": { "ego": {
"label": "EGO", "label": "EGO",
@ -90,7 +91,7 @@
}, },
"ocv": { "ocv": {
"label": "OCV", "label": "OCV",
"hasroll": false, "hasroll": true,
"base": 3, "base": 3,
"autoMod": "0", "autoMod": "0",
"userMod": "0", "userMod": "0",
@ -108,7 +109,7 @@
}, },
"omcv": { "omcv": {
"label": "OMCV", "label": "OMCV",
"hasroll": false, "hasroll": true,
"base": 3, "base": 3,
"autoMod": "0", "autoMod": "0",
"userMod": "0", "userMod": "0",
@ -205,6 +206,7 @@
"ismovement": true, "ismovement": true,
"hasroll": false, "hasroll": false,
"value": 12, "value": 12,
"ncvalue": 24,
"base": 12 "base": 12
}, },
"swimming": { "swimming": {
@ -212,6 +214,7 @@
"ismovement": true, "ismovement": true,
"hasroll": false, "hasroll": false,
"value": 4, "value": 4,
"ncvalue": 8,
"base": 4 "base": 4
}, },
"leaping": { "leaping": {
@ -219,6 +222,7 @@
"ismovement": true, "ismovement": true,
"hasroll": false, "hasroll": false,
"value": 4, "value": 4,
"ncvalue": 8,
"base": 4, "base": 4,
"leaping_horizontal_base": 0, "leaping_horizontal_base": 0,
"leaping_horizontal_total": 0, "leaping_horizontal_total": 0,
@ -231,25 +235,31 @@
"movements": { "movements": {
"fly": { "fly": {
"label": "Fly", "label": "Fly",
"value": 0 "value": 0,
"ncvalue": 0
}, },
"teleport": { "teleport": {
"label": "Teleport", "label": "Teleport",
"value": 0 "value": 0,
"ncvalue": 0
}, },
"tunnel": { "tunnel": {
"label": "Tunnel", "label": "Tunnel",
"value": 0 "value": 0,
"ncvalue": 0
}, },
"move1": { "move1": {
"label": "N/A", "label": "N/A",
"iseditable": true, "iseditable": true,
"value": 0 "value": 0,
"ncvalue": 0
}, },
"move2": { "move2": {
"label": "N/A", "label": "N/A",
"iseditable": true, "iseditable": true,
"value": 0 "value": 0,
"ncvalue": 0
} }
} }
}, },
@ -300,6 +310,15 @@
"movements" "movements"
], ],
"subactors": [] "subactors": []
},
"minion": {
"templates": [
"biodata",
"characteristics",
"defenses",
"movements"
],
"subactors": []
} }
}, },
"Item": { "Item": {
@ -343,6 +362,8 @@
"haseffectroll": false, "haseffectroll": false,
"effectroll": "standard", "effectroll": "standard",
"effectrollformula": "", "effectrollformula": "",
"hascharges": false,
"nbcharges": 0,
"items": {} "items": {}
} }
}, },

View File

@ -4,68 +4,74 @@
<header class="sheet-header"> <header class="sheet-header">
<div class="header-fields"> <div class="header-fields">
<div class="flexrow"> <div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" /> <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="fixed-separator"> <div class="fixed-separator">
&nbsp; &nbsp;
</div> </div>
<div class="flexcol"> <div class="flexcol">
<h1 class="charname "><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1> <h1 class="charname "><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="flexrow"> <div class="flexrow">
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item flexrow"> <li class="item flexrow">
<label class="item-field-label-medium">Alternate IDs</label> <label class="item-field-label-medium">Alternate IDs</label>
<input type="text" class="item-field-label-long4" name="system.biodata.alternateids" value="{{system.biodata.origin}}" <input type="text" class="item-field-label-long4" name="system.biodata.alternateids"
data-dtype="String" /> value="{{system.biodata.origin}}" data-dtype="String" />
</li> </li>
</ul> </ul>
</div> </div>
<div class="grid grid-2col"> <div class="grid grid-2col">
<div> <div>
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-medium">Campaign</label> <label class="item-field-label-medium">Campaign</label>
<input type="text" class="item-field-label-long3" name="system.biodata.campaign" value="{{system.biodata.campaign}}" data-dtype="String" /> <input type="text" class="item-field-label-long3" name="system.biodata.campaign"
</li> value="{{system.biodata.campaign}}" data-dtype="String" />
<li class="flexrow item"> </li>
<label class="item-field-label-medium">Player</label> <li class="flexrow item">
<input type="text" class="item-field-label-long3" name="system.biodata.player" value="{{system.biodata.player}}" <label class="item-field-label-medium">Player</label>
data-dtype="String" /> <input type="text" class="item-field-label-long3" name="system.biodata.player"
</li> value="{{system.biodata.player}}" data-dtype="String" />
<li class="flexrow item"> </li>
<label class="item-field-label-medium">GM</label> <li class="flexrow item">
<input type="text" class="item-field-label-long3" name="system.biodata.gm" value="{{system.biodata.gm}}" <label class="item-field-label-medium">GM</label>
data-dtype="String" /> <input type="text" class="item-field-label-long3" name="system.biodata.gm"
</li> value="{{system.biodata.gm}}" data-dtype="String" />
<li class="item flexrow"> </li>
<label class="item-field-label-medium">Hair</label> <li class="item flexrow">
<input type="text" class="item-field-label-long3" name="system.biodata.hair" value="{{system.biodata.hair}}" data-dtype="String" /> <label class="item-field-label-medium">Hair</label>
</li> <input type="text" class="item-field-label-long3" name="system.biodata.hair"
</ul> value="{{system.biodata.hair}}" data-dtype="String" />
</li>
</ul>
</div> </div>
<div> <div>
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-medium">Gender</label> <label class="item-field-label-medium">Gender</label>
<input type="text" class="item-field-label-medium" name="system.biodata.gender" value="{{system.biodata.gender}}" data-dtype="String" /> <input type="text" class="item-field-label-medium" name="system.biodata.gender"
</li> value="{{system.biodata.gender}}" data-dtype="String" />
<li class="item flexrow"> </li>
<label class="item-field-label-medium">Height</label> <li class="item flexrow">
<input type="text" class="item-field-label-medium" name="system.biodata.height" value="{{system.biodata.height}}" data-dtype="String" /> <label class="item-field-label-medium">Height</label>
</li> <input type="text" class="item-field-label-medium" name="system.biodata.height"
<li class="item flexrow"> value="{{system.biodata.height}}" data-dtype="String" />
<label class="item-field-label-medium">Mass</label> </li>
<input type="text" class="item-field-label-medium" name="system.biodata.mass" value="{{system.biodata.mass}}" data-dtype="String" /> <li class="item flexrow">
</li> <label class="item-field-label-medium">Mass</label>
<li class="item flexrow"> <input type="text" class="item-field-label-medium" name="system.biodata.mass"
<label class="item-field-label-medium">Eyes</label> value="{{system.biodata.mass}}" data-dtype="String" />
<input type="text" class="item-field-label-medium" name="system.biodata.eyes" value="{{system.biodata.eyes}}" data-dtype="String" /> </li>
</li> <li class="item flexrow">
</ul> <label class="item-field-label-medium">Eyes</label>
<input type="text" class="item-field-label-medium" name="system.biodata.eyes"
value="{{system.biodata.eyes}}" data-dtype="String" />
</li>
</ul>
</div> </div>
</div> </div>
@ -73,19 +79,23 @@
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item flexrow"> <li class="item flexrow">
<label class="item-field-label-medium">Points</label> <label class="item-field-label-medium">Points</label>
<input type="text" class="item-field-label-short" name="system.biodata.points" value="{{system.biodata.origin}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.biodata.points"
value="{{system.biodata.origin}}" data-dtype="Number" />
<label class="">&nbsp;</label> <label class="">&nbsp;</label>
<label class="item-field-label-medium">Complications</label> <label class="item-field-label-medium">Complications</label>
<input type="text" class="item-field-label-short" name="system.biodata.complications" value="{{system.biodata.complications}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.biodata.complications"
value="{{system.biodata.complications}}" data-dtype="Number" />
<label class="">&nbsp;</label> <label class="">&nbsp;</label>
<label class="item-field-label-medium">XP Earned</label> <label class="item-field-label-medium">XP Earned</label>
<input type="text" class="item-field-label-short" name="system.biodata.xpearned" value="{{system.biodata.xpearned}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.biodata.xpearned"
value="{{system.biodata.xpearned}}" data-dtype="Number" />
<label class="">&nbsp;</label> <label class="">&nbsp;</label>
<label class="item-field-label-medium">XP Spent</label> <label class="item-field-label-medium">XP Spent</label>
<input type="text" class="item-field-label-short" name="system.biodata.xpspent" value="{{system.biodata.xpspent}}" data-dtype="Number" /> <input type="text" class="item-field-label-short" name="system.biodata.xpspent"
value="{{system.biodata.xpspent}}" data-dtype="Number" />
<label class="">&nbsp;</label> <label class="">&nbsp;</label>
</li> </li>
</ul> </ul>
@ -117,80 +127,95 @@
{{!-- Combat Tab --}} {{!-- Combat Tab --}}
<div class="tab combat" data-group="primary" data-tab="combat"> <div class="tab combat" data-group="primary" data-tab="combat">
<div class="grid grid2col"> <div class="grid grid2col">
<div> <div>
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item"> <li class="item">
<label class="item-field-label-medium">STR Dice</label> <label class="item-field-label-medium">STR Dice</label>
<a class="roll-lift-dice"><i class="fas fa-dice"></i>{{characteristics.str.strdice}}</a> <a class="roll-lift-dice"><i class="fas fa-dice"></i>{{characteristics.str.strdice}}</a>
<label class="item-field-label-short">&nbsp;</label> <label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-medium">Lift</label> <label class="item-field-label-medium">Lift</label>
<input type="text" class="item-field-label-short update-field" disabled data-field-name="system.characteristics.str.lift" value="{{characteristics.str.lift}}" data-dtype="String" /> <input type="text" class="item-field-label-short update-field" disabled
data-field-name="system.characteristics.str.lift" value="{{characteristics.str.lift}}"
data-dtype="String" />
<label class="item-field-label-short">&nbsp;</label> <label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-medium">STR END</label> <label class="item-field-label-medium">STR END</label>
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.str.strend" disabled value="{{characteristics.str.strend}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
data-field-name="system.characteristics.str.strend" disabled value="{{characteristics.str.strend}}"
data-dtype="Number" />
</li> </li>
</ul> </ul>
{{#each maneuvers as |mlist key|}} {{#each maneuvers as |mlist key|}}
<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 key}} 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>
<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>
<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>
</li> </li>
{{#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>
<span class="item-field-label-long">{{maneuver.name}}</span> <a class="roll-item"><i class="fas fa-dice"></i></a><span class="item-field-label-long">{{maneuver.name}}
</span>
<span class="item-field-label-very-short">{{maneuver.system.pha}}</span> <span class="item-field-label-very-short">{{maneuver.system.pha}}</span>
<span class="item-field-label-very-short">{{maneuver.system.ocv}}</span> <span class="item-field-label-very-short">{{maneuver.system.ocv}}</span>
<span class="item-field-label-very-short">{{maneuver.system.dcv}}</span> <span class="item-field-label-very-short">{{maneuver.system.dcv}}</span>
<span class="item-field-text-long">{{maneuver.system.effects}}</span> <span class="item-field-text-long">{{maneuver.system.effects}}
{{#if maneuver.system.haseffectroll}}
<a class="roll-direct" data-roll-source="Maneuver {{maneuver.name}}"
data-roll-formula="{{maneuver.system.effectrollformula}}">
<i class="fas fa-dice"></i>{{maneuver.system.effectrollformula}}
</a>
{{/if}}
</span>
<span class="">&nbsp;</span> </li>
<div class="item-controls item-controls-fixed"> {{/each}}
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> </ul>
</div>
</li>
{{/each}}
</ul>
{{/each}} {{/each}}
</div> </div>
<div> <div>
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="flexrow item"> <li class="flexrow item">
<label class="item-packed">Initiative</label> <label class="item-packed">Initiative</label>
<input type="text" class="margin-left-4item-packed item-field-label-very-short update-field" data-field-name="system.characteristics.dex.initiative" value="{{characteristics.dex.initiative}}" data-dtype="Number" /> <input type="text" class="margin-left-4item-packed item-field-label-very-short update-field"
data-field-name="system.characteristics.dex.initiative" value="{{characteristics.dex.initiative}}"
data-dtype="Number" />
<label class="items-title-text item-packed margin-left-8">SPD</label> <label class="items-title-text item-packed margin-left-8">SPD</label>
<input type="text" class="item-field-label-very-short margin-left-4 update-field item-packed" data-field-name="system.characteristics.spd.value" value="{{characteristics.spd.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-very-short margin-left-4 update-field item-packed"
data-field-name="system.characteristics.spd.value" value="{{characteristics.spd.value}}"
<button class="chat-card-small-button item-field-label-short margin-left-8 hold-action item-packed">{{#if isHold}}Unhold{{else}}Hold{{/if}}</button> data-dtype="Number" />
<button class="chat-card-small-button item-field-label-short margin-left-4 abort-action item-packed">{{#if isAbort}}Unabort{{else}}Abort{{/if}}</button>
<button class="chat-card-small-button item-field-label-short margin-left-8 hold-action item-packed">{{#if
isHold}}Unhold{{else}}Hold{{/if}}</button>
<button class="chat-card-small-button item-field-label-short margin-left-4 abort-action item-packed">{{#if
isAbort}}Unabort{{else}}Abort{{/if}}</button>
<label class="items-title-text margin-left-8">Presence attack</label> <label class="items-title-text margin-left-8">Presence attack</label>
<a class="roll-direct" data-roll-source="Presence attack" data-roll-formula="{{system.biodata.presenceattack.rollFormula}}"> <a class="roll-direct" data-roll-source="Presence attack"
data-roll-formula="{{system.biodata.presenceattack.rollFormula}}">
<i class="fas fa-dice"></i>{{system.biodata.presenceattack.displayFormula}} <i class="fas fa-dice"></i>{{system.biodata.presenceattack.displayFormula}}
</a> </a>
@ -201,24 +226,26 @@
<div> <div>
<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"> <span class="item-field-label-long">
<label class="">Vitals</label> <label class="">Vitals</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">Val</label> <label class="short-label">Val</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">Dmg</label> <label class="short-label">Dmg</label>
</span> </span>
</li> </li>
{{#each characteristics as |char key|}} {{#each characteristics as |char key|}}
{{#if char.isvital}} {{#if char.isvital}}
<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" data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
<input type="text" class="item-field-label-short" name="system.characteristics.{{key}}.damage" value="{{char.damage}}" data-dtype="Number" /> data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" />
</li> <input type="text" class="item-field-label-short" name="system.characteristics.{{key}}.damage"
{{/if}} value="{{char.damage}}" data-dtype="Number" />
</li>
{{/if}}
{{/each}} {{/each}}
</ul> </ul>
@ -228,57 +255,73 @@
<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"> <span class="item-field-label-long">
<label class="">Defenses</label> <label class="">Defenses</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">Normal</label> <label class="short-label">Normal</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">Resistant</label> <label class="short-label">Resistant</label>
</span> </span>
</li> </li>
{{#each characteristics as |char key|}} {{#each characteristics as |char key|}}
{{#if char.isdefense}} {{#if char.isdefense}}
<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" data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
<input type="text" class="item-field-label-short" name="system.characteristics.{{key}}.resistant" value="{{char.resistant}}" data-dtype="Number" /> data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" />
</li> <input type="text" class="item-field-label-short" name="system.characteristics.{{key}}.resistant"
{{/if}} value="{{char.resistant}}" data-dtype="Number" />
</li>
{{/if}}
{{/each}} {{/each}}
{{#each defenses as |def key|}} {{#each defenses as |def key|}}
<li class="item flexrow list-item list-item-shadow" data-defense-key="{{key}}"> <li class="item flexrow list-item list-item-shadow" data-defense-key="{{key}}">
{{#if def.iseditable}} {{#if def.iseditable}}
<input type="text" class="item-field-label-long update-field" data-field-name="system.defenses.{{key}}.label" value="{{def.label}}" data-dtype="String" /> <input type="text" class="item-field-label-long update-field"
{{else}} data-field-name="system.defenses.{{key}}.label" value="{{def.label}}" data-dtype="String" />
<span class="item-field-label-long">{{def.label}}</span> {{else}}
{{/if}} <span class="item-field-label-long">{{def.label}}</span>
<input type="text" class="item-field-label-short update-field" data-field-name="system.defenses.{{key}}.value" value="{{def.value}}" data-dtype="Number" /> {{/if}}
<input type="text" class="item-field-label-short" name="system.defenses.{{key}}.resistant" value="{{def.resistant}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
</li> data-field-name="system.defenses.{{key}}.value" value="{{def.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" name="system.defenses.{{key}}.resistant"
value="{{def.resistant}}" data-dtype="Number" />
</li>
{{/each}} {{/each}}
</ul> </ul>
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<label class="item-field-label-short">OCV</label> <label class="item-field-label-short">
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.ocv.value" value="{{characteristics.ocv.value}}" data-dtype="Number" /> <a class="roll-charac" data-charac-key="ocv"><i class="fas fa-dice"></i>OCV</a>
</label>
<input type="text" class="item-field-label-short update-field"
data-field-name="system.characteristics.ocv.value" value="{{characteristics.ocv.value}}"
data-dtype="Number" />
<label class="item-field-label-short">&nbsp;</label> <label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-short">DCV</label> <label class="item-field-label-short">DCV</label>
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.dcv.value" value="{{characteristics.dcv.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
data-field-name="system.characteristics.dcv.value" value="{{characteristics.dcv.value}}"
data-dtype="Number" />
<label class="item-field-label-short">&nbsp;</label> <label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-short">OMCV</label> <label class="item-field-label-short">
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.omcv.value" value="{{characteristics.omcv.value}}" data-dtype="Number" /> <a class="roll-charac" data-charac-key="omcv"><i class="fas fa-dice"></i>OMCV</a>
</label>
<input type="text" class="item-field-label-short update-field"
data-field-name="system.characteristics.omcv.value" value="{{characteristics.omcv.value}}"
data-dtype="Number" />
<label class="item-field-label-short">&nbsp;</label> <label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-short">DMCV</label> <label class="item-field-label-short">DMCV</label>
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.dmcv.value" value="{{characteristics.dmcv.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
data-field-name="system.characteristics.dmcv.value" value="{{characteristics.dmcv.value}}"
data-dtype="Number" />
</div> </div>
<div class="flexrow"> <div class="flexrow">
@ -286,66 +329,75 @@
<textarea rows="4" type="text" class="padd-right" name="system.biodata.combatskills" <textarea rows="4" type="text" class="padd-right" name="system.biodata.combatskills"
data-dtype="String">{{system.biodata.combatskills}}</textarea> data-dtype="String">{{system.biodata.combatskills}}</textarea>
</div> </div>
<div class="grid grid2col"> <div class="grid grid2col">
<div> <div>
<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"> <span class="item-field-label-long">
<label class="">Senses</label> <label class="">Senses</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
</span> </span>
</li>
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
<span class="item-field-label-long">
<a class="roll-perception"><i class="fas fa-dice"></i>Perception Roll</a>
</span>
<input type="text" class="item-field-label-short update-field"
data-field-name="system.characteristics.int.perceptionroll"
value="{{characteristics.int.perceptionroll}}" data-dtype="Number" />
</li> </li>
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
<span class="item-field-label-long">
<a class="roll-perception"><i class="fas fa-dice"></i>Perception Roll</a>
</span>
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.int.perceptionroll" value="{{characteristics.int.perceptionroll}}" data-dtype="Number" />
</li>
</ul> </ul>
<textarea type="text" class="textarea-full-height padd-right" name="system.biodata.combatnotes1" data-dtype="String">{{system.biodata.combatnotes1}}</textarea> <textarea rows="20" type="text" class="textarea-full-height padd-right" name="system.biodata.combatnotes1"
data-dtype="String">{{system.biodata.combatnotes1}}</textarea>
</div> </div>
<div> <div>
<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"> <span class="item-field-label-long">
<label class="">Movement</label> <label class="">Movement</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">C</label> <label class="short-label">Combat</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">NC</label> <label class="short-label">NC</label>
</span> </span>
</li> </li>
{{#each characteristics as |char key|}} {{#each characteristics as |char key|}}
{{#if char.ismovement}} {{#if char.ismovement}}
<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" data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
<input type="text" class="item-field-label-short" value="{{mul char.value 2}}" disabled data-dtype="Number" /> data-field-name="system.characteristics.{{key}}.value" value="{{char.value}}" data-dtype="Number" />
</li> <input type="text" class="item-field-label-short update-field"
{{/if}} data-field-name="system.characteristics.{{key}}.ncvalue" value="{{char.ncvalue}}"
data-dtype="Number" />
</li>
{{/if}}
{{/each}} {{/each}}
{{#each movements as |move key|}} {{#each movements as |move key|}}
<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}}">
{{#if move.iseditable}} {{#if move.iseditable}}
<input type="text" class="item-field-label-long update-field" data-field-name="system.movements.{{key}}.label" value="{{move.label}}" data-dtype="String" /> <input type="text" class="item-field-label-long update-field"
{{else}} data-field-name="system.movements.{{key}}.label" value="{{move.label}}" data-dtype="String" />
<span class="item-field-label-long">{{move.label}}</span> {{else}}
{{/if}} <span class="item-field-label-long">{{move.label}}</span>
<input type="text" class="item-field-label-short update-field" data-field-name="system.movements.{{key}}.value" value="{{move.value}}" data-dtype="Number" /> {{/if}}
<input type="text" class="item-field-label-short" value="{{mul move.value 2}}" disabled data-dtype="Number" /> <input type="text" class="item-field-label-short update-field"
</li> data-field-name="system.movements.{{key}}.value" value="{{move.value}}" data-dtype="Number" />
<input type="text" class="item-field-label-short" value="{{mul move.value 2}}" disabled
data-dtype="Number" />
</li>
{{/each}} {{/each}}
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -355,28 +407,28 @@
<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-medium">
<label class="">Value</label> <label class="">Value</label>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="item-field-label-medium">CHAR</label> <label class="item-field-label-medium">CHAR</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">Base</label> <label class="short-label">Base</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">Roll</label> <label class="short-label">Roll</label>
</span> </span>
<span class="item-field-label-long"> <span class="item-field-label-long">
<label class="short-label">Notes</label> <label class="short-label">Notes</label>
</span> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
</li> </li>
{{#each characteristics as |charac key|}} {{#each characteristics as |charac key|}}
{{> systems/fvtt-hero-system-6/templates/partials/partial-actor-full-charac.hbs charac=charac key=key}} {{> systems/fvtt-hero-system-6/templates/partials/partial-actor-full-charac.hbs charac=charac key=key}}
{{/each}} {{/each}}
</ul> </ul>
</div> </div>
</div> </div>
@ -403,7 +455,8 @@
src="{{skill.img}}" /></a> src="{{skill.img}}" /></a>
<span class="item-field-label-long">{{skill.name}}</span> <span class="item-field-label-long">{{skill.name}}</span>
<span class="item-field-label-medium">{{upper skill.charac}}</span> <span class="item-field-label-medium">{{upper skill.charac}}</span>
<span class="item-field-label-short"><a class="roll-item" data-type="skill"><i class="fas fa-dice"></i>{{skill.roll}}-</a></span> <span class="item-field-label-short"><a class="roll-item" data-type="skill"><i
class="fas fa-dice"></i>{{skill.roll}}-</a></span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</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>
@ -430,8 +483,9 @@
<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="{{perk.img}}" /></a> src="{{perk.img}}" /></a>
<span class="item-name-label">{{perk.name}}</span> <span class="item-name-label">{{perk.name}}</span>
{{#if perk.system.hasroll}} {{#if perk.system.hasroll}}
<span class="item-field-label-short"><a class="roll-item" data-type="perk"><i class="fas fa-dice"></i>{{perk.system.roll}}-</a></span> <span class="item-field-label-short"><a class="roll-item" data-type="perk"><i
class="fas fa-dice"></i>{{perk.system.roll}}-</a></span>
{{else}} {{else}}
<span class="item-field-label-short">&nbsp;</span> <span class="item-field-label-short">&nbsp;</span>
{{/if}} {{/if}}
@ -461,8 +515,9 @@
<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="{{talent.img}}" /></a> src="{{talent.img}}" /></a>
<span class="item-name-label">{{talent.name}}</span> <span class="item-name-label">{{talent.name}}</span>
{{#if talent.system.hasroll}} {{#if talent.system.hasroll}}
<span class="item-field-label-short"><a class="roll-item" data-type="perk"><i class="fas fa-dice"></i>{{talent.system.roll}}-</a></span> <span class="item-field-label-short"><a class="roll-item" data-type="perk"><i
class="fas fa-dice"></i>{{talent.system.roll}}-</a></span>
{{else}} {{else}}
<span class="item-field-label-short">&nbsp;</span> <span class="item-field-label-short">&nbsp;</span>
{{/if}} {{/if}}
@ -478,6 +533,10 @@
{{!-- Maneuvers Tab --}} {{!-- Maneuvers Tab --}}
<div class="tab maneuver" data-group="primary" data-tab="maneuver"> <div class="tab maneuver" data-group="primary" data-tab="maneuver">
<div>
<button class="show-stock-maneuver">Show/Hide stock maneuvers</button>
</div>
<ul class="stat-list alternate-list item-list"> <ul class="stat-list alternate-list item-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">
@ -492,27 +551,29 @@
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">DCV</label> <label class="short-label">DCV</label>
</span> </span>
<span class="item-field-label-long"> <span class="item-field-label-long3">
<label class="short-label">Effects</label> <label class="short-label">Effects</label>
</span> </span>
</li> </li>
{{#each nonstockmaneuvers as |maneuver key|}} {{#each allmaneuvers as |maneuver key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{maneuver._id}}"> <div class="{{#if maneuver.system.isstock}}maneuver-list maneuver-is-stock{{/if}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" <li class="item stat flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
src="{{maneuver.img}}" /></a> <a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
<span class="item-field-label-long">{{maneuver.name}}</span> src="{{maneuver.img}}" /></a>
<span class="item-field-label-long">{{maneuver.name}}</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>
<span class="item-field-label-short">{{maneuver.system.dcv}}</span> <span class="item-field-label-short">{{maneuver.system.dcv}}</span>
<span class="item-field-label-long">{{maneuver.system.effects}}</span> <span class="item-field-label-long3">{{maneuver.system.effects}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</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>
</div> </div>
</li> </li>
</div>
{{/each}} {{/each}}
</ul> </ul>
</div> </div>
@ -547,13 +608,15 @@
{{#each powers as |power key|}} {{#each powers as |power key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}"> <li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._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="{{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>
<span class="item-field-label-long3">{{power.name}}</span> <span class="item-field-label-long3">{{power.name}}</span>
<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 class="fas fa-dice"></i>{{power.system.damage}}</a></span> <span class="item-field-label-medium"><a class="roll-damage" data-type="power"><i
{{#if power.system.hasroll}} class="fas fa-dice"></i>{{power.system.damage}}</a></span>
<span class="item-field-label-short"><a class="roll-item" data-type="power"><i class="fas fa-dice"></i>{{power.system.roll}}-</a></span> {{#if power.system.hasroll}}
<span class="item-field-label-short"><a class="roll-item" data-type="power"><i
class="fas fa-dice"></i>{{power.system.roll}}-</a></span>
{{else}} {{else}}
<span class="item-field-label-short">&nbsp;</span> <span class="item-field-label-short">&nbsp;</span>
{{/if}} {{/if}}
@ -584,8 +647,9 @@
<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="{{comp.img}}" /></a> src="{{comp.img}}" /></a>
<span class="item-name-label">{{comp.name}}</span> <span class="item-name-label">{{comp.name}}</span>
{{#if comp.system.hasroll}} {{#if comp.system.hasroll}}
<span class="item-field-label-short"><a class="roll-item" data-type="perk"><i class="fas fa-dice"></i>{{comp.system.roll}}-</a></span> <span class="item-field-label-short"><a class="roll-item" data-type="perk"><i
class="fas fa-dice"></i>{{comp.system.roll}}-</a></span>
{{else}} {{else}}
<span class="item-field-label-short">&nbsp;</span> <span class="item-field-label-short">&nbsp;</span>
{{/if}} {{/if}}
@ -608,13 +672,16 @@
<span class="small-label">Total value : {{totalValue}}</span> <span class="small-label">Total value : {{totalValue}}</span>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Weapons" items=weapons}} {{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Weapons"
items=weapons}}
{{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Armor" items=armors}} {{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Armor" items=armors}}
{{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Shields" items=shields}} {{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Shields"
items=shields}}
{{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Equipment" items=equipments}} {{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Equipment"
items=equipments}}
<hr> <hr>
@ -669,7 +736,7 @@
<div class="medium-editor "> <div class="medium-editor ">
{{editor notes1 target="system.biodata.notes1" button=true owner=owner {{editor notes1 target="system.biodata.notes1" button=true owner=owner
editable=editable}} editable=editable}}
</div> </div>
<hr> <hr>
<h3>Notes 2 : </h3> <h3>Notes 2 : </h3>
<div class="small-editor"> <div class="small-editor">
@ -697,7 +764,7 @@
</div> </div>
</div> </div>
</section> </section>
</form> </form>

View File

@ -32,9 +32,12 @@
</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>-->
<h3 class="encounter-title noborder">Turn {{combat.flags.world.turnData.turnNumber}} Segment {{combat.flags.world.turnData.segmentNumber}}</h3>
{{else}} {{else}}
<h3 class="encounter-title noborder">{{localize 'COMBAT.NotStarted'}}</h3> <h3 class="encounter-title noborder">{{localize 'COMBAT.NotStarted'}}</h3>
{{/if}} {{/if}}

View File

@ -33,6 +33,12 @@
{{#if item}} {{#if item}}
<li>{{item.name}} ({{upperFirst item.type}})</li> <li>{{item.name}} ({{upperFirst item.type}})</li>
{{#if (eq item.type "maneuver")}}
<li>{{item.system.effects}}</li>
{{#if item.system.haseffectroll}}
<li>{{item.system.effectrollformula}}</li>
{{/if}}
{{/if}}
{{/if}} {{/if}}
{{#if (exists bonusMalus)}} {{#if (exists bonusMalus)}}

View File

@ -20,6 +20,8 @@
</li> </li>
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -67,5 +67,7 @@
</div> </div>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -21,5 +21,8 @@
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}} {{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -24,5 +24,7 @@
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -65,5 +65,7 @@
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -11,13 +11,16 @@
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
<section class="sheet-body"> <section class="sheet-body">
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details"> <div class="tab details" data-group="primary" data-tab="details">
<ul> <ul>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-description.hbs}}
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}} {{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -53,5 +53,8 @@
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -21,5 +21,8 @@
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}} {{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -25,5 +25,8 @@
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}} {{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -17,7 +17,7 @@
<ul> <ul>
<li class="flexrow"><label class="item-field-label-long">Type</label> <li class="flexrow"><label class="item-field-label-long">Type</label>
<select class="item-field-label-medium" type="text" name="system.skilltype" value="{{system.skilltype}}" data-dtype="String"> <select class="item-field-label-medium" type="text" name="system.skilltype" value="{{system.skilltype}}" data-dtype="String">
{{#select system.skilltype}} {{#select (lower system.skilltype)}}
{{#each config.skillType as |char key|}} {{#each config.skillType as |char key|}}
<option value="{{key}}">{{char}}</option> <option value="{{key}}">{{char}}</option>
{{/each}} {{/each}}
@ -28,14 +28,14 @@
{{#if (isSkillCustom system.skilltype)}} {{#if (isSkillCustom system.skilltype)}}
<li class="flexrow"><label class="item-field-label-long">Base characteristic</label> <li class="flexrow"><label class="item-field-label-long">Base characteristic</label>
<select class="item-field-label-medium" type="text" name="system.characteristic" value="{{system.characteristic}}" data-dtype="String"> <select class="item-field-label-medium" type="text" name="system.characteristic" value="{{system.characteristic}}" data-dtype="String">
{{#select system.characteristic}} {{#select (lower system.characteristic)}}
{{#each config.rollCharac as |char key|}} {{#each config.rollCharac as |char key|}}
<option value="{{key}}">{{char}}</option> <option value="{{key}}">{{char}}</option>
{{/each}} {{/each}}
{{/select}} {{/select}}
</select> </select>
</li> </li>
{{#if (eq system.characteristic "manual")}} {{#if (eq (lower system.characteristic) "manual")}}
<li class="flexrow"><label class="item-field-label-long">Base value</label> <li class="flexrow"><label class="item-field-label-long">Base value</label>
<input type="text" class="item-field-label-medium" name="system.base" value="{{system.base}}" data-dtype="Number" {{#if (ne system.characteristic "manual")}}disabled{{/if}} /> <input type="text" class="item-field-label-medium" name="system.base" value="{{system.base}}" data-dtype="Number" {{#if (ne system.characteristic "manual")}}disabled{{/if}} />
</li> </li>
@ -79,5 +79,8 @@
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -22,6 +22,8 @@
</ul> </ul>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -103,5 +103,7 @@
</div> </div>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
</section> </section>
</form> </form>

View File

@ -4,13 +4,6 @@
<input type="text" class="" name="system.displayname" value="{{system.displayname}}" data-dtype="string"/> <input type="text" class="" name="system.displayname" value="{{system.displayname}}" data-dtype="string"/>
</div> </div>
<div>
<label class="generic-label">Notes</label>
<div class="small-editor item-text-long-line">
{{editor notes target="system.notes" button=true owner=owner editable=editable}}
</div>
</div>
<div> <div>
<label class="generic-label">Description</label> <label class="generic-label">Description</label>
<div class="medium-editor item-text-long-line"> <div class="medium-editor item-text-long-line">

View File

@ -2,4 +2,5 @@
<nav class="sheet-tabs tabs" data-group="primary"> <nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="description">Description</a> <a class="item" data-tab="description">Description</a>
<a class="item" data-tab="details">Details</a> <a class="item" data-tab="details">Details</a>
<a class="item" data-tab="notes">Notes</a>
</nav> </nav>

View File

@ -0,0 +1,8 @@
<div class="tab notes" data-group="primary" data-tab="notes">
<div>
<label class="generic-label">Notes</label>
<div class="small-editor item-text-long-line">
{{editor notes target="system.notes" button=true owner=owner editable=editable}}
</div>
</div>
</div>

View File

@ -1,6 +1,6 @@
<li class="flexrow"><label class="item-field-label-long">Type</label> <li class="flexrow"><label class="item-field-label-long">Type</label>
<select class="item-field-label-long" type="text" name="system.petype" value="{{system.petype}}" data-dtype="String"> <select class="item-field-label-long" type="text" name="system.petype" value="{{system.petype}}" data-dtype="String">
{{#select system.petype}} {{#select (lower system.petype)}}
{{#each config.powerEquipmentType as |name key|}} {{#each config.powerEquipmentType as |name key|}}
<option value="{{key}}">{{name}}</option> <option value="{{key}}">{{name}}</option>
{{/each}} {{/each}}
@ -10,7 +10,7 @@
<li class="flexrow"><label class="item-field-label-long">Type Modifier</label> <li class="flexrow"><label class="item-field-label-long">Type Modifier</label>
<select class="item-field-label-long" type="text" name="system.typemodifier" value="{{system.typemodifier}}" data-dtype="String"> <select class="item-field-label-long" type="text" name="system.typemodifier" value="{{system.typemodifier}}" data-dtype="String">
{{#select system.typemodifier}} {{#select (lower system.typemodifier)}}
{{#each config.powerTypeModifiers as |name key|}} {{#each config.powerTypeModifiers as |name key|}}
<option value="{{key}}">{{name}}</option> <option value="{{key}}">{{name}}</option>
{{/each}} {{/each}}
@ -31,6 +31,16 @@
<li class="flexrow"><label class="item-field-label-long">Endurance</label> <li class="flexrow"><label class="item-field-label-long">Endurance</label>
<input type="text" class="item-field-label-short" name="system.endurance" value="{{system.endurance}}" data-dtype="Number"/> <input type="text" class="item-field-label-short" name="system.endurance" value="{{system.endurance}}" data-dtype="Number"/>
</li> </li>
<li class="flexrow"><label class="item-field-label-long">Has Charges ?</label>
<label class="item-field-label-medium"><input type="checkbox" name="system.hascharges" {{checked system.hascharges}}/></label>
</li>
{{#if system.hascharges}}
<li class="flexrow"><label class="item-field-label-long">Number of Charges</label>
<input type="text" class="item-field-label-short" name="system.nbcharges" value="{{system.nbcharges}}" data-dtype="Number"/>
</li>
{{/if}}
{{#if quantityDone}} {{#if quantityDone}}
{{else}} {{else}}
<li class="flexrow"><label class="item-field-label-long">Quantity</label> <li class="flexrow"><label class="item-field-label-long">Quantity</label>