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

Vipers can grab a soldier already grabbed by Archon King #1395

Open
Iridar opened this issue Oct 11, 2024 · 2 comments
Open

Vipers can grab a soldier already grabbed by Archon King #1395

Iridar opened this issue Oct 11, 2024 · 2 comments
Labels
bug-basegame dlc2 Regarding Alien Hunters

Comments

@Iridar
Copy link
Contributor

Iridar commented Oct 11, 2024

Yesterday I learned that when the Archon King grabs your soldier as his last action on this turn, a Viper can then successfully bind the same soldier on aliens' turn (kinda pulling him out of AK's hands). With his next reaction (which happens after aliens' turn, when you move another soldier) he will slam the soldier he grabbed in the ground as if he is holding that soldier. Then the soldier proceeds to be binded by a Viper like 20 meters away from the AK.

This was super weird. The animation shows the soldier binded by a Viper basically around the corner, and the Archon King slams into the ground by himself (with empty hands), but this still does damage to the binded soldier.

https://www.reddit.com/r/XCOM2/comments/1g15vbj/archon_kindviper_doublegrab/

@Iridar Iridar added bug-basegame dlc2 Regarding Alien Hunters labels Oct 11, 2024
@BlackDog86
Copy link
Contributor

BlackDog86 commented Jan 6, 2025

So IcarusDropGrab doesn't have target exclusions for Bind and Bind doesn't have targetting exclusions for IcarusDropGrab. My instinct is that they should have mutual targetting exclusions for the two abilities - something like:
BIND:

// This Target cannot already be bound
	UnitEffectsCondition = new class'X2Condition_UnitEffects';
	UnitEffectsCondition.AddExcludeEffect(class'X2AbilityTemplateManager'.default.BoundName, 'AA_UnitIsBound');
	UnitEffectsCondition.AddExcludeEffect(class'X2Ability_CarryUnit'.default.CarryUnitEffectName, 'AA_CarryingUnit');
	UnitEffectsCondition.AddExcludeEffect(class'X2Effect_PersistentVoidConduit'.default.EffectName, 'AA_UnitIsBound');
	<<<UnitEffectsCondition.AddExcludeEffect(class'X2Ability_DLC_60ArchonKing'.default.default.IcarusDropGrabbeeEffect_SustainedName, 'AA_UnitIsBound'); >>>
	Template.AbilityTargetConditions.AddItem(UnitEffectsCondition);

ICARUSDROP:

	// The target must not have a cocoon on top of it
	ExcludeEffects = new class'X2Condition_UnitEffects';
	ExcludeEffects.AddExcludeEffect(class'X2Ability_ChryssalidCocoon'.default.GestationStage1EffectName, 'AA_UnitHasCocoonOnIt');
	ExcludeEffects.AddExcludeEffect(class'X2Ability_ChryssalidCocoon'.default.GestationStage2EffectName, 'AA_UnitHasCocoonOnIt');
	ExcludeEffects.AddExcludeEffect(default.IcarusDropGrabbeeEffect_SustainedName, 'AA_UnitIsBound');
	<<<ExcludeEffects.AddExcludeEffect(class'X2AbilityTemplateManager'.default.BoundName, 'AA_UnitIsBound');>>>
	Template.AbilityTargetConditions.AddItem(ExcludeEffects);

@BlackDog86
Copy link
Contributor

BlackDog86 commented Jan 6, 2025

I presume it wouldn't be possible to add the targeting condition to Bind that references the DLC60 ability though, since it may not exist. Presumably we'd have to add that in OPTC in the Alien hunters HL - still we can at least prevent the Archon King stealing units that are already bound in a viper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-basegame dlc2 Regarding Alien Hunters
Projects
None yet
Development

No branches or pull requests

2 participants