I understand that you have your vision how trade is supposed to work so I suggest this change for modding purposes only.
Add new parameter to the "outgoing" sections of the "00_tradenodes.txt", possibly also add new command allowing to switch it in game.
New parameter could be called bidirectional, with default value no (vanilla game). Setting its value 'yes' would allow "normal" trade propagation in the opposite direction in given trade link.
If modded to yes (or changed by decision/event) it would has the following effect:
- trade propagation upstream works exactly as for downstream link, which means that there is transfer of both trade value and trade power (for additional effects look at the bottom of post)
Trade power would be calculated as it is now ((land + merchant + navy + propagated) * modifier).
Trade value for collecting would be calculated exactly as it is now (local+all incoming values)* %collecting_power
Trade value for ANY outgoing stream (let as call it nodeA->nodeB stream) would be calculated as %outgoingA->B * (total_trade_value - incoming_trade_fromB->A) - thus the same trade is processed only once per node (no feedback)
Other changes:
tooltips: when looking at outgoing/incoming trade flow game would need to check both of them because some could be bidirectional
enable/disable that "box" which allows merchant to change steering direction in trade map mode; possibly it could be easier then such boxes could be always drawn for the opposite direction, but be unaccessible unless bidirectional trade on given link is enabled
possibly additional variable in "defines.lua" could turn on/off the whole feature, so there are no 'artificial' always blocked boxes in vanilla trade mode (or maybe they can appear/disappear dynamically?)
AI merchant/navy assignments would need to take into account that some links may be bidirectional, but it is my honest belief that no more work should be required on AI except to expand all loops to take into account more links/more nodes
All map balancing would be left to modders (some nodes would be pulling stronger than others due to the number of provinces and especially number of estuaries and trade centers but it could be solved using coefficient described below).
Another interesting possibility would be to add parameters modifying trade power propagation (weighting coefficient) for both trade flows (forward and back). And add possibility to change it in game via events etc.
These commands would work in trade node scope only and second node would be an argument.
Edit:
I was thinking that supposedly upstream transfer is possible even now (albeit with hefty penalty) - so maybe the only thing to add is
- possibility to change weighting modifier for each link
- tooltip description (it is missing for upstream transfer)
- boxes for merchant steering assignment
Add new parameter to the "outgoing" sections of the "00_tradenodes.txt", possibly also add new command allowing to switch it in game.
New parameter could be called bidirectional, with default value no (vanilla game). Setting its value 'yes' would allow "normal" trade propagation in the opposite direction in given trade link.
If modded to yes (or changed by decision/event) it would has the following effect:
- trade propagation upstream works exactly as for downstream link, which means that there is transfer of both trade value and trade power (for additional effects look at the bottom of post)
Trade power would be calculated as it is now ((land + merchant + navy + propagated) * modifier).
Trade value for collecting would be calculated exactly as it is now (local+all incoming values)* %collecting_power
Trade value for ANY outgoing stream (let as call it nodeA->nodeB stream) would be calculated as %outgoingA->B * (total_trade_value - incoming_trade_fromB->A) - thus the same trade is processed only once per node (no feedback)
Other changes:
tooltips: when looking at outgoing/incoming trade flow game would need to check both of them because some could be bidirectional
enable/disable that "box" which allows merchant to change steering direction in trade map mode; possibly it could be easier then such boxes could be always drawn for the opposite direction, but be unaccessible unless bidirectional trade on given link is enabled
possibly additional variable in "defines.lua" could turn on/off the whole feature, so there are no 'artificial' always blocked boxes in vanilla trade mode (or maybe they can appear/disappear dynamically?)
AI merchant/navy assignments would need to take into account that some links may be bidirectional, but it is my honest belief that no more work should be required on AI except to expand all loops to take into account more links/more nodes
All map balancing would be left to modders (some nodes would be pulling stronger than others due to the number of provinces and especially number of estuaries and trade centers but it could be solved using coefficient described below).
Another interesting possibility would be to add parameters modifying trade power propagation (weighting coefficient) for both trade flows (forward and back). And add possibility to change it in game via events etc.
These commands would work in trade node scope only and second node would be an argument.
Edit:
I was thinking that supposedly upstream transfer is possible even now (albeit with hefty penalty) - so maybe the only thing to add is
- possibility to change weighting modifier for each link
- tooltip description (it is missing for upstream transfer)
- boxes for merchant steering assignment
Last edited:
Upvote
0