Bugfixes
This page accomodates all bug fixes that do not deserve their own documentation page, as they are simple enough to be entirely explained by a single line.
- #20 - X2Ability.uc:1517-1518: Reaper's Banish now properly visualizes subsequent shots.
- #33 - XGUnitNativeBase.uc:543-544: Gremlins owned by AI units now correctly use fast walk animations even if their owner is in Red Alert
- #36 - X2TacticalGameRuleset.uc:4768-4769: Do not clear Reinforcements' "Summoning Sickness" when interrupted by Skirmisher, denying them an erronous bonus turn.
- #39 - UIArmory_WeaponUpgrade.uc:558-559: Create weapon pawn before setting PawnLocationTag so that the weapon can rotate when previewing weapon upgrades.
- #42 - X2Action_ApplyWeaponDamageToUnit.uc:1261-1262: Prevent X2Action_ApplyWeaponDamageToUnit from resetting unit's weapons to default sockets if the unit is interrupted.
- #51 - XComGameState_AdventChosen.uc:264-265: Prevent Assassin from gaining perks incompatible with forced "Shadowstep" in Lost and Abandoned
- #55 - CHItemSlot.uc:349-350: Check a soldier's
NeedsSecondaryWeapon
everywhere instead of hardcoding based on Rookie rank - #70 - CharacterPoolManager.uc:449-450:
CharacterPoolManager:CreateCharacter
now honors ForceCountry - #95 - XComGameState_Unit.uc:13833-13834:
ResetRankToRookie
now correctly applies Beta Strike HP bonuses - #160 - UIOptionsPCScreen.uc:3148-3149:
UIOptionsPCScreen
now shows all part pack sliders, adding a scroll bar if needed - #215 - XGUnit.uc:1496-1497: Units are now allowed to have personality speech (affected by personality) even below "Veteran" rank
- #269 - XComIdleAnimationStateMachine.uc:1090-1091: Fix some edge cases in
XComIdleAnimationStateMachine
regarding idle animations, targeting, and step-outs - #273 - X2Ability.uc:1571-1572: Fix an issue causing Rapid Fire/Chain Shot/Banish/... entering cover early
- #303 - UITooltipInfoList.uc:98-99:
UITooltipInfoList
no longer displays stale data like weapon upgrades from other units - #318 - X2Camera_Cinescript.uc:528-529: Fix Cinescript
CutAfterPrevious
not working in combination withMatineeReplacements
, breaking Spark BIT hack camera - #326 - X2Action_ApplyWeaponDamageToUnit.uc:187-188: Allow damage flyovers from weapon-less Psi abilities to use the Psi damage popup
- #346 - X2AbilityToHitCalc_StandardAim.uc:387-388: Prevent
X2AbilityToHitCalc_StandardAim
from applying BuiltInHitMod and BuiltInCritMod against non-units. - #350 - XComCharacterCustomization.uc:546-548: Updates various classes (XComCharacterCustomization, XCGS_Unit, XComHumanPawn and XGCharacterGenerator) to carry out proper validation and selection of valid body parts on soldiers when other parts are changed in the armory.
- #367 - XComGameState_Item.uc:486-487: Gremlins now correctly die when the Gremlin's owner dies while the Gremlin is attached to another unit.
- #376 - XGUnit.uc:3688-3689: Gremlins (and other Cosmetic Units) are now correctly tinted and patterned
- #379 - XComGameState_HuntersLodgeManager.uc:181-183: Check if the Chosen is defeated to determine whether the Hunter's Lodge should display their trophy, rather than checking if XCOM has researched their weapons.
- #380 - XComCharacterCustomization.uc:825-826: Update cosmetic pawns when secondary armor color is changed as well as primary
- #380 - XComUnitPawn.uc:2313-2314: Ensure that the appearence of cosmetic unit pawns is updated properly, even when a new pawn is not created
- #384 - XComHumanPawn.uc:2370-2371: Remove cosmetics from separate Left and Right Arm slots when updating Appearance to one that includes a cosmetic body part for both Arms in one slot.
- #384 - XComHumanPawn.uc:2437-2438: Allow
bForcedAppearance
to work with new deco slots added with Anarchy Children and WOTC. - #384 - XGCharacterGenerator.uc:714-715: Randomize deco slots only if the character template is not using
bForceAppearance
. - #426 - X2AbilityToHitCalc_StandardAim.uc:201-202: Fix
X2AbilityToHitCalc_StandardAim
discarding unfavorable (for XCOM) changes to hit results from effects - #493 - X2AbilityToHitCalc_StandardAim.uc:762-763: Allow
REACTION_DASHING_FINALMOD
to reduce reaction fire hit chance against dashing targets - #496 - X2Ability_Chosen.uc:1569-1570: Fix the timeout during Chosen death teleport visualization by refactoring ChosenDefeatedEscape_BuildVisualization.
- #503 - XGAIBehavior.uc:9658-9659: "Flying" pod leaders now patrol despite non-flat tiles on their paths
- #508 - XComGameState_AIGroup.uc:422-423: Patrol logic now ensures units do not attempt to patrol outside of the map which would cause them to stop patrolling
- #520 - X2MeleePathingPawn.uc:186-187: Controller input now allows choosing melee attack destination tile despite floor differences
- #531 - X2Ability_ChosenAssassin.uc:565-566: Assassin gains a temporary instead of permanently stacking mobility boost from performing a melee attack
- #551 - X2Action_SwapTeams.uc:48-49: Rescue rings no longer disappear on other rescuable units after a neutral unit swaps to team XCom
- #557 - XComGameState_Unit.uc:2432-2433: Soldiers that have been carried out of a mission are no longer unable to be carried out of a later mission
- #608 - XComGameState_Unit.uc:4461-4462:
MergeAmmoAsNeeded
now also works for units spawned from the Avenger - #609 - XComGameState_Unit.uc:8170-8171: Apply weapon customization from soldier appearance when equipping weapons.
- #613 - UIX2PanelHeader.uc:53-54:
SetText
now sends text to flash instead of requiring callingSetHeaderWidth
- #617 - X2TargetingMethod_RocketLauncher.uc:44-45: Ray trace from the peek tile to the target, not from the unit tile to the peek tile.
- #637 - XComGameState_Unit.uc:14732-14733: Will recovery project and soldier mental state are now consistent with each other, fixing Shaken/Tired soldiers occasionally recovering instantly
- #638 - UIScanButton.uc:278-279: UIScanButton can now work properly when it's a grandchild of UIStrategyMapItem, not only when direct child
- #644 - X2Ability_DefaultAbilitySet.uc:426-427: Allow patrolling units to occupy the same tile instead of teleporting to
(0,0,0)
when out of space, potentially revealing XCOM - #648 - UIHackingScreen.uc:410-411: Cancelling a hack in progress using
Esc
no longer bypasses Haywire's cooldown - #682 - XComGameState_Unit.uc:6977-6979: Zombies will no longer drop loot. Only affects mods that destroy loot when killing units with explosives.
- #701 - UIArmory_LoadoutItem.uc:78-79: Allows armory UI to highlight the item the player needs to build during the tutorial even if it's not the item with the exact template name
'Medikit'
- #775 - XGBase.uc:263-264: Applying facility upgrades before the facility map is loaded no longer crashes the game.
- #817 - UIOptionsPCScreen.uc:1544-1545: Disable the Framerate Smoothing option, as it's known to break Mod Class Overrides.
- #824 - XComGameState_Unit.uc:2579-2581: Units that are still stunned when a mission ends no longer lose action points at the start of their next mission.
- #861 - UIStaffSlot.uc:223-227: By default, UIStaffSlot removes highlighting when a personnel is selected. However, the slot still has navigator focus, and should remain highlighted. This only affects controllers since the mouse has moved off the button at this point. If a controller is active, don't let the game un-highlight it.
- #862 - UIStaffSlot.uc:405-408: By default, UIStaffSlot will blink on and off a staff slot that "loses" focus when focus doesn't belong to it in the first place. Make sure to only change focus if the element is not already in the destination focus state
- #866 - UIStaffContainer.uc:58-60: By default, UIStaffContainer tries to shortcut which UIPanel should receive focus, but the shortcut is often wrong and the time it saves is negligible, so this bypasses it.
- #879 - X2Ability.uc:815-816: Use HistoryIndex to access the AbilityState as it was when the ability was activated rather than getting the most recent version.
- #879 - X2Ability.uc:834-835: Use HistoryIndex to access the WeaponState as it was when the ability was activated rather than getting the most recent version.
- #880 - UIArmory_WeaponUpgrade.uc:750-751: Remove unnecessary text coloring from the weapon pattern value text.
- #896 - X2Effect_ApplyWeaponDamage.uc:476-478: Call the (hopefully) relevant delegate, if this weapon upgrade has it. This makes the guaranteed damage on missed shots added by Stocks properly benefit from Insider Knowledge
- #896 - X2Effect_ApplyWeaponDamage.uc:855-857: Call the (hopefully) relevant delegate, if this weapon upgrade has it. This makes the guaranteed damage on missed shots added by Stocks properly benefit from Insider Knowledge
- #896 - X2Effect_LaserSight.uc:28-29: Add bonus crit if Insider Knowledge is present.
- #924 - UIChoosePsiAbility.uc:211-212: Prevent the psi ability training screen from showing duplicate abilities
- #927 - XComGameState_GeoscapeEntity.uc:311-314: When cancelling out of squad select or mission launch, the selected map item will now return back to the mission rather than the Avenger (affects controller users).
- #952 - UIChosenInfo.uc:56-57: Focus the top Chosen button when the screen is opened.
- #952 - UIChosenInfo.uc:431-432: Fix typo in the MC function call.
- #990 - X2Ability_HackRewards.uc:736-738: Trigger the hack reward ability only if it's present in the Game State. This prevents hack rewards from being granted multiple times.
- #1008 - XGAIBehavior.uc:9991-9993: Entire pods no longer fail to scamper if the pod leader skips its turn, for example if it's immobilized.
- #1029 - SeqAct_SpawnUnitFromAvenger.uc:201-203: Units spawned from the Avenger would sometimes not be able to take actions because their abilities weren't initialized properly. This is now fixed.
- #1035 - UICovertActions.uc:466-467: Use
SlotContainer.Navigator.SelectedIndex
instead ofNavigator.SelectedIndex
to allow controller users editing all soldiers' loadouts. - #1035 - UICovertActions.uc:1027-1028: Use
SlotContainer.Navigator.SelectedIndex
instead ofNavigator.SelectedIndex
to allow controller users editing all soldiers' loadouts. - #1035 - UICovertActions.uc:1031-1032: Use
SlotContainer.Navigator.SelectedIndex
instead ofNavigator.SelectedIndex
to allow controller users editing all soldiers' loadouts. - #1065 - UIArmory_LoadoutItem.uc:64-65:
UIArmory_LoadoutItem
now shows the correct stack counts for modified finite items. - #1073 - XComGameState_Unit.uc:13854-13855: Get the unit's own Soldier Class Template rather than using Ranger's for all classes.
- #1082 - X2TacticalGameRuleset.uc:2989-2990: MarkPlotUsed() - commented out original call and moved it outside of the if() statement
- #1090 - X2Item_DLC_Day60Armors.uc:64-67: Prevent log warnings and redscreens when Alien Hunters armor is equipped in the Shell, e.g. Character Pool. Alien Hunters armor uses OnEquippedFn delegates to alter soldier appearance when the player equips them for the first time. The "is first time" check is done using XComHQ, which doesn't exist in the Shell.
- #1096 - UIChosenInfo.uc:155-156: Abilities related to Chosen strengths and weaknesses now have their description expanded.
- #1096 - UIChosenInfo.uc:175:
- #1096 - UIChosenLevelUp.uc:59:
- #1096 - UIChosenReveal.uc:55:
- #1096 - UIChosenReveal.uc:69:
- #1108 - XComGameState_Unit.uc:8552-8553: If there is a cosmetic pawn associated with the unequipped item item, remove it.
- #1118 - UICharacterPool_ListPools.uc:486-487: LoadCharacterPool() may alter PoolFileName in certain conditions.
- #1120 - XComGameState_Unit.uc:14354-14355: Add the effect's status icon only if it's not empty.
- #1131 - X2Ability_ReaperAbilitySet.uc:834-842: A Target Condition on an X2Effect cannot be used to decide whether environmental damage should apply or not, because environmental damage is not triggered against any specific target, so there's nothing to check the condition against. The bugfix moves the condition logic into X2Effect_HomingMineDamage. This effect's condition is removed and the effect itself is neutered. The effect is left on the ability template to maintain the number of effects the same.
- #1171 - XComGameState_HeadquartersProjectHealSoldier.uc:81-83: Round the
HealthPercent
value to prevent it landing aboveMaxHealthPercent
of one Wound Severity, but belowMinHealthPercent
of the next one, making the code fail to select a Wound Severity at all. - #1181 - UIFacilityGrid_FacilityOverlay.uc:1354-1355: Make facility staff icons correctly display which staff slots are filled.
- #1182 - X2StrategyElement_XpackChosenActions.uc:326-327: Make Defense Matrix properly reduce the chance of Chosen sabotage.
- #1188 - XComGameState_HeadquartersXCom.uc:7503-7505: Add a none-check for
MissionState
before adding the generated mission entry to the array to avoid bloating it with empty entries. - #1192 - UIPawnMgr.uc:647-648: Add call to StopSounds to remove sound effects for destroyed pawns.
- #1193 - XGAIPlayer.uc:939-941: Added
IsUnconcious
andIsBleedingOut
check to skip AI units in group who are Unconcious or Bleeding out as the AI processing hangs here until it times out, which causes the rest of the group to be skipped. - #1195 - X2Ability_DefaultAbilitySet.uc:775-776: Allow Return Fire shots to respond to enemy attacks if the enemy is in cover that requires a step out.
- #1196 - X2Ability_DefaultAbilitySet.uc:852-853: Make Return Fire visualize after Covering Fire Overwatch, so they no longer fight for visualization.
- #1200 - X2AbilityToHitCalc.uc:126-127: Make Dodge apply to Hit and Crit equally to fix Dodge increasing Miss chance.
- #1223 - X2Ability_CarryUnit.uc:304-305: Added a skip exclusion for burning status so units can set down other carried units when they are on fire
- #1233 - UITacticalHUD_Enemies.uc:365-366: Cache hit chances of visible targets to prevent multiple expensive
GetHitChance()
calls for each target. - #1262 - X2Item_HeavyWeapons.uc:354-355: Remove build time from the Shredstorm Cannon.
- #1276 - X2Ability_Chosen.uc:1770-1771: Limit Chosen Low Profile to one trigger per turn.
- #1276 - X2Ability_Chosen.uc:1811-1813: Comment out the effect that removes the Covering Fire effect responsible for triggering the Chosen Low Profile defense bonus ability, so it can trigger more than once per mission.
- #1281 - X2Effect_ApplyWeaponDamage.uc:671-672: If the effect ignores all armor, max out the Pierce value in the Damage Preview so it will show up on the unit flag damage preview.
- #1286 - X2StatusEffects.uc:2490-2491: Keep lure effect alive when source dies, tick on turn begin. Adjust icon and displayinfo to display as debuff rather than passive.
- #1293 - X2Ability_SkirmisherAbilitySet.uc:412-413: Allow Justice to target enemies Mind Controlled by XCOM
- #1293 - X2Ability_SkirmisherAbilitySet.uc:687-688: Allow Wrath to target enemies Mind Controlled by XCOM
- #1293 - X2Ability_SkirmisherAbilitySet.uc:815-816: Allow Whiplash to target enemies Mind Controlled by XCOM
- #1293 - X2Ability_SkirmisherAbilitySet.uc:843-844: Make enemies Mind Controlled by XCOM eligible for Whiplash's bonus damage
- #1298 - X2AbilityToHitCalc_StandardAim.uc:377-378: Add 100 crit chance to guaranteed crit abilities for the purposes of UI.
- #1299 - X2Effect_ApplyWeaponDamage.uc:153-154: Apply rupture after dealing the damage from the attack.
- #1299 - X2Effect_ApplyWeaponDamage.uc:966-967: Remove the cap from the amount of bonus damage that can be added to an attack by rupture, and do not add rupture added by this attack to the attack's damage.
- #1300 - X2AbilityToHitCalc_StandardAim.uc:191-192: Code block moved to be right after aim assist logic, so that if a miss is converted to a hit by aim assist, the ability will still crit if it is set up to always crit on hit.
- #1311 - X2Ability_SpecialistAbilitySet.uc:521-522: Make Combat Protocol deal bonus damage to robots hacked by XCOM
- #1312 - X2Ability_StunLancer.uc:55-56: Allow Stun Lance to target Mind Controlled units (currently on the same team as the Stun Lancer)
- #1318 - X2Condition_StasisLanceTarget.uc:27-28: Disallow using Skulljack and Skullmine on units in Stasis.
- #1320 - X2Action_ApplyWeaponDamageToUnit.uc:887-888: Allow hit results other than
eHit_Success
to display flyovers. - #1322 - X2Item_XpackWeapons.uc:495-496: Comment out the line setting iTypicalActionCost for the conventional Vektor Rifle to match magnetic and beam variants.
- #1329 - X2Ability.uc:485-486: Apply bonus weapon effects and ammo effects to multi targets.
- #1329 - X2Ability.uc:1166-1167: Visualize bonus weapon effects and ammo effects being applied to multi targets.
- #1329 - X2Ability_GrenadierAbilitySet.uc:782-783: Make Saturation Fire apply ammo effects and bonus weapon effects.
- #1329 - X2Ability_SharpshooterAbilitySet.uc:1182-1183: Visualize applying bonus weapon effects and ammo effects to the primary target.
- #1329 - X2Ability_SharpshooterAbilitySet.uc:1286-1287: Make Faceoff visualize applying bonus weapon effects and ammo effects to multi targets.
- #1332 - X2Ability_DefaultBondmateAbilities.uc:590-591: Add the missing Stock damage effect.
- #1332 - X2Ability_DefaultBondmateAbilities.uc:666-667: Add the missing Stock damage effect.
- #1332 - X2Ability_GrenadierAbilitySet.uc:640-641: Add the missing Stock damage effect.
- #1332 - X2Ability_GrenadierAbilitySet.uc:788-789: Add the missing Stock damage effect.
- #1332 - X2Ability_RangerAbilitySet.uc:760-761: Add the missing Stock damage effect.
- #1332 - X2Ability_RangerAbilitySet.uc:823-824: Add the missing Stock damage effect.
- #1332 - X2Ability_ReaperAbilitySet.uc:1172-1173: Add the missing Stock damage effect.
- #1332 - X2Ability_ReaperAbilitySet.uc:1239-1240: Add the missing Stock damage effect.
- #1332 - X2Ability_SharpshooterAbilitySet.uc:986-987: Add the missing Stock damage effect.
- #1334 - X2Ability_ReaperAbilitySet.uc:1103-1104: Use Weapon Typical Action Cost for Banish.
- #1334 - X2Ability_ReaperAbilitySet.uc:1275-1276: Use Weapon Typical Action Cost for Sting.
- #1348 - UIArmory_MainMenu.uc:180-181: Display the "needs attention" icon on the PCS button only if the soldier has an empty PCS slot.
- #1356 - XComHQPresentationLayer.uc:1499-1500: ShowPromotionUI now casts the spawned promotion screen to UIArmory_Promotion instead of its subclasses
- #1372 - UIPhotoboothBase.uc:1375-1376: Fixes a potential crash when the Photobooth shows many list items.
- #1389 - X2Effect_Brutal.uc:14-15: Make
X2Effect_Brutal
use unit's current Will instead of base Will so it can properly reduce and display it. - #1404 - X2Effect_Sustain.uc:50-51: Update unit's lowest HP value when sustain activates since it wasn't being set properly before.