Advertisement
Guest User

sfas

a guest
Feb 23rd, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. function SWEP:PrimaryAttack()
  2. if ( !self:CanPrimaryAttack() ) then return end
  3.  
  4. if ( !SERVER ) then return end
  5.  
  6. local tr = util.TraceLine( {
  7. start = self.Owner:GetShootPos(),
  8. endpos = self.Owner:GetShootPos() + self.Owner:GetAimVector() * 99999999,
  9. filter = self.Owner
  10. } )
  11.  
  12. local ent = tr.Entity
  13.  
  14. if ( IsValid( ent ) && ( ent:IsPlayer() or ent:IsNPC() ) ) then
  15. self.HealAmount = math.random(30,100)
  16.  
  17.  
  18. if self.Owner:KeyDown(IN_USE) then
  19. if ent:Health() <= 1 then
  20. return false
  21. else
  22. self.Owner:EmitSound( self.Primary.Sound )
  23. self.Owner:EmitSound( self.Secondary.Sound )
  24. ent:SetHealth( ent:Health() - self.HurtAmount )
  25. self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
  26. self.Weapon:SetNextSecondaryFire( CurTime() + self.Primary.Delay )
  27. self:SendWeaponAnim( ACT_VM_PRIMARYATTACK )
  28. self.Owner:SetAnimation( PLAYER_ATTACK1 )
  29. if ent:Health() <= 1 then ent:SetHealth( self.MinAmount ) end
  30. end
  31. else
  32. self.Owner:EmitSound( self.Primary.Sound )
  33. self.Owner:EmitSound( self.Secondary.Sound )
  34. ent:SetHealth( math.min( ent:GetMaxHealth(), ent:Health() + self.HealAmount ) )
  35. self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
  36. self.Weapon:SetNextSecondaryFire( CurTime() + self.Primary.Delay )
  37. self:SendWeaponAnim( ACT_VM_PRIMARYATTACK )
  38. self.Owner:SetAnimation( PLAYER_ATTACK1 )
  39. end
  40. timer.Simple( self:SequenceDuration(), function() if ( !IsValid( self ) ) then return end self:SendWeaponAnim( ACT_VM_IDLE ) end )
  41.  
  42. end
  43.  
  44. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement