Not sure if this should go here or in Ideas, but I'll put it here for starters


As far as I can tell, there are three options for modding the cost of a slot:

1) Flat add cost

<Cost ResourceName="Strategic1" Instant="true">1</Cost>


2) Cost Multiple x2

<Slot Name="SlotName" ModuleCostMultiplier="2">


3) Cost Multiple x4

<Slot Name="SlotName" ModuleCostMultiplier="4">


I think the ModuleCostMultiple variable needs to be:

  • Changed to CostModifier
  • Set up as a SimulationDescriptors[Module] variable

Setting it up as a variable allows the modder to use the variable options in the game engine to change the cost of the slot/mount appropriately.


For example, if I use the following currently defined ModuleModifier:
<ModuleModifier>
    <SimulationDescriptorReference Name="x3"/>
</ModuleModifier>


...I can't change the cost of the slot to x3.


Here would be an example of use:


In a HullDefinitions[Faction].xml file:


<Slot Name="Weapon01">
    <RestrictedModuleCategory>Weapon</RestrictedModuleCategory>
    <LineOfSight>
        <Direction X="1" Z="1"/>
        <Angle>270</Angle>
        <VisualSlotName>MDL_Wp_Small_Up_01</VisualSlotName>
    </LineOfSight>
    <ModuleModifier>
        <SimulationDescriptorReference Name="DoubleWeapon"/>
    </ModuleModifier>
    <UISlotName>UIBackWeapon06</UISlotName>
</Slot>


In file SimulationDescriptors[Module].xml:


    <SimulationDescriptor Name="DoubleWeapon" Type="DoubleWeapon">
        <Modifier TargetProperty="Multiplier"               Operation="Multiplication"  Value="1.5"   Path="ClassModule" />
        <Modifier TargetProperty="Cooldown"               Operation="Percent"         Value="0.75"      Path="ClassModuleWeapon" />

        <Modifier TargetProperty="CostModifier"          Operation="Multiplication"  Value="1.75"   Path="ClassModule" />
    </SimulationDescriptor>


In the above example, any weapon placed in this slot would have the following attributes modified:

1) Damage multiplied x 1.5

2) Cool down decreased slightly (25% if I read the xml correctly)

3) Cost multiplied x 1.75


Second example:


    <SimulationDescriptor Name="DoubleWeapon" Type="DoubleWeapon">
        <Modifier TargetProperty="Multiplier"               Operation="Multiplication"  Value="1.5"   Path="ClassModule" />
        <Modifier TargetProperty="Cooldown"               Operation="Percent"         Value="0.25"      Path="ClassModuleWeapon" />

        <BinaryModifier TargetProperty="CostModifier" Operation="Addition" Left="$(Cost)"  BinaryOperation="Multiplication" Right="$(ShipSize)"   Path="ClassModule" />
    </SimulationDescriptor>


In the above example, the cost would be: WeaponBaseCost x ShipSize (1 for Small, 2 for Medium, 4 for Large)