-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Beta v1.19.0rc #654
Merged
Merged
Beta v1.19.0rc #654
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This is a very simple change that fires an event from XComTacticalController.DrawDebugLabels(), allowing mods to hook into that system and provide their own debug information.
By making this property non-private, mods can modify existing behavior trees without overriding all of them in config. This is particularly useful for cross-cutting changes, where you want to make the same small change to multiple trees.
Pods that have a "flying" unit (like an Archon or drone) were not patrolling properly because the logic for calculating the tile paths was treating any non-flat tile as impassable. This fix comes straight from the original LW2 and has been tested with ADVENT and drone patrols.
This change introduces a new 'OverrideEncounterZoneAnchorPoint' event that allows mods to change the anchor point that XCOM 2 uses to determine the patrol zones for pods. By default, the anchor point is "dynamic" as it is the current location of the XCOM squad, which typically changes throughout the mission. The event takes the form: ``` { ID: OverrideEncounterZoneAnchorPoint, Data: [inout float X, inout float Y, inout float Z], Source: AIGroup } ``` where X, Y and Z are the elements of the anchor point Vector.
This commit adds an 'OverridePatrolBehavior' event that allows mods to say that they will handle the patrol logic for the given pod. The event takes the form: { ID: OverridePatrolBehavior, Data: [out bool OverridePatrolBehavior], Source: AIGroup } Returning `true` in the tuple property will disable base game patrol logic.
When the corners of a patrol/encounter zone lie outside of a map's edges, the corresponding pod's patrolling breaks if it tries to reach any of those corners. This fix adjusts such "corners" before the patrolling logic runs so that they do lie within the map edges.
This reverts commit 3763666.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
General
Ini settings
Mod compatibility
In
XComGame.ini
mods can specify an array of incompatible and/or required mods. This will be used to show an warning popup if they are present. (#524)DLC Run Order
In
XComGame.ini
mods can define an array of other mods which dlc hooks should run before and/or after the mods dlc hook.LoadPriority can be RUN_STANDARD, RUN_FIRST or RUN_LAST. RunBefore and RunAfter only work within the defined LoadPriority group. Only change load priority if you really sure that its needed for you mod (#511)
Strategy
OverrideCurrentDoom
to allow mods to override doom amount for doom updates (Need event hook to handle doom being created by missions not on geoscape #550)PsiProjectCompleted
to notify mods when a soldier has finished training in the psi labs (Add an event notification for when psi training completes #534)OverrideNoCaEventMinMonths
to allow mods to force the UI to display no CA nag during first monthCustomizeStatusStringsSeparate
in XomGameState_Unit::GetStatusStringsSeparate (Allow custom statuses from mods for units #322)OverridePersonnelStatus
in UIUtilities_Strategy::GetPersonnelStatusStringParts. This allows listeners the opportunity to override the status, its time remaining and its colour. (Allow custom statuses from mods for units #322)OverridePersonnelStatusTime
in a number of places to allow listeners to change the way unit status times (like how long is left on a covert action) are displayed. For example, a listener could display a time in hours rather than days, perhaps based on how many hours are left. (Allow custom statuses from mods for units #322)OverrideMissionSiteIconImage
to allow mods to override the image shown for mission site icons (Allow mods to customise various aspects of mission icons on the Geoscape #537)StrategyMapMissionSiteSelected
to allow mods to provide mission launch screens for missions that have custom mission sources (Allow mods to customise various aspects of mission icons on the Geoscape #537)OverrideMissionSiteTooltip
to allow mods to override the tooltip displayed for a mission site icon (Allow mods to customise various aspects of mission icons on the Geoscape #537)OverrideScanSiteTooltip
to allow mods to override the tooltip displayed for ascan site icon (Allow mods to customise various aspects of mission icons on the Geoscape #537)
MissionIconSetMissionSite
to allow mods to customize a mission site's icon inother ways than just the tooltip and image (Allow mods to customise various aspects of mission icons on the Geoscape #537)
MissionIconSetScanSite
to allow mods to customize a scan site's icon in otherways than just the tooltip and image (Allow mods to customise various aspects of mission icons on the Geoscape #537)
Modding Exposures
private
fromX2AIBTBehaviorTree.Behaviors
so that mods can change the behavior trees withoutoverwriting all the necessary entries (Allow mods to override the AI behavior trees #410)
Configuration
Improvements
contains the parttype name (ie Torso/Legs/Arms), then the object name in the localization file
matches as for other parts (in particular this means Anarchy's Children localizations which already exist in the files
are picked up automatically). Otherwise, "_Torso"/"_Legs"/"_Arms" is appended to the template name
to create the unique object name. (Allow Torsos, Arms, Legs to have localized names #328)
Fixes
paths prevent them from patrolling (Fix pathing for flying units #503)
Tactical
AllowInteractHack
allows mods to prevent units from being able to hackInteractiveObject
s (Allow mods to prevent hack interactions with objects #564)OverrideEncounterZoneAnchorPoint
allows mods to override the anchor point used by XCOM 2in determining patrol zones for pods (Provide an option to disable changing patrol zones #500)
want to handle it themselves (Allow mods to override patrol behaviour #507)
XComTacticalController.DrawDebugLabels()
(Allow mods to take part in drawing debug labels #490)OverrideAbilityIconColor
provides a tuple with the same ID as theevent and data of the form
[bool IsObjective, string Color]
that allowsmods to override the color of soldier abilities in the tactical HUD (Support dynamic colours for tactical HUD ability icons? #400)
Configuration
Fixes
X2AbilityToHitCalc_StandardAim, the only vanilla user of this method, changed to match(XCGS_Unit:GetStatModifiers reports bogus modifiers for multipliers #313)
a pod tries to patrol to any of them (Fix patrol zones that overlap map edges #508)
still remove overwatch from disoriented units (Allow sources of disorient to affect disoriented units #475)
Miscellaneous
Mod/DLC Hooks
AbilityTagExpandHandler_CH
expands vanilla AbilityTagExpandHandler to allow reflectionEvent Hooks
XComTacticalMissionManager::CacheMissionManagerCards
to allow mods to use manager's decks (Unprivate XComTacticalMissionManager CacheMissionManagerCards #528)Improvements
iff both arms and seperate left/right arms are available. (Parts Validation on Torso Change #350)