Fixes from 29th of june

This commit is contained in:
LeRatierBretonnien 2023-06-30 13:14:40 +02:00
parent 0b0b74754f
commit 270c7c4a91
9 changed files with 62 additions and 35 deletions

View File

@ -66,6 +66,7 @@ export class Hero6ActorSheet extends ActorSheet {
notes5: await TextEditor.enrichHTML(this.object.system.biodata.notes5, {async: true}), notes5: await TextEditor.enrichHTML(this.object.system.biodata.notes5, {async: true}),
containersTree: this.actor.containersTree, containersTree: this.actor.containersTree,
encCurrent: this.actor.encCurrent, encCurrent: this.actor.encCurrent,
totalValue: this.actor.totalValue,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,

View File

@ -323,13 +323,18 @@ export class Hero6Actor extends Actor {
buildContainerTree() { buildContainerTree() {
let equipments = duplicate(this.items.filter(item => item.type == "equipment") || []); let equipments = duplicate(this.items.filter(item => item.type == "equipment") || []);
let enc = 0 let enc = 0
let value = 0
for (let equip1 of equipments) { for (let equip1 of equipments) {
if (Number(equip1.system.weight) && Number(equip1.system.quantity)) { if (Number(equip1.system.weight) && Number(equip1.system.quantity)) {
enc += equip1.system.weight * equip1.system.quantity enc += equip1.system.weight * equip1.system.quantity
} }
if (Number(equip1.system.value) && Number(equip1.system.quantity)) {
value += equip1.system.value * equip1.system.quantity
}
} }
// Store local values // Store local values
this.encCurrent = enc this.encCurrent = enc
this.totalValue = value
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -427,7 +432,7 @@ export class Hero6Actor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareCharacValues(charac) { prepareCharacValues(charac) {
charac.total = charac.value charac.total = charac.value
charac.roll = 9 + Math.floor((charac.value) / 5) charac.roll = 9 + Math.round((charac.value) / 5)
} }
prepareCharac() { prepareCharac() {
let characs = duplicate(this.system.characteristics) let characs = duplicate(this.system.characteristics)
@ -579,6 +584,7 @@ export class Hero6Actor extends Actor {
let rollData = this.getCommonRollData() let rollData = this.getCommonRollData()
rollData.mode = "damage" rollData.mode = "damage"
rollData.item = duplicate(item) rollData.item = duplicate(item)
rollData.title = item.name
rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(item.system.damage) rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(item.system.damage)
let myRoll = new Roll(rollData.diceFormula).roll({ async: false }) let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
@ -587,9 +593,13 @@ export class Hero6Actor extends Actor {
rollData.result = myRoll.total rollData.result = myRoll.total
rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll) rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll)
let msg = await Hero6Utility.createChatWithRollMode(rollData.alias, { let msgFlavor = await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-damage-result.hbs`, rollData)
content: await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-damage-result.hbs`, rollData) let msg = await rollData.roll.toMessage({
user: game.user.id,
rollMode: game.settings.get("core", "rollMode"),
flavor: msgFlavor
}) })
rollData.roll = duplicate(rollData.roll) // Convert to object
msg.setFlag("world", "rolldata", rollData) msg.setFlag("world", "rolldata", rollData)
console.log("Rolldata result", rollData) console.log("Rolldata result", rollData)
} }

View File

@ -41,7 +41,7 @@ export class Hero6Utility {
return list.length > 0; return list.length > 0;
}) })
Handlebars.registerHelper('mul', function (a, b) { Handlebars.registerHelper('mul', function (a, b) {
return parseInt(a) * parseInt(b); return Number(a) * Number(b);
}) })
Handlebars.registerHelper('locationLabel', function (key) { Handlebars.registerHelper('locationLabel', function (key) {
return __locationNames[key] return __locationNames[key]
@ -390,9 +390,12 @@ export class Hero6Utility {
let hasHalfDice = "" let hasHalfDice = ""
if (hero6Formula.match("1/2d6")) { if (hero6Formula.match("1/2d6")) {
hero6Formula = hero6Formula.replace("1/2d6", "d6") hero6Formula = hero6Formula.replace("1/2d6", "d6")
hasHalfDice = "+round(1d6)" hasHalfDice = "+round(1d6/2)"
}
if (hero6Formula.match(".5")) {
hero6Formula = hero6Formula.replace(".5", "")
hasHalfDice = "+round(1d6/2)"
} }
let foundryFormula = hero6Formula + hasHalfDice let foundryFormula = hero6Formula + hasHalfDice
foundryFormula = foundryFormula.replace(' ', '') foundryFormula = foundryFormula.replace(' ', '')
console.log("Parsed formula : ", hero6Formula, foundryFormula) console.log("Parsed formula : ", hero6Formula, foundryFormula)

View File

@ -91,7 +91,7 @@
"styles": [ "styles": [
"styles/simple.css" "styles/simple.css"
], ],
"version": "10.0.40", "version": "10.0.41",
"compatibility": { "compatibility": {
"minimum": "10", "minimum": "10",
"verified": "10", "verified": "10",
@ -99,7 +99,7 @@
}, },
"title": "Hero System v6 for FoundrtVTT (Official)", "title": "Hero System v6 for FoundrtVTT (Official)",
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json", "manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v10.0.40.zip", "download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v10.0.41.zip",
"url": "https://www.uberwald.me/gitea/uberwald/", "url": "https://www.uberwald.me/gitea/uberwald/",
"background": "images/ui/hro6_welcome_page.webp", "background": "images/ui/hro6_welcome_page.webp",
"id": "fvtt-hero-system-6" "id": "fvtt-hero-system-6"

View File

@ -129,22 +129,9 @@
<label class="item-field-label-medium">Lift</label> <label class="item-field-label-medium">Lift</label>
<input type="text" class="item-field-label-short update-field" disabled data-field-name="system.characteristics.str.lift" value="{{characteristics.str.lift}}" data-dtype="String" /> <input type="text" class="item-field-label-short update-field" disabled data-field-name="system.characteristics.str.lift" value="{{characteristics.str.lift}}" data-dtype="String" />
<label class="item-field-label-short">&nbsp;</label> <label class="item-field-label-short">&nbsp;</label>
</li>
<li class="item">
<label class="item-field-label-medium">STR END</label> <label class="item-field-label-medium">STR END</label>
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.str.strend" disabled value="{{characteristics.str.strend}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.str.strend" disabled value="{{characteristics.str.strend}}" data-dtype="Number" />
<select class="actor-computer-str-end" name="system.characteristics.str.strendmode" value="{{system.characteristics.str.strendmode}}">
{{#select system.characteristics.str.strendmode}}
<option value="str20">STR/20 (half normal)</option>
<option value="str10">STR/10 (normal, half heroic)</option>
<option value="str5">STR/5 (heroic)</option>
<option value="0">0</option>
{{/select}}
</select>
</li>
<li class="flexrow item">
<label class="item-field-label-long">Presence attack</label>
<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>
</li> </li>
</ul> </ul>
@ -193,6 +180,12 @@
<li class="flexrow item"> <li class="flexrow item">
<label class="item-field-label-medium">SPD</label> <label class="item-field-label-medium">SPD</label>
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.spd.value" value="{{characteristics.spd.value}}" data-dtype="Number" /> <input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.spd.value" value="{{characteristics.spd.value}}" data-dtype="Number" />
<label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-long">Presence attack</label>
<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>
</li> </li>
</ul> </ul>
@ -604,6 +597,7 @@
<h3>Encumbrance</h3> <h3>Encumbrance</h3>
<span class="small-label">Current : {{encCurrent}}</span> <span class="small-label">Current : {{encCurrent}}</span>
<span class="small-label">Capacity : {{encCapacity}}</span> <span class="small-label">Capacity : {{encCapacity}}</span>
<span class="small-label">Total value : {{totalValue}}</span>
</div> </div>
{{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Weapons" items=weapons}} {{> systems/fvtt-hero-system-6/templates/partials/partial-actor-equipment-section.hbs title="Weapons" items=weapons}}

View File

@ -18,10 +18,9 @@
<div> <div>
<ul> <ul>
<li>Name : {{title}}</li>
<li>Damage formula : {{diceFormula}}</li> <li>Damage formula : {{diceFormula}}</li>
<li><strong>Result : {{result}}</strong></li> <li><strong>Result : {{result}}</strong></li>
<li><strong>BODY : {{bodyValue}}</strong></li> <li><strong>BODY : {{bodyValue}}</strong></li>
</ul> </ul>

View File

@ -3,6 +3,9 @@
<span class="item-name-img"> <span class="item-name-img">
<label class="">&nbsp;</label> <label class="">&nbsp;</label>
</span> </span>
<span class="item-field-label-short">
<label class="item-field-label-short">Q.</label>
</span>
<span class="item-field-label-long3"> <span class="item-field-label-long3">
<label class="item-field-label-long3">{{title}}</label> <label class="item-field-label-long3">{{title}}</label>
</span> </span>

View File

@ -1,5 +1,8 @@
<li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}"> <li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{equip.img}}" /></a> <a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{equip.img}}" /></a>
<span class="item-field-label-short"><label>{{equip.system.quantity}}</label> </span>
<span class="item-field-label-long3">{{equip.name}}</span> <span class="item-field-label-long3">{{equip.name}}</span>
<span class="item-field-label-long"><label>{{equip.system.displayname}} <span class="item-field-label-long"><label>{{equip.system.displayname}}
@ -18,9 +21,9 @@
<span class="item-field-label-short"><label>{{equip.system.endurance}}</label> </span> <span class="item-field-label-short"><label>{{equip.system.endurance}}</label> </span>
<span class="item-field-label-short"><label>{{equip.system.value}}</label> </span> <span class="item-field-label-short"><label>{{mul equip.system.quantity equip.system.value}}</label> </span>
<span class="item-field-label-short"><label>{{equip.system.weight}}</label> </span> <span class="item-field-label-short"><label>{{mul equip.system.quantity equip.system.weight}}</label> </span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">

View File

@ -1,7 +1,7 @@
<li class="item stat flexrow list-item list-item-shadow" data-attr-key="{{key}}"> <li class="item stat flexrow list-item list-item-shadow" data-attr-key="{{key}}">
<input type="text" class="item-field-label-medium" name="system.characteristics.{{key}}.value" value="{{charac.value}}" data-dtype="Number"/> <input type="text" class="item-field-label-medium" name="system.characteristics.{{key}}.value"
value="{{charac.value}}" data-dtype="Number" />
<span class="item-field-label-medium" name="{{key}}"> <span class="item-field-label-medium" name="{{key}}">
<h4 class="item-field-label-medium margin-item-list">{{charac.label}}</a></h4> <h4 class="item-field-label-medium margin-item-list">{{charac.label}}</a></h4>
@ -10,17 +10,31 @@
<h4 class="item-field-label-short margin-item-list">{{charac.base}}</h4> <h4 class="item-field-label-short margin-item-list">{{charac.base}}</h4>
{{#if charac.hasroll}} {{#if charac.hasroll}}
<h4 class="item-field-label-short margin-item-list"><a class="roll-charac" data-charac-key="{{key}}"><i class="fas fa-dice"></i>{{charac.roll}}-</a></h4> <h4 class="item-field-label-short margin-item-list"><a class="roll-charac" data-charac-key="{{key}}"><i
class="fas fa-dice"></i>{{charac.roll}}-</a></h4>
{{else}} {{else}}
<h4 class="item-field-label-short margin-item-list">&nbsp;</h4> <h4 class="item-field-label-short margin-item-list">&nbsp;</h4>
{{/if}} {{/if}}
<input type="text" class="item-field-label-long2" name="system.characteristics.{{key}}.notes" value="{{charac.notes}}" data-dtype="String"/> <input type="text" class="item-field-label-long2" name="system.characteristics.{{key}}.notes" value="{{charac.notes}}"
data-dtype="String" />
{{#if charac.lift}} {{#if charac.lift}}
<h4 class="item-field-label-short margin-item-list">&nbsp;&nbsp;</h4> <h4 class="item-field-label-short margin-item-list">&nbsp;&nbsp;</h4>
<h4 class="item-field-label-short margin-item-list">{{charac.lift}}</h4> <h4 class="item-field-label-short margin-item-list">{{charac.lift}}</h4>
<h4 class="item-field-label-short margin-item-list"><a class="roll-lift-dice" data-charac-key="{{key}}"><i class="fas fa-dice"></i>{{charac.liftDice}}</a></h4> <h4 class="item-field-label-short margin-item-list"><a class="roll-lift-dice" data-charac-key="{{key}}"><i
class="fas fa-dice"></i>{{charac.liftDice}}</a></h4>
<select class="actor-computer-str-end" name="system.characteristics.str.strendmode"
value="{{charac.strendmode}}">
{{#select charac.strendmode}}
<option value="str20">STR/20 (half normal)</option>
<option value="str10">STR/10 (normal, half heroic)</option>
<option value="str5">STR/5 (heroic)</option>
<option value="0">0</option>
{{/select}}
</select>
{{/if}} {{/if}}
</li> </li>