Post news RSS New official patch for EaW + FoC!

Some of our team members (and a many more fellow modders) supported Petroglyph in putting together another patch for Star Wars Empire at War and Forces of Corruption.

Posted by on

Some of our team members (and a many more fellow modders) supported Petroglyph in putting together another patch for Star Wars Empire at War and Forces of Corruption.

That's long term support for you!😃


Hello everyone. It’s our great pleasure to let you know that we are releasing an update to Star Wars: Empire at War / Forces of Corruption Gold Pack as of today. This is something we have been trying to get back to for some time now and given the pandemic and our project load, we were able to find about 4 weeks in the schedule to get back to our studio’s first game.

For this patch, we reached out to a subset of our most dedicated player community to see what improvements could be made to support some long-standing issues. After a lot of back and forth we came up with a joint list which they prioritized and we began work on in November. A list of those fixes or feature requests is below.

Finally, we would like to thank the following individuals that worked with us daily to test builds, report bugs, and generate the list which we worked from. This wouldn’t have been possible without all of them..

Connor N. Hess (AlyMar1994), Sebastian (AnakinSklavenwalker), Felix Messner (Baal), Commander Cody, Corey Loses, Christopher Stiles (Cuarson), Ryan McDonnell (DarthCyfe6), Zackery Gray (Divine_), evilbobthebob, Jonathan Brinkley (Failikeapro), Garrus, Jaktt1337, Jorritkarwehr, Marius Meierhöfer (Klon), Yannick Kaiser (Lany), Christian Baulig (Locutus), Mattis Kűper (MaxiM), Erik Nahmad (Myth), Nomada_Firefox, Pox, ThatOneBullet, the_Farseer, Valkyrin, and XViper.

Now, on to the patch details:


  • [FOC] Two maps were resurrected thanks to Divine_ which were in the data files but never released in the original game. These maps are multiplayer land maps Utapau and Dathomir (Forces of Corruption).

  • [EAW] Five multiplayer maps which were part of the special gold pack bundle never made it into the Steam launch of the game. These maps are included now in the official maps section: Polus Winds (Land), Peril above Polis (Space), Shipyards of Kuat (Space), Race for Ryloth (Space), Ryloth Garrison (Land).

  • [FOC] Ground units with TURRET and/or TARGETING behavior were affected by a bug that allowed for perfect targeting, making many battles unbalanced. We’ve fixed this with the following projectile types: LASER, ROCKET, GRENADE, MPTL_ROCKET and DEFAULT.

  • [FOC] Fighter Hero Locomotors fixed. The movement behavior of Fighter-Heroes (e.g. Millennium Falcon, Slave I) did not work similarly between FOC and EAW. Fighter hero battles are a core element and skill divider in multiplayer skirmish and in FOC they behaved as Squadron members (engaging in dogfights and would mirror the velocity of their target without user input. This changed behavior can lead to situations like the Slave I stopping with the target, staying ‘inside’ the target, but continuing to fire without the user needing to provide input.

  • [FOC] Rocket projectile AoE damage fixed. Incorrect FOC behavior resulted in a projectile only hitting the target Hardpoint of the target GameObject, and all other Hardpoints of surrounding GameObjects in the radius. This has been corrected so that projectile AoE damage applies to ALL Hardpoints in the AoE radius.

  • [FOC] Fixed an issue where certain structures were not counted towards AI Combat Power calculations in Galactic Conquest.

  • [EAW/FOC] Fixed an issue that allowed players to use Boba Fett's jetpack infinitely by activating the ability then right clicking other parts of the map. As long as you don't let him land you can do this forever. Also fixed an issue with the jetpack where players could get Boba Fett stuck by using the stop command while flying over impassable terrain.

  • [EAW/FOC] Spawning units from Hyperspace outside of the borders of the map, if the map is not square, i.e. if the map uses 'soft borders' is no longer possible.

  • [EAW] Fixed out-of-sync bug related to the move to position command in space mode.

  • [EAW/FOC] Fixed a bug in the video settings auto-detect code when running on Intel CPUs that could cause low detail to be selected, or cause the game to crash on first run.


  • [EAW/FOC] Added additional hidden build slots to tactical and galactic build bars that can be unlocked to increase the max number of units/buildings that can be displayed at one time.

  • [EAW/FOC] When a text ID isn't found in the master text file, the text ID will be displayed in the UI instead of [MISSING]

  • [FOC] Added the ability to lock/unlock units for factions besides Empire, Rebels, or Underworld. So, we fixed the PlayerWrapper::Unlock_Tech() function and also added a PlayerWrapper:Lock_Tech() function. See below for specifics.

    1. --Player Lock/Unlock Tech functions.
    2. empire = Find_Player("Empire")
    3. tie_bomber = Find_Object_Type("TIE_BOMBER")
    4. empire.Lock_Tech(tie_bomber)
    5. empire.Unlock_Tech(tie_bomber)
  • [FOC] Added OR operator support for Required_Special_Structures field per community request. Details are below:

    1. UNIT1 | UNIT2 UNIT3 | UNIT4

    Note: This was implemented with the '|'(OR) behaving as you would expect as an OR relationship between operators. Everything else is as it worked before, being treated as an AND. In the above example, you would need to have already built UNIT1 OR UNIT2 AND UNIT3 OR UNIT4 to satisfy the requirement. NOTE for the AI: It will probably only ever build the first thing in an OR situation. Therefore, with the above it would only try to build UNIT1 AND UNIT3 to satisfy the requirement.

  • [FOC] Added support for a line which lets you specify the faction, so it's not just limited to the first three. (ie: NewFaction, Story_Plots_Sandbox_56_NewFaction.xml )

  • [EAW/FOC] Fixed an issue where factions beyond the first 16 coded would cause crashes occasionally on loading a battle or more than 21 coded factions would cause a hard crash on launch.

  • [EAW/FOC] Fixed GUI overflows/breaks if there are more units in the reinforcement window than can be supported. Adding too many unit types into a single fleet will cause the GUI to malfunction. When a fleet is brought into battle and the reinforcement window can’t display all the units, the icons will begin to be placed over other GUI elements. Sometimes this effect would be permanent for the rest of the campaign.

  • [EAW/FOC] Corrected AI_Combat_Power for space invasions being ignored on special structures such as the Hypervelocity Gun and Ion Cannon which can damage units in space. This problem also seemed to ignore any secondary space structures. The AI would previously not send enough units to account for a defense with one of these structures. Additional details:

    • Space special structures are now calculated as part of the SpaceTotalUnnormalized token. We modified the Garrison_Category to be a Space_Or_Garrison_Category. So something that can be garrisoned should also not be a special space structure.

    • The XML tags and are actually the same. You can specify either one, but should only specify one, and they'll work the same for units and structures that can be garrisoned.

    • For land-based space units and space special structures you can use the as a secondary category mask for the AI to determine what to bring to counter. Since Structure is not one of the matching categories in PGAICommands.lua::Set_Contrast_Values(). If is empty it will default to Capital for land-based space units and space special structures.
  • [EAW/FOC] LUA function added to construct a position object.
    This should benefit any spawn-heavy script, like random generated maps. Current behavior forces use of markers’ or other units’ positions to get position objects to use in methods like spawning objects. We have exposed a constructor to build a Position object from arbitrary x,y,z values. The following two commands were added:

    1. Added new Create_Position lua command.
    2. Added PositionWrapper method Get_XYZ() to return the position members.
      1. PositionWrapper functions.
      2. pos = Create_Position(1,2,3)
      3. x,y,z = pos.Get_XYZ()
      4. x=1, y=2, z=3



Those are great news! May seem like small changes but really makes things easier and more interesting to the modding community

Reply Good karma Bad karma+5 votes

A little can definitely go a long way. =)

Reply Good karma Bad karma+1 vote

It's so great to see developers still supporting a game all the way back from 2006! Any chance of a 64bit patch? :P

Reply Good karma Bad karma+1 vote

Or a retail patch? Some of us can't go rebuy the game at a whim just because Petroglyph's updating it on Steam...

Mind you, you (and I) are asking in the wrong place.

Reply Good karma Bad karma0 votes

There was an official answer from Petroglyph for this question:

"I'm afraid we don't have access to the original code for the disc version, which is a big reason why we can't get a patch out for retail customers from 12 years ago" - VirtualTed

Reply Good karma Bad karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.