Áƒ*žD>@M&C¨Á÷8öBÚ´NZtŁŠ>Noneinsane insanetable resetphysBeginPostBeginPlaySystemCoreEngineUnrealIFragbTravel SoundPitch SoundRadius GoNutsTime TakeDamage SoundVolumeAnimate ProjectileTouchClass TextBufferObjectVectorActor DecorationPackageState FunctionYaw NamePropertyObjectPropertyRotatorStructStructProperty UnrealSharePawn RotationRateSound AmbientSoundHealthZ Momentum HitLocationOther Instigator instigatedBy bBobbing VelocitybMoving DamageType FragChunks FragsizeWoodFragmentsNDamageflakTableHit5FloatProperty BoolProperty IntPropertyCounter€ƒ€‡€Ÿ€˘5a-^a/!çI was just touchedL´?%ÍĚĚ=,q!^çNot allowing the object to react to shot †:}//============================================================================= // insanetable. //============================================================================= class insanetable expands Table; var() float gonutstime; var int counter; var bool bMoving; function PostBeginPlay() { SetPhysics(phys_projectile); } Auto State Animate { function TakeDamage( int NDamage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { if (!Bmoving) { log("I was just shot"); counter = 4; if (gonutstime == 0) gonutstime = 0.1; gotostate('insane'); } else if (BMoving) { log("I am not allowing my velocity to change upon being shot"); } Instigator = InstigatedBy; if (Health<0) Return; if ( Instigator != None ) MakeNoise(1.0); bBobbing = false; Health -= NDamage; if (Health <0) Frag(Class'WoodFragments',Momentum,FragSize,FragChunks); else { } } } function touch(actor Other) { if (!Bmoving) { if (other.IsA('projectile')) { log("I was just touched"); if (gonutstime == 0) gonutstime = 0.1; counter = 4; gotostate('insane'); } else { } } else { log("Not allowing the object to react to shot"); } } function resetphys() { if (counter > 0) { if (velocity.z > 0) { log("I am going down"); velocity.z = -1000; rotationrate.yaw = 9000; } else if (velocity.z <= 0) { log("I am going up"); velocity.z = 1000; rotationrate.yaw = 9000; } counter--; } else if (counter <= 0) { log("I am stopping"); velocity.z = 0; rotationrate.yaw = 0; } } state insane { Begin: resetphys(); if (Velocity.z != 0) BMoving = True; ambientsound = Sound'UnrealI.flak.Hit5'; sleep(gonutstime); if (counter > 0) goto('begin'); else if (counter <= 0) { log("I am finished"); velocity.z = 0; Bmoving = False; ambientsound = none; } } ĄęôG-çI was just shot,=´?%ÍĚĚ=q!‹‹-çI am not allowing my velocity to change upon being shot”Ł–Œ% św”*b€?-›(˘Œň–Œ% Ł¤ň  eŽ”ľ6ˆ‰?%-'‘ ŚaF—% !˜%çI am finished6ˆ‰-(‘* ˙˙˙˙˙˙˙˙˙˙„K-Řž—%Rą6ˆ‰?%çI am going down6ˆ‰zÄ6‹(#””˛6ˆ‰?%çI am going up6ˆ‰zD6‹(#ŚÖ֘%çI am stopping6ˆ‰6‹% † ˙˙˙˙˙˙˙˙Bš˙˙˙˙˙˙˙˙˙˙ Qľ89†ÚX҃zx2› „$ÍĚĚ= Ó 3˙ s€‡• 1Ţ˙˙˙˙˙˙˙˙˙˙€– 4o‚$ ţ˙˙˙˙˙˙˙ ű˙˙˙8!ü˙˙˙:ů˙˙˙)"ý˙˙˙0˙˙˙˙<ň˙˙˙<ú˙˙˙("ý˙˙˙%!ü˙˙˙ ˙˙˙˙˙˙˙˙<ý˙˙˙'˙˙˙˙˙˙˙˙"ý˙˙˙-ú˙˙˙ý˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙;˙˙˙˙;â˙˙˙/#ä˙˙˙5ţ˙˙˙ţ˙˙˙$˙˙˙˙:ë˙˙˙ý˙˙˙:ú˙˙˙4<ú˙˙˙3ű˙˙˙7&Ű˙˙˙9 = f™ 1 r   ~’, J“ * W’ . d 6 qŠ˘ S}—4HPŠĄTX1 Ll4Š xx6†$qp9“ + a;• )n;š 2 W<Š–  c<