Subsystem Creation Tutorial
Table Of Contents
Quick Introduction
Tools Needed
Part One: Extracting from Homeworld2.big
Part Two: Decompiling the files
Part Three: Creating the Subsystem
Part Four: Removing the turrets from the Destroyer
Part Five: Creating the Subsystem Scripts
Part Six: Adding the turret subsystems to the Destroyer
Part Seven: Making the Destroyer able to build the turret subsystems
Part Eight: Adding the Destroyer to the Starting Fleets for testing purposes
Part Nine: Testing (Phase One)
Part Ten: Fixing the Build Problem
Part Eleven: Testing (Phase Two)
Credits
--------
Quick Introduction
In response to a certain person's asking me how to create subsystems, I've made this (little) tutorial.
If this is helpful, let me know.
If it isn't, chew me out.
If you don't know, find out!
If you don't care, why are you even reading this topic???
Good luck, and have fun!!
In this tutorial,we will be making the Hiigaran's Destroyer Turrets into a subsystem.
Note: For ease of writing and reading, you will see "[data]". This is the location of the Homeworld2 Data folder.
Simply replace "[data]" with wherever you installed Homeworld2. (i.e. "[data]" becomes "C:\Sierra\Homeworld2\Data")
--------
Tools needed
Homeworld2 (duh!)
Any .BIG file extractor (I used Spooky's HW2ICArchive.exe)
LuaDC or CFLuaDC (used to decompile the files; I used LuaDC)
Text-Editing Program (I use Notepad++. Google it. It's AWESOME!)
CFHodEd (I used version 3.2.4, 3.1.5 will work too...)
This tutorial assumes you have all of these programs already installed.
--------
Part One: Extracting from Homeworld2.big
- Start the .BIG file extractor.
- Click on the button with the Homeworld Logo (either one).
- Goto where you installed Homeworld2. For me, it's "C:\Sierra\Homeworld2".
- Open the folder labeled "Data".
- Double-click on "Homeworld2.big".
- Wait while it loads. Occupy your time by singing the alphabet at the top of your voice.
"A B C D E F G, H I J K L-M-N-O-P, Q R S, T U V, W X, Y and Z. Now I've sung my A B C's. Next time please just sing with me!"- Now that it is finished loading and you have just made a fool of yourself, click on the plus-sign "[+]" beside the entry labeled "ship".
- Find the entry labeled "hgn_destroyer" and click the "[+]" beside it.
- Click on "hgn_destroyer.events". Click the button with the picture of just one diskette.
- Click on "hgn_destroyer.hod". Click the button with the picture of just one diskette.
- Click on "hgn_destroyer.ship". Click the button with the picture of just one diskette.
- Find "[-] ship" and click on the "[-]".
- Find "[+] subsystem" and click on the "[+]".
- Find the entry labeled "hgn_battlecruiserionbeamturret" and click the "[+]" beside it.
- Click on "hgn_battlecruiserionbeamturret.subs". Click the button with the picture of just one diskette.
- Find "[-] subsystem" and click on the "[-]".
- Find "[+] scripts" and click on the "[+]".
- Find "[+] building and research" and click on the "[+]".
- Find "[+] hiigaran" and click on the "[+]".
- Click on "build.lua". Click the button with the picture of just one diskette.
- Find "[-] building and research" and click on the "[-]".
- Find "[+] startingfleets" and click on the "[+]".
- Click on "hiigaran00.lua". Click the button with the picture of just one diskette.
- Close the .BIG file extractor.
--------
Part Two: Decompiling the files.
- Open Windows Explorer.
- Goto where you installed Homeworld2. For me it's "C:\Sierra\Homeworld2\".
- Open the "data" folder.
- Inside, you should see another "data" folder. Open it.
- Inside that folder you should see a "ship" folder and a "subsystem" folder. Select them. Press Ctrl+C.
- Go back to "C:\Sierra\Homeworld2\data\". Press Ctrl+V.
- Select the "ship" folder that you just copy-pasted. Open it.
- Inside that folder you should see a "hgn_destroyer" folder. Open it.
- Inside that folder you should see three files: "hgn_destroyer.events", "hgn_destroyer.hod", and "hgn_destroyer.ship".
- Try double-clicking on one of them. Windows does not know what to do with these files, so choose "Select the program from a list" and click "OK".
- Select Notepad or another text-editor.
- What is all that nonsense????? We can't read that or do anything with it!!! Give up now!!! (Or read on if you must know how to overcome this problem.)
- Close the text-editor.
- Open the Start Menu. Goto Programs->Accessories. Click on "Command Prompt".
- Type in where you installed LuaDC or CFLuaDC. For me, it's "C:\HW2 Toolbox\Lua\". Press enter.
- Type in "LuaDC [data]\ship\hgn_destroyer\hgn_destroyer.events". Press Enter.
- Type in "LuaDC [data]\ship\hgn_destroyer\hgn_destroyer.ship". Press Enter.
- Type in "LuaDC [data]\subsystem\hgn_battlecruiserionbeamturret\hgn_battlecruiserionbeamturret.subs". Press Enter.
- Type in "LuaDC [data]\scripts\building and research\hiigaran\build.lua". Press Enter.
- Type in "LuaDC [data]\scripts\startingfleets\hiigaran00.lua". Press Enter.
- Close the Command Prompt.
- Go back to "[data]\ship\hgn_destroyer\". You should now see five files all starting with "hgn_destroyer". The endings should read ".events", ".events.LuaDC", ".hod", ".ship", and ".ship.LuaDC".
Note: If you used CFLuaDC the file endings will read "_DC.events" and "_DC.ship".- Delete ".events" and ".ship". We don't need them anymore.
- Rename ".events.LuaDC" to ".events". Rename ".ship.LuaDC" to ".ship".
- Try re-opening them. You should be able to read it now. But what do we do with it??? Patience, young one. We'll get to that soon.
--------
Part Three: Creating the Subsystem
- Goto "[data]\ship\hgn_destroyer\".
- Select "hgn_destroyer.events" and "hgn_destroyer.hod".
Press Ctrl+C.- Goto "[data]\subsystem\".
- Rename the folder "hgn_battlecruiserionbeamturret" to "hgn_destroyerkineticburstcannonturret". Open it. Press Ctrl+V.
- Delete "hgn_battlecruiserionbeamturret.subs".
- Rename "hgn_battlecruiserionbeamturret.subs.LuaDC" to "hgn_destroyerkineticburstcannonturret.subs".
- Rename "hgn_destroyer.events" to "hgn_destroyerkineticburstcannonturret.events".
- Rename "hgn_destroyer.hod" to "hgn_destroyerkineticburstcannonturret.hod".
- Start CFHodEd. Open "[data]\subsystem\hgn_destroyerkineticburstcannonturret\hgn_destroyerkineticburstcannonturret.hod".
- Click on the "Geometry" tab.
Click on the list entry labeled "Root_mesh". Click the "Remove" button.
Repeat this for each entry EXCEPT the ones that start with "Weapon_TurretTop".
You should have three entries left: "Weapon_TurretTopSlave_Muzzle_mesh", "Weapon_TurretTop_Muzzle_mesh", and "Weapon_TurretTop_Position_mesh".- Click on the "Materials" tab.
Click on the list entry labeled "LOD2_TEX". Click the "Remove" button.
Repeat this for each entry EXCEPT "Hgn_Turret".- Click on the "Textures" tab.
Remove all but the first two entries.- Click on the "CM" tab.
Remove the only entry.- Click on the "Engine Glows" tab.
Remove all the entries.- Click on the "NavLights" tab.
Remove all the entries.- Click on the "Markers" tab.
Remove all the entries.- Click on the "Boundary Vertices" tab.
Click "Auto-Calculate".- Click on the "Hierarchy" tab.
Click on "Weapon_Torpedo_Position".
Click Remove.
Repeat this for each entry EXCEPT "Root" and the ones that start with "Weapon_TurretTop".- Click on "Weapon_TurretTop_Position".
You will see a bunch of textboxes to the right of the list. (Inside the Black Circle in the below Image).
Inside the Red Circle in the image below, there are three textboxes. Change the values in these to "0".
Repeat for "Weapon_TurretTopSlave_Position".
- Click the "File" menu.
Click Save.
--------
Part Four: Removing the turrets from the Destroyer
(Somehow, this section got deleted... I'll fix it soon, but at the moment, I don't have the time...)
--------
Part Five: Creating the Subsystem Scripts
- Open "[data]\ship\hgn_destroyer.ship". Find the line that says
The first set of quotes is the name of the weapon.Code:StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretTop", "Weapon_TurretTop")
The second set is where the weapon is located.
The third set is the firing animation (if any).
For more information, click here.
Keep this file open.- Open "[data]\subsystem\hgn_destroyerkineticburstcannonturret\hgn_destroyerkineticburstcannonturret.subs".
- Find the lines:
What's that "$2026" and "$2027" supposed to mean???Code:NewSubSystemType.displayedName = "$2026" NewSubSystemType.sobDescription = "$2027"
Well, it tells the game to look up a string in a table somewhere. Obviously, since we're creating a new subsystem the game doesn't already know about, we need to change this. (Unless you REALLY want to think it's an Ion Cannon, build it, and be disappointed when it's not an Ion Cannon).
Change it to:Code:NewSubSystemType.displayedName = "Kinetic Burst Cannon" NewSubSystemType.sobDescription = "Kinetic Burst Cannon"- Find this line:
Obviously, this subsystem isn't an IonBeamTurret anymore, so change it to "DesKBCTurret" (DestroyerKineticBurstCannonTurret).Code:NewSubSystemType.typeString = "BCIonBeamTurret"- Scroll to the very bottom and you'll see this line:
Hey! This looks a little familiar! It looks almost like the line in "hgn_destroyer.ship"! Only it says "SubSystem" instead of "Ship"!Code:StartSubSystemWeaponConfig(NewSubSystemType, "Hgn_BattleCruiserTurretedIonCannon", "Weapon_IonCan1", "Weapon_IonCan1")
Change the values inside the quotes to match the ones in "[data]\ship\hgn_destroyer.ship".
It should look like this:Save and close.Code:StartSubSystemWeaponConfig(NewSubSystemType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretTop", "Weapon_TurretTop")- Open "hgn_destroyerkineticburstcannonturret.events".
Look through the file to gain an idea of the structure before going on to the next step.- Replace the text in the file with the following block of code:
BLOCK OF CODE
Code:effects = { animations = { animation1 = { name = "Weapon_TurretTop", length = 1.2, loop = 0, parent = "", minimum = 0, maximum = 0, markers = { "", }, }, }, events = { event1 = { { "anim", "Weapon_TurretTop", }, { "animtime", "0", }, { "marker", "Weapon_TurretTop_Muzzle", }, { "fx", "muzzle_flash_combo_small_capital", }, { "sound", "WEAPON/CARRIER/FIRE/WEAPON_DESTROYER_CANNON_SHELL", }, { "fx_scale", "2", }, { "fx_nlips", "on", }, }, event2 = { { "anim", "Weapon_TurretTop", }, { "animtime", "0.3", }, { "marker", "Weapon_TurretTopSlave_Muzzle", }, { "fx", "muzzle_flash_combo_small_capital", }, { "sound", "WEAPON/CARRIER/FIRE/WEAPON_DESTROYER_CANNON_SHELL", }, { "fx_scale", "2", }, { "fx_nlips", "on", }, }, }, }- Save and close.
--------
Part Six: Adding the turret subsystems to the Destroyer
- Goto "[data]\ship\hgn_destroyer\hgn_destroyer.ship".
- Find the lines:
Code:LoadModel(NewShipType, 1) StartShipWeaponConfig(NewShipType, "Hgn_DestroyerTorpedoLauncher", "Weapon_Torpedo", "Weapon_Torpedo") StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretTop", "Weapon_TurretTop") StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBottom", "Weapon_TurretBottom") StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretFront", "Weapon_TurretFront") StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBack", "Weapon_TurretBack") addShield(NewShipType, "EMP", 1000, 20) StartShipHardPointConfig(NewShipType, "Engine", "Hardpoint_Engine", "System", "Innate", "Damageable", "Hgn_Des_Engine", "", "", "", "", "", "", "", "")- Comment out the 2nd, 3rd, 4th, and 5th "StartShipWeaponConfig" lines.
Code:LoadModel(NewShipType, 1) StartShipWeaponConfig(NewShipType, "Hgn_DestroyerTorpedoLauncher", "Weapon_Torpedo", "Weapon_Torpedo") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretTop", "Weapon_TurretTop") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBottom", "Weapon_TurretBottom") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretFront", "Weapon_TurretFront") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBack", "Weapon_TurretBack") addShield(NewShipType, "EMP", 1000, 20) StartShipHardPointConfig(NewShipType, "Engine", "Hardpoint_Engine", "System", "Innate", "Damageable", "Hgn_Des_Engine", "", "", "", "", "", "", "", "")- Move the "addShield" line to after the "StartShipHardPointConfig" line.
Add an empty line before and after the first "StartShipWeaponConfig" line.
Add three empty lines before and one empty lines after the "StartShipHardPointConfig" line.
It should now look like this:Code:LoadModel(NewShipType, 1) StartShipWeaponConfig(NewShipType, "Hgn_DestroyerTorpedoLauncher", "Weapon_Torpedo", "Weapon_Torpedo") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretTop", "Weapon_TurretTop") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBottom", "Weapon_TurretBottom") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretFront", "Weapon_TurretFront") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBack", "Weapon_TurretBack") StartShipHardPointConfig(NewShipType, "Engine", "Hardpoint_Engine", "System", "Innate", "Damageable", "Hgn_Des_Engine", "", "", "", "", "", "", "", "") addShield(NewShipType, "EMP", 1000, 20)- Copy and paste the following line into the middle of the three empty lines:
Code:StartShipHardPointConfig(NewShipType, "Weapon1", "Weapon_TurretTop", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "")- Paste the line three more times.
- Now look at the second set of quotes in those lines.
We don't really want four turrets all in the same spot...
So, look at the lines we commented out.
They have "Weapon_TurretTop", "Weapon_TurretBottom", etc...
So change these ones to match.
Note: If you followed Part Four, Step 6 (about feeling confident), click on the spoiler:Spoiler
Remember that you renamed the hardpoints to "Hardpoint_Weapon..." and that "Weapon_Turret..." no longer exists? Fix accordingly.- Change the first set of quotes in these lines to "Weapon1", "Weapon2", etc...
- It should now look like this:
Code:LoadModel(NewShipType, 1) StartShipWeaponConfig(NewShipType, "Hgn_DestroyerTorpedoLauncher", "Weapon_Torpedo", "Weapon_Torpedo") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretTop", "Weapon_TurretTop") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBottom", "Weapon_TurretBottom") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretFront", "Weapon_TurretFront") --StartShipWeaponConfig(NewShipType, "Hgn_KineticBurstCannonDestroyer", "Weapon_TurretBack", "Weapon_TurretBack") StartShipHardPointConfig(NewShipType, "Weapon1", "Weapon_TurretTop", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon2", "Weapon_TurretBottom", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon3", "Weapon_TurretFront", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon4", "Weapon_TurretBack", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Engine", "Hardpoint_Engine", "System", "Innate", "Damageable", "Hgn_Des_Engine", "", "", "", "", "", "", "", "") addShield(NewShipType, "EMP", 1000, 20)- If all checks out OK, save the file and close!
--------
Part Seven: Making the Destroyer able to build the turret subsystems
- Goto "[data]\scripts\building and research\hiigaran\build.lua". Open it.
- It should look something like this:
Code:Ship = 0 SubSystem = 1 build = { { Type = SubSystem, ThingToBuild = "Hgn_C_Production_Fighter", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "$7000", Description = "$7001", }, { Type = SubSystem, ThingToBuild = "Hgn_MS_Production_Fighter", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "$7000", Description = "$7001", }, ... ... ...- Copy the enlarged text and paste it again.
- Change: "Hgn_C_Production_Fighter" to "hgn_destroyerkineticburstcannonturret".
- Change: "$7000" to "Destroyer Turret".
- Change: "$7001" to "Kinetic Cannon Turret".
- It should now look similar to this:
Code:Ship = 0 SubSystem = 1 build = { { Type = SubSystem, ThingToBuild = "hgn_destroyerkineticburstcannonturret", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "Destroyer Turret", Description = "Kinetic Cannon Turret", }, { Type = SubSystem, ThingToBuild = "Hgn_C_Production_Fighter", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "$7000", Description = "$7001", }, { Type = SubSystem, ThingToBuild = "Hgn_MS_Production_Fighter", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "$7000", Description = "$7001", }, ... ... ...- Save and close.
--------
Part Eight: Adding the Destroyer to the Starting Fleets for testing purposes
- Goto "[data]\scripts\startingfleets\".
- Delete "hiigaran00.lua".
- Rename "hiigaran00.lua.LuaDC" to "hiigaran00.lua". Open it.
- It will look like this:
Code:PersistantData = { StrikeGroups = {}, Squadrons = { { type = "Hgn_MotherShip", subsystems = {}, shiphold = {}, name = "", size = 1, }, { type = "Hgn_ResourceCollector", subsystems = {}, shiphold = {}, name = "", size = 1, number = 6, }, { type = "Hgn_Carrier", subsystems = {}, shiphold = {}, name = "", size = 1, number = 1, }, }, Research = {}, }- Copy the enlarged text and paste it again.
- Change "Hgn_ResourceCollector" to "Hgn_Destroyer".
- Change "number = 6" to "number = #", where # is the number of ships you want. (I used 3) Just remember that ALL Hiigaran computer players will start with these as well.
- The file should now look like this:
Code:PersistantData = { StrikeGroups = {}, Squadrons = { { type = "Hgn_MotherShip", subsystems = {}, shiphold = {}, name = "", size = 1, }, { type = "Hgn_ResourceCollector", subsystems = {}, shiphold = {}, name = "", size = 1, number = 6, }, { type = "Hgn_Destroyer", subsystems = {}, shiphold = {}, name = "", size = 1, number = 3, }, { type = "Hgn_Carrier", subsystems = {}, shiphold = {}, name = "", size = 1, number = 1, }, }, Research = {}, }- Save and close.
--------
Part Nine: Testing (Phase One)
- Find your Homeworld 2 Shortcut.
- Select it and copy-paste it.
- Right-click on the new shortcut and select Properties.
- In the box next to the Target label add "-overrideBigFile" to the end. (without quotes).
- Click "OK".
- Rename the shortcut to "Homeworld 2 - overrideBigFile".
- Double-click on the shortcut.
- Start a Player vs CPU game.
- Click on the Destroyer. Build the Turrets.
- Now you're probably saying something along the lines of: "What!!?? I can only click on one of them!!?? WHY!!!!????"
- That's okay. We'll fix that. Exit out of Homeworld 2.
--------
Part Ten: Fixing the Build Problem
- Goto "[data]\subsystem\".
- Copy the "hgn_destroyerkineticburstcannonturret" folder. Paste it three times.
- Rename them to "hgn_destroyerkineticburstcannonturret#", where # is 0, 1, 2, or 3.
- Open each folder and rename the files inside to match the folder name, making sure to keep the extensions intact.
- Goto "[data]\scripts\building and research\hiigaran\". Open "build.lua".
- Copy and paste the "hgn_destroyerkineticburstcannonturret" section three times and add 0, 1, 2, or 3 to the end of "hgn_destroyerkineticburstcannonturret".
- Change the DisplayPriority for each to a different number than each other.
It should look like this:Code:Ship = 0 SubSystem = 1 build = { { Type = SubSystem, ThingToBuild = "hgn_destroyerkineticburstcannonturret0", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "Destroyer Turret", Description = "Kinetic Cannon Turret", }, { Type = SubSystem, ThingToBuild = "hgn_destroyerkineticburstcannonturret1", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 1, DisplayedName = "Destroyer Turret", Description = "Kinetic Cannon Turret", }, { Type = SubSystem, ThingToBuild = "hgn_destroyerkineticburstcannonturret2", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 2, DisplayedName = "Destroyer Turret", Description = "Kinetic Cannon Turret", }, { Type = SubSystem, ThingToBuild = "hgn_destroyerkineticburstcannonturret3", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 3, DisplayedName = "Destroyer Turret", Description = "Kinetic Cannon Turret", }, { Type = SubSystem, ThingToBuild = "Hgn_C_Production_Fighter", RequiredResearch = "", RequiredShipSubSystems = "", DisplayPriority = 0, DisplayedName = "$7000", Description = "$7001", }, ... ... ...- Save and close.
- Goto "[data]\ship\hgn_destroyer\". Open "hgn_destroyer.ship".
- Find:
Code:StartShipHardPointConfig(NewShipType, "Weapon1", "Weapon_TurretTop", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon2", "Weapon_TurretBottom", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon3", "Weapon_TurretFront", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon4", "Weapon_TurretBack", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret", "", "", "", "", "", "", "")- Add 0, 1, 2, or 3 to the end of "hgn_destroyerkineticburstcannonturret". It should now look like this:
Code:StartShipHardPointConfig(NewShipType, "Weapon1", "Weapon_TurretTop", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret0", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon2", "Weapon_TurretBottom", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret1", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon3", "Weapon_TurretFront", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret2", "", "", "", "", "", "", "") StartShipHardPointConfig(NewShipType, "Weapon4", "Weapon_TurretBack", "Weapon", "Generic", "Destroyable", "", "hgn_destroyerkineticburstcannonturret3", "", "", "", "", "", "", "")- Save and close.
--------
Part Eleven: Testing (Phase Two)
- Double-click your "Homeworld 2 - overrideBigFile" shortcut.
- Start a Player vs CPU game.
- Click on the Destroyer. Build the Turrets.
- Yay! You've done it!
- But.. You'll notice the AI/Computer players won't build the turrets. Enabling them to do so is another tutorial. Oh, well... At least you now know how to add buildable subsystems (I hope).
--------
Credits:
Bentusi_Core, for inspiring me to write the tutorial.
Zatch, for all of his moderating help.
Phatboygeo, for reminding Zatch to apply a thick layer of glue to this thread.
Everyone else, who created the tools I use to mod the Homeworld series.
And all the other giants on whose shoulders I stand.
And last, but very far from being least, RELIC for creating such amazing games.





STICKY!!!!
Progress: 12% 



