Questions here: an inquiry thread! [Updated Sep 15th, 2014]

Discuss and distribute tools and methods for modding. Moderator - Grognak
Post Reply
stargateprovider
Posts: 229
Joined: Thu Oct 03, 2013 1:21 pm

Re: Questions here: an inquiry thread!

Post by stargateprovider »

Yes
Some of my FTL mods you may like, or hate, or... yeah:
Image Image
Vhati
Posts: 792
Joined: Thu Oct 25, 2012 12:01 pm

Re: Questions here: an inquiry thread!

Post by Vhati »

stargateprovider wrote:All of the games images, sounds, .txt and .xml files are located in data.dat and resource.dat.
You have to unpack them using FTLdat
[...]
And all .append files that You make, You have to put in a data folder (which needs to be in your mods folder). when everything's ready compress the data folder to a .zip folder and rename it to .ftl.
That's it. You can test it using Slipstream.
You can also skip FTLdat and extract with Slipstream instead (File-Extract Dats...).
FrostWyrmWraith
Posts: 31
Joined: Tue Feb 26, 2013 3:38 am

Re: Questions here: an inquiry thread!

Post by FrostWyrmWraith »

After updating to AE none of my custom ships have visible shields. Any ideas on why that is? o.o
User avatar
R4V3-0N
Posts: 1287
Joined: Sun Oct 06, 2013 11:44 am

Re: Questions here: an inquiry thread!

Post by R4V3-0N »

I think someone should make a temporary guide on how to update your ship to AE.

To many of these kind of questions occur.
R4V3-0N, a dreamer.
FrostWyrmWraith
Posts: 31
Joined: Tue Feb 26, 2013 3:38 am

Re: Questions here: an inquiry thread!

Post by FrostWyrmWraith »

That would be nice. Especially since I've discovered two of them *do* have visible shields and I still have no idea why they're any different than the rest.
featherwings
Posts: 40
Joined: Tue May 07, 2013 6:27 am

Re: Questions here: an inquiry thread!

Post by featherwings »

Is there any way to force a player to take a bad option?

As far as I can tell, conditionals can only add options, not remove them. Is this true?

Specific example: An event with an angry mantis. Most ships have the option to pass through or fight the mantis, but if you have a rock you HAVE to fight it.
The Legacy
Posts: 21
Joined: Fri May 09, 2014 2:24 am

Re: Questions here: an inquiry thread!

Post by The Legacy »

Hello! New here, and I'm a HUGE fan of FTL, and how (relatively) easy it is to mod. I hope to make some mods in the near future, though I'm needing to wait for Superluminal2 to be released, as the original editor is causing a lot of headaches currently (to no fault of the creator of Superluminal, mind you. :P).

Anyway, before I get started on developing my mod(s), I've done some research on what can be done, and though I've learned much, I still need to find out more. I've collected a list of questions that I hope can be answered, so I can make plans for the future.

1. Is FTL Overdrive still being developed? I haven't seen an update in two years in either the forum thread or the depository. I feel it would be crucial to be worked on as it would allow for things that the current limitations prevent.

2. Is there a way to modify the maximum upgrade level of the reactor power? I've seen that you can set systems and subsystems under the <level> property to beyond the normal limits by modifying and adding to the values, but I have yet to see options for the reactor itself. I know that you can manually max it beyond 25, but you can't set the upgrade value.

3. Is there a way to reprogram the crew's abilities to something else, beyond the default races, outside of the cosmetics of name and graphics? Is there also a way to add more than eight crewmembers to a player (or NPC?) ship without crashes or other issues?

4. Is there a way to add more than four weapons? I've tried it, and though it seems to work, it does cause problems with the interface. Thus...

5. Is there a way to change the positioning of the UI, to make room for changes to the stats of various systems?

6. Is there a way to create new room designs, and to modify the effects of upgrading a system beyond their vanilla defaults?

7. Is there a way to create new ships instead of overwriting the existing ones and their variations? I'm thinking no on this and #6 based on the information on FTL Overdrive.

Thanks in advance. :)
The Legacy
Posts: 21
Joined: Fri May 09, 2014 2:24 am

Re: Questions here: an inquiry thread!

Post by The Legacy »

featherwings wrote:Is there any way to force a player to take a bad option?

As far as I can tell, conditionals can only add options, not remove them. Is this true?

Specific example: An event with an angry mantis. Most ships have the option to pass through or fight the mantis, but if you have a rock you HAVE to fight it.
I'm new to this, so I'm not entirely sure if this is possible. However, from what I've seen of the XML coding, as you stated, you can add events that trigger under certain circumstances. Perhaps what you can do is set all the options to require the lack of Rock crewmember in order to work. I've honestly never tried event editing, but I know that for the <choice> commands, there is req="(Name of object/weapon/system/crewmember/etc)", and there's lvl="(number listing minimum level required)". I was wondering if lvl set to 0 would work, but it also probably won't. I think some clever scripting would be needed to do what you want to do, but again, I'm completely new at FTL's modding system. :P

EDIT: After testing, one half of it seems to work; req="rock" and lvl="0" enables the option even on a ship without a rock on board. However, it also works when a rock IS on board. If there is a way to set this to ONLY work if there's no rock on board, you'll be golden.

EDIT 2: I think I'm on to something; though you can't change the "req" field with a variable, you can change the lvl field with variables; the game's choice option for lvl affects crewmembers; for example, if you have 1 rock crewmember on board, lvl="1" will work with one rock crewmember on board, and will not when there are none. If it was set to two, ships with one rock crewmember will also not work with that choice.

In further testing, I've found that variables can emulate similar behaviour; for example, lvl="<1" is treated as if it said lvl="0". However, it sometimes also doesn't logically work, as lvl="<0" doesn't treat it as if it was lvl="1". However, the problem stems from the fact that, to my knowledge, this field is treated as a variable rather than a question; thus, I'm not entirely sure if this method works. However, it's worth looking into, especially since the lvl field directly correlates to the number of that type of crew are on board.

EDIT 3: Didn't work, but had an idea; if the code in the game itself has the variable 'lvl' for the lvl field, I hypothesized that, in the code, the lvl field reads as "if lvl >= (variable entered) then (this is true)". Thus, by entering "9 || lvl <= 0" into the field (such as <choice req="rock" lvl="9 || lvl <= 0" hidden="true">), it would make the line read in the compiled part of the code as "if (lvl >= (9 || lvl <= 0)) then (this is true)", which translates to "if level/number/etc is greater than 9, OR is equal to zero, then this statement is true." Unfortunately didn't work, but I may be on to something. Hopefully someone who's got a better idea of the game's capabilities would be able to chime in on this. :)

EDIT 4: Oh, wait, duh. Bracket. It should read "if (lvl >= 9) || (lvl <= 0) then (this is true)", based on the idea that the code is written as "if (lvl >= [number entered]) then do this". Thus, by adding <choice req="rock" lvl="9) || (lvl <= 0" hidden="true">, it should come out as suggested above. Unfortunately still didn't work, but again, it's a possibility.
User avatar
kartoFlane
Posts: 1488
Joined: Mon Jan 14, 2013 10:20 pm

Re: Questions here: an inquiry thread!

Post by kartoFlane »

The Legacy wrote:1. Is FTL Overdrive still being developed? I haven't seen an update in two years in either the forum thread or the depository.
The original Overdrive, which IIRC was being written in C#, is no longer being developed and has been abandoned for quite some time. Vhati has restarted the project in Java, but it proved to be too big (since it's basically like developing FTL, but instead of two people, it's just one guy)
2. Is there a way to modify the maximum upgrade level of the reactor power?
3. Is there a way to reprogram the crew's abilities to something else, beyond the default races, outside of the cosmetics of name and graphics?
Nope
Is there also a way to add more than eight crewmembers to a player (or NPC?) ship without crashes or other issues?
For the player - without crashing: no, with crashing: perhaps (have the ship start with more than 8 crew members). IIRC, enemy ships can go above the limit without any complications, but I'm not sure.
4. Is there a way to add more than four weapons? I've tried it, and though it seems to work, it does cause problems with the interface. Thus...
You can, but as you have found out yourself, the UI doesn't really like this.
5. Is there a way to change the positioning of the UI, to make room for changes to the stats of various systems?
Not sure what you mean by 'changes to the stats of various systems', but there's no way to move the UI elements.
6. Is there a way to create new room designs, and to modify the effects of upgrading a system beyond their vanilla defaults?
Again, not sure what you mean here. If by 'room designs' you mean interior images, then yes, you can change that, but you can't have them change based on the system's level. It might be possible to emulate this with glow images though, but they depend on the skill of the crew member manning the system.
It's also not possible to change the way systems work. For the most part, system bug out when upgraded beyond vanilla limit (eg. engines reset evade to 0).
7. Is there a way to create new ships instead of overwriting the existing ones and their variations?
Nope.
The Legacy wrote:After testing, one half of it seems to work; req="rock" and lvl="0" enables the option even on a ship without a rock on board. However, it also works when a rock IS on board. If there is a way to set this to ONLY work if there's no rock on board, you'll be golden.
That's because FTL treats the 'lvl' attribute as a minimum requirement, not the exact level that is required. Though what you have found is indeed interesting, that you can have the choice require at least two crew members of a specific race. Dunno about the other modders, but I didn't know that.
The Legacy wrote:in the code, the lvl field reads as "if lvl >= (variable entered) then (this is true)". Thus, by entering "9 || lvl <= 0" into the field (such as <choice req="rock" lvl="9 || lvl <= 0" hidden="true">), it would make the line read in the compiled part of the code as "if (lvl >= (9 || lvl <= 0)) then (this is true)"
Good thinking, but tricks of that kind work only on interpreted languages like Javascript or Python ;) FTL's data files use XML format, and the game itself is written in C++, which is a compiled language.
In XML, the value of attributes is a string, so you can place whatever you want in between the quotation marks. It's only a matter of how the code later interprets that string... FTL happens to look at the 'lvl' attribute as an integer. If the string isn't a number (eg. "<1"), then it returns a default value, most likely 0.
Superluminal2 - a ship editor for FTL
dalolorn
Posts: 532
Joined: Sun Sep 23, 2012 8:06 am

Re: Questions here: an inquiry thread!

Post by dalolorn »

Legacy, kartoFlane, you're going at this the wrong way.

Based on what I've heard, AE seems to have added the ability to force blue options. Though I don't know how that works, it's still worth checking out.
Post Reply