FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.67k stars 394 forks source link

Added requiredDestinationTypes on missionevents (solves #13941) #13948

Closed ubertpendragon closed 1 month ago

ubertpendragon commented 1 month ago

Simply adds requiredDestinationTypes="outpost,city,research,military,mine" to all missionevents that give cargo/escort missions so they do not generate if there's no viable adjacent destination.

No more of this: 218220031-6ebe2701-3360-4565-b76e-107c0caac5bc

A side effect is that those missions will spawn less in practice as they will be picked at random by the eventset, but not trigger in the case of no adjacent outposts. If eventmanager generates its default 3 missionevents and 2 are cargo/escort, you will in practice only have 1 mission offered.

This is acceptable imo.

NOTE: STILL NEEDS ANYOUTPOST SUPPORT FOR MODS. THESE SHOULD BE USING requiredDestinationTypes="AnyOutpost" WITH THE ABILITY TO DEFINE IF A LOCATIONTYPE CAN BE USED BY ANYOUTPOST

https://github.com/FakeFishGames/Barotrauma/discussions/13941

ubertpendragon commented 1 month ago

This does not seem to be in a mergeable state yet, as you commented

NOTE: STILL NEEDS ANYOUTPOST SUPPORT FOR MODS. THESE SHOULD BE USING requiredDestinationTypes="AnyOutpost" WITH THE ABILITY TO DEFINE IF A LOCATIONTYPE CAN BE USED BY ANYOUTPOST

The PR itself does solve the issue for vanilla, but I'm not competent enough to make the necessary "AnyOutpost" changes that would ensure mod compatibility (for example, in DynamicEuropa, we add and override many location types, so we'd have to override the whole missionevents as well)

Regalis11 commented 1 month ago

Implemented this with AnyOutpost support (which is imo a lot better than configuring the outpost types one by one like this) in our private repo https://github.com/FakeFishGames/Barotrauma-development/pull/5341