Blueisim

Celestial glaive/halcyon

Aug 27th, 2016
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.41 KB | None | 0 0
  1.  
  2. Player = game.Players.LocalPlayer
  3. Character = Player.Character
  4. PlayerGui = Player.PlayerGui
  5. Backpack = Player.Backpack
  6. Torso = Character.Torso
  7. Head = Character.Head
  8. Humanoid = Character.Humanoid
  9. LeftArm = Character["Left Arm"]
  10. LeftLeg = Character["Left Leg"]
  11. RightArm = Character["Right Arm"]
  12. RightLeg = Character["Right Leg"]
  13. Character = Player.Character
  14. PlayerGui = Player.PlayerGui
  15. Backpack = Player.Backpack
  16. Torso = Character.Torso
  17. Head = Character.Head
  18. Humanoid = Character.Humanoid
  19. LeftArm = Character["Left Arm"]
  20. LeftLeg = Character["Left Leg"]
  21. RightArm = Character["Right Arm"]
  22. RightLeg = Character["Right Leg"]
  23. LS = Torso["Left Shoulder"]
  24. LH = Torso["Left Hip"]
  25. RS = Torso["Right Shoulder"]
  26. RH = Torso["Right Hip"]
  27. Neck = Torso.Neck
  28. attacktype = 1
  29. vt = Vector3.new
  30. cf = CFrame.new
  31. euler = CFrame.fromEulerAnglesXYZ
  32. angles = CFrame.Angles
  33. necko = cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  34. necko2 = cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  35. LHC0 = cf(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  36. LHC1 = cf(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  37. RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  38. RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  39. RootPart = Character.HumanoidRootPart
  40. RootJoint = RootPart.RootJoint
  41. RootCF = euler(-1.57, 0, 3.14)
  42. attack = false
  43. equipped = true
  44. local Anim = "Idle"
  45. local Effects = {}
  46. cam = workspace.CurrentCamera
  47. ZTarget = nil
  48. RocketTarget = nil
  49. local RbxUtility = LoadLibrary("RbxUtility")
  50. local Create = RbxUtility.Create
  51. local m = Create("Model"){
  52. Parent = Character,
  53. Name = "WeaponModel",
  54. }
  55. mouse = Player:GetMouse()
  56. RSH, LSH = nil, nil
  57. LH = Torso["Left Hip"]
  58. RH = Torso["Right Hip"]
  59. RSH = Torso["Right Shoulder"]
  60. LSH = Torso["Left Shoulder"]
  61.  
  62. RSH.Parent = nil
  63. LSH.Parent = nil
  64.  
  65. RW = Create("Weld"){
  66. Name = "Right Shoulder",
  67. Part0 = Torso ,
  68. C0 = cf(1.5, 0.5, 0),
  69. C1 = cf(0, 0.5, 0),
  70. Part1 = RightArm ,
  71. Parent = Torso ,
  72. }
  73.  
  74. LW = Create("Weld"){
  75. Name = "Left Shoulder",
  76. Part0 = Torso ,
  77. C0 = cf(-1.5, 0.5, 0),
  78. C1 = cf(0, 0.5, 0) ,
  79. Part1 = LeftArm ,
  80. Parent = Torso ,
  81. }
  82.  
  83. function NoOutline(Part)
  84. Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
  85. end
  86. function swait(num)
  87. if num == 0 or num == nil then
  88. game:service'RunService'.Heartbeat:wait(0)
  89. else
  90. for i = 0, num do
  91. game:service'RunService'.Heartbeat:wait(0)
  92. end
  93. end
  94. end
  95.  
  96. function nooutline(part)
  97. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  98. end
  99.  
  100. function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
  101. local fp = Create("Part"){
  102. formFactor = formfactor,
  103. Parent = parent,
  104. Reflectance = reflectance,
  105. Transparency = transparency,
  106. CanCollide = false,
  107. Locked = true,
  108. BrickColor = BrickColor.new(tostring(brickcolor)),
  109. Name = name,
  110. Size = size,
  111. Position = Character.Torso.Position,
  112. Material = material,
  113. }
  114. nooutline(fp)
  115. return fp
  116. end
  117.  
  118. function mesh(Mesh, part, meshtype, meshid, offset, scale)
  119. local Msh = Create(Mesh){
  120. Parent = part,
  121. Offset = offset,
  122. Scale = scale,
  123. }
  124. if Mesh == "SpecialMesh" then
  125. Msh.MeshType = meshtype
  126. Msh.MeshId = meshid
  127. end
  128. return Msh
  129. end
  130.  
  131. function weld(parent, part0, part1, c0, c1)
  132. local Weld = Create("Weld"){
  133. Parent = parent,
  134. Part0 = part0,
  135. Part1 = part1,
  136. C0 = c0,
  137. C1 = c1,
  138. }
  139. return Weld
  140. end
  141.  
  142.  
  143. local function CFrameFromTopBack(at, top, back)
  144. local right = top:Cross(back)
  145. return CFrame.new(at.x, at.y, at.z,
  146. right.x, top.x, back.x,
  147. right.y, top.y, back.y,
  148. right.z, top.z, back.z)
  149. end
  150.  
  151. function Triangle(a, b, c)
  152. local edg1 = (c - a):Dot((b - a).unit)
  153. local edg2 = (a - b):Dot((c - b).unit)
  154. local edg3 = (b - c):Dot((a - c).unit)
  155. if edg1 <= (b - a).magnitude and edg1 >= 0 then
  156. a, b, c = a, b, c
  157. elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
  158. a, b, c = b, c, a
  159. elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
  160. a, b, c = c, a, b
  161. else
  162. assert(false, "unreachable")
  163. end
  164.  
  165. local len1 = (c - a):Dot((b - a).unit)
  166. local len2 = (b - a).magnitude - len1
  167. local width = (a + (b - a).unit * len1 - c).magnitude
  168.  
  169. local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
  170.  
  171. local list = {}
  172.  
  173. local Color = BrickColor.new("Dark stone grey")
  174.  
  175. if len1 > 0.01 then
  176. local w1 = Create('WedgePart', m){
  177. Material = "SmoothPlastic",
  178. FormFactor = 'Custom',
  179. BrickColor = Color,
  180. Transparency = 0,
  181. Reflectance = 0,
  182. Material = "SmoothPlastic",
  183. CanCollide = false,
  184. Anchored = true,
  185. Parent = workspace,
  186. Transparency = 0.3,
  187. }
  188. game:GetService("Debris"):AddItem(w1, 5)
  189. NoOutline(w1)
  190. local sz = Vector3.new(0.2, width, len1)
  191. w1.Size = sz
  192. local sp = Create("SpecialMesh"){
  193. Parent = w1,
  194. MeshType = "Wedge",
  195. Scale = Vector3.new(0, 1, 1) * sz / w1.Size,
  196. }
  197. w1:BreakJoints()
  198. table.insert(Effects, {
  199. w1,
  200. "Disappear",
  201. .03
  202. })
  203. w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
  204. table.insert(list, w1)
  205. end
  206. if len2 > 0.01 then
  207. local w2 = Create('WedgePart', m){
  208. Material = "SmoothPlastic",
  209. FormFactor = 'Custom',
  210. BrickColor = Color,
  211. Transparency = 0,
  212. Reflectance = 0,
  213. Material = "SmoothPlastic",
  214. CanCollide = false,
  215. Anchored = true,
  216. Parent = workspace,
  217. Transparency = 0.3,
  218. }
  219. game:GetService("Debris"):AddItem(w2, 5)
  220. NoOutline(w2)
  221. local sz = Vector3.new(0.2, width, len2)
  222. w2.Size = sz
  223. local sp = Create("SpecialMesh"){
  224. Parent = w2,
  225. MeshType = "Wedge",
  226. Scale = Vector3.new(0, 1, 1) * sz / w2.Size,
  227. }
  228. w2:BreakJoints()
  229. table.insert(Effects, {
  230. w2,
  231. "Disappear",
  232. .03
  233. })
  234. w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
  235. table.insert(list, w2)
  236. end
  237. return unpack(list)
  238. end
  239.  
  240. function so(id, par, vol, pit)
  241. coroutine.resume(coroutine.create(function()
  242. local sou = Instance.new("Sound", par or workspace)
  243. sou.Volume = vol
  244. sou.Pitch = pit or 1
  245. sou.SoundId = Sounds[id].Id or id
  246. swait()
  247. sou:play()
  248. swait(6)
  249. sou:Remove()
  250. end))
  251. end
  252.  
  253. function clerp(a, b, t)
  254. local qa = {
  255. QuaternionFromCFrame(a)
  256. }
  257. local qb = {
  258. QuaternionFromCFrame(b)
  259. }
  260. local ax, ay, az = a.x, a.y, a.z
  261. local bx, by, bz = b.x, b.y, b.z
  262. local _t = 1 - t
  263. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  264. end
  265.  
  266. function QuaternionFromCFrame(cf)
  267. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  268. local trace = m00 + m11 + m22
  269. if trace > 0 then
  270. local s = math.sqrt(1 + trace)
  271. local recip = 0.5 / s
  272. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  273. else
  274. local i = 0
  275. if m11 > m00 then
  276. i = 1
  277. end
  278. if m22 > (i == 0 and m00 or m11) then
  279. i = 2
  280. end
  281. if i == 0 then
  282. local s = math.sqrt(m00 - m11 - m22 + 1)
  283. local recip = 0.5 / s
  284. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  285. elseif i == 1 then
  286. local s = math.sqrt(m11 - m22 - m00 + 1)
  287. local recip = 0.5 / s
  288. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  289. elseif i == 2 then
  290. local s = math.sqrt(m22 - m00 - m11 + 1)
  291. local recip = 0.5 / s
  292. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  293. end
  294. end
  295. end
  296.  
  297. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  298. local xs, ys, zs = x + x, y + y, z + z
  299. local wx, wy, wz = w * xs, w * ys, w * zs
  300. local xx = x * xs
  301. local xy = x * ys
  302. local xz = x * zs
  303. local yy = y * ys
  304. local yz = y * zs
  305. local zz = z * zs
  306. return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  307. end
  308.  
  309. function QuaternionSlerp(a, b, t)
  310. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  311. local startInterp, finishInterp;
  312. if cosTheta >= 0.0001 then
  313. if (1 - cosTheta) > 0.0001 then
  314. local theta = math.acos(cosTheta)
  315. local invSinTheta = 1 / math.sin(theta)
  316. startInterp = math.sin((1 - t) * theta) * invSinTheta
  317. finishInterp = math.sin(t * theta) * invSinTheta
  318. else
  319. startInterp = 1 - t
  320. finishInterp = t
  321. end
  322. else
  323. if (1 + cosTheta) > 0.0001 then
  324. local theta = math.acos(-cosTheta)
  325. local invSinTheta = 1 / math.sin(theta)
  326. startInterp = math.sin((t - 1) * theta) * invSinTheta
  327. finishInterp = math.sin(t * theta) * invSinTheta
  328. else
  329. startInterp = t - 1
  330. finishInterp = t
  331. end
  332. end
  333. return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  334. end
  335.  
  336. function rayCast(Pos, Dir, Max, Ignore)
  337. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  338. end
  339.  
  340. Asset = "http://www.roblox.com/asset/?id="
  341.  
  342. Sounds = {
  343. Hit1 = {
  344. Id = Asset..(199149137)
  345. },
  346. Hit2 = {
  347. Id = Asset..(199149186)
  348. },
  349. Hit3 = {
  350. Id = Asset..(199149221)
  351. },
  352. Hit4 = {
  353. Id = Asset..(199149235)
  354. },
  355. Slash1 = {
  356. Id = Asset..(161006195)
  357. },
  358. Slash2 = {
  359. Id = Asset..(161006212)
  360. },
  361. Fire = {
  362. Id = Asset..(168413145)
  363. },
  364. Beam = {
  365. Id = Asset..(278596476)
  366. },
  367. Appear = {
  368. Id = Asset..(200633077)
  369. },
  370. Disappear = {
  371. Id = Asset..(200633029)
  372. },
  373. }
  374.  
  375. ContentProvider = game:GetService("ContentProvider")
  376. for _, v in pairs(Sounds) do
  377. ContentProvider:Preload(v.Id)
  378. end
  379.  
  380.  
  381.  
  382. Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  383. if hit.Parent == nil then
  384. return
  385. end
  386. local h = hit.Parent:FindFirstChild("Humanoid")
  387. for _, v in pairs(hit.Parent:children()) do
  388. if v:IsA("Humanoid") then
  389. h = v
  390. end
  391. end
  392. if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  393. if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  394. if hit.Parent.DebounceHit.Value == true then
  395. return
  396. end
  397. end
  398. if h.MaxHealth >= math.huge then
  399. hit:BreakJoints()
  400. end
  401. --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then
  402. return
  403. end]]
  404. -- hs(hit,1.2)
  405. local c = Create("ObjectValue"){
  406. Name = "creator",
  407. Value = game:service("Players").LocalPlayer,
  408. Parent = h,
  409. }
  410. game:GetService("Debris"):AddItem(c, .5)
  411. if HitSound ~= nil and HitPitch ~= nil then
  412. so(HitSound, hit, 1, HitPitch)
  413. end
  414. local Damage = math.random(minim, maxim)
  415. -- h:TakeDamage(Damage)
  416. local blocked = false
  417. local block = hit.Parent:findFirstChild("Block")
  418. if block ~= nil then
  419. if block.className == "IntValue" then
  420. if block.Value > 0 then
  421. blocked = true
  422. block.Value = block.Value - 1
  423. print(block.Value)
  424. end
  425. end
  426. end
  427. if blocked == false then
  428. -- h:TakeDamage(Damage)
  429. h.Health = h.Health - Damage
  430. ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color)
  431. else
  432. h.Health = h.Health - (Damage / 2)
  433. ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, Part.BrickColor.Color)
  434. end
  435. if Type == "Knockdown" then
  436. local hum = hit.Parent.Humanoid
  437. hum.PlatformStand = true
  438. coroutine.resume(coroutine.create(function(HHumanoid)
  439. swait(1)
  440. HHumanoid.PlatformStand = false
  441. end), hum)
  442. local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  443. local bodvol = Create("BodyVelocity"){
  444. velocity = angle * knockback,
  445. P = 5000,
  446. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  447. Parent = hit,
  448. }
  449. local rl = Create("BodyAngularVelocity"){
  450. P = 3000,
  451. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  452. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  453. Parent = hit,
  454. }
  455. game:GetService("Debris"):AddItem(bodvol, .5)
  456. game:GetService("Debris"):AddItem(rl, .5)
  457. elseif Type == "Normal" then
  458. local vp = Create("BodyVelocity"){
  459. P = 500,
  460. maxForce = Vector3.new(math.huge, 0, math.huge),
  461. velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
  462. }
  463. if knockback > 0 then
  464. vp.Parent = hit.Parent.Torso
  465. end
  466. game:GetService("Debris"):AddItem(vp, .5)
  467. elseif Type == "Up" then
  468. local bodyVelocity = Create("BodyVelocity"){
  469. velocity = vt(0, 20, 0),
  470. P = 5000,
  471. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  472. Parent = hit,
  473. }
  474. game:GetService("Debris"):AddItem(bodyVelocity, .5)
  475. elseif Type == "Snare" then
  476. local bp = Create("BodyPosition"){
  477. P = 2000,
  478. D = 100,
  479. maxForce = Vector3.new(math.huge, math.huge, math.huge),
  480. position = hit.Parent.Torso.Position,
  481. Parent = hit.Parent.Torso,
  482. }
  483. game:GetService("Debris"):AddItem(bp, 1)
  484. elseif Type == "Freeze" then
  485. local BodPos = Create("BodyPosition"){
  486. P = 50000,
  487. D = 1000,
  488. maxForce = Vector3.new(math.huge, math.huge, math.huge),
  489. position = hit.Parent.Torso.Position,
  490. Parent = hit.Parent.Torso,
  491. }
  492. local BodGy = Create("BodyGyro") {
  493. maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
  494. P = 20e+003,
  495. Parent = hit.Parent.Torso,
  496. cframe = hit.Parent.Torso.CFrame,
  497. }
  498. hit.Parent.Torso.Anchored = true
  499. coroutine.resume(coroutine.create(function(Part)
  500. swait(1.5)
  501. Part.Anchored = false
  502. end), hit.Parent.Torso)
  503. game:GetService("Debris"):AddItem(BodPos, 3)
  504. game:GetService("Debris"):AddItem(BodGy, 3)
  505. end
  506. local debounce = Create("BoolValue"){
  507. Name = "DebounceHit",
  508. Parent = hit.Parent,
  509. Value = true,
  510. }
  511. game:GetService("Debris"):AddItem(debounce, Delay)
  512. c = Instance.new("ObjectValue")
  513. c.Name = "creator"
  514. c.Value = Player
  515. c.Parent = h
  516. game:GetService("Debris"):AddItem(c, .5)
  517. end
  518. end
  519.  
  520. function ShowDamage(Pos, Text, Time, Color)
  521. local Rate = (1 / 30)
  522. local Pos = (Pos or Vector3.new(0, 0, 0))
  523. local Text = (Text or "")
  524. local Time = (Time or 2)
  525. local Color = (Color or Color3.new(1, 0, 0))
  526. local EffectPart = part("Custom", workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0))
  527. EffectPart.Anchored = true
  528. local BillboardGui = Create("BillboardGui"){
  529. Size = UDim2.new(3, 0, 3, 0),
  530. Adornee = EffectPart,
  531. Parent = EffectPart,
  532. }
  533. local TextLabel = Create("TextLabel"){
  534. BackgroundTransparency = 1,
  535. Size = UDim2.new(1, 0, 1, 0),
  536. Text = Text,
  537. TextColor3 = Color,
  538. TextScaled = true,
  539. Font = Enum.Font.ArialBold,
  540. Parent = BillboardGui,
  541. }
  542. game.Debris:AddItem(EffectPart, (Time + 0.1))
  543. EffectPart.Parent = game:GetService("Workspace")
  544. delay(0, function()
  545. local Frames = (Time / Rate)
  546. for Frame = 1, Frames do
  547. wait(Rate)
  548. local Percent = (Frame / Frames)
  549. EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  550. TextLabel.TextTransparency = Percent
  551. end
  552. if EffectPart and EffectPart.Parent then
  553. EffectPart:Destroy()
  554. end
  555. end)
  556. end
  557.  
  558. Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Handle", Vector3.new(1.20000005, 0.200000003, 1.20000005))
  559. Handleweld = weld(m, Character["Torso"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.0396080017, -4.09992504, 0.0598115921, 1, -7.6153174e-011, -2.01268858e-006, 8.22890089e-011, 1, 3.084431e-006, 2.01269063e-006, -3.084431e-006, 1))
  560. mesh("CylinderMesh", Handle, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.660000086, 1))
  561. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.44000006, 0.200000003, 1.44000006))
  562. Partweld = weld(m, Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(5.14984131e-005, 1.62124634e-005, -1.04904175e-005, 1, 1.23146328e-011, 1.07286201e-006, -1.13079598e-011, 1, -1.07284109e-006, -1.07285791e-006, 1.07284109e-006, 1))
  563. mesh("CylinderMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  564. Layer2Handle = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Layer2Handle", Vector3.new(0.480000019, 0.200000003, 0.480001062))
  565. Layer2Handleweld = weld(m, Handle, Layer2Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000301361084, 2.28881836e-005, -0.000202178955, 1, 2.70082467e-007, -1.75730406e-006, -2.70091959e-007, 1, -8.66388018e-006, 1.7573052e-006, 8.66388655e-006, 1))
  566. Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625))
  567. Partweld = weld(m, Layer2Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(5.14984131e-005, -9.53674316e-007, -2.8800478, 0.999997914, -1.93837602e-011, -1.48245363e-008, 3.90257063e-011, 1, -7.13953341e-011, 1.48336312e-008, 8.91304808e-011, 0.999997914))
  568. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  569. Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Crimson", "Part", Vector3.new(0.480000019, 0.200000003, 0.720000625))
  570. Partweld = weld(m, Layer2Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(4.19616699e-005, -3.24249268e-005, 2.87992668, 0.999985158, 2.87014509e-012, -1.48093022e-008, 5.66184322e-011, 1, -5.45696821e-012, 1.48470463e-008, 8.04902811e-011, 0.999985158))
  571. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  572. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.480000019, 0.200000003, 5.04000092))
  573. Partweld = weld(m, Layer2Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(1.33514404e-005, -9.53674316e-007, -0.0001039505, 0.999987781, -7.77617137e-011, -1.49125299e-008, 1.16872789e-010, 1, -1.96905603e-010, 1.493936e-008, 2.51930032e-010, 0.999987781))
  574. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  575. mesh("BlockMesh", Layer2Handle, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  576. Layer3Handle = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 1, "Crimson", "Layer3Handle", Vector3.new(0.720000029, 0.720000029, 0.200000003))
  577. Layer3Handleweld = weld(m, Handle, Layer3Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000802993774, -0.000151634216, 3.05175781e-005, 0.999999404, 4.16033836e-005, 1.96785777e-006, 1.96798396e-006, -2.12107511e-006, -0.999999404, -4.16014955e-005, 1, -2.12118243e-006))
  578. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  579. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(9.53674316e-007, -0.840223312, 3.5397892, 4.89614176e-005, 5.0135186e-006, 0.999999762, -0.999999046, 1.22189522e-005, 4.8959475e-005, -1.22783813e-005, -0.999998689, 5.01443719e-006))
  580. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  581. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
  582. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000864028931, -6.00814819e-005, -3.59964466, -0.999999404, 9.70068322e-006, 3.31623378e-005, 3.31642768e-005, 4.86649742e-006, 1, 9.70056226e-006, 0.999999404, -4.86679755e-006))
  583. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  584. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  585. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(2.76565552e-005, -0.840137482, 3.54048443, -3.42451713e-005, -5.10578684e-006, -0.99999994, -0.999998927, -1.21146441e-005, 3.4243305e-005, -1.2144611e-005, 0.999998927, -5.10543578e-006))
  586. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  587. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
  588. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000713348389, -2.76565552e-005, -3.6005826, -0.999993503, -9.68569748e-006, 5.00400529e-005, -5.00420938e-005, -4.89724516e-006, -0.999999881, 9.62627109e-006, -0.999993503, 4.89690592e-006))
  589. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  590. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  591. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-7.62939453e-006, -0.838525772, 3.54048347, 3.57801182e-005, 5.10578639e-006, 0.99999994, 0.999999046, 1.0341405e-005, -3.57782446e-005, -1.03266702e-005, 0.999998927, -5.10551126e-006))
  592. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  593. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  594. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-5.7220459e-006, -0.84022522, 3.53960228, -3.45465851e-005, -1.12046393e-006, -1, 5.82638359e-006, -0.999999225, 1.12023974e-006, -0.999999225, -5.82638404e-006, 3.45446933e-005))
  595. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  596. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  597. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-2.86102295e-006, -0.839550018, 3.53951263, 3.41143859e-005, 1.04596313e-006, 1, -6.24368704e-006, 0.999999225, -1.04572723e-006, -0.999999225, -6.24369022e-006, 3.41124942e-005))
  598. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  599. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
  600. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000238418579, -9.53674316e-006, -3.59959984, 6.28840098e-006, -0.999999225, 1.09042128e-006, -3.40994848e-005, -1.09065854e-006, -1, 0.999999225, 6.2884028e-006, -3.4097593e-005))
  601. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  602. Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0.19999998807907, "Crimson", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003))
  603. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 3.81469727e-006, 0.999998808, 4.0078163e-011, 1.9098958e-009, 4.0078163e-011, 0.999998808, 2.42152964e-011, 1.9098958e-009, 2.42152964e-011, 1))
  604. mesh("SpecialMesh", Part, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(3.58200026, 3.58200002, 2.9532001))
  605. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  606. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(4.00543213e-005, -0.838380814, 3.53930187, -4.74264707e-005, -5.02687499e-006, -0.999999762, 0.999999046, -1.03116026e-005, -4.74245317e-005, -1.0311428e-005, -0.999998808, 5.02768307e-006))
  607. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  608. Part = part(Enum.FormFactor.Custom, m, Enum.Material.Neon, 0, 0, "Really black", "Part", Vector3.new(0.480000019, 0.480000019, 0.200000003))
  609. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 0, 0.999998808, 4.0078163e-011, 1.9098958e-009, 4.0078163e-011, 0.999998808, 2.42152964e-011, 1.9098958e-009, 2.42152964e-011, 1))
  610. mesh("SpecialMesh", Part, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(3.60000014, 3.60000014, 3.60000014))
  611. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  612. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(7.62939453e-006, -0.839694977, 3.53992653, -3.91442991e-005, -8.80631774e-007, -0.999993026, 2.27987925e-006, 0.999991357, -8.80696462e-007, 0.999997556, -2.29477519e-006, -3.92767397e-005))
  613. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  614. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(1.20000005, 0.200000003, 0.720000327))
  615. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.000235557556, -2.38418579e-005, -3.60028458, 1.50501114e-006, -0.999997199, 8.35720812e-007, 3.47488422e-005, 8.35786693e-007, 1, -0.999997199, -1.50502308e-006, 3.47468304e-005))
  616. mesh("BlockMesh", Part, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 0.600000024, 1))
  617. Part = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 0, "Really black", "Part", Vector3.new(0.200000003, 0.480000019, 0.840000391))
  618. Partweld = weld(m, Layer3Handle, Part, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-2.28881836e-005, -0.840080261, 3.54010582, 3.91591857e-005, 8.0613512e-007, 0.999993026, -2.25008012e-006, -0.999991, 8.06197477e-007, 0.999997556, -2.29477519e-006, -3.92916445e-005))
  619. mesh("SpecialMesh", Part, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  620. HitboxA = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxA", Vector3.new(0.200000003, 2.48000002, 0.840000391))
  621. HitboxAweld = weld(m, Layer3Handle, HitboxA, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-6.67572021e-006, -0.039557457, 3.53951645, 3.44422551e-005, 1.04596529e-006, 1, -5.90090622e-006, 0.999999225, -1.04573905e-006, -0.999999225, -5.90090895e-006, 3.44403634e-005))
  622. HitboxB = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxB", Vector3.new(0.200000003, 2.48000026, 0.840000391))
  623. HitboxBweld = weld(m, Layer3Handle, HitboxB, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(9.53674316e-007, -0.0402240753, 3.5397892, 4.89614176e-005, 5.0135186e-006, 0.999999762, -0.999999046, 1.22189522e-005, 4.8959475e-005, -1.22783813e-005, -0.999998689, 5.01443719e-006))
  624. HitboxC = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxC", Vector3.new(0.200000003, 2.28000021, 0.840000391))
  625. HitboxCweld = weld(m, Layer3Handle, HitboxC, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(2.76565552e-005, 0.0598621368, 3.54048443, -3.42451713e-005, -5.10578684e-006, -0.99999994, -0.999998927, -1.21146441e-005, 3.4243305e-005, -1.2144611e-005, 0.999998927, -5.10543578e-006))
  626. mesh("SpecialMesh", HitboxC, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  627. HitboxD = part(Enum.FormFactor.Custom, m, Enum.Material.SmoothPlastic, 0, 1, "Really black", "HitboxD", Vector3.new(0.200000003, 2.28000021, 0.840000391))
  628. HitboxDweld = weld(m, Layer3Handle, HitboxD, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-2.28881836e-005, 0.0599050522, 3.54010582, 3.91591857e-005, 8.0613512e-007, 0.999993026, -2.25008012e-006, -0.999991, 8.06197477e-007, 0.999997556, -2.29477519e-006, -3.92916445e-005))
  629. mesh("SpecialMesh", HitboxD, Enum.MeshType.Wedge, "", Vector3.new(0, 0, 0), Vector3.new(0.600000024, 1, 1))
  630. mesh("SpecialMesh", Layer3Handle, Enum.MeshType.FileMesh, "http://www.roblox.com/asset/?id=18430887", Vector3.new(0, 0, 0), Vector3.new(6, 6, -1.21799994))
  631.  
  632. local Lite = Create("PointLight"){
  633. Parent = Handle,
  634. Color = BrickColor.new("Crimson").Color,
  635. Shadows = true,
  636. Range = 20,
  637. Brightness = 0.5,
  638. }
  639.  
  640. local Spin = Create("Sound"){
  641. Parent = Handle,
  642. SoundId = "rbxassetid://143301643",
  643. Volume = 1,
  644. Pitch = 1,
  645. Looped = true,
  646. }
  647.  
  648. local Spin2 = Create("Sound"){
  649. Parent = Handle,
  650. SoundId = "rbxassetid://149560784",
  651. Volume = .7,
  652. Pitch = .8,
  653. Looped = true,
  654. }
  655.  
  656. Spin:Play()
  657.  
  658. Spin2:Play()
  659.  
  660. local PE1 = Create("ParticleEmitter"){
  661. Parent = Layer3Handle,
  662. Color = ColorSequence.new(BrickColor.new("Crimson").Color),
  663. Transparency = NumberSequence.new(.5),
  664. Size = NumberSequence.new(0.2),
  665. Texture = "rbxassetid://263433152",
  666. Lifetime = NumberRange.new(1),
  667. Rate = 20,
  668. VelocitySpread = 180,
  669. Rotation = NumberRange.new(100),
  670. Speed = NumberRange.new(3),
  671. LightEmission = 1,
  672. }
  673.  
  674. function Reappear()
  675. for _, i in pairs(m:children()) do
  676. if i.Name == "Layer3Handle" then
  677. Part.Transparency = 1
  678. coroutine.resume(coroutine.create(function(Part)
  679. for i = 0, 1, 0.1 do
  680. swait()
  681. Part.Transparency = i
  682. end
  683. Part.Transparency = 0.5
  684. end), i)
  685. end
  686. end
  687. end
  688.  
  689. function Disappear()
  690. for _, i in pairs(m:children()) do
  691. if i.Name == "Layer3Handle" then
  692. Part.Transparency = .5
  693. coroutine.resume(coroutine.create(function(Part)
  694. for i = 0, 1, 0.1 do
  695. swait()
  696. Part.Transparency = i
  697. end
  698. Part.Transparency = 1
  699. end), i)
  700. end
  701. end
  702. end
  703.  
  704. function attackone()
  705. attack = true
  706. local con1 = HitboxA.Touched:connect(function(hit)
  707. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1)
  708. end)
  709. local con2 = HitboxB.Touched:connect(function(hit)
  710. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1)
  711. end)
  712. local con3 = HitboxC.Touched:connect(function(hit)
  713. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1)
  714. end)
  715. local con4 = HitboxD.Touched:connect(function(hit)
  716. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1)
  717. end)
  718. Reappear()
  719. for i = 0, 1, 0.1 do
  720. swait()
  721. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .3)
  722. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(50)), .3)
  723. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(30)), 0.3)
  724. LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(30)), 0.3)
  725. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(120), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  726. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  727. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(5, -4, -7) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
  728. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  729. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  730. end
  731. so("Slash1", Handle, 1, 1)
  732. for i = 0, 1, 0.1 do
  733. swait()
  734. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .5)
  735. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(-50)), .5)
  736. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, -.5) * angles(math.rad(90), math.rad(0), math.rad(-30)), 0.5)
  737. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.5)
  738. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
  739. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-120), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
  740. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-2, -4, -8) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
  741. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  742. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  743. end
  744. Disappear()
  745. con1:disconnect()
  746. con2:disconnect()
  747. con3:disconnect()
  748. con4:disconnect()
  749. attack = false
  750. end
  751.  
  752. function attacktwo()
  753. attack = true
  754. local con1 = HitboxA.Touched:connect(function(hit)
  755. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1)
  756. end)
  757. local con2 = HitboxB.Touched:connect(function(hit)
  758. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1)
  759. end)
  760. local con3 = HitboxC.Touched:connect(function(hit)
  761. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1)
  762. end)
  763. local con4 = HitboxD.Touched:connect(function(hit)
  764. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1)
  765. end)
  766. Reappear()
  767. for i = 0, 1, 0.1 do
  768. swait()
  769. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  770. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3)
  771. RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.5, -.5) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3)
  772. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
  773. RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  774. LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-85), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  775. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, 10, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.3)
  776. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  777. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  778. end
  779. so("Slash2", Handle, 1, 1.2)
  780. for i = 0, 1, 0.1 do
  781. swait()
  782. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .5)
  783. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .5)
  784. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.3, -.5) * angles(math.rad(50), math.rad(0), math.rad(-30)), 0.5)
  785. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-50)), 0.5)
  786. RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
  787. LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-85), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
  788. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, .5, -8) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.4)
  789. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  790. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  791. end
  792. Disappear()
  793. con1:disconnect()
  794. con2:disconnect()
  795. con3:disconnect()
  796. con4:disconnect()
  797. attack = false
  798. end
  799.  
  800. function attackthree()
  801. attack = true
  802. local con1 = HitboxA.Touched:connect(function(hit)
  803. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit1", 1)
  804. end)
  805. local con2 = HitboxB.Touched:connect(function(hit)
  806. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit2", 1)
  807. end)
  808. local con3 = HitboxC.Touched:connect(function(hit)
  809. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit3", 1)
  810. end)
  811. local con4 = HitboxD.Touched:connect(function(hit)
  812. Damagefunc(HitboxA, hit, 10, 30, math.random(1, 5), "Normal", RootPart, .1, "Hit4", 1)
  813. end)
  814. Reappear()
  815. for i = 0, 1, 0.1 do
  816. swait()
  817. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), .3)
  818. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-50)), .3)
  819. RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.8, -.5) * angles(math.rad(120), math.rad(0), math.rad(-30)), 0.3)
  820. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
  821. RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  822. LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-140), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  823. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-10, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3)
  824. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  825. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  826. end
  827. so("Slash1", Handle, 1, 1.2)
  828. for i = 0, 1, 0.1 do
  829. swait()
  830. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .5)
  831. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(50)), .5)
  832. RW.C0 = clerp(RW.C0, CFrame.new(1.4, 0.5, 0) * angles(math.rad(50), math.rad(0), math.rad(30)), 0.5)
  833. LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.3, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.5)
  834. RH.C0 = clerp(RH.C0, cf(1, -1, -.3) * angles(math.rad(0), math.rad(140), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
  835. LH.C0 = clerp(LH.C0, cf(-1, -1, .2) * angles(math.rad(0), math.rad(-50), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .5)
  836. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, -5, -10) * angles(math.rad(0), math.rad(0), math.rad(-20)), 0.3)
  837. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  838. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  839. end
  840. Disappear()
  841. con1:disconnect()
  842. con2:disconnect()
  843. con3:disconnect()
  844. con4:disconnect()
  845. attack = false
  846. end
  847.  
  848. local hoverpos = Create("BodyPosition"){}
  849.  
  850. local bv = Create("BodyVelocity"){
  851.  
  852. Parent = nil,
  853.  
  854. maxForce = Vector3.new(4e+020, 4e+020, 4e+020) ,
  855.  
  856. }
  857.  
  858. local hovering = false
  859.  
  860. function Hover()
  861. so("Appear",Handle,1,1)
  862. attack = true
  863. local dur = 0
  864. local donum3 = 0
  865. coroutine.resume(coroutine.create(function(Num)
  866. for i = 0, 1, 0.1 do
  867. swait()
  868. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  869. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
  870. RW.C0 = clerp(RW.C0, CFrame.new(1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
  871. LW.C0 = clerp(LW.C0, CFrame.new(-1, 0.3, .3) * angles(math.rad(-30), math.rad(0), math.rad(30)), 0.3)
  872. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(-20)) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  873. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(10)) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  874. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, -8, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
  875. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum3 / .03, math.rad(0)), 0.3)
  876. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum3 / .04, math.rad(0)), 0.3)
  877. end
  878. end), dur)
  879. Reappear()
  880. hoverpos.maxForce = vt(4e+080, 4e+080, 4e+080)
  881. hoverpos.Name = "BP"
  882. hoverpos.Parent = RootPart
  883. hoverpos.P = 2000
  884. hoverpos.D = 100
  885. hoverpos.position = RootPart.Position
  886. while hovering == true do
  887. for i = 0, 1, 0.1 do
  888. swait()
  889. donum3 = donum3 + 0.01
  890. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum3 / .03, math.rad(0)), 0.3)
  891. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum3 / .04, math.rad(0)), 0.3)
  892. end
  893. end
  894. Disappear()
  895. so("Disappear",Handle,1,1)
  896. hoverpos.Parent = nil
  897. attack = false
  898. end
  899.  
  900. function MagniDamage(Hit,Part,magni,mindam,maxdam,knock,Type)
  901. for _,c in pairs(workspace:children()) do
  902. local hum=c:findFirstChild("Humanoid")
  903. if hum~=nil then
  904. local head=c:findFirstChild("Torso")
  905. if head~=nil then
  906. local targ=head.Position-Part.Position
  907. local mag=targ.magnitude
  908. if mag<=magni and c.Name~=Player.Name then
  909. Damagefunc(Hit,head,mindam,maxdam,knock,Type,RootPart,.2,"Hit1",1)
  910. end
  911. end
  912. end
  913. end
  914. end
  915.  
  916. function CylinderEffect(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  917. local prt=part(3,Character,"Neon",0,0,brickcolor,"Effect",vt(0.2,0.2,0.2))
  918. prt.Anchored=true
  919. prt.CFrame=cframe
  920. local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
  921. game:GetService("Debris"):AddItem(prt,5)
  922. Effects[#Effects+1]={prt,"Cylinder",delay,x3,y3,z3} --part, type, delay
  923. end
  924.  
  925. RocketTarget = RootPart
  926. function ShootCannon(asd)
  927. local MainPos=asd.Position
  928. local MainPos2=mouse.Hit.p
  929. local MouseLook=cf((MainPos+MainPos2)/2,MainPos2)
  930. num=30
  931. coroutine.resume(coroutine.create(function()
  932. repeat
  933. wait()
  934. local hit,pos = rayCast(MainPos,MouseLook.lookVector,10,RocketTarget.Parent)
  935. local mag=(MainPos-pos).magnitude
  936. CylinderEffect(BrickColor.new("Crimson"),CFrame.new((MainPos+pos)/2,pos)*angles(1.57,0,0),3,mag*5,3,1.5,0,1.5,0.1)
  937. MainPos=MainPos+(MouseLook.lookVector*10)
  938. num=num-1
  939. if hit~=nil then
  940. num=0
  941. local ref=part(3,workspace,"Neon",0,1,BrickColor.new("Crimson"),"Reference",vt())
  942. ref.Anchored=true
  943. ref.CFrame=cf(pos)
  944. MagniDamage(ref,hit,5,30,50,1,"Normal")
  945. game:GetService("Debris"):AddItem(ref,5)
  946. end
  947. until num<=0
  948. end))
  949. end
  950.  
  951. function BlastEffect(brickcolor, cframe, x1, y1, z1, x2, y2, z2)
  952. local prt = part(3, workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
  953. prt.Anchored = true
  954. prt.CFrame = cframe
  955. local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
  956. coroutine.resume(coroutine.create(function()
  957. for i = 0, 1, 0.05 do
  958. wait()
  959. prt.Transparency = i
  960. msh.Scale = msh.Scale + vt(x2, y2, z2)
  961. end
  962. prt.Parent = nil
  963. end))
  964. end
  965.  
  966. function BlockEffect(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
  967. local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt())
  968. prt.Anchored=true
  969. prt.CFrame=cframe
  970. local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
  971. game:GetService("Debris"):AddItem(prt,5)
  972. table.insert(Effects,{prt,"Block1",delay,x3,y3,z3}) --part, type, delay
  973. end
  974.  
  975. function FireProjectiles()
  976. attack = true
  977. so("Appear",Handle,1,1)
  978. Reappear()
  979. for i = 0,1,0.1 do
  980. swait()
  981. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  982. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-30), math.rad(0), math.rad(0)), .3)
  983. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3)
  984. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-20)), 0.3)
  985. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  986. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  987. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
  988. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
  989. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
  990. end
  991. Humanoid.WalkSpeed = 0
  992. for i = 1,8 do
  993. ShootCannon(Handle)
  994. BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
  995. so("Beam",Handle,1,1.5)
  996. for i = 0,1,0.1 do
  997. swait()
  998. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .5)
  999. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), .5)
  1000. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(85), math.rad(0), math.rad(30)), 0.5)
  1001. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(85), math.rad(0), math.rad(-30)), 0.5)
  1002. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1003. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1004. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 1, 0) * angles(math.rad(-90), math.rad(0), math.rad(0)), 0.3)
  1005. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
  1006. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
  1007. end
  1008. end
  1009. Disappear()
  1010. so("Disappear",Handle,1,1)
  1011. Humanoid.WalkSpeed = 16
  1012. attack = false
  1013. end
  1014.  
  1015. function EnergyBurst()
  1016. attack = true
  1017. so("Appear",Handle,1,1)
  1018. for i = 0,1,0.1 do
  1019. swait()
  1020. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), .3)
  1021. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(50)), .3)
  1022. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(50), math.rad(90)), 0.3)
  1023. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-20)), 0.3)
  1024. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(130), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  1025. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  1026. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(10, -4, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
  1027. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
  1028. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
  1029. end
  1030. Reappear()
  1031. so("Slash1", Handle, 1, 1.2)
  1032. for i = 1,2 do
  1033. for i = 0,1,0.1 do
  1034. swait()
  1035. BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.5,.5,.5,.9,.9,.9,0.05)
  1036. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(70)), .3)
  1037. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-70)), .3)
  1038. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(20), math.rad(90)), 0.3)
  1039. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40), math.rad(0), math.rad(-50)), 0.3)
  1040. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  1041. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-130), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  1042. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(15, -4, -7) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3)
  1043. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -6*i, math.rad(0)), 0.3)
  1044. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 6*i, math.rad(0)), 0.3)
  1045. end
  1046. end
  1047. Disappear()
  1048. so("Disappear",Handle,1,1)
  1049. so("Fire", Handle, 1, 1.2)
  1050. so("Fire", Handle, 1, .8)
  1051. MagniDamage(Handle,Handle,30,30,50,1,"Knockdown")
  1052. BlastEffect(BrickColor.new("Crimson"), Handle.CFrame, .1, .1, .1, 1, 1, 1)
  1053. for i = 1,5 do
  1054. BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,1,1,1,5,5,5,0.05)
  1055. end
  1056. attack = false
  1057. end
  1058.  
  1059. function WaveEffect(Part,cframe1,cframe2,Damage,Size)
  1060. coroutine.resume(coroutine.create(function()
  1061. local wave=part(1,workspace,"Neon",0,0,BrickColor.new("Crimson"),"Effect",vt(3,3,10))
  1062. wave.Anchored=true
  1063. wave.CFrame=Part.CFrame*cframe1
  1064. so("Beam",wave,1,1.3)
  1065. MagniDamage(wave,wave,10,10,30,1,"Normal")
  1066. local Msh = Create("SpecialMesh"){
  1067. Parent = wave,
  1068. MeshType = "Sphere"
  1069. }
  1070. BlockEffect(BrickColor.new("Crimson"),wave.CFrame,1,1,1,3,3,3,0.05)
  1071. local PE1 = Create("ParticleEmitter"){
  1072. Parent = wave,
  1073. Color = ColorSequence.new(BrickColor.new("Crimson").Color),
  1074. Transparency = NumberSequence.new(.5),
  1075. Size = NumberSequence.new(1),
  1076. Texture = "rbxassetid://249270319",
  1077. Lifetime = NumberRange.new(1),
  1078. Rate = 50,
  1079. VelocitySpread = 180,
  1080. Rotation = NumberRange.new(0),
  1081. Speed = NumberRange.new(5),
  1082. LightEmission = 1,
  1083. }
  1084. for i=0,1,0.2 do
  1085. wait()
  1086. local dir = wave.CFrame.lookVector*-1
  1087. local pos = rayCast(wave.Position,dir,5,Character)
  1088. wave.CFrame=wave.CFrame*cframe2
  1089. Effects[#Effects+1]={wave,"Cylinder",0.01,.03,.03,.03}
  1090. end
  1091. end))
  1092. end
  1093.  
  1094. function Wave()
  1095. attack = true
  1096. Reappear()
  1097. so("Appear",Handle,1,.8)
  1098. for i = 1,3 do
  1099. for i = 0, 1, 0.1 do
  1100. swait()
  1101. BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
  1102. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), .3)
  1103. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3)
  1104. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.8, 0) * angles(math.rad(150), math.rad(0), math.rad(0)), 0.3)
  1105. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-30), math.rad(0), math.rad(-30)), 0.3)
  1106. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1107. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1108. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, 10, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.4)
  1109. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  1110. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  1111. end
  1112. end
  1113. so("Slash2",Handle,1,.4)
  1114. local inc=-10
  1115. for i=1,8 do
  1116. WaveEffect(Torso,CFrame.new(0,-5,inc)*CFrame.fromEulerAnglesXYZ(-2,0,1.57),CFrame.new(0,0,0.8),10,5)
  1117. inc=inc-7
  1118. end
  1119. for i = 1,2 do
  1120. for i = 0, 1, 0.1 do
  1121. swait()
  1122. BlockEffect(BrickColor.new("Crimson"),Handle.CFrame,.1,.1,.1,1,1,1,0.05)
  1123. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), .5)
  1124. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-5), math.rad(0), math.rad(0)), .5)
  1125. RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.4, -.5) * angles(math.rad(50), math.rad(0), math.rad(-20)), 0.5)
  1126. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(-50)), 0.5)
  1127. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(10)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1128. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(-10)) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1129. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(-4, .5, -10) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5)
  1130. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), -5 * i, math.rad(0)), 0.3)
  1131. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), 5 * i, math.rad(0)), 0.3)
  1132. end
  1133. end
  1134. Disappear()
  1135. so("Disappear",Handle,1,.8)
  1136. attack = false
  1137. end
  1138.  
  1139. mouse.Button1Down:connect(function()
  1140. if attack == false and attacktype == 1 then
  1141. attacktype = 2
  1142. attackone()
  1143. elseif attack == false and attacktype == 2 then
  1144. attacktype = 3
  1145. attacktwo()
  1146. elseif attack == false and attacktype == 3 then
  1147. attacktype = 1
  1148. attackthree()
  1149. end
  1150. end)
  1151.  
  1152. mouse.KeyDown:connect(function(k)
  1153. k = k:lower()
  1154. if attack == false and k == ' ' and Anim == "Jump" then
  1155. hovering = true
  1156. Hover()
  1157. elseif k == ' ' and hovering == true then
  1158. hovering = false
  1159. elseif attack == false and k == 'q' then
  1160. FireProjectiles()
  1161. elseif attack == false and k == 'e' then
  1162. EnergyBurst()
  1163. elseif attack == false and k == 'r' then
  1164. Wave()
  1165. end
  1166. end)
  1167.  
  1168. local sine = 0
  1169. local change = 1
  1170. local val = 0
  1171. local idle = 0
  1172. local donum = 0
  1173. local donum2 = 0
  1174.  
  1175. while true do
  1176. swait()
  1177. sine = sine + change
  1178. local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  1179. local velderp = RootPart.Velocity.y
  1180. hitfloor, posfloor = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
  1181. if equipped == true or equipped == false then
  1182. if attack == false then
  1183. idle = idle + 1
  1184. else
  1185. idle = 0
  1186. end
  1187. if idle >= 500 then
  1188. if attack == false then
  1189. end
  1190. end
  1191. if donum2 >= .5 then
  1192. handidle = true
  1193. elseif donum2 <= 0 then
  1194. handidle = false
  1195. end
  1196. if handidle == false then
  1197. donum2 = donum2 + 0.003
  1198. else
  1199. donum2 = donum2 - 0.003
  1200. end
  1201. donum = donum + 0.003
  1202. if RootPart.Velocity.y > 1 and hitfloor == nil then
  1203. Anim = "Jump"
  1204. if attack == false then
  1205. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .3)
  1206. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-10), math.rad(0), math.rad(0)), .3)
  1207. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(30)), 0.3)
  1208. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), 0.3)
  1209. RH.C0 = clerp(RH.C0, cf(1, -.8, -.5) * angles(math.rad(0), math.rad(90), math.rad(-20)), .3)
  1210. LH.C0 = clerp(LH.C0, cf(-1, -1, -.3) * angles(math.rad(0), math.rad(-90), math.rad(30)), .3)
  1211. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
  1212. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
  1213. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
  1214. end
  1215. elseif RootPart.Velocity.y < -1 and hitfloor == nil then
  1216. Anim = "Fall"
  1217. if attack == false then
  1218. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(0)), .3)
  1219. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), .3)
  1220. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.3)
  1221. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-50)), 0.3)
  1222. RH.C0 = clerp(RH.C0, cf(1, -.7, -.5) * angles(math.rad(0), math.rad(90), math.rad(-20)), .3)
  1223. LH.C0 = clerp(LH.C0, cf(-1, -.9, -.3) * angles(math.rad(0), math.rad(-90), math.rad(30)), .3)
  1224. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
  1225. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
  1226. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
  1227. end
  1228. elseif torvel < 1 and hitfloor ~= nil then
  1229. Anim = "Idle"
  1230. if attack == false then
  1231. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-30)), .3)
  1232. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(30)), .3)
  1233. RW.C0 = clerp(RW.C0, CFrame.new(.8, 0.5, -.7) * angles(math.rad(85), math.rad(0), math.rad(-70)), 0.3)
  1234. LW.C0 = clerp(LW.C0, CFrame.new(-.8, 0.5, -.3) * angles(math.rad(70), math.rad(0), math.rad(70)), 0.3)
  1235. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  1236. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-70), math.rad(0)) * angles(math.rad(-3), math.rad(0), math.rad(0)), .3)
  1237. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
  1238. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
  1239. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
  1240. end
  1241. elseif torvel > 2 and hitfloor ~= nil then
  1242. Anim = "Walk"
  1243. if attack == false then
  1244. change = 3
  1245. RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(5), math.rad(0), math.rad(0)), .3)
  1246. Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(5), math.rad(0), math.rad(0)), .3)
  1247. RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(40) * math.cos(sine / 10), math.rad(0), math.rad(5)), 0.3)
  1248. LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-40) * math.cos(sine / 10), math.rad(0), math.rad(-5)), 0.3)
  1249. RH.C0 = clerp(RH.C0, cf(1, -1, 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2), math.rad(0), math.rad(0)), .3)
  1250. LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2), math.rad(0), math.rad(0)), .3)
  1251. Handleweld.C0 = clerp(Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(20) - donum2 / 1), 0.3)
  1252. Layer2Handleweld.C0 = clerp(Layer2Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) - donum / .01, math.rad(0)), 0.3)
  1253. Layer3Handleweld.C0 = clerp(Layer3Handleweld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(30) + donum / .03, math.rad(0)), 0.3)
  1254. end
  1255. end
  1256. end
  1257. if #Effects > 0 then
  1258. for e = 1, #Effects do
  1259. if Effects[e] ~= nil then
  1260. local Thing = Effects[e]
  1261. if Thing ~= nil then
  1262. local Part = Thing[1]
  1263. local Mode = Thing[2]
  1264. local Delay = Thing[3]
  1265. local IncX = Thing[4]
  1266. local IncY = Thing[5]
  1267. local IncZ = Thing[6]
  1268. if Thing[1].Transparency <= 1 then
  1269. if Thing[2] == "Block1" then
  1270. Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1271. Mesh = Thing[1].Mesh
  1272. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1273. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1274. elseif Thing[2] == "Cylinder" then
  1275. Mesh = Thing[1].Mesh
  1276. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1277. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1278. elseif Thing[2] == "Blood" then
  1279. Mesh = Thing[7]
  1280. Thing[1].CFrame = Thing[1].CFrame * cf(0, .5, 0)
  1281. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  1282. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1283. elseif Thing[2] == "Elec" then
  1284. Mesh = Thing[1].Mesh
  1285. Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
  1286. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1287. elseif Thing[2] == "Disappear" then
  1288. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  1289. end
  1290. else
  1291. Part.Parent = nil
  1292. table.remove(Effects, e)
  1293. end
  1294. end
  1295. end
  1296. end
  1297. end
  1298. end
Add Comment
Please, Sign In to add comment