I use the following code (which used to work just fine) on a playership to limit it to only installing weapons whose shot origins line up with standard dual/alternating weapons:

			<CanInstallItem>

				; Only run primary weapons through this.

				(if (eq (itmGetCategory (scrGetItem gScreen)) 4)
					(block (aeResult)

				; Result defaults to true to allow installation.

						(setq aeResult true)

				; Check weapon shot origin points and make sure they match up with standard dual/alternating positions.

						(enum (typGetProperty (itmGetType (scrGetItem gScreen)) 'configuration) aeConfigTest
							(if
								(not
									(or
										(eq (@ (@ (@ (typGetProperty (itmGetType (scrGetItem gScreen)) 'configuration) aeConfigTest) 0) 3) 1090670464)
										(eq (@ (@ (@ (typGetProperty (itmGetType (scrGetItem gScreen)) 'configuration) aeConfigTest) 0) 3) -1056813184)
									)
								)

				; Non-matching weapons set result to a string to disallow installation.

								(setq aeResult "This weapon is not compatible with the Anathema.")
							)
						)

				; Return the result.

						aeResult
					)

				; If it wasn’t a weapon, return true to allow installation.

					true
				)
			</CanInstallItem>

 While it still properly handles things like disallowing omni-turbos or even the PM6, on weapons it should allow it only shows Nil with any installation option greyed out.

1.png
1.png
2.png
2.png
assumedpseudonym 8 Apr 2020:

 Never mind. The problem was related to device slot availability. Closing.