Skip to content

Script targeting style detection is too overzealous #1019

Description

@Xymanek

function XComGameState_Ability CreateInstanceFromTemplate(XComGameState NewGameState)
{
local XComGameState_Ability Ability;
// Begin Issue #763
/// HL-Docs: ref:CustomTargetStyles
if (AllTargetStylesNative())
{
Ability = XComGameState_Ability(NewGameState.CreateNewStateObject(class'XComGameState_Ability', self));
}
else
{
Ability = XComGameState_Ability(NewGameState.CreateNewStateObject(class'XComGameState_Ability_CH', self));
}
// End Issue #763
return Ability;
}
// Start Issue #763
simulated private function bool AllTargetStylesNative()
{
// The AbilityPassiveAOEStyle is never required by native code, so we don't have to check it here.
return (AbilityTargetStyle != none && CH_ClassIsNative(AbilityTargetStyle.Class))
&& (AbilityMultiTargetStyle != none && CH_ClassIsNative(AbilityMultiTargetStyle.Class));
}
// End Issue #763

I've added a bit of logging:

`log("Instantiating XComGameState_Ability_CH for" @ DataName,, 'CH_ScriptTargetStyle');
Ability = XComGameState_Ability(NewGameState.CreateNewStateObject(class'XComGameState_Ability_CH', self));

Result is a bit more than one would expect: https://gist.github.com/Xymanek/7d568340cb4811e8e64e5ccd50cd72d5

cc @robojumper as the author of the latest implementation (#918)

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions