*~@"$>"PjB~}0"NoneEngineAdvancedEngineCore BDChainsawV1 DOTZEngineSystem DrawTypeMeshActionPickupMessageSpawnProjectileEx StaticMeshInventoryTypeHitWallChainsawAmmoPickupChainsawAmmunitionPostBeginPlayChainsawAttachment sprayrangeChainsawPickupUserVectorAccuracyIndicatoriMinInaccuracy HitAnimNameCrouchIdleAnimNameChainsawProjectileChainsawWeaponStandIdleAnimNamePawn FireAnimName wallemitter WeaponType BloodEmitter TakeDamage'ChainsawStandIdle AimedOffset OfficialNameDrawTraceEffectChainsawCrouchIdle ChainsawFireDamageMomentumTransfer ItemName ChainsawHitGetViewRotationSpeed GetFireStart DrawScale LifeSpanPickupMessageMaxDesireabilityAttachmentClass MyDamageTypeProjectileFire DamageRadius ReloadCountTossZAutoSwitchPriorityInventoryGroupPickupAmmoCountPawnAnimationPackage AmmoAmount AmmoName PickupClassMaxAmmoProjectileClass FireSound HitActor aimerror AmmoType Acceleration AdjustedAim AdjustAimWallDirStart HitLocation ScriptText HitNormal InstigatorOwnerXYAdvancedWeaponAdvancedAmmunitionZi Location RotationAdvancedWeaponAttachment VelocityWeapon Projectile InfinitebUnderBotControlnewProjOwnedBy AmmunitionEmitter SkeletalMeshActorYawRollPitchSoundDOTZGunWeaponDOTZWeaponPickupDOTZSharpImpactDamageDOTZProjectileBaseDOTZAmmunitionBaseDOTZAmmoPickupBBPImpactFlesh BBParticlesClassnewDir BDCSEffectBBPChainsawImpactPackage TextBufferObject FunctionRotatorStructStructPropertyClassPropertyDA_Chainsaw_MGascan chainsound chainfireDA_Chainsaw_AObjectPropertyFloatProperty BoolProperty IntProperty 3PChainsawBDA_ChainsawAnim   2]Լ+lJlJeblJeb"B"dC62BЄebL9L9ebi>]DA_Chainsaw_A.3PChainsaw)$(-$?%:@&] Chainsaw@="292;"<A5,] Chainsaw!PYt)6D  "FGK}eb!/$zC:$@*$B8$HB+$@F2$>1$?2h٘< # ]#"Press Action to take the Chainsaw4$@? 3]You got the Chainsaw E// BD class ChainsawPickup extends DOTZWeaponPickup placeable; //=========================================================================== // DefaultProperties //=========================================================================== 7yb? . 0  9D'#a 9?,d'w*w.*",2 9?,d*.  |// Copyright (C) 2005 Brainbox Games. All Rights Reserved. // September 27, 2005 /** * ShotgunProjectile - * * @version $1.0$ * @author Jesse (Jesse@digitalextremes.com) * @date Nov 2003 */ class ChainsawProjectile extends DOTZProjectileBase; var class wallemitter; /***************************************************************** * PostBeginPlay * Give your newly spawned projectile a velocity ***************************************************************** */ function PostBeginPlay() { local vector Dir; //Give your projectile a velocity Dir = vector(Rotation); velocity += speed * Dir; Super.PostBeginPlay(); } /***************************************************************** * Landed ***************************************************************** */ simulated function HitWall(vector HitNormal, actor Wall){ // HitWall( HitNormal, None ); if (Wall.IsA('Pawn') != true && Instigator != Pawn(Wall)){ Spawn(WallEmitter,,,location); } else{ HitWall( HitNormal, None ); } } //=========================================================================== // DefaultProperties //=========================================================================== k// Copyright (C) 2005 Brainbox Games. All Rights Reserved. // September 27, 2005 /***************************************************************** * ShotGunAmmunition - * * @version 1.0 * @author Jesse (jesse@digitalextremes.com) * @date Jan 2004 ***************************************************************** */ class ChainsawAmmunition extends DOTZAmmunitionBase; var int sprayrange; function SpawnProjectileEx(vector Start, rotator Dir, Actor OwnedBy){ local Projectile newProj; local int i; local rotator newDir; if (infinite == false){ // AmmoAmount -= 1; } newDir.Roll = 0; for (i = 0; i < 15; i++){ //bots do less spray than the user, so they don't kill you as much if (bUnderBotControl){ newDir.Pitch = Dir.Pitch + sprayrange/2 * (Frand() - 0.5); newDir.Yaw = Dir.Yaw + sprayrange/2 * (Frand() - 0.5); } else { newDir.Pitch = Dir.Pitch + sprayrange * (Frand() - 0.5); newDir.Yaw = Dir.Yaw + sprayrange * (Frand() - 0.5); } newProj = Spawn(ProjectileClass,,,Start, newDir); newProj.Instigator = Pawn(OwnedBy); if (newProj != none){ newProj.Velocity += OwnedBy.Velocity; newProj.Acceleration += OwnedBy.Acceleration; } } } //=========================================================================== // DefaultProperties //=========================================================================== e// Braindead@undeadgames.com class ChainsawWeapon extends DOTZGunWeapon config(user); /***************************************************************** * ***************************************************************** */ function ProjectileFire(){ local Vector Start, X,Y,Z; local Actor HitActor; local vector HitLocation, HitNormal; Owner.MakeNoise(1.0); GetAxes(Instigator.GetViewRotation(),X,Y,Z); Start = GetFireStart(X,Y,Z); AdjustedAim = Instigator.AdjustAim(AmmoType, Start, AimError); //added some effects nonsense here DrawTraceEffect(vect(0,0,0)); //special case (if the guy is right in front of you!) // CARROT //HitActor = Trace(HitLocation,HitNormal,Start*10, Start,true); HitActor = Trace(HitLocation,HitNormal,Start + X * 100, Start,true); if (HitActor !=None && Pawn(HitActor) != None){ HitActor.TakeDamage(50,instigator,HitLocation,X*100,none); } AdvancedAmmunition(AmmoType).SpawnProjectileEx(Start,AdjustedAim, instigator); } //=========================================================================== // DefaultProperties //===========================================================================  6y -(6% %w ,-69D9?69?,?69D9?69?,?69D9?69??69D9?69??a .mw*       [( 99  >//BD class ChainsawAmmoPickup extends DOTZAmmoPickup;  #M? a/!'w. a K * S// Braindead@UndeadGames.com class ChainsawAttachment extends AdvancedWeaponAttachment; //=========================================================================== // DefaultProperties //=========================================================================== 2";IռW ]"!Press Action to pick up Gasoline?"2  wwsysf|{ws}|wsssxsDQs^s]sVsDGiGgsz}\sosGslsp}HskzwCs[wDG}Isnz EFsUzJE/z z7F`F_~CwrDR}Zsm}YGhscsqwusvsd @ wAjBs~eHeIt w$M D%a Q% ^%E j%S w%L D&b Q&X ^&N j& K w&L D'W Q'T ^'[k'M F*S*P a*Bn*`p. P P0V]0ks2O4P^57An9O4Go<O4vvPO4plh O\|0k"O4H[ LcO4^oNM