So based on whats on the notes, having a ship completely change its hull based on a shipsystem wont be achievable?
Possible via ShipAPI.setSprite() and ShipAPI.getExactBounds() (to update the bounds.)
So via these custom dialogs, we can Jump, see the results of the last Engagement (i.e., start a fight at a Station, engage a Station's guards, win, take over, Station loses cargo and / or Blueprints and / or industrial capacity as a result) and a bunch of other stuff? So a Station can be anything from an ultra-complex smorgasbord of Missions to a simplistic toll-gate for Jumping? That is really nice!
Yeah, that ought to be possible.
The only thing that's missing is some way to interact with the Stations other than blowing them up. I've always wanted to see "space cities" that we could fly around in and talk to mobs and static things. IDK why, really- the idea of traveling around a city-like thing has a lot of appeal for whatever reasons. The idea of having a battle in one, dodging static elements and engaging huge defenses is really fun, though!
I guess that could be executed via a Mission, but I presume we can't do Dialogs in Missions... or can we? And does Neutral work as a SIDE yet, so that non-combatants / third parties can be in Missions yet, even if only via custom AI?
No dialogs in missions, no. Neutral doesn't work as a side, and it's not really likely to at any point. It's only meant for asteroids and such. Although, with custom AI, you probably could pull that off, though I can't say, off the top of my head, how the normal AI would react to "neutral" objects attacking it. Probably not well.
But you could definitely code up a mini-game where you're a guy walking around the station, using the custom ui panel stuff. Not that that's even remotely the same
Also, one of the biggies that's not in the build; is there going to be an official method for allowing the AI to engage Stations and Planets yet? Can Stations and Planets be treated like a Fleet object so that they can have ships like a normal Fleet?
I don't mean any "smart strategic AI that decides when this would be smart", don't get me wrong, just the basic mechanics?
This is one of those things I've hesitated to kludge into my mod for some time now, largely because I'm looking forward to a standard method. The references you've made to "creating Outposts" suggests that Stations are no longer perma-objects in the gameworld... how does that work?
Just to be clear, outposts aren't in yet, and stations work as they do in 0.54.1a. Planets, at least, I wouldn't expect to act like "fleets" at all in terms of combat, so that's not likely to happen. Station combat, I haven't thought about - will have to consider it carefully at some point.
With the way combat works on the campaign level, though, you could fairly easily change the battle depending on whether it's near a planet or a station, and you could also have autoresolve take that into account.
Alex I love you. I've said that a lot before, but now I love you a lot more. Like, a whole lot. That's a considerable amount of love.
Is... is that even possible?
Is there a way to set a certain background on a per-star system basis? Like, you might have one system exist in normal space, and have a generic starry background, but another nearby system might be in the middle nebula and have an appropriate background.
Yeah, there is a method for that. Note that there's only one video memory slot for star system backgrounds (and a separate one for hyperspace), so any transition into a star system with a background different from the last system you visited triggers the background being loaded from disk. I think that'll work fairly well if star system backgrounds are organized by area - it'll only have to load when you enter a new "region" of space. It'll work less well if backgrounds are just randomly assigned for the sake of being different.
Oh, another question: can you jump a fleet by using the interaction dialog plugin? Go to a station>Click "Warp me outside of the universe">dialog closes, you're outside the universe.
Subsequently, can AI fleets be jumped to other systems without actually going through a jump point? Script>on arrival>warps fleet outside universe.
You can do that. There's a SectorAPI.doHyperspaceTransition() method if you want all the bells and whistles. Alternately, you could just remove the fleet from one LocationAPI and add it to another, calling SectorAPI.setCurrentLocation() if appropriate (i.e. if the player's fleet is in a new location). doHyperspaceTransition() takes care of all that.
Hyperspace jump point/gravity well generated by the star can only be used if you have a high navigation skill, places the fleet in a random location near the star
Is there any other way of interstellar travel? Because if not, navigation now becomes a must-have skill. Which is the same as a no-choice skill. Which means there's no reason for it to be a selectable skill at all, to limit hyperspace access you could just as well tie it to character level. Or am I missing something?
There are jump points from which you can enter hyperspace, so you don't need a high navigation skill. Right now we have no idea is there will be any restrictions on it, or where it will be.
Right; it's just the
star's gravity well that requires high skill. Other points don't. I'd imagine a star system only accessible through its star's gravity well would make for a pretty good hideout, though. Assuming there's actually a way out!
Edit: Will be flux effect moddable to?
Maybe at some point, wasn't planning to touch it now.
Quick question about this: looking through the class its clear that it expects a PlanetAPI from dialog.getInteractionTarget(). But how does the game know to send that to this plugin when planets are clicked? Is that something we have to register or is it handled behind the scenes (and sorry if this is a dumb question, modding has changed a lot and I haven't really wrapped my head around how a lot of the new plugin stuff works)?
There's a new plugin system that determines which plugin is chosen for specific entities based on priority. Look for CampaignPlugin in the patch notes.
Right, more specifically CampaignPlugin.pickInteractionDialogPlugin(SectorEntityToken interactionTarget). Since that's actually instantiating the plugin, it can make sure that the target is of the right type.