[MOD] PJ Infrastructure Pack for play with AIx

Extractor upgrade from 1 to 2, 2 to 3 and 4 to experimental are all working.

Maybe you should decrease the eco requirement of the Builder ?

BuilderName = 'EXMEX-Upgrade',
{ EBC, 'GreaterThanEconIncome', { 10.0, 500.0 } },

It's waiting for 100 massincome and 5000 energy. Maybe you should use something like { 10.0, 100.0 }

Also found this warning:

WARNING: *AIExecuteBuildStructure: TECH1 Unit "euebest3" is assigned to build TECH3 buildplatoon! ("EnergyStorage")

Please check in CustomUnits.lua:

UnitList = {
    EnergyStorage = {
        UEF = {'euebest3', 50},
    },
},

EnergyStorage is a Tech1 building and will be assinged to a Tech 1 engineer.
It can't build a tech3 unit euebest3.

There are several other custom entries that have the same problem.

Some missmatch in General.TechLevel

- Unit xrb0404 (Engineering Station) Categories.TECH3 dont match TechLevel (RULEUTL_Basic) 
  Please change (General.TechLevel = 'RULEUTL_Basic',) to (General.TechLevel = 'RULEUTL_Secret',) in file [xrb0404_unit.bp]

- Unit bab1106 (Mass & Energy Storage) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [bab1106_unit.bp]

- Unit bsb1106 (Mass & Energy Storage) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [bsb1106_unit.bp]

- Unit brb1106 (Mass & Energy Storage) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [brb1106_unit.bp]

- Unit xab0104 (Engineering Station) Categories.TECH3 dont match TechLevel (RULEUTL_Basic) 
  Please change (General.TechLevel = 'RULEUTL_Basic',) to (General.TechLevel = 'RULEUTL_Secret',) in file [xab0104_unit.bp]

- Unit xsb0104 (Engineering Station) Categories.TECH3 dont match TechLevel (RULEUTL_Basic) 
  Please change (General.TechLevel = 'RULEUTL_Basic',) to (General.TechLevel = 'RULEUTL_Secret',) in file [xsb0104_unit.bp]

- Unit bab1302 (Hydrocarbon Power Plant) Categories.TECH3 dont match TechLevel (RULEUTL_Basic) 
  Please change (General.TechLevel = 'RULEUTL_Basic',) to (General.TechLevel = 'RULEUTL_Secret',) in file [bab1302_unit.bp]

- Unit brnbt1peri (HydroCarbon Perimeter Monitoring System) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [brnbt1peri_unit.bp]

- Unit xsb1402 (Experimental Mass Extractor) Categories.TECH3 dont match TechLevel (RULEUTL_Advanced) 
  Please change (General.TechLevel = 'RULEUTL_Advanced',) to (General.TechLevel = 'RULEUTL_Secret',) in file [xsb1402_unit.bp]

- Unit brmbt1peri (HydroCarbon Perimeter Monitoring System) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [brmbt1peri_unit.bp]

- Unit beb1302 (Hydrocarbon Power Plant) Categories.TECH3 dont match TechLevel (RULEUTL_Basic) 
  Please change (General.TechLevel = 'RULEUTL_Basic',) to (General.TechLevel = 'RULEUTL_Secret',) in file [beb1302_unit.bp]

- Unit xspowerup (Retrofitted T2 Powergenerator) Categories.TECH2 dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Advanced',) in file [xspowerup_unit.bp]

- Unit brpbt1peri (HydroCarbon Perimeter Monitoring System) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [brpbt1peri_unit.bp]

- Unit ueb1402 (Experimental Mass Extractor) Categories.TECH3 dont match TechLevel (RULEUTL_Advanced) 
  Please change (General.TechLevel = 'RULEUTL_Advanced',) to (General.TechLevel = 'RULEUTL_Secret',) in file [ueb1402_unit.bp]

- Unit beb1106 (Mass & Energy Storage) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [beb1106_unit.bp]

- Unit uepowerup (Retrofitted T2 Powergenerator) Categories.TECH2 dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Advanced',) in file [uepowerup_unit.bp]

- Unit brobt1peri (HydroCarbon Perimeter Monitoring System) Categories.EXPERIMENTAL dont match TechLevel (RULEUTL_Secret) 
  Please change (General.TechLevel = 'RULEUTL_Secret',) to (General.TechLevel = 'RULEUTL_Experimental',) in file [brobt1peri_unit.bp]

Strategic Icons

 - Unit eurbmst3 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure3_mass',) in file [eurbmst3_unit.bp]
 
 - Unit xrb0404 (Engineering Station) StrategicIconName (icon_structure2_engineer) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure2_engineer',) to (StrategicIconName = 'icon_structure3_engineer',) in file [xrb0404_unit.bp]
 
 - Unit exsbest3 (Energy Storage) StrategicIconName (icon_structure1_energy) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_energy',) to (StrategicIconName = 'icon_structure3_energy',) in file [exsbest3_unit.bp]
 
 - Unit euabmst3 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure3_mass',) in file [euabmst3_unit.bp]
 
 - Unit eurbmst2 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure2_mass',) in file [eurbmst2_unit.bp]
 
 - Unit euabmst2 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure2_mass',) in file [euabmst2_unit.bp]
 
 - Unit bab1106 (Mass & Energy Storage) StrategicIconName (icon_structure3_mass) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_mass',) to (StrategicIconName = 'icon_experimental_generic',) in file [bab1106_unit.bp]
 
 - Unit bsb1106 (Mass & Energy Storage) StrategicIconName (icon_structure3_mass) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_mass',) to (StrategicIconName = 'icon_experimental_generic',) in file [bsb1106_unit.bp]
 
 - Unit brb1106 (Mass & Energy Storage) StrategicIconName (icon_structure3_mass) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_mass',) to (StrategicIconName = 'icon_experimental_generic',) in file [brb1106_unit.bp]
 
 - Unit xab0104 (Engineering Station) StrategicIconName (icon_structure2_engineer) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure2_engineer',) to (StrategicIconName = 'icon_structure3_engineer',) in file [xab0104_unit.bp]
 
 - Unit xsb0104 (Engineering Station) StrategicIconName (icon_structure2_engineer) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure2_engineer',) to (StrategicIconName = 'icon_structure3_engineer',) in file [xsb0104_unit.bp]
 
 - Unit brnbt1peri (HydroCarbon Perimeter Monitoring System) StrategicIconName (icon_structure3_energy) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_energy',) to (StrategicIconName = 'icon_experimental_generic',) in file [brnbt1peri_unit.bp]
 
 - Unit euebmst2 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure2_mass',) in file [euebmst2_unit.bp]
 
 - Unit eurbest2 (Energy Storage) StrategicIconName (icon_structure1_energy) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_energy',) to (StrategicIconName = 'icon_structure2_energy',) in file [eurbest2_unit.bp]
 
 - Unit brmbt1peri (HydroCarbon Perimeter Monitoring System) StrategicIconName (icon_structure3_energy) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_energy',) to (StrategicIconName = 'icon_experimental_generic',) in file [brmbt1peri_unit.bp]
 
 - Unit euebmst3 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure3_mass',) in file [euebmst3_unit.bp]
 
 - Unit exsbest2 (Energy Storage) StrategicIconName (icon_structure1_energy) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_energy',) to (StrategicIconName = 'icon_structure2_energy',) in file [exsbest2_unit.bp]
 
 - Unit euabest2 (Energy Storage) StrategicIconName (icon_structure1_energy) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_energy',) to (StrategicIconName = 'icon_structure2_energy',) in file [euabest2_unit.bp]
 
 - Unit exsbmst2 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (2) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure2_mass',) in file [exsbmst2_unit.bp]
 
 - Unit euabest3 (Energy Storage) StrategicIconName (icon_structure1_energy) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_energy',) to (StrategicIconName = 'icon_structure3_energy',) in file [euabest3_unit.bp]
 
 - Unit brpbt1peri (HydroCarbon Perimeter Monitoring System) StrategicIconName (icon_structure3_energy) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_energy',) to (StrategicIconName = 'icon_experimental_generic',) in file [brpbt1peri_unit.bp]

 - Unit eurbest3 (Energy Storage) StrategicIconName (icon_structure1_energy) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_energy',) to (StrategicIconName = 'icon_structure3_energy',) in file [eurbest3_unit.bp]
 
 - Unit beb1106 (Mass & Energy Storage) StrategicIconName (icon_structure3_mass) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_mass',) to (StrategicIconName = 'icon_experimental_generic',) in file [beb1106_unit.bp]
 
 - Unit brobt1peri (HydroCarbon Perimeter Monitoring System) StrategicIconName (icon_structure3_energy) dont match TechLevel (4) 
   Please change (StrategicIconName = 'icon_structure3_energy',) to (StrategicIconName = 'icon_experimental_generic',) in file [brobt1peri_unit.bp]
 
 - Unit exsbmst3 (Mass Storage) StrategicIconName (icon_structure1_mass) dont match TechLevel (3) 
   Please change (StrategicIconName = 'icon_structure1_mass',) to (StrategicIconName = 'icon_structure3_mass',) in file [exsbmst3_unit.bp]

Display.Abilities

   Please Change "Display.Abilities" in file [xrb0404_unit.bp]
        Abilities = {
            '<LOC ability_engineeringsuite>Engineering Suite',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [exsbest3_unit.bp]
        Abilities = {
            '<LOC ability_deathaoe>Volatile',
            '<LOC ability_upgradable>Upgradable',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [fsb4401_unit.bp]
        Abilities = {
            '<LOC ability_shielddome>Shield Dome',
        },
        
   Please Change "Display.Abilities" in file [fab4401_unit.bp]
        Abilities = {
            '<LOC ability_shielddome>Shield Dome',
        },
        
   Please Change "Display.Abilities" in file [feb4401_unit.bp]
        Abilities = {
            '<LOC ability_jamming>Jamming',
            '<LOC ability_shielddome>Shield Dome',
        },
        
   Please Change "Display.Abilities" in file [bab1106_unit.bp]
        Abilities = {
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [xeb0304_unit.bp]
        Abilities = {
            '<LOC ability_engineeringsuite>Engineering Suite',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [xsb1106_unit.bp]
        Abilities = {
            '<LOC ability_amphibious>Amphibious',
            '<LOC ability_upgradable>Upgradable',
        },
        
   Please Change "Display.Abilities" in file [bsb1106_unit.bp]
        Abilities = {
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [brb1106_unit.bp]
        Abilities = {
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [xab0104_unit.bp]
        Abilities = {
            '<LOC ability_engineeringsuite>Engineering Suite',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [xsb0104_unit.bp]
        Abilities = {
            '<LOC ability_engineeringsuite>Engineering Suite',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [exsbest2_unit.bp]
        Abilities = {
            '<LOC ability_deathaoe>Volatile',
            '<LOC ability_upgradable>Upgradable',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [exsbmst2_unit.bp]
        Abilities = {
            '<LOC ability_upgradable>Upgradable',
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [beb1106_unit.bp]
        Abilities = {
            '<LOC ability_amphibious>Amphibious',
        },
        
   Please Change "Display.Abilities" in file [frb4401_unit.bp]
        Abilities = {
            '<LOC ability_stealthfield>Radar Stealth Field',
            '<LOC ability_shielddome>Shield Dome',
        },
        
   Please Change "Display.Abilities" in file [xsb1105_unit.bp]
        Abilities = {
            '<LOC ability_deathaoe>Volatile',
            '<LOC ability_amphibious>Amphibious',
            '<LOC ability_upgradable>Upgradable',
        },
        
   Please Change "Display.Abilities" in file [exsbmst3_unit.bp]
        Abilities = {
            '<LOC ability_amphibious>Amphibious',
        },

Unit Animation file paths

 - Unit:(urb1402) - LOD[-1] AnimationUpgrade-File /units/urb1302/urb1302_Aupgrade.sca is missing on disk
   can't find AnimationUpgradeName on disk
   please delete AnimationUpgradeName in LOD[-1] ("/units/urb1302/urb1302_Aupgrade.sca")
 
 - Unit:(uab1401) - LOD[-1] AnimationDeath-File /units/uab1401/uab1401_ADeath.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/uab1401/uab1401_ADeath.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/units/uab1401/") to ("/mods/pj_infrastructure_pack/units/uab1401/uab1401_ADeath.sca") in file [uab1401_unit.bp]
 
 - Unit:(xrb0404) - LOD[-1] AnimationOpen-File /units/XRB0404/XRB0404_Aopen.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/xrb0404/XRB0404_Aopen.sca") on disk.
   please change AnimationOpenName in LOD[-1] from ("/units/XRB0404/") to ("/mods/pj_infrastructure_pack/units/xrb0404/XRB0404_Aopen.sca") in file [xrb0404_unit.bp]
 
 - Unit:(fsb4401) - LOD[-1] AnimationActivate-File /mods/Shields/units/FSB4401/FSB4401_Aactivate.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/fsb4401/FSB4401_Aactivate.sca") on disk.
   please change AnimationActivateName in LOD[-1] from ("/mods/Shields/units/FSB4401/") to ("/mods/pj_infrastructure_pack/units/fsb4401/FSB4401_Aactivate.sca") in file [fsb4401_unit.bp]
 
 - Unit:(fsb4401) - LOD[-1] AnimationDeath-File /mods/Shields/units/FSB4401/FSB4401_ADeath.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/fsb4401/FSB4401_ADeath.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/mods/Shields/units/FSB4401/") to ("/mods/pj_infrastructure_pack/units/fsb4401/FSB4401_ADeath.sca") in file [fsb4401_unit.bp]
 
 - Unit:(fab4401) - LOD[-1] AnimationOpen-File /units/FAB4401/FAB4401_aopen.sca is missing on disk
   can't find AnimationOpenName on disk
   please delete AnimationOpenName in LOD[-1] ("/units/FAB4401/FAB4401_aopen.sca")
 
 - Unit:(fab4401) - LOD[-1] AnimationDeath-File /units/FAB4401/FAB4401_ADeath.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/fab4401/FAB4401_ADeath.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/units/FAB4401/") to ("/mods/pj_infrastructure_pack/units/fab4401/FAB4401_ADeath.sca") in file [fab4401_unit.bp]
 
 - Unit:(xeb0304) - LOD[-1] AnimationOpen-File /units/XEB0304/XEB0304_aopen.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/xeb0304/XEB0304_aopen.sca") on disk.
   please change AnimationOpenName in LOD[-1] from ("/units/XEB0304/") to ("/mods/pj_infrastructure_pack/units/xeb0304/XEB0304_aopen.sca") in file [xeb0304_unit.bp]
 
 - Unit:(xab0104) - LOD[-1] AnimationOpen-File /units/XAB0104/XAB0104_Aopen.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/xab0104/XAB0104_Aopen.sca") on disk.
   please change AnimationOpenName in LOD[-1] from ("/units/XAB0104/") to ("/mods/pj_infrastructure_pack/units/xab0104/XAB0104_Aopen.sca") in file [xab0104_unit.bp]
 
 - Unit:(xsb0104) - LOD[-1] AnimationOpen-File /units/XSB0104/XSB0104_Aopen.sca is missing on disk
   can't find AnimationOpenName on disk
   please delete AnimationOpenName in LOD[-1] ("/units/XSB0104/XSB0104_Aopen.sca")
 
 - Unit:(xsb1401) - LOD[-1] AnimationDeath-File /units/xsb1401/xsb1401_ADeath.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/xsb1401/xsb1401_ADeath.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/units/xsb1401/") to ("/mods/pj_infrastructure_pack/units/xsb1401/xsb1401_ADeath.sca") in file [xsb1401_unit.bp]
 
 - Unit:(euabest3) - LOD[1] Albedo-File /mods/pj_infrastructure_pack/units/euabest3/euabest2_lod1_albedo.dds is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/euabest3/euabest3_lod1_Albedo.dds") on disk.
   please change AlbedoName in LOD[1] from ("/mods/pj_infrastructure_pack/units/euabest3/") to ("/mods/pj_infrastructure_pack/units/euabest3/euabest3_lod1_Albedo.dds") in file [euabest3_unit.bp]
 
 - Unit:(euabest3) - LOD[1] Specular-File /mods/pj_infrastructure_pack/units/euabest3/euabest2_lod1_specteam.dds is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/euabest3/euabest3_lod1_SpecTeam.dds") on disk.
   please change SpecularName in LOD[1] from ("/mods/pj_infrastructure_pack/units/euabest3/") to ("/mods/pj_infrastructure_pack/units/euabest3/euabest3_lod1_SpecTeam.dds") in file [euabest3_unit.bp]
 
 - Unit:(xspowerup) - LOD[-1] AnimationDeath-File /units/xspowerup/xspowerup_ADeath.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/xspowerup/xspowerup_ADeath.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/units/xspowerup/") to ("/mods/pj_infrastructure_pack/units/xspowerup/xspowerup_ADeath.sca") in file [xspowerup_unit.bp]
 
 - Unit:(ueb1402) - LOD[-1] AnimationUpgrade-File /mods/PJ_Infrastructure_Pack/units/ueb1402/ueb1402_Aupgrade.sca is missing on disk
   can't find AnimationUpgradeName on disk
   please delete AnimationUpgradeName in LOD[-1] ("/mods/PJ_Infrastructure_Pack/units/ueb1402/ueb1402_Aupgrade.sca")
 
 - Unit:(brobt1peri) - LOD[-1] AnimationDeath-File /mods/TotalMayhem/units/BROBT1PERI/BROBT1PERI_death.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/brobt1peri/brobt1peri_death.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/mods/totalmayhem/units/brobt1peri/brobt1peri_death.sca") to ("/mods/pj_infrastructure_pack/units/brobt1peri/brobt1peri_death.sca") in file [brobt1peri_unit.bp]
 
 - Unit:(uapowerup) - LOD[-1] AnimationDeath-File /units/uapowerup/uapowerup_ADeath.sca is missing on disk
   found file ("/mods/pj_infrastructure_pack/units/uapowerup/uapowerup_ADeath.sca") on disk.
   please change AnimationDeathName in LOD[-1] from ("/units/uapowerup/") to ("/mods/pj_infrastructure_pack/units/uapowerup/uapowerup_ADeath.sca") in file [uapowerup_unit.bp]

Sound errors:

 - Unit xspowerup Name: Uya-iya (Retrofitted T2 Powergenerator) has Audio
   Error playing SoundName: "ActiveLoop" - cue: "XSpowerup_Active" | bank: "XSB"
   Error playing SoundName: "DoneBeingBuilt" - cue: "XSpowerup_Activate" | bank: "XSB"

 - Unit urpowerup Name: Unknown (Retrofitted T2 Powergenerator) has Audio
   Error playing SoundName: "ActiveLoop" - cue: "URpowerup_Active" | bank: "URB"
   Error playing SoundName: "DoneBeingBuilt" - cue: "URpowerup_Activate" | bank: "URB"

 - Unit uepowerup Name: EG - 200 Fusion Reactor (Retrofitted T2 Powergenerator) has Audio
   Error playing SoundName: "ActiveLoop" - cue: "UEpowerup_Active" | bank: "UEB"
   Error playing SoundName: "DoneBeingBuilt" - cue: "UEpowerup_Activate" | bank: "UEB"
   Error playing SoundName: "UISelection" - cue: "UEF_Select_Resource" | bank: "Interface"

 - Unit uapowerup Name: Unknown (Retrofitted T2 Powergenerator) has Audio
   Error playing SoundName: "ActiveLoop" - cue: "UApowerup_Active" | bank: "UAB"
   Error playing SoundName: "DoneBeingBuilt" - cue: "UApowerup_Activate" | bank: "UAB"

CustomUnits.lua:

Those tables are not working:

EnergyStorage = {
        UEF = {'beb1106', 50}, -- Atlas (Mass & Energy Storage)
        Cybran = {'brb1106', 50}, -- Stain (Mass & Energy Storage)
        Aeon = {'bab1106', 50}, -- Vajun (Mass & Energy Storage)
        Seraphim = {'bsb1106', 50}, -- Orba (Mass & Energy Storage)
        Aeon = {'euabest2', 50},
        Aeon = {'euabest3', 50},
        UEF = {'euebest2', 50},
        UEF = {'euebest3', 50},
        Cybran = {'eurbest2', 50},
        Cybran = {'eurbest3', 50},
        Seraphim = {'exsbest2', 50},
        Seraphim = {'exsbest3', 50},
    },

you can only set one building per faction:

EnergyStorage = {
        UEF = {'beb1106', 50}, -- Atlas (Mass & Energy Storage)
        Cybran = {'brb1106', 50}, -- Stain (Mass & Energy Storage)
        Aeon = {'bab1106', 50}, -- Vajun (Mass & Energy Storage)
        Seraphim = {'bsb1106', 50}, -- Orba (Mass & Energy Storage)
    },
EnergyStorage = {
        UEF = {'euebest2', 50},
        Aeon = {'euabest2', 50},
        Cybran = {'eurbest2', 50},
        Seraphim = {'exsbest2', 50},
    },
EnergyStorage = {
        UEF = {'euebest2', 50},
        Aeon = {'euabest3', 50},
        Cybran = {'eurbest3', 50},
        Seraphim = {'exsbest3', 50},
    },

Every EnergyStorage table needs its own file, you can't store them all in the same file.
Additional help for customunits can be found here:
https://forums.faforever.com/viewtopic.php?f=41&t=14688

@uveso Thanks, will have a look at these issues.
Extractor upgrade has been fixed. and it is working fine with this builder requirement:

{ EBC, 'GreaterThanEconIncome', { 5.0, 200.0 } },

Not sure how to fix this and where this error came from. Why T1 engineer want to build T3 building?

WARNING: *AIExecuteBuildStructure: TECH1 Unit "euebest3" is assigned to build TECH3 buildplatoon! ("EnergyStorage")

So, i've just made all storages (excluded T1) not buildable and just upgradable from T1. Is it any other way to fix this issue?

Some missmatch in General.TechLevel has been corrected.

Strategic icons has been corrected.

Display.Abilities has been corrected.

Sound errors has been fixed by repointing to original T2 power generator sounds.

Animation file paths has been fixed.

CustomUnits.lua has been corrected as these buildings are no longer buildable and only upgradable. Is this connected to issue where T1 engineer trying to build T3 building?

Or alternatively can i define storages in this way in Customunits.lua?

ExperimentalEnergyStorage = {
       UEF = {'beb1106', 50}, -- Atlas (Mass & Energy Storage)
       Cybran = {'brb1106', 50}, -- Stain (Mass & Energy Storage)
       Aeon = {'bab1106', 50}, -- Vajun (Mass & Energy Storage)
       Seraphim = {'bsb1106', 50}, -- Orba (Mass & Energy Storage)
   },
T2EnergyStorage = {
       UEF = {'euebest2', 50},
       Aeon = {'euabest2', 50},
       Cybran = {'eurbest2', 50},
       Seraphim = {'exsbest2', 50},
   },
T3EnergyStorage = {
       UEF = {'euebest3', 50},
       Aeon = {'euabest3', 50},
       Cybran = {'eurbest3', 50},
       Seraphim = {'exsbest3', 50},
   },

Will this eliminate issue with T1 engineer trying to build T3 building?

Thanks.

@Uveso Hi Uveso. Thank you for your help. All has been fixed.
I've removed experimental storages from this mod (taken from BlackOps). Is it OK to pablish this mod or you can see other reasons againt publishing? I think it is a unique mod as i've tried to balance it and only similar mod is Jagers infrastructure pack(based on Upgraded Power Generators, More Storage and Upgraded HC plant) and Shields, but without AI support and with overpowered units.
Regards.

@foxy_pj said in Need help with Ai to upgrade buildings.:

WARNING: *AIExecuteBuildStructure: TECH1 Unit "euebest3" is assigned to build TECH3 buildplatoon! ("EnergyStorage")

This error is caused by customunits files.

EnergyStorage = {
       UEF = {'euebest3', 50},
   },

The unit euebest3 is assigned to the buildingtemplate EnergyStorage.
EnergyStorage is a tech 1 buildingtemplate and will be assigned to a TECH1 engineer.

T2EnergyStorage = {
   },

T2EnergyStorage is an non existing buildingtemplate. This will not work.

The custom unit tables can only add buildings to an existing buildingtemplate.
you can't create new names like T2EnergyStorage.

If you want to add new buildingtemplates then you need to hook this file:
https://github.com/FAForever/fa/blob/7542596ea1c16be28615fdc40cc9bf9c8bb5481a/lua/BuildingTemplates.lua

Have in mind the AI will not build those new buildingtemplates until you add a seperate platoonbuilder for it.


Did you read the rules for maps/mods on FAF ?
https://forum.faforever.com/topic/607/faf-mod-vault-rules-regulations

Repackaging the work of another author, or multiple authors, into one modification is not permitted unless you are the explicit owner of all content involved.

@Uveso Thank you for explaining all of this. I've learned alot during this time.
What if mod autor can't be contacted as all this mods what i used as base are very old mods?
I'm going to redo this mod to use only base game assets.
Thank you.
Regards.

I have several old mods updated (antares unitpack as example) and can't upload them
because i can't reach the original author.
So there is nothing you can do if you are not the owner or creator of an unit/script/mod.

I got the written permission from the original Authors for all mods i uploaded
except Black ops. This was added to FAF as featured mod and i bugfix it for FAF.

Using modified unit scripts from other mods are mostly considered as learning LUA coding.
So this is mostly not a problem. just don't exaggerate it.

@Uveso Thank you for your help and guidance. I think this could be closed.

@foxy_pj ,

you are welcome.

Hi.
After many month modding and testing, public release date arrived.

Mod description:
AI Upgradeable T2 & T3 E/M-Storage, T2+ & T3+ PGens, T2 & T3 & Exp HC Plant, T3+ MEX & T4 Shields
This mean that all pleyers will get more resources including AI. Base siege will be more dificalt and each resource building will be more valuable but more protected.
I recommend to play against AIx with BlackOps mod (fully compatible).

Mod details:
All below is AI upgrageble.
T2 Power Gen are upgradeble to T2+ shielded Power Gen with x2 output.
T3 Power Gen are upgradeble to T3+ shielded Power Gen with x2 output.
T1 Energy storage upgradable to T2 and then to T3 (proper balansed).
T1 Mass storage upgradable to T2 and then to T3 (proper balansed).
T1 HC plant upgradable to T2 shielded and then to T3 shielded and than to Exp shielded.
T3 MEX upgradable to T3+ shielded with bit biger output (proper balansed).
T3 shields upgradable to Exp shields with unique features for each nation.

Download: [https://drive.google.com/file/d/10llGCG54_Ps0z5ZzRtPIoWADJbDg0ULJ/view?usp=sharing](link url)

Please note, all units based on original game assets.

Big thank you to Uveso and whole modding community

Kind regards
PJ

hey pj i love this mod thanks for taking the time to create it and debug it.

Any chance in the future of an alternate version with added t3 eng stations ? this would make it a great mod for survival games ^ ^, as the current t3 eng stations mods break the blackops unit icons.

Hi @Shamble.
I'm not planing to add T3 eng stations at this moment. There is new mod released tody in mod vault "AutoReclaim". It is bit buggy (autor need to fix few things) and AI not using this units, but it is working.
Regards.
PJ

I assume you mean "AutoReclaim (splitice)" which is mine.

It's based off dwm's variant. I mainly set out to fix the performance (it was horrible late-game).

I've observed AIs using it (it's the T1 kenel) at-least for Cybran and UEF. Although probably not upgrading it.

Any fixes you want to contribute (now that you understand the upgrading logic are welcome and can be contributed).

@splitice Do you have permission from original author of this mod? As if you don't, FAF rules are against editing work of other authors without permission.
I can see it has been removed from vault. Reason could be above.

@foxy_pj

News to me.

The dwm variant has been removed too, leaving only the original unmaintained in 7 years version. Don't you just love it when good content is removed for pointless reasons?

Before anyone asks, no I don't have a backup copy of dwm's version of the mod and since mines (supposedly?) against the rules I'll just say PM me for a copy.

FYI to any staff the rules links a 404 (https://forum.faforever.com/topic/607/faf-mod-vault-rules-regulations) so anyone confirming they have read the linked rules is confirming they have read a page not found error.

It is funny to me considering that:

  1. 4 of the 15 most recent mods are modifications
  2. my mod is an improvement of an existing modification (dwm) for the existing modification by Mavr390 (published 8 years ago) and thats largely a copy of the Supcom lua files with a few additional lines of logic (claim copywrite on that? ha)

It's what mods are, modifications.

Anyway doesnt matter me, it was for the communities benefit I uploaded. I don't need to, and now I won't.