Explaining Republic Assault's Mechanics: Imperial Era
So a little backstory to this, for awhile I've been coming up with ideas for additional tech levels, as I found 5 to be to little to work with. With the 6 seasons, 2 movies, 1 mini series, and tons of books on the Clone Wars all being drawn on for units and inspiration. This was all fantasy for me until I found the special Techbuildings.XML. This XML houses all of the Empire's tech upgrades, and with a little modification I eventually was able to unlock Tech 6, as seen below.
Everything worked well, builds unlocked, heroes could be spawned and spawned, and everything was fine. Until I went into battle anyways, it was then that I realized I needed to find a new way to build this system. As fighters, and other spawned units from things like space stations and general buildings wouldn't actually spawn.
The Nitty Gritty
As a bit of a late Christmas gift, the following code IS free release. But give credit where credit is due.
As all of you know, Petroglyph has created a scripted campaign of their own for the Consortium in FoC. In my efforts to draw commands from that for the Republic's campaign, I realized just how to apply the scripting to general advancements for faction's tech levels. With the following as the base code I used as inspiration:
<Event Name="Build_a_Saboteur_00">
<Event_Type>STORY_CONSTRUCT</Event_Type>
<Event_Param1>Underworld_Saboteur_Team</Event_Param1>
<Event_Param2>1</Event_Param2>
<Prereq>Underworld_Corruption_Tutorial_Task_Text_00</Prereq>
<Branch>ACTJUMPING</Branch>
</Event>
I was able to modify that into what is used to move the Republic into Tech 6.
<Event Name="Empire_Enters_Tech_06">
<Event_Type>STORY_CONSTRUCT</Event_Type>
<Event_Param1>Executive_Order_66</Event_Param1>
<Event_Param2>1</Event_Param2>
</Event>
Now notice the line Event_Param1? This line is key in making the code work, with this being free release for anyone to use, the parameter "Executive_Order_66" needs to be a GroundCompany for it to work. I'll explain why that won't be an issue next.
After that, I could have the ground company "Executive_Order_66" just sitting around available to be used, that would be a bit of an issue. Lets remedy that with a basic remove event for the Sandbox XML.
<Event Name="Executive_Order_66_Remove">
<Event_Type>STORY_TRIGGER</Event_Type>
<Reward_Type>REMOVE_UNIT</Reward_Type>
<Reward_Param1>Executive_Order_66</Reward_Param1>
<Reward_Param2>1</Reward_Param2>
<Prereq>Empire_Enters_Tech_06</Prereq>
</Event>
With "Executive_Order_66" being a unit company, the code above with remove it so the player can't use it again, and it will have appeared the player has unlocked new buildings. Oh wait, I need to explain that. So a little side effect of this method, is the fact you need to lock all your new units and builds beforehand. With a basic lock event:
<Event Name="Lock_Imperial_Light_Cruiser">
<Event_Type>STORY_TRIGGER</Event_Type>
<Reward_Type>LOCK_UNIT</Reward_Type>
<Reward_Param1>Imperial_Light_Cruiser</Reward_Param1>
<Prereq>Universal_Story_Start</Prereq>
</Event>
You won't see that unit ever until you tell the game when to unlock that. Special note about the lock event, under Reward_Param1 is where your unit/building goes.
Now in order to unlock the unit you'll need an unlock event:
<Event Name="Unlock_Imperial_Light_Cruiser">
<Event_Type>STORY_TRIGGER</Event_Type>
<Reward_Type>BUILDABLE_UNIT</Reward_Type>
<Reward_Param1>Imperial_Light_Cruiser</Reward_Param1>
<Prereq>Empire_Enters_Tech_06</Prereq>
</Event>
Once again Reward_Param1 is where your unit/building goes, and Prereq is what you want to happen before the unlock event happens. In this case, it's the technical Tech 6 trigger.
With this, your free to have a tech 6, and 7, and 8, and 9. Wait a minute...
The Issue
When I went about doing this, and applying a tech 7 unlock. I realized that both tech 6 and 7 were available at the same time. That's not good! With a few simple additional events, we can fix that. Once again using sample events from RA you need to apply a lock event for tech 7 and onward, like so:
<Event Name="Lock_Redacted_Initiative">
<Event_Type>STORY_TRIGGER</Event_Type>
<Reward_Type>LOCK_UNIT</Reward_Type>
<Reward_Param1>Imperial_Redacted_Initiative</Reward_Param1>
<Prereq>Universal_Story_Start</Prereq>
</Event>
And once you have Tech 6 triggered, you simply unlock it.
<Event Name="Activate_The_Redacted_Initiative">
<Event_Type>STORY_TRIGGER</Event_Type>
<Reward_Type>BUILDABLE_UNIT</Reward_Type>
<Reward_Param1>Imperial_Redacted_Initiative</Reward_Param1>
<Prereq>Empire_Enters_Tech_06</Prereq>
</Event>
With this, it's easy to have all the tech levels you want. Just modify the base code slightly, and your good to go.
It's Working!
Demo video for the skeptics out there:
Tech 7 won't be shown due to the fact I want to keep somethings secret, but the processes are there and the game can now have as many tech levels as one wants.
damn man that's some great news :D
Good work
Damm thats crates interesting possibilities......
fyi The Video plays as private so us norms can't watch it
It's good to see modders helping each other out.
We are a big family :3
This comment is currently awaiting admin approval, join now to view.
This comment is currently awaiting admin approval, join now to view.