| Home Page | Recent Changes

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

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