Missionevents not using requiredDestinationTypes + modding compatibility #13941
ubertpendragon
started this conversation in
Bug reports
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Disclaimers
What happened?
For the longest time, transport missions could have unproper destinations, for example a VIP transport mission ending up in an empty location.
#7497
This is caused by one thing:
None of the missionevents check for adjacent location
Missions have locations/destinations in 3 places:
locationtype="outpost,city,research,military,mine"
, where this eventset triggersrequiredDestinationTypes="outpost,city,research,military,mine"
<LocationType identifier="Outpost"/>
, will pick a destination where to place the missionExample of a VIP transport mission between any of two outposts:
Second problem: no
requireddestinationfaction
.Cannot define a specific faction as destination. So for example some events implicitely state you are transporting passengers between two outposts of the same faction. Example: from military to military, same faction
<eventtext.missionevent_escort3.c1>“We have a few prisoners that need to be transferred to a prison on another station. You'll be paid well for their transportation, but be aware that they need to be closely guarded.”</eventtext.missionevent_escort3.c1>
Third problem: mod compatibility (ANYOUTPOST)
For best compatibility, AnyOutpost should be defined as much as possible, but:
Anyoutpost is only used in missions. It cannot be used for defining event locations afaik https://github.com/search?q=repo%3AFakeFishGames%2FBarotrauma%20anyoutpost&type=code
You cannot rule out outpost locationtypes from Anyoupost. This means you cannot define outposts that you do NOT want to be picked up by anyoutpost (example: special "monster" outposts)
See
#13482
Solution:
requiredDestinationTypes
on missionevents, ESPECIALLY TRANSPORT/CARGO MISSIONSrequireddestinationfaction
Anyoupost
to eventsets/eventsIsAnyOutpost="false"
in LocationtypesSide effects:
When an eventset picks a missionevent, and this missionevent doesnt find valid destinations, it will not be triggered. This means in practice transport/cargo will become slightly less common, and less missions might be given (if eventset triggers 3 missionevents and 2 have invalid adjacent destinations you only have 1 triggering). Acceptable imo.
Version
v1.4.6.0 (Blood in the Water Update, hotfix 2)
Beta Was this translation helpful? Give feedback.
All reactions