Advertisement
Finnegan5

Purple drone

Sep 6th, 2017
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.51 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.HumanoidRootPart
  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. TorsA = 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 = TorsA["Left Shoulder"]
  24. LH = TorsA["Left Hip"]
  25. RS = TorsA["Right Shoulder"]
  26. RH = TorsA["Right Hip"]
  27. Neck = TorsA.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 = TorsA["Left Hip"]
  58. RH = TorsA["Right Hip"]
  59. RSH = TorsA["Right Shoulder"]
  60. LSH = TorsA["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, "Royal purple", "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, "Dark indigo", "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, "Dark indigo", "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, "Royal purple", "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, "Royal purple", "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, "Dark indigo", "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, "Royal purple", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Royal purple", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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, "Dark indigo", "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("Royal purple").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("Royal purple").Color),
  663. Transparency = NumberSequence.new(.5),
  664. Size = NumberSequence.new(0.2),
  665. Texture = "rbxasset://textures/particles/sparkles_main.dds",
  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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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("Royal purple"),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("Royal purple"),"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. TorsA.Neck.C0 = clerp(TorsA.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("Royal purple"),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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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("Royal purple"),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. TorsA.Neck.C0 = clerp(TorsA.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("Royal purple"), Handle.CFrame, .1, .1, .1, 1, 1, 1)
  1053. for i = 1,5 do
  1054. BlockEffect(BrickColor.new("Royal purple"),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("Royal purple"),"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("Royal purple"),wave.CFrame,1,1,1,3,3,3,0.05)
  1071. local PE1 = Create("ParticleEmitter"){
  1072. Parent = wave,
  1073. Color = ColorSequence.new(BrickColor.new("Royal purple").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("Royal purple"),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. TorsA.Neck.C0 = clerp(TorsA.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("Royal purple"),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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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. TorsA.Neck.C0 = clerp(TorsA.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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement