is there a listener that i can attach to a ship that advances while combat is paused? hullmod's advance doesn't, and neither does an AdvanceableListener.
edit: alternatively, is there any kind of script/listener that i can add to the combat engine that is easy to clean up when combat ends? i am trying to draw onto the UI but only when the ship is alive and controlled by the player.
CombatEngineAPI.addPlugin()/removePlugin() should be what you want, I think?
is there an advance or GUI drawing listener/plugin that runs after all other advance methods?
EveryFrameCombatPlugin.renderInUICoords() and .renderInWorldCoords()
is there a way to somehow remove/change the "-class" part of the hull name for the specifiic ship?
so the getHullNameWithDashClass returns only the name, or some custom string instead of "-class" ?
for example, if i want to change the hound so everywhere in the ui where it shows "Hound-class" it will instead show "Hound" or "Hound-senpai" or something equally silly
If it has the STATION hint, which is... going to have some side effects, let's say. If the hull doesn't have a name, though, just the unmodified designation will be used.
I want to make a "goo gun". It fires projectiles that stick to a ship for ten seconds and slow it down. I'm pretty sure I can do the non-graphics stuff but I have some questions about sprites.
How do I attach a sprite to a ship and can I make it auto-remove after a certain time?
Check the Disinitegrator on-hit effect; it does something fairly similar!
Log4J vulnerability FTW LOL!
(Just FYI, the version of log4j the game comes with does not have this vulnerability! Not that it would matter much if it did - the game is not a server that accept requests and can be made to log arbitrary things externally.)
In a mod, I created a player.faction file with empty "known<stuff>" fields and expected to start a new game with no blueprints. I start with all vanilla "base_bp" blueprints. Why?
JSON arrays are usually (with the exception of a few hardcoded ones) merged by appending their contents, so the way you're providing it in your .player file doesn't actually do anything. The way to accomplish what you want is 1) have a special string "core_clearArray" as the only member in those arrays (I know, I know), or 2) specify player.faction in the "replace" section of your mod_info.json.
IIRC there may be some problems if there are no blueprints in the player faction to start with. Not sure what would happen to fleet spawning etc and just in general there *may* be places in the code that assume the player has *something*.
question
what are possible existing types of shipsystems?
for the "Type" field in the .system file
public static enum ShipSystemType {
WEAPON,
ENGINE_MOD,
SHIELD_MOD,
STAT_MOD,
FAST_RELOAD,
AMMO_RELOAD,
TELEPORTER,
PHASE_CLOAK,
DISPLACER,
DRONE_LAUNCHER,
EMP,
}
What/where do I mod to make it so arms dealers always let you use your own blueprints? I've heard sometimes you can use your own but I've never actually had that option so it must be rare. I'd like to make it greater since I don't like building colonies but I want to produce ships.
Arms dealers don't. It depends on the contact types; see CustomProductionContract for details.
I'm scratching my head though - it still crashes occasionally.
...
Ideas?
Would need to see the error message!
This is a weird misc-modding question, but I would like to know how the replacement rate work in a simple manner.
We know they decrease when it is replacing fighters but by how much? Does the replacement time matter? What's the difference between replacing two broadswords out of three at the same time vs replacing one broadsword out of three twice? Talons are recorded to get replaced faster and maintain a higher replacement rate than replacing broadswords.
How do the replacement rates recover? Do they recover but the depletion is greater than the recovery? Does Combat Readiness matter here? We know they matter at 0% CR when it suddenly goes down to 0% Replacement Rate.
There's not really a guide that we can rely on and at best players speculate.
A per-bay rate is computed, and the final rate - that is then used for all the bays for actual fighter replacement times - is the average for all bays. Unused bays count as always having 100% rate.
The per-bay computation is:
If the wing is at max members: increase the rate by 1% per second, modified by REPLACEMENT_RATE_INCREASE_MULT
If the wing is not at max members: decrease the rate by 1% per second, modified by REPLACEMENT_RATE_DECREASE_MULT, and x0.5 if the ship has the fighters pulled back
Then: rate = max(rate, minFighterReplacementRate)