Gah - a solution with more questions. – EntropicLqd

Legacy:NukeRifleFire

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

NukeRifles[edit]

NukeRifleFire[edit]

class NukeRifleFire extends ShockBeamFire;
 
var() int Damage; // per wave
var() float MomentumTransfer; // per wave
var() float DamageRadius; // of final wave
 
function DoTrace(Vector Start, Rotator Dir)
{
	local Vector X;
 
	X = vector(Dir);
	TracePart(Start,Start+X*TraceRange,X,Dir,Instigator);
}	
 
function TracePart(Vector Start, Vector End, Vector X, Rotator Dir, Pawn Ignored)
{
    local Vector HitLocation, HitNormal;
    local Actor Other;
	local NukeRifleProjectile Mushroom_cloud;
 
    Other = Ignored.Trace(HitLocation, HitNormal, End, Start, true);
 
    if ( (Other != None) && (Other != Ignored) )
    {
        //if ( !Other.bWorldGeometry )
        //{
            HitNormal = Vect(0,0,0);
            //if ( (Pawn(Other) != None) && (HitLocation != Start) && Weapon.IsA('NukeRifle') )
			//	TracePart(HitLocation,End,X,Dir,Pawn(Other));
        //}
    }
    else
    {
        HitLocation = End;
        HitNormal = Vect(0,0,0);
    }
	SpawnBeamEffect(Start, Dir, HitLocation, HitNormal, 0);
	if( Instigator.bDeleteMe != true )
		Mushroom_cloud = Spawn(class'my_mod2.NukeRifleProjectile',Instigator,, HitLocation - (100*Normal(HitLocation - Start)) , Dir);                      
}
 
function SpawnBeamEffect(Vector Start, Rotator Dir, Vector HitLocation, Vector HitNormal, int ReflectNum)
{
    local ShockBeamEffect Beam;
 
    if ( (Instigator.PlayerReplicationInfo.Team != None) && (Instigator.PlayerReplicationInfo.Team.TeamIndex == 1) )
		Beam = Spawn(class'BlueSuperShockBeam',,, Start, Dir);
	else
		Beam = Spawn(BeamEffectClass,,, Start, Dir);
    if (ReflectNum != 0) Beam.Instigator = None; // prevents client side repositioning of beam start
    Beam.AimAt(HitLocation, HitNormal);
}
 
defaultproperties
{
    AmmoClass=class'SuperShockAmmo'
    AmmoPerFire=0
    DamageType=class'my_mod2.DamTypeNukeRifle'
    DamageMin=500
    DamageMax=500
	Momentum=70000
    FireSound=Sound'WeaponSounds.instagib_rifleshot'
    FireForce="ShockRifleFire"  
    bReflective=true
    FireRate=1.5
	BeamEffectClass=class'SuperShockBeamEffect'
	bModeExclusive=true
    AimError=700
}

Discussion[edit]

SuperApe: Needs class page markup, reguardless. Needs linkage. Which version is this for?

sweavo: in my opinion this should be deleted, unless the author's around and happy to post a zip file with the textures etc in it.


Category:Legacy To Do – See Discussion above.