Minotaur and Omnitaur
Posted: Sat Oct 02, 2021 9:41 am
So...as part of the ongoing clean up that is the vehicle coding mess Omni.
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
Which is fine, but what about other damage types? What should we set those to? I'd like to clean up the Minotaur and Omnitaur .u files to make them consistent. I added VehicleLoadOut Omnitaur at the bottom.
RedPlanet
DJY
Minus-Badger
Lastly the Vehicle Loadout Map (Maybe this is the basis going forward)
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);
}