Special ships
Posted: Thu Jun 12, 2008 2:07 pm
If you want to change special ships IDs they are found in trek.exe
(addresses are valid in Joker's patched exe)
Address->Value (ship index)
0xF31D5 -> 0x1A
0xF323B -> 0x1B
0xF3241 -> 0x22
0xF3247 -> 0x29
0xF324D -> 0x2A
If you want to change which empire has special ships change the value at 0xF31CF from 1 to desired empire id (valid ones are 0-4, but others won't throw errors).
Another fun value is at 0xF31D0
if set to 0x74 only the selected empire has special ships
if set to 0x75 all empires except the selected ones have special ships
(this means changing empire to a ridiculous value such as 0xFF will allow all empires to build special ships, botf will still check race req of ships! meaning Cardassians can't build Federation ships etc.)
if set to 0xEB special ships are disabled - they can be built normally without Utopia Planitia.
Special ships require a building that allows building special ships. Unfortunately there can be only one such building and it's id is fixed to 0x26 (Utopia Planitia id)
At 0xF31DB is the value 0x26 and can be changed to another building id.
Adding support for more of these buildings is a bit tricky. Botf checks only for id and not the buildings bonus type.
Untested possible solution:
Place all "builds special ships" structures at the beginning of the buildings list.
At 0x3AEB8 is another magic value.
set to 0x74 it means only accept building with specified id (default 0x26 - see above)
set to 0x7E it will mean accept all id's that are equal or lower than the specified id
so change 0x74 to 0x7E and change special structure id to the id of he last "build special ships" building id. This should allow us to have 5 of these special structures (one for each empire) and five special ships (one for each empire)
(addresses are valid in Joker's patched exe)
Address->Value (ship index)
0xF31D5 -> 0x1A
0xF323B -> 0x1B
0xF3241 -> 0x22
0xF3247 -> 0x29
0xF324D -> 0x2A
If you want to change which empire has special ships change the value at 0xF31CF from 1 to desired empire id (valid ones are 0-4, but others won't throw errors).
Another fun value is at 0xF31D0
if set to 0x74 only the selected empire has special ships
if set to 0x75 all empires except the selected ones have special ships
(this means changing empire to a ridiculous value such as 0xFF will allow all empires to build special ships, botf will still check race req of ships! meaning Cardassians can't build Federation ships etc.)
if set to 0xEB special ships are disabled - they can be built normally without Utopia Planitia.
Special ships require a building that allows building special ships. Unfortunately there can be only one such building and it's id is fixed to 0x26 (Utopia Planitia id)
At 0xF31DB is the value 0x26 and can be changed to another building id.
Adding support for more of these buildings is a bit tricky. Botf checks only for id and not the buildings bonus type.
Untested possible solution:
Place all "builds special ships" structures at the beginning of the buildings list.
At 0x3AEB8 is another magic value.
set to 0x74 it means only accept building with specified id (default 0x26 - see above)
set to 0x7E it will mean accept all id's that are equal or lower than the specified id
so change 0x74 to 0x7E and change special structure id to the id of he last "build special ships" building id. This should allow us to have 5 of these special structures (one for each empire) and five special ships (one for each empire)