carlosname

Untitled

Apr 9th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86. local h,t
  87. --Give the server mouse data every second frame, but only if the values changed
  88. --If player is not moving their mouse, client won't fire events
  89. local HB = game:GetService("RunService").Heartbeat
  90. while true do
  91. if h~=Mouse.Hit or t~=Mouse.Target then
  92. h,t=Mouse.Hit,Mouse.Target
  93. Event:FireServer({isMouse=true,Target=t,Hit=h})
  94. end
  95. --Wait 2 frames
  96. for i=1,2 do
  97. HB:Wait()
  98. end
  99. end]==],script)
  100.  
  101. ----Sandboxed game object that allows the usage of client-side methods and services
  102. --Real game object
  103. local RealGame = game
  104.  
  105. --Metatable for fake service
  106. local FakeService_Metatable = {
  107. __index = function(self,k)
  108. local s = rawget(self,"_RealService")
  109. if s then
  110. return typeof(s[k])=="function"
  111. and function(_,...)return s[k](s,...)end or s[k]
  112. end
  113. end,
  114. __newindex = function(self,k,v)
  115. local s = rawget(self,"_RealService")
  116. if s then s[k]=v end
  117. end
  118. }
  119. local function FakeService(t,RealService)
  120. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  121. return setmetatable(t,FakeService_Metatable)
  122. end
  123.  
  124. --Fake game object
  125. local FakeGame = {
  126. GetService = function(self,s)
  127. return rawget(self,s) or RealGame:GetService(s)
  128. end,
  129. Players = FakeService({
  130. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  131. },"Players"),
  132. UserInputService = FakeService(UIS,"UserInputService"),
  133. ContextActionService = FakeService(CAS,"ContextActionService"),
  134. RunService = FakeService({
  135. _btrs = {},
  136. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  137. BindToRenderStep = function(self,name,_,fun)
  138. self._btrs[name] = self.Heartbeat:Connect(fun)
  139. end,
  140. UnbindFromRenderStep = function(self,name)
  141. self._btrs[name]:Disconnect()
  142. end,
  143. },"RunService")
  144. }
  145. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  146. FakeGame.service = FakeGame.GetService
  147. FakeService(FakeGame,game)
  148. --Changing owner to fake player object to support owner:GetMouse()
  149. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  150. end
  151.  
  152. -- Script Made By Huge_Nazo
  153. -- Converted By Huge_Nazo
  154. -- Help from, turbozester55, GeoMaster, and Vediiz
  155. -- If you stole or logged me or plan to use this without hugenazo's consent, please just say that hugenazo at least made this so they can know that im cool guy
  156.  
  157. --[[
  158. __ __ .__
  159. / \ / \_____ ______________|__| ___________
  160. \ \/\/ /\__ \\_ __ \_ __ \ |/ _ \_ __ \
  161. \ / / __ \| | \/| | \/ ( <_> ) | \/
  162. \__/\ / (____ /__| |__| |__|\____/|__|
  163. \/ \/
  164.  
  165. ___. .__
  166. \_ |__ ___.__. | |__ __ __ ____ ____ ____ _____ ____________
  167. | __ < | | | | \| | \/ ___\_/ __ \ / \\__ \ \___ / _ \
  168. | \_\ \___ | | Y \ | / /_/ > ___/| | \/ __ \_/ ( <_> )
  169. |___ / ____| |___| /____/\___ / \___ >___| (____ /_____ \____/
  170. \/\/ \/ /_____/ \/ \/ \/ \/
  171.  
  172. --]]
  173. -- this script is also pretty edibale and stuff and pretty simple but
  174. -- still though just rember its made by hugenazo
  175. local plr = game.Players.LocalPlayer; repeat wait() until plr.Character
  176. local char = plr.Character
  177. local hume = char:WaitForChild("Humanoid")
  178. local animS = char:WaitForChild("Animate")
  179. local mouse = plr:GetMouse()
  180. --
  181. local head = char:WaitForChild("Head")
  182. local tors = char:WaitForChild("Torso")
  183. local rarm = char:WaitForChild("Right Arm")
  184. local larm = char:WaitForChild("Left Arm")
  185. local rleg = char:WaitForChild("Right Leg")
  186. local lleg = char:WaitForChild("Left Leg")
  187. local hrp = char:WaitForChild("HumanoidRootPart")
  188. --
  189. local hw = tors:WaitForChild("Neck")
  190. local tw = hrp:WaitForChild("RootJoint")
  191. local raw = tors:WaitForChild("Right Shoulder")
  192. local law = tors:WaitForChild("Left Shoulder")
  193. local rlw = tors:WaitForChild("Right Hip")
  194. local llw = tors:WaitForChild("Left Hip")
  195.  
  196. -- Globals --
  197.  
  198. local i_n = Instance.new
  199. local v3 = Vector3.new
  200. local cfn = CFrame.new
  201. local cfa = CFrame.Angles
  202. local cfe = CFrame.fromEulerAnglesXYZ
  203. local bcn = BrickColor.new
  204. local c3 = Color3.new
  205. local ud2 = UDim2.new
  206.  
  207. function newC3(r, g, b)
  208. return c3(r/255, g/255, b/255)
  209. end
  210.  
  211. function newPart(p, name, x, y, z, col, trans, ref, anc, cc, prnt)
  212. local part = i_n("Part", p)
  213. part.Name = name
  214. part.Size = v3(x, y, z)
  215. part.BrickColor = col
  216. part.Transparency = trans
  217. part.Reflectance = ref
  218. part.Anchored = anc
  219. part.CanCollide = cc
  220. part.Parent = prnt
  221. return part
  222. end
  223.  
  224. function newWeld(a, b, c0, c1)
  225. local w = i_n("ManualWeld", a)
  226. w.Part0 = a; w.Part1 = b
  227. if c0 then w.C0 = c0 end
  228. if c1 then w.C1 = c1 end
  229. return w
  230. end
  231.  
  232. function newAnim(id)
  233. local anim = i_n("Animation")
  234. anim.AnimationId = "http://www.roblox.com/asset/?id="..id
  235. anim = hume:LoadAnimation(anim)
  236. return anim
  237. end
  238.  
  239. function newSound(id, p, vol, pit, loop, por)
  240. local s = i_n("Sound", p)
  241. s.SoundId = "rbxassetid://"..id
  242. s.Volume = vol; s.Pitch = pit
  243. s.Looped = loop; s.PlayOnRemove = por
  244. return s
  245. end
  246.  
  247. -- Global Variables --
  248. local ogdefWS = 16
  249. local defWS = 16
  250. local bdmg = 20
  251. local combostep = 1
  252. local combowait = 2
  253. local combotime = tick()
  254.  
  255. local equipped = false
  256. local active = false
  257. local running = false
  258. local jumping = false
  259. local lwoverride = false
  260. local softoverride = false
  261. local wsoverride = false
  262.  
  263. local pausedanims = {}
  264. local bAttacks = {}
  265. local bAbilities = {}
  266. local abilities = {
  267. {["name"] = "Guard",
  268. ["cd"] = 6,
  269. ["ccd"] = 0,
  270. ["key"] = "E",
  271. ["ready"] = true,
  272. },
  273. {["name"] = "Upper-cutter",
  274. ["cd"] = 12,
  275. ["ccd"] = 0,
  276. ["key"] = "Z",
  277. ["ready"] = true,
  278. },
  279. {["name"] = "Bash",
  280. ["cd"] = 7,
  281. ["ccd"] = 0,
  282. ["key"] = "X",
  283. ["ready"] = true,
  284. },
  285. {["name"] = "Enrage",
  286. ["cd"] = 17,
  287. ["ccd"] = 0,
  288. ["key"] = "C",
  289. ["ready"] = true,
  290. },
  291. {["name"] = "Piercing Lunge",
  292. ["cd"] = 35,
  293. ["ccd"] = 0,
  294. ["key"] = "V",
  295. ["ready"] = true,
  296. }
  297. }
  298.  
  299. ----- Instances ------
  300. local bdmg = i_n("NumberValue", script);bdmg.Value = 10
  301. local atkspd = i_n("NumberValue", script);atkspd.Value = 1
  302. local atkrange = i_n("NumberValue", script);atkrange.Value = 3
  303. local critc = i_n("NumberValue", script);critc.Value = 25
  304. local cancastab = i_n("BoolValue", script);cancastab.Name = "CanCastAbilities";cancastab.Value = true
  305. local rage = Instance.new("ParticleEmitter", script)
  306. rage.Name = "rage"
  307. rage.Rate = (60)
  308. rage.Speed = NumberRange.new(0,0)
  309. rage.VelocitySpread = (0)
  310. rage.Transparency = NumberSequence.new(1,.2)
  311. rage.LightEmission = (1)
  312. rage.Acceleration = v3(0,50,0)
  313. rage.Lifetime = NumberRange.new(.145,.145)
  314. rage.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,4),NumberSequenceKeypoint.new(1,5)})
  315. rage.Texture = "rbxassetid://347730682"
  316. rage.Rotation = NumberRange.new(-15,15)
  317. rage.RotSpeed = NumberRange.new(-25,25)
  318. local color1 = Color3.new(1,0.3,0.015)
  319. local color2 = Color3.new(1,0,0)
  320. rage.Color = ColorSequence.new(color1,color2)
  321. rage.Enabled = false
  322.  
  323. local ragelight = i_n("PointLight", script)
  324. ragelight.Name = "ragelight"
  325. ragelight.Color = c3(1,.02,0)
  326. ragelight.Brightness = 2
  327. ragelight.Range = 8
  328. ragelight.Shadows = true
  329. ragelight.Enabled = false
  330.  
  331. local Electricity = Instance.new("ParticleEmitter", script)
  332. Electricity.Name = "Electricity"
  333. Electricity.Rate = (80)
  334. Electricity.Speed = NumberRange.new(0,0)
  335. Electricity.VelocitySpread = (0)
  336. Electricity.Transparency = NumberSequence.new(0,0)
  337. Electricity.LightEmission = (1)
  338. Electricity.Lifetime = NumberRange.new(0.075,0.075)
  339. Electricity.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,1.15)})
  340. Electricity.Texture = "rbxassetid://347730682"
  341. Electricity.Rotation = NumberRange.new(-360,360)
  342. Electricity.RotSpeed = NumberRange.new(-25,25)
  343. local color1 = Color3.new(1,.8,0.1)
  344. local color2 = Color3.new(1,.8,0.1)
  345. Electricity.Color = ColorSequence.new(color1,color2)
  346. Electricity.Enabled = false
  347.  
  348. local dfunc = {
  349. function(hitHumanoid, damage, owner, crit)
  350. if hitHumanoid == owner then return end
  351. local debris = game:GetService("Debris")
  352. local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=hitHumanoid.Parent.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
  353. local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
  354. local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
  355.  
  356. -- ========================================================================================
  357. if damage <= -1 then -- player is being healed
  358. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
  359. t.Text = "+"..( math.abs( math.floor((damage))).."")
  360. t.TextColor3=BrickColor.new("Lime green").Color
  361. t.TextStrokeColor3=BrickColor.new("Really black").Color
  362. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  363. s.SoundId="rbxassetid://535405197"
  364. s.Volume = 1
  365. s.Pitch = 1.15
  366. s:Play()
  367. hitHumanoid:TakeDamage(damage)
  368. debris:AddItem(s,1)
  369. debris:AddItem(p,1.45)
  370. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  371. -- ========================================================================================
  372.  
  373. -- ========================================================================================
  374. elseif hitHumanoid.Parent:FindFirstChild("ForceField") ~= nil or hitHumanoid.Parent:FindFirstChild("Blocking") then -- player is blocking attack or has forcefield
  375. t:TweenPosition(UDim2.new(0,0,-0.1,0),'Out','Sine',2)
  376. t.Text = "Blocked!"
  377. t.TextColor3=BrickColor.new("Really blue").Color
  378. t.TextStrokeColor3=BrickColor.new("Really black").Color
  379. g.Size=UDim2.new(25,0,25,0)
  380. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  381. s.SoundId="rbxassetid://135436314"
  382. s.Volume = 0.25
  383. s.Pitch = 0.825
  384. s:Play()
  385. debris:AddItem(s,1)
  386. debris:AddItem(p,.95)
  387. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  388. -- ========================================================================================
  389.  
  390. -- ========================================================================================
  391. elseif damage <= 0 or hitHumanoid.Parent:FindFirstChild("Dodging") then -- player takes 0 damage therefore dodging the attack
  392. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
  393. t.Text = "Dodge!"
  394. t.TextColor3=BrickColor.new("Ghost grey").Color
  395. t.TextStrokeColor3=BrickColor.new("Really black").Color
  396. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  397. s.SoundId="rbxasset://sounds/swoosh.wav"
  398. s.Volume = 1
  399. s.Pitch = 2
  400. s:Play()
  401. debris:AddItem(s,1)
  402. debris:AddItem(p,.85)
  403. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  404. -- ========================================================================================
  405.  
  406. -- ========================================================================================
  407. elseif crit then -- player dealt critical strike
  408. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
  409. t.Text = "-"..( math.abs( math.floor((damage))).."!")
  410. t.TextColor3=BrickColor.new("Deep orange").Color
  411. t.TextStrokeColor3=BrickColor.new("Maroon").Color
  412. t.ZIndex=3
  413. local a=Instance.new("ImageLabel", t)
  414. a.Size = UDim2.new(1,0,1,0)
  415. a.BackgroundTransparency = 1
  416. a.Image = "rbxassetid://649624738"
  417. a.ImageColor3 = BrickColor.new("Deep orange").Color
  418. a.ZIndex=2
  419. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  420. s.SoundId="rbxassetid://488886309"
  421. s.Volume = 1
  422. s.Pitch = 2.35
  423. s:Play()
  424. hitHumanoid:TakeDamage(damage)
  425. debris:AddItem(s,1)
  426. debris:AddItem(p,.85)
  427. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;a.ImageTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  428. -- ========================================================================================
  429.  
  430. -- ========================================================================================
  431. elseif hitHumanoid.Parent:FindFirstChild("ArmorBroken") then -- player dealt more damage to this unit (double damage)
  432. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
  433. t.Text = "-"..( math.abs( math.floor((damage*2))).."!")
  434. t.TextColor3=BrickColor.new("Royal purple").Color
  435. t.TextStrokeColor3=BrickColor.new("Really black").Color
  436. t.ZIndex=2
  437. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  438. s.SoundId="rbxassetid://488886309"
  439. s.Volume = 1
  440. s.Pitch = 2
  441. s:Play()
  442. hitHumanoid:TakeDamage(damage*2)
  443. debris:AddItem(s,1)
  444. debris:AddItem(p,.85)
  445. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  446. -- ========================================================================================
  447.  
  448. -- ========================================================================================
  449. elseif hitHumanoid.Parent:FindFirstChild("GuardUp") then -- player is taking less damage (gets dealt less)
  450. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
  451. t.Text = "-"..( math.abs( math.floor((damage/2))).."")
  452. t.TextColor3=BrickColor.new("Bright blue").Color
  453. t.TextStrokeColor3=BrickColor.new("Really black").Color
  454. t.ZIndex=2
  455. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  456. s.SoundId="rbxassetid://199149338"
  457. s.Volume = 1
  458. s.Pitch = 1.1
  459. s:Play()
  460. hitHumanoid:TakeDamage(damage/2)
  461. debris:AddItem(s,1)
  462. debris:AddItem(p,.85)
  463. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  464. -- ========================================================================================
  465.  
  466. -- ========================================================================================
  467. elseif damage >= (hitHumanoid.MaxHealth * .25) then -- player dealt high amount of damage
  468. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1)
  469. t.Text = "-"..( math.abs( math.floor((damage))).." !")
  470. t.TextColor3=BrickColor.new("Really red").Color
  471. t.TextStrokeColor3=BrickColor.new("Really black").Color
  472. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  473. s.SoundId="rbxassetid://199149137"
  474. s.Volume = 0.5
  475. s.Pitch = 1.25
  476. s:Play()
  477. hitHumanoid:TakeDamage(damage)
  478. debris:AddItem(s,1)
  479. debris:AddItem(p,1)
  480. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  481. -- ========================================================================================
  482.  
  483. -- ========================================================================================
  484. else -- player takes normal damage
  485. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
  486. t.Text = "-"..( math.abs( math.floor((damage))))
  487. t.TextColor3=BrickColor.new("Bright yellow").Color
  488. t.TextStrokeColor3=BrickColor.new("Really black").Color
  489. local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
  490. s.SoundId="rbxassetid://199149137"
  491. s.Volume = 0.5
  492. s.Pitch = 1
  493. s:Play()
  494. hitHumanoid:TakeDamage(damage)
  495. debris:AddItem(s,1)
  496. debris:AddItem(p,.95)
  497. spawn(function()for i = 0,1,.2 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  498. end
  499. end
  500. }
  501.  
  502. local weapon = i_n("Model", char);weapon.Name = "Weapon"
  503.  
  504. local handl = newPart(i_n("Part"),"Handle",0.51, 1.36, 0.51,BrickColor.new("Brown"), 0, 0, false, false, weapon)
  505. local newmesh = i_n("CylinderMesh",handl)
  506. handl.CFrame = cfn(-4.4, 1.02, 4.4)
  507.  
  508. local pommel = newPart(i_n("Part"),"Pommel",0.34, 0.34, 0.51,BrickColor.new("Gold"), 0, 0, false, false, weapon)
  509. local newmesh = i_n("SpecialMesh",pommel);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
  510. pommel.CFrame = cfn(-4.4, 0.17, 4.4)
  511. pommel.Rotation = v3(180, 90, 0)
  512.  
  513. local bladetip = newPart(i_n("Part"),"BladeTip",0.2, 0.2, 0.85,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
  514. local newmesh = i_n("SpecialMesh",bladetip);newmesh.MeshType = "FileMesh";newmesh.MeshId = "http://www.roblox.com/Asset/?id=9756362" ;newmesh.Scale = v3(0.235, 1.7, 0.604)
  515. bladetip.CFrame = cfn(-4.4, 5.44, 4.4)
  516.  
  517. local grip = newPart(i_n("Part"),"Grip",0.51, 1.19, 0.51,BrickColor.new("Dirt brown"), 0, 0, false, false, weapon)
  518. local newmesh = i_n("SpecialMesh",grip);newmesh.MeshType = "Head"; newmesh.Scale = v3(1.2,1,1.2)
  519. grip.CFrame = cfn(-4.4, 1.02, 4.4)
  520.  
  521. local frontblade = newPart(i_n("Part"),"Blade",0.85, 0.17, 3.4,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
  522. local newmesh = i_n("SpecialMesh",frontblade);newmesh.MeshType = "Torso"
  523. frontblade.CFrame = cfn(-4.315, 3.74, 4.4)
  524. frontblade.Rotation = v3(-90, 0, -90)
  525.  
  526. local backblade = newPart(i_n("Part"),"Part",0.85, 0.17, 3.4,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
  527. local newmesh = i_n("SpecialMesh",backblade);newmesh.MeshType = "Torso"
  528. backblade.CFrame = cfn(-4.485, 3.74, 4.4)
  529. backblade.Rotation = v3(-90, 0, 90)
  530.  
  531. local hilt1 = newPart(i_n("Part"),"Part",0.68, 0.34, 0.51,BrickColor.new("Gold"), 0, 0, false, false, weapon)
  532. local newmesh = i_n("SpecialMesh",hilt1);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
  533. hilt1.CFrame = cfn(-4.4, 1.87, 4.4)
  534. hilt1.Rotation = v3(180,90, 0)
  535.  
  536. local hilt2 = newPart(i_n("Part"),"Part",1.02, 0.2, 0.37,BrickColor.new("Gold"), 0, 0, false, false, weapon)
  537. local newmesh = i_n("SpecialMesh",hilt2);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
  538. hilt2.CFrame = cfn(-4.4, 1.87, 4.4)
  539. hilt2.Rotation = v3(180, 90, 0)
  540.  
  541. function weld(x, y)
  542. if x == y then return end
  543. local CJ = CFrame.new(x.Position)
  544. local w = Instance.new("ManualWeld")
  545. w.Part0 = x
  546. w.Part1 = y
  547. w.C0 = x.CFrame:inverse() * CJ
  548. w.C1 = y.CFrame:inverse() * CJ
  549. w.Parent = x
  550. return w
  551. end
  552.  
  553. local model = weapon
  554.  
  555. for _,v in pairs(model:GetChildren()) do
  556. if v:IsA("BasePart") then
  557. weld(model.Handle, v)
  558. end end
  559.  
  560. local handle = weapon:WaitForChild("Handle")
  561. local idletrack = newAnim(180435571)
  562.  
  563. ----- New Instances ------
  564.  
  565. local backweld = newWeld(tors, handle)
  566. backweld.C0 = cfn(1.5, 1.5, .5) * cfa(0, math.rad(90), 0) * cfa(math.rad(-135), 0, 0)
  567.  
  568. local grip = newWeld(rarm, nil, cfn(0, -.7, 0) * cfa(math.rad(-90), 0, 0))
  569.  
  570. local equipS = newSound(211059653, handle, 1, 1, false, false)
  571. local uneqS = newSound(166196557, handle, 1, 1, false, false)
  572.  
  573. local slash1 = newSound(199145841, handle, 1, 1, false, false)
  574. local slash2 = newSound(199145841, handle, 1, 1.2, false, false)
  575. local slash3 = newSound(356422588, handle, 1, 1, false, false)
  576. local slash3 = newSound(356422588, handle, 1, 1.2, false, false)
  577.  
  578. local skill1 = newSound(231917758, handle, 1, .85, false, false)
  579. local skill2 = newSound(2767090, handle, 1, .85, false, false)
  580. local skill3 = newSound(662614920,handle,1,1,false,false)
  581. local skill4 = newSound(2101137,handle,1,.45,false,false)
  582. local skill42 = newSound(540358153,handle,1,.7,false,false)
  583.  
  584. ----- Animation Defaults ------
  585.  
  586. local stand = {
  587. ["head"] = hw.C0,
  588. ["tors"] = tw.C1,
  589. ["rarm"] = raw.C0,
  590. ["larm"] = law.C0,
  591. ["rleg"] = rlw.C0,
  592. ["lleg"] = llw.C0,
  593. ["grip0"] = grip.C0,
  594. ["grip1"] = grip.C1
  595. }
  596.  
  597. local neutral = {
  598. ["head"] = stand.head * cfa(0, 0, math.rad(-10)),
  599. ["tors"] = stand.tors * cfa(0, 0, math.rad(-10)),
  600. ["rarm"] = stand.rarm * cfa(math.rad(-15), math.rad(-25), math.rad(-5)),
  601. ["larm"] = stand.larm * cfa(math.rad(-10), 0, 0),
  602. ["rleg"] = stand.rleg * cfa(0, math.rad(-24), 0),
  603. ["lleg"] = stand.lleg * cfa(0, math.rad(8), 0),
  604. ["grip0"] = stand.grip0,
  605. ["grip1"] = stand.grip1
  606. }
  607.  
  608. local run = {
  609. ["head"] = stand.head * cfa(math.rad(8), 0, 0),
  610. ["tors"] = stand.tors,
  611. ["rarm"] = stand.rarm * cfa(math.rad(-20), math.rad(-15), math.rad(-5)),
  612. ["larm"] = stand.larm * cfa(math.rad(-15), math.rad(-10), math.rad(-5)),
  613. ["rleg"] = stand.rleg,
  614. ["lleg"] = stand.lleg,
  615. ["grip0"] = stand.grip0,
  616. ["grip1"] = stand.grip1 * cfa(math.rad(15), 0, 0)
  617. }
  618.  
  619. local jump = {
  620. ["head"] = stand.head * cfa(math.rad(-15), 0, 0),
  621. ["tors"] = stand.tors,
  622. ["rarm"] = stand.rarm * cfa(0, 0, math.rad(60)),
  623. ["larm"] = stand.larm * cfa(math.rad(-24), 0, 0),
  624. ["rleg"] = stand.rleg * cfn(.5, 0, 0) * cfa(0, 0, math.rad(-15)),
  625. ["lleg"] = stand.lleg * cfn(-1, 1, 0) * cfa(0, 0, math.rad(15)),
  626. ["grip0"] = stand.grip0,
  627. ["grip1"] = stand.grip1
  628. }
  629.  
  630. local fall = {
  631. ["head"] = stand.head * cfa(math.rad(15), 0, 0),
  632. ["tors"] = stand.tors,
  633. ["rarm"] = stand.rarm * cfn(0, -.5, .2) * cfa(math.rad(-70), 0, 0),
  634. ["larm"] = stand.larm * cfn(0, -.5, .2) * cfa(math.rad(-70), 0, 0),
  635. ["rleg"] = stand.rleg * cfa(0, 0, math.rad(9)),
  636. ["lleg"] = stand.lleg * cfn(-1, 1, 0) * cfa(0, 0, math.rad(15)),
  637. ["grip0"] = stand.grip0,
  638. ["grip1"] = stand.grip1
  639. }
  640.  
  641. local stunned = {
  642. ["head"] = stand.head,
  643. ["tors"] = stand.tors * cfn(0, -2.25, 0) *cfa(math.rad(90),0,0),
  644. ["rarm"] = stand.rarm * cfn(0, -.5, .2) * cfa(math.rad(-40), 0, 0),
  645. ["larm"] = stand.larm * cfn(0, -.5, .2) * cfa(math.rad(-40), 0, 0),
  646. ["rleg"] = stand.rleg * cfa(math.rad(-15), 0, 0),
  647. ["lleg"] = stand.lleg * cfa( math.rad(-15), 0, 0),
  648. ["grip0"] = stand.grip0,
  649. ["grip1"] = stand.grip1 * cfa(math.rad(90),0,0)
  650. }
  651. ------ Primary Functions ------
  652.  
  653.  
  654. ArtificialHB = Instance.new("BindableEvent", script)
  655. ArtificialHB.Name = "Heartbeat"
  656.  
  657. script:WaitForChild("Heartbeat")
  658.  
  659.  
  660. --credit to saz/nym for this pacemaker
  661. frame = 1 / 60
  662. tf = 0
  663. allowframeloss = false
  664. tossremainder = false
  665. lastframe = tick()
  666. script.Heartbeat:Fire()
  667.  
  668. game:GetService("RunService").Heartbeat:connect(function(s, p)
  669. tf = tf + s
  670. if tf >= frame then
  671. if allowframeloss then
  672. script.Heartbeat:Fire()
  673. lastframe = tick()
  674. else
  675. for i = 1, math.floor(tf / frame) do
  676. script.Heartbeat:Fire()
  677. end
  678. lastframe = tick()
  679. end
  680. if tossremainder then
  681. tf = 0
  682. else
  683. tf = tf - frame * math.floor(tf / frame)
  684. end
  685. end
  686. end)
  687.  
  688. function swait(num)
  689. if num == 0 or num == nil then
  690. ArtificialHB.Event:wait()
  691. else
  692. for i = 0, num do
  693. ArtificialHB.Event:wait()
  694. end
  695. end
  696. end
  697.  
  698. function stopAnims()
  699. pausedanims = {}
  700.  
  701. for _,v in pairs(hume:GetPlayingAnimationTracks()) do v:Stop()
  702. table.insert(pausedanims, v)
  703. end end
  704.  
  705. function resumeAnims()
  706. for _,v in pairs(pausedanims) do v:Play()
  707. end end
  708.  
  709. function resetJoints()
  710. hw.C0 = stand.head; tw.C1 = stand.tors
  711. raw.C0 = stand.rarm; law.C0 = stand.larm
  712. rlw.C0 = stand.rleg; llw.C0 = stand.lleg
  713. grip.C0 = stand.grip0; grip.C1 = stand.grip1
  714. end
  715.  
  716. function equip()
  717. local t = 15
  718. animS.Disabled = true; stopAnims()
  719. resetJoints()
  720.  
  721. for i = 1, t do swait()
  722. raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, 0, math.rad(172)), (i/t)/2)
  723. law.C0 = law.C0:lerp(neutral.larm, i/t)
  724. hw.C0 = hw.C0:lerp(neutral.head, i/t)
  725. tw.C1 = tw.C1:lerp(neutral.tors, i/t)
  726. end
  727.  
  728. backweld.Part1 = nil; grip.Part1 = handle
  729. idletrack:Play(); equipS:Play()
  730. end
  731.  
  732. function unequip()
  733. local t = 15
  734.  
  735. lwoverride = true
  736.  
  737. for i = 1, t do swait()
  738. raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, 0, math.rad(172)), (i/t)/2)
  739. law.C0 = law.C0:lerp(stand.larm, i/t)
  740. hw.C0 = hw.C0:lerp(stand.head, i/t)
  741. tw.C1 = tw.C1:lerp(stand.tors, i/t)
  742. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  743. llw.C0 = llw.C0:lerp(stand.lleg, i/t)
  744. end
  745.  
  746. uneqS:Play()
  747. grip.Part1 = nil; backweld.Part1 = handle
  748. idletrack:Stop(); animS.Disabled = false
  749. resetJoints(); resumeAnims()
  750. lwoverride = false
  751. end
  752.  
  753. function checkPartMag(list, range)
  754. local targets = {}
  755.  
  756. for _,v in pairs(list) do
  757. for _,x in pairs(workspace:GetChildren()) do
  758. local vhume = x:FindFirstChild("Humanoid")
  759. if vhume and vhume:IsA("Humanoid") then
  760. for _,y in pairs(x:GetChildren()) do
  761. if y:IsA("BasePart") and (v.Position - y.Position).magnitude <= range
  762. then table.insert(targets, x); break end
  763. end end end end
  764.  
  765. return targets
  766. end
  767.  
  768.  
  769. function checkPartMag2(list, range)
  770. local targets = {}
  771.  
  772. for _,v in pairs(list) do
  773. for _,x in pairs(workspace:GetChildren()) do
  774. local vhume = x:FindFirstChild("Humanoid")
  775. if vhume and vhume:IsA("Humanoid") then
  776. for _,y in pairs(x:GetChildren()) do
  777. if y:IsA("BasePart") and (v.Position - y.Position).magnitude <= range
  778. then table.insert(targets, x); break end
  779. end end end end
  780.  
  781. return targets
  782. end
  783.  
  784. function checkPosMag(pos, range)
  785. local targets = {}
  786.  
  787. for _,x in pairs(workspace:GetChildren()) do
  788. local vhume = x:FindFirstChild("Humanoid")
  789. if vhume and vhume:IsA("Humanoid") then
  790. for _,y in pairs(x:GetChildren()) do
  791. if y:IsA("BasePart") and (pos - y.Position).magnitude <= range
  792. then table.insert(targets, x)
  793. print(x.Name) end
  794. end end end
  795.  
  796. return targets
  797. end
  798.  
  799. function rollTheDice(chance, min, max)
  800. local gen = math.random(min, max)
  801. return gen <= chance
  802. end
  803.  
  804. function strike(targ, dmg, critchance)
  805. local moddmg = math.floor(dmg)
  806. local crit = false
  807.  
  808. if targ == char then return end
  809.  
  810. local vhume = targ:FindFirstChild("Humanoid")
  811. if vhume and vhume:IsA("Humanoid") then
  812. moddmg = math.ceil(moddmg * (math.random(75, 150)/100))
  813.  
  814. if rollTheDice(critchance, 1, 100) then
  815. moddmg = moddmg * 2; crit = true
  816. end
  817.  
  818. dfunc[1](vhume, moddmg, hume, crit)
  819. end end
  820.  
  821. function cooldown(num)
  822. local ab = abilities[num]
  823. local now = tick()
  824.  
  825. spawn(function()
  826. ab.ready = false
  827. ab.ccd = ab.cd
  828.  
  829. while ab.ccd > 0 do swait()
  830.  
  831. repeat swait() until (tick()-now) >= 1
  832. or ab.ccd <= 0
  833.  
  834. if ab.ccd > 0 then ab.ccd = ab.ccd - 1; now = tick()
  835. else break
  836. end end
  837.  
  838. ab.ready = true
  839. end)
  840. end
  841.  
  842. function attack()
  843. if combostep >= #bAttacks then combostep = 1
  844. else combostep = combostep + 1 end
  845.  
  846. combotime = tick(); bAttacks[combostep]()
  847.  
  848. softoverride = false; lwoverride = false
  849. wsoverride = false; hume.WalkSpeed = defWS
  850. end
  851.  
  852. function cast(num)
  853. local ab = abilities[num]
  854. local func = bAbilities[num]
  855.  
  856. if ab.ready and func then
  857. cooldown(num); func()
  858. end end
  859.  
  860. function knockback(targ, power, time)
  861. local vtors = targ:FindFirstChild("Torso")
  862. if vtors and vtors.Parent then
  863. local bv = i_n("BodyVelocity", vtors)
  864. bv.MaxForce = v3(math.huge,math.huge,math.huge)
  865. bv.Velocity = vtors.CFrame.lookVector * power
  866. game:GetService("Debris"):AddItem(bv, time)
  867. end end
  868.  
  869. function checkStatus(targ, status)
  870. local val = targ:FindFirstChild(status)
  871. if val and val:IsA("BoolValue") then
  872. return true
  873. else return false
  874. end end
  875.  
  876. function canMove()
  877. if checkStatus(char, "Stun")
  878. or checkStatus(char, "Knockback")
  879. then return true
  880. else return false
  881. end end
  882.  
  883. -- Basic Attacks --
  884.  
  885. bAttacks = {
  886. ------------------
  887. function()
  888. local t = math.ceil(15/atkspd.Value)
  889. local hitdb = {}
  890.  
  891. for i = 1, t do swait()
  892. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(12)), i/t)
  893. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(24)), i/t)
  894. raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, .5, 0) * cfa(math.rad(15), 0, math.rad(172)), i/t)
  895. law.C0 = law.C0:lerp(stand.larm * cfa(0, math.rad(-30), math.rad(-70)), i/t)
  896. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
  897.  
  898. if not running then softoverride = true
  899. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  900. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  901. end
  902.  
  903. if not active or checkStatus(char, "Stun") then break end
  904.  
  905. end
  906.  
  907. if active then t = math.ceil(10/atkspd.Value); slash1:Play()
  908.  
  909. for i = 1, t do swait()
  910. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-12)), i/t)
  911. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-24)), i/t)
  912. raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1) * cfa(math.rad(30), 0, math.rad(45)), i/t)
  913. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-45), 0, math.rad(30)), i/t)
  914. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(80), 0, 0), i/t)
  915.  
  916. if not running then softoverride = true
  917. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0) * cfa(0, math.rad(-24), 0), i/t)
  918. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(15)), i/t)
  919. end
  920.  
  921. for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
  922. if not hitdb[v] then hitdb[v] = true
  923. strike(v, bdmg.Value, critc.Value)
  924. end end
  925.  
  926. if not active or checkStatus(char, "Stun") then break end
  927.  
  928. end end
  929. end,
  930. ------------------
  931. function()
  932. local t = math.ceil(15/atkspd.Value)
  933. local hitdb = {}
  934.  
  935. for i = 1, t do swait()
  936. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-22)), i/t)
  937. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-45)), i/t)
  938. raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1.8) * cfa(math.rad(-90), 0, math.rad(135)), i/t)
  939. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), 0, math.rad(-30)), i/t)
  940. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
  941.  
  942. if not running then softoverride = true
  943. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
  944. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
  945. end
  946.  
  947. if not active then break end
  948. end
  949.  
  950. if active then t = math.ceil(10/atkspd.Value); slash2:Play()
  951.  
  952. for i = 1, t do swait()
  953. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(15)), i/t)
  954. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(30)), i/t)
  955. raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, -.5, .5) * cfa(math.rad(-90), 0, 0), i/t)
  956. law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, .2) * cfa(math.rad(-80), 0, math.rad(-15)), i/t)
  957. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
  958.  
  959. if not running then softoverride = true
  960. rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, math.rad(-30), 0), i/t)
  961. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(30), 0), i/t)
  962. end
  963.  
  964. for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
  965. if not hitdb[v] then hitdb[v] = true
  966. strike(v, bdmg.Value, critc.Value)
  967. end end
  968.  
  969. if not active then break end
  970. end end
  971. end,
  972. ------------------
  973. function()
  974. local t = math.ceil(15/atkspd.Value)
  975. local hitdb = {}
  976.  
  977. for i = 1, t do swait()
  978. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(60)), i/t)
  979. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(70)), i/t)
  980. raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-30), math.rad(50), math.rad(-30)), i/t)
  981. law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, -1.5) * cfa(math.rad(80), 0, math.rad(-30)), i/t)
  982. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
  983.  
  984. if not running then softoverride = true
  985. rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(-30)), i/t)
  986. llw.C0 = llw.C0:lerp(stand.lleg * cfn(-.8, 0, 0), i/t)
  987. end
  988.  
  989. if not active then break end
  990. end
  991.  
  992. if active then t = math.ceil(10/atkspd.Value); slash2:Play()
  993.  
  994. for i = 1, t do swait()
  995. hw.C0 = hw.C0:lerp(stand.head, i/t)
  996. tw.C1 = tw.C1:lerp(stand.tors, i/t)
  997. raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -.5) * cfa(0, 0, math.rad(90)), i/t)
  998. law.C0 = law.C0:lerp(stand.larm * cfn(-.8, 0, -1.6) * cfa(0, math.rad(-30), math.rad(-90)), i/t)
  999. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
  1000.  
  1001. if not running then softoverride = true
  1002. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
  1003. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
  1004. end
  1005.  
  1006. for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
  1007. if not hitdb[v] then hitdb[v] = true
  1008. strike(v, bdmg.Value, critc.Value)
  1009. end end
  1010.  
  1011. if not active then break end
  1012. end end
  1013. end,
  1014. ------------------
  1015. function()
  1016. local t = math.ceil(10/atkspd.Value)
  1017. local hitdb = {}
  1018.  
  1019. lwoverride = true
  1020. wsoverride = true
  1021. hume.WalkSpeed = 0
  1022.  
  1023. for i = 1, t do swait()
  1024. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-22)), i/t)
  1025. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-45)), i/t)
  1026. raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1.8) * cfa(math.rad(-90), 0, math.rad(135)), i/t)
  1027. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), 0, math.rad(-30)), i/t)
  1028. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
  1029. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(1, 1, 0), i/t)
  1030. llw.C0 = llw.C0:lerp(stand.lleg, i/t)
  1031.  
  1032. if not active or checkStatus(char, "Stun") then break end
  1033.  
  1034. end
  1035.  
  1036. if active then t = math.ceil(40/atkspd.Value); slash3:Play()
  1037. local angle = 0
  1038.  
  1039. for i = 1, t do swait()
  1040. hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(15)), i/t)
  1041. tw.C1 = stand.tors * cfa(0, 0, math.rad(750 * (i/t)))
  1042. raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, -.5, .5) * cfa(math.rad(-90), 0, 0), i/t)
  1043. law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, .2) * cfa(math.rad(-80), 0, math.rad(-15)), i/t)
  1044. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
  1045. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(1, 1, 0), i/t)
  1046. llw.C0 = llw.C0:lerp(stand.lleg, i/t)
  1047. hrp.Velocity = hrp.CFrame.lookVector * 30
  1048. angle = angle + (750/t)
  1049.  
  1050. if angle >= 330 and i~=t then slash3:Play(); angle = 0
  1051. end
  1052.  
  1053. for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
  1054. if not hitdb[v] then hitdb[v] = true; strike(v, bdmg.Value, critc.Value)
  1055. spawn(function() wait(.15); hitdb[v] = false end)
  1056. end end
  1057.  
  1058. if not active then break end
  1059. end end
  1060. end,
  1061. ------------------
  1062. }
  1063.  
  1064. -- Abilities --
  1065.  
  1066. bAbilities = {
  1067.  
  1068. function(E)
  1069.  
  1070. local t = 90
  1071.  
  1072. local b= i_n("BoolValue",char);b.Name="Blocking";game:GetService("Debris"):AddItem(b,1.65)
  1073. defWS = 8
  1074.  
  1075. for i = 1, t do swait()
  1076. hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(17),0,0), i/t)
  1077. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
  1078. raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-15),0,math.rad(90)), i/t)
  1079. law.C0 = law.C0:lerp(stand.larm * cfn(-.3,-0.25,-1.95) * cfa(math.rad(45),math.rad(-40), math.rad(-80)), i/t)
  1080. grip.C1 = grip.C1:lerp(stand.grip1 * cfn(0.25,0,0)* cfa(0,math.rad(90), math.rad(-110)), i/t)
  1081.  
  1082. if not running then softoverride = true
  1083. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  1084. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  1085. end
  1086.  
  1087. if not active or checkStatus(char, "Stun") then break end
  1088.  
  1089. end
  1090. defWS = ogdefWS
  1091.  
  1092. end,
  1093.  
  1094. function(Z)
  1095.  
  1096. local t = 10
  1097. local hitdb = {}
  1098. local exp = coroutine.wrap(function()
  1099. local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Daisy orange"), 0.4, 0, true, false, workspace)
  1100. local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(4,0.75,4);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  1101. Explosion.CFrame = char.HumanoidRootPart.CFrame * cfn(0,-1.25,0)* cfa(math.rad(-180),0,0)
  1102. repeat
  1103. Mesh.Scale = Mesh.Scale + v3(.75,.175,.75)
  1104. Explosion.Transparency = Explosion.Transparency + .05
  1105. swait()
  1106. until Explosion.Transparency >= 1
  1107. Explosion:Destroy()
  1108. end)
  1109.  
  1110. for i = 1, t do swait()
  1111. hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-15),0,0), i/t)
  1112. tw.C1 = tw.C1:lerp(stand.tors * cfn(0,-.1,0) * cfa(math.rad(-25),0,0), i/t)
  1113. raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, math.rad(21), math.rad(64)), i/t)
  1114. law.C0 = law.C0:lerp(stand.larm * cfn(0,-.3,-1.45)* cfa(0, math.rad(-53), math.rad(-70)), i/t)
  1115. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-180), 0, 0), i/t)
  1116.  
  1117. if not running then softoverride = true
  1118. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  1119. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  1120. end
  1121.  
  1122. if not active or checkStatus(char, "Stun") then break end
  1123.  
  1124. end
  1125.  
  1126. local t = 25
  1127.  
  1128. defWS = 0
  1129. lwoverride = true
  1130. wsoverride = true
  1131. skill1:Play()
  1132. exp()
  1133. local bv = i_n("BodyVelocity", char.HumanoidRootPart);bv.MaxForce=v3(math.huge,math.huge,math.huge);bv.Velocity=v3(0,95,0);game:GetService("Debris"):AddItem(bv,.075)
  1134. for i = 1, t do swait()
  1135. hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-17),0,0), i/t)
  1136. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
  1137. raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, .5, 0) * cfa(0, math.rad(23), math.rad(172)), i/t)
  1138. law.C0 = law.C0:lerp(stand.larm * cfn(0,0,-1.45)* cfa(0, math.rad(-53), math.rad(-143)), i/t)
  1139. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-180), 0, 0), i/t)
  1140. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  1141. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  1142.  
  1143. for _,v in pairs(checkPartMag({weapon.Blade}, 6)) do
  1144. if not hitdb[v] then hitdb[v] = true
  1145. strike(v, bdmg.Value + 5, 0)
  1146. if v.Name~=plr.Name then
  1147. local bv = i_n("BodyVelocity", v.Torso);bv.MaxForce=v3(math.huge,math.huge,math.huge);bv.Velocity=v3(0,85,0);game:GetService("Debris"):AddItem(bv,.1)
  1148. end end end
  1149.  
  1150. if not active or checkStatus(char, "Stun") then break end
  1151.  
  1152. end
  1153.  
  1154. defWS = ogdefWS
  1155. end,
  1156.  
  1157. function(X)
  1158.  
  1159. local t = 15
  1160. local hitdb = {}
  1161. lwoverride = true
  1162. wsoverride = true
  1163. defWS = 0
  1164.  
  1165. local exp = coroutine.wrap(function()
  1166. local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Ghost grey"), .4, 0, true, false, workspace)
  1167. local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(3,4,3);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  1168. Explosion.CFrame = char.HumanoidRootPart.CFrame * cfa(math.rad(45),0,0)
  1169. local bv = i_n("BodyVelocity", hrp); bv.MaxForce = v3(math.huge,math.huge,math.huge);bv.Velocity = hrp.CFrame.lookVector * 60
  1170. game:GetService("Debris"):AddItem(bv,.15)
  1171. repeat
  1172. Mesh.Scale = Mesh.Scale + v3(.75,.25,.75)
  1173. Explosion.Transparency = Explosion.Transparency + .05
  1174. swait()
  1175. until Explosion.Transparency >= 1
  1176. Explosion:Destroy()
  1177. end)
  1178.  
  1179. exp()
  1180. skill2:Play()
  1181. for i = 1, t do swait()
  1182. hw.C0 = hw.C0:lerp(stand.head * cfa(0, math.rad(-10), math.rad(-90)), i/t)
  1183. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-90)), i/t)
  1184. raw.C0 = raw.C0:lerp(stand.rarm * cfn(0,-0.35,0.45)* cfa(math.rad(-90),0,math.rad(90)), i/t)
  1185. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-45),0,0), i/t)
  1186. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-12),0,0), i/t)
  1187. rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(math.rad(12),0,0), i/t)
  1188. llw.C0 = llw.C0:lerp(stand.lleg * cfa(math.rad(-18),0,0), i/t)
  1189.  
  1190. --[[if not running then softoverride = true
  1191. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  1192. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  1193. end
  1194. --]]
  1195. for _,v in pairs(checkPartMag({weapon.Pommel}, 3)) do
  1196. if not hitdb[v] then hitdb[v] = true
  1197. strike(v, bdmg.Value + 1.5, 0)
  1198. if v.Name~=plr.Name then
  1199. local bv =i_n("BoolValue", v);bv.Name = "ArmorBroken";game:GetService("Debris"):AddItem(bv,2)
  1200. end
  1201. end end
  1202.  
  1203. if not active or checkStatus(char, "Stun") then break end
  1204.  
  1205. end
  1206. defWS = ogdefWS
  1207. end,
  1208.  
  1209. function(C)
  1210.  
  1211. local t = 20
  1212. local hitdb = {}
  1213. local exp = coroutine.wrap(function()
  1214. local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Bright red"), 0, 0, true, false, workspace)
  1215. local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(3,4,3);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
  1216. Explosion.CFrame = char.HumanoidRootPart.CFrame * cfn(0,-1.25,0)* cfa(0,0,0)
  1217. repeat
  1218. Mesh.Scale = Mesh.Scale + v3(.75,.25,.75)
  1219. Explosion.Transparency = Explosion.Transparency + .05
  1220. swait()
  1221. until Explosion.Transparency >= 1
  1222. Explosion:Destroy()
  1223. end)
  1224.  
  1225. local atkspdbuf = coroutine.wrap(function()
  1226. atkspd.Value = atkspd.Value * 1.65
  1227. critc.Value = critc.Value + 7.5
  1228. local cln = script.rage:Clone()
  1229. cln.Parent = char.Torso
  1230. cln.Enabled = true
  1231. local cln2 = script.ragelight:Clone()
  1232. cln2.Parent = char.Torso
  1233. cln2.Enabled = true
  1234. defWS = defWS * 1.45
  1235. wait(5.85)
  1236. cln.Enabled = false
  1237. wait(.15)
  1238. cln:Destroy()
  1239. cln2:Destroy()
  1240. defWS = ogdefWS
  1241. atkspd.Value = atkspd.Value / 1.65
  1242. critc.Value = critc.Value - 7.5
  1243. end)
  1244.  
  1245. for i = 1, t do swait()
  1246. hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(12), 0, 0), i/t)
  1247. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
  1248. raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(30),math.rad(45),math.rad(90)), i/t)
  1249. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(30),math.rad(-45),math.rad(-90)), i/t)
  1250. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(0,0,0), i/t)
  1251.  
  1252. if not running then softoverride = true
  1253. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  1254. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  1255. end
  1256.  
  1257. if not active or checkStatus(char, "Stun") then break end
  1258.  
  1259. end
  1260.  
  1261. if active then skill3:Play();exp();atkspdbuf()
  1262.  
  1263. for i = 1, t do swait()
  1264. hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-2), 0, 0), i/t)
  1265. tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
  1266. raw.C0 = raw.C0:lerp(stand.rarm * cfn(-0.5,-0.5,0) * cfa(math.rad(30),math.rad(45),math.rad(120)), i/t)
  1267. law.C0 = law.C0:lerp(stand.larm * cfn(0.5,-0.5,0) * cfa(math.rad(30),math.rad(-45),math.rad(-120)), i/t)
  1268. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(0,0,0), i/t)
  1269.  
  1270. if not running then softoverride = true
  1271. rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
  1272. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
  1273. end
  1274.  
  1275. if not active or checkStatus(char, "Stun") then break end
  1276.  
  1277. end
  1278.  
  1279.  
  1280. end
  1281. end,
  1282.  
  1283. function(V)
  1284.  
  1285. lwoverride = true
  1286. wsoverride = true
  1287. defWS = 0
  1288. local t = 120
  1289. local hitdb = {}
  1290.  
  1291. local Trail = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Institutional white"), 1, 0, true, false, workspace);game:GetService("Debris"):AddItem(Trail,3)
  1292.  
  1293. local emitr = script.Electricity:Clone();emitr.Parent = weapon.Blade; emitr.Enabled = true; game:GetService("Debris"):AddItem(emitr,1.95)
  1294. local bladtrail = coroutine.wrap(function()
  1295. Trail.Material = "Neon"
  1296. Trail.Size = v3(25, 0.5, 0.5)
  1297. Trail.Transparency = 0
  1298. local Mesh = i_n("SpecialMesh",Trail);Mesh.Scale=v3(1,1,1);Mesh.MeshType = "Sphere"
  1299. Trail.CFrame = char.HumanoidRootPart.CFrame * cfn(0,0,0)* cfa(0,math.rad(90),0)
  1300. local dumbtp = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Institutional white"), 1, 0, true, false, workspace);game:GetService("Debris"):AddItem(dumbtp,.1)
  1301. dumbtp.CFrame = char.HumanoidRootPart.CFrame *cfn(0,0,-15)
  1302. char.HumanoidRootPart.CFrame = dumbtp.CFrame
  1303. repeat
  1304. Trail.Size = Trail.Size + v3(.125,.025,.025)
  1305. Trail.Transparency = Trail.Transparency + .025
  1306. swait()
  1307. until Trail.Transparency >= 1
  1308. Trail:Destroy()
  1309. end)
  1310. skill4:Play()
  1311. for i = 1, t do swait()
  1312. hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-22), 0, 0), i/t)
  1313. tw.C1 = tw.C1:lerp(stand.tors * cfn(0,0,0.65) *cfa(math.rad(-25), 0, 0), i/t)
  1314. raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-85),0,math.rad(36)), i/t)
  1315. law.C0 = law.C0:lerp(stand.larm * cfn(-0.25,0.5,-1.85) *cfa(math.rad(90), 0, math.rad(-30)), i/t)
  1316. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(30), 0, math.rad(20)), i/t)
  1317. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.85, 1, 0) * cfa(0,0,math.rad(30)), i/t)
  1318. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0,0,math.rad(15)), i/t)
  1319.  
  1320. if not active or checkStatus(char, "Stun") then break end
  1321.  
  1322. end
  1323.  
  1324. local t = 15
  1325. bladtrail()
  1326. skill42:Play()
  1327.  
  1328. for i = 1, t do swait()
  1329. hw.C0 = hw.C0:lerp(stand.head, i/t)
  1330. tw.C1 = tw.C1:lerp(stand.tors, i/t)
  1331. raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -.5) * cfa(0, 0, math.rad(90)), i/t)
  1332. law.C0 = law.C0:lerp(stand.larm * cfn(-.8, 0, -1.6) * cfa(0, math.rad(-30), math.rad(-90)), i/t)
  1333. grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
  1334.  
  1335. if not running then softoverride = true
  1336. rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
  1337. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
  1338. end
  1339.  
  1340. for _,v in pairs(checkPartMag({Trail}, 20)) do
  1341. if not hitdb[v] then hitdb[v] = true
  1342. strike(v, bdmg.Value + 10, 0)
  1343. end end
  1344.  
  1345.  
  1346. if not active or checkStatus(char, "Stun") then break end
  1347.  
  1348. end
  1349.  
  1350. defWS = ogdefWS
  1351. end
  1352.  
  1353. }
  1354.  
  1355. -- coroutines
  1356. ----------------------------------------------
  1357.  
  1358. ----------------------------------------------
  1359. local runmanage = spawn(function()
  1360. while true do swait()
  1361.  
  1362. local tvel = (hrp.Velocity * v3(1, 0, 1)).magnitude
  1363. local groundcheck = Ray.new(hrp.Position, ((hrp.CFrame.p - Vector3.new(0, 1, 0)) - hrp.CFrame.p).unit * 4)
  1364. local hit = workspace:FindPartOnRay(groundcheck, char)
  1365.  
  1366. if hit then
  1367. if jumping then jumping = false; end
  1368. else jumping = true
  1369. end
  1370.  
  1371. if tvel > 2 then
  1372.  
  1373. if not running then running = true; softoverride = false end
  1374. elseif running then running = false
  1375. end
  1376.  
  1377. if (wsoverride or lwoverride) and not active then
  1378. wsoverride = false; lwoverride = false
  1379. end
  1380.  
  1381. if not wsoverride then
  1382. hume.WalkSpeed = defWS
  1383. end end end)
  1384. ----------------------------------------------
  1385. local runanim = spawn(function()
  1386. while true do swait()
  1387. local vtvel = math.abs(hrp.Velocity.Y)
  1388. local t = 20
  1389.  
  1390. if equipped and not active then
  1391.  
  1392. if jumping then
  1393.  
  1394. if hrp.Velocity.Y > 1 then for i = 1, t do swait()
  1395. raw.C0 = raw.C0:lerp(jump.rarm, (i/t)/2)
  1396. law.C0 = law.C0:lerp(jump.larm, (i/t)/2)
  1397. hw.C0 = hw.C0:lerp(jump.head, (i/t)/2)
  1398. tw.C1 = tw.C1:lerp(jump.tors, (i/t)/2)
  1399. grip.C1 = grip.C1:lerp(jump.grip1, (i/t)/2)
  1400. grip.C0 = grip.C0:lerp(jump.grip0, (i/t)/2)
  1401. if not jumping or active or hrp.Velocity.Y < 1 then
  1402. break end end
  1403.  
  1404. else for i = 1, t do swait()
  1405. raw.C0 = raw.C0:lerp(fall.rarm, (i/t)/2)
  1406. law.C0 = law.C0:lerp(fall.larm, (i/t)/2)
  1407. hw.C0 = hw.C0:lerp(fall.head, (i/t)/2)
  1408. tw.C1 = tw.C1:lerp(fall.tors, (i/t)/2)
  1409. grip.C1 = grip.C1:lerp(fall.grip1, (i/t)/2)
  1410. grip.C0 = grip.C0:lerp(fall.grip0, (i/t)/2)
  1411. if not jumping or active or hrp.Velocity.Y > 1 then
  1412. break end end end
  1413.  
  1414. elseif running then for i = 1, t do swait()
  1415. raw.C0 = raw.C0:lerp(run.rarm, (i/t)/2)
  1416. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), math.rad(10), 0), (i/t)/2)
  1417. hw.C0 = hw.C0:lerp(run.head, (i/t)/2)
  1418. tw.C1 = tw.C1:lerp(run.tors, (i/t)/2)
  1419. grip.C1 = grip.C1:lerp(run.grip1, (i/t)/2)
  1420. grip.C0 = grip.C0:lerp(run.grip0, (i/t)/2)
  1421. if not running or jumping or active then break end
  1422. end
  1423.  
  1424. for i = 1, t do swait()
  1425. raw.C0 = raw.C0:lerp(run.rarm, (i/t)/2)
  1426. law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), math.rad(10),0), (i/t)/2)
  1427. hw.C0 = hw.C0:lerp(run.head, (i/t)/2)
  1428. tw.C1 = tw.C1:lerp(run.tors, (i/t)/2)
  1429. grip.C1 = grip.C1:lerp(run.grip1, (i/t)/2)
  1430. grip.C0 = grip.C0:lerp(run.grip0, (i/t)/2)
  1431. if not running or jumping or active then break end
  1432. end
  1433.  
  1434. else t = 60
  1435. for i = 1, t do swait()
  1436. raw.C0 = raw.C0:lerp(neutral.rarm, i/t)
  1437. law.C0 = law.C0:lerp(neutral.larm, i/t)
  1438. hw.C0 = hw.C0:lerp(neutral.head, i/t)
  1439. tw.C1 = tw.C1:lerp(neutral.tors, i/t)
  1440. grip.C1 = grip.C1:lerp(neutral.grip1, (i/t)/2)
  1441. grip.C0 = grip.C0:lerp(neutral.grip0, (i/t)/2)
  1442. if running or jumping or active then break end
  1443. end end end end end)
  1444. ----------------------------------------------
  1445. local legwalk = spawn(function()
  1446. while true do swait()
  1447. local t = math.ceil(300/hume.WalkSpeed)
  1448. local t2 = 20
  1449.  
  1450. if equipped and not (lwoverride or softoverride) then
  1451.  
  1452. if jumping then
  1453.  
  1454. if hrp.Velocity.Y > 1 then for i = 1, t2 do swait()
  1455. rlw.C0 = rlw.C0:lerp(jump.rleg, i/t2)
  1456. llw.C0 = llw.C0:lerp(jump.lleg, i/t2)
  1457. if not jumping or lwoverride or softoverride
  1458. or hrp.Velocity.Y < 1 then break end
  1459. end
  1460.  
  1461. else for i = 1, t2 do swait()
  1462. rlw.C0 = rlw.C0:lerp(fall.rleg, i/t2)
  1463. llw.C0 = llw.C0:lerp(fall.lleg, i/t2)
  1464. if not jumping or lwoverride or softoverride
  1465. or hrp.Velocity.Y > 1 then break end
  1466. end end
  1467.  
  1468. elseif running then for i = 1, t do swait()
  1469. rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(-40)), (i/t)/2)
  1470. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(-40)), (i/t)/2)
  1471. if not running or jumping or lwoverride or softoverride then break end
  1472. end
  1473.  
  1474. if running and not jumping then for i = 1, t do swait()
  1475. rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(40)), (i/t)/2)
  1476. llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(40)), (i/t)/2)
  1477. if not running or lwoverride or softoverride then break end
  1478. end end
  1479.  
  1480. else for i = 1, t do swait()
  1481. rlw.C0 = rlw.C0:lerp(neutral.rleg, i/t)
  1482. llw.C0 = llw.C0:lerp(neutral.lleg, i/t)
  1483. if running or jumping or lwoverride or softoverride then break end
  1484. end end
  1485.  
  1486. elseif not equipped then
  1487. rlw.C0 = stand.rleg; llw.C0 = stand.lleg
  1488. end end end)
  1489. ----------------------------------------------
  1490. local combomanage = spawn(function()
  1491. while true do swait()
  1492. if (tick()-combotime)>=combowait
  1493. and not active then combostep = 0
  1494. end end
  1495. end)
  1496. ----------------------------------------------
  1497. -- Input Events
  1498.  
  1499. mouse.Button1Down:connect(function()
  1500. if equipped and not active then active = true
  1501. attack(); active = false
  1502. end end)
  1503.  
  1504. mouse.KeyDown:connect(function(key)
  1505. key = key:lower()
  1506.  
  1507. for i,v in ipairs(abilities) do
  1508. if key == v.key:lower() then
  1509. if equipped and script.CanCastAbilities.Value == true and not active then
  1510. active = true; cast(i); active = false
  1511. end end end
  1512.  
  1513. if key == "q" then
  1514. if not equipped then equipped = true; active = true
  1515. equip(); active = false
  1516.  
  1517. else if not active then active = true
  1518. unequip(); active = false; equipped = false
  1519. end end end end)
  1520.  
  1521. -- Arbitrary End Code --
  1522. weapon.Parent = char
  1523.  
  1524. while char:FindFirstChild("Silenced") ~= nil do
  1525. script.CanCastAbilities.Value = false
  1526. wait(2)
  1527. script.CanCastAbilities.Value = true
  1528. end
  1529.  
  1530. while true do -- stun
  1531. if char:FindFirstChild("Stunned") ~= nil then do
  1532. defWS = 0; hume.JumpPower = 0 ;active = true
  1533. local stuntext = coroutine.wrap(function()
  1534. local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
  1535. local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
  1536. local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
  1537. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
  1538. t.Text = "Stunned!"
  1539. t.TextColor3=c3(255,255,0)
  1540. t.TextStrokeColor3=BrickColor.new("Really black").Color
  1541. local s=Instance.new("Sound", char.Torso)
  1542. s.SoundId="rbxassetid://2801263"
  1543. s.Volume = 1
  1544. s.Pitch = 1.15
  1545. s:Play()
  1546. game:GetService("Debris"):AddItem(s,1)
  1547. game:GetService("Debris"):AddItem(p,1.45)
  1548. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  1549. end)
  1550. stuntext()
  1551. local t = 110
  1552. for i = 1, t do swait()
  1553. hw.C0 = hw.C0:lerp(stunned.head, i/t)
  1554. tw.C1 = tw.C1:lerp(stunned.tors , i/t)
  1555. raw.C0 = raw.C0:lerp(stunned.rarm , i/t)
  1556. law.C0 = law.C0:lerp(stunned.larm , i/t)
  1557. grip.C1 = grip.C1:lerp(stunned.grip1 , i/t)
  1558.  
  1559. if not running then softoverride = true
  1560. rlw.C0 = rlw.C0:lerp(stunned.rleg, i/t)
  1561. llw.C0 = llw.C0:lerp(stunned.lleg, i/t)
  1562. if not active then break end
  1563. end
  1564.  
  1565. end
  1566. defWS = ogdefWS; hume.JumpPower = 50 ;active = false
  1567. end
  1568. end
  1569. if char:FindFirstChild("Silenced") ~= nil then do
  1570. script.CanCastAbilities.Value = false
  1571. local siltext = coroutine.wrap(function()
  1572. local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
  1573. local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
  1574. local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
  1575. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
  1576. t.Text = "Silenced"
  1577. t.TextColor3=BrickColor.new("Eggplant").Color
  1578. t.TextStrokeColor3=BrickColor.new("Really black").Color
  1579. local s=Instance.new("Sound", char.Torso)
  1580. s.SoundId="rbxassetid://2785493"
  1581. s.Volume = 1
  1582. s.Pitch = 1.2
  1583. s:Play()
  1584. game:GetService("Debris"):AddItem(s,1)
  1585. game:GetService("Debris"):AddItem(p,1.45)
  1586. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  1587. end)
  1588. siltext()
  1589. wait(2.15)
  1590. script.CanCastAbilities.Value = true
  1591. end end
  1592. if char:FindFirstChild("Slowed") ~= nil then do
  1593. defWS = defWS - 7
  1594. local siltext = coroutine.wrap(function()
  1595. local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
  1596. local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
  1597. local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
  1598. t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
  1599. t.Text = "Slowed"
  1600. t.TextColor3=BrickColor.new("Ghost grey").Color
  1601. t.TextStrokeColor3=BrickColor.new("Really black").Color
  1602. local s=Instance.new("Sound", char.Torso)
  1603. s.SoundId="rbxassetid://2785493"
  1604. s.Volume = 1
  1605. s.Pitch = .8
  1606. s:Play()
  1607. game:GetService("Debris"):AddItem(s,1)
  1608. game:GetService("Debris"):AddItem(p,1.45)
  1609. spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
  1610. end)
  1611. siltext()
  1612. wait(2.15)
  1613. defWS = defWS + 7
  1614. end end
  1615. swait()
  1616. end
  1617.  
  1618.  
  1619. -- script made by Huge_Nazo
  1620. -- gime credit if u use this idc if u do just at least when u go to show say someone cool made it
Advertisement
Add Comment
Please, Sign In to add comment