*D@YXJjV\ n@&v `YNoneEngineSystemCore UnrealSharebStaticWarTimermortarcannons MakeSoundMCActiveExplode DrawScaleTickbFixedRotationDirRotatorPhysics NetPriority DrawType bPushableTouchUnTouchCollisionRadiusAnimEndMC2PostBeginPlayrangeMC1MassAMC1AMC2Meshbe2TextureUnrealI RemoteRolefs2MortarCExplo Explosion RotationAllCollisionHeight BeginStatebCollideActorsLandedfb2sbebBlockPlayers bBlockActorsbCollideWorld MultiSkins bProjTargetSB ProcessTouchWTree1WTree3WTree2WTree7bCollideWhenPlacing explodedStyleDesiredRotationObjectPropertyClassProperty HurtRadius LocationbHighDetailModeDamageLightBrightness HitLocation HitNormal DeltaTimeOtherBase InstigatorS_ActorNetModeEffectsStructPropertyispeed VelocityMomentumTransfer EffectSound1SZFloatPropertySpriteSmokePuffBoulder FlameBallBallExplosionBigBlackSmokeSpriteBallExplosionTree10Tree11Tree5Tree7NormUpChunk2Chunk3Chunk4 FlakShellChunk1Proj BoolProperty IntProperty ByteProperty ScriptText LevelInfo Projectile DecorationLevelActorClassPackageStruct TextBuffer Starshipd_gls projcountpjObject FunctionStateStartVector/09|??@AB:A:CDEADACFGHFHIJKGJGFLMKLKJMLNMNONPQNQOPRSPSQSRTSTUTVWTWUVXYVYWXZ[X[YZ\]Z][\=^\^_\_]`EH`HG`GK`KM XVTtrrXTRtrtXRPtttXPNttxXNLtxzXLJtz|XJFt|~XFIt~~XIat~~Xa:t~|X:bt|xXbZtxtc`M cMO cOQ d89d9e_f^g?>g>h<i^jdejeklfmnopqghqhrqrstustsvowvovxyppxxUtwzquh{|jk|k}~ ~~rrhhj(&$ ($" (" (  ( (0 (0. (., (,*  srBFFsBFBs~BB>s~B>:sB:2sB22sB22sB22sxB2:sxvB:> |}} 42~~|4~|x~4~x~t4~tt4~tr4~rr4~rt}ttx}ktxzketz|e9t|~97t~~74t~~IHEIED*A+"_   &+/36;=BEHMOTX[`chkqs w   "%&*+-049>CHMRW]cglptx~    "&)+/13579<?CD GQTYZ]bejnrvxyz]]CCC?5CJ,| ==>+)*+,-./0123<*+,,-A -. A ./ /0 HI 0112233456789:;<4455667  !78 !"!"#89"#$#$%9:$%&%&':;&'('();<()*=>?>?@?@B@BCABCDCDEDEzEz{FGJKtuFFGGdH}~HI}IJKLMJKMLMLgNOQqrNPQhiNOghOrsPQSpqPRSijRSTopRTUjwxTUVWnoUWxyVXYmnVWYyXZlmXYZ[Z[\]kl[]\^_k\]_^`aklmnopqrstuv^_a`bcv`acbdefbcfde|ef|ghijwstuvwxyz{{|}~~]]CCC?5C\r=\r=t>r>N53PKI0"  a( ?/:˒%אH18> $@2a@@( % DG!{ܫJeH18 $@M_=D<?,% AC "64::$=D<?,% -.  Q6B"1G`:S$ Ya@@'a  #@@a<"@a  #?a<"@a #?a<"@ [a@@'a #@@a<"@a  #?a<"@a #?a<"@ 18B&Pb<:ʊw $;E$<F$?% ) Xa  #@@a<"@a  #?a<"@a #?a<"@ H'B*jo6<:ʊw L#B+ <:ʊw ! 86::$ a  $ <7ECwr.*   , )zC!=? ?,a  a  a !a  !a  !a  !a  !a V//============================================================================= // sbe. //============================================================================= class sbe expands SpriteBallExplosion; m //============================================================================= // MC2. //============================================================================= class MC2 expands MC1; var() float range; var int projcount; var int i; auto state active { function timer() { local projectile pj; local class proj; Spawn(class 'fs2',,, Location + CollisionHeight * vect(-1.5,-1,3), Rotation + rot(0,16384,0) ); spawn(class 'sbe',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); spawn(class 'spritesmokepuff',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); pj.speed = range; } } function Touch(actor Other) { setTimer(3.0,true); i=0; } function UnTouch(actor other) { setTimer(0.0,true); }  (7a@@'% 69" a' z //============================================================================= // MC1. //============================================================================= class MC1 expands Decoration; var() float range; var int projcount; var int i; auto state active { function timer() { local projectile pj; local class proj; Spawn(class 'flakshell',,, Location + CollisionHeight * vect(-1.5,-1,3), Rotation + rot(0,16384,0) ); spawn(class 'sbe',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); spawn(class 'spritesmokepuff',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); pj.speed = range; } } function Touch(actor Other) { setTimer(3.0,false); i=0; } function UnTouch(actor other) { setTimer(0.0,false); } /@//============================================================================= // fs2. //============================================================================= class fs2 expands FlakShell; simulated function PostBeginPlay() { Super.PostBeginPlay(); Velocity = Vector(Rotation) * Speed; Velocity.z += 200; if (Level.bHighDetailMode) SetTimer(0.05,True); else SetTimer(0.25,True); } function ProcessTouch (Actor Other, vector HitLocation) { if ((Other != instigator) && (FlakShell(Other) == none)) Explode(HitLocation,Normal(HitLocation-Other.Location)); } function Landed( vector HitNormal ) { Explode(Location,HitNormal); } simulated function Timer() { local sbe s; if (Level.NetMode!=NM_DedicatedServer) { s = Spawn(class'SBE'); s.RemoteRole = ROLE_None; } } function Explode(vector HitLocation, vector HitNormal) { local vector start; HurtRadius(damage, 250, 'exploded', MomentumTransfer, HitLocation); start = Location + 30 * HitNormal; Spawn( class'fb2',,,Start); Spawn( class 'be2',,,Start); Spawn( class 'bigblacksmoke',, '', Start); Spawn( class 'Chunk3',, '', Start); Spawn( class 'Chunk4',, '', Start); Spawn( class 'Chunk1',, '', Start); Spawn( class 'Chunk2',, '', Start); Destroy(); } Q96?,F-aL='Oa>' >&B=tƦjP<):  4$W8A+$sA?:H// Generated by MeshMaker (c) 2001 by Mychaeel class MortarC extends Decoration; #exec obj load file=..\Textures\Starship.utx package=Starship #exec mesh import mesh=MortarC anivfile=Models\MortarC_a.3d datafile=Models\MortarC_d.3d x=0 y=0 z=0 mlod=0 #exec mesh origin mesh=MortarC x=0 y=0 z=0 #exec mesh sequence mesh=MortarC seq=All startframe=0 numframes=1 #exec meshmap new meshmap=MortarC mesh=MortarC #exec meshmap scale meshmap=MortarC x=0.07639 y=0.07639 z=0.15279 [` //============================================================================= // fb2. //============================================================================= class fb2 expands FlameBall; var rotator NormUp; simulated function AnimEnd() { Destroy(); } auto state Explode { simulated function Tick( float DeltaTime ) { LightBrightness = Max( LightBrightness - 250*DeltaTime, 0 ); } function MakeSound() { PlaySound (EffectSound1); MakeNoise(1.0); } simulated function BeginState() { if ( Level.NetMode == NM_DedicatedServer ) Disable('Tick'); else PlayAnim( 'Explosion', 4 ); MakeSound(); } } @ a  ab? B,6!::$v!.a!(@  a //============================================================================= // be2. //============================================================================= class be2 expands BallExplosion; simulated function Tick( float DeltaTime ) { if ( Level.NetMode != NM_DedicatedServer ) LightBrightness = Max( LightBrightness - 250*DeltaTime, 0 ); } simulated function PostBeginPlay() { PlayAnim ( 'Explo', 3 ); MakeSound(); Super.PostBeginPlay(); } function MakeSound() { PlaySound (EffectSound1); MakeNoise ( 1.0 ); } simulated function AnimEnd() { Destroy(); } a!'@@  E ab? FQa [M //============================================================================= // AMC1. //============================================================================= class AMC1 expands MC1; var() float range; var int projcount; var int i; auto state active { function timer() { local projectile pj; local class proj; settimer(3.0,true); Spawn(class 'flakshell',,, Location + CollisionHeight * vect(-1.5,-1,3), Rotation + rot(0,16384,0) ); spawn(class 'sbe',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); spawn(class 'spritesmokepuff',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); pj.speed = range; } } JYC //============================================================================= // AMC2. //============================================================================= class AMC2 expands MC1; var() float range; var int projcount; var int i; auto state active { function timer() { local projectile pj; local class proj; settimer(3.0,true); Spawn(class 'fs2',,, Location + CollisionHeight * vect(-1.5,-1,3), Rotation + rot(0,16384,0) ); spawn(class 'sbe',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); spawn(class 'spritesmokepuff',,, Location + CollisionHeight * vect(-1.5,-1,1.5), Rotation + rot(0,16384,0) ); pj.speed = range; } } OH//============================================================================= // SB. //============================================================================= class SB expands Boulder; S8BRk]&+SO//============================================================================= // WTree1. //============================================================================= class WTree1 expands Tree11; U:BTTcSN//============================================================================= // WTree2. //============================================================================= class WTree2 expands Tree5; W9BV# ǡ4SO//============================================================================= // WTree3. //============================================================================= class WTree3 expands Tree10; Y;BXXkVCSN//============================================================================= // WTree7. //============================================================================= class WTree7 expands Tree7; ttsrts{s|ssPCsot#svP)X+sgs@snsks[s\sXsPuspXRs}sAsY} @qlFlNsas_|sZs^s`PSsO@Usb|XEl$XW|u||jD"M|B||| |s]|| |,kTs | shsdsesf|7||.@LtwtK"x.~ v0$\C$]_-J |  )I!pr!%$zb$-G \&,V i&Q v&.G B' O'&]['&Q x+ D)z Q& ^$zj%zx.H F* S$`!H D/$hQ(y!$gazH I VI b/n +]@H.#H6$]k+ )H#yq'yj$pc* )S& )|(pe$_U$`t@T7ET EY04a^J 4x LJ D&y Qy ])ii&(w6J _&$l8J P4E ]%4KbRm&$R=m4SQ/4k dc O\ ({,Ac!4l d+P ){d4X C*y [*Q h%it4N BiP+y ^+Q k$iw64SE8$[X84Zs:$[M:4Yh9$[A94Z\;$[v;4YQ