Jump to content

Alien Death Explosions


Amineri

Recommended Posts

For those of you that like exploding aliens, and would like to make them ... explode-ier...

 

The function XComAlienPawn.GetDeathExplosionRadius defines the explosion radius for the various aliens.

 

 

 

simulated function float GetDeathExplosionRadius(XGUnit kUnit)
{
	local float fRadius;

	// ObjectIndex:3539 BlockSize:0
	switch(kUnit.GetCharacter().m_kChar.iType)
	{
		// End:0xc6
		case 8:
			fRadius = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.192.00;
			// End:0x23f
			break;
		// End:0x13b
		case 16:
			fRadius = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.320.00;
			// End:0x23f
			break;
		// End:0x140
		case 12:
		// End:0x1b5
		case 19:
			fRadius = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.144.00;
			// End:0x23f
			break;
		// End:0x22a
		case 17:
			fRadius = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.192.00;
			// End:0x23f
			break;
		// End:0xffff
		default:
			fRadius = 1.00;
			// End:0x23f Break;
			break;
	}
	return fRadius;
}
 

 

 

 

These should all be constant value changes, with the usual converion that 64.0 Unreal units = 1 game tile.

 

There is of course the companion function, XComAlienPawn.GetDeathExplosionDamage:

 

 

simulated function int GetDeathExplosionDamage(XGUnit kUnit)
{
	local int iDamage;

	// ObjectIndex:3539 BlockSize:0
	switch(kUnit.GetCharacter().m_kChar.iType)
	{
		// End:0xc3
		case 8:
			iDamage = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.3;
			// End:0x22f
			break;
		// End:0x135
		case 16:
			iDamage = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.5;
			// End:0x22f
			break;
		// End:0x13a
		case 12:
		// End:0x1ac
		case 19:
			iDamage = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.4;
			// End:0x22f
			break;
		// End:0x21e
		case 17:
			iDamage = XComGameReplicationInfo(class'Engine'.static.GetCurrentWorldInfo().GRI).m_kGameCore.3;
			// End:0x22f
			break;
		// End:0xffff
		default:
			iDamage = 1;
			// End:0x22f Break;
			break;
	}
	return iDamage;
}
 

 

 

 

Alien types are:

8 : Cyberdisc -- default 192.0 = 3 tiles / 3 damage

16 : Sectopod -- default 320.0 = 5 tiles / 5 damage

12, 19 : Ethereal / Uber Ethereal -- default 144.0 = 2.25 tiles / 4 damage

17 : Drone -- default 192.0 = 3 tiles / 3 damage

 

 

 

In addition to destroying terrain and hurting XCOM soldiers, explosions should damage nearby aliens, allowing for the hilarious possibility of chain reactions :biggrin:

 

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...