While working on firetank(s), I've noticed on the decompiled Minotaur.u (Classic Mino) and Omnitaur.u (Usual Omni Mino) neither of those vehicles have the TakeDamage modifiers...
I am going to guess that the map editors decided to updated the code based on the map, which IMO makes for inconsistent play.... sometimes a Cicada does half damage/sometimes not. I for one would like the vehicles to be consistent... this probably creates 'haxx' when on one map someone takes full damage and another they do not!
Looking at three maps (RedPlanet, DJY, and Minus-Badger -- all untouched recently) and ALL THREE HAD DIFFERENT TAKE DAMAGE CODE.
So far the one constant was
Code: Select all
if (DamageType == class'DamTypeBioGlob')
Damage *= 5.0;
RedPlanet
Code: Select all
if (DamageType == class'DamTypeHoverBikePlasma')
Damage *= 0.80;
if (DamageType == class'DamTypeONSCicadaRocket')
Damage *= 0.80;
if (DamageType == class'DamTypeAttackCraftPlasma')
Damage *= 0.80;
if (DamageType == class'DamTypeFlakChunk')
Damage *= 0.80;
if (DamageType == class'DamTypeShockBeam')
Damage *= 0.70;
Momentum *=0.1;
Code: Select all
// End:0x1B
if(DamageType == class'DamTypeBioGlob')
{
Damage *= 5.0;
}
// End:0x36
if(DamageType == class'DamTypeHoverBikePlasma')
{
Damage *= 0.70;
}
// End:0x51
if(DamageType == class'DamTypeONSCicadaRocket')
{
Damage *= 0.70;
}
// End:0x6C
if(DamageType == class'DamTypeAttackCraftPlasma')
{
Damage *= 0.70;
}
// End:0x88
if(ClassIsChildOf(DamageType, class'DamTypeAirPower'))
{
Damage *= 0.70;
}
// End:0xA3
if(DamageType == class'FireKill')
{
Damage *= 0.30;
}
// End:0xBE
if(DamageType == class'AlligatorFlak')
{
Damage *= 0.750;
}
// End:0xD9
if(DamageType == class'DamTypeShockBeam')
{
Damage *= 0.750;
}
// End:0xF4
if(DamageType == class'TurtleDamTypeProximityExplosion')
{
Damage *= 1.550;
}
// End:0x10F
if(DamageType == class'MinotaurTurretkill')
{
Damage *= 0.30;
}
// End:0x12A
if(DamageType == class'MinotaurSecondaryTurretKill')
{
Damage *= 0.30;
}
// End:0x145
if(DamageType == class'HeatRay')
{
Damage *= 0.30;
}
Momentum *= 0.0;
super.TakeDamage(Damage, instigatedBy, HitLocation, Momentum, DamageType);
ReduceShake();
//return;
Code: Select all
function TakeDamage(int Damage, Pawn instigatedBy, Vector HitLocation, Vector Momentum, class<DamageType> DamageType)
{
// End:0x1B
if(DamageType == class'DamTypeBioGlob')
{
Damage *= 5.0;
}
// End:0x36
if(DamageType == class'DamTypeHoverBikePlasma')
{
Damage *= 0.70;
}
// End:0x51
if(DamageType == class'DamTypeONSCicadaRocket')
{
Damage *= 0.50;
}
// End:0x6C
if(DamageType == class'DamTypeAttackCraftPlasma')
{
Damage *= 0.50;
}
// End:0x87
if(DamageType == class'DamTypeFlakChunk')
{
Damage *= 0.70;
}
// End:0xA2
if(DamageType == class'DamTypeShockBeam')
{
Damage *= 0.650;
}
Momentum *= float(0);
super.TakeDamage(Damage, instigatedBy, HitLocation, Momentum, DamageType);
//return;
}
Code: Select all
function TakeDamage(int Damage, Pawn instigatedBy, Vector Hitlocation, Vector Momentum, class<DamageType> DamageType)
{
if (DamageType == class'DamTypeBioGlob')
Damage *= 5.0;
if (DamageType == class'DamTypeHoverBikePlasma')
Damage *= 0.70;
if (DamageType == class'DamTypeONSCicadaRocket')
Damage *= 0.50;
if (DamageType == class'DamTypeAttackCraftPlasma')
Damage *= 0.50;
if (DamageType == class'DamTypeFlakChunk')
Damage *= 0.70;
if (DamageType == class'DamTypeShockBeam')
Damage *= 0.65;
Momentum *=0;
Super.TakeDamage(Damage, instigatedBy, Hitlocation, Momentum,damageType);
}