Skip to content

Commit 0e76cbf

Browse files
committed
hotfix: revert dragon for class/skills, fix applicable effects
1 parent 1e13cf7 commit 0e76cbf

File tree

2 files changed

+36
-45
lines changed

2 files changed

+36
-45
lines changed

module/documents/actors/actor.mjs

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,6 @@ export class FUActor extends Actor {
225225
const featureType = item.system.featureType;
226226
const actor = item.actor;
227227

228-
// Check if the item is one of the applicable types
229-
if (!applicableTypes.includes(itemType)) continue;
230-
231228
// Handle weapons and shields if weapons modules are active
232229
if ((itemType === 'weapon' || itemType === 'shield') && actor?.system.vehicle?.weaponsActive) {
233230
continue;
@@ -237,40 +234,42 @@ export class FUActor extends Actor {
237234
if (itemType === 'armor' && actor?.system.vehicle?.armorActive) {
238235
continue;
239236
}
240-
241-
// Handle class features based on vehicle configuration
242-
if (itemType === 'classFeature' && vehicleTypes.includes(featureType)) {
243-
const vehicle = actor?.system?.vehicle;
244-
const isEmbarked = vehicle?.embarked;
245-
let itemExistsInVehicle = false;
246-
247-
if (featureType === 'projectfu.supportModule' && Array.isArray(vehicle?.supports)) {
248-
itemExistsInVehicle = vehicle.supports.some((support) => support.id === itemId);
249-
} else if (featureType === 'projectfu.weaponModule' && Array.isArray(vehicle?.weapons)) {
250-
itemExistsInVehicle = vehicle.weapons.some((weapon) => weapon.id === itemId);
251-
} else if (featureType === 'projectfu.armorModule') {
252-
itemExistsInVehicle = vehicle?.armor?.id === itemId;
253-
} else if (featureType === 'projectfu.vehicle') {
254-
itemExistsInVehicle = vehicle?.vehicle?.id === itemId;
255-
}
256-
257-
// Continue to the next effect if the item shouldn't transfer its effects
258-
if (!isEmbarked || !itemExistsInVehicle || (item.transferEffects && !item.transferEffects())) {
259-
// console.log('Skipping effect due to non-embarked status or item not being part of vehicle.');
260-
continue;
261-
}
262-
} else if (itemType === 'classFeature' && arcanumTypes.includes(featureType)) {
263-
const currentArcanumId = actor?.system.equipped?.arcanum;
264-
265-
// Check if the item is the currently active arcanum
266-
if (itemId !== currentArcanumId) {
267-
continue;
268-
}
269-
} else {
270-
// Handle regular items using the equipped data model
271-
const equipData = this.system.equipped;
272-
if (!equipData.transferEffects(itemId)) {
273-
continue;
237+
// Check if the item is one of the applicable types
238+
if (applicableTypes.includes(itemType)) {
239+
// Handle class features based on vehicle configuration
240+
if (itemType === 'classFeature' && vehicleTypes.includes(featureType)) {
241+
const vehicle = actor?.system?.vehicle;
242+
const isEmbarked = vehicle?.embarked;
243+
let itemExistsInVehicle = false;
244+
245+
if (featureType === 'projectfu.supportModule' && Array.isArray(vehicle?.supports)) {
246+
itemExistsInVehicle = vehicle.supports.some((support) => support.id === itemId);
247+
} else if (featureType === 'projectfu.weaponModule' && Array.isArray(vehicle?.weapons)) {
248+
itemExistsInVehicle = vehicle.weapons.some((weapon) => weapon.id === itemId);
249+
} else if (featureType === 'projectfu.armorModule') {
250+
itemExistsInVehicle = vehicle?.armor?.id === itemId;
251+
} else if (featureType === 'projectfu.vehicle') {
252+
itemExistsInVehicle = vehicle?.vehicle?.id === itemId;
253+
}
254+
255+
// Continue to the next effect if the item shouldn't transfer its effects
256+
if (!isEmbarked || !itemExistsInVehicle || (item.transferEffects && !item.transferEffects())) {
257+
// console.log('Skipping effect due to non-embarked status or item not being part of vehicle.');
258+
continue;
259+
}
260+
} else if (itemType === 'classFeature' && arcanumTypes.includes(featureType)) {
261+
const currentArcanumId = actor?.system.equipped?.arcanum;
262+
263+
// Check if the item is the currently active arcanum
264+
if (itemId !== currentArcanumId) {
265+
continue;
266+
}
267+
} else {
268+
// Handle regular items using the equipped data model
269+
const equipData = this.system.equipped;
270+
if (!equipData.transferEffects(itemId)) {
271+
continue;
272+
}
274273
}
275274
}
276275
}

module/sheets/actor-standard-sheet.mjs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -511,14 +511,6 @@ export class FUStandardActorSheet extends ActorSheet {
511511
await item.update({ 'system.quantity.value': newQuantity });
512512
},
513513
},
514-
{
515-
types: ['class', 'skill'],
516-
update: async (itemData, item) => {
517-
const incrementValue = itemData.system.level?.value || 1;
518-
const newValue = Math.min((item.system.level.value || 0) + incrementValue, item.system.level.max || 0);
519-
await item.update({ 'system.level.value': newValue });
520-
},
521-
},
522514
{
523515
types: ['effect'],
524516
update: async (itemData) => {

0 commit comments

Comments
 (0)