@@ -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 }
0 commit comments