

ReduceEnerg圜ostSystemFlag(0.75, CheapArtifacts) Target: Type of target this ability can trigger on.Cooldown: Cooldown between uses, in seconds.These can be customized to do anything by means of script hooks that perform logical actions. Special actions a player can perform in the game. For example, you can add a RangeFactor(fac) modifier through a template that applies to all railguns (via tag/IsRailgun, perhaps) and then later something else (a boost tech for example) can safely call RangeFactor(2.0) to double the range of every railgun, despite RangeFactor not being defined in each individual railgun subsystem definition. Templates can also add Modifiers (see above) but will not necessarily activate a given modifier - it just creates it so that other things can activate it with a given value.

(Also I don't know if you can have comments in subsystem files.)įullRange will not work as Range is not defined when the subsystem is compiled, but then after the template pass which happens later, Range will be defined as 100 since MySubSystem doesn't already have a Range. This means that you - won't- be able to do something like this in a subsystem definition, because when the subsystem is checked 'Range' is undefined:įullRange := Range * 2.0 // Does not work. You can add default variables and modifiers that will be added to any subsystem with a tag, but these values get added AFTER the subsystem is compiled - defaults will fill in for anything the subsystem doesn't already have. Templates are a way to change other subsystems dynamically, based on tags or other conditions. Technology items in the tech tree that increase weapon range then call the RangeFactor modifier on all applicable subsystems, with an argument for fac that changes depending on how big a boost the tech wants to apply. Think of adding a modifier as saying "Other things can modify this subsystem later, here is a specific way it can be changed."Ī good example of how this works are RangeFactor(fac) modifiers, where fac is defined by whatever calls the modifier. These do not automatically apply, but if they are called it is always after initialization of the subsystem. Some tags have special behavior this way, but in the end all tags are just an arbitrary text value other things might or might not look at.Ī modifier updates the value of a variable in a subsystem based on a formula and input. Tags can be applied to subsystems and can then be referenced by templates, the AI, or other parts of the engine. Subsystems make up everything to do with ships except the 3d model, and are put together in-game in the ship designer to produce a ship blueprint. Ship design components, including hulls and the basic ship types themselves. If an icon is already strongly one color, attempting to filter it to another color can produce odd or bad looking results, but most of the time this lets you reuse graphics very quickly and easily without them looking identical.

For example, the ComputerCore icon has various colors, but if I set an icon to "ComputerCore * #ff0000" it will be filtered to only red.īecause this is a multiplicative filter rather than a true colourize, some things will look better than others, and icons with lots of white in them tend to look best. To do this put "* #" after the graphic name, where denotes you should put a standard web hexadecimal color code. These can be modded separately, but there is also the facility to dynamically recolor any of these on the fly. When specifying an icon or graphic for pretty much anything, you need to give a material name which will look up the graphic from the game's list of materials. This also means description fields can have long descriptions with lots of formatting, all nicely edited, and it will show up on tooltips in the editor.
Star ruler 2 cheat table 2.0 mod#
The in-game mod editor automatically handles these localization strings for you (which is amazingly awesome - you won't know how awesome unless you've had to work on a software project that doesn't autodefine them like this!) so you can just type a new one into a name or description field, press Change, and it will bring up an editor letting you set the string. Then people who translate your mod can easily translate all of the names and descriptions.

If you set the name to "#PLASMA_CANNONADE", the game will look up the correct language's entry for #PLASMA_CANNONADE, which you would set to be "Plasma Cannonade" in English. This is good because WHICH text file it uses depends on the game's language setting.įor example, if you set the name of your new weapon to "Plasma Cannonade" then it will always show up as "Plasma Cannonade" whether the game is in English, Russian, Japanese or Nylli. Starting with the hash symbol (#), these special strings tell the game engine to go look up a value in a text file and use that instead of the localization string.
