Compare commits

...

21 Commits

Author SHA1 Message Date
fdbfbf0350 Fix #113 weapon modules 2022-10-07 11:25:43 +02:00
37d27104fc Fix #113 weapon modules 2022-10-07 10:48:44 +02:00
0d70783e9b Fix #105 review target 2022-10-06 20:35:23 +02:00
83801b294b Fix #108 NRG value 2022-10-06 20:18:51 +02:00
7d05ef495b Fix #112 shield/armors for arc 2022-10-06 19:04:53 +02:00
329b7839da Fix #112 shield/armors for arc 2022-10-06 18:48:45 +02:00
571d015c28 Fix #109 IDR dice 2022-10-06 17:49:33 +02:00
5e3e50535c Fix #109 IDR dice 2022-10-06 17:47:56 +02:00
eb951f188f Fix #106 turret 2022-10-06 17:30:53 +02:00
de3e16a3f0 Fix #103 size warning 2022-10-06 13:17:42 +02:00
7fcb5c36b6 Fix #103 size warning 2022-10-06 12:48:58 +02:00
be83dbd055 Fix #103 size warning 2022-10-06 12:47:17 +02:00
662804c658 Fix #103 size warning 2022-10-06 12:42:10 +02:00
4311a4762d Fix #100 effect message 2022-10-06 12:38:31 +02:00
8ddc3ad776 Fix #102 agitator neutral 2022-10-06 12:25:15 +02:00
f4a8aa7927 Fix #101 current level for rolls 2022-10-06 12:22:29 +02:00
45332702dc Fix #99 effect stat for vehicle 2022-10-05 21:14:46 +02:00
d8215301b4 Fix #99 effect stat for vehicle 2022-10-05 21:14:15 +02:00
932573c9ae Fix #98 hindrance stuff 2022-10-05 14:44:35 +02:00
d6a57de134 Fix #98 hindrance stuff 2022-10-05 14:44:12 +02:00
e2d5a0ec74 Fix #96 hindrance stuff 2022-10-05 14:38:31 +02:00
10 changed files with 2073 additions and 1925 deletions

File diff suppressed because it is too large Load Diff

View File

@ -146,10 +146,10 @@ export class PegasusUtility {
static updateEffectsBonusDice(rollData) {
let newDicePool = rollData.dicePool.filter(dice => dice.name != "effect-bonus-dice")
for (let effect of rollData.effectsList) {
if (effect && effect.applied && effect.type == "effect" && effect.effect && effect.effect.system.bonusdice) {
if (effect && effect.applied && effect.type == "effect" && !effect.effect?.system?.hindrance && effect.effect && effect.effect.system.bonusdice) {
newDicePool = newDicePool.concat(this.buildDicePool("effect-bonus-dice", effect.effect.system.effectlevel, 0, effect.effect.name))
}
if (effect && effect.applied && effect.type == "effect" && effect.value && effect.isdynamic) {
if (effect && effect.applied && effect.type == "effect" && effect.value && effect.isdynamic && !effect.effect?.system?.hindrance) {
newDicePool = newDicePool.concat(this.buildDicePool("effect-bonus-dice", effect.value, 0, effect.name))
}
}
@ -161,7 +161,9 @@ export class PegasusUtility {
let newDicePool = rollData.dicePool.filter(dice => dice.name != "effect-hindrance")
for (let hindrance of rollData.effectsList) {
if (hindrance && hindrance.applied && (hindrance.type == "hindrance" || (hindrance.type == "effect" && hindrance.effect?.system?.hindrance))) {
console.log("Adding Hindrance 1", hindrance, newDicePool)
newDicePool = newDicePool.concat(this.buildDicePool("effect-hindrance", (hindrance.value) ? hindrance.value : hindrance.effect.system.effectlevel, 0, hindrance.name))
console.log("Adding Hindrance 2", newDicePool)
}
}
rollData.dicePool = newDicePool
@ -1208,14 +1210,15 @@ export class PegasusUtility {
let agitatorTokens = canvas.tokens.placeables.filter(token => token.actor.isAgitator() && !token.document.hidden)
for (let token of agitatorTokens) {
token.refresh()
if (token.document.disposition == 0) {
continue
let ennemies = []
if (token.document.disposition == -1) {
ennemies = canvas.tokens.placeables.filter(newToken => newToken.actor.type == "character" && !newToken.document.hidden && (newToken.document.disposition == 1 || newToken.document.disposition == 0 ))
}
let disposition = ( token.document.disposition == -1) ? 1 : -1
let ennemies = canvas.tokens.placeables.filter(newToken => newToken.actor.type == "character" && !newToken.document.hidden && newToken.document.disposition == disposition)
let neutrals = canvas.tokens.placeables.filter(newToken => newToken.actor.type == "character" && !newToken.document.hidden && newToken.document.disposition == 0)
if (neutrals ) {
ennemies = ennemies.concat(neutrals)
if (token.document.disposition == 1) {
ennemies = canvas.tokens.placeables.filter(newToken => newToken.actor.type == "character" && !newToken.document.hidden && (newToken.document.disposition == -1 || newToken.document.disposition == 0 ))
}
if (token.document.disposition == 0) {
ennemies = canvas.tokens.placeables.filter(newToken => newToken.actor.type == "character" && !newToken.document.hidden && (newToken.document.disposition == -1 || newToken.document.disposition == 1 ))
}
for (let ennemy of ennemies) {
if (ennemy.actor.id != token.actor.id) {

View File

@ -51,8 +51,8 @@ export class PegasusVehicleSheet extends ActorSheet {
vehicleHull: duplicate(this.actor.getVehicleHull()),
mobilityModules: duplicate(this.actor.getMobilityModules()),
propulsionModules: duplicate(this.actor.getPropulsionModules()),
vehicleModules: duplicate(this.actor.getVehicleModules()),
vehicleWeaponModules: duplicate(this.actor.getVehicleWeaponModules()),
vehicleModules: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getVehicleModules())),
vehicleWeaponModules: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getVehicleWeaponModules())),
cargos: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getCargos()) ),
cargoCurrent: this.actor.getCurrentCargoCapacity(),
moneys: duplicate(this.actor.getMoneys()),
@ -134,19 +134,7 @@ export class PegasusVehicleSheet extends ActorSheet {
let itemId = li.data("item-id")
this.actor.activateVehicleModule( itemId)
});
html.find('.equip-activate').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id")
this.actor.equipActivate( itemId)
});
html.find('.equip-deactivate').click(ev => {
const li = $(ev.currentTarget).parents(".item")
let itemId = li.data("item-id")
this.actor.equipDeactivate( itemId)
});
html.find('.effect-used').click(ev => {
html.find('.effect-used').click(ev => {
const li = $(ev.currentTarget).parents(".item");
let itemId = li.data("item-id");
this.actor.perkEffectUsed( itemId)

View File

@ -23,7 +23,7 @@
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-pegasus-rpg/raw/branch/master/system.json",
"compatibility": {
"minimum": "10",
"verified": "10.285",
"verified": "10.286",
"maximum": "10"
},
"id": "fvtt-pegasus-rpg",
@ -253,7 +253,7 @@
],
"title": "Pegasus RPG",
"url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg",
"version": "10.1.0",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-pegasus-rpg/archive/fvtt-pegasus-rpg-v10.1.0.zip",
"version": "10.1.6",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-pegasus-rpg/archive/fvtt-pegasus-rpg-v10.1.6.zip",
"background": "systems/fvtt-pegasus-rpg/images/ui/pegasus_welcome_page.webp"
}

View File

@ -310,6 +310,8 @@
"topspeed": "",
"shieldlevel": 0,
"armourlevel": 0,
"maxshieldlevel": 0,
"maxarmourlevel": 0,
"is3D": false
},
"reararc": {
@ -317,13 +319,17 @@
"topspeed": "",
"shieldlevel": 0,
"armourlevel": 0,
"is3D": false
"maxshieldlevel": 0,
"maxarmourlevel": 0,
"is3D": false
},
"rightarc": {
"label": "Right Arc",
"topspeed": "",
"shieldlevel": 0,
"armourlevel": 0,
"maxshieldlevel": 0,
"maxarmourlevel": 0,
"is3D": false
},
"leftarc": {
@ -331,6 +337,8 @@
"topspeed": "",
"shieldlevel": 0,
"armourlevel": 0,
"maxshieldlevel": 0,
"maxarmourlevel": 0,
"is3D": false
},
"toparc": {
@ -338,6 +346,8 @@
"topspeed": "",
"shieldlevel": 0,
"armourlevel": 0,
"maxshieldlevel": 0,
"maxarmourlevel": 0,
"is3D": true
},
"bottomarc": {
@ -345,6 +355,8 @@
"topspeed": "",
"shieldlevel": 0,
"armourlevel": 0,
"maxshieldlevel": 0,
"maxarmourlevel": 0,
"is3D": true
}
}
@ -417,6 +429,7 @@
"affectstatus": false,
"affectedstatus": "",
"locked": false,
"droptext": "",
"description": ""
},
"race": {

View File

@ -85,7 +85,10 @@
<li class="flexrow"><label class="generic-label">Locked (Only GM can change/edit) ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.locked" {{checked data.locked}}/></label>
</li>
<li class="flexrow"><label class="generic-label">Display Text when added to Actor</label>
<input type="text" class="input-numeric-short padd-right" name="system.droptext" value="{{data.droptext}}" data-dtype="String"/>
</li>
<li class="flexrow"><label class="generic-label">Affect Status?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="system.affectstatus" {{checked data.affectstatus}}/></label>
</li>

View File

@ -105,8 +105,8 @@
<li class="flexrow"><label class="generic-label">Turret</label>
<select class="competence-base flexrow" type="text" name="system.turret" value="{{data.turret}}" data-dtype="Number">
{{#select data.turret}} F Front, F Left, F Right, F Rear, F Up, F Down, T 180 Front, T 180 Left, T 180 Rear, T 180 Right, T 360
<select class="competence-base flexrow" type="text" name="system.turret" value="{{data.turret}}" data-dtype="String">
{{#select data.turret}}
<option value="ffront">F Front</option>
<option value="fleft">F Left</option>
<option value="fright">F Right</option>

View File

@ -9,9 +9,15 @@
<span class="item-field-label-long">
<label class="short-label">Shield</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Max</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Armour</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Max</label>
</span>
</li>
<li class="item flexrow list-item list-item-shadow" data-arc-name="{{idx}}">
@ -31,16 +37,18 @@
{{#select arc.shieldlevel}}
{{{@root.optionsDiceList}}}
{{/select}}
</select>
</select>
</span>
<span class="item-field-label-short"><label class="short-label">{{getDice arc.maxshieldlevel}}</label></span>
<span class="item-field-label-long">
<select type="text" name="system.arcs.{{idx}}.armourlevel" value="{{arc.armourlevel}}" data-dtype="Number">
{{#select arc.armourlevel}}
{{{@root.optionsDiceList}}}
{{/select}}
</select>
</select>
</span>
<span class="item-field-label-short"><label class="short-label">{{getDice arc.maxarmourlevel}}</label></span>
</li>
</ul>

View File

@ -14,7 +14,7 @@
</span>
<select class="status-small-label color-class-common" type="text" name="system.statistics.{{key}}.level"
value="{{stat.level}}" data-dtype="Number" disabled>
{{#select stat.level}}
{{#select (add stat.level stat.bonuseffect)}}
{{#if (eq key "ad")}}
{{{@root.optionsLevel}}}
{{else}}

View File

@ -456,10 +456,10 @@
<span class="item-name-label-header-long">
<h3><label class="items-title-text">Vehicles modules</label></h3>
</span>
<span class="item-field-label-long">
<span class="item-field-label-medium">
<label class="short-label">Category</label>
</span>
<span class="item-field-label-long">
<span class="item-field-label-medium">
<label class="short-label">Location</label>
</span>
<span class="item-field-label-long">
@ -480,12 +480,20 @@
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{vehiclemod.img}}" /></a>
<span class="item-name-label-long"><a class="roll-spec">{{vehiclemod.name}}</a></span>
<span class="item-field-label-long">{{vehiclemod.system.category}}</span>
<span class="item-field-label-long">{{vehiclemod.system.location}}</span>
<span class="item-field-label-medium">{{vehiclemod.system.category}}</span>
<span class="item-field-label-medium">{{vehiclemod.system.location}}</span>
<span class="item-field-label-long">{{vehiclemod.system.security}}</span>
<span class="item-field-label-short">{{vehiclemod.system.nrg}}</span>
<span class="item-field-label-medium">{{vehiclemod.system.range}}</span>
<span class="item-field-label-short">{{vehiclemod.system.idr}}</span>
<span class="item-field-label-short">
{{#if vehiclemod.system.idrDice}}
<a class="roll-idr" data-dice-value="{{vehiclemod.system.idrDice}}">{{vehiclemod.system.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control vehicle-module-activate" title="Activated">{{#if vehiclemod.system.activated}}<i
@ -501,10 +509,10 @@
<span class="item-name-label-header-long">
<h3><label class="items-title-text">Vehicles weapons</label></h3>
</span>
<span class="item-field-label-long">
<span class="item-field-label-medium">
<label class="short-label">Site</label>
</span>
<span class="item-field-label-long">
<span class="item-field-label-medium">
<label class="short-label">Location</label>
</span>
<span class="item-field-label-short">
@ -528,13 +536,21 @@
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{weapon.img}}" /></a>
<span class="item-name-label-long"><a class="roll-spec">{{weapon.name}}</a></span>
<span class="item-field-label-long">{{weapon.system.site}}</span>
<span class="item-field-label-long">{{weapon.system.location}}</span>
<span class="item-field-label-medium">{{weapon.system.site}}</span>
<span class="item-field-label-medium">{{weapon.system.location}}</span>
<span class="item-field-label-short">{{weapon.system.dmg}}</span>
<span class="item-field-label-medium">{{weapon.system.aoe}}</span>
<span class="item-field-label-medium">{{weapon.system.turrent}}</span>
<span class="item-field-label-short">{{weapon.system.nrg}}</span>
<span class="item-field-label-short">{{weapon.system.idr}}</span>
<span class="item-field-label-short">
{{#if weapon.system.idrDice}}
<a class="roll-idr" data-dice-value="{{weapon.system.idrDice}}">{{weapon.system.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control vehicle-weapon-activate" title="Activated">{{#if weapon.system.activated}}<i