GithubHelp home page GithubHelp logo

crissian / x4 Goto Github PK

View Code? Open in Web Editor NEW
65.0 5.0 31.0 11.37 MB

X4: Foundations Utilities & Database

Home Page: http://www.x4-game.com

HTML 0.37% TypeScript 10.05% CSS 89.57% SCSS 0.01%
x4foundations x4 game

x4's Introduction

x4's People

Contributors

akuendig avatar crissian avatar lokisharp avatar rayman2200 avatar simoneenet avatar stummi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

x4's Issues

Import plan not working

Good afternoon, I would like to report that the import of construction plans exported from the game does not currently work on the page, I am using version 6.10, but I have tried to import older plans and it does not work either, I only get a message saying "Failed to import plans."
I am attaching a zip with one of the plans that I am trying to import.
2bor.zip

www.x4-game.com only shows a 404 error

Hi!

When opening http://www.x4-game.com/ in a web browser, I get a 404 error with
"Oops, looks like the page is lost. This is not a fault, just an accident that was not intentional."
It worked some days ago.

DNS information (in case the server has moved and I'm seeing the wrong host):

www.x4-game.com is an alias for x4-game.com.
x4-game.com has address 185.224.138.162

(Thank you for providing this very helpful service and the sources!)

Unable to complete import

Hello,
Description of the issue:
Since the KE update I am unable to import my constructionplans.xml.
Pre-KE this worked fine.

OS: macOS Monterey
Tested Webbrowsers: Safari 16.4.1 and Chrome 112.X

Steps to reproduce:

  1. I have reloaded the page.
  2. I click the Import-button in the top menu which opens up the "Import Plans"-dialogue window.
  3. I copy and paste the contents of my constructionplans.xml into the designated field (sample file attached to the issue but with file ending swapped to txt since github does not allow xml uploads).
  4. I click the "Import"-button at which point nothing more happens. The window does not close and no import initates. The Import-button responds to mouseover hover, but the event that should fire on click appears to fail or not trigger at all.
  5. The window can be closed with the Cancel-button.

constructionplans.txt

Workforce percent dont work

Hello

Since the last version, the workforce percent dont work anymore, products amounts are not update by changing the workforce percent

image

image

Station database

Would you consider to add a station database to you website? Would be great if the community could upload their station layouts + a picture. The website could scan the layout file to list the modules, needed resources, produced resources, possible profit, manpower etc.

Not sure if you are aware of the Egosoft / X4 discord channel. Maybe you want join it if not done yet. A lot of modders hanging out there.

https://discord.gg/J8u6Kdc

Bug with Teladi Scanning Array Production

For some reason this goes negative when importing:

<?xml version="1.0" encoding="UTF-8"?> <plans> <plan id="player_1618856694" name="Terran SS Shipyard (Claim)" description=""> <patches> <patch extension="ego_dlc_terran" version="100" name="Cradle of Humanity"/> </patches> <entry index="1" macro="hab_ter_l_01_macro"> <offset> <position x="-2804.078" y="4709.495" z="-3929.359"/> <rotation yaw="-89.99996"/> </offset> </entry> <entry index="2" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="1" connection="connectionsnap004"/> <offset> <position x="-2804.077" y="4709.495" z="-2329.359"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="3" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="2" connection="connectionsnap004"/> <offset> <position x="-2804.076" y="4709.496" z="-729.359"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="4" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="3" connection="connectionsnap004"/> <offset> <position x="-2804.074" y="4709.496" z="870.641"/> <rotation yaw="-89.99994"/> </offset> </entry> <entry index="5" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="4" connection="connectionsnap004"/> <offset> <position x="-2804.072" y="4709.496" z="2470.641"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="6" macro="hab_ter_l_01_macro" connection="connectionsnap001"> <predecessor index="1" connection="connectionsnap002"/> <offset> <position x="-1204.078" y="4709.495" z="-3929.359"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="7" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="6" connection="connectionsnap004"/> <offset> <position x="-1204.077" y="4709.495" z="-2329.36"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="8" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="7" connection="connectionsnap004"/> <offset> <position x="-1204.076" y="4709.495" z="-729.36"/> <rotation yaw="-89.99994"/> </offset> </entry> <entry index="9" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="8" connection="connectionsnap004"/> <offset> <position x="-1204.074" y="4709.496" z="870.641"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="10" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="9" connection="connectionsnap004"/> <offset> <position x="-1204.072" y="4709.496" z="2470.641"/> <rotation yaw="-89.99989"/> </offset> </entry> <entry index="11" macro="hab_ter_l_01_macro" connection="connectionsnap001"> <predecessor index="6" connection="connectionsnap002"/> <offset> <position x="395.921" y="4709.495" z="-3929.361"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="12" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="11" connection="connectionsnap004"/> <offset> <position x="395.922" y="4709.495" z="-2329.361"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="13" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="12" connection="connectionsnap004"/> <offset> <position x="395.924" y="4709.495" z="-729.361"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="14" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="13" connection="connectionsnap004"/> <offset> <position x="395.926" y="4709.495" z="870.64"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="15" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="14" connection="connectionsnap004"/> <offset> <position x="395.929" y="4709.496" z="2470.64"/> <rotation yaw="-89.99989"/> </offset> </entry> <entry index="16" macro="hab_ter_l_01_macro" connection="connectionsnap001"> <predecessor index="11" connection="connectionsnap002"/> <offset> <position x="1995.921" y="4709.495" z="-3929.362"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="17" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="16" connection="connectionsnap004"/> <offset> <position x="1995.922" y="4709.495" z="-2329.362"/> <rotation yaw="-89.99994"/> </offset> </entry> <entry index="18" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="17" connection="connectionsnap004"/> <offset> <position x="1995.924" y="4709.495" z="-729.362"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="19" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="18" connection="connectionsnap004"/> <offset> <position x="1995.927" y="4709.495" z="870.638"/> <rotation yaw="-89.99989"/> </offset> </entry> <entry index="20" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="19" connection="connectionsnap004"/> <offset> <position x="1995.93" y="4709.495" z="2470.638"/> <rotation yaw="-89.99989"/> </offset> </entry> <entry index="21" macro="hab_ter_l_01_macro" connection="connectionsnap001"> <predecessor index="16" connection="connectionsnap002"/> <offset> <position x="3595.921" y="4709.495" z="-3929.363"/> <rotation yaw="-89.99995"/> </offset> </entry> <entry index="22" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="21" connection="connectionsnap004"/> <offset> <position x="3595.923" y="4709.495" z="-2329.364"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="23" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="22" connection="connectionsnap004"/> <offset> <position x="3595.924" y="4709.495" z="-729.363"/> <rotation yaw="-89.99992"/> </offset> </entry> <entry index="24" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="23" connection="connectionsnap004"/> <offset> <position x="3595.927" y="4709.495" z="870.636"/> <rotation yaw="-89.99989"/> </offset> </entry> <entry index="25" macro="hab_ter_l_01_macro" connection="connectionsnap003"> <predecessor index="24" connection="connectionsnap004"/> <offset> <position x="3595.931" y="4709.495" z="2470.637"/> <rotation yaw="-89.99989"/> </offset> </entry> <entry index="26" macro="defence_ter_claim_01_macro" connection="connectionsnap001"> <predecessor index="25" connection="connectionsnap004"/> <offset> <position x="3595.933" y="5509.495" z="3670.637"/> <rotation yaw="-179.99988"/> </offset> </entry> <entry index="27" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="5" connection="connectionsnap001"/> <offset> <position x="-4104.073" y="4709.496" z="2470.643"/> <rotation yaw="90.00008"/> </offset> </entry> <entry index="28" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="27" connection="connectionsnap002"/> <offset> <position x="-5104.073" y="4709.496" z="2470.644"/> <rotation yaw="90.00008"/> </offset> </entry> <entry index="29" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="4" connection="connectionsnap001"/> <offset> <position x="-4104.075" y="4709.496" z="870.643"/> <rotation yaw="90.00005"/> </offset> </entry> <entry index="30" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="29" connection="connectionsnap002"/> <offset> <position x="-5104.076" y="4709.496" z="870.643"/> <rotation yaw="90.00007"/> </offset> </entry> <entry index="31" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="3" connection="connectionsnap001"/> <offset> <position x="-4104.076" y="4709.496" z="-729.358"/> <rotation yaw="90.00005"/> </offset> </entry> <entry index="32" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="31" connection="connectionsnap002"/> <offset> <position x="-5104.078" y="4709.496" z="-729.357"/> <rotation yaw="90.00005"/> </offset> </entry> <entry index="33" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="2" connection="connectionsnap001"/> <offset> <position x="-4104.077" y="4709.495" z="-2329.359"/> <rotation yaw="90.00002"/> </offset> </entry> <entry index="34" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="33" connection="connectionsnap002"/> <offset> <position x="-5104.079" y="4709.495" z="-2329.358"/> <rotation yaw="90.00002"/> </offset> </entry> <entry index="35" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="5" connection="connectionsnap004"/> <offset> <position x="-2804.071" y="4709.496" z="3770.642"/> <rotation yaw="-179.99989"/> </offset> </entry> <entry index="36" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="35" connection="connectionsnap002"/> <offset> <position x="-2804.069" y="4709.496" z="4770.642"/> <rotation yaw="-179.99989"/> </offset> </entry> <entry index="37" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="10" connection="connectionsnap004"/> <offset> <position x="-1204.07" y="4709.496" z="3770.641"/> <rotation yaw="-179.99989"/> </offset> </entry> <entry index="38" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="37" connection="connectionsnap002"/> <offset> <position x="-1204.068" y="4709.496" z="4770.643"/> <rotation yaw="-179.99989"/> </offset> </entry> <entry index="39" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="15" connection="connectionsnap004"/> <offset> <position x="395.931" y="4709.496" z="3770.64"/> <rotation yaw="-179.99989"/> </offset> </entry> <entry index="40" macro="prod_ter_energycells_macro" connection="connectionsnap001"> <predecessor index="39" connection="connectionsnap002"/> <offset> <position x="395.933" y="4709.496" z="4770.643"/> <rotation yaw="-179.99989"/> </offset> </entry> <entry index="41" macro="prod_ter_medicalsupplies_macro"> <offset> <position x="-3404.078" y="3509.495" z="-3929.358"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="42" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="41" connection="connectionsnap002"/> <offset> <position x="-2604.078" y="3509.495" z="-3929.358"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="43" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="42" connection="connectionsnap002"/> <offset> <position x="-1804.078" y="3509.494" z="-3929.357"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="44" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="43" connection="connectionsnap002"/> <offset> <position x="-1004.078" y="3509.494" z="-3929.356"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="45" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="44" connection="connectionsnap002"/> <offset> <position x="-204.078" y="3509.494" z="-3929.354"/> <rotation yaw="-0.000119528"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="46" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="45" connection="connectionsnap002"/> <offset> <position x="595.922" y="3509.494" z="-3929.353"/> <rotation yaw="-0.000143434"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="47" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="46" connection="connectionsnap002"/> <offset> <position x="1395.922" y="3509.493" z="-3929.35"/> <rotation yaw="-0.00016734"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="48" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="47" connection="connectionsnap002"/> <offset> <position x="2195.922" y="3509.493" z="-3929.348"/> <rotation yaw="-0.000191245"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="49" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="48" connection="connectionsnap002"/> <offset> <position x="2995.921" y="3509.493" z="-3929.345"/> <rotation yaw="-0.000215151"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="50" macro="prod_ter_medicalsupplies_macro" connection="connectionsnap001"> <predecessor index="49" connection="connectionsnap002"/> <offset> <position x="3795.921" y="3509.492" z="-3929.342"/> <rotation yaw="-0.000239057"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="51" macro="prod_ter_mre_macro"> <offset> <position x="-4204.078" y="3109.495" z="-3129.359"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="52" macro="prod_ter_mre_macro"> <offset> <position x="-4204.078" y="3109.495" z="-2329.359"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="53" macro="prod_ter_mre_macro"> <offset> <position x="-4204.079" y="3109.494" z="-1529.359"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="54" macro="prod_ter_mre_macro"> <offset> <position x="-4204.079" y="3109.494" z="-729.359"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="55" macro="prod_ter_mre_macro"> <offset> <position x="-4204.08" y="3109.494" z="70.641"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="56" macro="prod_ter_mre_macro"> <offset> <position x="-4204.081" y="3109.494" z="870.641"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="57" macro="prod_ter_proteinpaste_macro"> <offset> <position x="-3204.078" y="2309.495" z="-3929.359"/> </offset> </entry> <entry index="58" macro="prod_ter_proteinpaste_macro"> <offset> <position x="-3204.078" y="2309.495" z="-2329.358"/> </offset> </entry> <entry index="59" macro="prod_ter_proteinpaste_macro"> <offset> <position x="-3204.079" y="2309.494" z="-729.358"/> </offset> </entry> <entry index="60" macro="prod_ter_proteinpaste_macro"> <offset> <position x="-3204.081" y="2309.494" z="870.642"/> </offset> </entry> <entry index="61" macro="prod_gen_plasmaconductors_macro"> <offset> <position x="-3604.082" y="2909.494" z="1470.641"/> <rotation yaw="90"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="62" macro="prod_gen_plasmaconductors_macro"> <offset> <position x="-3604.083" y="2909.494" z="2270.641"/> <rotation yaw="89.99997"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="63" macro="prod_gen_graphene_macro"> <offset> <position x="-4004.084" y="2709.493" z="3470.641"/> <rotation yaw="89.99989"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="64" macro="prod_gen_graphene_macro"> <offset> <position x="-4004.086" y="2709.493" z="4270.641"/> <rotation yaw="89.99989"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="65" macro="prod_ter_metallicmicrolattice_macro" connection="connectionsnap001"> <predecessor index="58" connection="connectionsnap002"/> <offset> <position x="-2204.078" y="2909.495" z="-2329.357"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="66" macro="prod_ter_computronicsubstrate_macro" connection="connectionsnap001"> <predecessor index="65" connection="connectionsnap002"/> <offset> <position x="-1204.078" y="2809.495" z="-2329.356"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> </groups> </upgrades> </entry> <entry index="67" macro="prod_ter_siliconcarbide_macro" connection="connectionsnap001"> <predecessor index="66" connection="connectionsnap002"/> <offset> <position x="-204.078" y="2909.495" z="-2329.354"/> <rotation yaw="-0.000121577"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="68" macro="prod_gen_turretcomponents_macro"> <offset> <position x="-3604.085" y="1709.493" z="3870.64"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="69" macro="prod_gen_refinedmetals_macro"> <offset> <position x="795.917" y="1709.491" z="3870.637"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="70" macro="prod_gen_hullparts_macro"> <offset> <position x="1395.917" y="1509.491" z="3670.634"/> <rotation yaw="179.99995"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="71" macro="prod_gen_superfluidcoolant_macro"> <offset> <position x="-4.084" y="1909.492" z="4270.639"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="72" macro="prod_gen_fieldcoils_macro"> <offset> <position x="-1604.085" y="1509.492" z="3870.64"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> </groups> </upgrades> </entry> <entry index="73" macro="prod_gen_advancedelectronics_macro"> <offset> <position x="-2804.085" y="1309.492" z="3870.64"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01" exact="2"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="4"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="74" macro="prod_gen_microchips_macro"> <offset> <position x="2395.918" y="1309.491" z="3470.635"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="75" macro="prod_gen_quantumtubes_macro"> <offset> <position x="2995.919" y="1909.491" z="4070.634"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="76" macro="prod_gen_shieldcomponents_macro"> <offset> <position x="-804.084" y="1509.492" z="3870.639"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="77" macro="prod_gen_siliconwafers_macro"> <offset> <position x="4595.92" y="1509.49" z="4070.631"/> <rotation yaw="89.99997"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> </groups> </upgrades> </entry> <entry index="78" macro="prod_tel_scanningarrays_macro"> <offset> <position x="4195.918" y="1509.49" z="3470.63"/> <rotation yaw="-89.99995"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="down_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="top_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="down_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="top_01" exact="2"/> </groups> </upgrades> </entry> <entry index="79" macro="dockarea_ter_m_station_01_hightech_macro"> <offset> <position x="713.038" y="42.764" z="-982.014"/> <rotation yaw="134.10663"/> </offset> </entry> <entry index="80" macro="storage_ter_l_liquid_01_macro" connection="connectionsnap04"> <predecessor index="79" connection="connectionsnap001"/> <offset> <position x="1431.083" y="-357.236" z="-1678.01"/> <rotation yaw="134.10663"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="81" macro="storage_ter_l_liquid_01_macro" connection="connectionsnap01"> <predecessor index="80" connection="connectionsnap02"/> <offset> <position x="1431.083" y="-1957.236" z="-1678.01"/> <rotation yaw="134.10667"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="82" macro="storage_ter_l_solid_01_macro" connection="connectionsnap06"> <predecessor index="79" connection="connectionsnap007"/> <offset> <position x="17.041" y="-357.236" z="-1700.059"/> <rotation yaw="134.10669"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="83" macro="storage_ter_l_solid_01_macro" connection="connectionsnap01"> <predecessor index="82" connection="connectionsnap02"/> <offset> <position x="17.041" y="-1957.236" z="-1700.059"/> <rotation yaw="134.10663"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="84" macro="storage_ter_l_liquid_01_macro" connection="connectionsnap04"> <predecessor index="80" connection="connectionsnap03"/> <offset> <position x="2005.52" y="-357.236" z="-2234.807"/> <rotation yaw="134.10661"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="85" macro="storage_ter_l_liquid_01_macro" connection="connectionsnap01"> <predecessor index="84" connection="connectionsnap02"/> <offset> <position x="2005.52" y="-1957.236" z="-2234.807"/> <rotation yaw="134.10663"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> </groups> </upgrades> </entry> <entry index="86" macro="storage_ter_l_solid_01_macro" connection="connectionsnap06"> <predecessor index="82" connection="connectionsnap05"/> <offset> <position x="-539.756" y="-357.236" z="-2274.495"/> <rotation yaw="134.1067"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="87" macro="storage_ter_l_solid_01_macro" connection="connectionsnap01"> <predecessor index="86" connection="connectionsnap02"/> <offset> <position x="-539.756" y="-1957.236" z="-2274.495"/> <rotation yaw="134.10667"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="88" macro="buildmodule_ter_ships_m_dockarea_01_macro" connection="connectionsnap004"> <predecessor index="79" connection="connectionsnap005"/> <offset> <position x="-5.007" y="42.764" z="-286.017"/> <rotation yaw="134.1067"/> </offset> </entry> <entry index="89" macro="buildmodule_ter_ships_xl_macro" connection="connectionsnap001"> <predecessor index="88" connection="connectionsnap003"/> <offset> <position x="-1584.706" y="42.764" z="1245.176"/> <rotation yaw="44.10669"/> </offset> </entry> <entry index="90" macro="buildmodule_ter_ships_l_macro" connection="connectionsnap001"> <predecessor index="89" connection="connectionsnap002"/> <offset> <position x="-3451.623" y="42.764" z="3054.767"/> <rotation yaw="44.10674"/> </offset> </entry> <entry index="91" macro="storage_ter_l_container_01_macro" connection="connectionsnap05"> <predecessor index="79" connection="connectionsnap003"/> <offset> <position x="1409.035" y="-357.236" z="-263.969"/> <rotation yaw="134.10669"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="92" macro="storage_ter_l_container_01_macro" connection="connectionsnap01"> <predecessor index="91" connection="connectionsnap02"/> <offset> <position x="1409.034" y="-1957.236" z="-263.969"/> <rotation yaw="134.10667"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="93" macro="storage_ter_l_container_01_macro" connection="connectionsnap05"> <predecessor index="91" connection="connectionsnap06"/> <offset> <position x="1965.832" y="-357.236" z="310.467"/> <rotation yaw="134.10667"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="94" macro="storage_ter_l_container_01_macro" connection="connectionsnap01"> <predecessor index="93" connection="connectionsnap02"/> <offset> <position x="1965.831" y="-1957.236" z="310.467"/> <rotation yaw="134.10663"/> </offset> <upgrades> <groups> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="left_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_01"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="right_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="back_02"/> <shields macro="shield_ter_m_standard_02_mk3_macro" path=".." group="front_01"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="left_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_01" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="right_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="back_02" exact="2"/> <turrets macro="turret_ter_m_beam_02_mk1_macro" path=".." group="front_01" exact="2"/> </groups> </upgrades> </entry> <entry index="95" macro="dockarea_ter_m_station_01_hightech_macro"> <offset> <position x="-2200.659" y="-2927.012" z="1180.743"/> <rotation yaw="-0.893358"/> </offset> </entry> <entry index="96" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap005"/> <offset> <position x="-2185.068" y="-2927.013" z="180.865"/> <rotation yaw="-0.893314"/> </offset> </entry> <entry index="97" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="96" connection="connectionsnap002"/> <offset> <position x="-2172.596" y="-2927.013" z="-619.038"/> <rotation yaw="-0.893305"/> </offset> </entry> <entry index="98" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="97" connection="connectionsnap005"/> <offset> <position x="-2172.596" y="-3527.013" z="-619.039"/> </offset> </entry> <entry index="99" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="98" connection="connectionsnap002"/> <offset> <position x="-2172.596" y="-4127.013" z="-619.039"/> </offset> </entry> <entry index="100" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap004"/> <offset> <position x="-2896.656" y="-2927.013" z="462.698"/> <rotation yaw="44.10669"/> </offset> </entry> <entry index="101" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="100" connection="connectionsnap002"/> <offset> <position x="-3453.453" y="-2927.013" z="-111.738"/> <rotation yaw="44.10669"/> </offset> </entry> <entry index="102" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="101" connection="connectionsnap005"/> <offset> <position x="-3453.453" y="-3527.013" z="-111.738"/> <rotation yaw="45.00003"/> </offset> </entry> <entry index="103" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="102" connection="connectionsnap002"/> <offset> <position x="-3453.453" y="-4127.013" z="-111.738"/> <rotation yaw="45.00003"/> </offset> </entry> <entry index="104" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap003"/> <offset> <position x="-3200.538" y="-2927.013" z="1165.152"/> <rotation yaw="89.10667"/> </offset> </entry> <entry index="105" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="104" connection="connectionsnap002"/> <offset> <position x="-4000.439" y="-2927.013" z="1152.68"/> <rotation yaw="89.10667"/> </offset> </entry> <entry index="106" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="105" connection="connectionsnap005"/> <offset> <position x="-4000.44" y="-3527.013" z="1152.679"/> <rotation yaw="90.00003"/> </offset> </entry> <entry index="107" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="106" connection="connectionsnap002"/> <offset> <position x="-4000.44" y="-4127.013" z="1152.679"/> <rotation yaw="90.00003"/> </offset> </entry> <entry index="108" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap002"/> <offset> <position x="-2918.705" y="-2927.012" z="1876.74"/> <rotation yaw="134.10666"/> </offset> </entry> <entry index="109" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="108" connection="connectionsnap002"/> <offset> <position x="-3493.141" y="-2927.012" z="2433.537"/> <rotation yaw="134.10667"/> </offset> </entry> <entry index="110" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="109" connection="connectionsnap005"/> <offset> <position x="-3493.141" y="-3527.012" z="2433.537"/> <rotation yaw="135"/> </offset> </entry> <entry index="111" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="110" connection="connectionsnap002"/> <offset> <position x="-3493.141" y="-4127.013" z="2433.538"/> <rotation yaw="135"/> </offset> </entry> <entry index="112" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap001"/> <offset> <position x="-2216.25" y="-2927.012" z="2180.622"/> <rotation yaw="179.10663"/> </offset> </entry> <entry index="113" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="112" connection="connectionsnap002"/> <offset> <position x="-2228.723" y="-2927.012" z="2980.524"/> <rotation yaw="179.10663"/> </offset> </entry> <entry index="114" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="113" connection="connectionsnap005"/> <offset> <position x="-2228.723" y="-3527.012" z="2980.525"/> <rotation yaw="-179.99998"/> </offset> </entry> <entry index="115" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="114" connection="connectionsnap002"/> <offset> <position x="-2228.723" y="-4127.012" z="2980.526"/> <rotation yaw="-179.99998"/> </offset> </entry> <entry index="116" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap008"/> <offset> <position x="-1504.662" y="-2927.012" z="1898.788"/> <rotation yaw="-135.89328"/> </offset> </entry> <entry index="117" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="116" connection="connectionsnap002"/> <offset> <position x="-947.865" y="-2927.012" z="2473.224"/> <rotation yaw="-135.89326"/> </offset> </entry> <entry index="118" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="117" connection="connectionsnap005"/> <offset> <position x="-947.864" y="-3527.012" z="2473.225"/> <rotation yaw="-134.99991"/> </offset> </entry> <entry index="119" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="118" connection="connectionsnap002"/> <offset> <position x="-947.864" y="-4127.012" z="2473.225"/> <rotation yaw="-134.99991"/> </offset> </entry> <entry index="120" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap006"/> <offset> <position x="-1482.614" y="-2927.012" z="484.747"/> <rotation yaw="-45.8933"/> </offset> </entry> <entry index="121" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="120" connection="connectionsnap002"/> <offset> <position x="-908.178" y="-2927.012" z="-72.051"/> <rotation yaw="-45.8933"/> </offset> </entry> <entry index="122" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="121" connection="connectionsnap005"/> <offset> <position x="-908.177" y="-3527.012" z="-72.051"/> <rotation yaw="-44.99994"/> </offset> </entry> <entry index="123" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="122" connection="connectionsnap002"/> <offset> <position x="-908.177" y="-4127.013" z="-72.051"/> <rotation yaw="-44.99994"/> </offset> </entry> <entry index="124" macro="struct_ter_base_02_macro" connection="connectionsnap001"> <predecessor index="95" connection="connectionsnap007"/> <offset> <position x="-1200.781" y="-2927.012" z="1196.334"/> <rotation yaw="-90.89333"/> </offset> </entry> <entry index="125" macro="struct_ter_cross_01_macro" connection="connectionsnap001"> <predecessor index="124" connection="connectionsnap002"/> <offset> <position x="-400.878" y="-2927.012" z="1208.807"/> <rotation yaw="-90.89333"/> </offset> </entry> <entry index="126" macro="struct_ter_vertical_02_macro" connection="connectionsnap001"> <predecessor index="125" connection="connectionsnap005"/> <offset> <position x="-400.878" y="-3527.012" z="1208.807"/> <rotation yaw="-89.99996"/> </offset> </entry> <entry index="127" macro="pier_ter_harbor_02_macro" connection="connectionsnap006"> <predecessor index="126" connection="connectionsnap002"/> <offset> <position x="-400.878" y="-4127.012" z="1208.807"/> <rotation yaw="-89.99996"/> </offset> </entry> </plan> </plans>

workforce bonus user input?

Would it be possible to make the workforce bonus editable? There are some mods that change this value and it would be great to still be able to use the calculator for those.

Tweaking the list parameters don't stays saved when navigation back

Hi,

Love the site very much.. Thank you! ๐Ÿ‘๐Ÿป

One thing that I find a bit annoying is that when I click a ship after I've sorted by name and increased the list size to 40, navigating back resets my choices. Is that something that could easily be fixed?

I'm not that into JS as of yet, and I'm not sure that I can be of help. Maybe I'll take a grab at it, but not for long.

[request] Total storage by type and some others

Well first, great job on this app :)

I tested some complex and the "problems" i can point out are:

  • A list of storage selected / needed per type in Station Summary
  • Posibility to tweek production efficiency by group of production module
  • A select with search option input for the list of module
  • A list of the Station Modules that produce the ware on the ware detail page
  • Add "Per Hour" on the Station Ressources column
  • Posibility to mark ressource as "not for sale" or select the final ressource to sell

If I had some free time i would look into it myself but unfortunatly that won't be the case soon, so i leave it too you to decide what to implement or not :) and sorry for the bad english ^^

[Bug] Scrap Recycler + Scrap Processor

The Scrap Recycler matches with their "normal" production module counterparts from the page, but they differ vastly in game. And the Scrap Processor doesn't show anything at all.

Found some infos in the game files, maybe it helps:
modules.xml

<!-- Processing Modules -->
<module id="processing_gen" group="processing_gen">
  <category ware="scrapmetal" tags="[processing, module]" race="[argon, paranid, split, teladi]" faction="[teladi, ministry, hatikvah, alliance, scaleplate]" />
</module>

<!-- Recycling Modules -->
<!--Very generic definition without faction data so faction selects it, but can be referenced directly-->
<module id="recycling_gen" group="recycling_gen">
  <category tags="[recycling, module]" />
</module>

wares.xml

<ware id="rawscrap" name="{20201,6801}" description="{20201,6802}" group="refined" transport="solid" volume="10" tags="processed recycling solid">
  <price min="153" average="180" max="207" />
  <icon active="ware_scrapmetal" video="ware_scrapmetal_macro" />
</ware>
<ware id="scrapmetal" name="{20201,6601}" description="{20201,6602}" factoryname="{20201,6604}" group="refined" transport="solid" volume="10" tags="economy recycling solid">
  <price min="318" average="375" max="431" />
    <production time="60" amount="1" method="processing" name="{20206,1301}" tags="noplayerbuild recycling">
      <primary>
        <ware ware="energycells" amount="10" />
        <ware ware="rawscrap" amount="1" />
      </primary>
  </production>
  <icon active="ware_scrapmetal" video="ware_scrapmetal_macro" />
</ware>

My guess for the wrong values for the Scrap Recycler is that the result wares (claytronics + hullparts) are not seperate production wares, but they are included in the base production of each ware (claytronics example from the wares.xml):

<ware id="claytronics" name="{20201,501}" description="{20201,502}" factoryname="{20201,504}" group="shiptech" transport="container" volume="24" tags="container economy stationbuilding">
    <price min="1734" average="2040" max="2346" />
    <production time="900" amount="108" method="default" name="{20206,101}">
      <primary>
        <ware ware="antimattercells" amount="100" />
        <ware ware="energycells" amount="140" />
        <ware ware="microchips" amount="160" />
        <ware ware="quantumtubes" amount="100" />
      </primary>
      <effects>
        <effect type="work" product="0.34" />
      </effects>
    </production>
    <production time="300" amount="60" method="recycling" name="{20206,1101}" tags="noplayerbuild recycling">
      <primary>
        <ware ware="energycells" amount="12000" />
        <ware ware="scrapmetal" amount="300" />
      </primary>
      <effects>
        <effect type="work" product="0.34" />
      </effects>
    </production>
    <icon active="ware_claytronics" video="ware_claytronics_macro" />
  </ware>

X4 Kingdom End

Add to planner all Boron station parts and commodities

[request] "Total resources needed"-line

First and foremost: Thank you! This tool is simple and great for planing stations with a certain output-ratio!

It would be great (and probably easy), if you could add 3 more rows somewhere in the "Station Summary" column stating the total amount of resources needed (not total cost but amount). Something simple like this:

total Claytronics x X
total Energy Cells x Y
total Hull Parts x Z

where X, Y, Z are the sum of each resource respectively.

Cheers!

Feature Suggestion: Systems / Sunlight Modifier

Systems can affect certain production processes. Most notably, sunlight affects how efficient solar cell production is. Additionally, systems contain only certain resources. The following would be useful:

  1. Solar cell production: Either: 1) the ability to select the system sunlight % for solar cell production on the right hand side somewhere; or 2) the ability to select the system the station will be built in for this information to be populated automatically.

  2. If system selection is made available, the web app telling you what resources are available in system and what aren't (assuming each game has the same system resource distribution, which I think it does but apologies if I am incorrect here).

[Request] Sorted list of building plans

Importing build plans from the game results in a list of seemingly unordered entries.
When you click to load a plan In-game the list of available plans is sorted in alphabetical order.

Can you please sort the Load-list?

Advanced Electronics production values incorrect

I think Advanced Electronics production values are incorrect. It shows that a cycle should use 120 Quantum Tubes, however in-game it uses 200 Quantum Tubes.
A bit unsure as I tried to look into your data files and everything seems to be divided by 6 somehow, so not sure how it's calculated. Maybe you can check?

[Request] Multilingual support

Was your site coded with multilingual support in mind?
In the code i see some parts for multilingual support, but looks like you disabled it. (environment languages: null). So i am guessing a lot of text-strings are hardcoded?

I would be maybe interested in translating everything to german if that would be still somehow possible. If not, np at all, was just curious ;)

XML export; pending pull request

It looks like there is an old pull request that looks to add export of station plans to xml format for import into game. Would it be possible to use that?

Suggestion, include 'end product'

I would like to suggest including the 'end product' to the database.
As an example, let's say i want to know what is necessary to produce 'missiles', then i can choose like i would choose 'claytronics' and get the info.

[Request] Solar Power Efficiency

First off, thanks for updating the station module information to 4.0 so fast.
Since the game now has different sunlight values depending on the Sector's distance to the Sun, this should maybe be added to the Station Module as a seperate Input field/slider (or a seperate dropdown to set the sector itself, but that would mean more maintenance if they change the values)

Failed to import construction plans since last update.

As before, I copy and paste the content of my constructionplan.xml into an input field on the website. But now when I click the Import button, I see an error "Failed to import plans".
My previously import plans in Layout load fine. But if I delete them and try to import again, the same error occurs - "Failed to import plans".
I have tried to import plans from Windows desktop browsers such as Opera, Google Chrome and Microsoft Edge, but it doesn't work either. It also doesn't work with Android browsers.

[Bug] In calculation of bonus production

I have found an error in the calculation of bonus production. The values that the calculator displays differ from the values that are displayed ingame.
The reason for the difference is that a value is rounded off ingame.

One example of several:
11 Terran energycell production
Base production: 50 per cycle
Cycles per hour: 60
Base production/h: 3000
Base production/h * 11 modules: 33,000

Module production bonus: 43% (at 100% workforce)
Calculater result: 47,190
Ingame result: 46,860

Why? Because there is a rounding in the ingame calculation:
BonusProduction/cyle: 50*43% = 21,5 -> always rounded down, here to 21
Production/cycle: 50+21 = 71
Production/h: 4260
Production/h * 11 modules: 46,860 - like ingame

I have recalculated it with different wares where there was a difference between the calculater and ingame: If you round off the "production * bonus% per cycle," you get the result that is displayed ingame.

[Request] Ship Build Planner

It would be nice to have a ship build planner similar to roguey's one, but with focus on building the ship; i.e. showing the cumulated ressources needed to build the ship, turrets, engines etc.

As this depends on equipment being implemented and there is already a functional ship-planner (albeit without the sum of needed ressources), this feature would be very low priority.

[Request] Allow to import official constructionplan XML files

X4 now allows to import and export construction plans to and from XML files directly from the game Building plan screen.

I have several mega station complex with hundreds of modules so I have to invest a lot of effort to map everything on the station calculator.

It would be very convenient if users could just export existing station as XML and import on the website, just to check if we are missing something or plan an upgrade.

This is how the XML looks like:

<?xml version="1.0" encoding="UTF-8"?>
<plans>
   <plan id="player_1586199576" name="Gate defender" description="">
      <patches>
         <patch extension="ego_dlc_split" version="100" name="Split Vendetta" />
      </patches>
      <entry index="1" macro="dockarea_arg_m_station_02_macro">
         <offset>
            <position x="-868.527" y="4.346" z="-15.002" />
            <rotation yaw="89.74264" />
         </offset>
      </entry>
      <entry index="2" macro="defence_arg_disc_01_macro" connection="connectionsnap001">
         <predecessor index="1" connection="connectionsnap004" />
         <offset>
            <position x="-468.531" y="4.346" z="-13.205" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="3" macro="pier_par_harbor_02_macro" connection="connectionsnap004">
         <predecessor index="2" connection="connectionsnap002" />
         <offset>
            <position x="-268.533" y="4.346" z="-12.307" />
            <rotation yaw="179.74258" />
         </offset>
      </entry>
      <entry index="4" macro="defence_arg_disc_01_macro" connection="connectionsnap003">
         <predecessor index="1" connection="connectionsnap001" />
         <offset>
            <position x="-870.324" y="4.346" z="384.994" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="5" macro="defence_arg_disc_01_macro" connection="connectionsnap004">
         <predecessor index="1" connection="connectionsnap002" />
         <offset>
            <position x="-866.729" y="4.346" z="-414.998" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="6" macro="defence_arg_disc_01_macro" connection="connectionsnap002">
         <predecessor index="1" connection="connectionsnap003" />
         <offset>
            <position x="-1268.522" y="4.346" z="-16.799" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="7" macro="defence_arg_disc_01_macro" connection="connectionsnap003">
         <predecessor index="4" connection="connectionsnap004" />
         <offset>
            <position x="-872.12" y="4.346" z="784.99" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="8" macro="defence_arg_disc_01_macro" connection="connectionsnap004">
         <predecessor index="5" connection="connectionsnap003" />
         <offset>
            <position x="-864.933" y="4.346" z="-814.994" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="9" macro="defence_arg_disc_01_macro" connection="connectionsnap002">
         <predecessor index="6" connection="connectionsnap001" />
         <offset>
            <position x="-1668.518" y="4.346" z="-18.596" />
            <rotation yaw="89.74264" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group02" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group03" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group01" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group04" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group02" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group03" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group01" exact="2" />
               <turrets macro="turret_arg_m_flak_02_mk1_macro" path=".." group="group04" exact="2" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group05" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group06" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group07" exact="4" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group08" exact="4" />
            </groups>
         </upgrades>
      </entry>
      <entry index="10" macro="defence_par_disc_01_macro" connection="connectionsnap002">
         <predecessor index="8" connection="connectionsnap003" />
         <offset>
            <position x="-863.136" y="4.346" z="-1214.99" />
            <rotation yaw="-0.257352" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group02" exact="2" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group01" exact="2" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group02" exact="6" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group01" exact="6" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group05" exact="2" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group06" exact="2" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group07" exact="2" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group08" exact="2" />
            </groups>
         </upgrades>
      </entry>
      <entry index="11" macro="defence_par_disc_01_macro" connection="connectionsnap001">
         <predecessor index="7" connection="connectionsnap004" />
         <offset>
            <position x="-873.917" y="4.346" z="1184.986" />
            <rotation yaw="-0.257374" />
         </offset>
         <upgrades>
            <groups>
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group02" exact="2" />
               <shields macro="shield_tel_l_standard_01_mk2_macro" path=".." group="group01" exact="2" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group05" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group06" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group07" />
               <shields macro="shield_tel_m_standard_02_mk2_macro" path=".." group="group08" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group02" exact="6" />
               <turrets macro="turret_arg_l_plasma_01_mk1_macro" path=".." group="group01" exact="6" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group05" exact="2" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group06" exact="2" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group07" exact="2" />
               <turrets macro="turret_spl_m_flak_02_mk1_macro" path=".." group="group08" exact="2" />
            </groups>
         </upgrades>
      </entry>
   </plan>
</plans>

From what I can see, the macro attribute is all you need to parse to figure out all the modules used on the station (e.g. dockarea_arg_m_station_02_macro, defence_arg_disc_01_macro, pier_par_harbor_02_macro).

Empire overview

It would be very cool if you could have an overview page with summary data on all saved stations. This way, one could get a good idea of overall earnings, total ware production etc.

Update data files for X4 2.6

First of all a big thank you for creating this awesome tool!

X4 2.6 contained a couple of economy balancing changes so I think the data files need to be updated. From the changelog:

Improved balancing and robustness of in-game economy (including prices, volume and production rates of Engine Parts, Hull Parts and Smart Chips).

Would you also consider releasing the tool you used for converting the game data files?

Thank you for your hard work.

[Request] Load savegame into the calculator

Is it possible to add a client side function that reads a savegame (XML in a gzip file) for player owned stations and then gives the user a choice which one to load?
Would be helpful to load station that already exist in the game to see how they can be expanded or optimized further.

Workers consumption

Hello,
the amount of resources used by the station workers doesn't seem to match what there is in-game.

For example, the MRE consumption for 10 L Terran habitats should be 255*5000/400=3187.5, and that's, in fact, the result on the calculator: http://www.x4-game.com/#/station-calculator?l=@$module-module_ter_hab_l_01,count:10
But in-game (v4.00 432831, no mods) I'm getting a wildly different result:
20210318220853_1

I searched the Egosoft forums but all I was able to find were threads about "station food shortages", which kind of confirms that there have been changes, but doesn't really help in finding what changed.

Since the data is imported directly from the game files I'm assuming it to be correct, and that the error has to be in the formula.

Any idea on how to get the new formula? If I were to ask on the Egosoft forums, should I try asking on the main forum, or on the Scripts and Modding one?

Thanks

Please add LICENSE to the repository

Hey, I noticed that there is currently no LICENSE file in your repository, which means it's a bit unclear what is and what is not allowed to do with your code.

Can you please add one?

Really nice idea.. numbers are off though

I found this while working on stations and wondering if there was a way to calculate efficiencies and goods for large complexes. In entering some numbers though it seems apparent to me that some of the numbers used by this website are different than those in the actual game. One of the more glaring ones is the Argon Medical Supply. In game it gives production as 7488/h .. the calculator thinks I'll only get 3090/h - even at 124% efficiency. Something seems wrong in the numbers used. It'd be nice if there was some indication on what numbers you're using and why.

Making "Resources are provided by other stations" and "Miners provide basic resources" ware specific

I would like to be able to tick the "Resources are provided by other stations" and "Miners provide basic resources" checkboxes for each ware individually in order for me to better estimate the profits my station is going to make.

1: In the summary component (?) "Expenses" there is a new checkbox called something like "Wares provided by other sources" next to each ware that nulls this specific wares cost.

2: The current "Resources are provided by other stations" and "Miners provide basic resources" checkboxes are removed.

Offtopic: I'd love to do this myself but I'm struggling with setting up my IDE right now. I'm just an apprentice with mostly Java and minor HTML/PHP/CSS experience but I'd love to contribute to this project in the future.

[Request] Toggling view-modes by remembering loaded save and comparing JSONs

Hi,

I saw that you use local storage of a JSON when saving and have a suggestion based on my usage of your site.

I often have saves from your calculator based on my actual factories in game, then I use the calculator to experiment and find a new state I want to build towards in game. To then know what I need to build I have to do figure out the difference between the two states.

I suggest some toggle for how to view your site:

1. The total factory is shown (how it works currently)
2. Difference between current and loaded save
3. Difference between two saves

I think this can all be done by storing the loaded JSON and then compare what the current JSON looks like or in the last case simply comparing two JSONS from different saves. In either case, I guess that the last steps would be to create a "difference JSON" and use your existing load functions on the generated JSON to display that to the user.

Would have tried doing this myself, but not good enough with angular.

Thanks for a great tool.
Regards

Data export

I just lost all my station calculations to a browser cache cleanup. This was multiple hours of work.

It would be great if we could export the station data to back it up. Alternatively - where are all station calculations being saved? I could backup from there ...

[Request] Show changes made from loaded blueprint

When expanding complex, it's hard to remember everything you add and virtually impossible with autofill. Could you add some log to the bottom that shows +4 refined metals +15 hull part production? That would be really helpful.

Keyboard Selection in Filters

When typing into the Station Module entry you get a filtered drop-down list of options.

You can no longer tab to the list and scroll through it using only the keyboard for navigation and selection.

Even when fully typing the entire name of the module it still does not accept that you entered a module.

The only method that is currently working is using the Mouse to select a module.

Autofill add more than necessary and forgot workforce

I test the auto fill in 2 configuration and both result in the same problem:

1st complex: (All resources a green appart from ice)

  • 1x Argon L Habitat
  • 1x Argon S Habitat
  • 3x Food Ration Production
  • 6x Argon Medical Supply Production
  • 1x Wheat Production
  • 1x Spice Production
  • 1x Meat Production
  • 1x Water Production
  • 1x Energy Cell Production

2nd complex:

  • 1x Argon L Habitat
  • 1x Argon S Habitat
  • 3x Food Ration Production
  • 6x Argon Medical Supply Production

The result I get is :

  • 1x Argon L Habitat
  • 1x Argon S Habitat
  • 3x Food Ration Production
  • 6x Argon Medical Supply Production
  • 2x Wheat Production
  • 2x Spice Production
  • 2x Meat Production
  • 2x Water Production
  • 1x Energy Cell Production

It seem to not take into account the workforce actualy in the complex because.
If I put the workforce to 0, in the station resources collumn I can see that Meat, Spices and Wheat are in the red.

And the other issue is that it did not add Habitation module.
I think that on clicking the autofill button they should be some check like follow:

  • If there is Habitation module already in the complex go on
  • If there is some race specific module, extract the race of it to add Habitation module
  • If not promp to get the race you want for the Habitation module

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.