X2CommunityCore / X2WOTCCommunityHighlander

https://steamcommunity.com/workshop/filedetails/?id=1134256495
MIT License
60 stars 68 forks source link

Properly trigger unit concealment loss when bForceNoSquadConcealment flag is set instead of not concealing in the first place. #1351

Open BlackDog86 opened 5 months ago

BlackDog86 commented 5 months ago

Fixes #1319

This is a preliminary fix for review & likely will need some changes but just creating a PR for review / conversation.

The code adjustment fixes the problem by starting the squad in concealment and then breaking it if the dark event / battledata flag bForceNoSquadConcealment is set, instead of not setting concealment on the squad in the first place. It works properly with phantom & reaper shadow but at the moment it creates a lot of flyovers on mission start which I suspect which looks a bit messy & I suspect will prevent this from being merged directly - I haven't sorted the comments out yet either!

Basically, on missions where the squad starts concealed and high alert is active you now get the following situation: "High Alert Flyover" "Concealed Flyover" "Revealed Flyover" (Optional if you have a ranger) "Phantom Ranger Concealed Flyover"

Normal mission start flyovers are not affected.

It would be ideal if we could come up with a way to suppress the visualiser when we use the SetSquadConcealment function but I don't really know how to do that at this point. Advice welcome!

Iridar commented 1 month ago

Since the issue is specifically with the mission, perhaps it's the mission that needs to be fixed? Perhaps changing the mission trigger from "XCOM breaks concealment" to "XCOM unit sighted". Either that or "or mission start if XCOM starts unconcealed". The latter is less friendly towards the player, but makes more sense with the mission narrative that goes "ADVENT already knows we're here".

The problem of course is mission logic is probably in kismet, and I'm not sure if we can fix it in CHL.