Hey Simoom,
Thank you very much for the very detailed feedback.
Simoom wrote:The combat jump, in combination with weapon range detection, seems to cause some issues. In particular, my Xenon I seems to have the tendency to jump away very prematurely - it appears to prefer maintaining a distance of 20KM from target (where it starts firing off Novadrones - I didn't install the supplement package, so not sure where it got the idea from that the Novadrone can shoot that far - would your OOZ combat tweak have any effect on this?). The Novadrones don't have that range, so they simply detonate before reaching the target. When target closes in to 10KM (so I am guessing half the distance of what the AI thinks the Novadrone range is, but still outside most capital weapons' 6-8KM range), the Xenon I would jump away, again to 20KM. This effectively results in it not engaging the target at all.
The range increase is included in MOCT_supp3, or in all versions of MOCT before v0.07. Novadrone range in MOCT_supp3 is 24km. It should be able to fire over that range, although the torpedoes will be extremely slow. (uh oh. Just checked and it turns out the torpedoes in MOCT have an absolute maximum range of 9600 meters. Should be fine with MOCT_supp3 AND MICT_supp1, but I should do something about that for those using just MOCT. Hm. Thanks for letting me know this problem.)
Sorry about the Xenon I. I'll write in an exception to the movement script for the Xenon I in the meantime until I get one myself for closer inspection. Have to think about this, though. At the moment, this.ship.maxcombatrange.all is used for most of the distance calculations, which means ~24km for torpedo users. Could use this.ship.maxcombatrange.turrets instead, but that'll ruin the Balor and Sucellus movement concept. Possible to work in exceptions, of course, but I'm trying to avoid writing exceptions into the movement portion of the script itself since that could get messy fast, and I have to be careful about the blocking portions of the scripts. (Ships could get stuck if that isn't manage properly.) I'll try working it into the variable definitions for the range calculations.
Simoom wrote:I am running Better Turrets and Captain AI Overhaul, I checked the script names and I don't think they conflict with this mod?
Yes, both MICT and MOCT are fully compatible with both of cicero111's mods. However, MICT will override Captain AI Overhaul on MICT ships. If Captain AI Overhaul is installed, it will be active on all other ships. Better Turrets should be completely unaffected.
Simoom wrote:Capitals with highly-skilled captains (4 in Navigation or above) will be able to make in-sector jumps (so from one zone to another, without need for a Jump Beacon). This cuts down on a lot of travel time, since we all know boosting can often be problematic (especially with vanilla collision issues). This is similar to what CDOAIO used to do (and I think UFO does it now, too), and I actually find it to be a useful feature. I understand why some people feel this is against the lore or make highways obsolete, but I argue that in vanilla, capitals are pretty useless as escorts (given the time it takes for them to maneuver and boost to your location, they pretty much never make it in time to a fight when you want them to).
I appreciate the suggestion, but am not planning on changing the out-of-combat movement scripts at the moment since I think that the way vanilla does it is fine. Might in the future, though. For ships that need to get somewhere fast, I use a heavily-modified copy of UFO. Pretty sure UFO does do in-sector jumps out of the box, though. This mod is compatible with UFO, but MICT won't be active on any UFO ships out of the box since UFO uses completely customized scripts for movement and firing of UFO ships.
Simoom wrote:The fighter-avoidance jumps in particular I think should be done away with, for two reasons. One, if you are going up against a large fighter swarm, and have a destroyer in your squadron, chances are you are hoping for it to take out the fighters for you. In this case if it jumps away whenever fighters get to close, that defeats its purpose. Two, players are actually effective (at least to an extent) against fighters and can help take out some of them if your capital ship is actually taking a lot of heat (more of a concern for capitals with weak fighter defense such as Phoenix or Balor, but those really shouldn't be sent in alone against a large fighter swarm anyway).
Actually wrote that in because capships were getting burned by swarms of fighters OOZ since they tend to sit stupidly while they get pummeled by fighter swarms. At the moment it uses:
<set_value name="$MICT_MaxShortAimDist" exact="this.ship.maxcombatrange.turrets" />
<set_value name="$MICT_MinShortAimDist" exact="this.ship.maxcombatrange.turrets * 0.75f" />
for movement against fighters. You're right though in that that could be excessive since that would be Plasma/MA or JET/LR range on some ships when you want them to stay within HIT/MA or Hailstorm range. I'll take your advice on this and set it to ~3.5 km for now.
Simoom wrote:Skilled captains (above 4 stars) will try to maintain a minimum distance from target (but
only if target is a capital. It shouldn't care about fighters). This will be done through both maneuvering (if the capital's speed is sufficient) and, if unable to increase distance, the ship will do a short-range boost. I am not sure about using maximum weapon range as a guideline for the minimum distance to maintain... detection issues aside, many capital ships have a mixture of long-range and medium-range weapons (in the case of Xenon K, for example, its maximum weapons range is 8KM, but its medium-range weapon does not quite reach 4KM; so if you tell the Xenon K to maintain too much of a distance, it won't be able to utilize its full firepower). I would suggest simply setting a flat minimum distance: 3.5KM. The reason for 3.5KM is because it is within the range of all capital weaponry, but outside anti-fighter weapons like Hailstorm turrets. I know this goal may not be easy to implement since capitals often maneuver stupidly (they wiggle too much in general), but sounds like you were already looking into maneuvering issues.
That IS tricky. Reasoning for using max range is because attacked hostile ships will try to approach the attacking ships thus bringing the medium and shorter ranged weapons into play. If the hostile vessel gets too close for comfort (hopefully before it could bring any significant firepower to bear, especially since most ships' heavy weaponry appears to be on their sides, and an approaching ship will be facing your ship.)
In-zone boosts are very tricky. cicero111 managed to get it working reasonably well, but, if I remember correctly, that's by doing a series of boosts. Not sure why it's so tricky, but it may have something to do with there being some delay before conditions are checked for. (If all of the commands of all of the ships fighting everywhere, even just in-zone, anyone's computer would probably seize up. Mine does, anyway.
About just using in-zone maneouvering, yeah, that's possible. Why not in-zone tactical jumps, though?
Simoom wrote:A highly-skilled Defense Officer (4 stars or above), when set to "Defend" mode, will jump the ship away (this can be either in-zone or to a nearby zone) when shield is below a certain threshold (25%? 15%?).
It's at 50% right now, and a less than exceptional captain can miscalculate the jump and still land within an opponents firing range. A bit high at the moment, but I find that it goes from 50% to 0 extremely quickly, while it usually stays above 50% when it's ably managing the engagement.
Simoom wrote:But if set to "Attack Enemies", the ship will simply fight until destroyed (I was gonna suggest some morale check and panic behavior, but then I remembered Better Turrets already has that covered)
I don't know if movement behavior can be made dependent on DO setting. Probably can, but movement scripts act upon the captain, and are separate from the firing scripts handled by the DO.
cicero111 did do some interesting things with skill checks, like a 0/0/0 DO being an incompetent half-asleep half-drunk lout who won't even be able to see a target bearing down on his ship until the ship's fired upon; and even then, will probably miss.
Ok, I'll get to work. Please do let me know if I missed anything.