Open BlackDog86 opened 3 weeks ago
If anything, freeze should provide immunity to all these effects it removes when applied. It is only providing immunity to stun.
static function X2Effect CreateFreezeRemoveEffects()
{
local X2Effect_RemoveEffectsByDamageType RemoveEffects;
RemoveEffects = new class'X2Effect_RemoveEffectsByDamageType';
RemoveEffects.DamageTypesToRemove.AddItem('stun');
RemoveEffects.DamageTypesToRemove.AddItem('fire');
RemoveEffects.DamageTypesToRemove.AddItem('poison');
RemoveEffects.DamageTypesToRemove.AddItem(class'X2Effect_ParthenogenicPoison'.default.ParthenogenicPoisonType);
RemoveEffects.DamageTypesToRemove.AddItem('acid');
RemoveEffects.EffectNamesToRemove.AddItem(class'X2AbilityTemplateManager'.default.DisorientedName);
RemoveEffects.EffectNamesToRemove.AddItem(class'X2AbilityTemplateManager'.default.ConfusedName);
RemoveEffects.EffectNamesToRemove.AddItem(class'X2AbilityTemplateManager'.default.PanickedName);
RemoveEffects.EffectNamesToRemove.AddItem(class'X2AbilityTemplateManager'.default.StunnedName);
return RemoveEffects;
}
function bool ProvidesDamageImmunity(XComGameState_Effect EffectState, name DamageType)
{
return DamageType == 'stun';
}
Given the changes to base-game behaviour & comments in the discussion thread earlier, how's about we just create a simple bFixFrozenInteractions boolean, gate the additional damage immunities behind the boolean value and we'll get someone in the community to set the bool in ON in a common fix mod (e.g. core collection or similar). Failing that I can publish a seperate mod that literally just sets the config value, but seems like a lot of effort for such a tiny change.
Test case:
Unit becomes burning and frozen at the same time.
On the contrary, freezing the unit does remove burning - so my suggestion is that this probably wasn't an 'intentional design choice', though I would welcome arguments to the contrary.