Fixes from 29th of june

This commit is contained in:
LeRatierBretonnien 2023-06-30 17:21:11 +02:00
parent 270c7c4a91
commit b535a86116
13 changed files with 51 additions and 81 deletions

View File

@ -612,12 +612,15 @@ export class Hero6Actor extends Actor {
let myRoll = new Roll(rollData.diceFormula).roll({ async: false }) let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
rollData.roll = duplicate(myRoll)
rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll) rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll)
rollData.result = myRoll.total rollData.result = myRoll.total
rollData.roll = duplicate(myRoll)
let msg = await Hero6Utility.createChatWithRollMode(rollData.alias, { let msgFlavor = await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-lift-dice-result.hbs`, rollData)
content: await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-lift-dice-result.hbs`, rollData) let msg = await myRoll.toMessage({
user: game.user.id,
rollMode: game.settings.get("core", "rollMode"),
flavor: msgFlavor
}) })
msg.setFlag("world", "rolldata", rollData) msg.setFlag("world", "rolldata", rollData)
console.log("Rolldata result", rollData) console.log("Rolldata result", rollData)

View File

@ -5,7 +5,7 @@ export class Hero6CombatTracker extends CombatTracker {
/* -------------------------------------------- */ /* -------------------------------------------- */
static get defaultOptions() { static get defaultOptions() {
var path = "systems/fvtt-hero-system-6/templates/apps/combat-tracker.hbs"; let path = "systems/fvtt-hero-system-6/templates/apps/combat-tracker.hbs";
return foundry.utils.mergeObject(super.defaultOptions, { return foundry.utils.mergeObject(super.defaultOptions, {
template: path, template: path,
}); });
@ -21,6 +21,7 @@ export class Hero6Combat extends Combat {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static pushMenuOptions(html, options) { static pushMenuOptions(html, options) {
console.log(">>>>>>>>>>>>>>>>>>>>>>>< MENU OPTIONS!!!!!")
let newOpt let newOpt
for (let i = 0; i < options.length; i++) { for (let i = 0; i < options.length; i++) {
let option = options[i]; let option = options[i];
@ -62,7 +63,7 @@ export class Hero6Combat extends Combat {
constructor(data, context) { constructor(data, context) {
super(data, context); super(data, context);
this.turnNumber = 1; this.turnNumber = 0;
this.segmentNumber = 12; this.segmentNumber = 12;
} }
@ -104,13 +105,13 @@ export class Hero6Combat extends Combat {
let turnData = this.getFlag("world", "hero6-turn-data") let turnData = this.getFlag("world", "hero6-turn-data")
if (!turnData) { if (!turnData) {
turnData = { turnNumber: 1, segmentNumber: 12 } turnData = { turnNumber: 0, segmentNumber: 12 }
this.setFlag("world", "hero6-turn-data", turnData) this.setFlag("world", "hero6-turn-data", turnData)
} }
turnData = duplicate(turnData) turnData = duplicate(turnData)
turnData.segmentNumber -= 1 turnData.segmentNumber += 1
if (turnData.segmentNumber <= 0) { if (turnData.segmentNumber > 12) {
turnData.segmentNumber = 12 turnData.segmentNumber = 1
turnData.turnNumber++ turnData.turnNumber++
} }
this.setFlag("world", "hero6-turn-data", turnData) this.setFlag("world", "hero6-turn-data", turnData)

View File

@ -96,6 +96,8 @@ Hooks.once("ready", function () {
welcomeMessage(); welcomeMessage();
Hero6Utility.ready() Hero6Utility.ready()
Hero6Commands.ready() Hero6Commands.ready()
Hero6Combat.init()
}) })
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -388,18 +388,22 @@ export class Hero6Utility {
// Ensure we have no space at all // Ensure we have no space at all
//hero6Formula = hero6Formula.replace(/\s/g, '') //hero6Formula = hero6Formula.replace(/\s/g, '')
let hasHalfDice = "" let hasHalfDice = ""
if (hero6Formula.match("1/2d6")) { let newFormula = hero6Formula
hero6Formula = hero6Formula.replace("1/2d6", "d6")
hasHalfDice = "+round(1d6/2)" let form1 = hero6Formula.match(/\s*(\d*)\s*1\/2d6/)
if ( form1 ) {
let nbDice = form1[1] || 0
newFormula = nbDice+"d6+round(1d6/2)"
} }
if (hero6Formula.match(".5")) {
hero6Formula = hero6Formula.replace(".5", "") let form3 = hero6Formula.match(/\s*(\d*)\.5d6/)
hasHalfDice = "+round(1d6/2)" if ( form3 ) {
let nbDice = form3[1] || 0
newFormula = nbDice+"d6+round(1d6/2)"
} }
let foundryFormula = hero6Formula + hasHalfDice
foundryFormula = foundryFormula.replace(' ', '') console.log("Parsed formula : ", hero6Formula, newFormula)
console.log("Parsed formula : ", hero6Formula, foundryFormula) return newFormula
return foundryFormula
} }
/* -------------- ----------------------------- */ /* -------------- ----------------------------- */

View File

@ -1309,6 +1309,11 @@ Focus FOC: #ff0084
max-width: 9rem; max-width: 9rem;
min-width: 9rem; min-width: 9rem;
} }
.item-field-label-very-short {
flex-grow:1;
max-width: 2.5rem;
min-width: 2.5rem;
}
.item-field-label-short { .item-field-label-short {
flex-grow:1; flex-grow:1;
max-width: 4rem; max-width: 4rem;

View File

@ -91,7 +91,7 @@
"styles": [ "styles": [
"styles/simple.css" "styles/simple.css"
], ],
"version": "10.0.41", "version": "10.0.42",
"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.41.zip", "download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v10.0.42.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

@ -351,8 +351,8 @@
], ],
"maneuvertype": "general", "maneuvertype": "general",
"pha": "", "pha": "",
"ocv": 0, "ocv": "",
"dcv" : 0, "dcv" : "",
"isstock": false, "isstock": false,
"active": false "active": false
}, },

View File

@ -139,18 +139,18 @@
<ul class="stat-list alternate-list"> <ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<span class="item-field-label-long-img"> <span class="item-field-label-long-img">
<label class="">{{upperFirst key}} Standard Maneuver</label> <label class="">{{upperFirst key}} Maneuver</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-very-short">
<label class="short-label">PHA</label> <label class="short-label">PHA</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-very-short">
<label class="short-label">OCV</label> <label class="short-label">OCV</label>
</span> </span>
<span class="item-field-label-short"> <span class="item-field-label-short">
<label class="short-label">DCV</label> <label class="short-label">DCV</label>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-long">
<label class="short-label">Effects</label> <label class="short-label">Effects</label>
</span> </span>
</li> </li>
@ -160,12 +160,13 @@
src="{{maneuver.img}}" /></a> src="{{maneuver.img}}" /></a>
<span class="item-field-label-long">{{maneuver.name}}</span> <span class="item-field-label-long">{{maneuver.name}}</span>
<span class="item-field-label-short">{{maneuver.system.pha}}</span> <span class="item-field-label-very-short">{{maneuver.system.pha}}</span>
<span class="item-field-label-short">{{maneuver.system.ocv}}</span> <span class="item-field-label-very-short">{{maneuver.system.ocv}}</span>
<span class="item-field-label-short">{{maneuver.system.dcv}}</span> <span class="item-field-label-short">{{maneuver.system.dcv}}</span>
<span class="item-field-label-medium">{{maneuver.system.effects}}</span> <span class="item-field-label-long">{{maneuver.system.effects}}</span>
<span class="item-field-label-short">&nbsp;</span>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div> </div>

View File

@ -20,7 +20,7 @@
<ul> <ul>
<li>Name : {{title}}</li> <li>Name : {{title}}</li>
<li>Damage formula : {{diceFormula}}</li> <li>Damage formula : {{diceFormula}}</li>
<li><strong>Result : {{result}}</strong></li> <li><strong>TOTAL : {{result}}</strong></li>
<li><strong>BODY : {{bodyValue}}</strong></li> <li><strong>BODY : {{bodyValue}}</strong></li>
</ul> </ul>

View File

@ -40,7 +40,7 @@
</li> </li>
{{/if}} {{/if}}
<li><strong>Result : {{result}}</strong> <li><strong>TOTAL : {{result}}</strong>
{{#if (exists margin)}} {{#if (exists margin)}}
({{#if isSuccess}}Success!!{{else}}Failure!{{/if}}) ({{#if isSuccess}}Success!!{{else}}Failure!{{/if}})
{{/if}} {{/if}}

View File

@ -21,7 +21,7 @@
<li>Lift dice formula : {{diceFormula}}</li> <li>Lift dice formula : {{diceFormula}}</li>
<li>BODY : {{bodyValue}}</li> <li>BODY : {{bodyValue}}</li>
<li><strong>Result : {{result}}</strong></li> <li><strong>TOTAL : {{result}}</strong></li>
</ul> </ul>
</div> </div>

View File

@ -1,46 +0,0 @@
<div class="chat-message-header">
{{#if actorImg}}
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
{{/if}}
<h4 class=chat-actor-name>{{alias}}</h4>
</div>
<hr>
{{#if img}}
<div>
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
</div>
{{/if}}
<div class="flexcol">
</div>
<div>
{{#if isRangedAttack}}
<div>{{defender.name}} is under Ranged attack. He must roll a Target Roll to defend himself.</div>
{{else}}
<div>{{defender.name}} is under Melee attack. He must roll a Defense Roll to defend himself.</div>
{{/if}}
<ul>
{{#if isRangedAttack}}
<li>
<button class="chat-card-button roll-defense-ranged" data-roll-id="{{@root.rollId}}">Roll Target !</button>
</li>
{{else}}
<li>
{{#each defenderWeapons as |weapon idx|}}
<button class="chat-card-button roll-defense-melee" data-defense-weapon-id="{{weapon._id}}"
data-roll-id="{{@root.rollId}}">{{weapon.name}}</button>
{{/each}}
</li>
{{/if}}
</ul>
<!-- <button class="chat-card-button reroll-level-remaining" data-roll-id="{{rollId}}">Reroll</button> -->
</ul>
</div>
</div>

View File

@ -38,11 +38,11 @@
</li> </li>
<li class="flexrow"><label class="item-field-label-medium">OCV</label> <li class="flexrow"><label class="item-field-label-medium">OCV</label>
<input type="text" class="item-field-label-medium" name="system.ocv" value="{{system.ocv}}" data-dtype="Number"/> <input type="text" class="item-field-label-medium" name="system.ocv" value="{{system.ocv}}" data-dtype="String"/>
</li> </li>
<li class="flexrow"><label class="item-field-label-medium">DCV</label> <li class="flexrow"><label class="item-field-label-medium">DCV</label>
<input type="text" class="item-field-label-medium" name="system.dcv" value="{{system.dcv}}" data-dtype="Number"/> <input type="text" class="item-field-label-medium" name="system.dcv" value="{{system.dcv}}" data-dtype="String"/>
</li> </li>
<li class="flexrow"><label class="item-field-label-medium">Effects</label> <li class="flexrow"><label class="item-field-label-medium">Effects</label>