| Home Page | Recent Changes | Preferences

# CorDharel/BioRocket

## BioRocket

This is my first little project, a BioRifle with Rockets as primary ammo. I did it, not perfect, but I want to add some more functions to make the mutator playable and unique.

### Current status:

08.08.2003 I want to code some more functions for my BioRocket to get more into unrealscript.

- Old

04.04.03 I got it! Wasn't that hard as I thought. Perhaps I will post a tutorial about it.

02.04.03 When I pickup a BioRiflePickup, I get the rocket launcher

31.03.03 I got a Biorifle with the sound of the rocket launcher, but I can't see some projectiles.

### My Classes I thought I have to use:

- BioRocketMut - For the mutator

- BioRocket - For the new weapon

- BioRocketPickup - For the pickup

- BioRocketFire - For the projectile fire

### Here is my current code:

Class BioRocketMut:

    class BioRocketMut extends Mutator
    config(user);

    function bool bCheckReplacement (Actor Other, out byte bSuperRelevant)
    {

    bSuperRelevant = 0;

    if ( xWeaponBase(Other) != None )
            {
            if ( xWeaponBase(Other).WeaponType == Class'BioRifle')
                xWeaponBase(Other).WeaponType = Class'BioRocket';
                return true;
            }

    else if ( WeaponPickup(Other) != None )
    {
     if ( string(Other.Class) ~= "XWeapons.BioRiflePickup" )
      ReplaceWith( Other, "CorPackage.BioRocketPickup");
      return true;
    }
    else
        return true;

    return false;
    }

    defaultproperties
    {
        GroupName="BioRocket"
        FriendlyName="BioRocket"
        Description="Replaces all BioRifles with rocket Shooting BioRifle"
    }

Class BioRocket

    class BioRocket extends RocketLauncher config(user);

    defaultproperties
    {
         PickupClass=Class'CorPackage.BioRocketPickup'
         ItemName="BioRocket"
    }

Class BioRocketPickup

    class BioRocketPickup extends UTWeaponPickup;

    static function StaticPrecache(LevelInfo L)
    {
        L.AddPrecacheMaterial(Texture'XEffects.xbiosplat2');
        L.AddPrecacheMaterial(Texture'XEffects.xbiosplat');
        L.AddPrecacheMaterial(Texture'XGameShaders.bio_flash');
        L.AddPrecacheStaticMesh(StaticMesh'WeaponStaticMesh.BioRiflePickup');
    }

    simulated function UpdatePrecacheMaterials()
    {
        Level.AddPrecacheMaterial(Texture'XEffects.xbiosplat2');
        Level.AddPrecacheMaterial(Texture'XEffects.xbiosplat');
        Level.AddPrecacheMaterial(Texture'XGameShaders.bio_flash');
    }

    defaultproperties
    {
         MaxDesireability=0.750000
         InventoryType=class'CorPackage.BioRocket'
         PickupMessage="You got the BioRocket"
         PickupSound=Sound'PickupSounds.FlakCannonPickup'
         PickupForce="FlakCannonPickup"
         DrawType=DT_StaticMesh
         StaticMesh=StaticMesh'WeaponStaticMesh.BioRiflePickup'
         DrawScale=0.700000
    }

Class BioRocketFire

    class BioRocketFire extends ProjectileFire;

    function PlayFireEnd()
    {
    }

    function InitEffects()
    {
        Super.InitEffects();
        if ( FlashEmitter != None )
            Weapon.AttachToBone(FlashEmitter, 'tip');
    }

    function Projectile SpawnProjectile(Vector Start, Rotator Dir)
    {
        local Projectile p;

        p = RocketLauncher(Weapon).SpawnProjectile(Start, Dir);
        if ( p != None )
            p.Damage *= DamageAtten;
        return p;
    }

    defaultproperties
    {
         ProjSpawnOffset=(X=25.000000,Y=6.000000,Z=-6.000000)
         TweenTime=0.000000
         FireSound=SoundGroup'WeaponSounds.RocketLauncher.RocketLauncherFire'
         FireForce="BioRocketFire"
         FireRate=0.900000
         AmmoClass=Class'XWeapons.RocketAmmo'
         AmmoPerFire=1
         ShakeRotTime=2.000000
         ShakeOffsetMag=(X=-20.000000)
         ShakeOffsetRate=(X=-1000.000000)
         ShakeOffsetTime=2.000000
         ProjectileClass=Class'XWeapons.RocketProj'
         BotRefireRate=0.500000
         WarnTargetPct=0.900000
         bSplashDamage=True
         bSplashJump=True
         bRecommendSplashDamage=True
         FlashEmitterClass=Class'XEffects.RocketMuzFlash1st'
    }

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In