Skip to content
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

Start of initiative interruptions behave too much like genuine turn starts #1325

Open
TacGit1 opened this issue Apr 19, 2024 · 1 comment
Open
Assignees

Comments

@TacGit1
Copy link

TacGit1 commented Apr 19, 2024

Initiative interruptions are special, occurring when it isn't the unit's turn. In X2TacticalGameRuleset, in the function: SetupUnitActionsForGroupTurnBegin, it calls SetupActionsForBeginTurn from XComGameState_Unit. In SetupActionsForBeginTurn, things like untouchable, bGotFreeFireAction, and, very critically, CleanupUnitValues(eCleanup_BeginTurn) is here. This means if a skirmisher interrupts a turn, but had untouchable, a hair trigger occurrence, or had some eCleanup_BeginTurn unit values on them, they all get cleared as if their real turn has started.

As another example, if a templar had Interrupt and Parry, their Parry gets cleared on interruption.

I have a fix set up that uses unit values, though this will be my first submission to the CHL, so gonna need some help/time doing this properly.

@TacGit1 TacGit1 changed the title Start of initiative interruptions behave too much like start of turn interruptions Start of initiative interruptions behave too much like genuine turn starts Apr 19, 2024
@BlackDog86 BlackDog86 added this to the 1.29.0 milestone Aug 17, 2024
@Iridar Iridar modified the milestones: 1.29.0, 1.30.0 Dec 2, 2024
@Iridar
Copy link
Contributor

Iridar commented Jan 6, 2025

The key problem highlighted by this issue is that initiative interrupts tick unit values, but do not tick effects. This inconsistency means that interrupting initiative is kinda like a real turn from the standpoint of unit values, but not a real turn from the standpoint of effects.

Description of Interrupt and Battlelord also have no indication that initiative interrupts are meant to be "real turns", and instead just say "take an action".

As such, I believe unit values ticking during interrupts is a bug. Due to the deeply-rooted nature of initiative interrupts that go through Tactical Ruleset, I believe fixing this bug in Highlander would be appropriate, though in theory doing so might be breaking for existing mods that work tightly with interrupt mechanics.

This would not only be a bugfix, but also an alteration of base game mechanics, so in this case I would be comfortable with gating a fix for this bug behind a config toggle, and disabled by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants