As now, inside <EnhancementAbilities> there can be only one enhancement available. For instance,

<EnhancementAbilities>
<Enhance
enhancement= "+efficient:10"
enhancement= "+hpbonus:5"
/>

This does not work. Only the last enhancement is active, for this example, hpbonus.

Having multiple <EnhancementAbilities> on a single deviceslot does not work either, from same configuration above,

<DeviceSlot criteria="s" >
<EnhancementAbilities>
<Enhance
enhancement= "+efficient:10"
/>
<EnhancementAbilities>
<Enhance
enhancement= "+hpbonus:5"
/>
</DeviceSlot>

This does not work as well.

Right now the workaround is make separate devices (one virtual, one real) but that is rather messy and not really perfect solution.

megas 28 Jul 2020:

This is already possible, but only for enhancers with defined types, which prevents stacking. For example, give your efficiency something like type="myBonus1" (or whatever name, see laser collimator as an example) and your hpbonus type="myBonus2", and it will apply both. The only problem with this method is multiple devices cannot stack with each other. If you want an enhancer that can stack with itself (no type given) and give more than one bonus, then your ticket stands.

kwm1800 29 Jul 2020:

@megas : Yes, your solution is indeed having separated devices, and you just mentioned the problem of using such method.

george moromisato 10 Dec 2020:

Can you try the following (will work on 1.9 Beta 2):

<DeviceSlot ...>
   <EnhancementAbilities>
      <Enhance enhancement="+efficient:10"/>
      <Enhance enhancement="+hpBonus:5"/>
   </EnhancementAbilities>
</DeviceSlot>

A few caveats:

  • You may need to start a new game after adding the XML.
  • If you have a type= attribute on <Enhance> then they need to be different for each enhancement.