Logo Platform
logo amplifiers simplified

Modding System influence circles

Reply
Copied to clipboard!
7 years ago
Apr 15, 2018, 12:27:25 AM

Trying to change how fast influence circles grow (basically abit faster at the star to enable asteroid field/nebulae/etc grabbing, but abit slower later on), but I don't understand how the values I found in SimulationDescriptors[ColonizedStartSystem] exaxtly correlate with each other. 



<BinaryModifier TargetProperty="NetSystemInfluence"     Operation="Addition"        Left="$(NetSystemEmpirePoint)" BinaryOperation="Subtraction" Right="$(SystemInfluenceUpkeep)" TooltipHidden="true" />

       
        <Modifier       TargetProperty="SystemInfluenceRadiusDivider"  Operation="Addition"        Value="50" Priority="-1"/>
        <Modifier       TargetProperty="SystemInfluenceRadiusDivider"  Operation="Division"        Value="$(SystemInfluenceStock)" Priority="0"/>
        <Modifier       TargetProperty="SystemInfluenceRadiusDivider"  Operation="Addition"        Value="1.5" Priority="1"/>

        <BinaryModifier       TargetProperty="SystemInfluenceRadius"  Operation="Addition"        Left="$(SystemInfluenceStock)" BinaryOperation="Division" Right="$(GameSpeedMultiplier)"/>
        <Modifier       TargetProperty="SystemInfluenceRadius"  Operation="Division"        Value="3.14115926" />
        <Modifier       TargetProperty="SystemInfluenceRadius"  Operation="Power"           Value="0.4"/>

        <Modifier       TargetProperty="SystemInfluenceRadius"  Operation="Division"        Value="$(SystemInfluenceRadiusDivider)" Priority="1" />
        <Modifier       TargetProperty="SystemInfluenceRadius"  Operation="Addition"        Value="3" Priority="2"/>


        <Modifier       TargetProperty="NeighbourRadius"        Operation="Addition"        Value="$(SystemInfluenceRadius)"/>


So far, it looks like the game calculates the total influence of a system ever gained (modified by game speed), then divides that by pi to basically get the radius of the influence circle. (so the total influence gained basically is the area of the influence circle).  


What I dont get is how the 2nd division (value="$(SystemInfluenceRadiusDivider)" Priority="1" /)  and 2nd addition (Value="3" Priority="2"/>) are going into that formula now.



Anybody got an idea ? Or perhaps got the whole forumula ?


Updated 7 years ago.
0Send private message
7 years ago
Apr 16, 2018, 8:46:02 AM

Hey Shakiko!


Here's the formula according to a normal system on turn 1:

SystemInfluenceRadius = ((((10 + (SystemInfluenceStock / GameSpeedMultiplier)) / PI) ^ 0.4) / SystemInfluenceRadiusDivider + 3) x SystemCount + 0.00000001


Here's what each of these variables come from:

- 10 is the BaseValue of the property

- SystemInfluenceStock is the total influence gained: each turn, it is increased by the value of NetSystemInfluence

- GameSpeedMultiplier is a variable which says how fast the game goes. GameSpeedTimeMultiplier is the inverse (1 / GameSpeedMultiplier)

- PI and 0.4 are arbitrary values as far as I know

- SystemInfluenceRadiusDivider's formula is 50 / SystemInfluenceStock + 1.5

- SystemCount is 1 when the system is in state "colony", 0 otherwise

- 0.00000001 is used to avoid weird visual behaviours in some situations


I recommend using footplot to visualize how the radius evolves based on the system influence stock.

Updated 7 years ago.
0Send private message
?

Click here to login

Reply
Comment

Characters : 0
No results
0Send private message