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

Burning doesn't remove frozen #1377

Open
BlackDog86 opened this issue Aug 21, 2024 · 3 comments
Open

Burning doesn't remove frozen #1377

BlackDog86 opened this issue Aug 21, 2024 · 3 comments
Assignees

Comments

@BlackDog86
Copy link
Contributor

BlackDog86 commented Aug 21, 2024

Test case:

  1. Get a viper king to use his frost breath on a soldier
  2. Throw an incendiary grenade at the soldier (or get a purifier to do it)

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.

@faanlez
Copy link

faanlez commented Aug 21, 2024

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';
}

@BlackDog86 BlackDog86 self-assigned this Sep 7, 2024
@BlackDog86
Copy link
Contributor Author

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.

@Iridar
Copy link
Contributor

Iridar commented Sep 13, 2024

I'm still not convinced why this needs to be done in Highlander. It seems like it would be a reasonably deep redesign of how freeze works, and can be achieved by MCOing the freeze effect.

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