Advertisement
RobloxHackImporium

bbb

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