Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. local Spell = { }
  2. Spell.LearnTime = 60
  3. Spell.ApplyFireDelay = 0.6
  4. Spell.Category = HpwRewrite.CategoryNames.Special
  5. Spell.Description = [[
  6. Makes your legs move with
  7. abnormal speed.
  8. ]]
  9.  
  10. Spell.ForceAnim = { ACT_VM_PRIMARYATTACK_5 }
  11. Spell.DoSelfCastAnim = false
  12. Spell.NodeOffset = Vector(245, -714, 0)
  13. Spell.ShouldReverseSelfCast = true
  14.  
  15. function Spell:OnFire(wand)
  16. local ent = wand:HPWGetAimEntity(250)
  17.  
  18. if IsValid(ent) then
  19. if ent:IsPlayer() then
  20. if (ent:Team() == FACTION_NINJA) then
  21. local name = "hpwrewrite_walkspeeden_handler" .. ent:EntIndex()
  22. if hook.GetTable()["Think"][name] then return end
  23. local oldspeed = ent:GetRunSpeed()
  24. local newspeed = oldspeed * 4
  25. local speed = oldspeed
  26. local inverse = false
  27.  
  28. hook.Add("Think", name, function()
  29. if not IsValid(ent) then
  30. hook.Remove("Think", name)
  31.  
  32. return
  33. end
  34.  
  35. ent:ConCommand("+forward")
  36. ent:ConCommand("+speed")
  37. ent:ConCommand("-back")
  38.  
  39. if inverse then
  40. speed = math.Approach(speed, oldspeed, FrameTime() * 200)
  41.  
  42. if speed <= oldspeed then
  43. hook.Remove("Think", name)
  44. ent:ConCommand("-forward")
  45. ent:ConCommand("-speed")
  46. end
  47. else
  48. speed = math.Approach(speed, newspeed, FrameTime() * 300)
  49.  
  50. if speed >= newspeed then
  51. inverse = true
  52. end
  53. end
  54.  
  55. ent:SetRunSpeed(speed)
  56.  
  57. if (ent():Team() ~= FACTION_NINJA) then
  58. ent:notify("Not the right class!")
  59. end
  60. end)
  61. end
  62. end
  63. end
  64. end
  65.  
  66.  
  67. HpwRewrite:AddSpell("Walkspeeden", Spell)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement