Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 59a891630e | |||
| 35b88b3914 | |||
| cb8bcfd9ea | |||
| eedce1a498 | |||
| 76a99fe33f |
@@ -2236,10 +2236,17 @@ i.lethalfantasy {
|
||||
.lethalfantasy-range-defense-dialog fieldset {
|
||||
padding: 4px;
|
||||
}
|
||||
.lethalfantasy-range-defense-dialog .fieldset-centered {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
.lethalfantasy-range-defense-dialog select {
|
||||
margin-left: 0.5rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.lethalfantasy-range-defense-dialog .field-section {
|
||||
display: flex;
|
||||
@@ -2247,9 +2254,9 @@ i.lethalfantasy {
|
||||
justify-content: left;
|
||||
}
|
||||
.lethalfantasy-range-defense-dialog .field-name {
|
||||
width: 4rem;
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
width: 5rem;
|
||||
min-width: 5rem;
|
||||
max-width: 5em;
|
||||
}
|
||||
.dialog-form .form-footer button {
|
||||
min-width: 14rem;
|
||||
|
||||
@@ -140,7 +140,7 @@ export default class LethalFantasyActorSheet extends HandlebarsApplicationMixin(
|
||||
if ("link" in event.target.dataset) return
|
||||
|
||||
const el = event.currentTarget.closest('[data-drag="true"]')
|
||||
const dragType = el.dataset.dragType
|
||||
const dragType = el?.dataset?.dragType
|
||||
|
||||
let dragData = {}
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
|
||||
const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event)
|
||||
|
||||
// Handle different data types
|
||||
if (data.type === "Item") {
|
||||
if (data.type === "Item") {
|
||||
const item = await fromUuid(data.uuid)
|
||||
return this._onDropItem(item)
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ export const INITIATIVE_DICE_CHOICES_PER_CLASS = {
|
||||
"cleric": [
|
||||
{ "name": "Asleep or totally distracted (1D12)", "value": "1D12" },
|
||||
{ "name": "Awake but unsuspecting (1D10)", "value": "1D10" },
|
||||
{ "name": "Declared Ready on Alert (1D)", "value": "1D" },
|
||||
{ "name": "Declared Ready on Alert (1)", "value": "1" },
|
||||
/*{ "name": "Aware of the enemy, can hear them but not see (1D6)", "value": "1D6" },
|
||||
{ "name": "Aware and know exactly where the enemy is (1D4)", "value": "1D4" }*/
|
||||
],
|
||||
|
||||
@@ -130,6 +130,7 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let hasGrantedDice = false
|
||||
let pointBlank = false
|
||||
let letItFly = false
|
||||
let saveSpell = false
|
||||
let beyondSkill = false
|
||||
let hasStaticModifier = false
|
||||
let hasExplode = true
|
||||
@@ -368,6 +369,9 @@ export default class LethalFantasyRoll extends Roll {
|
||||
"selectLetItFly": (event, button, dialog) => {
|
||||
letItFly = button.checked
|
||||
},
|
||||
"saveSpellCheck": (event, button, dialog) => {
|
||||
saveSpell = button.checked
|
||||
},
|
||||
"gotoToken": (event, button, dialog) => {
|
||||
let tokenId = $(button).data("tokenId")
|
||||
let token = canvas.tokens?.get(tokenId)
|
||||
@@ -384,6 +388,7 @@ export default class LethalFantasyRoll extends Roll {
|
||||
// If the user cancels the dialog, exit
|
||||
if (rollContext === null) return
|
||||
console.log("rollContext", rollContext, hasGrantedDice)
|
||||
rollContext.saveSpell = saveSpell // Update fucking flag
|
||||
|
||||
let fullModifier = 0
|
||||
let titleFormula = ""
|
||||
@@ -405,7 +410,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
if (hasStaticModifier) {
|
||||
modifierFormula += ` + ${options.rollTarget.staticModifier}`
|
||||
}
|
||||
// modifierFormula += ` + ${options.rollTarget.charModifier}`
|
||||
let sign = fullModifier < 0 ? "-" : "+"
|
||||
if (hasExplode) {
|
||||
titleFormula = `${dice}E ${sign} ${modifierFormula}`
|
||||
@@ -440,8 +444,11 @@ export default class LethalFantasyRoll extends Roll {
|
||||
}
|
||||
|
||||
// Specific pain/poison/contagion case
|
||||
if (options.rollType === "save" && (options.rollTarget.rollKey === "pain" || options.rollTarget.rollKey === "paincourage" || options.rollTarget.rollKey === "poison" || options.rollTarget.rollKey === "contagion")) {
|
||||
if (options.rollType === "save" && (options.rollTarget.rollKey === "poison" || options.rollTarget.rollKey === "contagion")) {
|
||||
hasD30 = false
|
||||
hasStaticModifier = true
|
||||
modifierFormula = ` + ${Math.abs(fullModifier)}`
|
||||
titleFormula = `${dice}E + ${Math.abs(fullModifier)}`
|
||||
}
|
||||
|
||||
if (letItFly) {
|
||||
@@ -620,7 +627,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
fieldRollMode,
|
||||
rollModes
|
||||
}
|
||||
console.log("CTX", dialogContext)
|
||||
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-lethal-fantasy/templates/roll-initiative-dialog.hbs", dialogContext)
|
||||
|
||||
@@ -655,7 +661,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let combat = game.combats.get(options.combatId)
|
||||
combat.updateEmbeddedDocuments("Combatant", [{ _id: options.combatantId, initiative: initRoll.total, 'system.progressionCount': 0 }]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* ***********************************************************/
|
||||
@@ -918,9 +923,9 @@ export default class LethalFantasyRoll extends Roll {
|
||||
}
|
||||
|
||||
/* ***********************************************************/
|
||||
static async promptRangedDefense(rollTarget) {
|
||||
static async promptRangedDefense(options = {}) {
|
||||
|
||||
const rollModes = foundry.utils.duplicate(CONFIG.Dice.rollModes); // v12 : Object.fromEntries(Object.entries(CONFIG.Dice.rollModes).map(([key, value]) => [key, game.i18n.localize(value)]))
|
||||
const rollModes = foundry.utils.duplicate(CONFIG.Dice.rollModes);
|
||||
const fieldRollMode = new foundry.data.fields.StringField({
|
||||
choices: rollModes,
|
||||
blank: false,
|
||||
@@ -935,13 +940,12 @@ export default class LethalFantasyRoll extends Roll {
|
||||
attackerAimChoices: SYSTEM.ATTACKER_AIM_CHOICES,
|
||||
movement: "none",
|
||||
moveDirection: "none",
|
||||
size: "medium",
|
||||
size: "+5",
|
||||
range: "short",
|
||||
attackerAim: "simple",
|
||||
fieldRollMode,
|
||||
rollModes
|
||||
}
|
||||
console.log("CTX", dialogContext)
|
||||
|
||||
const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-lethal-fantasy/templates/range-defense-dialog.hbs", dialogContext)
|
||||
|
||||
@@ -979,7 +983,7 @@ export default class LethalFantasyRoll extends Roll {
|
||||
if (rollContext.range === "beyondskill") {
|
||||
rollContext.movement = rollContext.movement.replace("kh", "")
|
||||
rollContext.movement = rollContext.movement.replace("kl", "")
|
||||
rollContext.movement += "kh" // Add the kl to the movement (disfavor for point blank range)
|
||||
rollContext.movement += "kh" // Add the kl to the movement (favor for point blank range)
|
||||
rollContext.range = "+11"
|
||||
}
|
||||
|
||||
@@ -987,19 +991,19 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let fullModifier = Number(rollContext.moveDirection) +
|
||||
Number(rollContext.size) +
|
||||
Number(rollContext.range) +
|
||||
Number(rollContext.attackerAim)
|
||||
console.log("Modifier", fullModifier)
|
||||
Number(rollContext?.attackerAim || 0)
|
||||
|
||||
let modifierFormula
|
||||
if (fullModifier === 0) {
|
||||
modifierFormula = "0"
|
||||
} else {
|
||||
let modAbs = Math.abs(fullModifier)
|
||||
modifierFormula = `${modAbs}`
|
||||
modifierFormula = `D${modAbs + 1} -1`
|
||||
}
|
||||
|
||||
let rollData = { ...rollContext }
|
||||
let options = { ...rollContext }
|
||||
// Merge rollContext object into options object
|
||||
options = { ...options, ...rollContext }
|
||||
options.rollName = "Ranged Defense"
|
||||
|
||||
const rollBase = new this(rollContext.movement, options.data, rollData)
|
||||
@@ -1009,7 +1013,15 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let rollD30 = await new Roll("1D30").evaluate()
|
||||
options.D30result = rollD30.total
|
||||
|
||||
|
||||
let badResult = 0
|
||||
if (rollContext.movement.includes("kh")) {
|
||||
rollData.favor = "favor"
|
||||
badResult = Math.min(rollBase.terms[0].results[0].result, rollBase.terms[0].results[1]?.result || 20)
|
||||
}
|
||||
if (rollContext.movement.includes("kl")) {
|
||||
rollData.favor = "disfavor"
|
||||
badResult = Math.max(rollBase.terms[0].results[0].result, rollBase.terms[0].results[1]?.result || 1)
|
||||
}
|
||||
let dice = rollContext.movement
|
||||
let maxValue = 20 // As per latest changes (was : Number(dice.match(/\d+$/)[0])
|
||||
let rollTotal = -1
|
||||
@@ -1035,15 +1047,16 @@ export default class LethalFantasyRoll extends Roll {
|
||||
} else {
|
||||
rollTotal = diceSum
|
||||
}
|
||||
|
||||
rollBase.options = { ...rollBase.options, ...options }
|
||||
rollBase.options.resultType = resultType
|
||||
rollBase.options.rollTotal = rollTotal
|
||||
rollBase.options.diceResults = diceResults
|
||||
rollBase.options.rollTarget = options.rollTarget
|
||||
rollBase.options.titleFormula = `${dice}E + ${modifierFormula}`
|
||||
rollBase.options.titleFormula = `1D20E + ${modifierFormula}`
|
||||
rollBase.options.D30result = options.D30result
|
||||
rollBase.options.rollName = "Ranged Defense"
|
||||
|
||||
rollBase.options.badResult = badResult
|
||||
rollBase.options.rollData = foundry.utils.duplicate(rollData)
|
||||
/**
|
||||
* A hook event that fires after the roll has been made.
|
||||
* @function
|
||||
|
||||
@@ -179,13 +179,13 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
|
||||
if (!SYSTEM.MORTAL_CHOICES[data.biodata.mortal]) {
|
||||
for (let key in SYSTEM.MORTAL_CHOICES) {
|
||||
let mortal = SYSTEM.MORTAL_CHOICES[key]
|
||||
if ( mortal.label.toLowerCase() === data.biodata.mortal.toLowerCase()) {
|
||||
if (mortal.label.toLowerCase() === data.biodata.mortal.toLowerCase()) {
|
||||
data.biodata.mortal = mortal.id
|
||||
}
|
||||
if ( data.biodata.mortal.toLowerCase().includes("shire")) {
|
||||
if (data.biodata.mortal.toLowerCase().includes("shire")) {
|
||||
data.biodata.mortal = "halflings"
|
||||
}
|
||||
if ( data.biodata.mortal.toLowerCase().includes("human")) {
|
||||
if (data.biodata.mortal.toLowerCase().includes("human")) {
|
||||
data.biodata.mortal = "mankind"
|
||||
}
|
||||
}
|
||||
@@ -235,8 +235,8 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
|
||||
this.saves.toughness.value = conDef.toughness_save + this.modifiers.saveModifier
|
||||
this.challenges.dying.value = conDef.stabilization_dice
|
||||
|
||||
this.saves.contagion.value = this.characteristics.con.value + this.modifiers.saveModifier
|
||||
this.saves.poison.value = this.characteristics.con.value + this.modifiers.saveModifier
|
||||
this.saves.contagion.value = this.characteristics.con.value;// + this.modifiers.saveModifier
|
||||
this.saves.poison.value = this.characteristics.con.value; // + this.modifiers.saveModifier
|
||||
|
||||
this.combat.attackModifier = 0
|
||||
for (let chaKey of SYSTEM.CHARACTERISTIC_ATTACK) {
|
||||
|
||||
@@ -1 +1 @@
|
||||
MANIFEST-000408
|
||||
MANIFEST-000424
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:59.829367 7f811affd6c0 Recovering log #406
|
||||
2025/09/09-20:04:59.839654 7f811affd6c0 Delete type=3 #404
|
||||
2025/09/09-20:04:59.839707 7f811affd6c0 Delete type=0 #406
|
||||
2025/09/09-20:14:01.132105 7f811a7fc6c0 Level-0 table #411: started
|
||||
2025/09/09-20:14:01.132136 7f811a7fc6c0 Level-0 table #411: 0 bytes OK
|
||||
2025/09/09-20:14:01.139097 7f811a7fc6c0 Delete type=0 #409
|
||||
2025/09/09-20:14:01.170651 7f811a7fc6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:14:01.170691 7f811a7fc6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:24:47.271364 7f7d00dfa6c0 Recovering log #422
|
||||
2025/09/20-09:24:47.284417 7f7d00dfa6c0 Delete type=3 #420
|
||||
2025/09/20-09:24:47.284476 7f7d00dfa6c0 Delete type=0 #422
|
||||
2025/09/20-09:32:46.867336 7f7cf9fff6c0 Level-0 table #427: started
|
||||
2025/09/20-09:32:46.867378 7f7cf9fff6c0 Level-0 table #427: 0 bytes OK
|
||||
2025/09/20-09:32:46.873522 7f7cf9fff6c0 Delete type=0 #425
|
||||
2025/09/20-09:32:46.886330 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:32:46.886530 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:40.803409 7f8120dfa6c0 Recovering log #402
|
||||
2025/09/09-20:04:40.813179 7f8120dfa6c0 Delete type=3 #400
|
||||
2025/09/09-20:04:40.813231 7f8120dfa6c0 Delete type=0 #402
|
||||
2025/09/09-20:04:50.082984 7f811a7fc6c0 Level-0 table #407: started
|
||||
2025/09/09-20:04:50.083011 7f811a7fc6c0 Level-0 table #407: 0 bytes OK
|
||||
2025/09/09-20:04:50.088948 7f811a7fc6c0 Delete type=0 #405
|
||||
2025/09/09-20:04:50.102813 7f811a7fc6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:04:50.102846 7f811a7fc6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-21:01:58.948341 7f7cfaffd6c0 Recovering log #418
|
||||
2025/09/19-21:01:58.990053 7f7cfaffd6c0 Delete type=3 #416
|
||||
2025/09/19-21:01:58.990118 7f7cfaffd6c0 Delete type=0 #418
|
||||
2025/09/19-22:28:27.055322 7f7cf9fff6c0 Level-0 table #423: started
|
||||
2025/09/19-22:28:27.055429 7f7cf9fff6c0 Level-0 table #423: 0 bytes OK
|
||||
2025/09/19-22:28:27.062766 7f7cf9fff6c0 Delete type=0 #421
|
||||
2025/09/19-22:28:27.082558 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-22:28:27.082605 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000407
|
||||
MANIFEST-000424
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
2025/09/09-20:04:59.843330 7f811bfff6c0 Recovering log #405
|
||||
2025/09/09-20:04:59.853031 7f811bfff6c0 Delete type=3 #403
|
||||
2025/09/09-20:04:59.853123 7f811bfff6c0 Delete type=0 #405
|
||||
2025/09/09-20:14:01.039360 7f811a7fc6c0 Level-0 table #410: started
|
||||
2025/09/09-20:14:01.042968 7f811a7fc6c0 Level-0 table #410: 15906 bytes OK
|
||||
2025/09/09-20:14:01.050037 7f811a7fc6c0 Delete type=0 #408
|
||||
2025/09/09-20:14:01.083045 7f811a7fc6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:14:01.083115 7f811a7fc6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at '!items!zjvGljrLk5SshC9D' @ 152 : 0
|
||||
2025/09/09-20:14:01.083123 7f811a7fc6c0 Compacting 1@1 + 1@2 files
|
||||
2025/09/09-20:14:01.086586 7f811a7fc6c0 Generated table #411@1: 32 keys, 15258 bytes
|
||||
2025/09/09-20:14:01.086603 7f811a7fc6c0 Compacted 1@1 + 1@2 files => 15258 bytes
|
||||
2025/09/09-20:14:01.094593 7f811a7fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2025/09/09-20:14:01.094890 7f811a7fc6c0 Delete type=2 #322
|
||||
2025/09/09-20:14:01.095210 7f811a7fc6c0 Delete type=2 #410
|
||||
2025/09/09-20:14:01.122172 7f811a7fc6c0 Manual compaction at level-1 from '!items!zjvGljrLk5SshC9D' @ 152 : 0 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:24:47.288998 7f7cfb7fe6c0 Recovering log #422
|
||||
2025/09/20-09:24:47.299397 7f7cfb7fe6c0 Delete type=3 #420
|
||||
2025/09/20-09:24:47.299460 7f7cfb7fe6c0 Delete type=0 #422
|
||||
2025/09/20-09:32:46.860990 7f7cf9fff6c0 Level-0 table #427: started
|
||||
2025/09/20-09:32:46.861071 7f7cf9fff6c0 Level-0 table #427: 0 bytes OK
|
||||
2025/09/20-09:32:46.867149 7f7cf9fff6c0 Delete type=0 #425
|
||||
2025/09/20-09:32:46.886314 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:32:46.886448 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:40.816586 7f811affd6c0 Recovering log #401
|
||||
2025/09/09-20:04:40.826708 7f811affd6c0 Delete type=3 #399
|
||||
2025/09/09-20:04:40.826778 7f811affd6c0 Delete type=0 #401
|
||||
2025/09/09-20:04:50.089056 7f811a7fc6c0 Level-0 table #406: started
|
||||
2025/09/09-20:04:50.089094 7f811a7fc6c0 Level-0 table #406: 0 bytes OK
|
||||
2025/09/09-20:04:50.095242 7f811a7fc6c0 Delete type=0 #404
|
||||
2025/09/09-20:04:50.102822 7f811a7fc6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:04:50.102852 7f811a7fc6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-21:01:58.995284 7f7cfbfff6c0 Recovering log #418
|
||||
2025/09/19-21:01:59.036400 7f7cfbfff6c0 Delete type=3 #416
|
||||
2025/09/19-21:01:59.036480 7f7cfbfff6c0 Delete type=0 #418
|
||||
2025/09/19-22:28:27.076046 7f7cf9fff6c0 Level-0 table #423: started
|
||||
2025/09/19-22:28:27.076085 7f7cf9fff6c0 Level-0 table #423: 0 bytes OK
|
||||
2025/09/19-22:28:27.082428 7f7cf9fff6c0 Delete type=0 #421
|
||||
2025/09/19-22:28:27.082612 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-22:28:27.082639 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs-system/lf-gifts/MANIFEST-000424
Normal file
BIN
packs-system/lf-gifts/MANIFEST-000424
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000407
|
||||
MANIFEST-000424
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
2025/09/09-20:04:59.816534 7f8120dfa6c0 Recovering log #405
|
||||
2025/09/09-20:04:59.826062 7f8120dfa6c0 Delete type=3 #403
|
||||
2025/09/09-20:04:59.826148 7f8120dfa6c0 Delete type=0 #405
|
||||
2025/09/09-20:14:01.064807 7f811a7fc6c0 Level-0 table #410: started
|
||||
2025/09/09-20:14:01.070719 7f811a7fc6c0 Level-0 table #410: 149145 bytes OK
|
||||
2025/09/09-20:14:01.076657 7f811a7fc6c0 Delete type=0 #408
|
||||
2025/09/09-20:14:01.083085 7f811a7fc6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:14:01.111093 7f811a7fc6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at '!items!zt8s7564ep1La4XQ' @ 612 : 0
|
||||
2025/09/09-20:14:01.111103 7f811a7fc6c0 Compacting 1@1 + 1@2 files
|
||||
2025/09/09-20:14:01.115854 7f811a7fc6c0 Generated table #411@1: 88 keys, 116881 bytes
|
||||
2025/09/09-20:14:01.115886 7f811a7fc6c0 Compacted 1@1 + 1@2 files => 116881 bytes
|
||||
2025/09/09-20:14:01.121744 7f811a7fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2025/09/09-20:14:01.121874 7f811a7fc6c0 Delete type=2 #322
|
||||
2025/09/09-20:14:01.122036 7f811a7fc6c0 Delete type=2 #410
|
||||
2025/09/09-20:14:01.122196 7f811a7fc6c0 Manual compaction at level-1 from '!items!zt8s7564ep1La4XQ' @ 612 : 0 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:24:47.256899 7f7cfaffd6c0 Recovering log #422
|
||||
2025/09/20-09:24:47.266896 7f7cfaffd6c0 Delete type=3 #420
|
||||
2025/09/20-09:24:47.267003 7f7cfaffd6c0 Delete type=0 #422
|
||||
2025/09/20-09:32:46.873729 7f7cf9fff6c0 Level-0 table #427: started
|
||||
2025/09/20-09:32:46.873757 7f7cf9fff6c0 Level-0 table #427: 0 bytes OK
|
||||
2025/09/20-09:32:46.880314 7f7cf9fff6c0 Delete type=0 #425
|
||||
2025/09/20-09:32:46.886342 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:32:46.886583 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:40.790103 7f811b7fe6c0 Recovering log #401
|
||||
2025/09/09-20:04:40.799986 7f811b7fe6c0 Delete type=3 #399
|
||||
2025/09/09-20:04:40.800061 7f811b7fe6c0 Delete type=0 #401
|
||||
2025/09/09-20:04:50.076859 7f811a7fc6c0 Level-0 table #406: started
|
||||
2025/09/09-20:04:50.076908 7f811a7fc6c0 Level-0 table #406: 0 bytes OK
|
||||
2025/09/09-20:04:50.082849 7f811a7fc6c0 Delete type=0 #404
|
||||
2025/09/09-20:04:50.102802 7f811a7fc6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:04:50.102835 7f811a7fc6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-21:01:58.905694 7f7d00dfa6c0 Recovering log #418
|
||||
2025/09/19-21:01:58.943958 7f7d00dfa6c0 Delete type=3 #416
|
||||
2025/09/19-21:01:58.944064 7f7d00dfa6c0 Delete type=0 #418
|
||||
2025/09/19-22:28:27.069590 7f7cf9fff6c0 Level-0 table #423: started
|
||||
2025/09/19-22:28:27.069620 7f7cf9fff6c0 Level-0 table #423: 0 bytes OK
|
||||
2025/09/19-22:28:27.075890 7f7cf9fff6c0 Delete type=0 #421
|
||||
2025/09/19-22:28:27.082581 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-22:28:27.082657 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs-system/lf-skills/MANIFEST-000424
Normal file
BIN
packs-system/lf-skills/MANIFEST-000424
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000107
|
||||
MANIFEST-000124
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
2025/09/09-20:04:59.867080 7f811b7fe6c0 Recovering log #105
|
||||
2025/09/09-20:04:59.877643 7f811b7fe6c0 Delete type=3 #103
|
||||
2025/09/09-20:04:59.877696 7f811b7fe6c0 Delete type=0 #105
|
||||
2025/09/09-20:14:01.050289 7f811a7fc6c0 Level-0 table #110: started
|
||||
2025/09/09-20:14:01.058207 7f811a7fc6c0 Level-0 table #110: 430019 bytes OK
|
||||
2025/09/09-20:14:01.064385 7f811a7fc6c0 Delete type=0 #108
|
||||
2025/09/09-20:14:01.083065 7f811a7fc6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:14:01.095323 7f811a7fc6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at '!items!zKOpU34oLziGJW6y' @ 639 : 0
|
||||
2025/09/09-20:14:01.095336 7f811a7fc6c0 Compacting 1@1 + 1@2 files
|
||||
2025/09/09-20:14:01.103834 7f811a7fc6c0 Generated table #111@1: 260 keys, 421724 bytes
|
||||
2025/09/09-20:14:01.103860 7f811a7fc6c0 Compacted 1@1 + 1@2 files => 421724 bytes
|
||||
2025/09/09-20:14:01.110575 7f811a7fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
||||
2025/09/09-20:14:01.110756 7f811a7fc6c0 Delete type=2 #22
|
||||
2025/09/09-20:14:01.110964 7f811a7fc6c0 Delete type=2 #110
|
||||
2025/09/09-20:14:01.122184 7f811a7fc6c0 Manual compaction at level-1 from '!items!zKOpU34oLziGJW6y' @ 639 : 0 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:24:47.318521 7f7cfaffd6c0 Recovering log #122
|
||||
2025/09/20-09:24:47.328528 7f7cfaffd6c0 Delete type=3 #120
|
||||
2025/09/20-09:24:47.328622 7f7cfaffd6c0 Delete type=0 #122
|
||||
2025/09/20-09:32:46.909549 7f7cf9fff6c0 Level-0 table #127: started
|
||||
2025/09/20-09:32:46.909792 7f7cf9fff6c0 Level-0 table #127: 0 bytes OK
|
||||
2025/09/20-09:32:46.915753 7f7cf9fff6c0 Delete type=0 #125
|
||||
2025/09/20-09:32:46.934449 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:32:46.934489 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:40.841664 7f8120dfa6c0 Recovering log #101
|
||||
2025/09/09-20:04:40.852508 7f8120dfa6c0 Delete type=3 #99
|
||||
2025/09/09-20:04:40.852585 7f8120dfa6c0 Delete type=0 #101
|
||||
2025/09/09-20:04:50.121356 7f811a7fc6c0 Level-0 table #106: started
|
||||
2025/09/09-20:04:50.121387 7f811a7fc6c0 Level-0 table #106: 0 bytes OK
|
||||
2025/09/09-20:04:50.127905 7f811a7fc6c0 Delete type=0 #104
|
||||
2025/09/09-20:04:50.128027 7f811a7fc6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:04:50.128057 7f811a7fc6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-21:01:59.113262 7f7cfaffd6c0 Recovering log #118
|
||||
2025/09/19-21:01:59.152822 7f7cfaffd6c0 Delete type=3 #116
|
||||
2025/09/19-21:01:59.152924 7f7cfaffd6c0 Delete type=0 #118
|
||||
2025/09/19-22:28:27.089546 7f7cf9fff6c0 Level-0 table #123: started
|
||||
2025/09/19-22:28:27.089602 7f7cf9fff6c0 Level-0 table #123: 0 bytes OK
|
||||
2025/09/19-22:28:27.095855 7f7cf9fff6c0 Delete type=0 #121
|
||||
2025/09/19-22:28:27.116632 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-22:28:27.145745 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
BIN
packs-system/lf-spells-miracles/MANIFEST-000124
Normal file
BIN
packs-system/lf-spells-miracles/MANIFEST-000124
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
MANIFEST-000407
|
||||
MANIFEST-000423
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:59.855289 7f8120dfa6c0 Recovering log #405
|
||||
2025/09/09-20:04:59.864565 7f8120dfa6c0 Delete type=3 #403
|
||||
2025/09/09-20:04:59.864636 7f8120dfa6c0 Delete type=0 #405
|
||||
2025/09/09-20:14:01.076905 7f811a7fc6c0 Level-0 table #410: started
|
||||
2025/09/09-20:14:01.076943 7f811a7fc6c0 Level-0 table #410: 0 bytes OK
|
||||
2025/09/09-20:14:01.082931 7f811a7fc6c0 Delete type=0 #408
|
||||
2025/09/09-20:14:01.083098 7f811a7fc6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:14:01.122157 7f811a7fc6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:24:47.303028 7f7d00dfa6c0 Recovering log #421
|
||||
2025/09/20-09:24:47.316425 7f7d00dfa6c0 Delete type=3 #419
|
||||
2025/09/20-09:24:47.316502 7f7d00dfa6c0 Delete type=0 #421
|
||||
2025/09/20-09:32:46.880413 7f7cf9fff6c0 Level-0 table #426: started
|
||||
2025/09/20-09:32:46.880437 7f7cf9fff6c0 Level-0 table #426: 0 bytes OK
|
||||
2025/09/20-09:32:46.886234 7f7cf9fff6c0 Delete type=0 #424
|
||||
2025/09/20-09:32:46.886455 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
2025/09/20-09:32:46.886560 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
2025/09/09-20:04:40.829012 7f811b7fe6c0 Recovering log #401
|
||||
2025/09/09-20:04:40.838454 7f811b7fe6c0 Delete type=3 #399
|
||||
2025/09/09-20:04:40.838506 7f811b7fe6c0 Delete type=0 #401
|
||||
2025/09/09-20:04:50.095335 7f811a7fc6c0 Level-0 table #406: started
|
||||
2025/09/09-20:04:50.095357 7f811a7fc6c0 Level-0 table #406: 0 bytes OK
|
||||
2025/09/09-20:04:50.102580 7f811a7fc6c0 Delete type=0 #404
|
||||
2025/09/09-20:04:50.102829 7f811a7fc6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
2025/09/09-20:04:50.102841 7f811a7fc6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-21:01:59.044069 7f7cfb7fe6c0 Recovering log #417
|
||||
2025/09/19-21:01:59.110180 7f7cfb7fe6c0 Delete type=3 #415
|
||||
2025/09/19-21:01:59.110282 7f7cfb7fe6c0 Delete type=0 #417
|
||||
2025/09/19-22:28:27.062900 7f7cf9fff6c0 Level-0 table #422: started
|
||||
2025/09/19-22:28:27.062937 7f7cf9fff6c0 Level-0 table #422: 0 bytes OK
|
||||
2025/09/19-22:28:27.069460 7f7cf9fff6c0 Delete type=0 #420
|
||||
2025/09/19-22:28:27.082570 7f7cf9fff6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
2025/09/19-22:28:27.082620 7f7cf9fff6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
|
||||
|
||||
Binary file not shown.
@@ -33,10 +33,17 @@
|
||||
fieldset {
|
||||
padding: 4px;
|
||||
}
|
||||
.fieldset-centered {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
select {
|
||||
margin-left: 0.5rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.field-section {
|
||||
display: flex;
|
||||
@@ -44,9 +51,9 @@
|
||||
justify-content: left;
|
||||
}
|
||||
.field-name {
|
||||
width: 4rem;
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
width: 5rem;
|
||||
min-width: 5rem;
|
||||
max-width: 5em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,161 +1,168 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="combat" data-group="sheet">
|
||||
<div class="main-div">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.combatDetails"}}</legend>
|
||||
<div class="combat-details">
|
||||
<div class="combat-detail">
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.combatDetails"}}</legend>
|
||||
<div class="combat-details">
|
||||
<div class="combat-detail">
|
||||
|
||||
<button class="action" data-action="rangedAttackDefense">
|
||||
{{localize "LETHALFANTASY.Label.rangedAttackDefense"}}
|
||||
</button>
|
||||
<button class="action" data-action="rangedAttackDefense">
|
||||
{{localize "LETHALFANTASY.Label.rangedAttackDefense"}}
|
||||
</button>
|
||||
|
||||
<button class="action" data-action="rollInitiative">
|
||||
{{localize "LETHALFANTASY.Label.rollInitiative"}}
|
||||
</button>
|
||||
<button class="action" data-action="rollInitiative">
|
||||
{{localize "LETHALFANTASY.Label.rollInitiative"}}
|
||||
</button>
|
||||
|
||||
<div class="flexrow armor-hp">
|
||||
<span class="name">{{localize "LETHALFANTASY.Label.armorHitPoints"}}</span>
|
||||
{{formInput systemFields.combat.fields.armorHitPoints value=system.combat.armorHitPoints localize=true }}
|
||||
<a data-action="armorHitPointsPlus"><i class="fa-solid fa-hexagon-plus"></i></a>
|
||||
<a data-action="armorHitPointsMinus"><i class="fa-solid fa-hexagon-minus"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="flexrow granted">
|
||||
<span class=""><a class="rollable" data-roll-type="granted" data-roll-key="attackDice"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
"LETHALFANTASY.Label.grantedAttackDice"}}</a></span>
|
||||
{{formInput systemFields.granted.fields.attackDice value=system.granted.attackDice disabled=isPlayMode }}
|
||||
</div>
|
||||
|
||||
<div class="flexrow granted ">
|
||||
<span class=""><a class="rollable" data-roll-type="granted" data-roll-key="defenseDice"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
"LETHALFANTASY.Label.grantedDefenseDice"}}</a></span>
|
||||
{{formInput systemFields.granted.fields.defenseDice value=system.granted.defenseDice disabled=isPlayMode }}
|
||||
</div>
|
||||
|
||||
<div class="flexrow granted">
|
||||
<span class=""><a class="rollable" data-roll-type="granted" data-roll-key="damageDice"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
"LETHALFANTASY.Label.grantedDamageDice"}}</a></span>
|
||||
{{formInput systemFields.granted.fields.damageDice value=system.granted.damageDice disabled=isPlayMode }}
|
||||
</div>
|
||||
|
||||
<div class="flexrow armor-hp">
|
||||
<span class="name">{{localize "LETHALFANTASY.Label.armorHitPoints"}}</span>
|
||||
{{formInput systemFields.combat.fields.armorHitPoints value=system.combat.armorHitPoints localize=true }}
|
||||
<a data-action="armorHitPointsPlus"><i class="fa-solid fa-hexagon-plus"></i></a>
|
||||
<a data-action="armorHitPointsMinus"><i class="fa-solid fa-hexagon-minus"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="flexrow granted">
|
||||
<span class=""><a class="rollable" data-roll-type="granted" data-roll-key="attackDice"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize "LETHALFANTASY.Label.grantedAttackDice"}}</a></span>
|
||||
{{formInput systemFields.granted.fields.attackDice value=system.granted.attackDice disabled=isPlayMode }}
|
||||
</div>
|
||||
|
||||
<div class="flexrow granted ">
|
||||
<span class=""><a class="rollable" data-roll-type="granted" data-roll-key="defenseDice"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize "LETHALFANTASY.Label.grantedDefenseDice"}}</a></span>
|
||||
{{formInput systemFields.granted.fields.defenseDice value=system.granted.defenseDice disabled=isPlayMode }}
|
||||
</div>
|
||||
|
||||
<div class="flexrow granted">
|
||||
<span class=""><a class="rollable" data-roll-type="granted" data-roll-key="damageDice"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize "LETHALFANTASY.Label.grantedDamageDice"}}</a></span>
|
||||
{{formInput systemFields.granted.fields.damageDice value=system.granted.damageDice disabled=isPlayMode }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.wounds"}}</legend>
|
||||
<div class="wounds">
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.wounds"}}</legend>
|
||||
<div class="wounds">
|
||||
{{#each system.hp.wounds as |wound idx|}}
|
||||
<div class="wound">
|
||||
Name:<input class="wound-description wound-data" type="text" data-type="String" data-index="{{@index}}" value="{{wound.description}}" data-name="description" >
|
||||
Duration:<input class="wound-duration wound-data" type="text" data-type="Number" data-index="{{@index}}" value="{{wound.duration}}" data-name="duration" >
|
||||
HP:<input class="wound-value wound-data" type="text" data-type="Number" data-index="{{@index}}" value="{{wound.value}}" data-name="value" >
|
||||
Name:<input class="wound-description wound-data" type="text" data-type="String" data-index="{{@index}}"
|
||||
value="{{wound.description}}" data-name="description">
|
||||
Duration:<input class="wound-duration wound-data" type="text" data-type="Number" data-index="{{@index}}"
|
||||
value="{{wound.duration}}" data-name="duration">
|
||||
HP:<input class="wound-value wound-data" type="text" data-type="Number" data-index="{{@index}}"
|
||||
value="{{wound.value}}" data-name="value">
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.weapons"}}</legend>
|
||||
<div class="weapons">
|
||||
{{#each weapons as |item|}}
|
||||
<div class="weapon" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true"
|
||||
data-drag-type="damage">
|
||||
{{#if (ne item.img "icons/svg/item-bag.svg")}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
{{/if}}
|
||||
<div class="name">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="attack-icons">
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-attack" data-roll-key="{{item.id}}" data-tooltip="Roll Attack">
|
||||
<i class="lf-roll-small fa-solid fa-swords" data-roll-type="weapon-attack" data-roll-key="{{item.id}}"></i>
|
||||
</a>
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-defense" data-roll-key="{{item.id}}" data-tooltip="Roll Defense">
|
||||
<i class="fa-solid fa-shield-halved" data-roll-type="weapon-defense" data-roll-key="{{item.id}}"></i>
|
||||
</a>
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-damage-small" data-roll-key="{{item.id}}"
|
||||
data-tooltip="Roll Damage (Small)">
|
||||
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-small"
|
||||
data-roll-key="{{item.id}}"></i>S
|
||||
</a>
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-damage-medium" data-roll-key="{{item.id}}"
|
||||
data-tooltip="Roll Damage (Medium)">
|
||||
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-medium"
|
||||
data-roll-key="{{item.id}}"></i>M
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.armors"}}</legend>
|
||||
<div class="armors">
|
||||
{{#each armors as |item|}}
|
||||
<div class="armor" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="item-detail" data-tooltip="Defense">{{item.system.defense}}</div>
|
||||
<div class="item-detail" data-tooltip="Maximum movement">{{item.system.maximumMovement}}</div>
|
||||
<div class="item-detail" data-tooltip="HP">{{item.system.hp}}</div>
|
||||
<div class="item-detail" data-tooltip="Damage Reduction">{{item.system.damageReduction}}</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.weapons"}}</legend>
|
||||
<div class="weapons">
|
||||
{{#each weapons as |item|}}
|
||||
<div class="weapon" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true"
|
||||
data-drag-type="damage">
|
||||
{{#if (ne item.img "icons/svg/item-bag.svg")}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}"
|
||||
/>
|
||||
{{/if}}
|
||||
<div class="name" data-tooltip="{{item.system.description}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="attack-icons">
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-attack" data-roll-key="{{item.id}}" data-tooltip="Roll Attack">
|
||||
<i class="lf-roll-small fa-solid fa-swords" data-roll-type="weapon-attack"
|
||||
data-roll-key="{{item.id}}"></i>
|
||||
</a>
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-defense" data-roll-key="{{item.id}}" data-tooltip="Roll Defense">
|
||||
<i class="fa-solid fa-shield-halved" data-roll-type="weapon-defense" data-roll-key="{{item.id}}"></i>
|
||||
</a>
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-damage-small" data-roll-key="{{item.id}}"
|
||||
data-tooltip="Roll Damage (Small)">
|
||||
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-small"
|
||||
data-roll-key="{{item.id}}"></i>S
|
||||
</a>
|
||||
|
||||
<a class="rollable" data-roll-type="weapon-damage-medium" data-roll-key="{{item.id}}"
|
||||
data-tooltip="Roll Damage (Medium)">
|
||||
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-medium"
|
||||
data-roll-key="{{item.id}}"></i>M
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.shields"}}</legend>
|
||||
<div class="shields">
|
||||
{{#each shields as |item|}}
|
||||
<div class="shield" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="item-detail" data-tooltip="Defense">
|
||||
<a class="rollable" data-roll-type="shield-roll" data-roll-key="{{item.id}}" data-tooltip="Shield Defense">
|
||||
<i class="lf-roll-small fa-solid fa-shield" data-roll-type="shield-roll" data-roll-key="{{item.id}}"></i>
|
||||
{{upperFirst item.system.defense}}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div class="item-detail" data-tooltip="Movement reduction">{{item.system.movementreduction}}</div>
|
||||
<div class="item-detail" data-tooltip="Has cover">{{#if item.system.hascover}}Cover{{/if}}</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.armors"}}</legend>
|
||||
<div class="armors">
|
||||
{{#each armors as |item|}}
|
||||
<div class="armor" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{item.system.description}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="item-detail" data-tooltip="Defense">{{item.system.defense}}</div>
|
||||
<div class="item-detail" data-tooltip="Maximum movement">{{item.system.maximumMovement}}</div>
|
||||
<div class="item-detail" data-tooltip="HP">{{item.system.hp}}</div>
|
||||
<div class="item-detail" data-tooltip="Damage Reduction">{{item.system.damageReduction}}</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
<div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "LETHALFANTASY.Label.shields"}}</legend>
|
||||
<div class="shields">
|
||||
{{#each shields as |item|}}
|
||||
<div class="shield" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{item.system.description}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="item-detail" data-tooltip="Defense">
|
||||
<a class="rollable" data-roll-type="shield-roll" data-roll-key="{{item.id}}" data-tooltip="Shield Defense">
|
||||
<i class="lf-roll-small fa-solid fa-shield" data-roll-type="shield-roll" data-roll-key="{{item.id}}"></i>
|
||||
{{upperFirst item.system.defense}}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div class="item-detail" data-tooltip="Movement reduction">{{item.system.movementreduction}}</div>
|
||||
<div class="item-detail" data-tooltip="Has cover">{{#if item.system.hascover}}Cover{{/if}}</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'LETHALFANTASY.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</section>
|
||||
@@ -6,7 +6,7 @@
|
||||
</div>
|
||||
|
||||
<div class="intro-right">
|
||||
<span>{{actingCharName}} - {{upperFirst rollName}}</span>
|
||||
<span><STRONG>{{actingCharName}} - {{upperFirst rollName}}</STRONG></span>
|
||||
|
||||
{{#if (match rollType "attack")}}
|
||||
<span>Attack roll !</span>
|
||||
@@ -15,8 +15,14 @@
|
||||
<span>Defense roll !</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq rollData.favor "favor")}}
|
||||
<span><strong>Favor roll</strong></span>
|
||||
{{/if}}
|
||||
{{#if (eq rollData.favor "disfavor")}}
|
||||
<span><strong>Disfavor roll</strong></span>
|
||||
{{/if}}
|
||||
{{#if badResult}}
|
||||
<span>{{localize "LETHALFANTASY.Label.otherResult"}} : {{badResult}}</span>
|
||||
<span><strong>{{localize "LETHALFANTASY.Label.otherResult"}}</strong> : {{badResult}}</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if rollTarget.weapon}}
|
||||
@@ -33,7 +39,7 @@
|
||||
<span>Beyond Skill Range Attack !</span>
|
||||
{{/if}}
|
||||
|
||||
<span>Formula : {{titleFormula}}</span>
|
||||
<span><strong>Formula</strong> : {{titleFormula}}</span>
|
||||
|
||||
{{#each diceResults as |result|}}
|
||||
<span>{{result.dice}} : {{result.value}}</span>
|
||||
|
||||
@@ -13,13 +13,15 @@
|
||||
<fieldset class="monster-characteristics monster-characteristics-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<div class="flexrow monster-hp">
|
||||
<span class="name">{{localize "LETHALFANTASY.Label.HP"}}</span>
|
||||
{{formInput systemFields.hp.fields.value value=system.hp.value disabled=isPlayMode classes="monster-hp-value"}}
|
||||
{{formInput systemFields.hp.fields.value value=system.hp.value disabled=isPlayMode
|
||||
classes="monster-hp-value"}}
|
||||
/
|
||||
{{formInput systemFields.hp.fields.max value=system.hp.max disabled=isPlayMode classes="monster-hp-value"}}
|
||||
</div>
|
||||
<div class="flexrow monster-hp">
|
||||
<span class="damage-resistance">{{localize "LETHALFANTASY.Label.damageResistance"}}</span>
|
||||
{{formInput systemFields.hp.fields.damageResistance value=system.hp.damageResistance disabled=isPlayMode classes="monster-hp-value"}}
|
||||
{{formInput systemFields.hp.fields.damageResistance value=system.hp.damageResistance disabled=isPlayMode
|
||||
classes="monster-hp-value"}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
@@ -41,7 +43,8 @@
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>
|
||||
{{localize "LETHALFANTASY.Label.saves.will"}}
|
||||
</a></span>
|
||||
{{formField systemFields.saves.fields.will.fields.value value=system.saves.will.value disabled=isPlayMode }}
|
||||
{{formField systemFields.saves.fields.will.fields.value value=system.saves.will.value disabled=isPlayMode
|
||||
}}
|
||||
<span class="name">
|
||||
<a class="rollable" data-roll-type="save" data-roll-key="dodge"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>
|
||||
@@ -65,20 +68,20 @@
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>
|
||||
{{localize "LETHALFANTASY.Label.saves.contagion"}}
|
||||
</a>
|
||||
</span>
|
||||
</span>
|
||||
{{formField systemFields.saves.fields.contagion.fields.value value=system.saves.contagion.value
|
||||
disabled=isPlayMode}}
|
||||
|
||||
<span class="name">
|
||||
<a class="rollable" data-roll-type="save" data-roll-key="poison"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>
|
||||
{{localize "LETHALFANTASY.Label.saves.poison"}}
|
||||
{{localize "LETHALFANTASY.Label.saves.poison"}}
|
||||
</a>
|
||||
</span>
|
||||
{{formField systemFields.saves.fields.poison.fields.value value=system.saves.poison.value
|
||||
</span>
|
||||
{{formField systemFields.saves.fields.poison.fields.value value=system.saves.poison.value
|
||||
disabled=isPlayMode }}
|
||||
|
||||
<span class="name">
|
||||
<!-- <span class="name">
|
||||
<a class="rollable" data-roll-type="save" data-roll-key="paincourage" data-roll-dice="D20" data-tooltip="Pain/Courage check on wound of..."><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>
|
||||
{{localize "LETHALFANTASY.Label.saves.paincourage"}}
|
||||
@@ -88,7 +91,7 @@
|
||||
|
||||
<span data-tooltip="Pain save if wound exceeds">
|
||||
{{formField systemFields.hp.fields.painDamage value=system.hp.painDamage disabled=isPlayMode tooltip="Pain Damage"}}
|
||||
</span>
|
||||
</span>-->
|
||||
|
||||
</div>
|
||||
|
||||
@@ -102,19 +105,22 @@
|
||||
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="resistTorture"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
"LETHALFANTASY.Label.resistTorture"}}</a></span>
|
||||
{{formField systemFields.resists.fields.resistTorture.fields.value value=system.resists.resistTorture.value
|
||||
{{formField systemFields.resists.fields.resistTorture.fields.value
|
||||
value=system.resists.resistTorture.value
|
||||
disabled=isPlayMode
|
||||
}}
|
||||
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="resistPerformance"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
"LETHALFANTASY.Label.resistPerformance"}}</a></span>
|
||||
{{formField systemFields.resists.fields.resistPerformance.fields.value value=system.resists.resistPerformance.value
|
||||
disabled=isPlayMode
|
||||
{{formField systemFields.resists.fields.resistPerformance.fields.value
|
||||
value=system.resists.resistPerformance.value
|
||||
disabled=isPlayMode
|
||||
}}
|
||||
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="resistIntimidation"><i
|
||||
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
<span class="name"><a class="rollable" data-roll-type="monster-skill"
|
||||
data-roll-key="resistIntimidation"><i class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
|
||||
"LETHALFANTASY.Label.resistIntimidation"}}</a></span>
|
||||
{{formField systemFields.resists.fields.resistIntimidation.fields.value value=system.resists.resistIntimidation.value
|
||||
{{formField systemFields.resists.fields.resistIntimidation.fields.value
|
||||
value=system.resists.resistIntimidation.value
|
||||
disabled=isPlayMode }}
|
||||
|
||||
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="perception"><i
|
||||
@@ -157,7 +163,7 @@
|
||||
<fieldset class="monster-characteristics monster-characteristics-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "LETHALFANTASY.Label.characteristics"}}</legend>
|
||||
<div class="monster-characteristic">
|
||||
<span>x{{localize "LETHALFANTASY.Label.int"}}</span>
|
||||
<span>{{localize "LETHALFANTASY.Label.int"}}</span>
|
||||
{{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value
|
||||
disabled=isPlayMode data-char-id="int" }}
|
||||
|
||||
|
||||
@@ -36,9 +36,11 @@
|
||||
|
||||
<fieldSet>
|
||||
<legend>{{localize "LETHALFANTASY.Roll.visibility"}}</legend>
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
<span class="fieldset-centered">
|
||||
<select name="visibility">
|
||||
{{selectOptions rollModes selected=visibility localize=true}}
|
||||
</select>
|
||||
</span>
|
||||
</fieldSet>
|
||||
|
||||
</div>
|
||||
@@ -92,7 +92,7 @@
|
||||
{{#if rollTarget.magicUser}}
|
||||
<div>
|
||||
<span>Save against spell (+{{rollTarget.actorModifiers.saveModifier}}) ?</span>
|
||||
<input type="checkbox" name="saveSpell" value="saveSpell">
|
||||
<input type="checkbox" name="saveSpellCheck" data-action="saveSpellCheck">
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
Reference in New Issue
Block a user