Amineri Posted June 1, 2013 Share Posted June 1, 2013 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 damage16 : Sectopod -- default 320.0 = 5 tiles / 5 damage12, 19 : Ethereal / Uber Ethereal -- default 144.0 = 2.25 tiles / 4 damage17 : 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 More sharing options...
Recommended Posts