Minor fixes

This commit is contained in:
sladecraven 2022-01-25 09:14:32 +01:00
parent 44707a6397
commit dd0d40efc8
4 changed files with 34 additions and 29 deletions

View File

@ -198,7 +198,7 @@ export class PegasusActor extends Actor {
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async activatePower(itemId) { async activatePower(itemId) {
let item = this.data.items.find(item => item.id == itemId); let item = this.data.items.find(item => item.id == itemId);
@ -488,16 +488,16 @@ export class PegasusActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getShieldDice() { getShieldDice() {
let shields = this.data.items.filter( item => item.type == "shield" && item.data.data.equipped) let shields = this.data.items.filter(item => item.type == "shield" && item.data.data.equipped)
let def = 0 let def = 0
for ( let sh of shields) { for (let sh of shields) {
def += sh.data.data.level def += sh.data.data.level
} }
return def return def
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
rollPool(statKey, useShield=false) { rollPool(statKey, useShield = false) {
let stat = this.getStat(statKey); let stat = this.getStat(statKey);
if (stat) { if (stat) {
let rollData = this.getCommonRollData() let rollData = this.getCommonRollData()
@ -505,7 +505,7 @@ export class PegasusActor extends Actor {
rollData.specList = this.getRelevantSpec(statKey) rollData.specList = this.getRelevantSpec(statKey)
rollData.selectedSpec = "0" rollData.selectedSpec = "0"
rollData.stat = stat; rollData.stat = stat;
if (useShield) { if (useShield) {
rollData.otherDicesLevel = this.getShieldDice() rollData.otherDicesLevel = this.getShieldDice()
} }
@ -572,9 +572,9 @@ export class PegasusActor extends Actor {
rollData.mode = "MR" rollData.mode = "MR"
rollData.stat = mr rollData.stat = mr
rollData.activePerks = duplicate(this.getActivePerks()), rollData.activePerks = duplicate(this.getActivePerks()),
rollData.specList = this.getRelevantSpec('mr'), rollData.specList = this.getRelevantSpec('mr'),
this.startRoll(rollData); this.startRoll(rollData);
} else { } else {
ui.notifications.warn("MR not found !"); ui.notifications.warn("MR not found !");
} }
@ -596,7 +596,7 @@ export class PegasusActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
async computeNRGHealth() { async computeNRGHealth() {
if ( this.isOwner || game.user.isGM) { if (this.isOwner || game.user.isGM) {
let updates = {} let updates = {}
let phyDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.phy.value) + this.data.data.secondary.health.bonus + this.data.data.statistics.phy.mod; let phyDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.phy.value) + this.data.data.secondary.health.bonus + this.data.data.statistics.phy.mod;
if (phyDiceValue != this.data.data.secondary.health.max) { if (phyDiceValue != this.data.data.secondary.health.max) {
@ -608,18 +608,18 @@ export class PegasusActor extends Actor {
updates['data.secondary.delirium.max'] = mndDiceValue updates['data.secondary.delirium.max'] = mndDiceValue
updates['data.secondary.delirium.value'] = mndDiceValue updates['data.secondary.delirium.value'] = mndDiceValue
} }
let stlDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.stl.value) + this.data.data.secondary.stealthhealth.bonus + this.data.data.statistics.stl.mod; let stlDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.stl.value) + this.data.data.secondary.stealthhealth.bonus + this.data.data.statistics.stl.mod;
if (stlDiceValue != this.data.data.secondary.stealthhealth.max) { if (stlDiceValue != this.data.data.secondary.stealthhealth.max) {
updates['data.secondary.stealthhealth.max'] = stlDiceValue updates['data.secondary.stealthhealth.max'] = stlDiceValue
updates['data.secondary.stealthhealth.value'] = stlDiceValue updates['data.secondary.stealthhealth.value'] = stlDiceValue
} }
let socDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.soc.value) + this.data.data.secondary.socialhealth.bonus + this.data.data.statistics.soc.mod; let socDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.soc.value) + this.data.data.secondary.socialhealth.bonus + this.data.data.statistics.soc.mod;
if (socDiceValue != this.data.data.secondary.socialhealth.max) { if (socDiceValue != this.data.data.secondary.socialhealth.max) {
updates['data.secondary.socialhealth.max'] = socDiceValue updates['data.secondary.socialhealth.max'] = socDiceValue
updates['data.secondary.socialhealth.value'] = socDiceValue updates['data.secondary.socialhealth.value'] = socDiceValue
} }
let nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.nrg.mod + this.data.data.statistics.foc.mod; let nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.nrg.mod + this.data.data.statistics.foc.mod;
if (nrgValue != this.data.data.nrg.max) { if (nrgValue != this.data.data.nrg.max) {
updates['data.nrg.max'] = nrgValue updates['data.nrg.max'] = nrgValue
@ -627,21 +627,27 @@ export class PegasusActor extends Actor {
} }
nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.statistics.foc.mod; nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.statistics.foc.mod;
if (nrgValue != this.data.data.combat.stunthreshold) { if (nrgValue != this.data.data.combat.stunthreshold) {
updates['data.combat.stunthreshold'] = nrgValue updates['data.combat.stunthreshold'] = nrgValue
} }
let momentum = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.statistics.foc.mod let momentum = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.statistics.foc.mod
if (momentum != this.data.data.momentum.max) { if (momentum != this.data.data.momentum.max) {
updates['data.momentum.value'] = momentum updates['data.momentum.value'] = 0
updates['data.momentum.max'] = momentum updates['data.momentum.max'] = momentum
}
let mrLevel = (this.data.data.statistics.agi.value + this.data.data.statistics.str.value) - this.data.data.statistics.phy.value
mrLevel = (mrLevel < 1) ? 1 : mrLevel;
if (mrLevel != this.data.data.mr.value) {
updates['data.mr.value'] = mrLevel
} }
let race = this.getRace() let race = this.getRace()
if ( race && race.name && (race.name != this.data.data.biodata.racename) ) { if (race && race.name && (race.name != this.data.data.biodata.racename)) {
updates['data.biodata.racename'] = race.name updates['data.biodata.racename'] = race.name
} }
let role = this.getRole() let role = this.getRole()
if ( role && role.name && (role.name != this.data.data.biodata.rolename)) { if (role && role.name && (role.name != this.data.data.biodata.rolename)) {
updates['data.biodata.rolename'] = role.name updates['data.biodata.rolename'] = role.name
} }
//console.log("UPD", updates, this.data.data.biodata) //console.log("UPD", updates, this.data.data.biodata)
@ -844,7 +850,7 @@ export class PegasusActor extends Actor {
rollData.specList = this.getRelevantSpec(weapon.data.statistic) rollData.specList = this.getRelevantSpec(weapon.data.statistic)
rollData.activePerks = duplicate(this.getActivePerks()) rollData.activePerks = duplicate(this.getActivePerks())
if (damage) { if (damage) {
rollData.stat = this.getStat(weapon.data.damagestatistic) rollData.stat = this.getStat(weapon.data.damagestatistic)
rollData.isDamage = true; rollData.isDamage = true;
rollData.otherDicesLevel = weapon.data.damage rollData.otherDicesLevel = weapon.data.damage
} else { } else {
@ -878,5 +884,5 @@ export class PegasusActor extends Actor {
ui.notifications.warn("Power not found !", powerId); ui.notifications.warn("Power not found !", powerId);
} }
} }
} }

View File

@ -41,7 +41,6 @@ export class PegasusRollDialog extends Dialog {
label: "Cancel", label: "Cancel",
callback: () => { this.close() } callback: () => { this.close() }
} }, } },
default: "roll",
close: close close: close
} }

View File

@ -163,6 +163,6 @@
"templateVersion": 63, "templateVersion": 63,
"title": "Pegasus RPG", "title": "Pegasus RPG",
"url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg", "url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg",
"version": "0.1.12", "version": "0.1.13",
"background" : "./images/ui/pegasus_welcome_page.webp" "background" : "./images/ui/pegasus_welcome_page.webp"
} }

View File

@ -79,7 +79,7 @@
<li class="item flexrow list-item" data-key="nrg"> <li class="item flexrow list-item" data-key="nrg">
<span class="stat-label flexrow" name="nrg"> <h4>{{data.nrg.label}}</h4> </span> <span class="stat-label flexrow" name="nrg"> <h4>{{data.nrg.label}}</h4> </span>
<span class="small-label padd-right packed-left">Act</span><input type="text" class="padd-right" name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">Act</span><input type="text" class="padd-right" name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Val</span><input type="text" class="padd-right" name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Cur</span><input type="text" class="padd-right" name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Mod</span><input type="text" class="padd-right" name="data.nrg.mod" value="{{data.nrg.mod}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Mod</span><input type="text" class="padd-right" name="data.nrg.mod" value="{{data.nrg.mod}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right" name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right" name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/>
</li> </li>
@ -169,7 +169,7 @@
<li class="item flexrow list-item" data-key="nrg"> <li class="item flexrow list-item" data-key="nrg">
<span class="stat-label flexrow" name="nrg"><h4>{{data.nrg.label}}</h4> </span> <span class="stat-label flexrow" name="nrg"><h4>{{data.nrg.label}}</h4> </span>
<span class="small-label padd-right packed-left">Act</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">Act</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Val</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Mod</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.mod" value="{{data.nrg.mod}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Mod</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.mod" value="{{data.nrg.mod}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/>
</li> </li>
@ -179,7 +179,7 @@
<span class="stat-label flexrow" name="{{key}}"> <span class="stat-label flexrow" name="{{key}}">
<h4>{{stat2.label}}</h4> <h4>{{stat2.label}}</h4>
</span> </span>
<span class="small-label padd-right packed-left">Val</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.value" value="{{stat2.value}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.value" value="{{stat2.value}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Bonus</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.bonus" value="{{stat2.bonus}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Bonus</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.bonus" value="{{stat2.bonus}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.max" value="{{stat2.max}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.max" value="{{stat2.max}}" data-dtype="Number"/>
</li> </li>
@ -187,7 +187,7 @@
{{/each}} {{/each}}
<li class="item flexrow list-item" data-key="momentum"> <li class="item flexrow list-item" data-key="momentum">
<span class="stat-label flexrow" name="momentum"><h4>{{data.momentum.label}}</h4></span> <span class="stat-label flexrow" name="momentum"><h4>{{data.momentum.label}}</h4></span>
<span class="small-label padd-right packed-left">Val</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/>
</li> </li>
</ul> </ul>
@ -326,7 +326,7 @@
<li class="item flexrow list-item" data-key="nrg"> <li class="item flexrow list-item" data-key="nrg">
<span class="stat-label flexrow" name="nrg"><h4>{{data.nrg.label}}</h4> </span> <span class="stat-label flexrow" name="nrg"><h4>{{data.nrg.label}}</h4> </span>
<span class="small-label padd-right packed-left">Act</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">Act</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Val</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Cur</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Mod</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.mod" value="{{data.nrg.mod}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Mod</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.mod" value="{{data.nrg.mod}}" data-dtype="Number"/>
<span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/> <span class="small-label padd-right packed-left">&nbsp;Max</span><input type="text" class="padd-right update-field" data-field-name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/>
</li> </li>