Compare commits
38 Commits
fvtt-hero-
...
fvtt-hero-
Author | SHA1 | Date | |
---|---|---|---|
ab587740d8 | |||
0f4fe253e0 | |||
3b13a44d9d | |||
0ebe0c3734 | |||
6a00dd8583 | |||
5064b83f2b | |||
58275c32e6 | |||
c22b950f7c | |||
893ca4cfa5 | |||
94065a3755 | |||
1d4d3054c3 | |||
e5c6d3f42f | |||
f914b9838e | |||
8a543068d2 | |||
379b8358ee | |||
40ee7c3c40 | |||
a07f367b0c | |||
09bb7fb692 | |||
92dc81af24 | |||
d2430ee482 | |||
86780ce8ae | |||
b383481915 | |||
dca78fd4b6 | |||
f381269acf | |||
686ea4cea6 | |||
c915b85a7b | |||
5026e120c1 | |||
9cefc6f816 | |||
11d7c7d1c0 | |||
3abf9a9f8f | |||
f5c0faffd3 | |||
3f0e0a41b8 | |||
20c49eb48c | |||
6275319164 | |||
19fb872824 | |||
002d6f4fbd | |||
43a3a2ccfa | |||
356f0fee5f |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
packs/* filter=lfs diff=lfs merge=lfs -text
|
12
README.md
12
README.md
@ -2,8 +2,18 @@ This is the official Hero System 6th Edition game system for FoundryVTT, based o
|
||||
|
||||
The Hero System game system is not usable standalone. To play this game you need a copy of the core rulebook.
|
||||
|
||||
It features :
|
||||
|
||||
- PC/NPC sheets
|
||||
- Roll management and associated helpers
|
||||
- Segment and Turn management in the combat tracker
|
||||
- Official compendiums
|
||||
|
||||

|
||||
|
||||
Installation
|
||||
Manifest URL: https://github.com/Legendsmiths-LLC/
|
||||
Manifest URL: https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/master/system.json
|
||||
Project page : https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6
|
||||
|
||||
For manual installation, use the provided manifest URL in the "Install System" popup window while managing game systems.
|
||||
|
||||
|
33
changelog.md
Normal file
33
changelog.md
Normal file
@ -0,0 +1,33 @@
|
||||
v11.0.20
|
||||
|
||||
- Enhance chat message output (cf #25)
|
||||
- Enhance roll window
|
||||
- Code simplification
|
||||
|
||||
v11.0.19
|
||||
|
||||
- Fix killing damage computation (again)
|
||||
|
||||
v11.0.18
|
||||
|
||||
- Fix killing damage computation
|
||||
|
||||
v11.0.17
|
||||
|
||||
- Fix tickets 1, 2, 3, 7, 8, 9, 10
|
||||
- Implements effects tagging (#11)
|
||||
|
||||
v11.0.16
|
||||
|
||||
- Fix mental maneuvers rolls
|
||||
- Renamed title
|
||||
|
||||
v11.0.15
|
||||
|
||||
- Fix target rolls for power
|
||||
- Add maneuvers roll in the maneuver tab
|
||||
- Renamed title
|
||||
|
||||
v11.0.14
|
||||
|
||||
- Initial public release
|
33
lang/en.json
33
lang/en.json
@ -1,19 +1,22 @@
|
||||
{
|
||||
"ACTOR": {
|
||||
"TypeCharacter": "Character"
|
||||
},
|
||||
"ITEM": {
|
||||
"TypeSkill": "Skill",
|
||||
"TypePerk": "Perk",
|
||||
"TypePower": "Power",
|
||||
"TypeTalent": "Talent",
|
||||
"TypeAdvantage": "Advantage",
|
||||
"TypeMartialart": "Martial art",
|
||||
"TypeLimitation": "Limitation",
|
||||
"TypeComplication": "Complication",
|
||||
"TypeEquipment": "Equipment",
|
||||
"TypeCurrency": "Currency",
|
||||
"TypeManeuver": "Maneuver"
|
||||
"TYPES": {
|
||||
"Actor": {
|
||||
"character": "Character",
|
||||
"minion": "Minion"
|
||||
},
|
||||
"Item": {
|
||||
"skill": "Skill",
|
||||
"perk": "Perk",
|
||||
"power": "Power",
|
||||
"talent": "Talent",
|
||||
"advantage": "Advantage",
|
||||
"martialart": "Martial art",
|
||||
"limitation": "Limitation",
|
||||
"complication": "Complication",
|
||||
"equipment": "Equipment",
|
||||
"currency": "Currency",
|
||||
"maneuver": "Maneuver"
|
||||
}
|
||||
},
|
||||
"COMBAT": {
|
||||
"TurnPrev": "Previous initiative",
|
||||
|
@ -46,10 +46,12 @@ export class Hero6ActorSheet extends ActorSheet {
|
||||
complications: this.actor.getComplications( ),
|
||||
maneuvers: this.actor.getManeuvers( ),
|
||||
nonstockmaneuvers: this.actor.getNonStockManeuvers(),
|
||||
allmaneuvers: this.actor.getAllManeuvers(),
|
||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsMoneys()) ),
|
||||
moneys: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getMoneys())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipments()) ),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
race: duplicate(this.actor.getRace()),
|
||||
encCapacity: this.actor.getEncumbranceCapacity(),
|
||||
@ -74,7 +76,9 @@ export class Hero6ActorSheet extends ActorSheet {
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
|
||||
this.formData = formData;
|
||||
this.stockManeuverDisplayed = false
|
||||
|
||||
console.log("PC : ", formData, this.object);
|
||||
return formData;
|
||||
@ -89,9 +93,9 @@ export class Hero6ActorSheet extends ActorSheet {
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
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;
|
||||
});
|
||||
});*/
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
@ -158,13 +162,19 @@ export class Hero6ActorSheet extends ActorSheet {
|
||||
html.find('.roll-perception').click((event) => {
|
||||
this.actor.rollPerception("int");
|
||||
});
|
||||
|
||||
html.find('.roll-weapon').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.rollWeapon(li.data("item-id"));
|
||||
});
|
||||
html.find('.roll-power-attack').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.rollPowerAttack(li.data("item-id"));
|
||||
});
|
||||
html.find('.roll-direct').click((event) => {
|
||||
const rollFormula = $(event.currentTarget).data("roll-formula")
|
||||
const rollSource = $(event.currentTarget).data("roll-source")
|
||||
Hero6Utility.processDirectRoll( { actorId: this.actor.id, rollFormula: rollFormula, rollSource: rollSource, mode:"directroll"} )
|
||||
});
|
||||
|
||||
});
|
||||
html.find('.roll-item').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
let itemId = li.data("item-id")
|
||||
@ -180,16 +190,6 @@ export class Hero6ActorSheet extends ActorSheet {
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.rollLiftDice(itemId);
|
||||
});
|
||||
html.find('.roll-weapon').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollWeapon(skillId)
|
||||
});
|
||||
html.find('.roll-maneuver').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const maneuverId = li.data("maneuver-id")
|
||||
this.actor.rollManeuver(maneuverId)
|
||||
});
|
||||
|
||||
html.find('.hold-action').click((event) => {
|
||||
this.actor.holdAction()
|
||||
@ -198,6 +198,16 @@ export class Hero6ActorSheet extends ActorSheet {
|
||||
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) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
|
@ -4,7 +4,7 @@ import { Hero6RollDialog } from "./hero6-roll-dialog.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, 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;
|
||||
}
|
||||
|
||||
if (data.type == 'character') {
|
||||
if (data.type == 'character' || data.type == 'minion') {
|
||||
const maneuvers = await Hero6Utility.loadCompendium("fvtt-hero-system-6.maneuvers")
|
||||
let maneuversObj = maneuvers.map(i => i.toObject())
|
||||
data.items = maneuversObj.filter(m => m.system.isstock)
|
||||
}
|
||||
if (data.type == 'npc') {
|
||||
data.items = maneuversObj.filter(m => m.system.isstock)
|
||||
}
|
||||
|
||||
return super.create(data, options);
|
||||
@ -62,14 +60,11 @@ export class Hero6Actor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
computeDerivatedData() {
|
||||
if (this.type == "character") {
|
||||
let newSTREND = this.computeSTREND()
|
||||
if (newSTREND != this.system.characteristics.str.strend) {
|
||||
this.update({ 'system.characteristics.str.strend': newSTREND })
|
||||
}
|
||||
let newSTREND = this.computeSTREND()
|
||||
if (newSTREND != this.system.characteristics.str.strend) {
|
||||
this.update({ 'system.characteristics.str.strend': newSTREND })
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
performMigration() {
|
||||
// Fix OCV/OMCV rollable
|
||||
@ -172,6 +167,19 @@ export class Hero6Actor extends Actor {
|
||||
}
|
||||
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) {
|
||||
skill.roll = 0
|
||||
@ -208,21 +216,32 @@ export class Hero6Actor extends Actor {
|
||||
skill.roll = charac.roll
|
||||
}
|
||||
}
|
||||
console.log("SILL", skill)
|
||||
if (skill.system.levels > 0) {
|
||||
skill.roll += skill.system.levels
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareManeuver(maneuver) {
|
||||
|
||||
maneuver.roll = 11 + this.system.characteristics.ocv.value
|
||||
if ( Number(maneuver.system.ocv)) {
|
||||
maneuver.roll += Number(maneuver.system.ocv)
|
||||
let subMode = "normal"
|
||||
if (maneuver.system.maneuvertype == "mental") {
|
||||
maneuver.roll = 11 + (Number(this.system.characteristics.omcv.value) || 0)
|
||||
subMode = "omcv"
|
||||
if (Number(maneuver.system.omcv)) {
|
||||
maneuver.roll += (Number(maneuver.system.omcv) || 0)
|
||||
} else {
|
||||
maneuver.noOMCV = true
|
||||
}
|
||||
} else {
|
||||
maneuver.noOCV = true
|
||||
maneuver.roll = 11 + (Number(this.system.characteristics.ocv.value) || 0)
|
||||
subMode = "ocv"
|
||||
if (Number(maneuver.system.ocv)) {
|
||||
maneuver.roll += (Number(maneuver.system.ocv) || 0)
|
||||
} else {
|
||||
maneuver.noOCV = true
|
||||
}
|
||||
}
|
||||
return subMode
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -296,11 +315,18 @@ export class Hero6Actor extends Actor {
|
||||
let maneuvers = {
|
||||
general: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "general"),
|
||||
offensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "offensive"),
|
||||
defensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "defensive")
|
||||
defensive: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "defensive"),
|
||||
mental: this.items.filter(item => item.type == "maneuver" && item.system.maneuvertype == "mental")
|
||||
}
|
||||
Hero6Utility.sortArrayObjectsByName(maneuvers.general)
|
||||
Hero6Utility.sortArrayObjectsByName(maneuvers.offensive)
|
||||
Hero6Utility.sortArrayObjectsByName(maneuvers.defensive)
|
||||
Hero6Utility.sortArrayObjectsByName(maneuvers.mental)
|
||||
return maneuvers
|
||||
}
|
||||
getAllManeuvers() {
|
||||
let maneuvers = this.items.filter(item => item.type == "maneuver")
|
||||
Hero6Utility.sortArrayObjectsByName(maneuvers)
|
||||
return maneuvers
|
||||
}
|
||||
getNonStockManeuvers() {
|
||||
@ -313,6 +339,11 @@ export class Hero6Actor extends Actor {
|
||||
Hero6Utility.sortArrayObjectsByName(list)
|
||||
return list
|
||||
}
|
||||
getMoneys() {
|
||||
let list = this.items.filter(item => item.type == "equipment" && item.system.subtype == "money");
|
||||
Hero6Utility.sortArrayObjectsByName(list)
|
||||
return list
|
||||
}
|
||||
getWeapons() {
|
||||
let list = this.items.filter(item => item.type == "equipment" && item.system.subtype == "weapon");
|
||||
Hero6Utility.sortArrayObjectsByName(list)
|
||||
@ -408,7 +439,7 @@ export class Hero6Actor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
async cleanCombat() {
|
||||
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() {
|
||||
await this.disableAbortAction()
|
||||
@ -481,7 +512,7 @@ export class Hero6Actor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getBaseInit(turn) {
|
||||
if ( turn != this.turn) {
|
||||
if (turn != this.turn) {
|
||||
let r = new Roll("1d6").roll({ async: false })
|
||||
this.currentInit = Number(this.system.characteristics.dex.initiative) + Number(((r.total / 10).toFixed(2)))
|
||||
this.turn = turn
|
||||
@ -516,8 +547,13 @@ export class Hero6Actor extends Actor {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareCharacValues(charac) {
|
||||
charac.total = charac.value
|
||||
charac.roll = 9 + Math.round((charac.value) / 5)
|
||||
if (charac.label == "OCV" || charac.label == "OMCV" ) {
|
||||
charac.total = charac.value
|
||||
charac.roll = 11 + charac.value
|
||||
} else {
|
||||
charac.total = charac.value
|
||||
charac.roll = 9 + Math.round((charac.value) / 5)
|
||||
}
|
||||
}
|
||||
prepareCharac() {
|
||||
let characs = duplicate(this.system.characteristics)
|
||||
@ -531,7 +567,7 @@ export class Hero6Actor extends Actor {
|
||||
if (key == "spd") {
|
||||
ch.phasesString = this.getPhasesString()
|
||||
}
|
||||
if (key =="pre") {
|
||||
if (key == "pre") {
|
||||
ch.presenceattack = duplicate(this.system.biodata.presenceattack)
|
||||
}
|
||||
}
|
||||
@ -605,6 +641,9 @@ export class Hero6Actor extends Actor {
|
||||
rollData.actorImg = this.img
|
||||
rollData.actorId = this.id
|
||||
rollData.img = this.img
|
||||
rollData.title = this.name
|
||||
rollData.subMode = "normal"
|
||||
rollData.characteristics = duplicate(this.system.characteristics)
|
||||
if (chKey) {
|
||||
rollData.charac = duplicate(this.system.characteristics[chKey])
|
||||
this.prepareCharacValues(rollData.charac)
|
||||
@ -623,12 +662,10 @@ export class Hero6Actor extends Actor {
|
||||
const ray = new Ray(token.object?.center || token.center, defenderToken.center)
|
||||
rollData.tokensDistance = canvas.grid.measureDistances([{ ray }], { gridSpaces: false })[0] / canvas.grid.grid.options.dimensions.distance
|
||||
} else {
|
||||
ui.notifications.info("No token connected to this actor, unable to compute distance.")
|
||||
return
|
||||
//ui.notifications.info("No token connected to this actor, unable to compute distance.")
|
||||
//return
|
||||
}
|
||||
if (defender) {
|
||||
rollData.forceAdvantage = defender.isAttackerAdvantage()
|
||||
rollData.advantageFromTarget = true
|
||||
}
|
||||
}
|
||||
console.log("ROLLDATA", rollData)
|
||||
@ -639,6 +676,7 @@ export class Hero6Actor extends Actor {
|
||||
rollPerception() {
|
||||
let rollData = this.getCommonRollData("int")
|
||||
rollData.isPerception = true
|
||||
rollData.title = "Perception roll"
|
||||
rollData.charac.roll = Number(rollData.charac.perceptionroll)
|
||||
rollData.mode = "perception"
|
||||
if (rollData.target) {
|
||||
@ -652,6 +690,7 @@ export class Hero6Actor extends Actor {
|
||||
rollCharac(chKey) {
|
||||
let rollData = this.getCommonRollData(chKey)
|
||||
rollData.mode = "charac"
|
||||
rollData.title = "Characteristic roll"
|
||||
if (rollData.target) {
|
||||
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
||||
return
|
||||
@ -663,12 +702,13 @@ export class Hero6Actor extends Actor {
|
||||
let item = this.items.get(itemId)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "item"
|
||||
rollData.title = Hero6Utility.upperFirst(item.type) + " - " + item.name
|
||||
rollData.item = duplicate(item)
|
||||
if (item.type == "skill") {
|
||||
this.prepareSkill(rollData.item)
|
||||
}
|
||||
if (item.type == "maneuver") {
|
||||
this.prepareManeuver(rollData.item)
|
||||
rollData.subMode = this.prepareManeuver(rollData.item)
|
||||
}
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
@ -681,11 +721,20 @@ export class Hero6Actor extends Actor {
|
||||
rollData.title = item.name
|
||||
rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(item.system.damage)
|
||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
//await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
|
||||
rollData.roll = myRoll
|
||||
rollData.result = myRoll.total
|
||||
rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll)
|
||||
|
||||
let mult
|
||||
if (item.system.damageeffect == "killing") { // As per issue #11
|
||||
mult = new Roll("1d3").roll({ async: false })
|
||||
rollData.killingMultiplier = mult.total
|
||||
rollData.stunValue = Number(myRoll.total) * (Number(mult.total) + (Number(item.system.stunx) || 0))
|
||||
} else {
|
||||
rollData.stunValue = myRoll.total
|
||||
}
|
||||
|
||||
let msgFlavor = await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-damage-result.hbs`, rollData)
|
||||
let msg = await rollData.roll.toMessage({
|
||||
@ -693,6 +742,11 @@ export class Hero6Actor extends Actor {
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
flavor: msgFlavor
|
||||
})
|
||||
|
||||
if (mult) {
|
||||
await Hero6Utility.showDiceSoNice(mult, game.settings.get("core", "rollMode"))
|
||||
}
|
||||
|
||||
rollData.roll = duplicate(rollData.roll) // Convert to object
|
||||
msg.setFlag("world", "rolldata", rollData)
|
||||
console.log("Rolldata result", rollData)
|
||||
@ -720,28 +774,6 @@ export class Hero6Actor extends Actor {
|
||||
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) {
|
||||
let skill = this.items.get(skillId)
|
||||
if (skill) {
|
||||
@ -765,34 +797,57 @@ export class Hero6Actor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollWeapon(weaponId) {
|
||||
async rollWeapon(weaponId) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
if (weapon) {
|
||||
weapon = duplicate(weapon)
|
||||
let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase())
|
||||
if (skill) {
|
||||
skill = duplicate(skill)
|
||||
Hero6Utility.updateSkill(skill)
|
||||
let abilityKey = skill.system.ability
|
||||
let rollData = this.getCommonRollData(abilityKey)
|
||||
rollData.mode = "weapon"
|
||||
rollData.skill = skill
|
||||
rollData.weapon = weapon
|
||||
rollData.img = weapon.img
|
||||
if (!rollData.forceDisadvantage) { // This is an attack, check if disadvantaged
|
||||
rollData.forceDisadvantage = this.isAttackDisadvantage()
|
||||
}
|
||||
/*if (rollData.weapon.system.isranged && rollData.tokensDistance > Hero6Utility.getWeaponMaxRange(rollData.weapon) ) {
|
||||
ui.notifications.warn(`Your target is out of range of your weapon (max: ${Hero6Utility.getWeaponMaxRange(rollData.weapon)} - current : ${rollData.tokensDistance})` )
|
||||
return
|
||||
}*/
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
||||
}
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.roll = 11 + (Number(this.system.characteristics.ocv.value) || 0) + (Number(weapon.system.ocv) || 0)
|
||||
rollData.subMode = "ocv"
|
||||
rollData.mode = "weapon"
|
||||
rollData.item = weapon
|
||||
rollData.img = weapon.img
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find the weapon " + weapon.name)
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
rollMentalManeuver(maneuverId) {
|
||||
let maneuver = this.items.get(maneuverId)
|
||||
if (maneuver) {
|
||||
maneuver = duplicate(maneuver)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.roll = 11 + (Number(this.system.characteristics.omcv.value) || 0) + (Number(maneuver.system.omcv) || 0)
|
||||
rollData.mode = "mentalmaneuver"
|
||||
rollData.item = maneuver
|
||||
rollData.img = maneuver.img
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find the maneuver " + maneuver.name)
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
rollPowerAttack(powerId ) {
|
||||
let power = this.items.get(powerId)
|
||||
if (power) {
|
||||
power = duplicate(power)
|
||||
let rollData = this.getCommonRollData()
|
||||
if (power.system.attackvalue == "ocv") {
|
||||
rollData.roll = 11 + (Number(this.system.characteristics.ocv.value) || 0) + (Number(power.system.ocv) || 0)
|
||||
rollData.subMode = "ocv"
|
||||
} else {
|
||||
rollData.roll = 11 + (Number(this.system.characteristics.omcv.value) || 0) + (Number(power.system.omcv) || 0)
|
||||
rollData.subMode = "omcv"
|
||||
}
|
||||
rollData.mode = "powerattack"
|
||||
rollData.item = power
|
||||
rollData.img = power.img
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find power " + power.name)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async startRoll(rollData) {
|
||||
let rollDialog = await Hero6RollDialog.create(this, rollData)
|
||||
|
@ -54,6 +54,9 @@ export class Hero6Combat extends Combat {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor(data, context) {
|
||||
|
||||
data.flags = { world: { turnData: { turnNumber: 0, segmentNumber: 12} } }
|
||||
|
||||
super(data, context);
|
||||
|
||||
this.turnNumber = 0;
|
||||
@ -175,6 +178,56 @@ export class Hero6Combat extends Combat {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
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() {
|
||||
let hasCombatants = false
|
||||
@ -230,12 +283,13 @@ export class Hero6Combat extends Combat {
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onCreateEmbeddedDocuments(type, documents, result, options, userId) {
|
||||
async _onCreateDescendantDocuments(type, documents, result, options, userId) {
|
||||
//console.log("Added...")
|
||||
await super._onCreateEmbeddedDocuments(type, documents, result, options, userId)
|
||||
await this.rebuildInitiative()
|
||||
if (game.user.isGM) {
|
||||
await super._onCreateEmbeddedDocuments(type, documents, result, options, userId)
|
||||
await this.rebuildInitiative()
|
||||
}
|
||||
}
|
||||
|
||||
/* --------------------------------------------
|
||||
_onUpdate(changed, options, userId) {
|
||||
}*/
|
||||
|
@ -10,7 +10,8 @@ export const Hero6_CONFIG = {
|
||||
maneuverTypes: {
|
||||
"general": "General",
|
||||
"offensive": "Offensive",
|
||||
"defensive": "Defensive"
|
||||
"defensive": "Defensive",
|
||||
"mental": "Mental"
|
||||
},
|
||||
rollCharac : {
|
||||
"str": "Strength",
|
||||
@ -21,6 +22,13 @@ export const Hero6_CONFIG = {
|
||||
"pre": "Presence",
|
||||
"manual": "Manual",
|
||||
},
|
||||
damageEffect: {
|
||||
"normal": "Normal",
|
||||
"killing": "Killing",
|
||||
"stunonly": "Stun Only",
|
||||
"bodyonly": "Body Only",
|
||||
"effect": "Effect"
|
||||
},
|
||||
skillType: {
|
||||
"agility": "Agility",
|
||||
"interaction": "Interaction",
|
||||
@ -29,6 +37,10 @@ export const Hero6_CONFIG = {
|
||||
"combat": "Combat" ,
|
||||
"custom": "Custom"
|
||||
},
|
||||
attackTypes: {
|
||||
"ocv": "OCV",
|
||||
"omcv": "OMCV"
|
||||
},
|
||||
powerEquipmentType: {
|
||||
"adjustment": "Adjustment",
|
||||
"mental": "Mental",
|
||||
@ -53,6 +65,5 @@ export const Hero6_CONFIG = {
|
||||
"standard": "Standard",
|
||||
"normal": "Normal",
|
||||
"killing": "Killing",
|
||||
"countbody": "Killing (Count BODY)"
|
||||
}
|
||||
}
|
@ -147,13 +147,13 @@ export class Hero6ItemSheet extends ItemSheet {
|
||||
});
|
||||
|
||||
html.find('.item-skill-profiency').click(ev => {
|
||||
this.object.update( {'system.levels': 12, 'system.cost': 2} )
|
||||
this.object.update( {'system.skillfamiliarity': false, 'system.cost': 2} )
|
||||
} )
|
||||
html.find('.item-skill-familiarity').click(ev => {
|
||||
this.object.update( {'system.levels': 10, 'system.cost': 1} )
|
||||
this.object.update( {'system.skillprofiency': false, 'system.cost': 1} )
|
||||
} )
|
||||
html.find('.item-skill-everyman').click(ev => {
|
||||
this.object.update( {'system.levels': 8, 'system.cost': 0} )
|
||||
this.object.update( {'system.cost': 0} )
|
||||
} )
|
||||
|
||||
html.find('.view-subitem').click(ev => {
|
||||
|
@ -61,7 +61,7 @@ Hooks.once("init", async function () {
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
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.registerSheet("fvtt-hero-system-6", Hero6ItemSheet, { makeDefault: true });
|
||||
|
@ -5,7 +5,7 @@ export class Hero6RollDialog extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, rollData) {
|
||||
|
||||
let options = { classes: ["Hero6Dialog"], width: 460, height: 'fit-content', 'z-index': 99999 };
|
||||
let options = { classes: ["Hero6Dialog"], width: 320, height: 'fit-content', 'z-index': 99999 };
|
||||
let html = await renderTemplate('systems/fvtt-hero-system-6/templates/apps/roll-dialog-generic.hbs', rollData);
|
||||
|
||||
return new Hero6RollDialog(actor, rollData, html, options);
|
||||
@ -14,7 +14,7 @@ export class Hero6RollDialog extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
constructor(actor, rollData, html, options, close = undefined) {
|
||||
let conf = {
|
||||
title: (rollData.mode == "skill") ? "Skill" : "Attribute",
|
||||
title: "Roll window",
|
||||
content: html,
|
||||
buttons: {
|
||||
roll: {
|
||||
|
@ -43,6 +43,9 @@ export class Hero6Utility {
|
||||
Handlebars.registerHelper('mul', function (a, b) {
|
||||
return Number(a) * Number(b);
|
||||
})
|
||||
Handlebars.registerHelper('add', function (a, b) {
|
||||
return (Number(a) || 0) + (Number(b) || 0);
|
||||
})
|
||||
Handlebars.registerHelper('locationLabel', function (key) {
|
||||
return __locationNames[key]
|
||||
})
|
||||
@ -52,6 +55,9 @@ export class Hero6Utility {
|
||||
}
|
||||
return false
|
||||
})
|
||||
Handlebars.registerHelper('fixNum', function (value) {
|
||||
return Number(value) || 0
|
||||
})
|
||||
Handlebars.registerHelper('checkInit', function (value) {
|
||||
let myValue = Number(value) || 0
|
||||
return myValue > 0
|
||||
@ -163,6 +169,7 @@ export class Hero6Utility {
|
||||
'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-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-item-cost.hbs',
|
||||
'systems/fvtt-hero-system-6/templates/partials/partial-power-equipment-cost.hbs',
|
||||
@ -342,6 +349,7 @@ export class Hero6Utility {
|
||||
// ability/save/size => 0
|
||||
let diceFormula = "3d6"
|
||||
let target = 10
|
||||
|
||||
if (rollData.charac) {
|
||||
target = rollData.charac.roll
|
||||
}
|
||||
@ -355,7 +363,7 @@ export class Hero6Utility {
|
||||
let myRoll = rollData.roll
|
||||
if (!myRoll) { // New rolls only of no rerolls
|
||||
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
|
||||
|
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000156
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:18:14.000526 7f5afddfa6c0 Recovering log #40
|
||||
2023/08/07-22:18:14.012956 7f5afddfa6c0 Delete type=3 #38
|
||||
2023/08/07-22:18:14.012989 7f5afddfa6c0 Delete type=0 #40
|
||||
2023/08/07-23:27:51.013130 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:51.013173 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:51.019258 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:51.040432 7f58677fe6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-23:27:51.040586 7f58677fe6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:42.990569 7f2deaffd6c0 Recovering log #154
|
||||
2023/08/29-16:25:43.182272 7f2deaffd6c0 Delete type=3 #152
|
||||
2023/08/29-16:25:43.182363 7f2deaffd6c0 Delete type=0 #154
|
||||
2023/08/29-16:40:28.792648 7f2b69bff6c0 Level-0 table #159: started
|
||||
2023/08/29-16:40:28.792681 7f2b69bff6c0 Level-0 table #159: 0 bytes OK
|
||||
2023/08/29-16:40:28.800879 7f2b69bff6c0 Delete type=0 #157
|
||||
2023/08/29-16:40:28.808756 7f2b69bff6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.808800 7f2b69bff6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:00:56.735452 7f5afd5f96c0 Recovering log #36
|
||||
2023/08/07-22:00:56.833916 7f5afd5f96c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.833991 7f5afd5f96c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.662583 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.662627 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.668688 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.668861 7f58677fe6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-22:18:10.668891 7f58677fe6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.520040 7f2deb7fe6c0 Recovering log #150
|
||||
2023/08/29-16:09:59.534549 7f2deb7fe6c0 Delete type=3 #148
|
||||
2023/08/29-16:09:59.534629 7f2deb7fe6c0 Delete type=0 #150
|
||||
2023/08/29-16:24:59.318786 7f2b69bff6c0 Level-0 table #155: started
|
||||
2023/08/29-16:24:59.318844 7f2b69bff6c0 Level-0 table #155: 0 bytes OK
|
||||
2023/08/29-16:24:59.325770 7f2b69bff6c0 Delete type=0 #153
|
||||
2023/08/29-16:24:59.342348 7f2b69bff6c0 Manual compaction at level-0 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.342392 7f2b69bff6c0 Manual compaction at level-1 from '!items!05yAsPAteobyHoVT' @ 72057594037927935 : 1 .. '!items!yFhVFTqzLKcqApBr' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/complications/MANIFEST-000156
Normal file
BIN
packs/complications/MANIFEST-000156
Normal file
Binary file not shown.
BIN
packs/equipment/000099.ldb
Normal file
BIN
packs/equipment/000099.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000158
|
||||
|
@ -1,7 +1,8 @@
|
||||
2023/08/07-22:18:13.969369 7f5afd5f96c0 Recovering log #40
|
||||
2023/08/07-22:18:13.978774 7f5afd5f96c0 Delete type=3 #38
|
||||
2023/08/07-22:18:13.978872 7f5afd5f96c0 Delete type=0 #40
|
||||
2023/08/07-23:27:50.976450 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:50.976502 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:50.982719 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:50.982828 7f58677fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:42.891384 7f2deb7fe6c0 Recovering log #156
|
||||
2023/08/29-16:25:42.986762 7f2deb7fe6c0 Delete type=3 #154
|
||||
2023/08/29-16:25:42.986861 7f2deb7fe6c0 Delete type=0 #156
|
||||
2023/08/29-16:40:28.741963 7f2b69bff6c0 Level-0 table #161: started
|
||||
2023/08/29-16:40:28.742013 7f2b69bff6c0 Level-0 table #161: 0 bytes OK
|
||||
2023/08/29-16:40:28.749774 7f2b69bff6c0 Delete type=0 #159
|
||||
2023/08/29-16:40:28.776172 7f2b69bff6c0 Manual compaction at level-0 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.776271 7f2b69bff6c0 Manual compaction at level-1 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,8 @@
|
||||
2023/08/07-22:00:56.587410 7f5afd5f96c0 Recovering log #36
|
||||
2023/08/07-22:00:56.639569 7f5afd5f96c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.639645 7f5afd5f96c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.624177 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.624214 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.632567 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.642835 7f58677fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.496232 7f2dea7fc6c0 Recovering log #152
|
||||
2023/08/29-16:09:59.514894 7f2dea7fc6c0 Delete type=3 #150
|
||||
2023/08/29-16:09:59.515025 7f2dea7fc6c0 Delete type=0 #152
|
||||
2023/08/29-16:24:59.281362 7f2b69bff6c0 Level-0 table #157: started
|
||||
2023/08/29-16:24:59.281398 7f2b69bff6c0 Level-0 table #157: 0 bytes OK
|
||||
2023/08/29-16:24:59.289117 7f2b69bff6c0 Delete type=0 #155
|
||||
2023/08/29-16:24:59.305137 7f2b69bff6c0 Manual compaction at level-0 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.312278 7f2b69bff6c0 Manual compaction at level-1 from '!folders!48DCB6UNXCsERTXK' @ 72057594037927935 : 1 .. '!items!zFQRJSrYV4E12NgW' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/equipment/MANIFEST-000158
Normal file
BIN
packs/equipment/MANIFEST-000158
Normal file
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000034
|
||||
MANIFEST-000150
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:18:14.000527 7f5afd5f96c0 Recovering log #32
|
||||
2023/08/07-22:18:14.012956 7f5afd5f96c0 Delete type=3 #30
|
||||
2023/08/07-22:18:14.012992 7f5afd5f96c0 Delete type=0 #32
|
||||
2023/08/07-23:27:51.026690 7f58677fe6c0 Level-0 table #37: started
|
||||
2023/08/07-23:27:51.026730 7f58677fe6c0 Level-0 table #37: 0 bytes OK
|
||||
2023/08/07-23:27:51.033892 7f58677fe6c0 Delete type=0 #35
|
||||
2023/08/07-23:27:51.040520 7f58677fe6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-23:27:51.040625 7f58677fe6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:43.164843 7f2debfff6c0 Recovering log #148
|
||||
2023/08/29-16:25:43.338845 7f2debfff6c0 Delete type=3 #146
|
||||
2023/08/29-16:25:43.338920 7f2debfff6c0 Delete type=0 #148
|
||||
2023/08/29-16:40:28.801017 7f2b69bff6c0 Level-0 table #153: started
|
||||
2023/08/29-16:40:28.801061 7f2b69bff6c0 Level-0 table #153: 0 bytes OK
|
||||
2023/08/29-16:40:28.808558 7f2b69bff6c0 Delete type=0 #151
|
||||
2023/08/29-16:40:28.808780 7f2b69bff6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.808811 7f2b69bff6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:00:56.752593 7f5afcdf86c0 Recovering log #28
|
||||
2023/08/07-22:00:56.851595 7f5afcdf86c0 Delete type=3 #26
|
||||
2023/08/07-22:00:56.851652 7f5afcdf86c0 Delete type=0 #28
|
||||
2023/08/07-22:18:10.668942 7f58677fe6c0 Level-0 table #33: started
|
||||
2023/08/07-22:18:10.668989 7f58677fe6c0 Level-0 table #33: 0 bytes OK
|
||||
2023/08/07-22:18:10.675320 7f58677fe6c0 Delete type=0 #31
|
||||
2023/08/07-22:18:10.691036 7f58677fe6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-22:18:10.691069 7f58677fe6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.537488 7f2debfff6c0 Recovering log #144
|
||||
2023/08/29-16:09:59.555680 7f2debfff6c0 Delete type=3 #142
|
||||
2023/08/29-16:09:59.555787 7f2debfff6c0 Delete type=0 #144
|
||||
2023/08/29-16:24:59.334341 7f2b69bff6c0 Level-0 table #149: started
|
||||
2023/08/29-16:24:59.334391 7f2b69bff6c0 Level-0 table #149: 0 bytes OK
|
||||
2023/08/29-16:24:59.342219 7f2b69bff6c0 Delete type=0 #147
|
||||
2023/08/29-16:24:59.342377 7f2b69bff6c0 Manual compaction at level-0 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.342413 7f2b69bff6c0 Manual compaction at level-1 from '!items!0HeZcvevni63brWf' @ 72057594037927935 : 1 .. '!items!yAT32VYV2aIWOBkK' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/maneuvers/MANIFEST-000150
Normal file
BIN
packs/maneuvers/MANIFEST-000150
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000156
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:18:14.015482 7f5afcdf86c0 Recovering log #40
|
||||
2023/08/07-22:18:14.031405 7f5afcdf86c0 Delete type=3 #38
|
||||
2023/08/07-22:18:14.031513 7f5afcdf86c0 Delete type=0 #40
|
||||
2023/08/07-23:27:51.019445 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:51.019492 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:51.026550 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:51.040470 7f58677fe6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-23:27:51.040607 7f58677fe6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:43.185065 7f2dea7fc6c0 Recovering log #154
|
||||
2023/08/29-16:25:43.371993 7f2dea7fc6c0 Delete type=3 #152
|
||||
2023/08/29-16:25:43.372074 7f2dea7fc6c0 Delete type=0 #154
|
||||
2023/08/29-16:40:28.785308 7f2b69bff6c0 Level-0 table #159: started
|
||||
2023/08/29-16:40:28.785364 7f2b69bff6c0 Level-0 table #159: 0 bytes OK
|
||||
2023/08/29-16:40:28.792517 7f2b69bff6c0 Delete type=0 #157
|
||||
2023/08/29-16:40:28.808742 7f2b69bff6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.808790 7f2b69bff6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:00:56.836453 7f5afd5f96c0 Recovering log #36
|
||||
2023/08/07-22:00:56.950488 7f5afd5f96c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.950642 7f5afd5f96c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.683235 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.683286 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.690928 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.691057 7f58677fe6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-22:18:10.691082 7f58677fe6c0 Manual compaction at level-1 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.537875 7f2dea7fc6c0 Recovering log #150
|
||||
2023/08/29-16:09:59.558667 7f2dea7fc6c0 Delete type=3 #148
|
||||
2023/08/29-16:09:59.558997 7f2dea7fc6c0 Delete type=0 #150
|
||||
2023/08/29-16:24:59.312392 7f2b69bff6c0 Level-0 table #155: started
|
||||
2023/08/29-16:24:59.312430 7f2b69bff6c0 Level-0 table #155: 0 bytes OK
|
||||
2023/08/29-16:24:59.318578 7f2b69bff6c0 Delete type=0 #153
|
||||
2023/08/29-16:24:59.342333 7f2b69bff6c0 Manual compaction at level-0 from '!items!L3vwlIh3oloE6A8W' @ 72057594037927935 : 1 .. '!items!yWTR7MCOtGWm1KCz' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.342384 7f2b69bff6c0 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-000156
Normal file
BIN
packs/perks/MANIFEST-000156
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/powers/000062.ldb
Normal file
BIN
packs/powers/000062.ldb
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000157
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:18:13.982354 7f5afd5f96c0 Recovering log #40
|
||||
2023/08/07-22:18:13.997957 7f5afd5f96c0 Delete type=3 #38
|
||||
2023/08/07-22:18:13.998008 7f5afd5f96c0 Delete type=0 #40
|
||||
2023/08/07-23:27:51.005564 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:51.005735 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:51.012861 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:51.013069 7f58677fe6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-23:27:51.013100 7f58677fe6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:42.990448 7f2deb7fe6c0 Recovering log #155
|
||||
2023/08/29-16:25:43.154128 7f2deb7fe6c0 Delete type=3 #153
|
||||
2023/08/29-16:25:43.154225 7f2deb7fe6c0 Delete type=0 #155
|
||||
2023/08/29-16:40:28.776406 7f2b69bff6c0 Level-0 table #160: started
|
||||
2023/08/29-16:40:28.776459 7f2b69bff6c0 Level-0 table #160: 0 bytes OK
|
||||
2023/08/29-16:40:28.785118 7f2b69bff6c0 Delete type=0 #158
|
||||
2023/08/29-16:40:28.808720 7f2b69bff6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.808771 7f2b69bff6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:00:56.642444 7f5afcdf86c0 Recovering log #36
|
||||
2023/08/07-22:00:56.750892 7f5afcdf86c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.750934 7f5afcdf86c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.655429 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.655482 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.662426 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.668849 7f58677fe6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-22:18:10.668882 7f58677fe6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.520160 7f2debfff6c0 Recovering log #151
|
||||
2023/08/29-16:09:59.534547 7f2debfff6c0 Delete type=3 #149
|
||||
2023/08/29-16:09:59.534665 7f2debfff6c0 Delete type=0 #151
|
||||
2023/08/29-16:24:59.305197 7f2b69bff6c0 Level-0 table #156: started
|
||||
2023/08/29-16:24:59.305251 7f2b69bff6c0 Level-0 table #156: 0 bytes OK
|
||||
2023/08/29-16:24:59.312157 7f2b69bff6c0 Delete type=0 #154
|
||||
2023/08/29-16:24:59.312296 7f2b69bff6c0 Manual compaction at level-0 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.312312 7f2b69bff6c0 Manual compaction at level-1 from '!items!3vinyVxuFdrQDCBo' @ 72057594037927935 : 1 .. '!items!zpF2QY4tx7qdBomQ' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/powers/MANIFEST-000157
Normal file
BIN
packs/powers/MANIFEST-000157
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000158
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:18:13.982353 7f5afddfa6c0 Recovering log #40
|
||||
2023/08/07-22:18:13.997971 7f5afddfa6c0 Delete type=3 #38
|
||||
2023/08/07-22:18:13.998032 7f5afddfa6c0 Delete type=0 #40
|
||||
2023/08/07-23:27:50.999438 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:50.999471 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:51.005436 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:51.013039 7f58677fe6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-23:27:51.013085 7f58677fe6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:42.891392 7f2dea7fc6c0 Recovering log #156
|
||||
2023/08/29-16:25:42.986777 7f2dea7fc6c0 Delete type=3 #154
|
||||
2023/08/29-16:25:42.986886 7f2dea7fc6c0 Delete type=0 #156
|
||||
2023/08/29-16:40:28.763206 7f2b69bff6c0 Level-0 table #161: started
|
||||
2023/08/29-16:40:28.763254 7f2b69bff6c0 Level-0 table #161: 0 bytes OK
|
||||
2023/08/29-16:40:28.775955 7f2b69bff6c0 Delete type=0 #159
|
||||
2023/08/29-16:40:28.776250 7f2b69bff6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.776293 7f2b69bff6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:00:56.642359 7f5afd5f96c0 Recovering log #36
|
||||
2023/08/07-22:00:56.733205 7f5afd5f96c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.733486 7f5afd5f96c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.649211 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.649245 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.655255 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.668835 7f58677fe6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-22:18:10.668872 7f58677fe6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.496231 7f2deb7fe6c0 Recovering log #152
|
||||
2023/08/29-16:09:59.514870 7f2deb7fe6c0 Delete type=3 #150
|
||||
2023/08/29-16:09:59.515006 7f2deb7fe6c0 Delete type=0 #152
|
||||
2023/08/29-16:24:59.297215 7f2b69bff6c0 Level-0 table #157: started
|
||||
2023/08/29-16:24:59.297268 7f2b69bff6c0 Level-0 table #157: 0 bytes OK
|
||||
2023/08/29-16:24:59.304916 7f2b69bff6c0 Delete type=0 #155
|
||||
2023/08/29-16:24:59.312266 7f2b69bff6c0 Manual compaction at level-0 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.312303 7f2b69bff6c0 Manual compaction at level-1 from '!items!0663RVbZRl0oZ0Dr' @ 72057594037927935 : 1 .. '!items!zLKcnLGEcMwECjni' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/skills/MANIFEST-000158
Normal file
BIN
packs/skills/MANIFEST-000158
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000156
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:18:14.015482 7f5afd5f96c0 Recovering log #40
|
||||
2023/08/07-22:18:14.034395 7f5afd5f96c0 Delete type=3 #38
|
||||
2023/08/07-22:18:14.034433 7f5afd5f96c0 Delete type=0 #40
|
||||
2023/08/07-23:27:51.034000 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:51.034031 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:51.040235 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:51.040547 7f58677fe6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-23:27:51.040656 7f58677fe6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:25:43.341031 7f2deb7fe6c0 Recovering log #154
|
||||
2023/08/29-16:25:43.476661 7f2deb7fe6c0 Delete type=3 #152
|
||||
2023/08/29-16:25:43.476735 7f2deb7fe6c0 Delete type=0 #154
|
||||
2023/08/29-16:40:28.808880 7f2b69bff6c0 Level-0 table #159: started
|
||||
2023/08/29-16:40:28.808911 7f2b69bff6c0 Level-0 table #159: 0 bytes OK
|
||||
2023/08/29-16:40:28.815205 7f2b69bff6c0 Delete type=0 #157
|
||||
2023/08/29-16:40:28.815419 7f2b69bff6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:40:28.815460 7f2b69bff6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2023/08/07-22:00:56.853665 7f5afcdf86c0 Recovering log #36
|
||||
2023/08/07-22:00:56.969522 7f5afcdf86c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.969559 7f5afcdf86c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.675457 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.675493 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.683073 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.691049 7f58677fe6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
2023/08/07-22:18:10.691077 7f58677fe6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:09:59.560765 7f2deaffd6c0 Recovering log #150
|
||||
2023/08/29-16:09:59.570734 7f2deaffd6c0 Delete type=3 #148
|
||||
2023/08/29-16:09:59.570804 7f2deaffd6c0 Delete type=0 #150
|
||||
2023/08/29-16:24:59.325881 7f2b69bff6c0 Level-0 table #155: started
|
||||
2023/08/29-16:24:59.325905 7f2b69bff6c0 Level-0 table #155: 0 bytes OK
|
||||
2023/08/29-16:24:59.334131 7f2b69bff6c0 Delete type=0 #153
|
||||
2023/08/29-16:24:59.342366 7f2b69bff6c0 Manual compaction at level-0 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
2023/08/29-16:24:59.342401 7f2b69bff6c0 Manual compaction at level-1 from '!items!1oojD2KMJsxNlMez' @ 72057594037927935 : 1 .. '!items!znoFgVzNQOCTGUBl' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/talents/MANIFEST-000156
Normal file
BIN
packs/talents/MANIFEST-000156
Normal file
Binary file not shown.
@ -1 +1 @@
|
||||
MANIFEST-000042
|
||||
MANIFEST-000086
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/07-22:18:13.969369 7f5afddfa6c0 Recovering log #40
|
||||
2023/08/07-22:18:13.978774 7f5afddfa6c0 Delete type=3 #38
|
||||
2023/08/07-22:18:13.978889 7f5afddfa6c0 Delete type=0 #40
|
||||
2023/08/07-23:27:50.992870 7f58677fe6c0 Level-0 table #45: started
|
||||
2023/08/07-23:27:50.992899 7f58677fe6c0 Level-0 table #45: 0 bytes OK
|
||||
2023/08/07-23:27:50.999291 7f58677fe6c0 Delete type=0 #43
|
||||
2023/08/07-23:27:51.013019 7f58677fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2023/08/24-15:57:43.392826 7fab4affd6c0 Recovering log #84
|
||||
2023/08/24-15:57:43.403060 7fab4affd6c0 Delete type=3 #82
|
||||
2023/08/24-15:57:43.403157 7fab4affd6c0 Delete type=0 #84
|
||||
2023/08/24-15:59:11.995583 7fab497fa6c0 Level-0 table #89: started
|
||||
2023/08/24-15:59:11.995614 7fab497fa6c0 Level-0 table #89: 0 bytes OK
|
||||
2023/08/24-15:59:12.004480 7fab497fa6c0 Delete type=0 #87
|
||||
2023/08/24-15:59:12.025495 7fab497fa6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,7 +1,7 @@
|
||||
2023/08/07-22:00:56.587421 7f5afcdf86c0 Recovering log #36
|
||||
2023/08/07-22:00:56.639569 7f5afcdf86c0 Delete type=3 #34
|
||||
2023/08/07-22:00:56.639646 7f5afcdf86c0 Delete type=0 #36
|
||||
2023/08/07-22:18:10.642928 7f58677fe6c0 Level-0 table #41: started
|
||||
2023/08/07-22:18:10.642973 7f58677fe6c0 Level-0 table #41: 0 bytes OK
|
||||
2023/08/07-22:18:10.649077 7f58677fe6c0 Delete type=0 #39
|
||||
2023/08/07-22:18:10.668818 7f58677fe6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
2023/08/24-15:09:37.452353 7fab4b7fe6c0 Recovering log #80
|
||||
2023/08/24-15:09:37.462595 7fab4b7fe6c0 Delete type=3 #78
|
||||
2023/08/24-15:09:37.462673 7fab4b7fe6c0 Delete type=0 #80
|
||||
2023/08/24-15:56:20.976153 7fab497fa6c0 Level-0 table #85: started
|
||||
2023/08/24-15:56:20.976179 7fab497fa6c0 Level-0 table #85: 0 bytes OK
|
||||
2023/08/24-15:56:20.984268 7fab497fa6c0 Delete type=0 #83
|
||||
2023/08/24-15:56:20.984458 7fab497fa6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs/weapons/MANIFEST-000086
Normal file
BIN
packs/weapons/MANIFEST-000086
Normal file
Binary file not shown.
@ -649,6 +649,11 @@ ul, li {
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
.content-center {
|
||||
align-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.attribut-value,
|
||||
.carac-value {
|
||||
flex-grow: 0;
|
||||
@ -816,10 +821,13 @@ ul, li {
|
||||
.roll-dialog-header {
|
||||
height: 52px;
|
||||
}
|
||||
|
||||
.dialog-roll-title {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.actor-icon {
|
||||
float: left;
|
||||
width: 48px;
|
||||
max-width: 48px;
|
||||
height: 48px;
|
||||
padding: 2px 6px 2px 2px;
|
||||
}
|
||||
@ -1147,8 +1155,8 @@ ul, li {
|
||||
}
|
||||
|
||||
#logo {
|
||||
content : url(../images/ui/crucible_game_logo.png);
|
||||
width: 100px;
|
||||
content : url(../images/ui/logo_hex_yellow_01.webp);
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
@ -1360,6 +1368,7 @@ Focus FOC: #ff0084
|
||||
flex-grow:1;
|
||||
max-width: 8rem;
|
||||
min-width: 8rem;
|
||||
text-align: start;
|
||||
}
|
||||
.item-field-text-long {
|
||||
flex-grow:1;
|
||||
@ -1410,7 +1419,12 @@ Focus FOC: #ff0084
|
||||
}
|
||||
.item-controls-fixed {
|
||||
min-width:2rem;
|
||||
max-width: 2rem;
|
||||
/*max-width: 2rem;*/
|
||||
}
|
||||
.item-controls-fixed-small {
|
||||
min-width:1rem;
|
||||
font-size: 0.8rem;
|
||||
/*max-width: 2rem;*/
|
||||
}
|
||||
.biodata-portrait {
|
||||
min-height: 512px;
|
||||
@ -1425,4 +1439,11 @@ Focus FOC: #ff0084
|
||||
}
|
||||
.margin-left-8 {
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
.maneuver-is-stock {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
.compendium .directory-list .directory-item .folder-header h3 {
|
||||
color:#000
|
||||
}
|
||||
|
21
system.json
21
system.json
@ -5,7 +5,7 @@
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"description": "Hero System v6 for FoundryVTT (Official)",
|
||||
"description": "Hero System 6E for FoundryVTT (Official)",
|
||||
"esmodules": [
|
||||
"modules/hero6-main.js"
|
||||
],
|
||||
@ -30,15 +30,6 @@
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Weapons",
|
||||
"name": "weapons",
|
||||
"path": "packs/weapons.db",
|
||||
"system": "fvtt-hero-system-6",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Skills",
|
||||
@ -100,15 +91,15 @@
|
||||
"styles": [
|
||||
"styles/simple.css"
|
||||
],
|
||||
"version": "11.0.2",
|
||||
"version": "11.0.20",
|
||||
"compatibility": {
|
||||
"minimum": "11",
|
||||
"verified": "11"
|
||||
},
|
||||
"title": "Hero System v6 for FoundrtVTT (Official)",
|
||||
"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.1.zip",
|
||||
"url": "https://www.uberwald.me/gitea/uberwald/",
|
||||
"title": "Hero System 6E Basic (Official)",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-hero-system-6/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-hero-system-6/archive/fvtt-hero-system-6-v11.0.20.zip",
|
||||
"url": "https://www.uberwald.me/public/uberwald/",
|
||||
"background": "systems/fvtt-hero-system-6/images/ui/hero_foundry_cover.webp",
|
||||
"id": "fvtt-hero-system-6"
|
||||
}
|
@ -1,7 +1,8 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": [
|
||||
"character"
|
||||
"character",
|
||||
"minion"
|
||||
],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
@ -309,6 +310,15 @@
|
||||
"movements"
|
||||
],
|
||||
"subactors": []
|
||||
},
|
||||
"minion": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"characteristics",
|
||||
"defenses",
|
||||
"movements"
|
||||
],
|
||||
"subactors": []
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
@ -344,9 +354,12 @@
|
||||
"levels": 0,
|
||||
"quantity": 1,
|
||||
"range": "",
|
||||
"damageeffect": "normal",
|
||||
"damage": "",
|
||||
"stunx": 0,
|
||||
"endurance": 0,
|
||||
"hasroll": false,
|
||||
"attackvalue": "ocv",
|
||||
"roll": 0,
|
||||
"computebody": false,
|
||||
"haseffectroll": false,
|
||||
@ -365,6 +378,8 @@
|
||||
"pha": "",
|
||||
"ocv": "",
|
||||
"dcv" : "",
|
||||
"omcv": "",
|
||||
"dmcv" : "",
|
||||
"isstock": false,
|
||||
"active": false
|
||||
},
|
||||
@ -406,7 +421,19 @@
|
||||
"subtype": "equipment",
|
||||
"value": 0,
|
||||
"weight": 0,
|
||||
"moneycost": 0
|
||||
"moneycost": 0,
|
||||
"ocv": 0,
|
||||
"omcv": 0,
|
||||
"dmcv": 0,
|
||||
"rmod": 0,
|
||||
"pd": 0,
|
||||
"ed": 0,
|
||||
"rpd": 0,
|
||||
"red": 0,
|
||||
"mentaldefense": 0,
|
||||
"powerdefense": 0,
|
||||
"flashdefense": 0,
|
||||
"otherdefense": 0
|
||||
},
|
||||
"attack": {
|
||||
"templates": [
|
||||
|
@ -4,68 +4,74 @@
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<div class="flexrow">
|
||||
|
||||
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
|
||||
|
||||
<div class="fixed-separator">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="flexcol">
|
||||
<h1 class="charname "><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
|
||||
|
||||
<div class="flexrow">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<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}}"
|
||||
data-dtype="String" />
|
||||
<input type="text" class="item-field-label-long4" name="system.biodata.alternateids"
|
||||
value="{{system.biodata.origin}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="flexrow item">
|
||||
<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" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-medium">Player</label>
|
||||
<input type="text" class="item-field-label-long3" name="system.biodata.player" value="{{system.biodata.player}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-medium">GM</label>
|
||||
<input type="text" class="item-field-label-long3" name="system.biodata.gm" value="{{system.biodata.gm}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-medium">Hair</label>
|
||||
<input type="text" class="item-field-label-long3" name="system.biodata.hair" value="{{system.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="flexrow item">
|
||||
<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" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-medium">Player</label>
|
||||
<input type="text" class="item-field-label-long3" name="system.biodata.player"
|
||||
value="{{system.biodata.player}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="item-field-label-medium">GM</label>
|
||||
<input type="text" class="item-field-label-long3" name="system.biodata.gm"
|
||||
value="{{system.biodata.gm}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-medium">Hair</label>
|
||||
<input type="text" class="item-field-label-long3" name="system.biodata.hair"
|
||||
value="{{system.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="flexrow item">
|
||||
<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" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-medium">Height</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.height" value="{{system.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-medium">Mass</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.mass" value="{{system.biodata.mass}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<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>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="flexrow item">
|
||||
<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" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-medium">Height</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.height"
|
||||
value="{{system.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="item-field-label-medium">Mass</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.mass"
|
||||
value="{{system.biodata.mass}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<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>
|
||||
|
||||
@ -73,19 +79,23 @@
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<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=""> </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=""> </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=""> </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=""> </label>
|
||||
</li>
|
||||
</ul>
|
||||
@ -117,88 +127,114 @@
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
|
||||
|
||||
<div class="grid grid2col">
|
||||
<div>
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item">
|
||||
<label class="item-field-label-medium">STR Dice</label>
|
||||
<a class="roll-lift-dice"><i class="fas fa-dice"></i>{{characteristics.str.strdice}}</a>
|
||||
<label class="item-field-label-short"> </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"> </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>
|
||||
</ul>
|
||||
|
||||
{{#each maneuvers as |mlist key|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long-img">
|
||||
<label class="">{{upperFirst key}} Maneuver</label>
|
||||
</span>
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">PHA</label>
|
||||
</span>
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">OCV</label>
|
||||
</span>
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">DCV</label>
|
||||
</span>
|
||||
<span class="item-field-text-long">
|
||||
<label class="short-label">Effects</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each mlist as |maneuver key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{maneuver._id}}">
|
||||
{{#each maneuvers as |mlist mtype|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long-img">
|
||||
<label class="">{{upperFirst mtype}} Maneuver</label>
|
||||
</span>
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">PHA</label>
|
||||
</span>
|
||||
|
||||
{{#if (eq mtype "mental")}}
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">OMCV</label>
|
||||
</span>
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">DMCV</label>
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">OCV</label>
|
||||
</span>
|
||||
<span class="item-field-label-very-short">
|
||||
<label class="short-label">DCV</label>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
<span class="item-field-text-long">
|
||||
<label class="short-label">Effects</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each mlist as |maneuver key|}}
|
||||
<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"
|
||||
src="{{maneuver.img}}" /></a>
|
||||
<span class="item-field-label-long">{{maneuver.name}}
|
||||
src="{{maneuver.img}}" />
|
||||
</a>
|
||||
<span class="item-field-label-long">
|
||||
<a class="roll-item"><i class="fas fa-dice"></i></a>
|
||||
{{maneuver.name}}
|
||||
</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.dcv}}</span>
|
||||
<span class="item-field-label-very-short content-center">{{maneuver.system.pha}}</span>
|
||||
{{#if (eq ../mtype "mental")}}
|
||||
<span class="item-field-label-very-short content-center">{{maneuver.system.omcv}}</span>
|
||||
<span class="item-field-label-very-short content-center">{{maneuver.system.dmcv}}</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-very-short content-center">{{maneuver.system.ocv}}</span>
|
||||
<span class="item-field-label-very-short content-center">{{maneuver.system.dcv}}</span>
|
||||
{{/if}}
|
||||
|
||||
<span class="item-field-text-long">{{maneuver.system.effects}}
|
||||
{{#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="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=""> </span>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="flexrow item">
|
||||
|
||||
<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>
|
||||
<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" />
|
||||
|
||||
<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>
|
||||
<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" />
|
||||
|
||||
<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>
|
||||
<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}}
|
||||
</a>
|
||||
|
||||
@ -209,24 +245,26 @@
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Vitals</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Val</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dmg</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Vitals</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Val</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dmg</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each characteristics as |char key|}}
|
||||
{{#if char.isvital}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
<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" name="system.characteristics.{{key}}.damage" value="{{char.damage}}" data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#each characteristics as |char key|}}
|
||||
{{#if char.isvital}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
<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" name="system.characteristics.{{key}}.damage"
|
||||
value="{{char.damage}}" data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
@ -236,57 +274,73 @@
|
||||
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Defenses</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Normal</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Resistant</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Defenses</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Normal</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Resistant</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each characteristics as |char key|}}
|
||||
{{#if char.isdefense}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
<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" name="system.characteristics.{{key}}.resistant" value="{{char.resistant}}" data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#each characteristics as |char key|}}
|
||||
{{#if char.isdefense}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
<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" name="system.characteristics.{{key}}.resistant"
|
||||
value="{{char.resistant}}" data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each defenses as |def key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-defense-key="{{key}}">
|
||||
{{#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" />
|
||||
{{else}}
|
||||
<span class="item-field-label-long">{{def.label}}</span>
|
||||
{{/if}}
|
||||
<input type="text" class="item-field-label-short update-field" 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 defenses as |def key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-defense-key="{{key}}">
|
||||
{{#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" />
|
||||
{{else}}
|
||||
<span class="item-field-label-long">{{def.label}}</span>
|
||||
{{/if}}
|
||||
<input type="text" class="item-field-label-short update-field"
|
||||
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}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="item">
|
||||
<label class="item-field-label-short">OCV</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">
|
||||
<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"> </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"> </label>
|
||||
|
||||
<label class="item-field-label-short">OMCV</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">
|
||||
<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"> </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 class="flexrow">
|
||||
@ -294,66 +348,75 @@
|
||||
<textarea rows="4" type="text" class="padd-right" name="system.biodata.combatskills"
|
||||
data-dtype="String">{{system.biodata.combatskills}}</textarea>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="grid grid2col">
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Senses</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Senses</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
</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 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>
|
||||
<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>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Movement</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Combat</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">NC</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="">Movement</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Combat</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">NC</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each characteristics as |char key|}}
|
||||
{{#if char.ismovement}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
<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" data-field-name="system.characteristics.{{key}}.ncvalue" value="{{char.ncvalue}}" data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#each characteristics as |char key|}}
|
||||
{{#if char.ismovement}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
<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"
|
||||
data-field-name="system.characteristics.{{key}}.ncvalue" value="{{char.ncvalue}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each movements as |move key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
{{#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" />
|
||||
{{else}}
|
||||
<span class="item-field-label-long">{{move.label}}</span>
|
||||
{{/if}}
|
||||
<input type="text" class="item-field-label-short update-field" 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 movements as |move key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||
{{#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" />
|
||||
{{else}}
|
||||
<span class="item-field-label-long">{{move.label}}</span>
|
||||
{{/if}}
|
||||
<input type="text" class="item-field-label-short update-field"
|
||||
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}}
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -363,28 +426,28 @@
|
||||
<div class="charac-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-medium">
|
||||
<label class="">Value</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="item-field-label-medium">CHAR</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Base</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Roll</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Notes</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
</li>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="">Value</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="item-field-label-medium">CHAR</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Base</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Roll</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Notes</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
</li>
|
||||
|
||||
{{#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}}
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@ -411,7 +474,8 @@
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-field-label-long">{{skill.name}}</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"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
@ -438,8 +502,9 @@
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{perk.img}}" /></a>
|
||||
<span class="item-name-label">{{perk.name}}</span>
|
||||
{{#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>
|
||||
{{#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>
|
||||
{{else}}
|
||||
<span class="item-field-label-short"> </span>
|
||||
{{/if}}
|
||||
@ -469,8 +534,9 @@
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{talent.img}}" /></a>
|
||||
<span class="item-name-label">{{talent.name}}</span>
|
||||
{{#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>
|
||||
{{#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>
|
||||
{{else}}
|
||||
<span class="item-field-label-short"> </span>
|
||||
{{/if}}
|
||||
@ -486,6 +552,10 @@
|
||||
{{!-- Maneuvers Tab --}}
|
||||
<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">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long-img">
|
||||
@ -500,29 +570,80 @@
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">DCV</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<span class="item-field-label-long3">
|
||||
<label class="short-label">Effects</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each nonstockmaneuvers as |maneuver key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{maneuver._id}}">
|
||||
{{#each allmaneuvers as |maneuver key|}}
|
||||
{{#if (ne maneuver.system.maneuvertype "mental")}}
|
||||
<div class="{{#if maneuver.system.isstock}}maneuver-list maneuver-is-stock{{/if}}">
|
||||
<li class="item stat flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{maneuver.img}}" /></a>
|
||||
<span class="item-field-label-long">{{maneuver.name}}</span>
|
||||
<span class="item-field-label-long"><a class="roll-item"><i class="fas fa-dice"></i>{{maneuver.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-short">{{maneuver.system.pha}}</span>
|
||||
<span class="item-field-label-short">{{maneuver.system.ocv}}</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"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-field-label-long-img">
|
||||
<label class="">Mental Maneuvers</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">PHA</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">OMCV</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">DMCV</label>
|
||||
</span>
|
||||
<span class="item-field-label-long3">
|
||||
<label class="short-label">Effects</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each allmaneuvers as |maneuver key|}}
|
||||
{{#if (eq maneuver.system.maneuvertype "mental")}}
|
||||
<div class="">
|
||||
<li class="item stat flexrow list-item list-item-shadow " data-item-id="{{maneuver._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{maneuver.img}}" /></a>
|
||||
<span class="item-field-label-long">
|
||||
<a class="roll-item"><i class="fas fa-dice"></i>
|
||||
{{maneuver.name}}
|
||||
</a>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-short content-center">{{maneuver.system.pha}}</span>
|
||||
<span class="item-field-label-short content-center">{{maneuver.system.omcv}}</span>
|
||||
<span class="item-field-label-short content-center">{{maneuver.system.dmcv}}</span>
|
||||
|
||||
<span class="item-field-label-long3">{{maneuver.system.effects}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
@ -555,13 +676,24 @@
|
||||
{{#each powers as |power key|}}
|
||||
<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"
|
||||
src="{{power.img}}" /></a>
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-field-label-short">{{power.system.cost}}</span>
|
||||
{{#if (eq system.typemodifier "attack")}}
|
||||
<span class="item-field-label-long3">
|
||||
<a class="roll-power-attack">
|
||||
<i class="fas fa-dice"></i>
|
||||
{{power.name}}
|
||||
</a>
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-long3">{{power.name}}</span>
|
||||
{{/if}}
|
||||
<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>
|
||||
{{#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>
|
||||
<span class="item-field-label-medium"><a class="roll-damage" data-type="power"><i
|
||||
class="fas fa-dice"></i>{{power.system.damage}}</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}}
|
||||
<span class="item-field-label-short"> </span>
|
||||
{{/if}}
|
||||
@ -592,8 +724,9 @@
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{comp.img}}" /></a>
|
||||
<span class="item-name-label">{{comp.name}}</span>
|
||||
{{#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>
|
||||
{{#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>
|
||||
{{else}}
|
||||
<span class="item-field-label-short"> </span>
|
||||
{{/if}}
|
||||
@ -616,13 +749,19 @@
|
||||
<span class="small-label">Total value : {{totalValue}}</span>
|
||||
</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="Money"
|
||||
items=moneys}}
|
||||
|
||||
{{> 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="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>
|
||||
|
||||
@ -677,7 +816,7 @@
|
||||
<div class="medium-editor ">
|
||||
{{editor notes1 target="system.biodata.notes1" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<h3>Notes 2 : </h3>
|
||||
<div class="small-editor">
|
||||
@ -705,7 +844,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -1,9 +1,11 @@
|
||||
<form class="skill-roll-dialog">
|
||||
<header class="roll-dialog-header">
|
||||
{{#if img}}
|
||||
<img class="actor-icon" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
{{/if}}
|
||||
<h1 class="dialog-roll-title roll-dialog-header">{{title}}</h1>
|
||||
<div class="flexrow">
|
||||
{{#if img}}
|
||||
<img class="actor-icon" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
{{/if}}
|
||||
<h2 class="dialog-roll-title roll-dialog-header">{{title}}</h2>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="flexcol">
|
||||
@ -15,6 +17,28 @@
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq subMode "ocv")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long margin-item-list">OCV : </span>
|
||||
<span class="item-field-label-medium margin-item-list">{{characteristics.ocv.value}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} OCV : </span>
|
||||
<span class="item-field-label-medium margin-item-list">{{fixNum item.system.ocv}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq subMode "omcv")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long margin-item-list">OMCV : </span>
|
||||
<span class="item-field-label-medium margin-item-list">{{characteristics.omcv.value}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} OMCV : </span>
|
||||
<span class="item-field-label-medium margin-item-list">{{fixNum item.system.omcv}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if item}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long margin-item-list">{{upperFirst item.type}} - {{upperFirst item.name}}</span>
|
||||
|
@ -7,12 +7,6 @@
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
|
@ -7,22 +7,35 @@
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
<li>Name : {{title}}</li>
|
||||
<li>Damage Effect: {{upperFirst item.system.damageeffect}}</li>
|
||||
<li>Damage formula : {{diceFormula}}</li>
|
||||
<li><strong>TOTAL : {{result}}</strong></li>
|
||||
<li><strong>Total formula : {{result}}</strong></li>
|
||||
|
||||
{{#if (eq item.system.damageeffect "normal")}}
|
||||
<li><strong>BODY : {{bodyValue}}</strong></li>
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq item.system.damageeffect "killing")}}
|
||||
<li><strong>1d3 result + STUNx : {{killingMultiplier}} + {{item.system.stunx}} = {{add killingMultiplier item.system.stunx}}</strong></li>
|
||||
<li><strong>STUN : {{stunValue}}</strong></li>
|
||||
<li><strong>BODY : {{result}}</strong></li>
|
||||
<li><strong>Penetrating BODY : {{bodyValue}}</strong></li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq item.system.damageeffect "stunonly")}}
|
||||
<li><strong>STUN : {{stunValue}}</strong></li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq item.system.damageeffect "bodyonly")}}
|
||||
<li><strong>BODY : {{bodyValue}}</strong></li>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -7,12 +7,6 @@
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
@ -23,6 +17,21 @@
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if weapon}}
|
||||
<li>Weapon : {{weapon.name}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if maneuver}}
|
||||
<li>Maneuver : {{maneuver.name}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if power}}
|
||||
<li>Power : {{power.name}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if rollSource}}
|
||||
<li>Roll : {{rollSource}}</li>
|
||||
{{/if}}
|
||||
@ -33,6 +42,12 @@
|
||||
|
||||
{{#if item}}
|
||||
<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 (exists bonusMalus)}}
|
||||
@ -42,7 +57,7 @@
|
||||
|
||||
<li><strong>TOTAL : {{result}}</strong>
|
||||
{{#if (exists margin)}}
|
||||
({{#if isSuccess}}Success!!{{else}}Failure!{{/if}})
|
||||
(<strong>{{#if isSuccess}}Success!!{{else}}Failure!{{/if}}</strong>)
|
||||
{{/if}}
|
||||
</li>
|
||||
|
||||
@ -51,7 +66,15 @@
|
||||
{{/if}}
|
||||
|
||||
{{#if (exists margin)}}
|
||||
<li><strong>Margin : {{margin}}</strong>
|
||||
{{#if (eq subMode "normal")}}
|
||||
<li><strong>Margin : {{margin}}</strong>
|
||||
{{/if}}
|
||||
{{#if (eq subMode "ocv")}}
|
||||
<li><strong>Margin (DCV Hit): {{margin}}</strong>
|
||||
{{/if}}
|
||||
{{#if (eq subMode "omcv")}}
|
||||
<li><strong>Margin (DMCV Hit): {{margin}}</strong>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
|
@ -7,12 +7,6 @@
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
|
@ -20,6 +20,8 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
|
||||
|
||||
</section>
|
||||
</form>
|
||||
|
@ -67,5 +67,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
|
||||
|
||||
</section>
|
||||
</form>
|
||||
|
@ -21,5 +21,8 @@
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
|
||||
|
||||
</section>
|
||||
</form>
|
||||
|
@ -24,5 +24,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
|
||||
|
||||
</section>
|
||||
</form>
|
||||
|
@ -56,8 +56,88 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-hasroll.hbs}}
|
||||
{{#if (eq system.subtype "weapon") }}
|
||||
<li class="flexrow"><label class="item-field-label-long">OCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.ocv" value="{{system.ocv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">OMCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.omcv" value="{{system.omcv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">RMod</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rmod" value="{{system.rmod}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.subtype "shield") }}
|
||||
<li class="flexrow"><label class="item-field-label-long">OCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.ocv" value="{{system.ocv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">DCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.dcv" value="{{system.dcv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">OMCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.omcv" value="{{system.omcv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">DMCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.dmcv" value="{{system.dmcv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.subtype "armor") }}
|
||||
<li class="flexrow"><label class="item-field-label-long">DCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.dcv" value="{{system.dcv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">DMCV</label>
|
||||
<input type="text" class="item-field-label-short" name="system.dmcv" value="{{system.dmcv}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if (or (eq system.subtype "armor") (eq system.subtype "shield")) }}
|
||||
<li class="flexrow"><label class="item-field-label-long">PD</label>
|
||||
<input type="text" class="item-field-label-short" name="system.pd" value="{{system.pd}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">ED</label>
|
||||
<input type="text" class="item-field-label-short" name="system.ed" value="{{system.ed}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">rPD</label>
|
||||
<input type="text" class="item-field-label-short" name="system.rpd" value="{{system.rpd}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">rED</label>
|
||||
<input type="text" class="item-field-label-short" name="system.red" value="{{system.red}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">Mental Defense</label>
|
||||
<input type="text" class="item-field-label-short" name="system.mentaldefense" value="{{system.mentaldefense}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">Power Defense</label>
|
||||
<input type="text" class="item-field-label-short" name="system.powerdefense" value="{{system.powerdefense}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">Flash Defense</label>
|
||||
<input type="text" class="item-field-label-short" name="system.flashdefense" value="{{system.flashdefense}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long">Other Defense</label>
|
||||
<input type="text" class="item-field-label-short" name="system.otherdefense" value="{{system.otherdefense}}"
|
||||
data-dtype="Number" />
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-hasroll.hbs}}
|
||||
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
|
||||
@ -65,5 +145,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-notes.hbs}}
|
||||
|
||||
</section>
|
||||
</form>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user