| Home Page | Recent Changes

NukeRifleFire

NukeRifles

NukeRifleFire

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

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


Category Custom Class

Category To Do – See Discussion above.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In