Page 1 of 1

New Races

Posted: Thu Jan 24, 2013 12:28 am
by nataryeahbuddy
How do you create new races in mods? Thanks!

Re: New Races

Posted: Thu Jan 24, 2013 12:36 am
by GreenZanbato
You can't. Sorry.

Re: New Races

Posted: Thu Jan 24, 2013 1:37 am
by nataryeahbuddy
GreenZanbato wrote:You can't. Sorry.

Is there a way to create some sort of AI that doesn't require crew?

Re: New Races

Posted: Thu Jan 24, 2013 2:51 am
by thashepherd
nataryeahbuddy wrote:
GreenZanbato wrote:You can't. Sorry.

Is there a way to create some sort of AI that doesn't require crew?


Yup, and according to what I've read it works for both player and non-player ships.

Re: New Races

Posted: Thu Jan 24, 2013 8:31 am
by Baldwebby360
nataryeahbuddy wrote:
GreenZanbato wrote:You can't. Sorry.

Is there a way to create some sort of AI that doesn't require crew?

Just set crew to zero

Re: New Races

Posted: Thu Jan 24, 2013 12:13 pm
by KuroSaru
Id like to add one addition.

It is not possible to add new races but if you'd like there to be another race in-game and keep all current races you can.
The race ghost is not used, and thus its possible to make use of that instead.

Example Addition to blueprints.

Code: Select all

<crewBlueprint name="ghost">
   <desc>Ghostly Things</desc>
   <cost>40</cost>
   <bp>2</bp>
   <title>Ghost</title>
   <short>Ghost</short>
   <rarity>1</rarity>
   <powerList>
      <power>They are already dead?</power>
   </powerList>
</crewBlueprint>


:!: Technical Overview:
Why cant you add another race? well here is a more technical explanation why its not possible.

There is few a functions within FTLGame.exe repsonsible for races, the two most important are responsible for loading a race and working out what a race can do, apart from description and which animation to use stored in blueprints.xml all the rest is hard-coded into these two functions.

FTLGame.exe - Sub_4A6B92
Image

FTLGame.exe - Sub_4A54571
Image

These functions are important because if you wishes to add a new race you'd need to modify them, this would require, these functions and a few others to be converted to inline ASM within a .dll , and replace all the code in FTLGame.exe with code to load the dll pass it data but allow the DLL to access its memory.

Thus anyone who wants to add a new race use the ghost race its ingame but not used. However if you really want more races wait for FTL Overdrive to be completed, or maybe the Dev of FTL will reconsider there hard-coded functions? and release a patch/update? who knows, but for now as previously stated use the ghost race.

Hopefully this has given a very clear picture why its not possible to simply add a new race.

Re: New Races

Posted: Thu Jan 24, 2013 1:56 pm
by Jonfon
This is pretty much what I did with my robotics cruiser. Set Crew to 0 initially and use the Ghost already in game to represent Holograms and add them via a starting evening in events.xml.

Once the ship starts with 0 crew it is counted forever more as an AI ship so all stations are manned, you cannot lose due to all crew members onboard dying and systems with automatically slowly repair themselves (very slowly).

Since Oxygen is only needed to keep non-ghost crew alive you don't particularly need that either. I've often let some random new crewmember suffocate just because I wanted to use the O2 power or quickly vent to deal with boarders or a fire breaking out.

Re: New Races

Posted: Fri Jan 25, 2013 6:10 pm
by nataryeahbuddy
Jonfon wrote:This is pretty much what I did with my robotics cruiser. Set Crew to 0 initially and use the Ghost already in game to represent Holograms and add them via a starting evening in events.xml.

Once the ship starts with 0 crew it is counted forever more as an AI ship so all stations are manned, you cannot lose due to all crew members onboard dying and systems with automatically slowly repair themselves (very slowly).

Since Oxygen is only needed to keep non-ghost crew alive you don't particularly need that either. I've often let some random new crewmember suffocate just because I wanted to use the O2 power or quickly vent to deal with boarders or a fire breaking out.


Thanks!