Skip to content

Latest commit

 

History

History
285 lines (251 loc) · 13.7 KB

CHANGELOG.md

File metadata and controls

285 lines (251 loc) · 13.7 KB

Change Log

All notable changes to Vanilla Behaviour will be documented in this file.

Strategy

Mod/DLC Hooks

  • 'CanRemoveItemFromInventory': override ability to unequip item (#118)
  • 'GetScienceScoreMod': adjust the science score (#83)
  • 'CanRemoveWeaponUpgrade': true allows removal of upgrade without replace (#88)
  • 'ModifyEarnedSoldierAbilities': change the list of abilities (#106)
  • 'GetNumUtilitySlotsOverride': override a unit's utility slots (#114)
  • 'GetMinimumRequiredUtilityItems': override a unit's minimum utility slots (#114)

Event Hooks

  • 'OverrideBlackMarketGoods': customise goods for sale (#71)
  • 'PostPsiProjectCompleted': after psi training completes (#78)
  • 'SoldierRespecced': allow alteration of project points for respec (#79)
  • 'HasAvailablePerksToAssign': allow override of XGCS_Unit method (#33)
  • 'PreEndOfMonth': allow mods to process before vanilla processing (#81)
  • 'OnClosedMonthlyReportAlert': allow mod processing after month report (#179)
  • 'OnMonthlySuppliesReward': override supply reward (#82)
  • 'OnMonthlyNegativeSupplies': override supply penalties (#82)
  • 'GetSupplyDropDecreaseStrings': override supply display (#82)
  • 'OverrideItemCanBeUnequipped': override whether an item is locked (#89)
  • 'MissionSite_OverrideLaunchTacticalBattle': override the entire process of starting a tactical battle (#93)
  • 'MissionSite_GetUIClass': offer a replacement class for Mission Site (#94)
  • 'PostUFOSetInterceptionTime': override interception time afterwards (#99)
  • 'OnDistributeTacticalGameEndXP': modify distribution of XP post mission (#100)
  • 'PreRollForAWCAbility': override RollForAWCAbility (#105)
  • 'OnMissionSelectedUI': call new UI for alternate mission sources (#131)
  • 'OnDismissSoldier': when unit is dismissed (#165)
  • 'OnSoldierListItemUpdateDisabled': enable or modify disabled slot on SquadSelect UI (#177)
  • 'OnRecruitmentListItemInit': alter recruit list item UI on init (#178)
  • 'OnRecruitmentListItemUpdateFocus': alter recruit list item UI on focus (#178)
  • 'OnInsertFirstMissionIcon': override resistanceHQ icon (#182)
  • 'OverridePersonnelStatusSeparate': override personnel strategy state (#192)
  • 'ArmoryLoadout_PostUpdateNavHelp': after loadout nav help updates (#195)

Modding Exposures

  • remove private from XGCS_BlackMarket.OnUnitHeadCaptureFinished (#72)
  • remove private from XGCS_Unit.GetCompleteDefaultLoadout (#117)
  • SignalOnReceiveFocus when switching from pending to active dark events on UIAdventOperations (#156)
  • Allow mods to add items UIAvengerShortcuts (#166)
  • Support overrides of UISquadSelect by ensuring dependants look for subclasses too (#196)
  • Support overrides of UIArmory_MainMenu by ensuring dependants look for subclasses too (#169)

Configuration

  • allow havens to be hidden on the geoscape (#75)
  • Allow modification of AvengerCameraSpeed (#53)
  • Allow config of CrosssContinentStartRegionLinks, will prevent removal of non continent links if used (#85)
  • hide income on BuildOutpost alert (#158)
  • override PCSRemovalContinentBonus (#170)
  • Optimise and add configurable Doom display, with greater maximums (#184)
  • Add PsiTreeOrganisation, to force a capstone ability early to ensure it is achievable

Improvements

  • Prevent Secondary Weapons contributing to stat markups on Loadout/Stats screen for soldiers (#51)
  • Add parameter to include unavailable missions when getting current doom (#76)
  • Add GetDisplayName for ProjectTrainRookie for the Event Log (#80)
  • Deduplicate completed research techs so they can't spam Research Log (#84)
  • Exclude deployed soldiers from `XCOMHQ.GetSoldiers method (#86)
  • Prevent cycling of deployed soldiers in ArmoryUI (#160)
  • Prevent Loadout Strip on ArmoryUI page storing old items so it behaves just like when used on SquadSelect, and also skip over deployed soldiers when stripping (#161)
  • Deduct soldiers on mission when checking for MissionSiteAvengerDefense's automatic loss condition (#95)
  • Alter WorldRegion.HandleResistanceLevelChange tto only trigger Contact Made event if changing up to Contact status, not down (#101)
  • Allow infinite equipment items to be considered when getting 'best' utility item (#116)
  • Add UtilitySlot Pistol to unit pawn during loadout process if equipped (#143)
  • Add UI support for PCSs which augment dodge (#172)
  • Support Multiple VIP rewards in loot recovered view (#173)
  • GPIntelOptions now functions properly when a mission is locked (#174)
  • Always show DarkEvents toggle on UIAdventOperations (#155)
  • Remove hardcoded false to Unit.IsPsiOperative for AfterAction_ListItem (#157)

Fixes

  • log spam fix in UITacticalHUD (#186)
  • avoid recursion of GetMapItem and GetRandomLocationInRegion (#183)
  • Bugfix for Insight Hack Reward, where project completion only applies on a staffing change, rather than when reward is applied (#38)
  • Controller/Keyboard usage works with UISkyrangerArrives (#181)
  • Fix displayed count of Primary Weapons on LoadoutItem (#162)
  • Controller Fixes on Strategy UI (#87) (#129)
  • Fix bug where XGCS_PointOfInterest weight could drop to zero, rendering it unselectable (#98)

Tactical

Mod/DLC Hooks

  • 'OverrideWorldFireTickEvent': override base effect of Fire Damage. (#23)
  • 'GetNumObjectivesToSpawn': override objective count on mission (#142)
  • 'UseAlternateMissionIntroDefinition': override default mission intro definition for mission (#140)
  • 'LoadingScreenOverrideTransitionMap': override transition pre/post tactical missions (#31)
  • 'SelectTargetingReticle': override targeting reticle for an ability (#60)
  • 'OverrideItemEnvironmentDamagePreview': dynamic adjustment of environment damage for an item/ability (#64)
  • 'PostEncounterCreation': for altering EncounterName & PodSpawnInfo (#68)
  • 'DisableAIReinforcementFlare': override showing flare (#69)
  • 'GetValidFloorSpawnLocations': override spawn locations (#104)
  • 'OverrideSoldierSpawn': override spawn point for a soldier (#134)
  • 'ModifySoundRange': alter sound range based on unit/weapon/ability (#126)
  • 'DrawDebugLabel': draw debug info on screen (#136)
  • 'SortTabOrder': alter tab order of XCOM Units (#137)

Event Hooks

  • 'GetCameraRotationAngle': override camera behavior (#138)
  • 'GetNumCiviliansKilled': used by UIMissionSummary (#6)
  • 'OnFinalizeHitChance': used by X2AbilityToHitCalc (#14)
  • 'CleanupTacticalMisssion': fire at misssion end (#29)
  • 'PreAcquiredHackReward': for overriding Hack Rewards (#39)
  • 'OverrideBleedoutChange': for altering bleedout change (#45)
  • 'ProcessReflexMove': do extra work before scamper triggers (#65)
  • 'ShouldMoveToIntercept': override patrol to direct pod elsewhere (#66)
  • 'IsCauseAllowedForNonvisibleUnits': override result in AIUnitData (#70)
  • 'OnGetItemRange': override an item's range (#90)
  • 'KilledByExplosion': notify mods when unit killed by explosion (#110)
  • 'ShouldShowPromoteIcon': override showing the promote icon (#120)
  • 'GetRewardVIPStatus': add support for multiple VIP rewards, determining their status through this event call (default rescued if mission completed) (#92)
  • 'GetNumKillForRankUpSoldier': alter number of effective kills required for a rank up (#119)
  • 'ShouldUnitPatrolUnderway': override result of XGAIPlayer.ShouldUnitPatrol (#151)
  • 'OverrideObjectiveAbilityIconColor': override objective ability color (#187)
  • 'OverrideAbilityIconColor': override non objective ability color (#187)

Configuration

  • Configure poison, smoke and smoke grenades to regard/disregard cover when choosing tiles to affect (#24)
  • Allow determination of missions that need RadiusManager (ring around civs) to use configuration rather than hardcode 'Terror' (#26)
  • Configurable list of missions that use CivilianRescue display (#175)
  • Bronzeman Style restart for Pause Menu (#176)
  • Configure smoke cancelling flank crit bonus - default off (#36)
  • Projectile Sound mappings to override fire and death sounds (#49)
  • Disable peeking in LoS calculations for Yellow Alert Units (#122)
  • Civilian 'Yell' ability in AI (#147)

Modding Exposures

  • Remove const from plot and parcel definition arrays (#199)
  • Remove protections of AbilityTemplate Effects for easier runtime alteration (#12)
  • Remove protection of ShotBreakdown on X2AbilityToHitCalc (#13)
  • Remove protection of Behaviors on X2AIBTBehaviorTree (#13)
  • Remove protection of LootTables on X2LootTable (#41)
  • Remove private from vars on X2TargetingMethod_EvacZone (#46)
  • allow subclassses of X2Effect_Suppression to be counted as suppressor (#121)
  • Created LWVisualisedInterface to allow for same visualisations as X2VisualisedInterface without needing native class (#103)
  • Remove protection of LootMarkerMesh for LootDropActor (#133)
  • Remove const and private declarations from XComTacticalMissionManager (#139)
  • Create XCGS_Unit.UnitAGainsKnowledgeOfUnitB with extra argument to allow for provision of an AlertTile (#198)

Improvements

  • Flying Enemies path searching improved to use unlimited search depth on movement. (#5)
  • Prevent grenades affectting units not in the tiles getting the world effect (for flying enemies) (#48)
  • Prevent SpawnUnitFromAvenger using units with eStatus_OnMission (#7)
  • Prevent ATT loading more than 4 units in animation to prevent TPose, allows for larger reinforcement pods (#15)
  • Add Configurable sound range to DoNoiseAlert AI behavior (#21)
  • Scampering units afflicted with fire/poison/etc given temporary immunity to allow their AI to path out of the danger rather than stand still (#22)
  • Add mechanism for reapplication of PersistentStatChangeEffect, so disorientation cancels overwatch even if Effect in place already (#25)
  • Prevent Civilians fleeing ADVENT if not being fired upon (#28)
  • Add configurable Shred value to weapons via X2Effect_Shredder (#35)
  • Prevent Overfilling Dropship Matinee (#16)
  • Allow ItemTemplate to actually use GetItemUnknownUtilityCategory (#40)
  • Add flexibility to EverVigilant TurnEnd Listener, with respects to primary and secondary weapons (#61)
  • GatherAbilityTargets in Ability GameState made non native to allow for MultiTargetStyle abilities (#63)
  • Add MultiTargetEffects check to DoesAbilityCauseSound Handler (#62)
  • Copy bRemovedFromPlay settings to original units to make it easier to check which units escaped the tactical battlefield (#102)
  • Improve AI Handling of hit chances by differentiating between terrible shot chances and not actually having targets (#145)
  • Don't skip a group's turn if one unit skips its' turn and then is unrevealed, we may need to award reflex actions - LW (#146)
  • Alter test gathering units to move for AI, so units that still have APs but have moved aren't excluded (#152)
  • Sort UnitsToMove by AIJob rather than just order of list addition (#153)
  • Allow Green Patrol style movement for pods in YellowAlert so they can go to a specified destination (#148)
  • Track LastResortUnits but keep them in the target list, scored differently, so the AI doesn't take very bad moves to reach far away non-LastResort targets (#150)
  • Improve SoldierInfoTooltip, show defense + hide psi if not psiop (#189)
  • Empty out pending loot for units killed by explosives (#112)
  • Allow usage of HeavyWeapon inventory slot for soldier class (#42) - BREAKS VANILLA, COMMENTED OUT UNTIL LW1.3

Fixes

  • Remove exploit causing enemy units to enter RedAlert without scamper (#123)
  • Fix XCGS_LootDrop when multiple drops active (#91)
  • Ensure Patrol Locations are within map bounds to ensure they are set (#67)
  • Fix Acid & Burn Effect disappearing when the source of the effect dies (#44)
  • Fix Bound Effect not unapplying at end of mission (#43)
  • Fix issue where unit death from bleeding out would be marked as Friendly Fire (#111)
  • Fix bug where unit stun penalty persists til next mission (#37)
  • RevivalProtocol now cures 'StunnedEffect' (#9)
  • Bleeding Out units that are recovered are cleaned up properly (#30)
  • GameplayVisibilityCondition fix for ChainShot & RapidShot (#10)
  • Fix rare movement bug that could cause teleporting of a unit within a pod (#11)
  • Ensure 'UnitTakeEffectDamage' only triggers if Damage > 0 (#109)
  • Ensure wound times are correct for when unit starts bleeding out (#108)
  • Fix bug where Gremlin is LoS checked when cancelling a hack or moving where the Gremlin is seen but the controlling unit is not (#97)
  • Only AI score tiles for cover if that Unit type is able to use cover (#144)
  • Fix vertical scrolling in Tactical Shot Wings (#188)
  • Fix X2Effect_MindControl bug where ticking effects when reverted would tick on wrong playerstate (#194)

Miscellaneous

Mod/DLC Hooks

  • 'DLCAppendSockets': append skeleton sockets to a UnitPawn (#132)
  • 'DLCDisableTutorial': mod can disable tutorial (#180)

Event Hooks

  • 'GetRankName': override rank name (#107)
  • 'GetShortRankName': override abbreviated rank name (#107)
  • 'GetRankIcon': override rank icon (#107)
  • 'RefreshCrewPhotographs': queue extra mugshots (#149)
  • 'OnGetPCSImage': override PCS Images (#191)

Modding Exposures

  • SignalOnReceiveFocus on UIViewObjectives so listeners can detect change events (#193)
  • Dynamic Override system added to some UI classes, to allow mods to share overrides more safely: (#130)
    • UISquadSelect
    • UIAfterAction
    • UIPersonnel_SoldierListItem
    • UIStrategyMapItem & Children Classes
    • UIOptionsPCScreen

Improvements

  • Improve handling of localisation for Mod/DLC additional weapon categories (#50)
  • Fix XGCS_Objective.OnNarrativeEventTrigger to return properly and avoid log spam (#96)
  • Add support for SoundCues in XComSoundManager, including aliases (#135)
  • Use strInventoryImage when available for better item images (#159)
  • Expose flash control XComButtonIconPC (#167)

Fixes

  • CharacterPoolManager.CreateCharacter now uses ForceCountry correctly (#4)
  • Fix 'OnCreateCinematicPawn' to only be called inside games, not in the shell (#113)
  • Fix Vertical Autoscrolling in UITextContainer (#190)
  • Fix tooltips (#2)