HW-PlayersPatch / Development

Players Patch development repository
7 stars 2 forks source link

SP Default ROE for Enemy Ships #182

Open Novaras opened 5 years ago

Novaras commented 5 years ago

edit: Cloaked edited Fear's issue =)

Problem

In the hw1 campaign, enemy ships start in defensive ROE. This leads to many issues. You can harvest next to the AI, or salvage the AI, and they will not attack back unless the mission script happens to manually tell them to.

Example

Posting this from a message I received (i forget exactly): "There is also a mission where you have to rescue a defecting Captain Ellis where once you have rescued him, destroyed the gravwell generators, and destroyed the couple ships that attack you from the bottom and another few from the front, then there is still a carrier patrolling the centre of the map. However, most of the ships don't attack me anymore when I approach them. All I do is capture all the remaining ion frigates and support frigates and the carrier, and then destroy all the fighters and corvettes (they only fire at me once I start firing at them). Not sure if this is a bug? It does make it kinda feel like I am cheating..."

Implementation

To fix we should make all campaign only ships default to offensive ROE. Would need to use props to do this on Taiidan ships for SP only. Note that GBX didn't rename hw2's Aggressive ROE to Offensive everywhere. So in the .ship “Offensive” does not work. "Aggressive", “Defensive” and "Passive" do work so this is our solution: NewShipType.defaultROE=“Aggressive”

Concern

Will this cause additional problems in some missions, like perhaps the enemy attacking you when they shouldn't? Please leverage your play-through experience and comment. The retaliation range on most ships is only about 5k, so its really not a big deal at all imho.

Example

One of the MANY examples is Galactic Core (hw1rm m12) lazy AI Reported by a guy in disco: https://discordapp.com/channels/128196211969753088/135543171768647680/620366193424990239 Basically the carrier fleet is totally idle unless provoked, and will ignore you completely until then (you can see him mining right near the fleet).

cloaked2222 commented 5 years ago

This is common throughout the hw1 campaign. I'm considered making all non-kus units default to offensive ROE. Maybe it breaks something, maybe its fine, idk. Lemme know what you think based on your campaign playthroughs.

Novaras commented 5 years ago

Is the AI itself a huge pain to work with?

In my playthrough I kinda demolished everything so I'm not sure. I did notice some oddities such idle kadeshi swarmers (I thought they were outta fuel but they just were sitting there actually) so I guess its not uncommon.

I don't think aggro campaign units would break stuff however I'm almost certain there would be unintended consequences.

Even if it takes a while I think it'd be best to just fix these issues correctly over time?

Stuart1998 commented 5 years ago

Implementing #176 should help with this, but note that the 1c version of this mission featured a second carrier that I believe had more traditional/developed AI.

cloaked2222 commented 5 years ago

@Stuart1998 I edited the OP to clarify the root cause for everyone. This issue is separate from 176.

cloaked2222 commented 4 years ago

I set all enemy ships in the campaign to default to Offensive tactics. Some scripts may alter their tactics from there. This is done in the SP_Enemy_ROE branch: 08292ce23a9609c5a950bcfbe6e8771da4bae5ba

HW1 and HW2 campaigns would need a full play-through test to implement. Otherwise what should be waves of five separate attacks could turn into one onslaught that wipes out the player.

If this is a problem, would could set certain ships or races back to defensive if needed. It may make sense to change all Taiidan/Vaygr ships back to Defensive, if the player is getting overrun in later missions.