Advertisement
CHARA-SCRIPTER

COREWHEEL

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