Code: Select all
//=============================================================================
// DispSpark.
//=============================================================================
class DispSpark expands Spark3;
var name Colour;
function DispCall(name Colour)
{
if(Colour == 'Blue')
Texture = FireTexture'UnrealShare.Effect1.FireEffect1u';
else if(Colour == 'Green')
Texture = FireTexture'UnrealShare.Effect1.FireEffect1a';
else if(Colour == 'Yellow')
Texture = FireTexture'UnrealShare.Effect1.FireEffect1e';
else if(Colour == 'Orange')
Texture = FireTexture'UnrealShare.Effect1.FireEffect1pb';
else if(Colour == 'Red')
Texture = FireTexture'UnrealShare.Effect1.FireEffect1p';
else
Texture = FireTexture'UnrealShare.Effect1.FireEffect1u';
}Code: Select all
class ColSpriteExplo expands Effects; //Engine
var int Statex;
var name TheColour;
function Timer()
{
ColourChange(TheColour);
}
function ColourChange(name Colour)
{
if(Colour == 'Blue')
{
Skin = Texture'UnrealShare.Effects.BluePal';
if(Statex < 0)
Texture = Texture'UnrealShare.DispExpl.dseb_A00';
else if(Statex < 1)
Texture = Texture'UnrealShare.DispExpl.dseb_A01';
else if(Statex < 2)
Texture = Texture'UnrealShare.DispExpl.dseb_A02';
else if(Statex < 3)
Texture = Texture'UnrealShare.DispExpl.dseb_A03';
else if(Statex < 4)
Texture = Texture'UnrealShare.DispExpl.dseb_A04';
else if(Statex < 5)
Texture = Texture'UnrealShare.DispExpl.dseb_A05';
else if(Statex < 6)
Texture = Texture'UnrealShare.DispExpl.DSEB_A06';
else if(Statex < 7)
Texture = Texture'UnrealShare.DispExpl.dseb_A07';
else if(Statex < 8)
Texture = Texture'UnrealShare.DispExpl.dseb_A08';
else if(Statex < 9)
Texture = Texture'UnrealShare.DispExpl.dseb_A09';
}
else if(Colour == 'Green')
{
Skin = Texture'UnrealShare.Effects.PalGreen';
if(Statex < 0)
Texture = Texture'UnrealShare.DispExpl.DISE_A00';
else if(Statex < 1)
Texture = Texture'UnrealShare.DispExpl.DISE_A01';
else if(Statex < 2)
Texture = Texture'UnrealShare.DispExpl.DISE_A02';
else if(Statex < 3)
Texture = Texture'UnrealShare.DispExpl.DISE_A03';
else if(Statex < 4)
Texture = Texture'UnrealShare.DispExpl.DISE_A04';
else if(Statex < 5)
Texture = Texture'UnrealShare.DispExpl.DISE_A05';
else if(Statex < 6)
Texture = Texture'UnrealShare.DispExpl.DISE_A06';
else if(Statex < 7)
Texture = Texture'UnrealShare.DispExpl.DISE_A07';
else if(Statex < 8)
Texture = Texture'UnrealShare.DispExpl.DISE_A08';
else if(Statex < 9)
Texture = Texture'UnrealShare.DispExpl.DISE_A09';
}
else if(Colour == 'Orange')
{
Skin = Texture'UnrealShare.Effects.PalRed';
if(Statex < 0)
Texture = Texture'UnrealShare.DispExpl.DseO_A00';
else if(Statex < 1)
Texture = Texture'UnrealShare.DispExpl.DseO_A01';
else if(Statex < 2)
Texture = Texture'UnrealShare.DispExpl.DseO_A02';
else if(Statex < 3)
Texture = Texture'UnrealShare.DispExpl.DseO_A03';
else if(Statex < 4)
Texture = Texture'UnrealShare.DispExpl.DseO_A04';
else if(Statex < 5)
Texture = Texture'UnrealShare.DispExpl.DseO_A05';
else if(Statex < 6)
Texture = Texture'UnrealShare.DispExpl.DseO_A06';
else if(Statex < 7)
Texture = Texture'UnrealShare.DispExpl.DseO_A07';
else if(Statex < 8)
Texture = Texture'UnrealShare.DispExpl.DseO_A08';
else if(Statex < 9)
Texture = Texture'UnrealShare.DispExpl.DseO_A09';
}
else if(Colour == 'Red')
{
Skin = Texture'UnrealShare.Effects.PalRed';
if(Statex < 0)
Texture = Texture'UnrealShare.DispExpl.DseO_A00';
else if(Statex < 1)
Texture = Texture'UnrealShare.DispExpl.DseO_A01';
else if(Statex < 2)
Texture = Texture'UnrealShare.DispExpl.DseO_A02';
else if(Statex < 3)
Texture = Texture'UnrealShare.DispExpl.DseO_A03';
else if(Statex < 4)
Texture = Texture'UnrealShare.DispExpl.DseO_A04';
else if(Statex < 5)
Texture = Texture'UnrealShare.DispExpl.DseO_A05';
else if(Statex < 6)
Texture = Texture'UnrealShare.DispExpl.DseO_A06';
else if(Statex < 7)
Texture = Texture'UnrealShare.DispExpl.DseO_A07';
else if(Statex < 8)
Texture = Texture'UnrealShare.DispExpl.DseO_A08';
else if(Statex < 9)
Texture = Texture'UnrealShare.DispExpl.DseO_A09';
}
else if(Colour == 'Yellow')
{
Skin = Texture'UnrealShare.Effects.PalYellow';
if(Statex < 0)
Texture = Texture'UnrealShare.DispExpl.dseY_A00';
else if(Statex < 1)
Texture = Texture'UnrealShare.DispExpl.dseY_A01';
else if(Statex < 2)
Texture = Texture'UnrealShare.DispExpl.dseY_A02';
else if(Statex < 3)
Texture = Texture'UnrealShare.DispExpl.dseY_A03';
else if(Statex < 4)
Texture = Texture'UnrealShare.DispExpl.dseY_A04';
else if(Statex < 5)
Texture = Texture'UnrealShare.DispExpl.dseY_A05';
else if(Statex < 6)
Texture = Texture'UnrealShare.DispExpl.dseY_A06';
else if(Statex < 7)
Texture = Texture'UnrealShare.DispExpl.dseY_A07';
else if(Statex < 8)
Texture = Texture'UnrealShare.DispExpl.dseY_A08';
else if(Statex < 9)
Texture = Texture'UnrealShare.DispExpl.dseY_A09';
}
else
Texture = Texture'dseb_A00';
if(Statex < 10)
Statex++;
SetTimer(0.06, False);
}
Code: Select all
//=============================================================================
// DispersionAmmo.
//=============================================================================
class DispersionAmmo extends Projectile;
#exec MESH IMPORT MESH=plasmaM ANIVFILE=Models\cros_t_a.3d DATAFILE=Models\cros_t_d.3d X=0 Y=0 Z=0
#exec MESH ORIGIN MESH=plasmaM X=0 Y=-500 Z=0 YAW=-64
#exec MESH SEQUENCE MESH=plasmaM SEQ=All STARTFRAME=0 NUMFRAMES=1
#exec MESH SEQUENCE MESH=plasmaM SEQ=Still STARTFRAME=0 NUMFRAMES=1
#exec MESHMAP SCALE MESHMAP=plasmaM X=0.09 Y=0.15 Z=0.08
#exec OBJ LOAD FILE=Textures\fireeffect1.utx PACKAGE=UnrealShare.Effect1
#exec MESHMAP SETTEXTURE MESHMAP=plasmaM NUM=0 TEXTURE=UnrealShare.Effect1.FireEffect1u
#exec MESHMAP SETTEXTURE MESHMAP=plasmaM NUM=1 TEXTURE=UnrealShare.Effect1.FireEffect1t
#exec AUDIO IMPORT FILE="Sounds\Dispersion\DFly1.wav" NAME="DispFly" GROUP="Dispersion"
#exec AUDIO IMPORT FILE="Sounds\Dispersion\dpexplo4.wav" NAME="DispEX1" GROUP="General"
#exec OBJ LOAD FILE=Textures\DispExpl.utx PACKAGE=UnrealShare.DispExpl
#exec TEXTURE IMPORT NAME=BluePal FILE=Textures\expal2a.pcx GROUP=Effects
#exec TEXTURE IMPORT NAME=ExplosionPal FILE=Textures\exppal.pcx GROUP=Effects
#exec OBJ LOAD FILE=Textures\MainE.utx PACKAGE=UnrealShare.MainEffect
var bool bExploded,bAltFire, bExplosionEffect;
var() float SparkScale;
var() class ParticleType;
var() float SparkModifier;
var() texture ExpType;
var() texture ExpSkin;
var() Sound EffectSound1;
var() texture SpriteAnim[20];
var() int NumFrames;
var() float Pause;
var int i;
var Float AnimTime;
var float Count,SmokeRate;
var() name Colour;
simulated function Tick(float DeltaTime)
{
local DispSpark burstcolour;
if ( Physics != PHYS_None ) {
LifeSpan = 0.7; // keep resetting it - can't make it longer since animspriteeffect base of this
Count += DeltaTime;
if (Count>(SmokeRate+FRand()*SmokeRate))
{
burstcolour = Spawn(class'DispSpark',,,,RotRand());
burstcolour.DispCall(Colour);
burstcolour.DrawScale = burstcolour.DrawScale * SparkScale * SparkModifier;
Count=0.0;
}
}
}
simulated function PostBeginPlay()
{
//log("Spawn "$self$" with role "$Role$" and netmode "$Level.netmode);
Super.PostBeginPlay();
Velocity = Speed * vector(Rotation);
Count = -0.1;
SmokeRate = 0.035;
}
function InitSplash(float DamageScale)
{
Damage *= DamageScale;
MomentumTransfer *= DamageScale;
SparkScale = FClamp(DamageScale*3.0 - 1.2,0.5,4.0);
DrawScale = fMin(DamageScale,2.0);
if (SparkScale>1.5 && SmokeRate