Core.Object | +--Engine.Actor | +--Engine.Projectile | +--UnrealShare.BioGel | +--UnrealShare.BigBioGel
void
DropDrip()
BeginState()
00001 //============================================================================= 00002 // BigBioGel. 00003 //============================================================================= 00004 class BigBioGel extends BioGel; 00005 00006 function DropDrip() 00007 { 00008 local BioGel Gel; 00009 00010 PlaySound(SpawnSound); // Dripping Sound 00011 Gel = Spawn(class'BioDrop', Pawn(Owner),,Location-Vect(0,0,1)*10); 00012 Gel.DrawScale = DrawScale * 0.5; 00013 } 00014 00015 00016 auto state Flying 00017 { 00018 simulated function HitWall( vector HitNormal, actor Wall ) 00019 { 00020 SetPhysics(PHYS_None); 00021 MakeNoise(0.6); 00022 bOnGround = True; 00023 PlaySound(ImpactSound); 00024 SetWall(HitNormal, Wall); 00025 DrawScale=DrawScale*1.4; 00026 GoToState('OnSurface'); 00027 } 00028 00029 function BeginState() 00030 { 00031 local Vector viewDir; 00032 00033 viewDir = vector(Rotation); 00034 Velocity = (Speed + (viewDir dot Instigator.Velocity)) * viewDir; 00035 Velocity.z += 120; 00036 RandSpin(100000); 00037 LoopAnim('Flying',0.4); 00038 bOnGround=False; 00039 PlaySound(SpawnSound); 00040 if( Region.zone.bWaterZone ) 00041 Velocity=Velocity*0.7; 00042 } 00043 } 00044 00045 state OnSurface 00046 { 00047 function BeginState() 00048 { 00049 wallTime = DrawScale*5+2; 00050 00051 if ( Mover(Base) != None ) 00052 { 00053 BaseOffset = VSize(Location - Base.Location); 00054 SetTimer(0.2, true); 00055 } 00056 else 00057 SetTimer(wallTime, false); 00058 } 00059 } 00060 00061 defaultproperties 00062 { 00063 speed=700.000000 00064 Damage=75.000000 00065 MomentumTransfer=30000 00066 RemoteRole=ROLE_DumbProxy 00067 LifeSpan=25.000000 00068 CollisionRadius=3.000000 00069 CollisionHeight=4.000000 00070 }