Skip to content

Features

E3245 edited this page Aug 13, 2021 · 11 revisions

It's no secret that Chimera Squad and XCom 2 share very similar code. However, there's some differences that prevent us from implementing most features; the most notable ones are any gamestates that involve the Geoscape, ADVENT, Aliens, Chosen, Resistance, Rulers, and XComHQ (superseeded by XComGameState_HeadquartersDio) are deprecated, and the strategy and tactical presentations and strategy rules. Any minor changes to implemented X2WOTCCommunityHighlander features are documented.

RealityHighlander Issues implemented

  • UIArmory_MainMenu and UIArmory_AndroidUpgrades: Uses a new function called IsLikeAndroidForArmory to enable the usage of android upgrades on units that aren't normal androids.
  • XComTacticalMissionManager: Modifies the function CreateObjective_Encounter so what team an encounter spawns into is configurable. It can also now handle spawning encounters that are more than one unit in size, and make sure an encounter objective is properly randomized if it's configured to be so.
  • GatherSpawnObjectives change: custom subobjectives can successfully be used. Adds the function MissionSubTypeSupported as well.

X2WOTCCommunityHighlander Issues implemented

  • Issue #4: Allows mods to set up Event Listener classes with specified Deferral and Priority, similar to X2AbilityTrigger_EventListener.
  • Issue #15: De-privatized variables in XComIdleAnimationStateMachine.uc.
  • Issue #20: Reaper's Banish (SoulReaper) and Annihilate (SoulHarvester) now properly visualize subsequent shots.
  • Issue #123: Rebuild PerkContentCache during OnPostTemplatesCreated to improve handling for PerkContent attachments to Units.
  • Issue #157: Allow Mods/DLC to alter mission data after SitRep creation (as PostMissionCreation())
  • Issue #258: UIPanel.AS_SetMCColor allows changing of arbitrary colors within MC
  • Issue #269: Fix some edge cases in XComIdleAnimationStateMachine regarding idle animations, targeting, and step-outs. Does not affect any breaching logic, if any.
  • Issue #273: Fix an issue causing Rapid Fire/Chain Shot/Banish/... entering cover early
  • Issue #393: The OverrideClipSize event allows mods to override Clip Size of a weapon after it has been modified by weapon upgrades and/or loaded ammo.
  • Issue #426: Fix X2AbilityToHitCalc_StandardAim discarding unfavorable (for XCOM) changes to hit results from effects. There is no implementation as it is the default behavior in Chimera Squad. Listing the Issue here as a note for future users.
  • Issue #501: SubscribeToOnInput, SubscribeToOnInputForScreen functionality
  • Issue #869: Specifies that a listener template should be registered before campaign initialization occurs so that it can respond to events fired during that initialization.

New features in Helios Highlander

This is the list of features that are included, separated by version release number.

Version 1.00 [641981f]

  • Moved important screens shortcuts and camera functionality to Presentation Base to maintain agnostic presentation layers and reduce the number of screen overrides
  • Overhauled how screens fetch the important Strategy screens (PrimaryStrategyLayer, StrategyHUD, etc.) to Presentation Base. Removed hard class references in favor of agnostic variable references in Presentation Base.
  • Allow custom screens to manipulate DioBaseTriggerVolume.uc input commands
  • Custom EndBattle() functionality using X2DownloadableContentInfo::OnMissionEndBattle();
  • Fixed an issue with subclassing UIDIOStrategyMap_AssignmentBubble. Custom assignments would get hidden before they had a chance to update its data.
  • UIPanel.AS_SetMCAlpha() allows changing of alpha within MC.
  • Fixed a bug in X2Condition_TemplarFocus where it had a static reference to the Max Focus Level. Now it will attempt to use the Max Focus within the XComGameState_Unit's XComGameState_Effect_TemplarFocus or subclasses
  • Added a Hook in X2ExperienceConfig to allow modders to modify XP.
  • New EStrategyNotificationType Types
  • RetrieveStrategySessionCommand() DLC hook to mitigate static reference.
  • X2WeaponTemplate::bIsGenericWeapon option to allow agents to equip weapons while not being a true Epic weapon.
  • Invoked Suppress UICore console command after PrintScreenStack() for UIPrintStateStack() console command
  • OverrideGameInfoClass() DLC hook from robojumper's End of the Cycle prototype.
  • Allow custom gameinfos to have custom savegame headers using GetSaveGameHeader() as a final fallback.
  • Fixed OnPostMission() not running after a mission.
  • Un-privated functions and variables in XComGameState_DioStrategyScheduler for better object inheritence.
  • Allows mods to use custom values and images for subclassed XComGameState_Effect_TemplarFocus.
  • XComGameState_Unit::CapturedUnits is cleared on Tactical Start
  • Moved CachedTargetLocationTag and ArmoryAttentionCount to Presentation Base
  • Issue #1: Replaced hard references in X2DialogueTags to the original strategy presentation layer with more agnostic methods.
  • Issue #6: Fixed issue where the notification event triggers would not send the Gamestate as well.
  • Issue #8: Fixed an issue where cleansing the Unconscious effect from a unit would not properly re-animate the unit. The fix was ported from XCom 2: War of the Chosen.
  • Issue #10: Allow effects to mask units from Timeline.
  • Issue #13: Allow Dark Events to enable ExplosiveFalloff Second Wave Option. SWO still takes precedence over any Dark Events.
  • Issue #15: Allow Dark Events to disable HP updates from UIUnitFlag and only show Max HP. Does not disable the HP bar completely.
  • Issue #16: Added common method of testing if a Tactical Tag is active.
  • Issue #21: Allow Event Listeners to open or close Alternate Markets during OnTurnUpkeep.
  • Issue #23: Added an event trigger when Verge's Neural Network is cleansed from a unit.
  • Issue #27: Added an event trigger to manipulate Cover Mitigation calculations. Superseded by Issue #50.
  • Issue #33: Fixed an issue where weapons with Quantities were removed from the inventory completely when unequipping them.
  • Issue #37/WotC CHL #419: Added AbilityTagExpandHandler_CH() for Chimera Squad.

Version 1.01 Hotfix [f5af238]

  • Issue #39: Un-privated variables in XComParcelManager.uc, and added methods to insert into and remove entries from the config variables.

Version 1.02 [Dropped]

Version 1.03 [daeafa4]

  • Issue #43: Un-privated functions and variables in XComStrategyMusicManager and XComTacticalMusicManager.
  • Issue #45/WotC CHL #555: OverrideHitChanceFn delegate for Chimera Squad.
  • Issue #47/WotC CHL #903: Override Remove ReserveActionPoints behavior when taking any damage, for Chimera Squad.
  • Issue #50: Superseeds #27. Uses a delegate to modify cover mitigation values.
  • Issue #51: Allows dark events to add Breach modifiers to all breach types.
  • Issue #52: Visualizer Templates that modifies certain visualizers within XCGSContext_TacticalGameRule.
  • Issue #56: New Strategy Notification Enumerated value
  • Issue #57: XCGS_AIReinforcementSpawner::InitiateReinforcements() Event hook.
  • Issue #58: Fixed a bug where infinite persistent effects applied on XCom would persist after Tactical Game End, even if bPersistThroughTacticalGameEnd is false.
  • Issue #59: XCGS_Unit::ProgressScars() Event hook.
  • Issue #60/WotC CHL #890: Allow Event listeners to modify ability contexts without having to build an additional ability or deal with compatibility issues.
  • Issue #61: XCGS_Item.ContainedItems support for SeqAct_PutItemInGameObject::AddLootItem().
  • Issue #62: Un-privated functions and variables in X2DioStrategyActionTemplate.
  • Issue #63: Un-privated functions in X2Effect_Knockback.