class ScrnHuskGunProjectile_Alt extends ScrnHuskGunProjectile_Strong; //can't be destroyed by Siren's scream //Explode only by heavy explosive damage function TakeDamage( int Damage, Pawn InstigatedBy, Vector Hitlocation, Vector Momentum, class damageType, optional int HitIndex) { if ( !bDud && !bHasExploded && Damage >= 100 && class(damageType) != none && class(damageType).default.bIsExplosive ) { Explode(HitLocation, vect(0,0,0)); } } /* simulated function float MosterDamageMult( KFMonster Victim ) { float mult; mult = super.MosterDamageMult(); // prevent big monsters from 1-shot be killed by hitting all projectiles if ( KFMonsterVictim.bBurnified && KFMonsterVictim.default.Health >= 1000 ) mult *= 0.5; return mult; } */ // copy-pasted with deletion of impact damage simulated function ProcessTouch(Actor Other, Vector HitLocation) { // Don't let it hit this player, or blow up on another player if ( Other == none || Other == Instigator || Other.Base == Instigator ) return; // Don't collide with bullet whip attachments if( ROBulletWhipAttachment(Other) != none ) { return; } /* // Don't allow hits on people on the same team if( KFHumanPawn(Other) != none && Instigator != none && KFHumanPawn(Other).PlayerReplicationInfo.Team.TeamIndex == Instigator.PlayerReplicationInfo.Team.TeamIndex ) { return; } */ if( !bDud && !bHasExploded ) { Explode(HitLocation,Normal(HitLocation-Other.Location)); } } defaultproperties { ExplosionSoundVolume=1.000000 ImpactDamageType=Class'ScrnBalanceSrv.ScrnDamTypeHuskGun_Alt' ImpactDamage=0 AmbientVolumeScale=1.000000 Speed=750.000000 MaxSpeed=1000.000000 Damage=50.000000 DamageRadius=500.000000 MyDamageType=Class'ScrnBalanceSrv.ScrnDamTypeHuskGun_Alt' LifeSpan=5.000000 }