Advertisement
ForkFullFight

Untitled

Jul 28th, 2023
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.11 KB | None | 0 0
  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.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152. local name = "SNOW_COP"
  153. local me = game.Players.LocalPlayer
  154. local char = me.Character
  155. selected = false
  156. attacking = false
  157. attack = false
  158. dela = 0.4
  159. normdmg = 9
  160. avgdmg = normdmg
  161. normal = 14
  162. speed = 14
  163. normchance = 9333333333333
  164. criticalchance = normchance
  165. splashdist = 14333333333333333333333333333333333333333333333333
  166. plat = 1
  167. healcols = {"Bright blue", "Light blue", "Medium blue", "White"}
  168. if char:findFirstChild("Sword",true) ~= nil then
  169. char:findFirstChild("Sword",true).Parent = nil
  170. end
  171. function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
  172. part.Parent = parent
  173. part.formFactor = form
  174. part.CanCollide = collide
  175. part.Transparency = tran
  176. part.Reflectance = ref
  177. part.Size = Vector3.new(x,y,z)
  178. part.BrickColor = BrickColor.new(color)
  179. part.TopSurface = 0
  180. part.BottomSurface = 0
  181. part.Anchored = anchor
  182. part.Locked = true
  183. part:BreakJoints()
  184. end
  185. function weld(w, p, p1, a, b, c, x, y, z)
  186. w.Parent = p
  187. w.Part0 = p
  188. w.Part1 = p1
  189. w.C1 = CFrame.fromEulerAnglesXYZ(a,b,c) * CFrame.new(x,y,z)
  190. end
  191. function mesh(mesh, parent, x, y, z, type)
  192. mesh.Parent = parent
  193. mesh.Scale = Vector3.new(x, y, z)
  194. mesh.MeshType = type
  195. end
  196. function getcharparts(path)
  197. local objs = {}
  198. for _,v in pairs(path:children()) do
  199. if v:IsA("Model") and v.Name ~= name then
  200. for _,k in pairs(v:children()) do
  201. if k.Name == "Torso" then
  202. table.insert(objs,k)
  203. end
  204. end
  205. end
  206. end
  207. return objs
  208. end
  209. sword = Instance.new("Model",me.Character)
  210. sword.Name = "Sword"
  211. --Parts-------------------------Parts-------------------------Parts-------------------------Parts----------------------
  212. rarm = char:findFirstChild("Right Arm")
  213. larm = char:findFirstChild("Left Arm")
  214. torso = char:findFirstChild("Torso")
  215. hum = char:findFirstChild("Humanoid")
  216. main = Instance.new("Part")
  217. prop(main, sword, false, 0, 0, 0.38, 2.2, 0.38, "White", false, "Custom")
  218. mme = Instance.new("SpecialMesh")
  219. mesh(mme,main,1,1,1,"Head")
  220. part1 = Instance.new("Part")
  221. prop(part1, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom")
  222. p1m = Instance.new("BlockMesh",part1)
  223. w1 = Instance.new("Weld")
  224. weld(w1, main, part1, 0, 0, 0, 0, 0.9, 0)
  225. part2 = Instance.new("Part")
  226. prop(part2, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom")
  227. p2m = Instance.new("BlockMesh",part2)
  228. w2 = Instance.new("Weld")
  229. weld(w2, main, part2, 0, 0, 0.8, 0.5, 0.85, 0)
  230. part3 = Instance.new("Part")
  231. prop(part3, sword, false, 0, 0, 0.7, 0.45, 0.4, "Medium blue", false, "Custom")
  232. p3m = Instance.new("BlockMesh",part3)
  233. w3 = Instance.new("Weld")
  234. weld(w3, main, part3, 0, 0, -0.8, -0.5, 0.85, 0)
  235. part4 = Instance.new("Part")
  236. prop(part4, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom")
  237. p4m = Instance.new("BlockMesh",part4)
  238. w4 = Instance.new("Weld")
  239. weld(w4, main, part4, 0, 0, -1.25, 0.8, 1, 0)
  240. part5 = Instance.new("Part")
  241. prop(part5, sword, false, 0, 0, 1.3, 0.45, 0.4, "Medium blue", false, "Custom")
  242. p5m = Instance.new("BlockMesh",part5)
  243. w5 = Instance.new("Weld")
  244. weld(w5, main, part5, 0, 0, 1.25, -0.8, 1, 0)
  245. part6 = Instance.new("Part")
  246. prop(part6, sword, false, 0, 0, 0.45, 0.6, 0.45, "Light blue", false, "Custom")
  247. p6m = Instance.new("SpecialMesh")
  248. mesh(p6m,part6,1.3,1.2,1.3,"Sphere")
  249. w6 = Instance.new("Weld")
  250. weld(w6, main, part6, 0, 0, 0, 0, -0.9, 0)
  251. blade1 = Instance.new("Part")
  252. prop(blade1, sword, false, 0, 0.2, 0.85, 2, 0.1, "Light blue", false, "Custom")
  253. b1m = Instance.new("SpecialMesh")
  254. mesh(b1m,blade1,1,1,1,"Torso")
  255. bw1 = Instance.new("Weld")
  256. weld(bw1, main, blade1, 0, 0, 0, 0, 2, 0)
  257. uns = Instance.new("Sound",blade1)
  258. uns.Volume = 1
  259. uns.Pitch = 1
  260. uns.SoundId = "rbxasset://sounds\\unsheath.wav"
  261. slash = Instance.new("Sound",blade1)
  262. slash.Volume = 1
  263. slash.Pitch = 1
  264. slash.SoundId = "rbxasset://sounds\\swordslash.wav"
  265. shea = Instance.new("Sound",blade1)
  266. shea.Volume = 1
  267. shea.Pitch = -0.9
  268. shea.SoundId = "rbxasset://sounds\\unsheath.wav"
  269. spi = Instance.new("Sound",blade1)
  270. spi.Volume = 1
  271. spi.Pitch = 1
  272. spi.SoundId = "http://www.roblox.com/asset/?id=28144268"
  273. charge = Instance.new("Sound",blade1)
  274. charge.Volume = 1
  275. charge.Pitch = 0.5
  276. charge.SoundId = "http://www.roblox.com/asset/?id=2692844"
  277. boom = Instance.new("Sound",blade1)
  278. boom.Volume = 1
  279. boom.Pitch = 2.2
  280. boom.SoundId = "rbxasset://sounds\\Rocket shot.wav"
  281. blade2 = Instance.new("Part")
  282. prop(blade2, sword, false, 0, 0.2, 1.2, 1.2, 0.1, "Light blue", false, "Custom")
  283. b2m = Instance.new("BlockMesh",blade2)
  284. bw2 = Instance.new("Weld")
  285. weld(bw2, main, blade2, 0, 0, math.pi/4, 0, 3, 0)
  286. blade3 = Instance.new("Part")
  287. prop(blade3, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom")
  288. b3m = Instance.new("SpecialMesh")
  289. mesh(b3m,blade3,1,1,1,"Wedge")
  290. bw3 = Instance.new("Weld")
  291. weld(bw3, main, blade3, math.pi, math.pi/2, 0, 0.3, 5.2, 0)
  292. blade4 = Instance.new("Part")
  293. prop(blade4, sword, false, 0, 0.2, 0.1, 4.5, 0.6, "Light blue", false, "Custom")
  294. b4m = Instance.new("SpecialMesh")
  295. mesh(b4m,blade4,1,1,1,"Wedge")
  296. bw4 = Instance.new("Weld")
  297. weld(bw4, main, blade4, math.pi, -math.pi/2, 0, -0.3, 5.2, 0)
  298. blade5 = Instance.new("Part")
  299. prop(blade5, sword, false, 0, 0.2, 0.6, 0.6, 0.1, "Light blue", false, "Custom")
  300. b5m = Instance.new("BlockMesh",blade5)
  301. bw5 = Instance.new("Weld")
  302. weld(bw5, main, blade5, 0, 0, math.pi/4, 0, 6.6, 0)
  303. part7 = Instance.new("Part")
  304. prop(part7, sword, false, 0.2, 0.2, 0.7, 1.6, 0.22, "Medium blue", false, "Custom")
  305. p7m = Instance.new("SpecialMesh")
  306. mesh(p7m,part7,1.3,1.2,1.3,"Sphere")
  307. w7 = Instance.new("Weld")
  308. weld(w7, main, part7, 0, 0, 0, 0, 3, 0)
  309. tup1 = Instance.new("Part")
  310. prop(tup1, sword, false, 0, 0.4, 1.2, 0.7, 0.4, "Bright blue", false, "Custom")
  311. tw1 = Instance.new("Weld")
  312. weld(tw1, torso, tup1, -0.3+(math.pi/2), -0.3, 0.2+(math.pi/2), 1.1, 1.2, 0)
  313. holdpart = Instance.new("Part")
  314. prop(holdpart, char, false, 1, 0, 0.5, 0.5, 0.5, "White", false, "Custom")
  315. hu = Instance.new("Weld")
  316. weld(hu, rarm, holdpart, 0, 0, 0, 0, 1, 0)
  317. holdweld = Instance.new("Weld")
  318. weld(holdweld, main, tup1, 0, 0, 0, 0, 1.5, 0)
  319. weaponweld = Instance.new("Weld")
  320. weld(weaponweld, holdpart, nil, -(math.pi/2), 0, (math.pi/2), 0, 0, 0)
  321. --Arm connections----------Arm connections----------Arm connections----------Arm connections--------
  322. rb = Instance.new("Part")
  323. prop(rb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric")
  324. rh = Instance.new("Weld")
  325. weld(rh, rb, torso, 0, 0, 0, 1.5, 0.5, 0)
  326. lb = Instance.new("Part")
  327. prop(lb, char, false, 1, 0, 1, 1, 1, "White", false, "Symmetric")
  328. lh = Instance.new("Weld")
  329. weld(lh, lb, torso, 0, 0, 0, -1.5, 0.5, 0)
  330. rw = Instance.new("Weld")
  331. weld(rw, rb, nil, 0, 0, 0, 0, 0.5, 0)
  332. lw = Instance.new("Weld")
  333. weld(lw, lb, nil, 0, 0, 0, 0, 0.5 ,0)
  334. neck = torso.Neck
  335. neor = neck.C1
  336. rightfight = CFrame.fromEulerAnglesXYZ(0.85,0.7,0) * CFrame.new(-0.23,-0.25,-0.1)
  337. leftfight = CFrame.fromEulerAnglesXYZ(0.3,0,0.4) * CFrame.new(0.2,-0.4,0.1)
  338. function selectmotion()
  339. weaponweld.C0 = CFrame.new(0,0,0)
  340. rw.C0 = CFrame.new(0,0,0)
  341. lw.C0 = CFrame.new(0,0,0)
  342. rw.Part1 = rarm
  343. lw.Part1 = larm
  344. for i=1, 15 do
  345. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0)
  346. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(-0.01,-0.05,-0.04)
  347. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.04,0.08,0.01) * CFrame.new(0,0,0)
  348. wait()
  349. end
  350. weaponweld.Part1 = main
  351. holdweld.Part1 = nil
  352. wait(0.14)
  353. uns:play()
  354. for i=1, 4 do
  355. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03) * CFrame.new(0,0,0)
  356. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0.12,-0.03,0.26)
  357. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0.04,0.03) * CFrame.new(0,0,0)
  358. wait()
  359. end
  360. for i=1, 10 do
  361. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0.15) * CFrame.new(0,0,0)
  362. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.15,-0.22,0.1) * CFrame.new(0.05,0.1,0.05)
  363. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0.07,0)
  364. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.06,0.03) * CFrame.new(0,0,0)
  365. wait()
  366. end
  367. wait(0.1)
  368. for i=1, 6 do
  369. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,-0.04,-0.09) * CFrame.new(0,0,0)
  370. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0.18,-0.14) * CFrame.new(-0.08,0.05,0.05)
  371. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.2,0,0) * CFrame.new(0,0,0)
  372. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0,0,-0.12) * CFrame.new(0,-0.04,0)
  373. wait()
  374. end
  375. rw.C0 = rightfight
  376. lw.C0 = leftfight
  377. neck.C1 = neor
  378. weaponweld.C0 = CFrame.new(0,0,0)
  379. selected = true
  380. end
  381. function deselmotion()
  382. for i=1, 12 do
  383. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.04,0,-0.07) * CFrame.new(0,0,0)
  384. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.07,0.16,0.04) * CFrame.new(0.02,-0.05,-0.04)
  385. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,-0.05) * CFrame.new(-0.02,0.03,0)
  386. wait()
  387. end
  388. shea:play()
  389. weaponweld.Part1 = nil
  390. holdweld.Part1 = tup1
  391. wait(0.1)
  392. for i=1, 8 do
  393. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.09) * CFrame.new(0,0,0)
  394. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.12,0,-0.12) * CFrame.new(-0.07,0.11,0)
  395. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0.04) * CFrame.new(0,0,0)
  396. wait()
  397. end
  398. rw.Part1 = nil
  399. lw.Part1 = nil
  400. rw.C0 = CFrame.new(0,0,0)
  401. lw.C0 = CFrame.new(0,0,0)
  402. neck.C1 = neor
  403. weaponweld.C0 = CFrame.new(0,0,0)
  404. selected = false
  405. end
  406. ----Effects--------------------------Effects--------------------------Effects--------------------------Effects----------------------
  407. function fade(brick,mesh,scale,tran,speed)
  408. coroutine.resume(coroutine.create(function()
  409. for i=tran,1,speed do
  410. wait()
  411. brick.Transparency = i
  412. mesh.Scale = mesh.Scale - Vector3.new(scale,scale,scale)
  413. end
  414. brick:remove()
  415. end))
  416. end
  417. function block(part,avg,cols)
  418. for i=1, math.random(1,3) do
  419. local s = (avg*1.4)*100
  420. local s2 = (avg/5)*100
  421. local size = math.random(s2,s)/100
  422. local p = Instance.new("Part",me.Character)
  423. prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom")
  424. p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
  425. coroutine.resume(coroutine.create(function()
  426. for i=p.Transparency, 1, 0.2 do
  427. wait(0.15)
  428. p.Transparency = i
  429. local cf = p.CFrame
  430. p.Size = Vector3.new(size,size,size)
  431. p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
  432. size = size - 0.2
  433. end
  434. p:remove()
  435. end))
  436. end
  437. end
  438. function blocks(part,avg,cols)
  439. for i=1, math.random(1,3) do
  440. local s = (avg*1.4)*100
  441. local s2 = (avg/5)*100
  442. local size = math.random(s2,s)/100
  443. local p = Instance.new("Part",me.Character)
  444. local pos = p.CFrame
  445. local pos2 = pos * CFrame.new(0,12,-15)
  446. local pos3 = pos2 * CFrame.new(0,-12,-12)
  447. local bv = Instance.new("BodyPosition",p)
  448. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  449. bv.position = pos2.p
  450. local bg = Instance.new("BodyGyro",p)
  451. bg.cframe = CFrame.new(pos.p,pos3.p)
  452. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  453. bg.P = 30000
  454. prop(p,me.Character,false,math.random(15,50)/100,0,size,size,size,cols[math.random(1,#cols)],true,"Custom")
  455. p.CFrame = CFrame.new(part.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
  456. coroutine.resume(coroutine.create(function()
  457. for i=p.Transparency, 1, 0.2 do
  458. wait(0.15)
  459. p.Transparency = i
  460. local cf = p.CFrame
  461. p.Size = Vector3.new(size,size,size)
  462. p.CFrame = cf * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100)
  463. size = size - 0.2
  464. end
  465. p:remove()
  466. end))
  467. end
  468. end
  469. function blading(part,color)
  470. local p = Instance.new("Part",me.Character)
  471. prop(p,me.Character,false,0.4,0,0.2,1.4,3.8,color,true,"Custom")
  472. p.CFrame = part.CFrame
  473. coroutine.resume(coroutine.create(function()
  474. for i=p.Transparency, 1, 0.04 do
  475. wait()
  476. p.Transparency = i
  477. end
  478. p:remove()
  479. end))
  480. end
  481. function spikes(part,color)
  482. local p = Instance.new("Part",me.Character)
  483. prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom")
  484. p.CFrame = part.CFrame * CFrame.new(0,-3,0)
  485. local mww = Instance.new("SpecialMesh")
  486. mesh(mww,p,6,5,6,"FileMesh")
  487. mww.MeshId = "http://www.roblox.com/asset/?id=20329976"
  488. fade(p,mww,0.55,p.Transparency,0.08)
  489. end
  490. function spikes2(part,color)
  491. local p = Instance.new("Part",me.Character)
  492. prop(p,me.Character,false,0.4,0,0.2,0.2,0.2,color,true,"Custom")
  493. p.CFrame = part.CFrame * CFrame.new(0,0,6) * CFrame.Angles(math.pi/2,0,0)
  494. local mww = Instance.new("SpecialMesh")
  495. mesh(mww,p,8,7,8,"FileMesh")
  496. mww.MeshId = "http://www.roblox.com/asset/?id=20329976"
  497. fade(p,mww,0.55,p.Transparency,0.06)
  498. end
  499. function bal(part,color,dist)
  500. local p = Instance.new("Part",me.Character)
  501. prop(p,me.Character,false,0.4,0,1,1,1,color,true,"Custom")
  502. p.CFrame = part.CFrame
  503. local mww = Instance.new("SpecialMesh")
  504. mesh(mww,p,dist,dist,dist,"Sphere")
  505. fade(p,mww,3,p.Transparency,0.06)
  506. end
  507. --Kill function----------------------Kill function----------------------Kill function--------------------
  508. function blast(dmg,part,crit)
  509. local randomposx = math.random(-30,30)
  510. local randomposy = math.random(-50,-10)
  511. local bil = Instance.new("BillboardGui",part)
  512. bil.Adornee = bil.Parent
  513. bil.Size = UDim2.new(0,110,0,70)
  514. local img = Instance.new("ImageLabel",bil)
  515. img.Size = UDim2.new(1,0,1,0)
  516. img.Image = "http://www.roblox.com/asset/?id=42621332"
  517. img.Position = UDim2.new(0,randomposx,0,randomposy)
  518. img.BackgroundTransparency = 1
  519. local txt = Instance.new("TextLabel",img)
  520. txt.Size = UDim2.new(1,0,1,0)
  521. txt.BackgroundTransparency = 1
  522. txt.Text = dmg
  523. txt.TextColor3 = Color3.new(0,0,0)
  524. txt.FontSize = "Size18"
  525. if crit then
  526. img.Image = "http://www.roblox.com/asset/?id=42621315"
  527. txt.FontSize = "Size24"
  528. txt.TextColor3 = Color3.new(0.6,0,0)
  529. end
  530. coroutine.resume(coroutine.create(function()
  531. wait(0.2)
  532. for i=1, math.random(30,50) do
  533. img.Position = UDim2.new(0,randomposx,0,randomposy)
  534. randomposy = randomposy - 4
  535. wait()
  536. end
  537. bil:remove()
  538. end))
  539. end
  540. deb = true
  541. function kill(hit,mod)
  542. if deb and attack and hit.Parent.Name ~= name then
  543. local ch = hit.Parent
  544. if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then
  545. deb = false
  546. local dm = math.random(0,avgdmg*2)
  547. local cri = false
  548. local cripro = math.random(1,criticalchance)
  549. if cripro == 1 then
  550. cri = true
  551. dm = math.random(avgdmg*1.5,avgdmg*4.5)
  552. end
  553. ch["Humanoid"].Health = ch["Humanoid"].Health - dm
  554. blast(dm,ch.Head,cri)
  555. if cri then
  556. coroutine.resume(coroutine.create(function()
  557. local lol = math.random(1,plat)
  558. if lol == 1 then
  559. ch["Humanoid"].PlatformStand = true
  560. ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  561. wait(0.9)
  562. ch["Humanoid"].PlatformStand = false
  563. if mod == true then
  564. ch.Torso.RotVelocity = Vector3.new(math.random(-30,30),math.random(-30,30),math.random(-30,30))
  565. ch.Torso.Velocity = Vector3.new(math.random(-30,30),math.random(15,70),math.random(-30,30))
  566. end
  567. end
  568. end))
  569. end
  570. wait(dela)
  571. deb = true
  572. end
  573. end
  574. end
  575. function ris(hit,mod)
  576. if deb and attack and hit.Parent.Name ~= name then
  577. local ch = hit.Parent
  578. if ch:findFirstChild("Humanoid") and ch:findFirstChild("Head") and ch:findFirstChild("Torso") then
  579. deb = false
  580. local dm = math.random(0,avgdmg*2)
  581. local cri = false
  582. local cripro = math.random(1,criticalchance)
  583. if cripro == 1 then
  584. cri = true
  585. dm = math.random(avgdmg*1.5,avgdmg*4.5)
  586. end
  587. ch["Humanoid"].Health = ch["Humanoid"].Health - dm
  588. blast(dm,ch.Head,cri)
  589. if cri then
  590. coroutine.resume(coroutine.create(function()
  591. local lol = math.random(1,plat)
  592. if lol == 1 then
  593. ch["Humanoid"].PlatformStand = true
  594. ch.Torso.RotVelocity = Vector3.new(math.random(-20,20),math.random(-20,20),math.random(-20,20))
  595. wait(0.9)
  596. ch["Humanoid"].PlatformStand = false
  597. if mod == true then
  598. ch.Torso.RotVelocity = Vector3.new(math.random(-100,100),math.random(-100,100),math.random(-100,100))
  599. ch.Torso.Velocity = Vector3.new(math.random(-100,100),math.random(105,170),math.random(-100,100))
  600. end
  601. end
  602. end))
  603. end
  604. wait(dela)
  605. deb = true
  606. end
  607. end
  608. end
  609. blade3.Touched:connect(kill)
  610. blade4.Touched:connect(kill)
  611. blade2.Touched:connect(kill)
  612. blade1.Touched:connect(kill)
  613. blade5.Touched:connect(kill)
  614. blade5.Touched:connect(ris)
  615. ----Attacks----------------------Attacks----------------------Attacks----------------------Attacks------------------
  616. -- block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  617. -- blading(blade2,"Bright red")
  618. function att()
  619. attacking = true
  620. for i=1,8 do
  621. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0)
  622. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
  623. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
  624. wait()
  625. end
  626. slash:play()
  627. wait(0.13)
  628. attack = true
  629. for i=1,6 do
  630. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0)
  631. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
  632. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
  633. block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  634. wait()
  635. end
  636. attack = false
  637. wait(0.08)
  638. for i=1,3 do
  639. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
  640. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
  641. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
  642. wait()
  643. end
  644. rw.C0 = rightfight
  645. lw.C0 = leftfight
  646. neck.C1 = neor
  647. weaponweld.C0 = CFrame.new(0,0,0)
  648. attacking = false
  649. end
  650. function stab()
  651. attacking = true
  652. for i=1,8 do
  653. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0)
  654. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
  655. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
  656. wait()
  657. end
  658. slash:play()
  659. avgdmg = 15
  660. criticalchance = 95
  661. wait(0.13)
  662. attack = true
  663. for i=1,6 do
  664. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,-0.44,-0.8) * CFrame.new(0,0,0)
  665. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
  666. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
  667. block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  668. bal(blade5,"Tr. Blue",25)
  669. wait()
  670. end
  671. attack = false
  672. wait(0.08)
  673. for i=1,3 do
  674. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
  675. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
  676. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
  677. blocks(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  678. bal(blade5,"Tr. Blue",25)
  679. wait()
  680. end
  681. rw.C0 = rightfight
  682. lw.C0 = leftfight
  683. neck.C1 = neor
  684. weaponweld.C0 = CFrame.new(0,0,0)
  685. attacking = false
  686. end
  687. function attas()
  688. attacking = true
  689. local pos = torso.CFrame
  690. local pos2 = pos * CFrame.new(0,12,-15)
  691. local pos3 = pos2 * CFrame.new(0,-12,-12)
  692. for i=1,6 do
  693. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.32,-0.06,0) * CFrame.new(0,0,0)
  694. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
  695. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
  696. spikes(torso,"Light blue")
  697. spikes2(torso,"Bright blue")
  698. bal(torso,"Tr. Blue",25)
  699. wait()
  700. end
  701. slash:play()
  702. avgdmg = 15
  703. criticalchance = 65
  704. wait(0.13)
  705. attack = true
  706. local bv = Instance.new("BodyPosition",torso)
  707. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  708. bv.position = pos2.p
  709. local bg = Instance.new("BodyGyro",torso)
  710. bg.cframe = CFrame.new(pos.p,pos3.p)
  711. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  712. bg.P = 30000
  713. for i=1,6 do
  714. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.54,0.08,0) * CFrame.new(0,0,0)
  715. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.05,0,0) * CFrame.new(0,0,0)
  716. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.24,0,0)
  717. block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  718. wait()
  719. end
  720. attack = false
  721. wait(0.08)
  722. for i=1,3 do
  723. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
  724. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
  725. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
  726. wait()
  727. end
  728. rw.C0 = rightfight
  729. lw.C0 = leftfight
  730. bv:remove()
  731. bg:remove()
  732. neck.C1 = neor
  733. weaponweld.C0 = CFrame.new(0,0,0)
  734. attacking = false
  735. end
  736. function spin()
  737. attacking = true
  738. hum.WalkSpeed = 0
  739. for i=1,7 do
  740. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0)
  741. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0)
  742. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
  743. wait()
  744. end
  745. spi:play()
  746. wait(0.3)
  747. spi:play()
  748. dela = 0.1
  749. avgdmg = 6
  750. criticalchance = 12
  751. local bv = Instance.new("BodyVelocity",torso)
  752. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  753. bv.velocity = torso.CFrame.lookVector * 22
  754. local bav = Instance.new("BodyAngularVelocity",torso)
  755. bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  756. bav.angularvelocity = Vector3.new(0,36,0)
  757. bav.P = 15000
  758. attack = true
  759. for i=1, 30 do
  760. wait()
  761. spikes(torso,"Medium blue")
  762. end
  763. bv:remove()
  764. bav:remove()
  765. hum.WalkSpeed = normal
  766. attack = false
  767. avgdmg = normdmg
  768. for i=1,5 do
  769. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0)
  770. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0)
  771. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
  772. wait()
  773. end
  774. dela = 0.4
  775. rw.C0 = rightfight
  776. lw.C0 = leftfight
  777. neck.C1 = neor
  778. weaponweld.C0 = CFrame.new(0,0,0)
  779. attacking = false
  780. criticalchance = normchance
  781. end
  782. function spins()
  783. attacking = true
  784. hum.WalkSpeed = 0
  785. for i=1,7 do
  786. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0)
  787. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0)
  788. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
  789. bal(torso,"Tr. Blue",25)
  790. wait()
  791. end
  792. spi:play()
  793. wait(0.3)
  794. spi:play()
  795. dela = 0.1
  796. avgdmg = 6
  797. criticalchance = 12
  798. local bv = Instance.new("BodyVelocity",torso)
  799. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  800. bv.velocity = torso.CFrame.lookVector * 22
  801. local bav = Instance.new("BodyAngularVelocity",torso)
  802. bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  803. bav.angularvelocity = Vector3.new(0,36,0)
  804. bav.P = 15000
  805. attack = true
  806. for i=1, 30 do
  807. wait()
  808. spikes(torso,"Medium blue")
  809. end
  810. bv:remove()
  811. bav:remove()
  812. hum.WalkSpeed = normal
  813. attack = false
  814. avgdmg = normdmg
  815. for i=1,5 do
  816. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0)
  817. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0)
  818. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
  819. wait()
  820. end
  821. dela = 0.4
  822. rw.C0 = rightfight
  823. lw.C0 = leftfight
  824. neck.C1 = neor
  825. weaponweld.C0 = CFrame.new(0,0,0)
  826. attacking = false
  827. criticalchance = normchance
  828. end
  829. function rise()
  830. attacking = true
  831. local pos = torso.CFrame
  832. local pos2 = pos * CFrame.new(0,5,-15)
  833. local pos3 = pos2 * CFrame.new(0,-3,-12)
  834. hum.WalkSpeed = 0
  835. for i=1,7 do
  836. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0.1,0.03) * CFrame.new(0,0,0)
  837. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0) * CFrame.new(0,0,0)
  838. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
  839. bal(torso,"Tr. Blue",25)
  840. wait()
  841. end
  842. spi:play()
  843. wait(0.3)
  844. spi:play()
  845. dela = 0.1
  846. avgdmg = 6
  847. criticalchance = 12
  848. local bv = Instance.new("BodyPosition",torso)
  849. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  850. bv.position = pos2.p
  851. local bg = Instance.new("BodyGyro",torso)
  852. bg.cframe = CFrame.new(pos.p,pos3.p)
  853. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  854. bg.P = 30000
  855. attack = true
  856. for i=1, 30 do
  857. wait()
  858. spikes2(torso,"Medium blue")
  859. end
  860. bv:remove()
  861. bg:remove()
  862. hum.WalkSpeed = normal
  863. attack = false
  864. avgdmg = normdmg
  865. for i=1,5 do
  866. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.1,-0.12,-0.04) * CFrame.new(0,0,0)
  867. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.25,0,0) * CFrame.new(0,0,0)
  868. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0,0,0) * CFrame.new(0,0,0)
  869. wait()
  870. end
  871. dela = 0.4
  872. rw.C0 = rightfight
  873. lw.C0 = leftfight
  874. neck.C1 = neor
  875. weaponweld.C0 = CFrame.new(0,0,0)
  876. attacking = false
  877. criticalchance = normchance
  878. end
  879. function sprint()
  880. attacking = true
  881. hum.WalkSpeed = 0
  882. local pos = torso.CFrame
  883. local pos2 = pos * CFrame.new(0,12,-15)
  884. local pos3 = pos2 * CFrame.new(0,-12,-12)
  885. for i=1,6 do
  886. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
  887. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
  888. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0)
  889. wait()
  890. end
  891. avgdmg = 14
  892. local bv = Instance.new("BodyPosition",torso)
  893. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  894. bv.position = pos2.p
  895. local bg = Instance.new("BodyGyro",torso)
  896. bg.cframe = CFrame.new(pos.p,pos3.p)
  897. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  898. bg.P = 30000
  899. for i=1, 7 do
  900. wait()
  901. spikes2(torso,"Medium blue")
  902. end
  903. wait(0.1)
  904. coroutine.resume(coroutine.create(function()
  905. for i=1, 17 do
  906. wait()
  907. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04)
  908. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05)
  909. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0)
  910. end
  911. end))
  912. coroutine.resume(coroutine.create(function()
  913. for i=0.4, 5.3,0.07 do
  914. wait(0.04)
  915. block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  916. end
  917. end))
  918. charge:play()
  919. coroutine.resume(coroutine.create(function()
  920. wait(2.5)
  921. for i=1, 11 do
  922. wait()
  923. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0)
  924. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0)
  925. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0)
  926. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0)
  927. end
  928. end))
  929. criticalchance = 1
  930. plat = 1
  931. dela = 0
  932. wait(3.8)
  933. boom:play()
  934. attack = true
  935. coroutine.resume(coroutine.create(function()
  936. for i=1, 5 do
  937. wait()
  938. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
  939. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
  940. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
  941. end
  942. end))
  943. bv.position = pos3.p
  944. for i=1, 7 do
  945. wait()
  946. spikes2(torso,"Medium blue")
  947. end
  948. coroutine.resume(coroutine.create(function()
  949. for i=1, 12 do
  950. wait()
  951. bal(blade5,"Medium blue",splashdist*2)
  952. end
  953. end))
  954. local parts = getcharparts(workspace)
  955. for _,v in pairs(parts) do
  956. if (v.Position - blade5.Position).magnitude < 14 then
  957. kill(v,true)
  958. end
  959. end
  960. wait(0.3)
  961. attack = false
  962. bv:remove()
  963. bg:remove()
  964. hum.WalkSpeed = normal
  965. avgdmg = normdmg
  966. rw.C0 = rightfight
  967. lw.C0 = leftfight
  968. neck.C1 = neor
  969. weaponweld.C0 = CFrame.new(0,0,0)
  970. attacking = false
  971. criticalchance = normchance
  972. plat = 2
  973. end
  974. function sprint2()
  975. attacking = true
  976. hum.WalkSpeed = 0
  977. local pos = torso.CFrame
  978. local pos2 = pos * CFrame.new(0,15,-15)
  979. local pos3 = pos2 * CFrame.new(0,-13,-12)
  980. for i=1,6 do
  981. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
  982. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.2,0,0)
  983. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,0) * CFrame.new(0,0,0)
  984. wait()
  985. end
  986. avgdmg = 14
  987. local bv = Instance.new("BodyPosition",torso)
  988. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  989. bv.position = pos2.p
  990. local bg = Instance.new("BodyGyro",torso)
  991. bg.cframe = CFrame.new(pos.p,pos3.p)
  992. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  993. bg.P = 30000
  994. for i=1, 4 do
  995. wait()
  996. spikes2(torso,"Medium blue")
  997. spikes2(torso,"Light blue")
  998. spikes2(torso,"Bright blue")
  999. end
  1000. wait(0.1)
  1001. coroutine.resume(coroutine.create(function()
  1002. for i=1, 34 do
  1003. wait()
  1004. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.15,0,-0.04)
  1005. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.16,0,0.05)
  1006. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.02,0,0) * CFrame.new(0,0,0)
  1007. end
  1008. end))
  1009. coroutine.resume(coroutine.create(function()
  1010. for i=0.4, 5.3,0.07 do
  1011. wait(0.04)
  1012. block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  1013. end
  1014. end))
  1015. charge:play()
  1016. coroutine.resume(coroutine.create(function()
  1017. wait(2.5)
  1018. for i=1, 11 do
  1019. wait()
  1020. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0.05,0,0)
  1021. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(0.08,0,0)
  1022. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0,-(math.pi/11),0)
  1023. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.03,0,0) * CFrame.new(0,0,0)
  1024. end
  1025. end))
  1026. criticalchance = 1
  1027. plat = 1
  1028. dela = 0
  1029. wait(3.8)
  1030. boom:play()
  1031. attack = true
  1032. coroutine.resume(coroutine.create(function()
  1033. for i=1, 5 do
  1034. wait()
  1035. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
  1036. lw.C0 = lw.C0 * CFrame.fromEulerAnglesXYZ(-0.34,0,0)
  1037. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.1,0,0) * CFrame.new(0,0,0)
  1038. end
  1039. end))
  1040. bv.position = pos3.p
  1041. for i=1, 7 do
  1042. wait()
  1043. spikes2(torso,"Medium blue")
  1044. end
  1045. coroutine.resume(coroutine.create(function()
  1046. for i=1, 12 do
  1047. wait()
  1048. bal(blade5,"Medium blue",splashdist*2)
  1049. end
  1050. end))
  1051. local parts = getcharparts(workspace)
  1052. for _,v in pairs(parts) do
  1053. if (v.Position - blade5.Position).magnitude < 14 then
  1054. kill(v,true)
  1055. end
  1056. end
  1057. wait(0.3)
  1058. attack = false
  1059. bv:remove()
  1060. bg:remove()
  1061. hum.WalkSpeed = normal
  1062. avgdmg = normdmg
  1063. rw.C0 = rightfight
  1064. lw.C0 = leftfight
  1065. neck.C1 = neor
  1066. weaponweld.C0 = CFrame.new(0,0,0)
  1067. attacking = false
  1068. criticalchance = normchance
  1069. plat = 2
  1070. end
  1071. function combo()
  1072. att()
  1073. attas()
  1074. sprint()
  1075. spin()
  1076. end
  1077. function run()
  1078. spin()
  1079. spin()
  1080. spin()
  1081. end
  1082. function rush()
  1083. attacking = true
  1084. for i=1,8 do
  1085. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0)
  1086. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0)
  1087. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
  1088. wait(0.1)
  1089. end
  1090. slash:play()
  1091. wait(0.13)
  1092. attack = true
  1093. local bv = Instance.new("BodyVelocity",torso)
  1094. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1095. bv.velocity = torso.CFrame.lookVector * 220
  1096. local bav = Instance.new("BodyAngularVelocity",torso)
  1097. bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  1098. bav.angularvelocity = Vector3.new(0,36,0)
  1099. bav.P = 15000
  1100. for i=1,6 do
  1101. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0)
  1102. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
  1103. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
  1104. block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  1105. wait()
  1106. end
  1107. attack = false
  1108. wait(0.08)
  1109. for i=1,3 do
  1110. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
  1111. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
  1112. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
  1113. block(blade5,2,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  1114. wait()
  1115. end
  1116. rw.C0 = rightfight
  1117. lw.C0 = leftfight
  1118. bv:remove()
  1119. bav:remove()
  1120. neck.C1 = neor
  1121. weaponweld.C0 = CFrame.new(0,0,0)
  1122. attacking = false
  1123. end
  1124. function masta()
  1125. attacking = true
  1126. for i=1,8 do
  1127. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.03,0.1,0) * CFrame.new(0,0,0)
  1128. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-(math.pi/2)/12,0.03,0.07) * CFrame.new(0,0,0)
  1129. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.05,0,0.03)
  1130. bal(torso,"Tr. Blue",25)
  1131. spikes2(torso,"Medium blue")
  1132. block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  1133. wait(0.1)
  1134. end
  1135. slash:play()
  1136. avgdmg = 37
  1137. criticalchance = 125
  1138. wait(0.13)
  1139. attack = true
  1140. local bv = Instance.new("BodyVelocity",torso)
  1141. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1142. bv.velocity = torso.CFrame.lookVector * 220
  1143. local bav = Instance.new("BodyAngularVelocity",torso)
  1144. bav.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  1145. bav.angularvelocity = Vector3.new(0,36,0)
  1146. bav.P = 15000
  1147. for i=1,6 do
  1148. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(-0.44,0.08,0) * CFrame.new(0,0,0)
  1149. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(-0.04,0,0) * CFrame.new(0,0,0)
  1150. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(-0.14,0,0)
  1151. bal(torso,"Tr. Blue",25)
  1152. spikes2(torso,"Medium blue")
  1153. block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  1154. wait()
  1155. end
  1156. attack = false
  1157. wait(0.08)
  1158. for i=1,3 do
  1159. rw.C0 = rw.C0 * CFrame.fromEulerAnglesXYZ(0,0,0.08)
  1160. weaponweld.C0 = weaponweld.C0 * CFrame.fromEulerAnglesXYZ(0.23,0,0)
  1161. neck.C1 = neck.C1 * CFrame.fromEulerAnglesXYZ(0.1,0,-0.05)
  1162. bal(torso,"Tr. Blue",25)
  1163. spikes2(torso,"Medium blue")
  1164. block(blade5,i,{"Medium blue", "Light blue", "White", "Tr. Blue"})
  1165. wait()
  1166. end
  1167. rw.C0 = rightfight
  1168. lw.C0 = leftfight
  1169. bv:remove()
  1170. bav:remove()
  1171. neck.C1 = neor
  1172. weaponweld.C0 = CFrame.new(0,0,0)
  1173. attacking = false
  1174. end
  1175. if script.Parent.className ~= "HopperBin" then
  1176. local h = Instance.new("HopperBin",me.Backpack)
  1177. h.Name = "SoulSword"
  1178. script.Parent = h
  1179. end
  1180. local bin = script.Parent
  1181. function sel(mouse)
  1182. neck.C1 = neor
  1183. if (selected == false) then
  1184. selectmotion()
  1185. end
  1186. mouse.Button1Down:connect(function()
  1187. if (attacking == false) then
  1188. att()
  1189. end
  1190. end)
  1191. mouse.KeyDown:connect(function(kuu)
  1192. local kai = kuu:lower()
  1193. if attacking == false then
  1194. if (kai == "q") then
  1195. spin()
  1196. elseif (kai == "e") then
  1197. att()
  1198. elseif (kai == "r") then
  1199. sprint()
  1200. elseif (kai == "l") then
  1201. stab()
  1202. elseif (kai == "t") then
  1203. attas()
  1204. elseif (kai == "z") then
  1205. masta()
  1206. elseif (kai == "y") then
  1207. spins()
  1208. elseif (kai == "g") then
  1209. combo()
  1210. elseif (kai == "p") then
  1211. rise()
  1212. elseif (kai == "j") then
  1213. sprint2()
  1214. elseif (kai == "h") then
  1215. run()
  1216. elseif (kai == "f") then
  1217. rush()
  1218. end
  1219. end
  1220. end)
  1221. while selected do
  1222. wait(0.8)
  1223. local k = math.random(1,5)
  1224. if k == 1 then
  1225. if hum.Health < 50 then
  1226. for i=1, math.random(4,24) do
  1227. wait(0.1)
  1228. local col = healcols[math.random(1,#healcols)]
  1229. local sa = math.random(30,90)/100
  1230. local p = Instance.new("Part")
  1231. prop(p,me.Character,false,0.1,0.05,1,1,1,col,false,"Symmetric")
  1232. p.CFrame = CFrame.new(torso.Position) * CFrame.Angles(math.random(-320,320)/100,math.random(-320,320)/100,math.random(-320,320)/100) * CFrame.new(0,0,math.random(4,12))
  1233. local mes = Instance.new("SpecialMesh")
  1234. mesh(mes,p,sa,sa,sa,"Sphere")
  1235. local bg = Instance.new("BodyPosition",p)
  1236. bg.maxForce = Vector3.new(1000000,1000000,1000000)
  1237. bg.P = 100000
  1238. bg.position = torso.Position
  1239. coroutine.resume(coroutine.create(function()
  1240. repeat
  1241. bg.position = torso.Position
  1242. wait()
  1243. until (p.Position - torso.Position).magnitude < 1.8
  1244. hum.Health = hum.Health + 1.2
  1245. p:remove()
  1246. end))
  1247. end
  1248. end
  1249. end
  1250. end
  1251. end
  1252. function desel()
  1253. neck.C1 = neor
  1254. if selected then
  1255. deselmotion()
  1256. end
  1257. end
  1258. bin.Selected:connect(sel)
  1259. bin.Deselected:connect(desel)
  1260. print 'Hello world!'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement