Skip to content

#1609 - Add PostRulerTacticalTransfer event - #1610

Open
boundir wants to merge 1 commit into
X2CommunityCore:masterfrom
boundir:hook-post-ruler-tactical-transfert
Open

#1609 - Add PostRulerTacticalTransfer event#1610
boundir wants to merge 1 commit into
X2CommunityCore:masterfrom
boundir:hook-post-ruler-tactical-transfert

Conversation

@boundir

@boundir boundir commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

We trigger an event at the end of the ruler block, inside XComGameState_AlienRulerManager::OnEndTacticalPlay:

/// EventID: PostRulerTacticalTransfer,
/// EventData: [in XComGameState_Unit UnitState, in XComGameState_Unit RulerState],
/// EventSource: XComGameState_AlienRulerManager (AlienRulerManager),
/// NewGameState: yes

RulerState: the persistent ruler.
UnitState: the tactical ruler unit.

@github-actions

Copy link
Copy Markdown
Contributor

Pull request modifies event listener templates

Difference (click to expand)
diff --git a/target/CHL_Event_Compiletest.uc b/target/CHL_Event_Compiletest.uc
index ece5a3b..9036df3 100644
--- a/target/CHL_Event_Compiletest.uc
+++ b/target/CHL_Event_Compiletest.uc
@@ -1266,6 +1266,24 @@ static function EventListenerReturn OnPostMissionIntroKismet(Object EventData, O
 	return ELR_NoInterrupt;
 }
 
+static function EventListenerReturn OnPostRulerTacticalTransfer(Object EventData, Object EventSource, XComGameState GameState, Name EventID, Object CallbackObject)
+{
+	local XComGameState_AlienRulerManager AlienRulerManager;
+	local XComLWTuple Tuple;
+	local XComGameState_Unit UnitState;
+	local XComGameState_Unit RulerState;
+
+	AlienRulerManager = XComGameState_AlienRulerManager(EventSource);
+	Tuple = XComLWTuple(EventData);
+
+	UnitState = XComGameState_Unit(Tuple.Data[0].o);
+	RulerState = XComGameState_Unit(Tuple.Data[1].o);
+
+	// Your code here
+
+	return ELR_NoInterrupt;
+}
+
 static function EventListenerReturn OnPostSquaddieLoadoutApplied(Object EventData, Object EventSource, XComGameState GameState, Name EventID, Object CallbackObject)
 {
 	local XComGameState_Unit UnitState;
What? (click to expand)

The Highlander documentation tool generates event listener examples from event specifications.
This comment contains the modifications that would be made to the copy-pasteable event listeners in documentation, for PR authors and reviewers to inspect for correctness, and will automatically be kept up-to-date whenever this PR is updated.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant