Fix #52
This commit is contained in:
parent
ffaa9e4c19
commit
01a2fd9ff8
@ -150,11 +150,11 @@ export class PegasusActor extends Actor {
|
||||
return ab;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getPerks() {
|
||||
getPerks() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'perk') || [])
|
||||
for (let perk of comp) {
|
||||
if (perk.system.features.range.flag) {
|
||||
perk.rangeText = PegasusUtility.getRangeText( perk.system.features.range.value)
|
||||
perk.rangeText = PegasusUtility.getRangeText(perk.system.features.range.value)
|
||||
}
|
||||
}
|
||||
return comp;
|
||||
@ -362,19 +362,17 @@ export class PegasusActor extends Actor {
|
||||
await this.updateEmbeddedDocuments('Item', [update]) // Updates one EmbeddedEntity
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
updatePPP() {
|
||||
let ppp = 0
|
||||
for(let power of this.items) {
|
||||
for (let power of this.items) {
|
||||
if (power.type == "power") {
|
||||
ppp += Number(power.system.powerlevelcost)
|
||||
}
|
||||
}
|
||||
console.log("PPP update", ppp)
|
||||
if ( ppp != this.system.ppp.spentPPP) {
|
||||
console.log("PPP update2", ppp)
|
||||
this.update( { 'system.ppp.spentPPP': ppp} )
|
||||
if (ppp != this.system.ppp.spentPPP) {
|
||||
this.update({ 'system.ppp.spentPPP': ppp })
|
||||
}
|
||||
}
|
||||
|
||||
@ -1689,7 +1687,7 @@ export class PegasusActor extends Actor {
|
||||
rollData.statVehicle = vehicle.system.statistics.man
|
||||
rollData.vehicleKey = "man"
|
||||
}
|
||||
vehicle.addVehicleShields( rollData)
|
||||
vehicle.addVehicleShields(rollData)
|
||||
}
|
||||
vehicle.addEffects(rollData, false, false, false)
|
||||
//this.addVehiculeHindrances(rollData.effectsList, vehicle)
|
||||
@ -2114,29 +2112,6 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
// Shield management
|
||||
if (item.type == "vehiclemodule" && item.system.category == "shield") {
|
||||
let shieldsList = this.items.filter(item => item.type == "vehiclemodule" && item.system.category == "shield") || []
|
||||
shieldsList.push(item)
|
||||
let level = 0
|
||||
for (let armour of shieldsList) {
|
||||
if (armour.system.shielddicevalue > 0) {
|
||||
level += Number(armour.system.shielddicevalue)
|
||||
}
|
||||
}
|
||||
let shift = 500
|
||||
for( let loc of __LocationsArmour) {
|
||||
let arcKey = loc + "arc"
|
||||
let arc = duplicate(this.system.arcs[arcKey])
|
||||
if (level != Number(arc.shieldlevel)) {
|
||||
arc.shieldlevel = level
|
||||
setTimeout(shift, this.update({ [`system.arcs.${arcKey}`]: arc }))
|
||||
shift += 200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
@ -2224,7 +2199,7 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
addVehicleArmors( rollData) {
|
||||
addVehicleArmors(rollData) {
|
||||
for (let arcKey in this.system.arcs) {
|
||||
let arc = this.system.arcs[arcKey]
|
||||
if (arc.armourlevel > 0) {
|
||||
@ -2249,7 +2224,7 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
activateVehicleModule(itemId) {
|
||||
async activateVehicleModule(itemId) {
|
||||
let mod = this.items.get(itemId)
|
||||
if (mod) {
|
||||
if (mod.system.nrg && mod.system.nrg > 0) {
|
||||
@ -2259,7 +2234,7 @@ export class PegasusActor extends Actor {
|
||||
ChatMessage.create({ content: `The Vehicle ${this.name} does not have enough Energy to Activate this module at this time.` })
|
||||
return
|
||||
}
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: mod.id, 'system.activated': !mod.system.activated }])
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: mod.id, 'system.activated': !mod.system.activated }])
|
||||
pc.actnrg += Number(mod.system.nrg)
|
||||
pc.maxnrg -= Number(mod.system.nrg)
|
||||
pc.curnrg -= Number(mod.system.nrg)
|
||||
@ -2268,10 +2243,28 @@ export class PegasusActor extends Actor {
|
||||
pc.actnrg -= Number(mod.system.nrg)
|
||||
pc.maxnrg += Number(mod.system.nrg)
|
||||
this.update({ 'system.statistics.pc': pc })
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: mod.id, 'system.activated': !mod.system.activated }])
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: mod.id, 'system.activated': !mod.system.activated }])
|
||||
}
|
||||
} else {
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: mod.id, 'system.activated': !mod.system.activated }])
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: mod.id, 'system.activated': !mod.system.activated }])
|
||||
}
|
||||
}
|
||||
// Shield management
|
||||
let shieldsList = this.items.filter(item => item.type == "vehiclemodule" && item.system.category == "shield" && item.system.activated) || []
|
||||
let level = 0
|
||||
for (let armour of shieldsList) {
|
||||
if (armour.system.shielddicevalue > 0) {
|
||||
level += Number(armour.system.shielddicevalue)
|
||||
}
|
||||
}
|
||||
let shift = 500
|
||||
for (let loc of __LocationsArmour) {
|
||||
let arcKey = loc + "arc"
|
||||
let arc = duplicate(this.system.arcs[arcKey])
|
||||
if (level != Number(arc.shieldlevel)) {
|
||||
arc.shieldlevel = level
|
||||
setTimeout(shift, this.update({ [`system.arcs.${arcKey}`]: arc }))
|
||||
shift += 200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -115,8 +115,8 @@
|
||||
<option value="none0">==== Combat Arcs</option>
|
||||
<option value="d4">Combat Arc Flank (Grey) d4</option>
|
||||
<option value="d6">Combat Arc Blind Spot (Red) d6</option>
|
||||
<option value="d6">Slight cover d4</option>
|
||||
<option value="none1">===== Cover defence</option>
|
||||
<option value="d4">Slight cover d4</option>
|
||||
<option value="d8">Half cover d8</option>
|
||||
<option value="d12">Full cover d12</option>
|
||||
<option value="d12">Full cover d12</option>
|
||||
|
Loading…
Reference in New Issue
Block a user