*~@+o0T-*L-I%+NoneBDFlameThrowerEngineCoreAdvancedEngineSystem DOTZEngineExplode StaticMesh WaterVolumeMeshInventoryType CreateFireActionPickupMessageLocalRandSpin M16StandIdleLandedPhysicsVolumeChangeM16Hit BeginPlayPostBeginPlayM16CrouchIdle BBParticlesM16FireUserSmallFireActor FireActorChildFireTypeFadingEmitterClassVector TrailEmitter BDSmallFireFlameEmitterClassbCanDamageSelfPawn HitAnimNameCrouchIdleAnimNameStandIdleAnimName FireAnimNamePawnAnimationPackageFlameTAmmoPickup IgnitionTime FadeRateFireBurnRadius OfficialName ItemNameFire DrawType bNoDeleteFlameTAmmunition HitSpreadbUnlitbFixedRotationDir ProcessTouch LifeSpanPickupMessageFullAmmoMessageAttachmentClass MyDamageTypeFlameTAttachment FlameTPickup DamageRadiusbRotateToDesiredAutoSwitchPriorityInventoryGroup AutoDestroy EmittersFlameTProjectile AmmoAmount DamagePerSec PickupClassMaxAmmoProjectileClass AmmoNamePickupAmmoCount ReloadCount FireOffsetSpeedMomentumTransfer FlameTTrailGrenadeAmmunitionClassDamage FlameTWeapon NewVolume HitNormalOther InstigatorOwnerValueDir spinRateSetStaticMeshDesiredRotationAdvancedWeapon bHardAttach RotationRateBasetemp ScriptTexti bSourceFadesbFadeWhenBaseDestroyedAdvancedProjectileAdvancedWeaponAttachmentExtinguishVolume BloodEmitter Location Rotation Velocity ProjectilePhysicsVolumeEmitter SkeletalMeshStaticReticuleSpriteEmitterActor NetBaseActorYaw FlameEmitterRollPitchDOTZGrenadeWeaponDOTZProjectileBaseDOTZGrenadePickup DOTZFireDOTZBulletDamageDOTZAmmunitionBaseDOTZAmmoPickupClassBBPFireSmallFade BBPFireSmallBBPMuzzleFlashBBPMolotovTrailSpriteEmitter17 DOTZItemsSmallMolotovFire PawnFirePackageTouch TextBufferObject FunctionunBurningMeshRotatorMyFireMyFire2randyrandxStruct GameplayStructPropertyClassPropertyObjectPropertyFloatProperty BoolProperty IntProperty HitLocation FlameTMesh BDFlameTA FlameThrower3PFlameThrower!12V+G"dH : * (C: ]9k}eb鉪ю鉪鉪 Hj Hj Hj Hj Hjeb M$DQ$B=$BN$@F4>6$?O@ 黻~&BYA0S3SR27w̝L9鉪L9鉪']DOTZAHumans.3PM16&%$#!2$ A,]Flame ThrowerIJ"K?"L:pA@F9-]Flame Thrower <2Mƽ8]Can't carry more CylindersP ]'&Press Action to take the FlameThrower 7]You got the FlameThrower ;~`)6 ).QOw w  '+Uȏя E"+"d*")"  99  ;Fd9?69?'6'9?69?'6'  ** "ta@69D9?,69D9?,69D9?, } //BD class FlameTWeapon extends DOTZGrenadeWeapon config(user); /** * A quick hack, since the default props don't seem to be sticking. */ function BeginPlay() { super.BeginPlay(); default.staticReticule = none; StaticReticule = none; } /***************************************************************** * Fire * Overridden so you can't use Molotov cocktails underwater ***************************************************************** */ simulated function Fire(float Value){ if ( class'ExtinguishVolume' != Instigator.PhysicsVolume.class && class'WaterVolume' != Instigator.PhysicsVolume.class){ super.Fire(Value); } } //=========================================================================== // DefaultProperties //=========================================================================== 00r a/!   a -(-', % %, 9D9?9?,9D9?9?, .class FlameTTrail extends BBPMuzzleFlash; K>// BD class FlameTProjectile extends DOTZProjectileBase; var class FireActor; var class SmallFireActor; var StaticMesh unBurningMesh; /***************************************************************** * PostBeginPlay * Give your newly spawned projectile a velocity ***************************************************************** */ function PostBeginPlay() { local vector Dir; //Give your projectile a velocity Dir = vector(Rotation); velocity = (speed * Dir) + owner.velocity; LocalRandSpin(12000); if (abs(RotationRate.Pitch)<10000){RotationRate.Pitch=10000;} if (abs(RotationRate.Roll)<10000) {RotationRate.Roll=10000;} Super.PostBeginPlay(); } /***************************************************************** * RandSpin ***************************************************************** */ function LocalRandSpin(float spinRate) { DesiredRotation = RotRand(); RotationRate.Yaw = spinRate * 2 *FRand() - spinRate; RotationRate.Pitch = spinRate * 2 *FRand() - spinRate; RotationRate.Roll = spinRate * 2 *FRand() - spinRate; } /***************************************************************** * Explode ***************************************************************** */ function Explode(vector hitLocation, vector hitnormal){ local Fire MyFire, MyFire2; local int i, randy, randx; if ( class'ExtinguishVolume' == PhysicsVolume.class || PhysicsVolume.IsA('WaterVolume')){ return; } super.Explode(hitlocation, hitnormal); MyFire = Spawn(FireActor,,,hitlocation); MyFire.bFadeWhenBaseDestroyed = false; MyFire.bSourceFades = true; MyFire.DamagePerSec = 12; MyFire.IgnitionTime = 0; //MyFire.ChildFireType = class'DOTZItems.LargeFire'; MyFire.CreateFire(); for (i=0;i<4;i++){ randy = Frand() * 500 - 250; randx = Frand() * 500 - 250; // MyFire2 = Spawn(SmallFireActor,,,hitlocation); // MyFire2.bFadeWhenBaseDestroyed = false; // MyFire2.FadeStep = 5; // MyFire2.IgnitionTime = 0; // MyFire2.DamagePerSec = 8; // MyFire2.bSourceFades = true; // MyFire2.ChildFireType = class'DOTZItems.MediumFire'; // MyFire2.bCollideWorld = true; //so you don't fall into //the world and screw yourself right up //MyFire2.Velocity.Z = 800; // MyFire2.Velocity.Y = randx; // MyFire2.Velocity.X = randy; //MyFire2.SetPhysics(PHYS_Falling); //MyFire2.CreateFire(); } } /***************************************************************** * Landed ***************************************************************** */ simulated function Landed( vector HitNormal ){ // local Fire MyFire; // Spawn(FireActor,,,hitlocation); Explode(Location, vect(0,0,1)); // super.Explode(hitlocation, hitnormal); // MyFire = Spawn(FireActor,,,hitnormal); } event PhysicsVolumeChange( PhysicsVolume NewVolume ){ local emitter temp; if ( class'ExtinguishVolume' == NewVolume || NewVolume.Isa('WaterVolume')){ SetStaticMesh(UnBurningMesh); } foreach basedactors(class'Emitter', temp){ temp.destroy(); } super.PhysicsVolumeChange( NewVolume); } /** */ function ProcessTouch(Actor Other, Vector HitLocation) { if (Other.IsA('Pawn') == true && Instigator != Pawn(Other)){ Explode(Location, vect(0,0,1)); Spawn(BloodEmitter,,,location); } Super.Touch(Other); // Spawn(FireActor,,,hitlocation);} // super.Explode(hitlocation, hitnormal); // MyFire = Spawn(FireActor,,,hitlocation); } //=========================================================================== // DefaultProperties //=========================================================================== B// BD class FlameTPickup extends DOTZGrenadePickup placeable; //=========================================================================== // DefaultProperties //=========================================================================== |// BD class FlameTAttachment extends AdvancedWeaponAttachment; //=========================================================================== // DefaultProperties //=========================================================================== x// BD class FlameTAmmunition extends DOTZAmmunitionBase; //=========================================================================== // DefaultProperties //=========================================================================== .MN>Q[? @lA'lC iSDb4H|E EDT b48IW b4V>AXb4MWQ db4Gqb4Cx&b4F{ /A#T p U}(ZRb4_ l 5ZK e(\ s R@