Advertisement
mathmasterphil

Abyssal

Mar 3rd, 2015
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.64 KB | None | 0 0
  1. --[[
  2. abyssal sword
  3. LOCALSCRIPT
  4.  
  5. keys:
  6. e = energy brick
  7. c = smash
  8. f = fall
  9. l = lightning
  10. click = slash
  11. right click = lasers
  12. ]]
  13.  
  14. me = game.Players.LocalPlayer
  15.  
  16. local user = me.Character
  17.  
  18. local tool = Instance.new("Tool", me.Backpack)
  19. tool.Name = "Abyssal Sword"
  20.  
  21. local handle = Instance.new("Part", tool)
  22. handle.formFactor = "Custom"
  23. handle.CanCollide = false
  24. handle.Name = "Handle"
  25. handle.TopSurface = "Smooth"
  26. handle.BottomSurface = "Smooth"
  27. handle.Size = Vector3.new(0.3, 1, 0.3)
  28. handle.Rotation = Vector3.new(90, 0, 0)
  29.  
  30. handle.Touched:connect(function(h)
  31. if not h:IsDescendantOf(me.Character) then
  32. for _, a in pairs(h.Parent:GetChildren()) do
  33. if a:IsA("Humanoid") then
  34. a.Health = a.Health - 20
  35. end
  36. end
  37. end
  38. end)
  39.  
  40. tool.GripPos = Vector3.new(0, 0, -2)
  41. tool.GripForward = Vector3.new(-1, 0, 0)
  42. tool.GripRight = Vector3.new(0, 1, 0)
  43. tool.GripUp = Vector3.new(0, 0, 1.5)
  44.  
  45. local fp = Instance.new("Part", tool)
  46. fp.FormFactor = "Custom"
  47. fp.Transparency = 1
  48. fp.Size = Vector3.new(0.25, 0.25, 0.25)
  49.  
  50. local fire = Instance.new("Fire", fp)
  51. fire.Color = Color3.new(0, 0, 0)
  52. fire.SecondaryColor = Color3.new(255, 0, 0)
  53. fire.Size = 3
  54. fire.Heat = 0
  55.  
  56. local derp = Instance.new("SpecialMesh", handle)
  57. derp.MeshId = "http://www.roblox.com/asset/?id=61357428"
  58. derp.TextureId = "http://www.roblox.com/asset/?id=61357495 "
  59. derp.Scale = Vector3.new(2, 2, 2.5)
  60.  
  61. dist = 1.5
  62. defdist = 1.5
  63. upos = 0
  64. yrot = 90
  65. mode = 1
  66. fdist = 2
  67. updist = 0
  68.  
  69. RS = me.Character.Torso["Right Shoulder"]
  70. LS = me.Character.Torso["Left Shoulder"]
  71.  
  72. RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
  73. LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
  74.  
  75. local keys = {}
  76.  
  77. coroutine.wrap(function()
  78. while true do
  79. for i = 1, 40 do
  80. dist = dist + 0.02
  81. defdist = defdist + 0.02
  82. wait()
  83. end
  84.  
  85. for i = 1, 40 do
  86. dist = dist - 0.02
  87. defdist = defdist - 0.02
  88. wait()
  89. end
  90. end
  91. end)()
  92.  
  93. for i = 1, 6 do
  94. local pr = Instance.new("Part", tool)
  95. pr.FormFactor = "Custom"
  96. pr.TopSurface = "Smooth"
  97. pr.BottomSurface = "Smooth"
  98. pr.Name = "derpp"
  99. pr.Transparency = 0
  100. pr.Anchored = true
  101. pr.CanCollide = false
  102.  
  103. pr.Touched:connect(function(h)
  104. if not h:IsDescendantOf(me.Character) then
  105. if h.Parent:FindFirstChild("Humanoid") then
  106. h.Parent.Humanoid:TakeDamage(10)
  107. end
  108. end
  109. end)
  110. if i == 1 or i == 3 or i == 5 then
  111. pr.BrickColor = BrickColor.new("Really black")
  112.  
  113. else
  114. pr.BrickColor = BrickColor.new("Dusty Rose")
  115. end
  116.  
  117. pr.CanCollide = false
  118. pr.Size = Vector3.new(0.5, 0.5, 0.5)
  119. coroutine.wrap(function()
  120. while true do
  121. for r = 1, 90 do
  122. if mode == 1 then
  123. pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
  124.  
  125. elseif mode == 2 then
  126. pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist)
  127.  
  128. elseif mode == 3 then
  129. pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0)
  130. end
  131. wait()
  132. end
  133. end
  134. end)()
  135. end
  136.  
  137. tool.Equipped:connect(function(m)
  138. local w = Instance.new("Weld", handle)
  139. w.Part0 = handle
  140. w.Part1 = fp
  141. w.C0 = CFrame.new(0, 0, 0.75)
  142.  
  143. m.Button1Down:connect(function()
  144. down = true
  145. wait()
  146.  
  147. for i = 1,6 do
  148. me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4))
  149. wait()
  150. end
  151.  
  152. for i = 1, 6 do
  153. me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4))
  154. wait()
  155. end
  156. end)
  157.  
  158. m.Button1Up:connect(function()
  159. down = false
  160. end)
  161.  
  162. m.Button2Down:connect(function()
  163. mode = 2
  164. fire.Size = 6
  165. wait(0.5)
  166. for _, a in pairs(tool:GetChildren()) do
  167. if a.Name == "derpp" then
  168. coroutine.wrap(function()
  169. local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300)
  170.  
  171. local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character)
  172.  
  173. local h = hit
  174. if h then
  175. for _, a in pairs(h.Parent:GetChildren()) do
  176. if a:IsA("Humanoid") then
  177. a.Health = a.Health - 20
  178. end
  179. end
  180. end
  181.  
  182. local dis = (pos-a.CFrame.p).magnitude
  183.  
  184. local beam = Instance.new("Part", user)
  185. beam.TopSurface = "Smooth"
  186. beam.BottomSurface = "Smooth"
  187. beam.FormFactor = "Custom"
  188. beam.Size = Vector3.new(1, 1, dis)
  189. beam.Anchored = true
  190. beam.BrickColor = BrickColor.new("Really black")
  191. beam.CanCollide = false
  192. beam.Transparency = 0.3
  193. coroutine.wrap(function()
  194. for d = 1, 10 do
  195. beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0)
  196. beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2)
  197. wait()
  198. end
  199. end)()
  200. wait(0.5)
  201. beam:Remove()
  202. end)()
  203. end
  204. end
  205.  
  206. wait(0.5)
  207. mode = 1
  208. end)
  209.  
  210. m.Button2Up:connect(function(k)
  211. fire.Size = 3
  212. end)
  213.  
  214. m.KeyDown:connect(function(key)
  215. if key:lower() == "e" then
  216. me.Character.Animate.Disabled = true
  217. wait(1)
  218. RS.C0 = RSAnim
  219. LS.C0 = LSAnim
  220. for _, a in pairs(tool:GetChildren()) do
  221. if a.Name ~= "derpp" then
  222. a.Transparency = 1
  223. end
  224. end
  225. fire.Enabled = false
  226.  
  227. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0)
  228. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0)
  229.  
  230. coroutine.wrap(function()
  231. for d = 1, 30 do
  232. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0)
  233. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0)
  234. wait()
  235. end
  236. end)()
  237.  
  238. local ball = Instance.new("Part", me.Character)
  239. ball.Name = "EnergyBrick"
  240. ball.TopSurface = "Smooth"
  241. ball.BottomSurface = "Smooth"
  242. ball.CanCollide = false
  243. ball.Transparency = 0.4
  244. ball.BrickColor = BrickColor.new("Really black")
  245. ball.Anchored = true
  246. ball.Size = Vector3.new(1, 1, 1)
  247. ball.FormFactor = "Custom"
  248. ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist)
  249. ball.Touched:connect(function(h)
  250. if not h:IsDescendantOf(me.Character) then
  251. if h:IsA("Part") and not h.Name:lower():find("base") then
  252. h:Destroy()
  253. end
  254. end
  255. end)
  256. local f = Instance.new("Fire", ball)
  257. f.Size = 3
  258. f.Color = Color3.new(0, 0, 0)
  259. f.SecondaryColor = Color3.new(0, 0, 255)
  260. wait()
  261. mode = 3
  262.  
  263. for d = 1, 40 do
  264. f.Size = f.Size + 0.25
  265. fdist = fdist + 0.05
  266. dist = dist + 0.05
  267. updist = updist + 0.025
  268. ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1)
  269. ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist)
  270. wait()
  271. end
  272.  
  273. local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0)
  274. me.Character.Animate.Disabled = false
  275. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
  276. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
  277. for _, a in pairs(tool:GetChildren()) do
  278. a.Transparency = 0
  279. end
  280. fp.Transparency = 1
  281. mode = 1
  282. dist = defdist
  283. updist = 0
  284. fire.Enabled = true
  285. for i = 1, 150 do
  286. ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3))
  287. local b2 = ball:Clone()
  288. b2.Fire:Destroy()
  289. b2.Parent = me.Character
  290. b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3))
  291. b2.Touched:connect(function(h)
  292. if not h:IsDescendantOf(me.Character) then
  293. if h:IsA("Part") and not h.Name:lower():find("base") then
  294. h:Destroy()
  295. end
  296. end
  297. end)
  298. coroutine.wrap(function()
  299. wait(1)
  300. for i = 1, 20 do
  301. b2.Transparency = b2.Transparency + 0.05
  302. wait()
  303. end
  304. b2:Destroy()
  305. end)()
  306. wait()
  307. end
  308.  
  309. ball:Destroy()
  310. fdist = 2
  311.  
  312. elseif key:lower() == "f" then
  313. me.Character.Animate.Disabled = true
  314. wait(1)
  315. RS.C0 = RSAnim
  316. LS.C0 = LSAnim
  317. for i = 1, 11 do
  318. LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
  319. RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0)
  320. wait()
  321. end
  322.  
  323. local bp = Instance.new("BodyPosition", me.Character.Torso)
  324. bp.maxForce = Vector3.new(0, 9999, 0)
  325. coroutine.wrap(function()
  326. for rs = 1, 10 do
  327. bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0)
  328. wait()
  329. end
  330. end)()
  331.  
  332. for an = 1, 30 do
  333. LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
  334. RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
  335. wait()
  336. end
  337. wait(0.5)
  338. bp:Remove()
  339. for an = 1, 7 do
  340. LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0)
  341. RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0)
  342. wait()
  343. end
  344. wait(0.25)
  345. local ex = Instance.new("Part", me.Character)
  346. ex.Size = Vector3.new(1, 1, 1)
  347. ex.Transparency = 0.4
  348. ex.BrickColor = BrickColor.new("Deep orange")
  349.  
  350. local msh = Instance.new("SpecialMesh", ex)
  351. msh.MeshType = "FileMesh"
  352. msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
  353. msh.Scale = Vector3.new(0.5, 0.5, 0.5)
  354.  
  355. ex.Position = handle.Position
  356. ex.Anchored = true
  357.  
  358. for i = 1, 20 do
  359. msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
  360. for _, a in pairs(game.Players:GetChildren()) do
  361. if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
  362. for _, b in pairs(a.Character:GetChildren()) do
  363. if b:IsA("Humanoid") then
  364. b.Health = b.Health - 10
  365. end
  366. end
  367. end
  368. end
  369. wait()
  370. end
  371.  
  372. for i = 1, 12 do
  373. ex.Transparency = ex.Transparency + 0.05
  374. wait()
  375. end
  376. ex:Remove()
  377. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
  378. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
  379. wait()
  380. me.Character.Animate.Disabled = false
  381.  
  382. elseif key:lower() == "l" then
  383. me.Character.Animate.Disabled = true
  384. wait(1)
  385. RS.C0 = RSAnim
  386. LS.C0 = LSAnim
  387. for i = 1, 60 do
  388. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i))
  389. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(-90), 0, math.rad(i))
  390. wait()
  391. end
  392.  
  393. local beam = Instance.new("Part", me.Character)
  394. beam.Size = Vector3.new(5, 300, 5)
  395. beam.CanCollide = false
  396. beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0)
  397. beam.TopSurface = "Smooth"
  398. beam.BottomSurface = "Smooth"
  399. beam.BrickColor = BrickColor.new("New Yeller")
  400. beam.Anchored = true
  401. beam.Transparency = 0.3
  402. wait(0.4)
  403. for e = 1, 14 do
  404. beam.Transparency = beam.Transparency + 0.05
  405. wait()
  406. end
  407. beam:Remove()
  408. local m = Instance.new("ForceField", me.Character)
  409. for i = 1, 40 do
  410. d1 = math.random(-200, 200)
  411. d2 = math.random(-200, 200)
  412. local ltn = Instance.new("Part", game.Workspace)
  413. ltn.Size = Vector3.new(3, 300, 3)
  414. ltn.CanCollide = false
  415. ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0)
  416. ltn.TopSurface = "Smooth"
  417. ltn.BottomSurface = "Smooth"
  418. ltn.BrickColor = BrickColor.new("Deep blue")
  419. ltn.Anchored = true
  420. ltn.Transparency = 0.3
  421. local ex = Instance.new("Explosion")
  422. ex.Position = Vector3.new(d1, 0.5, d2)
  423. ex.BlastRadius = 10
  424. wait()
  425. ex.Parent = game.Workspace
  426. game.Lighting.Ambient = Color3.new(1, 1, 1)
  427. wait(0.125)
  428. ltn:Destroy()
  429. game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5)
  430. end
  431. m:Remove()
  432. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0)
  433. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0)
  434. wait()
  435. me.Character.Animate.Disabled = false
  436.  
  437. elseif key:lower() == "c" then
  438. me.Character.Animate.Disabled = true
  439. wait(1)
  440. RS.C0 = RSAnim
  441. LS.C0 = LSAnim
  442. for _, a in pairs(tool:GetChildren()) do
  443. a.Transparency = 1
  444. end
  445. fire.Enabled = false
  446.  
  447. local s = Instance.new("Part", me.Character)
  448. s.Transparency = 0
  449. s.Name = "StrikeSword"
  450.  
  451. local w = Instance.new("Weld", s)
  452. w.Part0 = me.Character["Right Arm"]
  453. w.Part1 = s
  454. w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0)
  455.  
  456. local derpe = Instance.new("SpecialMesh", s)
  457. derpe.MeshType = "FileMesh"
  458. derpe.MeshId = "http://www.roblox.com/asset/?id=61357428"
  459. derpe.TextureId = "http://www.roblox.com/asset/?id=61357495"
  460. derpe.Scale = Vector3.new(2, 2, 2.5)
  461. for i = 1, 35 do
  462. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
  463. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0)
  464. wait()
  465. end
  466.  
  467. wait(1)
  468.  
  469. for i = 1, 30 do
  470. derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2)
  471. w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0)
  472. wait()
  473. end
  474.  
  475. wait(0.125)
  476.  
  477. for i = 1, 17 do
  478. LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0)
  479. RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0)
  480. wait()
  481. end
  482. wait(0.125)
  483. local ex = Instance.new("Part", me.Character)
  484. ex.Size = Vector3.new(1, 1, 1)
  485. ex.Transparency = 0.4
  486. ex.BrickColor = BrickColor.new("Deep orange")
  487.  
  488. local msh = Instance.new("SpecialMesh", ex)
  489. msh.MeshType = "FileMesh"
  490. msh.MeshId = "http://www.roblox.com/asset/?id=1323306"
  491. msh.Scale = Vector3.new(0.5, 0.5, 0.5)
  492.  
  493. ex.Position = s.Position
  494. ex.Anchored = true
  495.  
  496. coroutine.wrap(function()
  497. s:Destroy()
  498. for _, a in pairs(tool:GetChildren()) do
  499. a.Transparency = 0
  500. end
  501. fp.Transparency = 1
  502. fire.Enabled = true
  503. me.Character.Animate.Disabled = false
  504. end)()
  505.  
  506. for i = 1, 20 do
  507. msh.Scale = msh.Scale + Vector3.new(3, 3, 3)
  508. for _, a in pairs(game.Players:GetChildren()) do
  509. if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then
  510. for _, b in pairs(a.Character:GetChildren()) do
  511. if b:IsA("Humanoid") then
  512. b.Health = b.Health - 10
  513. end
  514. end
  515. end
  516. end
  517. wait()
  518. end
  519.  
  520. for i = 1, 12 do
  521. ex.Transparency = ex.Transparency + 0.05
  522. wait()
  523. end
  524. end
  525. end)
  526.  
  527. me.Character.Humanoid.Died:connect(function()
  528. local ex = Instance.new("Explosion")
  529. ex.Position = handle.Position
  530. ex.BlastRadius = 100
  531. ex.BlastPressure = 1e6
  532. wait()
  533. ex.Parent = game.Workspace
  534. end)
  535. end)
  536.  
  537. tool.Unequipped:connect(function()
  538. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement