TheProNoob2004

Phoenix Sword

Aug 12th, 2016
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. plr=game.Players.LocalPlayer
  2. char=plr.Character
  3. char.Humanoid.WalkSpeed=67
  4. pcall(function() char.MainParts:Remove() end)
  5. bin=Instance.new("HopperBin",plr.Backpack)
  6. bin.Name="Pheonix Sword"
  7. script.Parent=bin
  8. attacking=false
  9. pcall(function() workspace.MainParts:Destroy() end)
  10. function makepart(name,parent,s1,s2,s3,color)
  11. p=Instance.new("Part",parent)
  12. p.Name=name
  13. p.formFactor="Custom"
  14. p.Anchored=false
  15. p.Locked=true
  16. p.CanCollide=false
  17. p.Size=Vector3.new(s1,s2,s3)
  18. p.BrickColor=BrickColor.new(color)
  19. p:BreakJoints()
  20. return p
  21. end
  22. function cylinder(part)
  23. bm=Instance.new("CylinderMesh",part)
  24. return bm
  25. end
  26. function blockmesh(part)
  27. bm=Instance.new("BlockMesh",part)
  28. return bm
  29. end
  30. function specmesh(part,type,s1,s2,s3)
  31. spec=Instance.new("SpecialMesh",part)
  32. spec.MeshType=type
  33. spec.Scale=Vector3.new(s1,s2,s3)
  34. return spec
  35. end
  36. chosen="Really black"
  37. main=Instance.new("Model",char)
  38. main.Name="MainParts"
  39. handle = makepart("Handle",main,.2,2,.2,"Really black")
  40. cylinder(handle)
  41. wd1=Instance.new("Weld",handle)
  42. wd1.Part1=handle
  43. wd1.Part0=nil
  44. handlep = makepart("HandlePart",main,.22,0.02,.22,chosen)
  45. cyl1 = cylinder(handlep)
  46. cyl1.Scale=Vector3.new(1,.5,1)
  47. w1=Instance.new("Weld",handlep)
  48. w1.Part1=handle
  49. w1.Part0=handlep
  50. w1.C1=CFrame.new(0,1,0) * CFrame.Angles(0,0,0)
  51. handlep2 = makepart("HandlePart2",main,.25,.25,.25,chosen)
  52. specmesh(hanelp2,"Sphere",1,1,1)
  53. w1=Instance.new("Weld",handlep2)
  54. w1.Part1=handlep
  55. w1.Part0=handlep2
  56. w1.C1=CFrame.new(0,.05,0) * CFrame.Angles(0,0,0)
  57. handlep3 = makepart("HandlePart3",main,.22,0.02,.22,chosen)
  58. cyl1 = cylinder(handlep3)
  59. cyl1.Scale=Vector3.new(1,.3,1)
  60. w1=Instance.new("Weld",handlep3)
  61. w1.Part1=handle
  62. w1.Part0=handlep3
  63. w1.C1=CFrame.new(0,-.5,0) * CFrame.Angles(0,0,0)
  64. handlep4 = makepart("HandlePart4",main,.24,0.02,.24,chosen)
  65. cyl1 = cylinder(handlep4)
  66. cyl1.Scale=Vector3.new(1,.3,1)
  67. w1=Instance.new("Weld",handlep4)
  68. w1.Part1=handle
  69. w1.Part0=handlep4
  70. w1.C1=CFrame.new(0,-.54,0) * CFrame.Angles(0,0,0)
  71. handlep5 = makepart("HandlePart5",main,.26,0.02,.26,chosen)
  72. cyl1 = cylinder(handlep5)
  73. cyl1.Scale=Vector3.new(1,.3,1)
  74. w1=Instance.new("Weld",handlep5)
  75. w1.Part1=handle
  76. w1.Part0=handlep5
  77. w1.C1=CFrame.new(0,-.57,0) * CFrame.Angles(0,0,0)
  78. handlep6 = makepart("HandlePart6",main,.02,0.02,.02,chosen)
  79. bm6=blockmesh(handlep6)
  80. bm6.Scale=Vector3.new(2,2.6,1.3)
  81. w1=Instance.new("Weld",handlep6)
  82. w1.Part1=handle
  83. w1.Part0=handlep6
  84. w1.C1=CFrame.new(0,-.84,0) * CFrame.Angles(0,0,0)
  85. handlep7 = makepart("HandlePart7",main,.02,0.02,.02,chosen)
  86. bm7=blockmesh(handlep7)
  87. bm7.Scale=Vector3.new(3,1.6,1.3)
  88. w1=Instance.new("Weld",handlep7)
  89. w1.Part1=handle
  90. w1.Part0=handlep7
  91. w1.C1=CFrame.new(.5,-.84,0) * CFrame.Angles(0,0,0)
  92. handlep8 = makepart("HandlePart8",main,.02,0.02,.02,chosen)
  93. bm8=blockmesh(handlep8)
  94. bm8.Scale=Vector3.new(3,1.6,1.3)
  95. w1=Instance.new("Weld",handlep8)
  96. w1.Part1=handle
  97. w1.Part0=handlep8
  98. w1.C1=CFrame.new(-.5,-.84,0) * CFrame.Angles(0,0,0)
  99. handlep11 = makepart("HandlePart11",main,.02,0.02,.02,"Really black")
  100. bm11=blockmesh(handlep11)
  101. bm11.Scale=Vector3.new(1.4,1.4,1.61)
  102. w1=Instance.new("Weld",handlep11)
  103. w1.Part1=handle
  104. w1.Part0=handlep11
  105. w1.C1=CFrame.new(0,-.84,0) * CFrame.Angles(0,0,0)
  106. bladep1 = makepart("BladePart1",main,.02,4,.02,"Really black")
  107. bp1=blockmesh(bladep1)
  108. bp1.Scale=Vector3.new(4,1,.5)
  109. w1=Instance.new("Weld",bladep1)
  110. w1.Part1=handle
  111. w1.Part0=bladep1
  112. w1.C1=CFrame.new(0,-3,0) * CFrame.Angles(0,0,0)
  113. bladep2 = makepart("BladePart2",main,.02,.02,.02,chosen)
  114. bp2=specmesh(bladep2,"Wedge",.6,1,1)
  115. w1=Instance.new("Weld",bladep2)
  116. w1.Part1=handle
  117. w1.Part0=bladep2
  118. w1.C1=CFrame.new(-0.2,-4.6,0)
  119. w1.C0=CFrame.Angles(0,math.rad(90),0)
  120. bladep3 = makepart("BladePart3",main,.02,.02,.02,chosen)
  121. bp3=specmesh(bladep3,"Wedge",.6,1,1)
  122. w1=Instance.new("Weld",bladep3)
  123. w1.Part1=handle
  124. w1.Part0=bladep3
  125. w1.C1=CFrame.new(0.2,-4.6,0)
  126. w1.C0=CFrame.Angles(0,math.rad(270),0)
  127. bladep4 = makepart("BladePart4",main,.02,.02,.02,chosen)
  128. bp4=specmesh(bladep4,"Wedge",.6,1,1)
  129. w1=Instance.new("Weld",bladep4)
  130. w1.Part1=handle
  131. w1.Part0=bladep4
  132. w1.C1=CFrame.new(0.2,-4.3,0)
  133. w1.C0=CFrame.Angles(math.rad(90),math.rad(270),0)
  134. bladep5 = makepart("BladePart5",main,.02,.02,.02,chosen)
  135. bp5=specmesh(bladep5,"Wedge",.6,1,1)
  136. w1=Instance.new("Weld",bladep5)
  137. w1.Part1=handle
  138. w1.Part0=bladep5
  139. w1.C1=CFrame.new(-0.2,-4.3,0)
  140. w1.C0=CFrame.Angles(math.rad(90),math.rad(90),0)
  141. bladep6 = makepart("BladePart6",main,.02,.02,.02,chosen)
  142. bp6=cylinder(bladep6)
  143. bp6.Scale=Vector3.new(1,.6,1)
  144. w1=Instance.new("Weld",bladep6)
  145. w1.Part1=handle
  146. w1.Part0=bladep6
  147. w1.C1=CFrame.new(0,-4.45,0)
  148. w1.C0=CFrame.Angles(math.rad(90),0,math.rad(90))
  149. bladep7 = makepart("BladePart7",main,.02,.02,.02,chosen)
  150. bp7=blockmesh(bladep7)
  151. bp7.Scale=Vector3.new(.6,16.6,.6)
  152. w1=Instance.new("Weld",bladep7)
  153. w1.Part1=handle
  154. w1.Part0=bladep7
  155. w1.C1=CFrame.new(0,-2.72,0)
  156. bladep8 = makepart("BladePart8",main,.02,.02,.02,"red")
  157. bp8=specmesh(bladep8,"Wedge",.51,2,3)
  158. w1=Instance.new("Weld",bladep8)
  159. w1.Part1=handle
  160. w1.Part0=bladep8
  161. w1.C1=CFrame.new(0.20,-5.3,0)
  162. w1.C0=CFrame.Angles(math.rad(90),math.rad(90),0)
  163. bladep9 = makepart("BladePart9",main,.02,.02,.02,"red")
  164. bp9=specmesh(bladep9,"Wedge",.51,2,3)
  165. w1=Instance.new("Weld",bladep9)
  166. w1.Part1=handle
  167. w1.Part0=bladep9
  168. w1.C1=CFrame.new(-0.20,-5.3,0)
  169. w1.C0=CFrame.Angles(math.rad(90),math.rad(270),0)
  170. --[[ Ghost Sword ]]
  171. function ghost()
  172. main2=Instance.new("Model",char)
  173. main2.Name="GhostMainParts"
  174. handleg = makepart("Handle",main2,.2,2,.2,"Really black")
  175. cylinder(handleg)
  176. wd12=Instance.new("Weld",handleg)
  177. wd12.Part1=handleg
  178. wd12.Name="Weldd"
  179. wd12.Part0=nil
  180. handlep = makepart("HandlePart",main2,.22,0.02,.22,chosen)
  181. cyl1 = cylinder(handlep)
  182. cyl1.Scale=Vector3.new(1,.5,1)
  183. w1=Instance.new("Weld",handlep)
  184. w1.Part1=handleg
  185. w1.Part0=handlep
  186. w1.C1=CFrame.new(0,1,0) * CFrame.Angles(0,0,0)
  187. handlep2 = makepart("HandlePart2",main2,.25,.25,.25,chosen)
  188. specmesh(hanelp2,"Sphere",1,1,1)
  189. w1=Instance.new("Weld",handlep2)
  190. w1.Part1=handlep
  191. w1.Part0=handlep2
  192. w1.C1=CFrame.new(0,.05,0) * CFrame.Angles(0,0,0)
  193. handlep3 = makepart("HandlePart3",main2,.22,0.02,.22,chosen)
  194. cyl1 = cylinder(handlep3)
  195. cyl1.Scale=Vector3.new(1,.3,1)
  196. w1=Instance.new("Weld",handlep3)
  197. w1.Part1=handleg
  198. w1.Part0=handlep3
  199. w1.C1=CFrame.new(0,-.5,0) * CFrame.Angles(0,0,0)
  200. handlep4 = makepart("HandlePart4",main2,.24,0.02,.24,chosen)
  201. cyl1 = cylinder(handlep4)
  202. cyl1.Scale=Vector3.new(1,.3,1)
  203. w1=Instance.new("Weld",handlep4)
  204. w1.Part1=handleg
  205. w1.Part0=handlep4
  206. w1.C1=CFrame.new(0,-.54,0) * CFrame.Angles(0,0,0)
  207. handlep5 = makepart("HandlePart5",main2,.26,0.02,.26,chosen)
  208. cyl1 = cylinder(handlep5)
  209. cyl1.Scale=Vector3.new(1,.3,1)
  210. w1=Instance.new("Weld",handlep5)
  211. w1.Part1=handleg
  212. w1.Part0=handlep5
  213. w1.C1=CFrame.new(0,-.57,0) * CFrame.Angles(0,0,0)
  214. handlep6 = makepart("HandlePart6",main2,.02,0.02,.02,chosen)
  215. bm6=blockmesh(handlep6)
  216. bm6.Scale=Vector3.new(2,2.6,1.3)
  217. w1=Instance.new("Weld",handlep6)
  218. w1.Part1=handleg
  219. w1.Part0=handlep6
  220. w1.C1=CFrame.new(0,-.84,0) * CFrame.Angles(0,0,0)
  221. handlep7 = makepart("HandlePart7",main2,.02,0.02,.02,chosen)
  222. bm7=blockmesh(handlep7)
  223. bm7.Scale=Vector3.new(3,1.6,1.3)
  224. w1=Instance.new("Weld",handlep7)
  225. w1.Part1=handleg
  226. w1.Part0=handlep7
  227. w1.C1=CFrame.new(.5,-.84,0) * CFrame.Angles(0,0,0)
  228. handlep8 = makepart("HandlePart8",main2,.02,0.02,.02,chosen)
  229. bm8=blockmesh(handlep8)
  230. bm8.Scale=Vector3.new(3,1.6,1.3)
  231. w1=Instance.new("Weld",handlep8)
  232. w1.Part1=handleg
  233. w1.Part0=handlep8
  234. w1.C1=CFrame.new(-.5,-.84,0) * CFrame.Angles(0,0,0)
  235. handlep11 = makepart("HandlePart11",main2,.02,0.02,.02,"Really black")
  236. bm11=blockmesh(handlep11)
  237. bm11.Scale=Vector3.new(1.4,1.4,1.61)
  238. w1=Instance.new("Weld",handlep11)
  239. w1.Part1=handleg
  240. w1.Part0=handlep11
  241. w1.C1=CFrame.new(0,-.84,0) * CFrame.Angles(0,0,0)
  242. bladep1 = makepart("BladePart1",main2,.02,4,.02,"red")
  243. bp1=blockmesh(bladep1)
  244. bp1.Scale=Vector3.new(4,1,.5)
  245. w1=Instance.new("Weld",bladep1)
  246. w1.Part1=handleg
  247. w1.Part0=bladep1
  248. w1.C1=CFrame.new(0,-3,0) * CFrame.Angles(0,0,0)
  249. bladep2 = makepart("BladePart2",main2,.02,.02,.02,chosen)
  250. bp2=specmesh(bladep2,"Wedge",.6,1,1)
  251. w1=Instance.new("Weld",bladep2)
  252. w1.Part1=handleg
  253. w1.Part0=bladep2
  254. w1.C1=CFrame.new(-0.2,-4.6,0)
  255. w1.C0=CFrame.Angles(0,math.rad(90),0)
  256. bladep3 = makepart("BladePart3",main2,.02,.02,.02,chosen)
  257. bp3=specmesh(bladep3,"Wedge",.6,1,1)
  258. w1=Instance.new("Weld",bladep3)
  259. w1.Part1=handleg
  260. w1.Part0=bladep3
  261. w1.C1=CFrame.new(0.2,-4.6,0)
  262. w1.C0=CFrame.Angles(0,math.rad(270),0)
  263. bladep4 = makepart("BladePart4",main2,.02,.02,.02,chosen)
  264. bp4=specmesh(bladep4,"Wedge",.6,1,1)
  265. w1=Instance.new("Weld",bladep4)
  266. w1.Part1=handleg
  267. w1.Part0=bladep4
  268. w1.C1=CFrame.new(0.2,-4.3,0)
  269. w1.C0=CFrame.Angles(math.rad(90),math.rad(270),0)
  270. bladep5 = makepart("BladePart5",main2,.02,.02,.02,chosen)
  271. bp5=specmesh(bladep5,"Wedge",.6,1,1)
  272. w1=Instance.new("Weld",bladep5)
  273. w1.Part1=handleg
  274. w1.Part0=bladep5
  275. w1.C1=CFrame.new(-0.2,-4.3,0)
  276. w1.C0=CFrame.Angles(math.rad(90),math.rad(90),0)
  277. bladep6 = makepart("BladePart6",main2,.02,.02,.02,chosen)
  278. bp6=cylinder(bladep6)
  279. bp6.Scale=Vector3.new(1,.6,1)
  280. w1=Instance.new("Weld",bladep6)
  281. w1.Part1=handleg
  282. w1.Part0=bladep6
  283. w1.C1=CFrame.new(0,-4.45,0)
  284. w1.C0=CFrame.Angles(math.rad(90),0,math.rad(90))
  285. bladep7 = makepart("BladePart7",main2,.02,.02,.02,chosen)
  286. bp7=blockmesh(bladep7)
  287. bp7.Scale=Vector3.new(.6,16.6,.6)
  288. w1=Instance.new("Weld",bladep7)
  289. w1.Part1=handleg
  290. w1.Part0=bladep7
  291. w1.C1=CFrame.new(0,-2.72,0)
  292. bladep8 = makepart("BladePart8",main2,.02,.02,.02,"red")
  293. bp8=specmesh(bladep8,"Wedge",.51,2,3)
  294. w1=Instance.new("Weld",bladep8)
  295. w1.Part1=handleg
  296. w1.Part0=bladep8
  297. w1.C1=CFrame.new(0.20,-5.3,0)
  298. w1.C0=CFrame.Angles(math.rad(90),math.rad(90),0)
  299. bladep9 = makepart("BladePart9",main2,.02,.02,.02,"red")
  300. bp9=specmesh(bladep9,"Wedge",.51,2,3)
  301. w1=Instance.new("Weld",bladep9)
  302. w1.Part1=handleg
  303. w1.Part0=bladep9
  304. w1.C1=CFrame.new(-0.20,-5.3,0)
  305. w1.C0=CFrame.Angles(math.rad(90),math.rad(270),0)
  306. return main2
  307. end
  308. hold=false
  309. --[[Key/Mouse]]
  310. mode="normal"
  311. function select()
  312. mode="normal"
  313. equipanim()
  314. end
  315. function unselect()
  316. char.Humanoid.WalkSpeed=20
  317. hideanim()
  318. end
  319. combo=0
  320. bin.Selected:connect(function(mouse)
  321. select()
  322. mouse.Button1Down:connect(function()
  323. if combo==0 then
  324. slashanim()
  325. combo = 1
  326. elseif combo==1 then
  327. slashanim2()
  328. combo = 0
  329. end
  330. end)
  331. mouse.KeyDown:connect(function(key)
  332. hold=true
  333. if mode=="normal" then
  334. if key == "q" then
  335. move3()
  336. elseif key=="e" then
  337. move4()
  338. elseif key=="r" then
  339. move5()
  340. end
  341. end
  342. end)
  343. mouse.KeyUp:connect(function()
  344. hold=false
  345. end)
  346. end)
  347. bin.Deselected:connect(function()
  348. unselect()
  349. end)
  350. --[[DMG]]
  351. function damagesplat(dmg,hit)
  352. local mo = Instance.new("Model")
  353. mo.Name = dmg
  354. local pa = Instance.new("Part",mo)
  355. pa.formFactor = 3
  356. pa.Size = Vector3.new(0.8,0.3,0.8)
  357. pa.BrickColor = BrickColor.new(chosen)
  358. pa.CanCollide=false
  359. pa.CFrame = CFrame.new(hit.Position) * CFrame.new(0, 3, 0)
  360. pa.Name = "Head"
  361. cm=Instance.new("CylinderMesh",pa)
  362. local hah = Instance.new("Humanoid")
  363. hah.Parent = mo
  364. hah.MaxHealth = 0
  365. hah.Health = 0
  366. local bp = Instance.new("BodyPosition")
  367. bp.P = 14000
  368. bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  369. bp.position = hit.Position + Vector3.new(0, 5, 0)
  370. coroutine.resume(coroutine.create(function()
  371. wait()
  372. mo.Parent = workspace
  373. bp.Parent = pa
  374. wait(1.4)
  375. mo:remove()
  376. end))
  377. end
  378. con = nil
  379. con2 = nil
  380. hitd=0
  381. hitd2=0
  382. function OT(hit)
  383. if hit.Parent == nil then return end
  384. local hum = hit.Parent:findFirstChild("Humanoid")
  385. local head = hit.Parent:findFirstChild("Head")
  386. if hum ~= nil then
  387. dm=math.random(10000,10000)
  388. hum:TakeDamage(dm)
  389. if head ~= nil then
  390. damagesplat(dm,head)
  391. end
  392. end
  393. hitd=1
  394. end
  395. function OT2(hit)
  396. if hit.Parent == nil then return end
  397. local hum = hit.Parent:findFirstChild("Humanoid")
  398. local head = hit.Parent:findFirstChild("Head")
  399. if hum ~= nil then
  400. dm=math.random(10000,10000)
  401. hum:TakeDamage(dm)
  402. if head ~= nil then
  403. damagesplat(dm,head)
  404. end
  405. end
  406. hitd2=1
  407. end
  408. function dmgcnnct(p)
  409. con = p.Touched:connect(OT)
  410. end
  411. function dmgcnnct2(p)
  412. con2 = p.Touched:connect(OT2)
  413. end
  414. function dmgdc2()
  415. if con2 ~= nil then
  416. con2:disconnect()
  417. hitd2=0
  418. end
  419. end
  420. function dmgdc()
  421. if con ~= nil then
  422. con:disconnect()
  423. hitd=0
  424. end
  425. end
  426. --[[Anims]]--
  427. RW, LW , RWL, LWL = Instance.new("Weld"), Instance.new("Weld"), Instance.new("Weld"), Instance.new("Weld")
  428. ch = char
  429. player=plr
  430. RSH, LSH , RHL, LHL = ch.Torso["Right Shoulder"], ch.Torso["Left Shoulder"] , ch.Torso["Right Hip"] , ch.Torso["Left Hip"]
  431. RW.Part0 = ch.Torso
  432. RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  433. RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  434. RW.Parent = main
  435. --
  436. LW.Part0 = ch.Torso
  437. LW.C0 = CFrame.new(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  438. LW.C1 = CFrame.new(0, 0.5, 0)
  439. LW.Parent = main
  440. --
  441. RWL.Part0 = ch.Torso
  442. RWL.C0 = CFrame.new(1, -1, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  443. RWL.C1 = CFrame.new(0.5, 1, 0)
  444. RWL.Parent = main
  445. --
  446. LWL.Part0 = ch.Torso
  447. LWL.C0 = CFrame.new(-1, -1, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  448. LWL.C1 = CFrame.new(-0.5, 1, 0)
  449. LWL.Parent = main
  450. function RWFunc()
  451. RW.Part1 = ch["Right Arm"]
  452. RSH.Part1 = nil
  453. end
  454. function LWFunc()
  455. LW.Part1 = ch["Left Arm"]
  456. LSH.Part1 = nil
  457. end
  458. function RWLFunc()
  459. RWL.Part1 = ch["Right Leg"]
  460. RHL.Part1 = nil
  461. ch["Right Leg"].Name = "RightLeg"
  462. RightLeg.CanCollide = false
  463. end
  464. function LWLFunc()
  465. LWL.Part1 = ch["Left Leg"]
  466. LHL.Part1 = nil
  467. ch["Left Leg"].Name = "LeftLeg"
  468. LeftLeg.CanCollide = true
  469. end
  470. function RWLRem()
  471. RightLeg.Name = "Right Leg"
  472. RWL.Part1 = nil
  473. RHL.Part1 = ch["Right Leg"]
  474. RightLeg.CanCollide = false
  475. end
  476. function LWLRem()
  477. LeftLeg.Name = "Left Leg"
  478. LWL.Part1 = nil
  479. LHL.Part1 = ch["Left Leg"]
  480. LeftLeg.CanCollide = false
  481. end
  482. function RWRem()
  483. RW.Part1 = nil
  484. RSH.Part1 = ch["Right Arm"]
  485. end
  486. function LWRem()
  487. LW.Part1 = nil
  488. LSH.Part1 = ch["Left Arm"]
  489. end
  490. local RAP = Instance.new("Part")
  491. RAP.formFactor = 0
  492. RAP.CanCollide = false
  493. RAP.Name = "RAPart"
  494. RAP.Locked = true
  495. RAP.Size = Vector3.new(1,1,1)
  496. RAP.Parent = main
  497. RAP.Transparency = 1
  498. local w = Instance.new("Weld")
  499. w.Parent = RAP
  500. w.Part0 = RAP
  501. w.Part1 = char["Right Arm"]
  502. w.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  503. w.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0) * CFrame.new(0, 1, 0)
  504. local LAP = Instance.new("Part")
  505. LAP.formFactor = 0
  506. LAP.CanCollide = false
  507. LAP.Name = "LAPart"
  508. LAP.Locked = true
  509. LAP.Size = Vector3.new(1,1,1)
  510. LAP.Parent = main
  511. LAP.Transparency = 1
  512. local ww = Instance.new("Weld")
  513. ww.Parent = LAP
  514. ww.Part0 = LAP
  515. ww.Part1 = char["Left Arm"]
  516. ww.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  517. ww.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0) * CFrame.new(0, 1, 0)
  518. function unequipweld()
  519. wd1.Part0 = char.Torso
  520. wd1.C1=CFrame.new(0,-1.5,-.6) * CFrame.Angles(0,0,.8)
  521. wd1.C0=CFrame.new(0,0,0) * CFrame.Angles(0,0,0)
  522. end
  523. unequipweld()
  524. function equipweld()
  525. wd1.Part0 = RAP
  526. wd1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  527. wd1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(90)) * CFrame.new(0, 0, 0.2)
  528. end
  529. function hideanim()
  530. RWFunc()
  531. for i = 0 , 1 , 0.2 do
  532. wait()
  533. RW.C0 = CFrame.new(1+0.5*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80+67*i), math.rad(45), math.rad(-45+90*i))
  534. end
  535. for i = 0 , 1 , 0.15 do
  536. wait()
  537. RW.C0 = CFrame.new(1.5,0.5+0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(147+103*i), math.rad(45), math.rad(45-35*i))
  538. end
  539. unequipweld()
  540. wait(0.1)
  541. for i = 0 , 1 , 0.1 do
  542. wait()
  543. RW.C0 = CFrame.new(1.5,1-0.5*i,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(250-250*i), math.rad(45-45*i), math.rad(10-10*i))
  544. end
  545. RWRem()
  546. LWRem()
  547. end
  548. function equipanim()
  549. RWFunc()
  550. for i = 0 , 1 , 0.1 do
  551. wait(.05)
  552. RW.C0 = CFrame.new(1.5,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(250*i), math.rad(45*i), math.rad(-10*i))
  553. end
  554. equipweld()
  555. for i = 0 , 1 , 0.2 do
  556. wait(.05)
  557. RW.C0 = CFrame.new(1.5,0.5+0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(250-102.5*i), math.rad(45), math.rad(-10+27.5*i))
  558. end
  559. for i = 0 , 1 , 0.15 do
  560. wait(.05)
  561. RW.C0 = CFrame.new(1.5,1-0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(147-67*i), math.rad(45), math.rad(17.5+27.5*i))
  562. end
  563. for i = 0 , 1 , 0.1 do
  564. wait(.05)
  565. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(35), math.rad(45-90*i))
  566. end
  567. end
  568. function slashanim()
  569. RWFunc()
  570. if attacking==true then return end
  571. attacking=true
  572. for i = 0 , 1 , 0.1 do
  573. wait()
  574. RW.C0 = CFrame.new(1-0.5*i,0.5,-0.5-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+10*i), math.rad(45+45*i), math.rad(-45+45*i))
  575. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45*i), math.rad(10*i), math.rad(0))
  576. end
  577. dmgcnnct(bladep1)
  578. for i = 0 , 1 , 0.3 do
  579. wait()
  580. RW.C0 = CFrame.new(0.5+1*i,0.5,-1+1*i) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(0))
  581. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45+135*i), math.rad(10+35*i), math.rad(0))
  582. end
  583. for i = 0 , 1 , 0.2 do
  584. wait()
  585. RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(0))
  586. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90+20*i), math.rad(45+5*i), math.rad(0))
  587. end
  588. dmgdc()
  589. if mode=="normal" then
  590. wait(0.15)
  591. wait()
  592. for i = 0 , 1 , 0.1 do
  593. wait()
  594. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i), math.rad(90-45*i), math.rad(-45*i))
  595. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(110-110*i), math.rad(50-50*i), math.rad(0))
  596. end
  597. end
  598. attacking=false
  599. end
  600. function test(f)
  601. local a,b=coroutine.resume(coroutine.create(f))
  602. if not a then
  603. local h=Instance.new("Hint",workspace)
  604. h.Text="LOCAL: "..b
  605. wait(10)
  606. h:remove()
  607. end
  608. end
  609. function slashanim2()
  610. test(function()
  611. RWFunc()
  612. LWFunc()
  613. if attacking==true then return end
  614. attacking=true
  615. for i=0,1,0.1 do
  616. wait()
  617. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(0,0,math.rad(30*i))
  618. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(0,0,math.rad(-30*i))
  619. end
  620. fake=ghost()
  621. fake.Handle.Weldd.Part0=LAP
  622. fake.Handle.Weldd.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  623. fake.Handle.Weldd.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(90)) * CFrame.new(0, 0, 0.2)
  624. for i,d in pairs(fake:GetChildren()) do
  625. d.Transparency=0.5
  626. d.BrickColor=BrickColor.new("Really black")
  627. end
  628. for i=0,1,0.1 do
  629. wait()
  630. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(0+120*i),0,math.rad(30))
  631. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(math.rad(0+120*i),0,math.rad(-30))
  632. end
  633. dmgcnnct(bladep1)
  634. dmgcnnct2(fake.BladePart1)
  635. for i=0,1,0.2 do
  636. wait()
  637. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(120 - 120*i),0,math.rad(30 - 30*i))
  638. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(math.rad(120 - 120*i),0,math.rad(-30 - -30*i))
  639. end
  640. dmgdc()
  641. dmgdc2()
  642. for i=0,1,0.1 do
  643. wait()
  644. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(0,0,math.rad(0 + 90*i))
  645. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(0,0,math.rad(-0 + -90*i))
  646. end
  647. dmgcnnct(bladep1)
  648. dmgcnnct2(fake.BladePart1)
  649. for i=0,1,0.1 do
  650. wait()
  651. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(0,math.rad(0 + 60*i),math.rad(90 + 0))
  652. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(0,math.rad(-0 + -60*i),math.rad(-80 + -0))
  653. end
  654. dmgdc()
  655. dmgdc2()
  656. for i=0,1,0.1 do
  657. wait()
  658. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(0,math.rad(60 - 60*i),math.rad(90 + 0))
  659. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(0,math.rad(-60 - -60*i),math.rad(-80 + -0))
  660. end
  661. for i=0,1,0.1 do
  662. wait()
  663. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(0,0,math.rad(90 - 90*i))
  664. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(0,0,math.rad(-90 - -90*i))
  665. end
  666. fake:Remove()
  667. LWRem()
  668. for i = 0 , 1 , 0.1 do
  669. wait()
  670. RW.C0 = CFrame.new(1.5-0.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80*i), math.rad(35*i), math.rad(-35 + -10*i))
  671. end
  672. attacking=false
  673. end)
  674. end
  675. function move3()
  676. RWFunc()
  677. LWFunc()
  678. if attacking==true then return end
  679. attacking=true
  680. fake2=ghost()
  681. fake2.Handle.Weldd.Part0=LAP
  682. fake2.Handle.Weldd.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  683. fake2.Handle.Weldd.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(90)) * CFrame.new(0, 0, 0.2)
  684. for i,d in pairs(fake2:GetChildren()) do
  685. d.Transparency=0.5
  686. d.BrickColor=BrickColor.new("Really black")
  687. end
  688. for i=0,1,0.1 do
  689. wait()
  690. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(50+50*i),0,math.rad(40+43*i))
  691. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(math.rad(50+50*i),0,math.rad(-40+-43*i))
  692. wd1.C0 = CFrame.Angles(0,0,math.rad(90*i))
  693. fake2.Handle.Weldd.C0 = CFrame.Angles(0,0,math.rad(90*i))
  694. end
  695. dmgcnnct(bladep1)
  696. dmgcnnct2(fake2.BladePart1)
  697. local TorsCF = char.Torso.CFrame
  698. local bg = Instance.new("BodyGyro",char.Torso)
  699. bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  700. bg.P = bg.p * 25
  701. bg.cframe = TorsCF
  702. char.Humanoid.WalkSpeed=30
  703. for i=0,50,0.2 do
  704. wait()
  705. bg.cframe = TorsCF * CFrame.Angles(0,math.rad(180+180*i),0)
  706. end
  707. char.Humanoid.WalkSpeed=20
  708. game.Debris:AddItem(bg,0.02)
  709. dmgdc()
  710. dmgdc2()
  711. for i=0,1,0.1 do
  712. wait()
  713. RW.C0 = CFrame.new(1.5,.5,0) * CFrame.Angles(math.rad(100 - 0*i),0,math.rad(-83 + 83*i))
  714. LW.C0 = CFrame.new(-1.5,.5,0) * CFrame.Angles(math.rad(100 - 0*i),0,math.rad(-83 + 83*i))
  715. end
  716. fake2:Remove()
  717. LWRem()
  718. for i=0,1,0.1 do
  719. wait()
  720. wd1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90*i), math.rad(90 + 0*i)) * CFrame.new(0, 0, 0.2)
  721. RW.C0 = CFrame.new(1.5-0.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(100 + -20*i), math.rad(35*i), math.rad(-35 + -10*i))
  722. end
  723. attacking=false
  724. end
  725. function move4()
  726. RWFunc()
  727. LWFunc()
  728. if attacking==true then return end
  729. attacking=true
  730. for i=0,1,0.1 do
  731. wait()
  732. RW.C0=CFrame.new(1.5,.5,0) * CFrame.Angles(0,math.rad(10 + 5*i),math.rad(50+50*i))
  733. LW.C0=CFrame.new(-1.5,.5,0) * CFrame.Angles(0,math.rad(80 + 0*i),math.rad(0+-50*i))
  734. end
  735. for i=0,1,0.1 do
  736. wait()
  737. LW.C0=CFrame.new(-1.5,.5,0) * CFrame.Angles(0,math.rad(80 + 0*i),math.rad(-50 + 150*i))
  738. end
  739. function Burn(Part)
  740. if Part.Anchored == true and Part.Name == "Base" then return end
  741. if Part:IsDescendantOf(char) then return end
  742. if Part.Name =="Fireball" then return end
  743. local Fire = Instance.new("Fire")
  744. Fire.Heat = 2
  745. Fire.Size = 5
  746. Fire.Parent = Part
  747. Part:BreakJoints()
  748. Part.BrickColor = BrickColor.new("Really black")
  749. wait(2)
  750. game.Debris:AddItem(Part,0.02)
  751. end
  752. function Ignite(Part)
  753. if Part.Anchored == true and Part.Name == "Base" then return end
  754. if Part:IsDescendantOf(char) then return end
  755. if Part:FindFirstChild("Fire") == nil then
  756. Part.Anchored = false
  757. local Fire = Instance.new("Fire")
  758. Fire.Heat = 2
  759. Fire.Size = 5
  760. Fire.Parent = Part
  761. Part:BreakJoints()
  762. Part.Touched:connect(function(Hit) Burn(Hit) end)
  763. Part.BrickColor = BrickColor.new("Really black")
  764. end
  765. end
  766. for i = 1, 150 do
  767. local Source = char.Torso
  768. local Fireball = Instance.new("Part", Workspace)
  769. Fireball.Name = "Fireball"
  770. Fireball.CanCollide = false
  771. Fireball.TopSurface = 0
  772. Fireball.BottomSurface = 0
  773. Fireball.FormFactor = "Custom"
  774. Fireball.Shape = "Ball"
  775. Fireball.Size = Vector3.new(5, 5, 5)
  776. Fireball.CFrame = Source.CFrame * CFrame.new(0, 0, -5)
  777. local Velocity = Instance.new("BodyVelocity")
  778. Velocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  779. Velocity.velocity = (Source.CFrame.lookVector * 50) + Vector3.new(math.random(-25,25), math.random(-10,10), math.random(-10,10))
  780. Velocity.Parent = Fireball
  781. Ignite(Fireball)
  782. Fireball.BrickColor = BrickColor.new("Really black")
  783. coroutine.wrap(function() wait(math.random(1, 9) / 10) for i = 0, 1, 0.1 do Fireball.Transparency = i wait() end Fireball.Fire.Enabled = false Fireball.Anchored = true wait(1) Fireball:Remove() end)()
  784. wait()
  785. end
  786. for i=0,1,0.1 do
  787. wait()
  788. RW.C0 = CFrame.new(1.5-0.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(15+15+50*i), math.rad(35*i), math.rad(100-140*i))
  789. LW.C0=CFrame.new(-1.5,.5,0) * CFrame.Angles(0,math.rad(80 - 80*i),math.rad(100-100*i))
  790. end
  791. LWRem()
  792. attacking=false
  793. end
  794. function move5()
  795. RWFunc()
  796. LWFunc()
  797. if attacking==true then return end
  798. attacking=true
  799. fake3=ghost()
  800. fake3.Handle.Weldd.Part0=LAP
  801. fake3.Handle.Weldd.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  802. fake3.Handle.Weldd.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(90)) * CFrame.new(0, 0, -0.2)
  803. for i,d in pairs(fake3:GetChildren()) do
  804. d.Transparency=0.5
  805. d.BrickColor=BrickColor.new("Really black")
  806. end
  807. for i=0,1,0.1 do
  808. wait()
  809. RW.C0=CFrame.new(1.5,.5,0) * CFrame.Angles(0,math.rad(-50+-50*i),math.rad(30+30*i))
  810. LW.C0=CFrame.new(-1.5,.5,0) * CFrame.Angles(0,math.rad(50+50*i),math.rad(-30+-30*i))
  811. end
  812. f=0
  813. powermod=Instance.new("Model",char)
  814. powermod.Name="PowerMode"
  815. for i=0,3,0.1 do
  816. f=f+1
  817. wait()
  818. ball=Instance.new("Part",powermod)
  819. ball.formFactor="Custom"
  820. ball.Shape="Ball"
  821. ball.TopSurface="Smooth"
  822. ball.BottomSurface="Smooth"
  823. ball.BrickColor=BrickColor.new(chosen)
  824. ball.Transparency=0.5
  825. ball.Anchored=true
  826. ball.CanCollide=false
  827. ball.Size=Vector3.new(f,f,f)
  828. ball.CFrame=char.Torso.CFrame
  829. end
  830. wait(.1)
  831. powermod:Remove()
  832. function Burn(Part)
  833. if Part.Anchored == true and Part.Name == "Base" then return end
  834. if Part:IsDescendantOf(char) then return end
  835. if Part.Name =="Fireball" then return end
  836. local Fire = Instance.new("Fire")
  837. Fire.Heat = 2
  838. Fire.Size = 5
  839. Fire.Parent = Part
  840. Part:BreakJoints()
  841. Part.BrickColor = BrickColor.new("Really black")
  842. wait(2)
  843. game.Debris:AddItem(Part,0.02)
  844. end
  845. function Ignite(Part)
  846. if Part.Anchored == true and Part.Name == "Base" then return end
  847. if Part:IsDescendantOf(char) then return end
  848. if Part:FindFirstChild("Fire") == nil then
  849. Part.Anchored = false
  850. local Fire = Instance.new("Fire")
  851. Fire.Heat = 100
  852. Fire.Size = 100
  853. Fire.Parent = Part
  854. Part:BreakJoints()
  855. Part.Touched:connect(function(Hit) Burn(Hit) end)
  856. Part.BrickColor = BrickColor.new("Really black")
  857. end
  858. end
  859. for i = 1, 250 do
  860. local Source = char.Torso
  861. local Fireball = Instance.new("Part", Workspace)
  862. Fireball.Name = "Fireball"
  863. Fireball.CanCollide = false
  864. Fireball.TopSurface = 0
  865. Fireball.BottomSurface = 0
  866. Fireball.FormFactor = "Custom"
  867. Fireball.Shape = "Ball"
  868. Fireball.Size = Vector3.new(50, 50, 50)
  869. Fireball.CFrame = Source.CFrame * CFrame.new(0, 0, -30)
  870. local Velocity = Instance.new("BodyVelocity")
  871. Velocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  872. Velocity.velocity = (Source.CFrame.lookVector * 250) + Vector3.new(math.random(-2,2), math.random(-2,2), math.random(-2,2))
  873. Velocity.Parent = Fireball
  874. Ignite(Fireball)
  875. Fireball.BrickColor = BrickColor.new("Really black")
  876. coroutine.wrap(function() wait(math.random(1, 9) / 10) for i = 0, 1, 0.1 do Fireball.Transparency = i wait() end Fireball.Fire.Enabled = false Fireball.Anchored = true wait(1) Fireball:Remove() end)()
  877. wait(0.02)
  878. end
  879. fake3:Remove()
  880. LWRem()
  881. attacking=false
  882. end
  883. function swordmode()
  884. RWFunc()
  885. char.Humanoid.WalkSpeed=20
  886. bin.Name="Pheonix Sword"
  887. hitdeb=1
  888. hitdeb=0
  889. wd1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  890. wd1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(90)) * CFrame.new(0, 0, 0.2)
  891. for i = 0 , 1 , 0.1 do
  892. wait()
  893. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(35), math.rad(45-90*i))
  894. end
  895. mode="normal"
  896. end --[[Filterd, May Error]]-- --[[Filterd, May Error]]--
  897. local function WaitForChild(parent, child)
  898. while not parent:FindFirstChild(child) do parent.ChildAdded:wait() end
  899. return parent[child]
  900. end
  901.  
  902. local Tool = script.Parent
  903. local Handle = WaitForChild(Tool, "Handle")
  904. local SkullFire = WaitForChild(Tool, "SkullFire")
  905. local sword = script.Parent.Handle
  906.  
  907. local radius = 1
  908. local angle = math.random()*math.pi*2
  909.  
  910. local NUM_SKULLS = 100 -- heh heh
  911.  
  912. local StormEye = Instance.new("Part")
  913. StormEye.formFactor = "Custom"
  914. StormEye.Size = Vector3.new(3, 3, 3)
  915. StormEye.Transparency = 1
  916. StormEye.CanCollide = false
  917.  
  918. -- remove gravity from storm
  919. local newBF = Instance.new("BodyForce")
  920. local stormMass = (NUM_SKULLS+1)*.2*.2*.2 + 27
  921. newBF.force = Vector3.new(0, stormMass*196.2, 0)
  922. newBF.Parent = StormEye
  923.  
  924. local skullPart = Instance.new("Part")
  925. skullPart.formFactor = "Custom"
  926. skullPart.Size = Vector3.new(.2, .2, .2)
  927. skullPart.Transparency = 1
  928. skullPart.BrickColor = BrickColor.new("Really black")
  929. skullPart.CanCollide = false
  930. skullPart.Reflectance = 0
  931. SkullFire:Clone().Parent = skullPart
  932.  
  933. local skullMotor = Instance.new("Motor6D")
  934. skullMotor.Part0 = StormEye -- Handle
  935. skullMotor.Part1 = skullPart
  936. skullMotor.MaxVelocity = .1
  937. skullMotor.C0 = CFrame.Angles(math.pi/2, 0, 0)
  938. skullMotor.C1 = CFrame.Angles(math.pi/2, 0, 0) + radius*Vector3.new(math.sin(angle), 0, math.cos(angle))
  939.  
  940. local skullParts = {skullPart}
  941. local skullMotors = {skullMotor}
  942.  
  943. local miniDebounce = false
  944.  
  945. for i = 1, NUM_SKULLS do
  946. table.insert(skullParts, skullPart:Clone())
  947. table.insert(skullMotors, skullMotor:Clone())
  948.  
  949. radius = math.sqrt(i) + 4
  950. angle = math.random()*math.pi*2
  951. skullMotors[i+1].Part1 = skullParts[i+1]
  952. skullMotors[i+1].C1 = CFrame.Angles(math.pi/2, 0, 0) + radius*Vector3.new(math.sin(angle), -math.sqrt(i)*2/radius, math.cos(angle))
  953. skullMotors[i+1].Parent = skullParts[i+1]
  954. end
  955.  
  956.  
  957. local SlashSound = Instance.new("Sound")
  958. SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
  959. SlashSound.Parent = sword
  960. SlashSound.Volume = .7
  961.  
  962. local LungeSound = Instance.new("Sound")
  963. LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav"
  964. LungeSound.Parent = sword
  965. LungeSound.Volume = .6
  966.  
  967. local UnsheathSound = Instance.new("Sound")
  968. UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
  969. UnsheathSound.Parent = sword
  970. UnsheathSound.Volume = 1
  971.  
  972. local StormSound = Instance.new("Sound")
  973. StormSound.SoundId = "http://www.roblox.com/asset/?id=101173442"
  974. StormSound.Parent = sword
  975. StormSound.Volume = 1
  976.  
  977. function DarkKill(character, humanoid, attacker)
  978.  
  979. if (character:FindFirstChild("ForceField") ~= nil) then return end
  980.  
  981. local childs = character:GetChildren()
  982.  
  983. local colors = {}
  984.  
  985. tagHumanoid(humanoid, attacker)
  986. humanoid.Health = 0
  987.  
  988. for i=1,#childs do
  989. if (childs[i].className == "Part") then
  990. colors[i] = childs[i].BrickColor
  991. childs[i].BrickColor = BrickColor.new(26)
  992. childs[i].CanCollide = true
  993. childs[i].Anchored = true
  994. end
  995. end
  996.  
  997. wait(.25)
  998.  
  999. for i=1,#childs do
  1000. if (childs[i].className == "Part") then
  1001. local b = Instance.new("BodyVelocity")
  1002. b.velocity = Vector3.new(math.random() - .5, 0, math.random() - .5).unit * 80
  1003. b.maxForce = Vector3.new(1e5,1e5,1e5)
  1004. b.Parent = childs[i]
  1005. end
  1006. end
  1007.  
  1008. for i=1,#childs do
  1009. if (childs[i].className == "Part") then
  1010. childs[i].Anchored = false
  1011. end
  1012. end
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021. end
  1022.  
  1023.  
  1024.  
  1025.  
  1026. local staffSpin = WaitForChild(Tool, "staffspin")
  1027. local spinSwing = nil
  1028.  
  1029. local newBodyPosition = Instance.new("BodyPosition")
  1030. newBodyPosition.P = 100000
  1031. newBodyPosition.maxForce = Vector3.new(1, 1, 1)*newBodyPosition.P
  1032. newBodyPosition.Parent = StormEye
  1033.  
  1034. local spinForce = Instance.new("BodyAngularVelocity")
  1035. spinForce.P = 1000000
  1036. spinForce.angularvelocity = Vector3.new(0,20,0)
  1037. spinForce.maxTorque = Vector3.new(spinForce.P,spinForce.P,spinForce.P)
  1038.  
  1039. local stayUpright = Instance.new("BodyGyro")
  1040. stayUpright.P = 1000000
  1041. stayUpright.maxTorque = Vector3.new(1, 0, 1) * stayUpright.P
  1042. stayUpright.cframe = CFrame.new()
  1043.  
  1044. local damage = 20
  1045. slash_damage = 18
  1046. lunge_damage = 36
  1047.  
  1048. function blow(hit, damageToTake)
  1049. local hitParent = hit.Parent
  1050. if not hitParent then return end
  1051.  
  1052. local humanoid = hitParent:findFirstChild("Humanoid")
  1053. local vCharacter = Tool.Parent
  1054. local vPlayer = game.Players:playerFromCharacter(vCharacter)
  1055. local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
  1056. if humanoid~=nil and humanoid ~= hum and hum ~= nil then
  1057. -- final check, make sure sword is in-hand
  1058.  
  1059. local right_arm = vCharacter:FindFirstChild("Right Arm")
  1060. if (right_arm ~= nil) then
  1061. local joint = right_arm:FindFirstChild("RightGrip")
  1062. if (joint ~= nil and (joint.Part0 == Handle or joint.Part1 == Handle)) then
  1063. hum.Health = hum.Health + (damage * .4)
  1064. if humanoid.Health > damage then
  1065. tagHumanoid(humanoid, vPlayer)
  1066. humanoid:TakeDamage(damage)
  1067. else
  1068. DarkKill(humanoid.Parent, humanoid, vPlayer)
  1069. end
  1070. end
  1071. end
  1072.  
  1073.  
  1074. end
  1075. end
  1076.  
  1077. for i = 1, #skullParts do
  1078. skullParts[i].Touched:connect(function(hitPart) blow(hitPart, 25) end)
  1079. end
  1080.  
  1081. local debounce = false
  1082. local spinCount = 0
  1083.  
  1084. local spinDebounce = false
  1085.  
  1086. function onSpin()
  1087. if debounce or spinDebounce then return end
  1088. local Torso = Tool.Parent:FindFirstChild("Torso")
  1089. if not Torso then return end
  1090. spinDebounce = true
  1091. spinCount = spinCount + 1
  1092.  
  1093. if spinCount > 3 then
  1094. onWhirlwind()
  1095. spinCount = 0
  1096. else
  1097. delay(3, function() spinCount = spinCount - 1 end)
  1098.  
  1099. spinForce.Parent = Torso
  1100. stayUpright.Parent = Torso
  1101. spinSwing:Play()
  1102. wait(.5)
  1103. spinForce.Parent = nil
  1104. stayUpright.Parent = nil
  1105. end
  1106. spinDebounce = false
  1107. end
  1108.  
  1109. function onWhirlwind()
  1110. if not Tool.Parent then return end
  1111. local Torso = Tool.Parent:FindFirstChild("Torso")
  1112. local Humanoid = Tool.Parent:FindFirstChild("Humanoid")
  1113. if debounce or not Torso or not Humanoid then return end
  1114. debounce = true
  1115.  
  1116. spinForce.Parent = Torso
  1117. stayUpright.Parent = Torso
  1118.  
  1119. StormSound:Play()
  1120.  
  1121. for i = 1, #skullParts do
  1122. skullParts[i].Parent = StormEye
  1123. skullMotors[i].Parent = skullParts[i]
  1124. if math.random() > .5 then
  1125. skullMotors[i].DesiredAngle = skullMotors[i].CurrentAngle + 5000
  1126. else
  1127. skullMotors[i].DesiredAngle = skullMotors[i].CurrentAngle - 5000
  1128. end
  1129. skullMotors[i].MaxVelocity = .05+math.random()*.15
  1130. end
  1131.  
  1132. StormEye.CFrame = CFrame.new(Torso.CFrame.p)
  1133. --StormEye.Velocity = Torso.CFrame.lookVector * 25
  1134.  
  1135. newBodyPosition.position = Torso.CFrame.p - Vector3.new(0, 3, 0)
  1136. local timeWaited
  1137.  
  1138. Humanoid.WalkSpeed = 8
  1139.  
  1140. delay(0, function() while skullMotors[1].Parent do timeWaited = wait(.01) Humanoid.WalkSpeed = Humanoid.WalkSpeed + timeWaited * 7 newBodyPosition.position = Torso.CFrame.p - Vector3.new(0, 3, 0) end Humanoid.WalkSpeed = 16 end)
  1141.  
  1142. StormEye.Parent = workspace
  1143. for i = 1, 5 do wait(1) spinSwing:Play() end
  1144.  
  1145. spinForce.Parent = nil
  1146. stayUpright.Parent = nil
  1147.  
  1148. for i = 1, #skullMotors do
  1149. skullMotors[i].Parent = nil
  1150. skullParts[i].Velocity = 40*(skullParts[i].CFrame.p - Torso.CFrame.p).unit
  1151. end
  1152.  
  1153. for i = 0, 30 do
  1154. end
  1155. StormEye.Parent = nil
  1156.  
  1157. wait(3)
  1158. for i = 1, #skullMotors do
  1159. skullMotors[i].Parent = skullParts[i]
  1160. end
  1161.  
  1162. debounce = false
  1163. end
  1164.  
  1165. local leftSword = Handle:Clone()
  1166. leftSword.CanCollide = false
  1167.  
  1168. local leftSwordWeld = Instance.new("ManualWeld")
  1169. leftSwordWeld.Part1 = leftSword
  1170. leftSwordWeld.C0 = CFrame.new(0, -1, 0, 1, 0, -0, 0, 0, 1, 0, -1, -0)
  1171. leftSwordWeld.C1 = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  1172.  
  1173. local NewAnimateScript = WaitForChild(Tool, "NewAnimate")
  1174.  
  1175. local Character = nil
  1176.  
  1177. function swordUp()
  1178. Tool.GripForward = Vector3.new(-1,0,0)
  1179. Tool.GripRight = Vector3.new(0,1,0)
  1180. Tool.GripUp = Vector3.new(0,0,1)
  1181.  
  1182. leftSwordWeld.C0 = CFrame.new(0, -1, 0, 1, 0, -0, 0, 0, 1, 0, -1, -0)
  1183. leftSwordWeld.C1 = CFrame.new(0, 0, -1.5, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  1184. end
  1185.  
  1186. function swordOut()
  1187. Tool.GripForward = Vector3.new(0,0,1)
  1188. Tool.GripRight = Vector3.new(0,-1,0)
  1189. Tool.GripUp = Vector3.new(-1,0,0)
  1190.  
  1191. leftSwordWeld.C0 = CFrame.new(0, -1, 0, 1, 0, -0, 0, 0, 1, 0, -1, -0)
  1192. leftSwordWeld.C1 = CFrame.new(0, 0, -1.5, 0, -1, -0, -1, 0, -0, 0, 0, -1)
  1193. end
  1194.  
  1195. local Mouse = nil
  1196.  
  1197. function onKeyDown(key)
  1198. if key == "z" or key == "Z" then
  1199. if miniDebounce then
  1200. onSpin()
  1201. end
  1202. end
  1203. end
  1204.  
  1205. function onEquipped(mouse)
  1206. if mouse then
  1207. Mouse = mouse
  1208. Mouse.KeyDown:connect(onKeyDown)
  1209. end
  1210.  
  1211. Character = Tool.Parent
  1212. if not Character then return end
  1213.  
  1214. local Humanoid = Character:FindFirstChild("Humanoid")
  1215. if not Humanoid then return end
  1216.  
  1217. spinSwing = Humanoid:LoadAnimation(staffSpin)
  1218.  
  1219. local oldAnimateScript = Character:FindFirstChild("Animate")
  1220. if oldAnimateScript then oldAnimateScript.Disabled = true end
  1221.  
  1222. NewAnimateScript.Parent = Character
  1223. NewAnimateScript.Disabled = false
  1224.  
  1225. UnsheathSound:Play()
  1226.  
  1227. local LeftArm = Character:FindFirstChild("Left Arm")
  1228. leftSwordWeld.Part0 = LeftArm
  1229. leftSword.Parent = Character
  1230. leftSwordWeld.Parent = leftSword
  1231. end
  1232.  
  1233. function onUnequipped()
  1234. leftSwordWeld.Parent = nil
  1235. leftSword.Parent = nil
  1236.  
  1237. NewAnimateScript.Disabled = true
  1238. NewAnimateScript.Parent = Tool
  1239.  
  1240. local oldAnimateScript = Character:FindFirstChild("Animate")
  1241. if oldAnimateScript then oldAnimateScript.Disabled = false end
  1242. end
  1243.  
  1244. function tagHumanoid(humanoid, player)
  1245. local creator_tag = Instance.new("ObjectValue")
  1246. creator_tag.Value = player
  1247. creator_tag.Name = "creator"
  1248. creator_tag.Parent = humanoid
  1249. game.Debris:AddItem(creator_tag, 1)
  1250. end
  1251.  
  1252. function attack()
  1253. damage = slash_damage
  1254. SlashSound:play()
  1255. local anim = Instance.new("StringValue")
  1256. anim.Name = "toolanim"
  1257. anim.Value = "Slash"
  1258. anim.Parent = Tool
  1259. end
  1260.  
  1261. function lunge()
  1262. if miniDebounce then return end
  1263. miniDebounce = true
  1264.  
  1265. LungeSound:Play()
  1266.  
  1267. damage = lunge_damage
  1268.  
  1269. local newAttack = Instance.new("StringValue")
  1270. newAttack.Name = "toolanim"
  1271. newAttack.Value = "Lunge"
  1272. newAttack.Parent = Tool
  1273.  
  1274. local force = Instance.new("BodyVelocity")
  1275. force.velocity = Vector3.new(0,10,0) --Tool.Parent.Torso.CFrame.lookVector * 80
  1276. force.Parent = Tool.Parent.Torso
  1277. wait(.25)
  1278. swordOut()
  1279. wait(.25)
  1280. force.Parent = nil
  1281. wait(.5)
  1282. swordUp()
  1283.  
  1284. damage = slash_damage
  1285.  
  1286. miniDebounce = false
  1287. end
  1288.  
  1289. local r = game:GetService("RunService")
  1290.  
  1291. Tool.Enabled = true
  1292. local last_attack = 0
  1293. function onActivated()
  1294.  
  1295. if not Tool.Enabled then
  1296. return
  1297. end
  1298.  
  1299. Tool.Enabled = false
  1300.  
  1301. local humanoid = Character:FindFirstChild("Humanoid")
  1302. if humanoid == nil then
  1303. print("Humanoid not found")
  1304. return
  1305. end
  1306.  
  1307. local t = r.Stepped:wait()
  1308.  
  1309. if (t - last_attack < .2) then
  1310. lunge()
  1311. else
  1312. attack()
  1313. end
  1314.  
  1315. last_attack = t
  1316.  
  1317. Tool.Enabled = true
  1318. end
  1319.  
  1320. Handle.Touched:connect(function(hitPart) blow(hitPart, damage) end)
  1321. leftSword.Touched:connect(function(hitPart) blow(hitPart, damage) end)
  1322.  
  1323. Tool.Activated:connect(onActivated)
  1324. Tool.Equipped:connect(onEquipped)
  1325. Tool.Unequipped:connect(onUnequipped)
Add Comment
Please, Sign In to add comment