Advertisement
ForkFullFight

L o l

Jul 18th, 2023 (edited)
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 284.15 KB | None | 0 0
  1. --usage
  2.  
  3. local FEService = loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/WhyGitHubb/FEService/main/main.lua"))()
  4.  
  5.  
  6. FEService:FullNetwork()
  7.  
  8. print(game.Players.LocalPlayer.SimulationRadius)
  9. --reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY
  10. local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8)
  11. local function getNetlessVelocity(realPartVelocity)
  12. local mag = realPartVelocity.Magnitude
  13. if mag > 1 then
  14. local unit = realPartVelocity.Unit
  15. if (unit.Y > 0.25) or (unit.Y < -0.75) then
  16. return unit * (25.1 / unit.Y)
  17. end
  18. end
  19. return v3_net + realPartVelocity * v3_808
  20. end
  21. local simradius = "shp" --simulation radius (net bypass) method
  22. --"shp" - sethiddenproperty
  23. --"ssr" - setsimulationradius
  24. --false - disable
  25. local simrad = 1000 --simulation radius value
  26. local healthHide = true --moves your head away every 3 seconds so players dont see your health bar (alignmode 4 only)
  27. local reclaim = true --if you lost control over a part this will move your primary part to the part so you get it back (alignmode 4)
  28. local novoid = true --prevents parts from going under workspace.FallenPartsDestroyHeight if you control them (alignmode 4 only)
  29. local physp = nil --PhysicalProperties.new(0.01, 0, 1, 0, 0) --sets .CustomPhysicalProperties to this for each part
  30. local noclipAllParts = false --set it to true if you want noclip
  31. local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character
  32. local newanimate = true --disables the animate script and enables after reanimation
  33. local discharscripts = true --disables all localScripts parented to your character before reanimation
  34. local R15toR6 = true --tries to convert your character to r6 if its r15
  35. local hatcollide = false --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0)
  36. local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState)
  37. local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation
  38. local hedafterneck = true --disable aligns for head and enable after neck or torso is removed
  39. local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay
  40. local method = 3 --reanimation method
  41. --methods:
  42. --0 - breakJoints (takes [loadtime] seconds to load)
  43. --1 - limbs
  44. --2 - limbs + anti respawn
  45. --3 - limbs + breakJoints after [loadtime] seconds
  46. --4 - remove humanoid + breakJoints
  47. --5 - remove humanoid + limbst
  48. local alignmode = 3 --AlignPosition mode
  49. --modes:
  50. --1 - AlignPosition rigidity enabled true
  51. --2 - 2 AlignPositions rigidity enabled both true and false
  52. --3 - AlignPosition rigidity enabled false
  53. --4 - CFrame
  54. local flingpart = "HumanoidRootPart" --name of the part or the hat used for flinging
  55. --the fling function
  56. --usage: fling(target, duration, velocity)
  57. --target can be set to: basePart, CFrame, Vector3, character model or humanoid (flings at mouse.Hit if argument not provided))
  58. --duration (fling time in seconds) can be set to a number or a string convertable to the number (0.5s if not provided),
  59. --velocity (fling part rotation velocity) can be set to a vector3 value (Vector3.new(20000, 20000, 20000) if not provided)
  60.  
  61. local lp = game:GetService("Players").LocalPlayer
  62. local rs, ws, sg = game:GetService("RunService"), game:GetService("Workspace"), game:GetService("StarterGui")
  63. local stepped, heartbeat, renderstepped = rs.Stepped, rs.Heartbeat, rs.RenderStepped
  64. local twait, tdelay, rad, inf, abs, clamp = task.wait, task.delay, math.rad, math.huge, math.abs, math.clamp
  65. local cf, v3 = CFrame.new, Vector3.new
  66. local angles = CFrame.Angles
  67. local v3_0, cf_0 = v3(0, 0, 0), cf(0, 0, 0)
  68.  
  69. local c = lp.Character
  70. if not (c and c.Parent) then
  71. return
  72. end
  73.  
  74. c:GetPropertyChangedSignal("Parent"):Connect(function()
  75. if not (c and c.Parent) then
  76. c = nil
  77. end
  78. end)
  79.  
  80. local clone, destroy, getchildren, getdescendants, isa = c.Clone, c.Destroy, c.GetChildren, c.GetDescendants, c.IsA
  81.  
  82. local function gp(parent, name, className)
  83. if typeof(parent) == "Instance" then
  84. for i, v in pairs(getchildren(parent)) do
  85. if (v.Name == name) and isa(v, className) then
  86. return v
  87. end
  88. end
  89. end
  90. return nil
  91. end
  92.  
  93. local fenv = getfenv()
  94.  
  95. local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop
  96. local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.setsimrad or fenv.set_sim_rad
  97.  
  98. healthHide = healthHide and ((method == 0) or (method == 3)) and gp(c, "Head", "BasePart")
  99.  
  100. local reclaim, lostpart = reclaim and c.PrimaryPart, nil
  101.  
  102. local function align(Part0, Part1)
  103.  
  104. local att0 = Instance.new("Attachment")
  105. att0.Position, att0.Orientation, att0.Name = v3_0, v3_0, "att0_" .. Part0.Name
  106. local att1 = Instance.new("Attachment")
  107. att1.Position, att1.Orientation, att1.Name = v3_0, v3_0, "att1_" .. Part1.Name
  108.  
  109. if alignmode == 4 then
  110.  
  111. local hide = false
  112. if Part0 == healthHide then
  113. healthHide = false
  114. tdelay(0, function()
  115. while twait(2.9) and Part0 and c do
  116. hide = #Part0:GetConnectedParts() == 1
  117. twait(0.1)
  118. hide = false
  119. end
  120. end)
  121. end
  122.  
  123. local rot = rad(0.05)
  124. local con0, con1 = nil, nil
  125. con0 = stepped:Connect(function()
  126. if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
  127. Part0.RotVelocity = Part1.RotVelocity
  128. end)
  129. local lastpos = Part0.Position
  130. con1 = heartbeat:Connect(function(delta)
  131. if not (Part0 and Part1 and att1) then return con0:Disconnect() and con1:Disconnect() end
  132. if (not Part0.Anchored) and (Part0.ReceiveAge == 0) then
  133. if lostpart == Part0 then
  134. lostpart = nil
  135. end
  136. rot = -rot
  137. local newcf = Part1.CFrame * att1.CFrame * angles(0, 0, rot)
  138. if Part1.Velocity.Magnitude > 0.01 then
  139. Part0.Velocity = getNetlessVelocity(Part1.Velocity)
  140. else
  141. Part0.Velocity = getNetlessVelocity((newcf.Position - lastpos) / delta)
  142. end
  143. lastpos = newcf.Position
  144. if lostpart and (Part0 == reclaim) then
  145. newcf = lostpart.CFrame
  146. elseif hide then
  147. newcf += v3(0, 3000, 0)
  148. end
  149. if novoid and (newcf.Y < ws.FallenPartsDestroyHeight + 0.1) then
  150. newcf += v3(0, ws.FallenPartsDestroyHeight + 0.1 - newcf.Y, 0)
  151. end
  152. Part0.CFrame = newcf
  153. elseif (not Part0.Anchored) and (abs(Part0.Velocity.X) < 45) and (abs(Part0.Velocity.Y) < 25) and (abs(Part0.Velocity.Z) < 45) then
  154. lostpart = Part0
  155. end
  156. end)
  157.  
  158. else
  159.  
  160. Part0.CustomPhysicalProperties = physp
  161. if (alignmode == 1) or (alignmode == 2) then
  162. local ape = Instance.new("AlignPosition")
  163. ape.MaxForce, ape.MaxVelocity, ape.Responsiveness = inf, inf, inf
  164. ape.ReactionForceEnabled, ape.RigidityEnabled, ape.ApplyAtCenterOfMass = false, true, false
  165. ape.Attachment0, ape.Attachment1, ape.Name = att0, att1, "AlignPositionRtrue"
  166. ape.Parent = att0
  167. end
  168.  
  169. if (alignmode == 2) or (alignmode == 3) then
  170. local apd = Instance.new("AlignPosition")
  171. apd.MaxForce, apd.MaxVelocity, apd.Responsiveness = inf, inf, inf
  172. apd.ReactionForceEnabled, apd.RigidityEnabled, apd.ApplyAtCenterOfMass = false, false, false
  173. apd.Attachment0, apd.Attachment1, apd.Name = att0, att1, "AlignPositionRfalse"
  174. apd.Parent = att0
  175. end
  176.  
  177. local ao = Instance.new("AlignOrientation")
  178. ao.MaxAngularVelocity, ao.MaxTorque, ao.Responsiveness = inf, inf, inf
  179. ao.PrimaryAxisOnly, ao.ReactionTorqueEnabled, ao.RigidityEnabled = false, false, false
  180. ao.Attachment0, ao.Attachment1 = att0, att1
  181. ao.Parent = att0
  182.  
  183. local con0, con1 = nil, nil
  184. local vel = Part0.Velocity
  185. con0 = renderstepped:Connect(function()
  186. if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
  187. Part0.Velocity = vel
  188. end)
  189. local lastpos = Part0.Position
  190. con1 = heartbeat:Connect(function(delta)
  191. if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end
  192. vel = Part0.Velocity
  193. if Part1.Velocity.Magnitude > 0.01 then
  194. Part0.Velocity = getNetlessVelocity(Part1.Velocity)
  195. else
  196. Part0.Velocity = getNetlessVelocity((Part0.Position - lastpos) / delta)
  197. end
  198. lastpos = Part0.Position
  199. end)
  200.  
  201. end
  202.  
  203. att0:GetPropertyChangedSignal("Parent"):Connect(function()
  204. Part0 = att0.Parent
  205. if not isa(Part0, "BasePart") then
  206. att0 = nil
  207. if lostpart == Part0 then
  208. lostpart = nil
  209. end
  210. Part0 = nil
  211. end
  212. end)
  213. att0.Parent = Part0
  214.  
  215. att1:GetPropertyChangedSignal("Parent"):Connect(function()
  216. Part1 = att1.Parent
  217. if not isa(Part1, "BasePart") then
  218. att1 = nil
  219. Part1 = nil
  220. end
  221. end)
  222. att1.Parent = Part1
  223. end
  224.  
  225. local function respawnrequest()
  226. local ccfr, c = ws.CurrentCamera.CFrame, lp.Character
  227. lp.Character = nil
  228. lp.Character = c
  229. local con = nil
  230. con = ws.CurrentCamera.Changed:Connect(function(prop)
  231. if (prop ~= "Parent") and (prop ~= "CFrame") then
  232. return
  233. end
  234. ws.CurrentCamera.CFrame = ccfr
  235. con:Disconnect()
  236. end)
  237. end
  238.  
  239. local destroyhum = (method == 4) or (method == 5)
  240. local breakjoints = (method == 0) or (method == 4)
  241. local antirespawn = (method == 0) or (method == 2) or (method == 3)
  242.  
  243. hatcollide = hatcollide and (method == 0)
  244.  
  245. addtools = addtools and lp:FindFirstChildOfClass("Backpack")
  246.  
  247. if type(simrad) ~= "number" then simrad = 1000 end
  248. if shp and (simradius == "shp") then
  249. tdelay(0, function()
  250. while c do
  251. shp(lp, "SimulationRadius", simrad)
  252. heartbeat:Wait()
  253. end
  254. end)
  255. elseif ssr and (simradius == "ssr") then
  256. tdelay(0, function()
  257. while c do
  258. ssr(simrad)
  259. heartbeat:Wait()
  260. end
  261. end)
  262. end
  263.  
  264. if antiragdoll then
  265. antiragdoll = function(v)
  266. if isa(v, "HingeConstraint") or isa(v, "BallSocketConstraint") then
  267. v.Parent = nil
  268. end
  269. end
  270. for i, v in pairs(getdescendants(c)) do
  271. antiragdoll(v)
  272. end
  273. c.DescendantAdded:Connect(antiragdoll)
  274. end
  275.  
  276. if antirespawn then
  277. respawnrequest()
  278. end
  279.  
  280. if method == 0 then
  281. twait(loadtime)
  282. if not c then
  283. return
  284. end
  285. end
  286.  
  287. if discharscripts then
  288. for i, v in pairs(getdescendants(c)) do
  289. if isa(v, "LocalScript") then
  290. v.Disabled = true
  291. end
  292. end
  293. elseif newanimate then
  294. local animate = gp(c, "Animate", "LocalScript")
  295. if animate and (not animate.Disabled) then
  296. animate.Disabled = true
  297. else
  298. newanimate = false
  299. end
  300. end
  301.  
  302. if addtools then
  303. for i, v in pairs(getchildren(addtools)) do
  304. if isa(v, "Tool") then
  305. v.Parent = c
  306. end
  307. end
  308. end
  309.  
  310. pcall(function()
  311. settings().Physics.AllowSleep = false
  312. settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
  313. end)
  314.  
  315. local OLDscripts = {}
  316.  
  317. for i, v in pairs(getdescendants(c)) do
  318. if v.ClassName == "Script" then
  319. OLDscripts[v.Name] = true
  320. end
  321. end
  322.  
  323. local scriptNames = {}
  324.  
  325. for i, v in pairs(getdescendants(c)) do
  326. if isa(v, "BasePart") then
  327. local newName, exists = tostring(i), true
  328. while exists do
  329. exists = OLDscripts[newName]
  330. if exists then
  331. newName = newName .. "_"
  332. end
  333. end
  334. table.insert(scriptNames, newName)
  335. Instance.new("Script", v).Name = newName
  336. end
  337. end
  338.  
  339. local hum = c:FindFirstChildOfClass("Humanoid")
  340. if hum then
  341. for i, v in pairs(hum:GetPlayingAnimationTracks()) do
  342. v:Stop()
  343. end
  344. end
  345. c.Archivable = true
  346. local cl = clone(c)
  347. if hum and humState16 then
  348. hum:ChangeState(Enum.HumanoidStateType.Physics)
  349. if destroyhum then
  350. twait(1.6)
  351. end
  352. end
  353. if destroyhum then
  354. pcall(destroy, hum)
  355. end
  356.  
  357. if not c then
  358. return
  359. end
  360.  
  361. local head, torso, root = gp(c, "Head", "BasePart"), gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart"), gp(c, "HumanoidRootPart", "BasePart")
  362. if hatcollide then
  363. pcall(destroy, torso)
  364. pcall(destroy, root)
  365. pcall(destroy, c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script"))
  366. end
  367.  
  368. local model = Instance.new("Model", c)
  369. model:GetPropertyChangedSignal("Parent"):Connect(function()
  370. if not (model and model.Parent) then
  371. model = nil
  372. end
  373. end)
  374.  
  375. for i, v in pairs(getchildren(c)) do
  376. if v ~= model then
  377. if addtools and isa(v, "Tool") then
  378. for i1, v1 in pairs(getdescendants(v)) do
  379. if v1 and v1.Parent and isa(v1, "BasePart") then
  380. local bv = Instance.new("BodyVelocity")
  381. bv.Velocity, bv.MaxForce, bv.P, bv.Name = v3_0, v3(1000, 1000, 1000), 1250, "bv_" .. v.Name
  382. bv.Parent = v1
  383. end
  384. end
  385. end
  386. v.Parent = model
  387. end
  388. end
  389.  
  390. if breakjoints then
  391. model:BreakJoints()
  392. else
  393. if head and torso then
  394. for i, v in pairs(getdescendants(model)) do
  395. if isa(v, "JointInstance") then
  396. local save = false
  397. if (v.Part0 == torso) and (v.Part1 == head) then
  398. save = true
  399. end
  400. if (v.Part0 == head) and (v.Part1 == torso) then
  401. save = true
  402. end
  403. if save then
  404. if hedafterneck then
  405. hedafterneck = v
  406. end
  407. else
  408. pcall(destroy, v)
  409. end
  410. end
  411. end
  412. end
  413. if method == 3 then
  414. task.delay(loadtime, pcall, model.BreakJoints, model)
  415. end
  416. end
  417.  
  418. cl.Parent = ws
  419. for i, v in pairs(getchildren(cl)) do
  420. v.Parent = c
  421. end
  422. pcall(destroy, cl)
  423.  
  424. local uncollide, noclipcon = nil, nil
  425. if noclipAllParts then
  426. uncollide = function()
  427. if c then
  428. for i, v in pairs(getdescendants(c)) do
  429. if isa(v, "BasePart") then
  430. v.CanCollide = false
  431. end
  432. end
  433. else
  434. noclipcon:Disconnect()
  435. end
  436. end
  437. else
  438. uncollide = function()
  439. if model then
  440. for i, v in pairs(getdescendants(model)) do
  441. if isa(v, "BasePart") then
  442. v.CanCollide = false
  443. end
  444. end
  445. else
  446. noclipcon:Disconnect()
  447. end
  448. end
  449. end
  450. noclipcon = stepped:Connect(uncollide)
  451. uncollide()
  452.  
  453. for i, scr in pairs(getdescendants(model)) do
  454. if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then
  455. local Part0 = scr.Parent
  456. if isa(Part0, "BasePart") then
  457. for i1, scr1 in pairs(getdescendants(c)) do
  458. if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then
  459. local Part1 = scr1.Parent
  460. if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then
  461. align(Part0, Part1)
  462. pcall(destroy, scr)
  463. pcall(destroy, scr1)
  464. break
  465. end
  466. end
  467. end
  468. end
  469. end
  470. end
  471.  
  472. for i, v in pairs(getdescendants(c)) do
  473. if v and v.Parent and (not v:IsDescendantOf(model)) then
  474. if isa(v, "Decal") then
  475. v.Transparency = 1
  476. elseif isa(v, "BasePart") then
  477. v.Transparency = 1
  478. v.Anchored = false
  479. elseif isa(v, "ForceField") then
  480. v.Visible = false
  481. elseif isa(v, "Sound") then
  482. v.Playing = false
  483. elseif isa(v, "BillboardGui") or isa(v, "SurfaceGui") or isa(v, "ParticleEmitter") or isa(v, "Fire") or isa(v, "Smoke") or isa(v, "Sparkles") then
  484. v.Enabled = false
  485. end
  486. end
  487. end
  488.  
  489. if newanimate then
  490. local animate = gp(c, "Animate", "LocalScript")
  491. if animate then
  492. animate.Disabled = false
  493. end
  494. end
  495.  
  496. if addtools then
  497. for i, v in pairs(getchildren(c)) do
  498. if isa(v, "Tool") then
  499. v.Parent = addtools
  500. end
  501. end
  502. end
  503.  
  504. local hum0, hum1 = model:FindFirstChildOfClass("Humanoid"), c:FindFirstChildOfClass("Humanoid")
  505. if hum0 then
  506. hum0:GetPropertyChangedSignal("Parent"):Connect(function()
  507. if not (hum0 and hum0.Parent) then
  508. hum0 = nil
  509. end
  510. end)
  511. end
  512. if hum1 then
  513. hum1:GetPropertyChangedSignal("Parent"):Connect(function()
  514. if not (hum1 and hum1.Parent) then
  515. hum1 = nil
  516. end
  517. end)
  518.  
  519. ws.CurrentCamera.CameraSubject = hum1
  520. local camSubCon = nil
  521. local function camSubFunc()
  522. camSubCon:Disconnect()
  523. if c and hum1 then
  524. ws.CurrentCamera.CameraSubject = hum1
  525. end
  526. end
  527. camSubCon = renderstepped:Connect(camSubFunc)
  528. if hum0 then
  529. hum0:GetPropertyChangedSignal("Jump"):Connect(function()
  530. if hum1 then
  531. hum1.Jump = hum0.Jump
  532. end
  533. end)
  534. else
  535. respawnrequest()
  536. end
  537. end
  538.  
  539. local rb = Instance.new("BindableEvent", c)
  540. rb.Event:Connect(function()
  541. pcall(destroy, rb)
  542. sg:SetCore("ResetButtonCallback", true)
  543. if destroyhum then
  544. if c then c:BreakJoints() end
  545. return
  546. end
  547. if model and hum0 and (hum0.Health > 0) then
  548. model:BreakJoints()
  549. hum0.Health = 0
  550. end
  551. if antirespawn then
  552. respawnrequest()
  553. end
  554. end)
  555. sg:SetCore("ResetButtonCallback", rb)
  556.  
  557. tdelay(0, function()
  558. while c do
  559. if hum0 and hum1 then
  560. hum1.Jump = hum0.Jump
  561. end
  562. wait()
  563. end
  564. sg:SetCore("ResetButtonCallback", true)
  565. end)
  566.  
  567. R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15)
  568. if R15toR6 then
  569. local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart")
  570. if part then
  571. local cfr = part.CFrame
  572. local R6parts = {
  573. head = {
  574. Name = "Head",
  575. Size = v3(2, 1, 1),
  576. R15 = {
  577. Head = 0
  578. }
  579. },
  580. torso = {
  581. Name = "Torso",
  582. Size = v3(2, 2, 1),
  583. R15 = {
  584. UpperTorso = 0.2,
  585. LowerTorso = -0.8
  586. }
  587. },
  588. root = {
  589. Name = "HumanoidRootPart",
  590. Size = v3(2, 2, 1),
  591. R15 = {
  592. HumanoidRootPart = 0
  593. }
  594. },
  595. leftArm = {
  596. Name = "Left Arm",
  597. Size = v3(1, 2, 1),
  598. R15 = {
  599. LeftHand = -0.849,
  600. LeftLowerArm = -0.174,
  601. LeftUpperArm = 0.415
  602. }
  603. },
  604. rightArm = {
  605. Name = "Right Arm",
  606. Size = v3(1, 2, 1),
  607. R15 = {
  608. RightHand = -0.849,
  609. RightLowerArm = -0.174,
  610. RightUpperArm = 0.415
  611. }
  612. },
  613. leftLeg = {
  614. Name = "Left Leg",
  615. Size = v3(1, 2, 1),
  616. R15 = {
  617. LeftFoot = -0.85,
  618. LeftLowerLeg = -0.29,
  619. LeftUpperLeg = 0.49
  620. }
  621. },
  622. rightLeg = {
  623. Name = "Right Leg",
  624. Size = v3(1, 2, 1),
  625. R15 = {
  626. RightFoot = -0.85,
  627. RightLowerLeg = -0.29,
  628. RightUpperLeg = 0.49
  629. }
  630. }
  631. }
  632. for i, v in pairs(getchildren(c)) do
  633. if isa(v, "BasePart") then
  634. for i1, v1 in pairs(getchildren(v)) do
  635. if isa(v1, "Motor6D") then
  636. v1.Part0 = nil
  637. end
  638. end
  639. end
  640. end
  641. part.Archivable = true
  642. for i, v in pairs(R6parts) do
  643. local part = clone(part)
  644. part:ClearAllChildren()
  645. part.Name, part.Size, part.CFrame, part.Anchored, part.Transparency, part.CanCollide = v.Name, v.Size, cfr, false, 1, false
  646. for i1, v1 in pairs(v.R15) do
  647. local R15part = gp(c, i1, "BasePart")
  648. local att = gp(R15part, "att1_" .. i1, "Attachment")
  649. if R15part then
  650. local weld = Instance.new("Weld")
  651. weld.Part0, weld.Part1, weld.C0, weld.C1, weld.Name = part, R15part, cf(0, v1, 0), cf_0, "Weld_" .. i1
  652. weld.Parent = R15part
  653. R15part.Massless, R15part.Name = true, "R15_" .. i1
  654. R15part.Parent = part
  655. if att then
  656. att.Position = v3(0, v1, 0)
  657. att.Parent = part
  658. end
  659. end
  660. end
  661. part.Parent = c
  662. R6parts[i] = part
  663. end
  664. local R6joints = {
  665. neck = {
  666. Parent = R6parts.torso,
  667. Name = "Neck",
  668. Part0 = R6parts.torso,
  669. Part1 = R6parts.head,
  670. C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
  671. C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  672. },
  673. rootJoint = {
  674. Parent = R6parts.root,
  675. Name = "RootJoint" ,
  676. Part0 = R6parts.root,
  677. Part1 = R6parts.torso,
  678. C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
  679. C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  680. },
  681. rightShoulder = {
  682. Parent = R6parts.torso,
  683. Name = "Right Shoulder",
  684. Part0 = R6parts.torso,
  685. Part1 = R6parts.rightArm,
  686. C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  687. C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  688. },
  689. leftShoulder = {
  690. Parent = R6parts.torso,
  691. Name = "Left Shoulder",
  692. Part0 = R6parts.torso,
  693. Part1 = R6parts.leftArm,
  694. C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  695. C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  696. },
  697. rightHip = {
  698. Parent = R6parts.torso,
  699. Name = "Right Hip",
  700. Part0 = R6parts.torso,
  701. Part1 = R6parts.rightLeg,
  702. C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  703. C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  704. },
  705. leftHip = {
  706. Parent = R6parts.torso,
  707. Name = "Left Hip" ,
  708. Part0 = R6parts.torso,
  709. Part1 = R6parts.leftLeg,
  710. C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  711. C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  712. }
  713. }
  714. for i, v in pairs(R6joints) do
  715. local joint = Instance.new("Motor6D")
  716. for prop, val in pairs(v) do
  717. joint[prop] = val
  718. end
  719. R6joints[i] = joint
  720. end
  721. if hum1 then
  722. hum1.RigType, hum1.HipHeight = Enum.HumanoidRigType.R6, 0
  723. end
  724. end
  725. end
  726.  
  727. local torso1 = torso
  728. torso = gp(c, "Torso", "BasePart") or ((not R15toR6) and gp(c, torso.Name, "BasePart"))
  729. if (typeof(hedafterneck) == "Instance") and head and torso and torso1 then
  730. local conNeck, conTorso, conTorso1 = nil, nil, nil
  731. local aligns = {}
  732. local function enableAligns()
  733. conNeck:Disconnect()
  734. conTorso:Disconnect()
  735. conTorso1:Disconnect()
  736. for i, v in pairs(aligns) do
  737. v.Enabled = true
  738. end
  739. end
  740. conNeck = hedafterneck.Changed:Connect(function(prop)
  741. if table.find({"Part0", "Part1", "Parent"}, prop) then
  742. enableAligns()
  743. end
  744. end)
  745. conTorso = torso:GetPropertyChangedSignal("Parent"):Connect(enableAligns)
  746. conTorso1 = torso1:GetPropertyChangedSignal("Parent"):Connect(enableAligns)
  747. for i, v in pairs(getdescendants(head)) do
  748. if isa(v, "AlignPosition") or isa(v, "AlignOrientation") then
  749. i = tostring(i)
  750. aligns[i] = v
  751. v:GetPropertyChangedSignal("Parent"):Connect(function()
  752. aligns[i] = nil
  753. end)
  754. v.Enabled = false
  755. end
  756. end
  757. end
  758.  
  759. local flingpart0 = gp(model, flingpart, "BasePart") or gp(gp(model, flingpart, "Accessory"), "Handle", "BasePart")
  760. local flingpart1 = gp(c, flingpart, "BasePart") or gp(gp(c, flingpart, "Accessory"), "Handle", "BasePart")
  761.  
  762. local fling = function() end
  763. if flingpart0 and flingpart1 then
  764. flingpart0:GetPropertyChangedSignal("Parent"):Connect(function()
  765. if not (flingpart0 and flingpart0.Parent) then
  766. flingpart0 = nil
  767. fling = function() end
  768. end
  769. end)
  770. flingpart0.Archivable = true
  771. flingpart1:GetPropertyChangedSignal("Parent"):Connect(function()
  772. if not (flingpart1 and flingpart1.Parent) then
  773. flingpart1 = nil
  774. fling = function() end
  775. end
  776. end)
  777. local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment")
  778. local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment")
  779. if att0 and att1 then
  780. att0:GetPropertyChangedSignal("Parent"):Connect(function()
  781. if not (att0 and att0.Parent) then
  782. att0 = nil
  783. fling = function() end
  784. end
  785. end)
  786. att1:GetPropertyChangedSignal("Parent"):Connect(function()
  787. if not (att1 and att1.Parent) then
  788. att1 = nil
  789. fling = function() end
  790. end
  791. end)
  792. local lastfling = nil
  793. local mouse = lp:GetMouse()
  794. fling = function(target, duration, rotVelocity)
  795. if typeof(target) == "Instance" then
  796. if isa(target, "BasePart") then
  797. target = target.Position
  798. elseif isa(target, "Model") then
  799. target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart")
  800. if target then
  801. target = target.Position
  802. else
  803. return
  804. end
  805. elseif isa(target, "Humanoid") then
  806. target = target.Parent
  807. if not (target and isa(target, "Model")) then
  808. return
  809. end
  810. target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart")
  811. if target then
  812. target = target.Position
  813. else
  814. return
  815. end
  816. else
  817. return
  818. end
  819. elseif typeof(target) == "CFrame" then
  820. target = target.Position
  821. elseif typeof(target) ~= "Vector3" then
  822. target = mouse.Hit
  823. if target then
  824. target = target.Position
  825. else
  826. return
  827. end
  828. end
  829. if target.Y < ws.FallenPartsDestroyHeight + 5 then
  830. target = v3(target.X, ws.FallenPartsDestroyHeight + 5, target.Z)
  831. end
  832. lastfling = target
  833. if type(duration) ~= "number" then
  834. duration = tonumber(duration) or 0.5
  835. end
  836. if typeof(rotVelocity) ~= "Vector3" then
  837. rotVelocity = v3(20000, 20000, 20000)
  838. end
  839. if not (target and flingpart0 and flingpart1 and att0 and att1) then
  840. return
  841. end
  842. flingpart0.Archivable = true
  843. local flingpart = clone(flingpart0)
  844. flingpart.Transparency = 1
  845. flingpart.CanCollide = false
  846. flingpart.Name = "flingpart_" .. flingpart0.Name
  847. flingpart.Anchored = true
  848. flingpart.Velocity = v3_0
  849. flingpart.RotVelocity = v3_0
  850. flingpart.Position = target
  851. flingpart:GetPropertyChangedSignal("Parent"):Connect(function()
  852. if not (flingpart and flingpart.Parent) then
  853. flingpart = nil
  854. end
  855. end)
  856. flingpart.Parent = flingpart1
  857. if flingpart0.Transparency > 0.5 then
  858. flingpart0.Transparency = 0.5
  859. end
  860. att1.Parent = flingpart
  861. local con = nil
  862. local rotchg = v3(0, rotVelocity.Unit.Y * -1000, 0)
  863. con = heartbeat:Connect(function(delta)
  864. if target and (lastfling == target) and flingpart and flingpart0 and flingpart1 and att0 and att1 then
  865. flingpart.Orientation += rotchg * delta
  866. flingpart0.RotVelocity = rotVelocity
  867. else
  868. con:Disconnect()
  869. end
  870. end)
  871. if alignmode ~= 4 then
  872. local con = nil
  873. con = renderstepped:Connect(function()
  874. if flingpart0 and target then
  875. flingpart0.RotVelocity = v3_0
  876. else
  877. con:Disconnect()
  878. end
  879. end)
  880. end
  881. twait(duration)
  882. if lastfling ~= target then
  883. if flingpart then
  884. if att1 and (att1.Parent == flingpart) then
  885. att1.Parent = flingpart1
  886. end
  887. pcall(destroy, flingpart)
  888. end
  889. return
  890. end
  891. target = nil
  892. if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then
  893. return
  894. end
  895. flingpart0.RotVelocity = v3_0
  896. att1.Parent = flingpart1
  897. pcall(destroy, flingpart)
  898. end
  899. end
  900. end
  901.  
  902. lp:GetMouse().Button1Down:Connect(fling) --click fling
  903.  
  904. lol = getcustomasset or getsynasset
  905. getgenv().LoadLibrary = function(lib) return loadstring(game:HttpGet("https://raw.githubusercontent.com/Roblox/Core-Scripts/master/CoreScriptsRoot/Libraries/" .. lib .. ".lua"))() end
  906.  
  907. Player = game.Players.LocalPlayer
  908. PlayerGui = Player.PlayerGui
  909. Cam = workspace.CurrentCamera
  910. Backpack = Player.Backpack
  911. Character = Player.Character
  912. Humanoid = Character.Humanoid
  913. Mouse = Mouse
  914. RootPart = Character["HumanoidRootPart"]
  915. Torso = Character["Torso"]
  916. Head = Character["Head"]
  917. RightArm = Character["Right Arm"]
  918. LeftArm = Character["Left Arm"]
  919. RightLeg = Character["Right Leg"]
  920. LeftLeg = Character["Left Leg"]
  921. RootJoint = RootPart["RootJoint"]
  922. Neck = Torso["Neck"]
  923. RightShoulder = Torso["Right Shoulder"]
  924. LeftShoulder = Torso["Left Shoulder"]
  925. RightHip = Torso["Right Hip"]
  926. LeftHip = Torso["Left Hip"]
  927. local sick = Instance.new("Sound",Character)
  928. sick.SoundId = "rbxassetid://1118967006"
  929. sick.Looped = true
  930. sick.Volume = 1
  931.  
  932. IT = Instance.new
  933. CF = CFrame.new
  934. VT = Vector3.new
  935. RAD = math.rad
  936. C3 = Color3.new
  937. UD2 = UDim2.new
  938. BRICKC = BrickColor.new
  939. ANGLES = CFrame.Angles
  940. EULER = CFrame.fromEulerAnglesXYZ
  941. COS = math.cos
  942. ACOS = math.acos
  943. SIN = math.sin
  944. ASIN = math.asin
  945. ABS = math.abs
  946. MRANDOM = math.random
  947. FLOOR = math.floor
  948.  
  949. --//=================================\\
  950. --|| USEFUL VALUES
  951. --\\=================================//
  952.  
  953. Animation_Speed = 3
  954. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  955. local Speed = 45
  956. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  957. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  958. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  959. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  960. local DAMAGEMULTIPLIER = 1
  961. local ANIM = "Idle"
  962. local ATTACK = false
  963. local EQUIPPED = false
  964. local HOLD = false
  965. local COMBO = 1
  966. local Rooted = false
  967. local SINE = 0
  968. local KEYHOLD = false
  969. local CHANGE = 2 / Animation_Speed
  970. local WALKINGANIM = false
  971. local VALUE1 = false
  972. local VALUE2 = false
  973. local ROBLOXIDLEANIMATION = IT("Animation")
  974. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  975. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  976. --ROBLOXIDLEANIMATION.Parent = Humanoid
  977. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  978. WEAPONGUI.Name = "Weapon GUI"
  979. local Effects = IT("Folder", Character)
  980. Effects.Name = "Effects"
  981. local ANIMATOR = Humanoid.Animator
  982. local ANIMATE = Character.Animate
  983. local UNANCHOR = true
  984. local HITPOS = nil
  985. local HITFLOOR = nil
  986. local LEFTWINGS = {}
  987. local RIGHTWINGS = {}
  988. local BODY = {}
  989.  
  990. --//=================================\\
  991. --\\=================================//
  992.  
  993.  
  994. --//=================================\\
  995. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  996. --\\=================================//
  997.  
  998. ArtificialHB = Instance.new("BindableEvent", script)
  999. ArtificialHB.Name = "ArtificialHB"
  1000.  
  1001. script:WaitForChild("ArtificialHB")
  1002.  
  1003. frame = Frame_Speed
  1004. tf = 0
  1005. allowframeloss = false
  1006. tossremainder = false
  1007. lastframe = tick()
  1008. script.ArtificialHB:Fire()
  1009.  
  1010. game:GetService("RunService").Heartbeat:connect(function(s, p)
  1011. tf = tf + s
  1012. if tf >= frame then
  1013. if allowframeloss then
  1014. script.ArtificialHB:Fire()
  1015. lastframe = tick()
  1016. else
  1017. for i = 1, math.floor(tf / frame) do
  1018. script.ArtificialHB:Fire()
  1019. end
  1020. lastframe = tick()
  1021. end
  1022. if tossremainder then
  1023. tf = 0
  1024. else
  1025. tf = tf - frame * math.floor(tf / frame)
  1026. end
  1027. end
  1028. end)
  1029.  
  1030. --//=================================\\
  1031. --\\=================================//
  1032.  
  1033. --//=================================\\
  1034. --|| SOME FUNCTIONS
  1035. --\\=================================//
  1036. -----
  1037. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1038. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1039. end
  1040.  
  1041. function PositiveAngle(NUMBER)
  1042. if NUMBER >= 0 then
  1043. NUMBER = 0
  1044. end
  1045. return NUMBER
  1046. end
  1047.  
  1048. function NegativeAngle(NUMBER)
  1049. if NUMBER <= 0 then
  1050. NUMBER = 0
  1051. end
  1052. return NUMBER
  1053. end
  1054.  
  1055. function Swait(NUMBER)
  1056. if NUMBER == 0 or NUMBER == nil then
  1057. ArtificialHB.Event:wait()
  1058. else
  1059. for i = 1, NUMBER do
  1060. ArtificialHB.Event:wait()
  1061. end
  1062. end
  1063. end
  1064.  
  1065. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1066. local NEWMESH = IT(MESH)
  1067. if MESH == "SpecialMesh" then
  1068. NEWMESH.MeshType = MESHTYPE
  1069. if MESHID ~= "nil" and MESHID ~= "" then
  1070. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1071. end
  1072. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1073. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1074. end
  1075. end
  1076. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1077. NEWMESH.Scale = SCALE
  1078. NEWMESH.Parent = PARENT
  1079. return NEWMESH
  1080. end
  1081.  
  1082. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1083. local NEWPART = IT("Part")
  1084. NEWPART.formFactor = FORMFACTOR
  1085. NEWPART.Reflectance = REFLECTANCE
  1086. NEWPART.Transparency = TRANSPARENCY
  1087. NEWPART.CanCollide = false
  1088. NEWPART.Locked = true
  1089. NEWPART.Anchored = true
  1090. if ANCHOR == false then
  1091. NEWPART.Anchored = false
  1092. end
  1093. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1094. NEWPART.Name = NAME
  1095. NEWPART.Size = SIZE
  1096. NEWPART.Position = Torso.Position
  1097. NEWPART.Material = MATERIAL
  1098. NEWPART:BreakJoints()
  1099. NEWPART.Parent = PARENT
  1100. return NEWPART
  1101. end
  1102.  
  1103. local function weldBetween(a, b)
  1104. local weldd = Instance.new("ManualWeld")
  1105. weldd.Part0 = a
  1106. weldd.Part1 = b
  1107. weldd.C0 = CFrame.new()
  1108. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1109. weldd.Parent = a
  1110. return weldd
  1111. end
  1112.  
  1113.  
  1114. function QuaternionFromCFrame(cf)
  1115. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1116. local trace = m00 + m11 + m22
  1117. if trace > 0 then
  1118. local s = math.sqrt(1 + trace)
  1119. local recip = 0.5 / s
  1120. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1121. else
  1122. local i = 0
  1123. if m11 > m00 then
  1124. i = 1
  1125. end
  1126. if m22 > (i == 0 and m00 or m11) then
  1127. i = 2
  1128. end
  1129. if i == 0 then
  1130. local s = math.sqrt(m00 - m11 - m22 + 1)
  1131. local recip = 0.5 / s
  1132. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1133. elseif i == 1 then
  1134. local s = math.sqrt(m11 - m22 - m00 + 1)
  1135. local recip = 0.5 / s
  1136. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1137. elseif i == 2 then
  1138. local s = math.sqrt(m22 - m00 - m11 + 1)
  1139. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1140. end
  1141. end
  1142. end
  1143.  
  1144. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1145. local xs, ys, zs = x + x, y + y, z + z
  1146. local wx, wy, wz = w * xs, w * ys, w * zs
  1147. local xx = x * xs
  1148. local xy = x * ys
  1149. local xz = x * zs
  1150. local yy = y * ys
  1151. local yz = y * zs
  1152. local zz = z * zs
  1153. 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))
  1154. end
  1155.  
  1156. function QuaternionSlerp(a, b, t)
  1157. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1158. local startInterp, finishInterp;
  1159. if cosTheta >= 0.0001 then
  1160. if (1 - cosTheta) > 0.0001 then
  1161. local theta = ACOS(cosTheta)
  1162. local invSinTheta = 1 / SIN(theta)
  1163. startInterp = SIN((1 - t) * theta) * invSinTheta
  1164. finishInterp = SIN(t * theta) * invSinTheta
  1165. else
  1166. startInterp = 1 - t
  1167. finishInterp = t
  1168. end
  1169. else
  1170. if (1 + cosTheta) > 0.0001 then
  1171. local theta = ACOS(-cosTheta)
  1172. local invSinTheta = 1 / SIN(theta)
  1173. startInterp = SIN((t - 1) * theta) * invSinTheta
  1174. finishInterp = SIN(t * theta) * invSinTheta
  1175. else
  1176. startInterp = t - 1
  1177. finishInterp = t
  1178. end
  1179. end
  1180. 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
  1181. end
  1182.  
  1183. function Clerp(a, b, t)
  1184. local qa = {QuaternionFromCFrame(a)}
  1185. local qb = {QuaternionFromCFrame(b)}
  1186. local ax, ay, az = a.x, a.y, a.z
  1187. local bx, by, bz = b.x, b.y, b.z
  1188. local _t = 1 - t
  1189. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1190. end
  1191.  
  1192. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1193. local frame = IT("Frame")
  1194. frame.BackgroundTransparency = TRANSPARENCY
  1195. frame.BorderSizePixel = BORDERSIZEPIXEL
  1196. frame.Position = POSITION
  1197. frame.Size = SIZE
  1198. frame.BackgroundColor3 = COLOR
  1199. frame.BorderColor3 = BORDERCOLOR
  1200. frame.Name = NAME
  1201. frame.Parent = PARENT
  1202. return frame
  1203. end
  1204.  
  1205. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1206. local label = IT("TextLabel")
  1207. label.BackgroundTransparency = 1
  1208. label.Size = UD2(1, 0, 1, 0)
  1209. label.Position = UD2(0, 0, 0, 0)
  1210. label.TextColor3 = TEXTCOLOR
  1211. label.TextStrokeTransparency = STROKETRANSPARENCY
  1212. label.TextTransparency = TRANSPARENCY
  1213. label.FontSize = TEXTFONTSIZE
  1214. label.Font = TEXTFONT
  1215. label.BorderSizePixel = BORDERSIZEPIXEL
  1216. label.TextScaled = false
  1217. label.Text = TEXT
  1218. label.Name = NAME
  1219. label.Parent = PARENT
  1220. return label
  1221. end
  1222.  
  1223. function NoOutlines(PART)
  1224. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1225. end
  1226.  
  1227. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1228. local NEWWELD = IT(TYPE)
  1229. NEWWELD.Part0 = PART0
  1230. NEWWELD.Part1 = PART1
  1231. NEWWELD.C0 = C0
  1232. NEWWELD.C1 = C1
  1233. NEWWELD.Parent = PARENT
  1234. return NEWWELD
  1235. end
  1236.  
  1237. local S = IT("Sound")
  1238. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1239. local NEWSOUND = nil
  1240. coroutine.resume(coroutine.create(function()
  1241. NEWSOUND = S:Clone()
  1242. NEWSOUND.Parent = PARENT
  1243. NEWSOUND.Volume = VOLUME
  1244. NEWSOUND.Pitch = PITCH
  1245. NEWSOUND.SoundId = "rbxassetid://"..ID
  1246. NEWSOUND:play()
  1247. if DOESLOOP == true then
  1248. NEWSOUND.Looped = true
  1249. else
  1250. repeat wait(1) until NEWSOUND.Playing == false
  1251. NEWSOUND:remove()
  1252. end
  1253. end))
  1254. return NEWSOUND
  1255. end
  1256.  
  1257. function CFrameFromTopBack(at, top, back)
  1258. local right = top:Cross(back)
  1259. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1260. end
  1261.  
  1262. function R_RANDOM(CFRAME,DIST)
  1263. return CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DIST)
  1264. end
  1265.  
  1266. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
  1267. function WACKYEFFECT(Table)
  1268. local TYPE = (Table.EffectType or "Sphere")
  1269. local SIZE = (Table.Size or VT(1,1,1))
  1270. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1271. local TRANSPARENCY = (Table.Transparency or 0)
  1272. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1273. local CFRAME = (Table.CFrame or Torso.CFrame)
  1274. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1275. local ROTATION1 = (Table.RotationX or 0)
  1276. local ROTATION2 = (Table.RotationY or 0)
  1277. local ROTATION3 = (Table.RotationZ or 0)
  1278. local MATERIAL = (Table.Material or "Neon")
  1279. local COLOR = (Table.Color or C3(1,1,1))
  1280. local TIME = (Table.Time or 45)
  1281. local SOUNDID = (Table.SoundID or nil)
  1282. local SOUNDPITCH = (Table.SoundPitch or nil)
  1283. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1284. local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
  1285. local BOOMERANG = (Table.Boomerang or 0)
  1286. local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
  1287. coroutine.resume(coroutine.create(function()
  1288. local PLAYSSOUND = false
  1289. local SOUND = nil
  1290. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1291. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1292. PLAYSSOUND = true
  1293. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1294. end
  1295. EFFECT.Color = COLOR
  1296. local MSH = nil
  1297. if TYPE == "Sphere" then
  1298. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1299. elseif TYPE == "Block" or TYPE == "Box" then
  1300. MSH = IT("BlockMesh",EFFECT)
  1301. MSH.Scale = SIZE
  1302. elseif TYPE == "Wave" then
  1303. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1304. elseif TYPE == "Ring" then
  1305. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1306. elseif TYPE == "Slash" then
  1307. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1308. elseif TYPE == "Round Slash" then
  1309. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1310. elseif TYPE == "Swirl" then
  1311. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0,0,0))
  1312. elseif TYPE == "Skull" then
  1313. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1314. elseif TYPE == "Crystal" then
  1315. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1316. end
  1317. if MSH ~= nil then
  1318. local BOOMR1 = 1+BOOMERANG/50
  1319. local BOOMR2 = 1+SIZEBOOMERANG/50
  1320. local MOVESPEED = nil
  1321. if MOVEDIRECTION ~= nil then
  1322. if USEBOOMERANGMATH == true then
  1323. MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
  1324. else
  1325. MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
  1326. end
  1327. end
  1328. local GROWTH = nil
  1329. if USEBOOMERANGMATH == true then
  1330. GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
  1331. else
  1332. GROWTH = (SIZE - ENDSIZE)
  1333. end
  1334. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1335. if TYPE == "Block" then
  1336. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1337. else
  1338. EFFECT.CFrame = CFRAME
  1339. end
  1340. if USEBOOMERANGMATH == true then
  1341. for LOOP = 1, TIME+1 do
  1342. Swait()
  1343. MSH.Scale = MSH.Scale - (VT((GROWTH.X)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Y)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Z)*((1 - (LOOP/TIME)*BOOMR2)))*BOOMR2)/TIME
  1344. if TYPE == "Wave" then
  1345. MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
  1346. end
  1347. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1348. if TYPE == "Block" then
  1349. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1350. else
  1351. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1352. end
  1353. if MOVEDIRECTION ~= nil then
  1354. local ORI = EFFECT.Orientation
  1355. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-(MOVESPEED)*((1 - (LOOP/TIME)*BOOMR1)))
  1356. EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
  1357. end
  1358. end
  1359. else
  1360. for LOOP = 1, TIME+1 do
  1361. Swait()
  1362. MSH.Scale = MSH.Scale - GROWTH/TIME
  1363. if TYPE == "Wave" then
  1364. MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
  1365. end
  1366. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1367. if TYPE == "Block" then
  1368. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1369. else
  1370. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1371. end
  1372. if MOVEDIRECTION ~= nil then
  1373. local ORI = EFFECT.Orientation
  1374. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1375. EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
  1376. end
  1377. end
  1378. end
  1379. EFFECT.Transparency = 1
  1380. if PLAYSSOUND == false then
  1381. EFFECT:remove()
  1382. else
  1383. repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  1384. EFFECT:remove()
  1385. end
  1386. else
  1387. if PLAYSSOUND == false then
  1388. EFFECT:remove()
  1389. else
  1390. repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
  1391. EFFECT:remove()
  1392. end
  1393. end
  1394. end))
  1395. end
  1396.  
  1397. function MakeForm(PART,TYPE)
  1398. if TYPE == "Cyl" then
  1399. local MSH = IT("CylinderMesh",PART)
  1400. elseif TYPE == "Ball" then
  1401. local MSH = IT("SpecialMesh",PART)
  1402. MSH.MeshType = "Sphere"
  1403. elseif TYPE == "Wedge" then
  1404. local MSH = IT("SpecialMesh",PART)
  1405. MSH.MeshType = "Wedge"
  1406. end
  1407. end
  1408.  
  1409. Debris = game:GetService("Debris")
  1410.  
  1411. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1412. local DIRECTION = CF(StartPos,EndPos).lookVector
  1413. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  1414. return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
  1415. end
  1416.  
  1417. local DECAL = IT("Decal")
  1418. function MagicRing()
  1419. local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),true)
  1420. local MESH = IT("BlockMesh",RING)
  1421. local BOTTOMTEXTURE = DECAL:Clone()
  1422. BOTTOMTEXTURE.Parent = RING
  1423. BOTTOMTEXTURE.Face = "Bottom"
  1424. BOTTOMTEXTURE.Name = "BottomTexture"
  1425. local TOPTEXTURE = DECAL:Clone()
  1426. TOPTEXTURE.Parent = RING
  1427. TOPTEXTURE.Face = "Top"
  1428. TOPTEXTURE.Name = "TopTexture"
  1429. BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
  1430. TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
  1431. BOTTOMTEXTURE.Color3 = C3(0,0,0)
  1432. TOPTEXTURE.Color3 = C3(0,0,0)
  1433. return RING,MESH,TOPTEXTURE,BOTTOMTEXTURE
  1434. end
  1435.  
  1436. function CharacterFade(COLOR,TIMER,MOVEDIRECTION,PARENT)
  1437. coroutine.resume(coroutine.create(function()
  1438. local FADE = IT("Model",Effects)
  1439. if PARENT ~= nil then
  1440. FADE.Parent = PARENT
  1441. end
  1442. FADE.Name = "FadingEffect"
  1443. for _, c in pairs(Character:GetChildren()) do
  1444. if c.ClassName == "Part" then
  1445. c.CanCollide = false
  1446. local FADER = CreatePart(3, FADE, "Neon", 0, 0.75, BRICKC("Pearl"), c.Name, c.Size, true)
  1447. FADER.CFrame = c.CFrame
  1448. FADER.Color = COLOR
  1449. if FADER.Name == "Head" then
  1450. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FADER
  1451. elseif FADER.Name == "HumanoidRootPart" then
  1452. FADE.PrimaryPart = FADER
  1453. FADER.Transparency = 1
  1454. end
  1455. end
  1456. end
  1457. local TRANS = 0.25/TIMER
  1458. local DIST = nil
  1459. if MOVEDIRECTION ~= nil then
  1460. DIST = (FADE.PrimaryPart.Position - MOVEDIRECTION).Magnitude
  1461. end
  1462. for i = 1, TIMER do
  1463. Swait()
  1464. for _, c in pairs(FADE:GetChildren()) do
  1465. if c.ClassName == "Part" then
  1466. c.Transparency = c.Transparency + TRANS
  1467. end
  1468. end
  1469. if MOVEDIRECTION ~= nil then
  1470. local ORI = FADE.PrimaryPart.Orientation
  1471. FADE:SetPrimaryPartCFrame(CF(CF(FADE.PrimaryPart.Position,MOVEDIRECTION)*CF(0,0,-DIST/TIMER).p) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z)))
  1472. end
  1473. end
  1474. FADE:remove()
  1475. end))
  1476. end
  1477.  
  1478. -----
  1479. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1480. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1481. end
  1482.  
  1483. function PositiveAngle(NUMBER)
  1484. if NUMBER >= 0 then
  1485. NUMBER = 0
  1486. end
  1487. return NUMBER
  1488. end
  1489.  
  1490. function NegativeAngle(NUMBER)
  1491. if NUMBER <= 0 then
  1492. NUMBER = 0
  1493. end
  1494. return NUMBER
  1495. end
  1496.  
  1497. function Swait(NUMBER)
  1498. if NUMBER == 0 or NUMBER == nil then
  1499. ArtificialHB.Event:wait()
  1500. else
  1501. for i = 1, NUMBER do
  1502. ArtificialHB.Event:wait()
  1503. end
  1504. end
  1505. end
  1506.  
  1507. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1508. local NEWMESH = IT(MESH)
  1509. if MESH == "SpecialMesh" then
  1510. NEWMESH.MeshType = MESHTYPE
  1511. if MESHID ~= "nil" and MESHID ~= "" then
  1512. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1513. end
  1514. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1515. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1516. end
  1517. end
  1518. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1519. NEWMESH.Scale = SCALE
  1520. NEWMESH.Parent = PARENT
  1521. return NEWMESH
  1522. end
  1523.  
  1524. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1525. local NEWPART = IT("Part")
  1526. NEWPART.formFactor = FORMFACTOR
  1527. NEWPART.Reflectance = REFLECTANCE
  1528. NEWPART.Transparency = TRANSPARENCY
  1529. NEWPART.CanCollide = false
  1530. NEWPART.Locked = true
  1531. NEWPART.Anchored = true
  1532. if ANCHOR == false then
  1533. NEWPART.Anchored = false
  1534. end
  1535. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1536. NEWPART.Name = NAME
  1537. NEWPART.Size = SIZE
  1538. NEWPART.Position = Torso.Position
  1539. NEWPART.Material = MATERIAL
  1540. NEWPART:BreakJoints()
  1541. NEWPART.Parent = PARENT
  1542. return NEWPART
  1543. end
  1544.  
  1545. local function weldBetween(a, b)
  1546. local weldd = IT("Weld")
  1547. weldd.Part0 = a
  1548. weldd.Part1 = b
  1549. weldd.C0 = CF()
  1550. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1551. weldd.Parent = a
  1552. return weldd
  1553. end
  1554.  
  1555.  
  1556. function QuaternionFromCFrame(cf)
  1557. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1558. local trace = m00 + m11 + m22
  1559. if trace > 0 then
  1560. local s = math.sqrt(1 + trace)
  1561. local recip = 0.5 / s
  1562. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1563. else
  1564. local i = 0
  1565. if m11 > m00 then
  1566. i = 1
  1567. end
  1568. if m22 > (i == 0 and m00 or m11) then
  1569. i = 2
  1570. end
  1571. if i == 0 then
  1572. local s = math.sqrt(m00 - m11 - m22 + 1)
  1573. local recip = 0.5 / s
  1574. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1575. elseif i == 1 then
  1576. local s = math.sqrt(m11 - m22 - m00 + 1)
  1577. local recip = 0.5 / s
  1578. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1579. elseif i == 2 then
  1580. local s = math.sqrt(m22 - m00 - m11 + 1)
  1581. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1582. end
  1583. end
  1584. end
  1585.  
  1586. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1587. local xs, ys, zs = x + x, y + y, z + z
  1588. local wx, wy, wz = w * xs, w * ys, w * zs
  1589. local xx = x * xs
  1590. local xy = x * ys
  1591. local xz = x * zs
  1592. local yy = y * ys
  1593. local yz = y * zs
  1594. local zz = z * zs
  1595. 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))
  1596. end
  1597.  
  1598. function QuaternionSlerp(a, b, t)
  1599. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1600. local startInterp, finishInterp;
  1601. if cosTheta >= 0.0001 then
  1602. if (1 - cosTheta) > 0.0001 then
  1603. local theta = ACOS(cosTheta)
  1604. local invSinTheta = 1 / SIN(theta)
  1605. startInterp = SIN((1 - t) * theta) * invSinTheta
  1606. finishInterp = SIN(t * theta) * invSinTheta
  1607. else
  1608. startInterp = 1 - t
  1609. finishInterp = t
  1610. end
  1611. else
  1612. if (1 + cosTheta) > 0.0001 then
  1613. local theta = ACOS(-cosTheta)
  1614. local invSinTheta = 1 / SIN(theta)
  1615. startInterp = SIN((t - 1) * theta) * invSinTheta
  1616. finishInterp = SIN(t * theta) * invSinTheta
  1617. else
  1618. startInterp = t - 1
  1619. finishInterp = t
  1620. end
  1621. end
  1622. 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
  1623. end
  1624.  
  1625. function Clerp(a, b, t)
  1626. local qa = {QuaternionFromCFrame(a)}
  1627. local qb = {QuaternionFromCFrame(b)}
  1628. local ax, ay, az = a.x, a.y, a.z
  1629. local bx, by, bz = b.x, b.y, b.z
  1630. local _t = 1 - t
  1631. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1632. end
  1633.  
  1634. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1635. local frame = IT("Frame")
  1636. frame.BackgroundTransparency = TRANSPARENCY
  1637. frame.BorderSizePixel = BORDERSIZEPIXEL
  1638. frame.Position = POSITION
  1639. frame.Size = SIZE
  1640. frame.BackgroundColor3 = COLOR
  1641. frame.BorderColor3 = BORDERCOLOR
  1642. frame.Name = NAME
  1643. frame.Parent = PARENT
  1644. return frame
  1645. end
  1646.  
  1647. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1648. local label = IT("TextLabel")
  1649. label.BackgroundTransparency = 1
  1650. label.Size = UD2(1, 0, 1, 0)
  1651. label.Position = UD2(0, 0, 0, 0)
  1652. label.TextColor3 = TEXTCOLOR
  1653. label.TextStrokeTransparency = STROKETRANSPARENCY
  1654. label.TextTransparency = TRANSPARENCY
  1655. label.FontSize = TEXTFONTSIZE
  1656. label.Font = TEXTFONT
  1657. label.BorderSizePixel = BORDERSIZEPIXEL
  1658. label.TextScaled = false
  1659. label.Text = TEXT
  1660. label.Name = NAME
  1661. label.Parent = PARENT
  1662. return label
  1663. end
  1664.  
  1665. function NoOutlines(PART)
  1666. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1667. end
  1668.  
  1669. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1670. local NEWWELD = IT(TYPE)
  1671. NEWWELD.Part0 = PART0
  1672. NEWWELD.Part1 = PART1
  1673. NEWWELD.C0 = C0
  1674. NEWWELD.C1 = C1
  1675. NEWWELD.Parent = PARENT
  1676. return NEWWELD
  1677. end
  1678.  
  1679. local S = IT("Sound")
  1680. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1681. local NEWSOUND = nil
  1682. coroutine.resume(coroutine.create(function()
  1683. NEWSOUND = S:Clone()
  1684. NEWSOUND.Parent = PARENT
  1685. NEWSOUND.Volume = VOLUME
  1686. NEWSOUND.Pitch = PITCH
  1687. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1688. NEWSOUND:play()
  1689. if DOESLOOP == true then
  1690. NEWSOUND.Looped = true
  1691. else
  1692. repeat wait(1) until NEWSOUND.Playing == false
  1693. NEWSOUND:remove()
  1694. end
  1695. end))
  1696. return NEWSOUND
  1697. end
  1698.  
  1699. function CFrameFromTopBack(at, top, back)
  1700. local right = top:Cross(back)
  1701. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1702. end
  1703.  
  1704. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1705. function WACKYEFFECT(Table)
  1706. local TYPE = (Table.EffectType or "Sphere")
  1707. local SIZE = (Table.Size or VT(1,1,1))
  1708. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1709. local TRANSPARENCY = (Table.Transparency or 0)
  1710. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1711. local CFRAME = (Table.CFrame or Torso.CFrame)
  1712. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1713. local ROTATION1 = (Table.RotationX or 0)
  1714. local ROTATION2 = (Table.RotationY or 0)
  1715. local ROTATION3 = (Table.RotationZ or 0)
  1716. local MATERIAL = (Table.Material or "Neon")
  1717. local COLOR = (Table.Color or C3(1,1,1))
  1718. local TIME = (Table.Time or 45)
  1719. local SOUNDID = (Table.SoundID or nil)
  1720. local SOUNDPITCH = (Table.SoundPitch or nil)
  1721. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1722. coroutine.resume(coroutine.create(function()
  1723. local PLAYSSOUND = false
  1724. local SOUND = nil
  1725. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1726. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1727. PLAYSSOUND = true
  1728. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1729. end
  1730. EFFECT.Color = COLOR
  1731. local MSH = nil
  1732. if TYPE == "Sphere" then
  1733. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1734. elseif TYPE == "Block" then
  1735. MSH = IT("BlockMesh",EFFECT)
  1736. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1737. elseif TYPE == "Wave" then
  1738. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1739. elseif TYPE == "Ring" then
  1740. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1741. elseif TYPE == "Slash" then
  1742. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1743. elseif TYPE == "Round Slash" then
  1744. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1745. elseif TYPE == "Swirl" then
  1746. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1747. elseif TYPE == "Skull" then
  1748. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1749. elseif TYPE == "Crystal" then
  1750. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1751. end
  1752. if MSH ~= nil then
  1753. local MOVESPEED = nil
  1754. if MOVEDIRECTION ~= nil then
  1755. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1756. end
  1757. local GROWTH = SIZE - ENDSIZE
  1758. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1759. if TYPE == "Block" then
  1760. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1761. else
  1762. EFFECT.CFrame = CFRAME
  1763. end
  1764. for LOOP = 1, TIME+1 do
  1765. Swait()
  1766. MSH.Scale = MSH.Scale - GROWTH/TIME
  1767. if TYPE == "Wave" then
  1768. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1769. end
  1770. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1771. if TYPE == "Block" then
  1772. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1773. else
  1774. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1775. end
  1776. if MOVEDIRECTION ~= nil then
  1777. local ORI = EFFECT.Orientation
  1778. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1779. EFFECT.Orientation = ORI
  1780. end
  1781. end
  1782. if PLAYSSOUND == false then
  1783. EFFECT:remove()
  1784. else
  1785. SOUND.Stopped:Connect(function()
  1786. EFFECT:remove()
  1787. end)
  1788. end
  1789. else
  1790. if PLAYSSOUND == false then
  1791. EFFECT:remove()
  1792. else
  1793. repeat Swait() until SOUND.Playing == false
  1794. EFFECT:remove()
  1795. end
  1796. end
  1797. end))
  1798. end
  1799.  
  1800. local LEFTWINGS = {}
  1801. local RIGHTWINGS = {}
  1802. local BODY = {}
  1803.  
  1804. local Back = CreatePart(3, Character, "Neon", 0, 0, "Teal", "Wing", VT(1,1,0.35),false)
  1805. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Back, CF(0, 0.5, 1.2) * ANGLES(RAD(0),RAD(0),RAD(45)), CF(0, 0, 0))
  1806.  
  1807. local ANGLE = 35
  1808. for i = 1, 5 do
  1809. local Wing = CreatePart(3, Character, "Neon", 0, 0, "New Yeller", "Wing", VT(0.15,2+(i/2),0.15),false)
  1810. local WingWeld = CreateWeldOrSnapOrMotor("Weld", Wing, Torso, Wing, CF(0, 1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(90)) * ANGLES(RAD(ANGLE), RAD(0), RAD(0)) * CF(0,3+(i/10),0) , CF(0, 0, 0))
  1811. local Wing2 = CreatePart(3, Character, "Neon", 0, 0, "Crimson", "Wing", VT(0.25,1,0.25),false)
  1812. CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing2, CF(0, 2+(i/2), 0) * ANGLES(RAD(25), RAD(0), RAD(0)), CF(0, 1, 0))
  1813. ANGLE = ANGLE - 15
  1814. table.insert(LEFTWINGS,WingWeld)
  1815. end
  1816.  
  1817. ANGLE = 35
  1818. for i = 1, 5 do
  1819. local Wing = CreatePart(3, Character, "Neon", 0, 0, "Crimson", "Wing", VT(0.15,2+(i/2),0.15),false)
  1820. local WingWeld = CreateWeldOrSnapOrMotor("Weld", Wing, Torso, Wing, CF(0, 1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(ANGLE), RAD(0), RAD(0)) * CF(0,3+(i/10),0) , CF(0, 0, 0))
  1821. local Wing2 = CreatePart(3, Character, "Neon", 0, 0, "Really blue", "Wing", VT(0.25,1,0.25),false)
  1822. CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing2, CF(0, 2+(i/2), 0) * ANGLES(RAD(25), RAD(0), RAD(0)), CF(0, 1, 0))
  1823. ANGLE = ANGLE - 15
  1824. table.insert(RIGHTWINGS,WingWeld)
  1825. end
  1826.  
  1827. function MakeForm(PART,TYPE)
  1828. if TYPE == "Cyl" then
  1829. local MSH = IT("CylinderMesh",PART)
  1830. elseif TYPE == "Ball" then
  1831. local MSH = IT("SpecialMesh",PART)
  1832. MSH.MeshType = "Sphere"
  1833. elseif TYPE == "Wedge" then
  1834. local MSH = IT("SpecialMesh",PART)
  1835. MSH.MeshType = "Wedge"
  1836. end
  1837. end
  1838.  
  1839. Debris = game:GetService("Debris")
  1840.  
  1841. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1842. local DIRECTION = CF(StartPos,EndPos).lookVector
  1843. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1844. end
  1845.  
  1846. function turnto(position)
  1847. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1848. end
  1849.  
  1850. function SpawnTrail(FROM,TO,BIG)
  1851. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Trail", VT(0,0,0))
  1852. MakeForm(TRAIL,"Cyl")
  1853. local DIST = (FROM - TO).Magnitude
  1854. if BIG == true then
  1855. TRAIL.Size = VT(0.5,DIST,0.5)
  1856. else
  1857. TRAIL.Size = VT(0.25,DIST,0.25)
  1858. end
  1859. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1860. coroutine.resume(coroutine.create(function()
  1861. for i = 1, 5 do
  1862. Swait()
  1863. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1864. end
  1865. TRAIL:remove()
  1866. end))
  1867. end
  1868.  
  1869. local asd = Instance.new("ParticleEmitter")
  1870. asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
  1871. asd.LightEmission = .1
  1872. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  1873. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
  1874. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  1875. asd.Transparency = bbb
  1876. asd.Size = aaa
  1877. asd.ZOffset = .9
  1878. asd.Acceleration = Vector3.new(0, -15, 0)
  1879. asd.LockedToPart = false
  1880. asd.EmissionDirection = "Back"
  1881. asd.Lifetime = NumberRange.new(1, 2)
  1882. asd.Rotation = NumberRange.new(-100, 100)
  1883. asd.RotSpeed = NumberRange.new(-100, 100)
  1884. asd.Speed = NumberRange.new(10)
  1885. asd.Enabled = false
  1886. asd.VelocitySpread = 999
  1887.  
  1888. function getbloody(victim,amount)
  1889. local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  1890. PART.CFrame = victim.CFrame
  1891. local HITPLAYERSOUNDS = {"356551938","264486467"}
  1892. Debris:AddItem(PART,5)
  1893. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1894. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1895. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1896. local prtcl = asd:Clone()
  1897. prtcl.Parent = PART
  1898. prtcl:Emit(amount*10)
  1899. end
  1900.  
  1901. local Particle = IT("ParticleEmitter",nil)
  1902. Particle.Enabled = false
  1903. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
  1904. Particle.LightEmission = 0.5
  1905. Particle.Rate = 150
  1906. Particle.ZOffset = 1
  1907. Particle.Rotation = NumberRange.new(-180, 180)
  1908. Particle.RotSpeed = NumberRange.new(-180, 180)
  1909. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1910. Particle.Color = ColorSequence.new(C3(58,125,21),C3(0.4,0,0))
  1911.  
  1912. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1913. function ParticleEmitter(Table)
  1914. local PRTCL = Particle:Clone()
  1915. local Speed = Table.Speed or 5
  1916. local Drag = Table.Drag or 0
  1917. local Size1 = Table.Size1 or 1
  1918. local Size2 = Table.Size2 or 5
  1919. local Lifetime1 = Table.Lifetime1 or 1
  1920. local Lifetime2 = Table.Lifetime2 or 1.5
  1921. local Parent = Table.Parent or Torso
  1922. local Emit = Table.Emit or 100
  1923. local Offset = Table.Offset or 360
  1924. local Acel = Table.Acel or VT(0,0,0)
  1925. local Enabled = Table.Enabled or false
  1926. PRTCL.Parent = Parent
  1927. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1928. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1929. PRTCL.Speed = NumberRange.new(Speed)
  1930. PRTCL.VelocitySpread = Offset
  1931. PRTCL.Drag = Drag
  1932. PRTCL.Acceleration = Acel
  1933. if Enabled == false then
  1934. PRTCL:Emit(Emit)
  1935. Debris:AddItem(PRTCL,Lifetime2)
  1936. else
  1937. PRTCL.Enabled = true
  1938. end
  1939. return PRTCL
  1940. end
  1941.  
  1942. -----
  1943.  
  1944. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1945. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1946. end
  1947.  
  1948. function PositiveAngle(NUMBER)
  1949. if NUMBER >= 0 then
  1950. NUMBER = 0
  1951. end
  1952. return NUMBER
  1953. end
  1954.  
  1955. function NegativeAngle(NUMBER)
  1956. if NUMBER <= 0 then
  1957. NUMBER = 0
  1958. end
  1959. return NUMBER
  1960. end
  1961.  
  1962. function Swait(NUMBER)
  1963. if NUMBER == 0 or NUMBER == nil then
  1964. ArtificialHB.Event:wait()
  1965. else
  1966. for i = 1, NUMBER do
  1967. ArtificialHB.Event:wait()
  1968. end
  1969. end
  1970. end
  1971.  
  1972. function QuaternionFromCFrame(cf)
  1973. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1974. local trace = m00 + m11 + m22
  1975. if trace > 0 then
  1976. local s = math.sqrt(1 + trace)
  1977. local recip = 0.5 / s
  1978. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1979. else
  1980. local i = 0
  1981. if m11 > m00 then
  1982. i = 1
  1983. end
  1984. if m22 > (i == 0 and m00 or m11) then
  1985. i = 2
  1986. end
  1987. if i == 0 then
  1988. local s = math.sqrt(m00 - m11 - m22 + 1)
  1989. local recip = 0.5 / s
  1990. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1991. elseif i == 1 then
  1992. local s = math.sqrt(m11 - m22 - m00 + 1)
  1993. local recip = 0.5 / s
  1994. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1995. elseif i == 2 then
  1996. local s = math.sqrt(m22 - m00 - m11 + 1)
  1997. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1998. end
  1999. end
  2000. end
  2001.  
  2002. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2003. local xs, ys, zs = x + x, y + y, z + z
  2004. local wx, wy, wz = w * xs, w * ys, w * zs
  2005. local xx = x * xs
  2006. local xy = x * ys
  2007. local xz = x * zs
  2008. local yy = y * ys
  2009. local yz = y * zs
  2010. local zz = z * zs
  2011. 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))
  2012. end
  2013.  
  2014. function QuaternionSlerp(a, b, t)
  2015. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  2016. local startInterp, finishInterp;
  2017. if cosTheta >= 0.0001 then
  2018. if (1 - cosTheta) > 0.0001 then
  2019. local theta = ACOS(cosTheta)
  2020. local invSinTheta = 1 / SIN(theta)
  2021. startInterp = SIN((1 - t) * theta) * invSinTheta
  2022. finishInterp = SIN(t * theta) * invSinTheta
  2023. else
  2024. startInterp = 1 - t
  2025. finishInterp = t
  2026. end
  2027. else
  2028. if (1 + cosTheta) > 0.0001 then
  2029. local theta = ACOS(-cosTheta)
  2030. local invSinTheta = 1 / SIN(theta)
  2031. startInterp = SIN((t - 1) * theta) * invSinTheta
  2032. finishInterp = SIN(t * theta) * invSinTheta
  2033. else
  2034. startInterp = t - 1
  2035. finishInterp = t
  2036. end
  2037. end
  2038. 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
  2039. end
  2040.  
  2041. function Clerp(a, b, t)
  2042. local qa = {QuaternionFromCFrame(a)}
  2043. local qb = {QuaternionFromCFrame(b)}
  2044. local ax, ay, az = a.x, a.y, a.z
  2045. local bx, by, bz = b.x, b.y, b.z
  2046. local _t = 1 - t
  2047. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  2048. end
  2049.  
  2050. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  2051. local frame = IT("Frame")
  2052. frame.BackgroundTransparency = TRANSPARENCY
  2053. frame.BorderSizePixel = BORDERSIZEPIXEL
  2054. frame.Position = POSITION
  2055. frame.Size = SIZE
  2056. frame.BackgroundColor3 = COLOR
  2057. frame.BorderColor3 = BORDERCOLOR
  2058. frame.Name = NAME
  2059. frame.Parent = PARENT
  2060. return frame
  2061. end
  2062.  
  2063. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  2064. local label = IT("TextLabel")
  2065. label.BackgroundTransparency = 1
  2066. label.Size = UD2(1, 0, 1, 0)
  2067. label.Position = UD2(0, 0, 0, 0)
  2068. label.TextColor3 = TEXTCOLOR
  2069. label.TextStrokeTransparency = STROKETRANSPARENCY
  2070. label.TextTransparency = TRANSPARENCY
  2071. label.FontSize = TEXTFONTSIZE
  2072. label.Font = TEXTFONT
  2073. label.BorderSizePixel = BORDERSIZEPIXEL
  2074. label.TextScaled = false
  2075. label.Text = TEXT
  2076. label.Name = NAME
  2077. label.Parent = PARENT
  2078. return label
  2079. end
  2080.  
  2081. function NoOutlines(PART)
  2082. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  2083. end
  2084.  
  2085.  
  2086. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  2087. local NEWWELD = IT(TYPE)
  2088. NEWWELD.Part0 = PART0
  2089. NEWWELD.Part1 = PART1
  2090. NEWWELD.C0 = C0
  2091. NEWWELD.C1 = C1
  2092. NEWWELD.Parent = PARENT
  2093. return NEWWELD
  2094. end
  2095.  
  2096. function CreateSound(ID, PARENT, VOLUME, PITCH)
  2097. local NEWSOUND = nil
  2098. coroutine.resume(coroutine.create(function()
  2099. NEWSOUND = IT("Sound", PARENT)
  2100. NEWSOUND.Volume = VOLUME
  2101. NEWSOUND.Pitch = PITCH
  2102. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  2103. Swait()
  2104. NEWSOUND:play()
  2105. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  2106. end))
  2107. return NEWSOUND
  2108. end
  2109.  
  2110. function CFrameFromTopBack(at, top, back)
  2111. local right = top:Cross(back)
  2112. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  2113. end
  2114.  
  2115. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  2116. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  2117. wave.Color = COLOR
  2118. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2119. wave.CFrame = CFRAME
  2120. coroutine.resume(coroutine.create(function(PART)
  2121. for i = 1, WAIT do
  2122. Swait()
  2123. mesh.Scale = mesh.Scale + GROW
  2124. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  2125. if DOESROT == true then
  2126. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  2127. end
  2128. wave.Transparency = wave.Transparency + (0.5/WAIT)
  2129. if wave.Transparency > 0.99 then
  2130. wave:remove()
  2131. end
  2132. end
  2133. end))
  2134. end
  2135.  
  2136. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  2137. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  2138. wave.Color = COLOR
  2139. local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  2140. wave.CFrame = CFRAME
  2141. coroutine.resume(coroutine.create(function(PART)
  2142. for i = 1, WAIT do
  2143. Swait()
  2144. mesh.Scale = mesh.Scale + GROW
  2145. wave.Transparency = wave.Transparency + (1/WAIT)
  2146. if wave.Transparency > 0.99 then
  2147. wave:remove()
  2148. end
  2149. end
  2150. end))
  2151. end
  2152.  
  2153. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  2154. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  2155. local mesh = nil
  2156. if KIND == "Base" then
  2157. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  2158. elseif KIND == "Thin" then
  2159. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  2160. elseif KIND == "Round" then
  2161. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  2162. end
  2163. wave.CFrame = CFRAME
  2164. coroutine.resume(coroutine.create(function(PART)
  2165. for i = 1, WAIT do
  2166. Swait()
  2167. mesh.Scale = mesh.Scale + GROW/10
  2168. wave.Transparency = wave.Transparency + (0.5/WAIT)
  2169. if wave.Transparency > 0.99 then
  2170. wave:remove()
  2171. end
  2172. end
  2173. end))
  2174. end
  2175.  
  2176. function MakeForm(PART,TYPE)
  2177. if TYPE == "Cyl" then
  2178. local MSH = IT("CylinderMesh",PART)
  2179. elseif TYPE == "Ball" then
  2180. local MSH = IT("SpecialMesh",PART)
  2181. MSH.MeshType = "Sphere"
  2182. elseif TYPE == "Wedge" then
  2183. local MSH = IT("SpecialMesh",PART)
  2184. MSH.MeshType = "Wedge"
  2185. end
  2186. end
  2187.  
  2188. function CheckTableForString(Table, String)
  2189. for i, v in pairs(Table) do
  2190. if string.find(string.lower(String), string.lower(v)) then
  2191. return true
  2192. end
  2193. end
  2194. return false
  2195. end
  2196.  
  2197. function CheckIntangible(Hit)
  2198. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  2199. if Hit and Hit.Parent then
  2200. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  2201. return true
  2202. end
  2203. end
  2204. return false
  2205. end
  2206.  
  2207. Debris = game:GetService("Debris")
  2208.  
  2209. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  2210. local Direction = CFrame.new(StartPos, Vec).lookVector
  2211. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  2212. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  2213. if RayHit and CheckIntangible(RayHit) then
  2214. if DelayIfHit then
  2215. wait()
  2216. end
  2217. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  2218. end
  2219. return RayHit, RayPos, RayNormal
  2220. end
  2221.  
  2222. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  2223. if DoesCourontine == false then
  2224. local Direction = CF(Part.Position,ToLocation)
  2225. local Distance = (Part.Position - ToLocation).magnitude
  2226. for i = 1, AmountOfTime do
  2227. Swait()
  2228. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  2229. Direction = Part.CFrame
  2230. end
  2231. Part:remove()
  2232. elseif DoesCourontine == true then
  2233. coroutine.resume(coroutine.create(function()
  2234. local Direction = CF(Part.Position,ToLocation)
  2235. local Distance = (Part.Position - ToLocation).magnitude
  2236. for i = 1, AmountOfTime do
  2237. Swait()
  2238. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  2239. Direction = Part.CFrame
  2240. end
  2241. Part:remove()
  2242. end))
  2243. end
  2244. end
  2245.  
  2246. function turnto(position)
  2247. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  2248. end
  2249. ---
  2250. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  2251. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  2252. end
  2253.  
  2254. function PositiveAngle(NUMBER)
  2255. if NUMBER >= 0 then
  2256. NUMBER = 0
  2257. end
  2258. return NUMBER
  2259. end
  2260.  
  2261. function NegativeAngle(NUMBER)
  2262. if NUMBER <= 0 then
  2263. NUMBER = 0
  2264. end
  2265. return NUMBER
  2266. end
  2267.  
  2268. function Swait(NUMBER)
  2269. if NUMBER == 0 or NUMBER == nil then
  2270. ArtificialHB.Event:wait()
  2271. else
  2272. for i = 1, NUMBER do
  2273. ArtificialHB.Event:wait()
  2274. end
  2275. end
  2276. end
  2277.  
  2278. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  2279. local NEWMESH = IT(MESH)
  2280. if MESH == "SpecialMesh" then
  2281. NEWMESH.MeshType = MESHTYPE
  2282. if MESHID ~= "nil" and MESHID ~= "" then
  2283. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  2284. end
  2285. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  2286. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  2287. end
  2288. end
  2289. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  2290. NEWMESH.Scale = SCALE
  2291. NEWMESH.Parent = PARENT
  2292. return NEWMESH
  2293. end
  2294.  
  2295. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  2296. local NEWPART = IT("Part")
  2297. NEWPART.formFactor = FORMFACTOR
  2298. NEWPART.Reflectance = REFLECTANCE
  2299. NEWPART.Transparency = TRANSPARENCY
  2300. NEWPART.CanCollide = false
  2301. NEWPART.Locked = true
  2302. NEWPART.Anchored = true
  2303. if ANCHOR == false then
  2304. NEWPART.Anchored = false
  2305. end
  2306. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  2307. NEWPART.Name = NAME
  2308. NEWPART.Size = SIZE
  2309. NEWPART.Position = Torso.Position
  2310. NEWPART.Material = MATERIAL
  2311. NEWPART:BreakJoints()
  2312. NEWPART.Parent = PARENT
  2313. return NEWPART
  2314. end
  2315.  
  2316. local function weldBetween(a, b)
  2317. local weldd = Instance.new("ManualWeld")
  2318. weldd.Part0 = a
  2319. weldd.Part1 = b
  2320. weldd.C0 = CFrame.new()
  2321. weldd.C1 = b.CFrame:inverse() * a.CFrame
  2322. weldd.Parent = a
  2323. return weldd
  2324. end
  2325.  
  2326.  
  2327. function QuaternionFromCFrame(cf)
  2328. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  2329. local trace = m00 + m11 + m22
  2330. if trace > 0 then
  2331. local s = math.sqrt(1 + trace)
  2332. local recip = 0.5 / s
  2333. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  2334. else
  2335. local i = 0
  2336. if m11 > m00 then
  2337. i = 1
  2338. end
  2339. if m22 > (i == 0 and m00 or m11) then
  2340. i = 2
  2341. end
  2342. if i == 0 then
  2343. local s = math.sqrt(m00 - m11 - m22 + 1)
  2344. local recip = 0.5 / s
  2345. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  2346. elseif i == 1 then
  2347. local s = math.sqrt(m11 - m22 - m00 + 1)
  2348. local recip = 0.5 / s
  2349. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  2350. elseif i == 2 then
  2351. local s = math.sqrt(m22 - m00 - m11 + 1)
  2352. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  2353. end
  2354. end
  2355. end
  2356.  
  2357. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2358. local xs, ys, zs = x + x, y + y, z + z
  2359. local wx, wy, wz = w * xs, w * ys, w * zs
  2360. local xx = x * xs
  2361. local xy = x * ys
  2362. local xz = x * zs
  2363. local yy = y * ys
  2364. local yz = y * zs
  2365. local zz = z * zs
  2366. 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))
  2367. end
  2368.  
  2369. function QuaternionSlerp(a, b, t)
  2370. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  2371. local startInterp, finishInterp;
  2372. if cosTheta >= 0.0001 then
  2373. if (1 - cosTheta) > 0.0001 then
  2374. local theta = ACOS(cosTheta)
  2375. local invSinTheta = 1 / SIN(theta)
  2376. startInterp = SIN((1 - t) * theta) * invSinTheta
  2377. finishInterp = SIN(t * theta) * invSinTheta
  2378. else
  2379. startInterp = 1 - t
  2380. finishInterp = t
  2381. end
  2382. else
  2383. if (1 + cosTheta) > 0.0001 then
  2384. local theta = ACOS(-cosTheta)
  2385. local invSinTheta = 1 / SIN(theta)
  2386. startInterp = SIN((t - 1) * theta) * invSinTheta
  2387. finishInterp = SIN(t * theta) * invSinTheta
  2388. else
  2389. startInterp = t - 1
  2390. finishInterp = t
  2391. end
  2392. end
  2393. 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
  2394. end
  2395.  
  2396. function Clerp(a, b, t)
  2397. local qa = {QuaternionFromCFrame(a)}
  2398. local qb = {QuaternionFromCFrame(b)}
  2399. local ax, ay, az = a.x, a.y, a.z
  2400. local bx, by, bz = b.x, b.y, b.z
  2401. local _t = 1 - t
  2402. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  2403. end
  2404.  
  2405. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  2406. local frame = IT("Frame")
  2407. frame.BackgroundTransparency = TRANSPARENCY
  2408. frame.BorderSizePixel = BORDERSIZEPIXEL
  2409. frame.Position = POSITION
  2410. frame.Size = SIZE
  2411. frame.BackgroundColor3 = COLOR
  2412. frame.BorderColor3 = BORDERCOLOR
  2413. frame.Name = NAME
  2414. frame.Parent = PARENT
  2415. return frame
  2416. end
  2417.  
  2418. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  2419. local label = IT("TextLabel")
  2420. label.BackgroundTransparency = 1
  2421. label.Size = UD2(1, 0, 1, 0)
  2422. label.Position = UD2(0, 0, 0, 0)
  2423. label.TextColor3 = TEXTCOLOR
  2424. label.TextStrokeTransparency = STROKETRANSPARENCY
  2425. label.TextTransparency = TRANSPARENCY
  2426. label.FontSize = TEXTFONTSIZE
  2427. label.Font = TEXTFONT
  2428. label.BorderSizePixel = BORDERSIZEPIXEL
  2429. label.TextScaled = false
  2430. label.Text = TEXT
  2431. label.Name = NAME
  2432. label.Parent = PARENT
  2433. return label
  2434. end
  2435.  
  2436. function NoOutlines(PART)
  2437. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  2438. end
  2439.  
  2440. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  2441. local NEWWELD = IT(TYPE)
  2442. NEWWELD.Part0 = PART0
  2443. NEWWELD.Part1 = PART1
  2444. NEWWELD.C0 = C0
  2445. NEWWELD.C1 = C1
  2446. NEWWELD.Parent = PARENT
  2447. return NEWWELD
  2448. end
  2449.  
  2450. local S = IT("Sound")
  2451. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  2452. local NEWSOUND = nil
  2453. coroutine.resume(coroutine.create(function()
  2454. NEWSOUND = S:Clone()
  2455. NEWSOUND.Parent = PARENT
  2456. NEWSOUND.Volume = VOLUME
  2457. NEWSOUND.Pitch = PITCH
  2458. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  2459. NEWSOUND:play()
  2460. if DOESLOOP == true then
  2461. NEWSOUND.Looped = true
  2462. else
  2463. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  2464. NEWSOUND:remove()
  2465. end
  2466. end))
  2467. return NEWSOUND
  2468. end
  2469.  
  2470. function CFrameFromTopBack(at, top, back)
  2471. local right = top:Cross(back)
  2472. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  2473. end
  2474.  
  2475. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,255,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2476. function WACKYEFFECT(Table)
  2477. local TYPE = (Table.EffectType or "Sphere")
  2478. local SIZE = (Table.Size or VT(1,1,1))
  2479. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  2480. local TRANSPARENCY = (Table.Transparency or 0)
  2481. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  2482. local CFRAME = (Table.CFrame or Torso.CFrame)
  2483. local MOVEDIRECTION = (Table.MoveToPos or nil)
  2484. local ROTATION1 = (Table.RotationX or 0)
  2485. local ROTATION2 = (Table.RotationY or 0)
  2486. local ROTATION3 = (Table.RotationZ or 0)
  2487. local MATERIAL = (Table.Material or "Neon")
  2488. local COLOR = (Table.Color or C3(255,0,0))
  2489. local TIME = (Table.Time or 45)
  2490. local SOUNDID = (Table.SoundID or nil)
  2491. local SOUNDPITCH = (Table.SoundPitch or nil)
  2492. local SOUNDVOLUME = (Table.SoundVolume or nil)
  2493. coroutine.resume(coroutine.create(function()
  2494. local PLAYSSOUND = false
  2495. local SOUND = nil
  2496. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  2497. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  2498. PLAYSSOUND = true
  2499. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  2500. end
  2501. EFFECT.Color = COLOR
  2502. local MSH = nil
  2503. if TYPE == "Sphere" then
  2504. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  2505. elseif TYPE == "Block" then
  2506. MSH = IT("BlockMesh",EFFECT)
  2507. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  2508. elseif TYPE == "Wave" then
  2509. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  2510. elseif TYPE == "Ring" then
  2511. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  2512. elseif TYPE == "Slash" then
  2513. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2514. elseif TYPE == "Round Slash" then
  2515. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2516. elseif TYPE == "Swirl" then
  2517. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2518. elseif TYPE == "Skull" then
  2519. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  2520. elseif TYPE == "Crystal" then
  2521. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  2522. end
  2523. if MSH ~= nil then
  2524. local MOVESPEED = nil
  2525. if MOVEDIRECTION ~= nil then
  2526. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  2527. end
  2528. local GROWTH = SIZE - ENDSIZE
  2529. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  2530. if TYPE == "Block" then
  2531. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2532. else
  2533. EFFECT.CFrame = CFRAME
  2534. end
  2535. for LOOP = 1, TIME+1 do
  2536. Swait()
  2537. MSH.Scale = MSH.Scale - GROWTH/TIME
  2538. if TYPE == "Wave" then
  2539. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  2540. end
  2541. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  2542. if TYPE == "Block" then
  2543. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2544. else
  2545. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  2546. end
  2547. if MOVEDIRECTION ~= nil then
  2548. local ORI = EFFECT.Orientation
  2549. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  2550. EFFECT.Orientation = ORI
  2551. end
  2552. end
  2553. if PLAYSSOUND == false then
  2554. EFFECT:remove()
  2555. else
  2556. SOUND.Stopped:Connect(function()
  2557. EFFECT:remove()
  2558. end)
  2559. end
  2560. else
  2561. if PLAYSSOUND == false then
  2562. EFFECT:remove()
  2563. else
  2564. repeat Swait() until SOUND.Playing == false
  2565. EFFECT:remove()
  2566. end
  2567. end
  2568. end))
  2569. end
  2570.  
  2571. function MakeForm(PART,TYPE)
  2572. if TYPE == "Cyl" then
  2573. local MSH = IT("CylinderMesh",PART)
  2574. elseif TYPE == "Ball" then
  2575. local MSH = IT("SpecialMesh",PART)
  2576. MSH.MeshType = "Sphere"
  2577. elseif TYPE == "Wedge" then
  2578. local MSH = IT("SpecialMesh",PART)
  2579. MSH.MeshType = "Wedge"
  2580. end
  2581. end
  2582.  
  2583. function SpawnTrail(FROM,TO,BIG)
  2584. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  2585. MakeForm(TRAIL,"Cyl")
  2586. local DIST = (FROM - TO).Magnitude
  2587. if BIG == true then
  2588. TRAIL.Size = VT(0.5,DIST,0.5)
  2589. else
  2590. TRAIL.Size = VT(0.25,DIST,0.25)
  2591. end
  2592. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  2593. coroutine.resume(coroutine.create(function()
  2594. for i = 1, 5 do
  2595. Swait()
  2596. TRAIL.Transparency = TRAIL.Transparency + 0.1
  2597. end
  2598. TRAIL:remove()
  2599. end))
  2600. end
  2601.  
  2602. Debris = game:GetService("Debris")
  2603.  
  2604. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  2605. local DIRECTION = CF(StartPos,EndPos).lookVector
  2606. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  2607. end
  2608.  
  2609. function turnto(position)
  2610. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  2611. end
  2612. ---
  2613. --
  2614. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  2615. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  2616. end
  2617.  
  2618. function PositiveAngle(NUMBER)
  2619. if NUMBER >= 0 then
  2620. NUMBER = 0
  2621. end
  2622. return NUMBER
  2623. end
  2624.  
  2625. function NegativeAngle(NUMBER)
  2626. if NUMBER <= 0 then
  2627. NUMBER = 0
  2628. end
  2629. return NUMBER
  2630. end
  2631.  
  2632. function Swait(NUMBER)
  2633. if NUMBER == 0 or NUMBER == nil then
  2634. ArtificialHB.Event:wait()
  2635. else
  2636. for i = 1, NUMBER do
  2637. ArtificialHB.Event:wait()
  2638. end
  2639. end
  2640. end
  2641.  
  2642. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  2643. local NEWMESH = IT(MESH)
  2644. if MESH == "SpecialMesh" then
  2645. NEWMESH.MeshType = MESHTYPE
  2646. if MESHID ~= "nil" and MESHID ~= "" then
  2647. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  2648. end
  2649. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  2650. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  2651. end
  2652. end
  2653. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  2654. NEWMESH.Scale = SCALE
  2655. NEWMESH.Parent = PARENT
  2656. return NEWMESH
  2657. end
  2658.  
  2659. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  2660. local NEWPART = IT("Part")
  2661. NEWPART.formFactor = FORMFACTOR
  2662. NEWPART.Reflectance = REFLECTANCE
  2663. NEWPART.Transparency = TRANSPARENCY
  2664. NEWPART.CanCollide = false
  2665. NEWPART.Locked = true
  2666. NEWPART.Anchored = true
  2667. if ANCHOR == false then
  2668. NEWPART.Anchored = false
  2669. end
  2670. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  2671. NEWPART.Name = NAME
  2672. NEWPART.Size = SIZE
  2673. NEWPART.Position = Torso.Position
  2674. NEWPART.Material = MATERIAL
  2675. NEWPART:BreakJoints()
  2676. NEWPART.Parent = PARENT
  2677. return NEWPART
  2678. end
  2679.  
  2680. local function weldBetween(a, b)
  2681. local weldd = Instance.new("ManualWeld")
  2682. weldd.Part0 = a
  2683. weldd.Part1 = b
  2684. weldd.C0 = CFrame.new()
  2685. weldd.C1 = b.CFrame:inverse() * a.CFrame
  2686. weldd.Parent = a
  2687. return weldd
  2688. end
  2689.  
  2690.  
  2691. function QuaternionFromCFrame(cf)
  2692. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  2693. local trace = m00 + m11 + m22
  2694. if trace > 0 then
  2695. local s = math.sqrt(1 + trace)
  2696. local recip = 0.5 / s
  2697. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  2698. else
  2699. local i = 0
  2700. if m11 > m00 then
  2701. i = 1
  2702. end
  2703. if m22 > (i == 0 and m00 or m11) then
  2704. i = 2
  2705. end
  2706. if i == 0 then
  2707. local s = math.sqrt(m00 - m11 - m22 + 1)
  2708. local recip = 0.5 / s
  2709. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  2710. elseif i == 1 then
  2711. local s = math.sqrt(m11 - m22 - m00 + 1)
  2712. local recip = 0.5 / s
  2713. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  2714. elseif i == 2 then
  2715. local s = math.sqrt(m22 - m00 - m11 + 1)
  2716. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  2717. end
  2718. end
  2719. end
  2720.  
  2721. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2722. local xs, ys, zs = x + x, y + y, z + z
  2723. local wx, wy, wz = w * xs, w * ys, w * zs
  2724. local xx = x * xs
  2725. local xy = x * ys
  2726. local xz = x * zs
  2727. local yy = y * ys
  2728. local yz = y * zs
  2729. local zz = z * zs
  2730. 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))
  2731. end
  2732.  
  2733. function QuaternionSlerp(a, b, t)
  2734. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  2735. local startInterp, finishInterp;
  2736. if cosTheta >= 0.0001 then
  2737. if (1 - cosTheta) > 0.0001 then
  2738. local theta = ACOS(cosTheta)
  2739. local invSinTheta = 1 / SIN(theta)
  2740. startInterp = SIN((1 - t) * theta) * invSinTheta
  2741. finishInterp = SIN(t * theta) * invSinTheta
  2742. else
  2743. startInterp = 1 - t
  2744. finishInterp = t
  2745. end
  2746. else
  2747. if (1 + cosTheta) > 0.0001 then
  2748. local theta = ACOS(-cosTheta)
  2749. local invSinTheta = 1 / SIN(theta)
  2750. startInterp = SIN((t - 1) * theta) * invSinTheta
  2751. finishInterp = SIN(t * theta) * invSinTheta
  2752. else
  2753. startInterp = t - 1
  2754. finishInterp = t
  2755. end
  2756. end
  2757. 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
  2758. end
  2759.  
  2760. function Clerp(a, b, t)
  2761. local qa = {QuaternionFromCFrame(a)}
  2762. local qb = {QuaternionFromCFrame(b)}
  2763. local ax, ay, az = a.x, a.y, a.z
  2764. local bx, by, bz = b.x, b.y, b.z
  2765. local _t = 1 - t
  2766. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  2767. end
  2768.  
  2769. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  2770. local frame = IT("Frame")
  2771. frame.BackgroundTransparency = TRANSPARENCY
  2772. frame.BorderSizePixel = BORDERSIZEPIXEL
  2773. frame.Position = POSITION
  2774. frame.Size = SIZE
  2775. frame.BackgroundColor3 = COLOR
  2776. frame.BorderColor3 = BORDERCOLOR
  2777. frame.Name = NAME
  2778. frame.Parent = PARENT
  2779. return frame
  2780. end
  2781.  
  2782. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  2783. local label = IT("TextLabel")
  2784. label.BackgroundTransparency = 1
  2785. label.Size = UD2(1, 0, 1, 0)
  2786. label.Position = UD2(0, 0, 0, 0)
  2787. label.TextColor3 = TEXTCOLOR
  2788. label.TextStrokeTransparency = STROKETRANSPARENCY
  2789. label.TextTransparency = TRANSPARENCY
  2790. label.FontSize = TEXTFONTSIZE
  2791. label.Font = TEXTFONT
  2792. label.BorderSizePixel = BORDERSIZEPIXEL
  2793. label.TextScaled = false
  2794. label.Text = TEXT
  2795. label.Name = NAME
  2796. label.Parent = PARENT
  2797. return label
  2798. end
  2799.  
  2800. function NoOutlines(PART)
  2801. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  2802. end
  2803.  
  2804. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  2805. local NEWWELD = IT(TYPE)
  2806. NEWWELD.Part0 = PART0
  2807. NEWWELD.Part1 = PART1
  2808. NEWWELD.C0 = C0
  2809. NEWWELD.C1 = C1
  2810. NEWWELD.Parent = PARENT
  2811. return NEWWELD
  2812. end
  2813.  
  2814. local S = IT("Sound")
  2815. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  2816. local NEWSOUND = nil
  2817. coroutine.resume(coroutine.create(function()
  2818. NEWSOUND = S:Clone()
  2819. NEWSOUND.Parent = PARENT
  2820. NEWSOUND.Volume = VOLUME
  2821. NEWSOUND.Pitch = PITCH
  2822. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  2823. NEWSOUND:play()
  2824. if DOESLOOP == true then
  2825. NEWSOUND.Looped = true
  2826. else
  2827. repeat wait(1) until NEWSOUND.Playing == false
  2828. NEWSOUND:remove()
  2829. end
  2830. end))
  2831. return NEWSOUND
  2832. end
  2833.  
  2834. local EyeSizes={
  2835. NumberSequenceKeypoint.new(0,2,0),
  2836. NumberSequenceKeypoint.new(1,0,0)
  2837. }
  2838. local EyeTrans={
  2839. NumberSequenceKeypoint.new(0,0.5,0),
  2840. NumberSequenceKeypoint.new(1,1,0)
  2841. }
  2842. local PE=Instance.new("ParticleEmitter",nil)
  2843. PE.LightEmission=.8
  2844. PE.Color = ColorSequence.new(BRICKC("Crimson").Color,BRICKC("Really red").Color)
  2845. PE.Size=NumberSequence.new(EyeSizes)
  2846. PE.Transparency=NumberSequence.new(EyeTrans)
  2847. PE.Lifetime=NumberRange.new(0.35,1)
  2848. PE.Rotation=NumberRange.new(0,360)
  2849. PE.Rate=100
  2850. PE.VelocitySpread = 10000
  2851. PE.Acceleration = Vector3.new(0,85,0)
  2852. PE.Drag = 5
  2853. PE.Speed = NumberRange.new(0.1,5)
  2854. PE.Texture="http://www.roblox.com/asset/?id=818983932"
  2855. PE.ZOffset = 0.5
  2856. PE.Name = "PE"
  2857. PE.Enabled = false
  2858.  
  2859. function Fire(art)
  2860. local PARTICLES = PE:Clone()
  2861. PARTICLES.Parent = art
  2862. PARTICLES.Enabled = true
  2863. return PARTICLES
  2864. end
  2865.  
  2866. function CFrameFromTopBack(at, top, back)
  2867. local right = top:Cross(back)
  2868. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  2869. end
  2870.  
  2871. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2872. function WACKYEFFECT(Table)
  2873. local TYPE = (Table.EffectType or "Sphere")
  2874. local SIZE = (Table.Size or VT(1,1,1))
  2875. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  2876. local TRANSPARENCY = (Table.Transparency or 0)
  2877. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  2878. local CFRAME = (Table.CFrame or Torso.CFrame)
  2879. local MOVEDIRECTION = (Table.MoveToPos or nil)
  2880. local ROTATION1 = (Table.RotationX or 0)
  2881. local ROTATION2 = (Table.RotationY or 0)
  2882. local ROTATION3 = (Table.RotationZ or 0)
  2883. local MATERIAL = (Table.Material or "Neon")
  2884. local COLOR = (Table.Color or C3(1,1,1))
  2885. local TIME = (Table.Time or 45)
  2886. local SOUNDID = (Table.SoundID or nil)
  2887. local SOUNDPITCH = (Table.SoundPitch or nil)
  2888. local SOUNDVOLUME = (Table.SoundVolume or nil)
  2889. coroutine.resume(coroutine.create(function()
  2890. local PLAYSSOUND = false
  2891. local SOUND = nil
  2892. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Crimson"), "Effect", VT(1,1,1), true)
  2893. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  2894. PLAYSSOUND = true
  2895. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  2896. end
  2897. EFFECT.Color = COLOR
  2898. local MSH = nil
  2899. if TYPE == "Sphere" then
  2900. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  2901. elseif TYPE == "Block" or TYPE == "Box" then
  2902. MSH = IT("BlockMesh",EFFECT)
  2903. MSH.Scale = SIZE
  2904. elseif TYPE == "Wave" then
  2905. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  2906. elseif TYPE == "Ring" then
  2907. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  2908. elseif TYPE == "Slash" then
  2909. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2910. elseif TYPE == "Round Slash" then
  2911. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2912. elseif TYPE == "Swirl" then
  2913. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2914. elseif TYPE == "Skull" then
  2915. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  2916. elseif TYPE == "Crystal" then
  2917. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  2918. end
  2919. if MSH ~= nil then
  2920. local MOVESPEED = nil
  2921. if MOVEDIRECTION ~= nil then
  2922. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  2923. end
  2924. local GROWTH = SIZE - ENDSIZE
  2925. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  2926. if TYPE == "Block" then
  2927. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2928. else
  2929. EFFECT.CFrame = CFRAME
  2930. end
  2931. for LOOP = 1, TIME+1 do
  2932. Swait()
  2933. MSH.Scale = MSH.Scale - GROWTH/TIME
  2934. if TYPE == "Wave" then
  2935. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  2936. end
  2937. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  2938. if TYPE == "Block" then
  2939. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2940. else
  2941. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  2942. end
  2943. if MOVEDIRECTION ~= nil then
  2944. local ORI = EFFECT.Orientation
  2945. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  2946. EFFECT.Orientation = ORI
  2947. end
  2948. end
  2949. if PLAYSSOUND == false then
  2950. EFFECT:remove()
  2951. else
  2952. repeat wait(1) until SOUND.Playing == false
  2953. EFFECT:remove()
  2954. end
  2955. else
  2956. if PLAYSSOUND == false then
  2957. EFFECT:remove()
  2958. else
  2959. repeat Swait() until SOUND.Playing == false
  2960. EFFECT:remove()
  2961. end
  2962. end
  2963. end))
  2964. end
  2965.  
  2966. function MakeForm(PART,TYPE)
  2967. if TYPE == "Cyl" then
  2968. local MSH = IT("CylinderMesh",PART)
  2969. elseif TYPE == "Ball" then
  2970. local MSH = IT("SpecialMesh",PART)
  2971. MSH.MeshType = "Sphere"
  2972. elseif TYPE == "Wedge" then
  2973. local MSH = IT("SpecialMesh",PART)
  2974. MSH.MeshType = "Wedge"
  2975. end
  2976. end
  2977.  
  2978. Debris = game:GetService("Debris")
  2979.  
  2980. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  2981. local DIRECTION = CF(StartPos,EndPos).lookVector
  2982. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  2983. end
  2984.  
  2985. local HATWELD = nil
  2986. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  2987. PLAYMAINANIM = false
  2988. if WhichPose == "Cast1" then
  2989. for i=0, Time, 0.1 / Animation_Speed do
  2990. Swait()
  2991. if Magic == true then
  2992. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2993. end
  2994. if Gyro ~= nil and Gyro ~= false then
  2995. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2996. end
  2997. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  2998. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  2999. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3000. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3001. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3002. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3003. end
  3004. elseif WhichPose == "Cast2" then
  3005. for i=0, Time, 0.1 / Animation_Speed do
  3006. Swait()
  3007. if Magic == true then
  3008. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3009. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3010. end
  3011. if Gyro ~= nil and Gyro ~= false then
  3012. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  3013. end
  3014. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  3015. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  3016. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3017. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3018. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3019. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3020. end
  3021. elseif WhichPose == "RightArmUp" then
  3022. for i=0, Time, 0.1 / Animation_Speed do
  3023. Swait()
  3024. if Magic == true then
  3025. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3026. end
  3027. if Gyro ~= nil and Gyro ~= false then
  3028. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  3029. end
  3030. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  3031. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3032. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3033. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3034. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3035. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3036. end
  3037. elseif WhichPose == "Taunt" then
  3038. for i=0, Time, 0.1 / Animation_Speed do
  3039. Swait()
  3040. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  3041. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  3042. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3043. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3044. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3045. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3046. end
  3047. HATWELD.Part0 = RightArm
  3048. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  3049. CreateSound(221057812,Torso,10,1,false)
  3050. for i=0, Time*2, 0.1 / Animation_Speed do
  3051. Swait()
  3052. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  3053. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  3054. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3055. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3056. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3057. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3058. end
  3059. for i=0, Time, 0.1 / Animation_Speed do
  3060. Swait()
  3061. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  3062. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  3063. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3064. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3065. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3066. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3067. HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  3068. end
  3069. HATWELD.Part0 = Head
  3070. HATWELD.C0 = CF(0,0.35,0)
  3071. elseif WhichPose == "Prepare key" then
  3072. for i=0, Time, 0.1 / Animation_Speed do
  3073. Swait()
  3074. if Gyro ~= nil and Gyro ~= false then
  3075. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  3076. end
  3077. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  3078. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  3079. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3080. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3081. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3082. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3083. end
  3084. elseif WhichPose == "Turn key" then
  3085. for i=0, Time, 0.1 / Animation_Speed do
  3086. Swait()
  3087. if Gyro ~= nil and Gyro ~= false then
  3088. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  3089. end
  3090. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  3091. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  3092. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  3093. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  3094. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  3095. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  3096. end
  3097. end
  3098. PLAYMAINANIM = true
  3099. end
  3100.  
  3101. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  3102. function Lightning(Table)
  3103. local Color = Table.Color or C3(1,1,1)
  3104. local StartPos = Table.Start or Torso.Position
  3105. local EndPos = Table.End or Mouse.Hit.p
  3106. local SegmentLength = Table.SegmentL or 2
  3107. local Thickness = Table.Thickness or 0.1
  3108. local Dissapear = Table.DoesFade or false
  3109. local Parent = Table.Ignore or Character
  3110. local MaxDist = Table.MaxDist or 400
  3111. local Branches = Table.Branches or false
  3112. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  3113. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  3114. local LIGHTNINGMODEL = IT("Model",Effects)
  3115. LIGHTNINGMODEL.Name = "Lightning"
  3116. local LastBolt = nil
  3117. for E = 1, DISTANCE do
  3118. local ExtraSize = (DISTANCE-E)/15
  3119. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  3120. PART.Color = Color
  3121. MakeForm(PART,"Cyl")
  3122. if LastBolt == nil then
  3123. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  3124. else
  3125. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  3126. end
  3127. LastBolt = PART
  3128. if Branches == true then
  3129. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  3130. if CHOICE == 1 then
  3131. local LASTBRANCH = nil
  3132. for i = 1, MRANDOM(2,5) do
  3133. local ExtraSize2 = ((DISTANCE-E)/25)/i
  3134. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  3135. PART.Color = Color
  3136. MakeForm(PART,"Cyl")
  3137. if LASTBRANCH == nil then
  3138. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  3139. else
  3140. PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  3141. end
  3142. LASTBRANCH = PART
  3143. end
  3144. end
  3145. end
  3146. end
  3147. if Dissapear == true then
  3148. coroutine.resume(coroutine.create(function()
  3149. for i = 1, 10 do
  3150. Swait()
  3151. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  3152. if c.ClassName == "Part" then
  3153. c.Transparency = i/10
  3154. end
  3155. end
  3156. end
  3157. LIGHTNINGMODEL:remove()
  3158. end))
  3159. elseif Dissapear == false then
  3160. Debris:AddItem(LIGHTNINGMODEL,0.1)
  3161. end
  3162. return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  3163. end
  3164.  
  3165. --
  3166. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  3167. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  3168. end
  3169.  
  3170. function PositiveAngle(NUMBER)
  3171. if NUMBER >= 0 then
  3172. NUMBER = 0
  3173. end
  3174. return NUMBER
  3175. end
  3176.  
  3177. function NegativeAngle(NUMBER)
  3178. if NUMBER <= 0 then
  3179. NUMBER = 0
  3180. end
  3181. return NUMBER
  3182. end
  3183.  
  3184. function Swait(NUMBER)
  3185. if NUMBER == 0 or NUMBER == nil then
  3186. ArtificialHB.Event:wait()
  3187. else
  3188. for i = 1, NUMBER do
  3189. ArtificialHB.Event:wait()
  3190. end
  3191. end
  3192. end
  3193.  
  3194. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  3195. local NEWMESH = IT(MESH)
  3196. if MESH == "SpecialMesh" then
  3197. NEWMESH.MeshType = MESHTYPE
  3198. if MESHID ~= "nil" and MESHID ~= "" then
  3199. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  3200. end
  3201. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  3202. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  3203. end
  3204. end
  3205. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  3206. NEWMESH.Scale = SCALE
  3207. NEWMESH.Parent = PARENT
  3208. return NEWMESH
  3209. end
  3210.  
  3211. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  3212. local NEWPART = IT("Part")
  3213. NEWPART.formFactor = FORMFACTOR
  3214. NEWPART.Reflectance = REFLECTANCE
  3215. NEWPART.Transparency = TRANSPARENCY
  3216. NEWPART.CanCollide = false
  3217. NEWPART.Locked = true
  3218. NEWPART.Anchored = true
  3219. if ANCHOR == false then
  3220. NEWPART.Anchored = false
  3221. end
  3222. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  3223. NEWPART.Name = NAME
  3224. NEWPART.Size = SIZE
  3225. NEWPART.Position = Torso.Position
  3226. NEWPART.Material = MATERIAL
  3227. NEWPART:BreakJoints()
  3228. NEWPART.Parent = PARENT
  3229. return NEWPART
  3230. end
  3231.  
  3232. local function weldBetween(a, b)
  3233. local weldd = Instance.new("ManualWeld")
  3234. weldd.Part0 = a
  3235. weldd.Part1 = b
  3236. weldd.C0 = CFrame.new()
  3237. weldd.C1 = b.CFrame:inverse() * a.CFrame
  3238. weldd.Parent = a
  3239. return weldd
  3240. end
  3241.  
  3242.  
  3243. function QuaternionFromCFrame(cf)
  3244. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  3245. local trace = m00 + m11 + m22
  3246. if trace > 0 then
  3247. local s = math.sqrt(1 + trace)
  3248. local recip = 0.5 / s
  3249. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  3250. else
  3251. local i = 0
  3252. if m11 > m00 then
  3253. i = 1
  3254. end
  3255. if m22 > (i == 0 and m00 or m11) then
  3256. i = 2
  3257. end
  3258. if i == 0 then
  3259. local s = math.sqrt(m00 - m11 - m22 + 1)
  3260. local recip = 0.5 / s
  3261. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  3262. elseif i == 1 then
  3263. local s = math.sqrt(m11 - m22 - m00 + 1)
  3264. local recip = 0.5 / s
  3265. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  3266. elseif i == 2 then
  3267. local s = math.sqrt(m22 - m00 - m11 + 1)
  3268. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  3269. end
  3270. end
  3271. end
  3272.  
  3273. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  3274. local xs, ys, zs = x + x, y + y, z + z
  3275. local wx, wy, wz = w * xs, w * ys, w * zs
  3276. local xx = x * xs
  3277. local xy = x * ys
  3278. local xz = x * zs
  3279. local yy = y * ys
  3280. local yz = y * zs
  3281. local zz = z * zs
  3282. 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))
  3283. end
  3284.  
  3285. function QuaternionSlerp(a, b, t)
  3286. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  3287. local startInterp, finishInterp;
  3288. if cosTheta >= 0.0001 then
  3289. if (1 - cosTheta) > 0.0001 then
  3290. local theta = ACOS(cosTheta)
  3291. local invSinTheta = 1 / SIN(theta)
  3292. startInterp = SIN((1 - t) * theta) * invSinTheta
  3293. finishInterp = SIN(t * theta) * invSinTheta
  3294. else
  3295. startInterp = 1 - t
  3296. finishInterp = t
  3297. end
  3298. else
  3299. if (1 + cosTheta) > 0.0001 then
  3300. local theta = ACOS(-cosTheta)
  3301. local invSinTheta = 1 / SIN(theta)
  3302. startInterp = SIN((t - 1) * theta) * invSinTheta
  3303. finishInterp = SIN(t * theta) * invSinTheta
  3304. else
  3305. startInterp = t - 1
  3306. finishInterp = t
  3307. end
  3308. end
  3309. 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
  3310. end
  3311.  
  3312. function Clerp(a, b, t)
  3313. local qa = {QuaternionFromCFrame(a)}
  3314. local qb = {QuaternionFromCFrame(b)}
  3315. local ax, ay, az = a.x, a.y, a.z
  3316. local bx, by, bz = b.x, b.y, b.z
  3317. local _t = 1 - t
  3318. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  3319. end
  3320.  
  3321. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  3322. local frame = IT("Frame")
  3323. frame.BackgroundTransparency = TRANSPARENCY
  3324. frame.BorderSizePixel = BORDERSIZEPIXEL
  3325. frame.Position = POSITION
  3326. frame.Size = SIZE
  3327. frame.BackgroundColor3 = COLOR
  3328. frame.BorderColor3 = BORDERCOLOR
  3329. frame.Name = NAME
  3330. frame.Parent = PARENT
  3331. return frame
  3332. end
  3333.  
  3334. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  3335. local label = IT("TextLabel")
  3336. label.BackgroundTransparency = 1
  3337. label.Size = UD2(1, 0, 1, 0)
  3338. label.Position = UD2(0, 0, 0, 0)
  3339. label.TextColor3 = TEXTCOLOR
  3340. label.TextStrokeColor3 = BRICKC"Really red".Color
  3341. label.TextStrokeTransparency = STROKETRANSPARENCY
  3342. label.TextTransparency = TRANSPARENCY
  3343. label.FontSize = TEXTFONTSIZE
  3344. label.Font = TEXTFONT
  3345. label.BorderSizePixel = BORDERSIZEPIXEL
  3346. label.TextScaled = false
  3347. label.Text = TEXT
  3348. label.Name = NAME
  3349. label.Parent = PARENT
  3350. return label
  3351. end
  3352.  
  3353. function NoOutlines(PART)
  3354. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  3355. end
  3356.  
  3357. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  3358. local NEWWELD = IT(TYPE)
  3359. NEWWELD.Part0 = PART0
  3360. NEWWELD.Part1 = PART1
  3361. NEWWELD.C0 = C0
  3362. NEWWELD.C1 = C1
  3363. NEWWELD.Parent = PARENT
  3364. return NEWWELD
  3365. end
  3366.  
  3367. local S = IT("Sound")
  3368. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  3369. local NEWSOUND = nil
  3370. coroutine.resume(coroutine.create(function()
  3371. NEWSOUND = S:Clone()
  3372. NEWSOUND.Parent = PARENT
  3373. NEWSOUND.Volume = VOLUME
  3374. NEWSOUND.Pitch = PITCH
  3375. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  3376. NEWSOUND:play()
  3377. NEWSOUND.Name = "Audio"
  3378. if DOESLOOP == true then
  3379. NEWSOUND.Looped = true
  3380. else
  3381. repeat Swait() until NEWSOUND.Playing == false
  3382. NEWSOUND:remove()
  3383. end
  3384. end))
  3385. return NEWSOUND
  3386. end
  3387.  
  3388. function CFrameFromTopBack(at, top, back)
  3389. local right = top:Cross(back)
  3390. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  3391. end
  3392.  
  3393. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3394. function WACKYEFFECT(Table)
  3395. local TYPE = (Table.EffectType or "Sphere")
  3396. local SIZE = (Table.Size or VT(1,1,1))
  3397. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  3398. local TRANSPARENCY = (Table.Transparency or 0)
  3399. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  3400. local CFRAME = (Table.CFrame or Torso.CFrame)
  3401. local MOVEDIRECTION = (Table.MoveToPos or nil)
  3402. local ROTATION1 = (Table.RotationX or 0)
  3403. local ROTATION2 = (Table.RotationY or 0)
  3404. local ROTATION3 = (Table.RotationZ or 0)
  3405. local MATERIAL = (Table.Material or "Neon")
  3406. local COLOR = (Table.Color or C3(1,1,1))
  3407. local TIME = (Table.Time or 45)
  3408. local SOUNDID = (Table.SoundID or nil)
  3409. local SOUNDPITCH = (Table.SoundPitch or nil)
  3410. local SOUNDVOLUME = (Table.SoundVolume or nil)
  3411. coroutine.resume(coroutine.create(function()
  3412. local PLAYSSOUND = false
  3413. local SOUND = nil
  3414. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  3415. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  3416. PLAYSSOUND = true
  3417. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  3418. end
  3419. EFFECT.Color = COLOR
  3420. local MSH = nil
  3421. if TYPE == "Sphere" then
  3422. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  3423. elseif TYPE == "Block" then
  3424. MSH = IT("BlockMesh",EFFECT)
  3425. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  3426. elseif TYPE == "Box" then
  3427. MSH = IT("BlockMesh",EFFECT)
  3428. MSH.Scale = SIZE
  3429. elseif TYPE == "Wave" then
  3430. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  3431. elseif TYPE == "Ring" then
  3432. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  3433. elseif TYPE == "Slash" then
  3434. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  3435. elseif TYPE == "Round Slash" then
  3436. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  3437. elseif TYPE == "Swirl" then
  3438. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  3439. elseif TYPE == "Skull" then
  3440. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  3441. elseif TYPE == "Crystal" then
  3442. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  3443. end
  3444. if MSH ~= nil then
  3445. local MOVESPEED = nil
  3446. if MOVEDIRECTION ~= nil then
  3447. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  3448. end
  3449. local GROWTH = SIZE - ENDSIZE
  3450. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  3451. if TYPE == "Block" then
  3452. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  3453. else
  3454. EFFECT.CFrame = CFRAME
  3455. end
  3456. for LOOP = 1, TIME do
  3457. Swait()
  3458. MSH.Scale = MSH.Scale - GROWTH/TIME
  3459. if TYPE == "Wave" then
  3460. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  3461. end
  3462. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  3463. if TYPE == "Block" then
  3464. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  3465. else
  3466. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  3467. end
  3468. if MOVEDIRECTION ~= nil then
  3469. local ORI = EFFECT.Orientation
  3470. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  3471. EFFECT.Orientation = ORI
  3472. end
  3473. end
  3474. if PLAYSSOUND == false then
  3475. EFFECT:remove()
  3476. else
  3477. repeat Swait() until SOUND.Playing == false
  3478. EFFECT:remove()
  3479. end
  3480. else
  3481. if PLAYSSOUND == false then
  3482. EFFECT:remove()
  3483. else
  3484. repeat Swait() until SOUND.Playing == false
  3485. EFFECT:remove()
  3486. end
  3487. end
  3488. end))
  3489. end
  3490.  
  3491. function Shatter(Part)
  3492. if Part.Transparency == 0 then
  3493. local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
  3494. Debris:AddItem(SOUNDPART,5)
  3495. CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  3496. local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  3497. local SIZESET = SIZE/4
  3498. local XOffset = Part.Size.X*1.5/SIZESET
  3499. local YOffset = Part.Size.Y*1.5/SIZESET
  3500. local ZOffset = Part.Size.Z*1.5/SIZESET
  3501. for x = 1, math.ceil(XOffset) do
  3502. for y = 1, math.ceil(YOffset) do
  3503. for z = 1, math.ceil(ZOffset) do
  3504. local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  3505. SHARD.CanCollide = true
  3506. SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
  3507. SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  3508. Debris:AddItem(SHARD,MRANDOM(10,25)/3)
  3509. end
  3510. end
  3511. end
  3512. end
  3513. Part:remove()
  3514. end
  3515.  
  3516. function MakeForm(PART,TYPE)
  3517. if TYPE == "Cyl" then
  3518. local MSH = IT("CylinderMesh",PART)
  3519. elseif TYPE == "Ball" then
  3520. local MSH = IT("SpecialMesh",PART)
  3521. MSH.MeshType = "Sphere"
  3522. elseif TYPE == "Wedge" then
  3523. local MSH = IT("SpecialMesh",PART)
  3524. MSH.MeshType = "Wedge"
  3525. end
  3526. end
  3527.  
  3528. Debris = game:GetService("Debris")
  3529.  
  3530. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  3531. local DIRECTION = CF(StartPos,EndPos).lookVector
  3532. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  3533. end
  3534.  
  3535. function turnto(position)
  3536. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  3537. end
  3538.  
  3539. --//=================================\\
  3540. --|| WEAPON CREATION
  3541. --\\=================================//
  3542. --
  3543.  
  3544. local Back = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Wing", VT(1,1,0.35),false)
  3545. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Back, CF(0, 0.5, 1.2) * ANGLES(RAD(0),RAD(0),RAD(45)), CF(0, 0, 0))
  3546.  
  3547. local ANGLE = 35
  3548. for i = 1, 5 do
  3549. local Wing = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Wing", VT(0.15,2+(i/2),0.15),false)
  3550. local WingWeld = CreateWeldOrSnapOrMotor("Weld", Wing, Torso, Wing, CF(0, 1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(90)) * ANGLES(RAD(ANGLE), RAD(0), RAD(0)) * CF(0,3+(i/10),0) , CF(0, 0, 0))
  3551. local Wing2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Wing", VT(0.25,1,0.25),false)
  3552. CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing2, CF(0, 2+(i/2), 0) * ANGLES(RAD(25), RAD(0), RAD(0)), CF(0, 1, 0))
  3553. ANGLE = ANGLE - 15
  3554. table.insert(LEFTWINGS,WingWeld)
  3555. end
  3556. ANGLE = 35
  3557. for i = 1, 5 do
  3558. local Wing = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Wing", VT(0.15,2+(i/2),0.15),false)
  3559. local WingWeld = CreateWeldOrSnapOrMotor("Weld", Wing, Torso, Wing, CF(0, 1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(ANGLE), RAD(0), RAD(0)) * CF(0,3+(i/10),0) , CF(0, 0, 0))
  3560. local Wing2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Wing", VT(0.25,1,0.25),false)
  3561. CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing2, CF(0, 2+(i/2), 0) * ANGLES(RAD(25), RAD(0), RAD(0)), CF(0, 1, 0))
  3562. ANGLE = ANGLE - 15
  3563. table.insert(RIGHTWINGS,WingWeld)
  3564. end
  3565.  
  3566.  
  3567. local SKILLTEXTCOLOR = BRICKC"Really red".Color
  3568. local SKILLFONT = "SciFi"
  3569. local SKILLTEXTSIZE = 6
  3570.  
  3571. local naeeym2 = Instance.new("BillboardGui",Character)
  3572. naeeym2.AlwaysOnTop = true
  3573. naeeym2.Size = UDim2.new(5,35,2,15)
  3574. naeeym2.StudsOffset = Vector3.new(0,1.2,0)
  3575. naeeym2.Adornee = Character.Head
  3576. naeeym2.Name = "Name"
  3577. naeeym2.PlayerToHideFrom = Player
  3578. local tecks2 = Instance.new("TextLabel",naeeym2)
  3579. tecks2.BackgroundTransparency = 1
  3580. tecks2.TextScaled = true
  3581. tecks2.BorderSizePixel = 0
  3582. tecks2.Text = "Cyber warden"
  3583. tecks2.Font = SKILLFONT
  3584. tecks2.TextSize = 30
  3585. tecks2.TextStrokeTransparency = 0
  3586. tecks2.TextColor3 = C3(0,0,0)
  3587. tecks2.TextStrokeColor3 = BRICKC"Really red".Color
  3588. tecks2.Size = UDim2.new(1,0,0.5,0)
  3589. tecks2.Parent = naeeym2
  3590.  
  3591. for _, c in pairs(Character:GetChildren()) do
  3592. if c.ClassName == "Part" then
  3593. table.insert(BODY,{c,Character})
  3594. for _, q in pairs(c:GetChildren()) do
  3595. if q.ClassName == "Motor6D" or q.ClassName == "Weld" or q.ClassName == "ManualWeld" then
  3596. table.insert(BODY,{q,c})
  3597. end
  3598. end
  3599. end
  3600. end
  3601.  
  3602. function refit()
  3603. Character.Parent = workspace
  3604. for e = 1, #BODY do
  3605. if BODY[e] ~= nil then
  3606. local STUFF = BODY[e]
  3607. local PART = STUFF[1]
  3608. local PARENT = STUFF[2]
  3609. PART.Parent = PARENT
  3610. end
  3611. end
  3612. end
  3613.  
  3614. Humanoid.HealthChanged:connect(function()
  3615. Humanoid.Parent = nil
  3616. Humanoid.MaxHealth = "inf"
  3617. Humanoid.Health = "inf"
  3618. refit()
  3619. Humanoid.Parent = Character
  3620. end)
  3621.  
  3622. Humanoid.Died:connect(function()
  3623. Humanoid.Parent = nil
  3624. Humanoid.MaxHealth = "inf"
  3625. Humanoid.Health = "inf"
  3626. refit()
  3627. Humanoid.Parent = Character
  3628. end)
  3629.  
  3630. --
  3631. for i = 1, 15 do
  3632. local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/15.2, "Dark stone grey", "FaceGradient", VT(1.01,0.58,1.01),false)
  3633. FACE.Color = C3(0,0,0)
  3634. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  3635. CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/35,0), CF(0, 0, 0))
  3636. end
  3637. local HAT1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(2,0.2,2),false)
  3638. MakeForm(HAT1,"Cyl")
  3639. HATWELD = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT1, CF(0,0.35,0), CF(0, 0, 0))
  3640. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(2.01,0.15,2.01),false)
  3641. BELT.Color = C3(15/255,15/255,15/255)
  3642. MakeForm(BELT,"Cyl")
  3643. CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, BELT, CF(0,0,0), CF(0, 0, 0))
  3644. local HAT2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.3,2.2,1.3),false)
  3645. MakeForm(HAT2,"Cyl")
  3646. CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, HAT2, CF(0,1.1,0), CF(0, 0, 0))
  3647. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.2,1.31),false)
  3648. BELT.Color = C3(15/255,15/255,15/255)
  3649. MakeForm(BELT,"Cyl")
  3650. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0,0), CF(0, 0, 0))
  3651. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Gem", VT(0.25,0.25,0.1),false)
  3652. MakeForm(GEM,"Ball")
  3653. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,-BELT.Size.X/2), CF(0, 0, 0))
  3654. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Gem", VT(0.25,0.25,0.1),false)
  3655. MakeForm(GEM,"Ball")
  3656. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,BELT.Size.X/2), CF(0, 0, 0))
  3657. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Gem", VT(0.1,0.25,0.25),false)
  3658. MakeForm(GEM,"Ball")
  3659. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(-BELT.Size.X/2,0,0), CF(0, 0, 0))
  3660. local GEM = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Gem", VT(0.1,0.25,0.25),false)
  3661. MakeForm(GEM,"Ball")
  3662. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(BELT.Size.X/2,0,0), CF(0, 0, 0))
  3663. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  3664. BELT.Color = C3(15/255,15/255,15/255)
  3665. MakeForm(BELT,"Cyl")
  3666. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0.7,0), CF(0, 0, 0))
  3667. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  3668. BELT.Color = C3(15/255,15/255,15/255)
  3669. MakeForm(BELT,"Cyl")
  3670. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,-0.7,0), CF(0, 0, 0))
  3671. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  3672. BELT.Color = C3(15/255,15/255,15/255)
  3673. MakeForm(BELT,"Cyl")
  3674. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0.35,0), CF(0, 0, 0))
  3675. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.31,0.1,1.31),false)
  3676. BELT.Color = C3(15/255,15/255,15/255)
  3677. MakeForm(BELT,"Cyl")
  3678. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,-0.35,0), CF(0, 0, 0))
  3679. local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Hat", VT(1.3,0.5,1.3),false)
  3680. MakeForm(BELT,"Ball")
  3681. CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,HAT2.Size.Y/2,0), CF(0, 0, 0))
  3682. Humanoid.DisplayDistanceType = "None"
  3683. local naeeym2 = IT("BillboardGui",Character)
  3684. naeeym2.AlwaysOnTop = true
  3685. naeeym2.Size = UDim2.new(5,35,2,15)
  3686. naeeym2.StudsOffset = Vector3.new(0,3,0)
  3687. naeeym2.MaxDistance = 75
  3688. naeeym2.Adornee = Character.Head
  3689. naeeym2.Name = "Name"
  3690. naeeym2.PlayerToHideFrom = Player
  3691. local tecks2 = IT("TextLabel",naeeym2)
  3692. tecks2.BackgroundTransparency = 1
  3693. tecks2.TextScaled = true
  3694. tecks2.BorderSizePixel = 0
  3695. tecks2.Text = ""
  3696. tecks2.Font = "Bodoni"
  3697. tecks2.TextSize = 30
  3698. tecks2.TextStrokeTransparency = 0.5
  3699. tecks2.TextColor3 = C3(0,0,0)
  3700. tecks2.TextStrokeColor3 = BRICKC"Really red".Color
  3701. tecks2.Size = UDim2.new(1,0,0.5,0)
  3702. tecks2.Parent = naeeym2
  3703. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "FaceGradient", VT(0.6,0.1,1)/2,false)
  3704. MakeForm(EYE,"Ball")
  3705. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  3706. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "FaceGradient", VT(0.6,0.1,1)/2,false)
  3707. MakeForm(EYE,"Ball")
  3708. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  3709. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "FaceGradient", VT(0.1,1,1)/2,false)
  3710. MakeForm(EYE,"Ball")
  3711. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  3712. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "FaceGradient", VT(0.1,1,1)/2,false)
  3713. MakeForm(EYE,"Ball")
  3714. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  3715.  
  3716. local top = Instance.new("Shirt")
  3717. top.ShirtTemplate = "rbxassetid://676428254"
  3718. top.Parent = Character
  3719. top.Name = "Cloth"
  3720. local bottom = Instance.new("Pants")
  3721. bottom.PantsTemplate = "rbxassetid://676428351"
  3722. bottom.Parent = Character
  3723. bottom.Name = "Cloth"
  3724. for _, c in pairs(Character:GetChildren()) do
  3725. if c.ClassName == "Part" and c.Name ~= "FaceGradient" and c.Name ~= "Hat" and c.Name ~= "Gem" then
  3726. c.Material = "Neon"
  3727. if c:FindFirstChildOfClass("ParticleEmitter") then
  3728. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  3729. end
  3730. c.Color = C3(1,1,1)
  3731. if c == Head then
  3732. if c:FindFirstChild("face") then
  3733. c.face:remove()
  3734. end
  3735. end
  3736. elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
  3737. c:remove()
  3738. elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  3739. c:remove()
  3740. end
  3741. end
  3742. local BODY = {}
  3743. for _, c in pairs(Character:GetDescendants()) do
  3744. if c:IsA("BasePart") and c.Name ~= "Handle" then
  3745. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  3746. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  3747. end
  3748. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  3749. elseif c:IsA("JointInstance") then
  3750. table.insert(BODY,{c,c.Parent,nil,nil,nil})
  3751. end
  3752. end
  3753. for e = 1, #BODY do
  3754. if BODY[e] ~= nil then
  3755. local STUFF = BODY[e]
  3756. local PART = STUFF[1]
  3757. local PARENT = STUFF[2]
  3758. local MATERIAL = STUFF[3]
  3759. local COLOR = STUFF[4]
  3760. local TRANSPARENCY = STUFF[5]
  3761. if PART.ClassName == "Part" and PART ~= RootPart then
  3762. PART.Material = MATERIAL
  3763. PART.Color = COLOR
  3764. PART.Transparency = TRANSPARENCY
  3765. end
  3766. PART.AncestryChanged:Connect(function()
  3767. PART.Parent = PARENT
  3768. end)
  3769. end
  3770. end
  3771. function refit()
  3772. Character.Parent = workspace
  3773. for e = 1, #BODY do
  3774. if BODY[e] ~= nil then
  3775. local STUFF = BODY[e]
  3776. local PART = STUFF[1]
  3777. local PARENT = STUFF[2]
  3778. local MATERIAL = STUFF[3]
  3779. local COLOR = STUFF[4]
  3780. local TRANSPARENCY = STUFF[5]
  3781. if PART.ClassName == "Part" and PART ~= RootPart then
  3782. PART.Material = MATERIAL
  3783. PART.Color = COLOR
  3784. PART.Transparency = TRANSPARENCY
  3785. end
  3786. if PART.Parent ~= PARENT then
  3787. Humanoid:remove()
  3788. PART.Parent = PARENT
  3789. Humanoid = IT("Humanoid",Character)
  3790. end
  3791. end
  3792. end
  3793. end
  3794. local SKILLTEXTCOLOR = BRICKC"Really red".Color
  3795. local SKILLFONT = "Bodoni"
  3796. local SKILLTEXTSIZE = 7
  3797.  
  3798. Humanoid.Died:connect(function()
  3799. refit()
  3800. end)
  3801.  
  3802. --//=================================\\
  3803. --|| DAMAGING
  3804. --\\=================================//
  3805. -----
  3806. function ApplyAoE(POSITION,RANGE,FLING,BURN)
  3807. local CHILDREN = workspace:GetDescendants()
  3808. for index, CHILD in pairs(CHILDREN) do
  3809. if CHILD.ClassName == "Model" and CHILD ~= Character then
  3810. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3811. if HUM then
  3812. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3813. if TORSO then
  3814. if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  3815. CHILD:BreakJoints()
  3816. if FLING ~= 0 then
  3817. for _, c in pairs(CHILD:GetChildren()) do
  3818. if c:IsA("BasePart") and c.Transparency == 0 then
  3819. if BURN == true then
  3820. Fire(c)
  3821. end
  3822. local bv = Instance.new("BodyVelocity")
  3823. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3824. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  3825. bv.Parent = c
  3826. Debris:AddItem(bv,0.05)
  3827. end
  3828. end
  3829. end
  3830. end
  3831. end
  3832. end
  3833. end
  3834. end
  3835. end
  3836.  
  3837. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  3838. coroutine.resume(coroutine.create(function()
  3839. local METEOR = IT("Model",Effects)
  3840. METEOR.Name = "Meteorite"
  3841. local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  3842. METEOR.PrimaryPart = CENTER
  3843. local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  3844. PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  3845. for i = 1, 15 do
  3846. local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really black", "Fire", VT(5.1,1,5.1)*SIZE)
  3847. FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  3848. end
  3849. if ISDEBREE ~= true then
  3850. METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  3851. else
  3852. METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  3853. end
  3854. local IMPACT = false
  3855. CreateSound(463593339, CENTER, 10, 0.6)
  3856. if SIZE >= 3.5 then
  3857. for i = 1, MRANDOM(3,7) do
  3858. SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
  3859. end
  3860. end
  3861. for i = 1, 200 do
  3862. Swait()
  3863. local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  3864. if HITFLOOR == nil then
  3865. local ORI = CENTER.Orientation
  3866. METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  3867. else
  3868. if HITFLOOR.Anchored == true then
  3869.  
  3870.  
  3871. end
  3872. IMPACT = true
  3873. break
  3874. end
  3875. end
  3876. if IMPACT == true then
  3877. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  3878. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
  3879. WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  3880. ApplyAoE(CENTER.Position,30*SIZE)
  3881.  
  3882. end
  3883. METEOR:remove()
  3884. end))
  3885. end
  3886.  
  3887. function KillChildren(Char)
  3888. local NewCharacter = IT("Model",Effects)
  3889. NewCharacter.Name = "Ow im ded ;-;"
  3890. for _, c in pairs(Char:GetDescendants()) do
  3891. if c:IsA("BasePart") and c.Transparency == 0 then
  3892. if c.Parent == Char then
  3893. getbloody(c,5)
  3894. end
  3895. c:BreakJoints()
  3896. c.Material = "Glass"
  3897. c.Color = C3(0.5,0,0)
  3898. c.CanCollide = true
  3899. c.Transparency = 0.3
  3900. if c:FindFirstChildOfClass("SpecialMesh") then
  3901. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  3902. end
  3903. if c.Name == "Head" then
  3904. c:ClearAllChildren()
  3905. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  3906. end
  3907. if c.ClassName == "MeshPart" then
  3908. c.TextureID = ""
  3909. end
  3910. if c:FindFirstChildOfClass("BodyPosition") then
  3911. c:FindFirstChildOfClass("BodyPosition"):remove()
  3912. end
  3913. if c:FindFirstChildOfClass("ParticleEmitter") then
  3914. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  3915. end
  3916. c.Parent = NewCharacter
  3917. c.Name = "DeadPart"
  3918. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  3919. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  3920. end
  3921. end
  3922. Char:remove()
  3923. Debris:AddItem(NewCharacter,5)
  3924. end
  3925.  
  3926. function Kill(Char)
  3927. local NewCharacter = IT("Model",Effects)
  3928. NewCharacter.Name = "Ow im ded ;-;"
  3929. for _, c in pairs(Char:GetDescendants()) do
  3930. if c:IsA("BasePart") and c.Transparency == 0 then
  3931. if c.Parent == Char then
  3932. getbloody(c,5)
  3933. end
  3934. c:BreakJoints()
  3935. c.Material = "Glass"
  3936. c.Color = C3(0.5,0,0)
  3937. c.CanCollide = true
  3938. c.Transparency = 0.3
  3939. if c:FindFirstChildOfClass("SpecialMesh") then
  3940. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  3941. end
  3942. if c.Name == "Head" then
  3943. c:ClearAllChildren()
  3944. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  3945. end
  3946. if c.ClassName == "MeshPart" then
  3947. c.TextureID = ""
  3948. end
  3949. if c:FindFirstChildOfClass("BodyPosition") then
  3950. c:FindFirstChildOfClass("BodyPosition"):remove()
  3951. end
  3952. if c:FindFirstChildOfClass("ParticleEmitter") then
  3953. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  3954. end
  3955. c.Parent = NewCharacter
  3956. c.Name = "DeadPart"
  3957. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  3958. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  3959. end
  3960. end
  3961. Char:remove()
  3962. Debris:AddItem(NewCharacter,5)
  3963. end
  3964.  
  3965. function ApplyAoE(POSITION,RANGE,BRUTAL)
  3966. local CHILDREN = workspace:GetDescendants()
  3967. for index, CHILD in pairs(CHILDREN) do
  3968. if CHILD.ClassName == "Model" and CHILD ~= Character then
  3969. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3970. if HUM then
  3971. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3972. if TORSO then
  3973. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  3974. if BRUTAL == true then
  3975. Kill(CHILD)
  3976. else
  3977. CHILD:BreakJoints()
  3978. end
  3979. end
  3980. end
  3981. end
  3982. end
  3983. end
  3984. end
  3985.  
  3986. function BulletDetection(FROM,TO,BRUTAL)
  3987. local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
  3988. coroutine.resume(coroutine.create(function()
  3989. if AIMHIT ~= nil then
  3990. if AIMHIT.Parent ~= Character then
  3991. if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  3992. if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") then
  3993. if BRUTAL == true then
  3994. Kill(AIMHIT.Parent)
  3995. else
  3996. getbloody(AIMHIT,15)
  3997. AIMHIT.Parent:BreakJoints()
  3998. if AIMHIT.Name == "Head" then
  3999. AIMHIT.Name = "HEADSHOT"
  4000. AIMHIT:remove()
  4001. end
  4002. end
  4003. else
  4004. if BRUTAL == true then
  4005. Kill(AIMHIT.Parent.Parent)
  4006. else
  4007. AIMHIT.Parent.Parent:BreakJoints()
  4008. end
  4009. end
  4010. end
  4011. end
  4012. end
  4013. end))
  4014. SpawnTrail(FROM,AIMPOS)
  4015. return AIMHIT,AIMPOS,NORMAL
  4016. end
  4017.  
  4018. local Weapon = nil
  4019. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Really black", "BraceletPart", VT(1.01,0.3,1.01),false)
  4020. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  4021.  
  4022. function Charge(TIME,GYRO)
  4023. local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
  4024. local G = nil
  4025. if GYRO == true then
  4026. G = IT("BodyGyro",RootPart)
  4027. G.D = 250
  4028. G.P = 200000
  4029. G.MaxTorque = VT(math.huge,math.huge,math.huge)
  4030. end
  4031. for i=0, TIME, 0.1 / Animation_Speed do
  4032. Swait()
  4033. if G then
  4034. G.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4035. end
  4036. WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4037. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4038. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4039. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  4040. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  4041. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4042. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4043. end
  4044. SND:remove()
  4045. if G then
  4046. return G
  4047. end
  4048. end
  4049. -----
  4050. function ApplyAoE(POSITION,RANGE,FLING,BURN)
  4051. local CHILDREN = workspace:GetDescendants()
  4052. for index, CHILD in pairs(CHILDREN) do
  4053. if CHILD.ClassName == "Model" and CHILD ~= Character then
  4054. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  4055. if HUM then
  4056. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  4057. if TORSO then
  4058. if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  4059. CHILD:BreakJoints()
  4060. if FLING ~= 0 then
  4061. for _, c in pairs(CHILD:GetChildren()) do
  4062. if c:IsA("BasePart") and c.Transparency == 0 then
  4063. if BURN == true then
  4064. Fire(c)
  4065. end
  4066. local bv = Instance.new("BodyVelocity")
  4067. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  4068. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  4069. bv.Parent = c
  4070. Debris:AddItem(bv,0.05)
  4071. end
  4072. end
  4073. end
  4074. end
  4075. end
  4076. end
  4077. end
  4078. end
  4079. end
  4080. -----------
  4081. function killnearest(position,range,EFFECT)
  4082. for i,v in ipairs(workspace:GetChildren()) do
  4083. local body = v:GetChildren()
  4084. for part = 1, #body do
  4085. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  4086. local SIZE = body[part].Size.Magnitude
  4087. if(body[part].Position - position).Magnitude < range + SIZE/2 then
  4088. if v.ClassName == "Model" then
  4089. if v:FindFirstChildOfClass("Humanoid") ~= nil then
  4090. if v:FindFirstChildOfClass("Humanoid").Health > 0 then
  4091. v:BreakJoints()
  4092. if EFFECT == "Glitch" then
  4093. coroutine.resume(coroutine.create(function()
  4094. local ORIGINPOS = body[part].CFrame
  4095. local SIZE = body[part].Size
  4096. for i = 1, 100 do
  4097. Swait()
  4098. local PART = body[part]
  4099. PART.Anchored = true
  4100. PART.Size = SIZE*MRANDOM(5,15)/10
  4101. PART.CFrame = ORIGINPOS*CF(MRANDOM(-15,15)/15,MRANDOM(-15,15)/15,MRANDOM(-15,15)/15)
  4102. end
  4103. body[part]:remove()
  4104. end))
  4105. elseif EFFECT == "Shatter" then
  4106. for _, c in pairs(v:GetChildren()) do
  4107. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  4108. Shatter(c)
  4109. end
  4110. end
  4111. end
  4112. end
  4113. end
  4114. end
  4115. end
  4116. end
  4117. end
  4118. end
  4119. end
  4120.  
  4121. --//=================================\\
  4122. --|| ATTACK FUNCTIONS AND STUFF
  4123. --\\=================================//
  4124. ---
  4125.  
  4126. function Corrupted_Immobilization()
  4127. ATTACK = true
  4128. Rooted = true
  4129. Charge(2,false)
  4130.  
  4131. local SND = CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  4132. local SND2 = CreateSound(ENERGYSOUND,RootPart,10,1,false)
  4133. for i = 1, 60 do
  4134. Swait()
  4135. ApplyAoE(RootPart.Position,i*1.3,10,20,-200,true)
  4136. SND.Pitch = SND.Pitch - 1/60
  4137. SND2.Pitch = SND.Pitch
  4138. WACKYEFFECT({TIME = 4, EffectType = "Wave", Size = VT(i*2,10,i*2), Size2 = VT(i*2,10,i*2), Transparency = 0.9, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4139. WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,10,0), Size2 = VT(i*2,6,i*2), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4140. WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,6,0), Size2 = VT(i*1.6,10,i*1.6), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(i*5), RAD(MRANDOM(-5,5))), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4141. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  4142. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4143. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(-45), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4144. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(45), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4145. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  4146. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  4147. end
  4148. SND:remove()
  4149. SND2:remove()
  4150. ATTACK = false
  4151. Rooted = false
  4152. end
  4153.  
  4154. local OFFSET = 0
  4155. local TAUNT = false
  4156.  
  4157. function Taunt()
  4158. ATTACK = true
  4159. Rooted = false
  4160. TAUNT = true
  4161. for i=0, 0.1, 0.1 / Animation_Speed do
  4162. Swait()
  4163. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4164. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  4165. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  4166. end
  4167. for i=0, 3, 0.1 / Animation_Speed do
  4168. Swait()
  4169. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4170. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  4171. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  4172. end
  4173. CreateSound(363808674, Torso, 10, 1.3)
  4174. for i=0, 1, 0.1 / Animation_Speed do
  4175. Swait()
  4176. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
  4177. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
  4178. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  4179. end
  4180. WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BrickColor.new("Really black").Color, SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  4181.  
  4182. for i=0, 0.01, 0.1 / Animation_Speed do
  4183. Swait()
  4184. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
  4185. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
  4186. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  4187. end
  4188. ATTACK = false
  4189. Rooted = false
  4190. TAUNT = false
  4191. end
  4192.  
  4193.  
  4194. function nahid_Blast()
  4195. local HITBODIES = {}
  4196. local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Relly red", "CenterPart", VT(0,0,0))
  4197. local HITFLOOR,ECH,NORMAL = Raycast(Mouse.Hit.p+VT(0,2,0), (CF(Mouse.Hit.p, Mouse.Hit.p + VT(0, -1, 0))).lookVector, 10000000, Character)
  4198. CENTER.CFrame = CF(ECH)
  4199. local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Laser01", VT(25,99999,25))
  4200. RAY.Color = C3(255,0,0)
  4201. MakeForm(RAY,"Cyl")
  4202. RAY.CFrame = CF(ECH)
  4203. for i = 1, 75 do
  4204. Swait()
  4205. RAY.Transparency = RAY.Transparency - 1/75
  4206. RAY.Size = RAY.Size - VT(25/75,0,25/75)
  4207. MagicSphere(VT(1,1,1),15,CF(ECH)*CF(MRANDOM(-15,15),MRANDOM(0,100),MRANDOM(-15,15)),C3(1,1,1),VT(0,0,0))
  4208. end
  4209. killnearest(ECH,25,25)
  4210. MagicSphere(VT(0,0,0),55,CF(ECH),C3(255,0,0),VT(2,2,2))
  4211. for i = 1, 25 do
  4212. MagicSphere(VT(1,1,1),i*3,CF(ECH)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(1,1,1),VT(0,0,0))
  4213. end
  4214. CreateSound("168586621", CENTER, 10, 0.8)
  4215. RAY:remove()
  4216. Debris:AddItem(CENTER,5)
  4217. end
  4218.  
  4219.  
  4220. function Supernahid()
  4221.  
  4222. if HITFLOOR ~= nil then
  4223. local HITBODIES = {}
  4224. ATTACK = true
  4225. Rooted = true
  4226. local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Star", VT(0,0,0))
  4227. MakeForm(ABSOLUTE,"Ball")
  4228. CreateSound("429459101", ABSOLUTE, 10, 1)
  4229. for i=0, 4, 0.1 / Animation_Speed do
  4230. Swait()
  4231. ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
  4232. ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  4233. ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  4234. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Star", VT(1,1,1))
  4235. MakeForm(CHARGE,"Ball")
  4236. CHARGE.Color = C3(1,1,1)
  4237. CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  4238. FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  4239. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4240. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4241. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4242. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4243. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4244. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4245. end
  4246. CreateSound("907330103", Head, 10, 1.2)
  4247. for i = 1, 75 do
  4248. Swait()
  4249. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4250. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4251. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4252. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4253. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4254. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4255. end
  4256. coroutine.resume(coroutine.create(function()
  4257. for i = 1, 13 do
  4258. for e = 1, 8 do
  4259. Swait()
  4260. MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(1,1,1),VT(0,0,0))
  4261. CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Slime green".Color,VT(i,0.3,i)*2)
  4262. end
  4263. for i = 1, 5 do
  4264. Slice("Round",0,35,CF(ABSOLUTE.Position)*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),C3(1,1,1),VT(i,0,i)/3)
  4265. Slice("Thin",i,55,ABSOLUTE.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),C3(1,0,0),VT(0,0,0))
  4266. end
  4267. CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Relly red".Color,VT(i,i*2,i))
  4268. CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(255,0,0),VT(i,i*2,i))
  4269. CreateSound("168586621", ABSOLUTE, 4, 0.8)
  4270. CreateSound("201858144", ABSOLUTE, 10, 0.8)
  4271. killnearest(ABSOLUTE.Position,i*18,i)
  4272. ABSOLUTE.Size = ABSOLUTE.Size*0.9
  4273. MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly red".Color,VT(i,i,i)/1.1)
  4274. MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(255,0,0),VT(i,i,i))
  4275. end
  4276. ABSOLUTE.Transparency = 1
  4277. Debris:AddItem(ABSOLUTE,10)
  4278. end))
  4279. ATTACK = false
  4280. Rooted = false
  4281. end
  4282. end
  4283.  
  4284. local Decal = IT("Decal")
  4285.  
  4286. function cyber_warden()
  4287. ATTACK = true
  4288. Rooted = false
  4289. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  4290. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(0),RAD(0))
  4291. local decal = Decal:Clone()
  4292. decal.Parent = O1
  4293. decal.Face = "Top"
  4294. decal.Texture = "http://www.roblox.com/asset/?id=818983932"
  4295. local decal2 = Decal:Clone()
  4296. decal2.Parent = O1
  4297. decal2.Face = "Bottom"
  4298. decal2.Texture = "http://www.roblox.com/asset/?id=818983932"
  4299. local O2 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  4300. local POS = VT(RootPart.Position.X,Mouse.Hit.p.Y+6,RootPart.Position.Z)
  4301. O2.CFrame = CF(Mouse.Hit.p+VT(0,6,0),POS)*ANGLES(RAD(90),RAD(0),RAD(0))
  4302. local ROOT = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  4303. ROOT.CFrame = CF(O2.Position,RootPart.Position)
  4304. local decal = Decal:Clone()
  4305. decal.Parent = O2
  4306. decal.Face = "Top"
  4307. decal.Texture = "http://www.roblox.com/asset/?id=818983932"
  4308. local decal2 = Decal:Clone()
  4309. decal2.Parent = O2
  4310. decal2.Face = "Bottom"
  4311. decal2.Texture = "http://www.roblox.com/asset/?id=818983932"
  4312. CreateSound("84005018", O1, 10, 0.7)
  4313. CreateSound("84005018", O2, 10, 0.7)
  4314. for i = 1, 75 do
  4315. Swait()
  4316. O1.Size = O1.Size + VT(0.1,0,0.1)
  4317. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(i),RAD(0))
  4318. O2.Size = O2.Size + VT(0.1,0,0.1)
  4319. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  4320. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4321. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4322. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4323. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4324. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4325. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4326. end
  4327. Rooted = true
  4328. UNANCHOR = false
  4329. RootPart.Anchored = true
  4330. VALUE1 = true
  4331. for i = 1, 15 do
  4332.  
  4333. Swait()
  4334. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.13)
  4335. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4336. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4337. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4338. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4339. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4340. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4341. end
  4342. RootPart.CFrame = ROOT.CFrame
  4343. ROOT:remove()
  4344. for i = 1, 15 do
  4345.  
  4346. Swait()
  4347. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.5)
  4348. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4349. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  4350. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4351. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4352. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4353. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4354. end
  4355. VALUE1 = false
  4356. coroutine.resume(coroutine.create(function()
  4357. for i = 1, 75 do
  4358. Swait()
  4359. O1.Size = O1.Size - VT(0.1,0,0.1)
  4360. O1.CFrame = O1.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  4361. O2.Size = O2.Size - VT(0.1,0,0.1)
  4362. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  4363. end
  4364. O1:remove()
  4365. O2:remove()
  4366. end))
  4367. UNANCHOR = true
  4368. RootPart.Anchored = false
  4369. ATTACK = false
  4370. Rooted = false
  4371. end
  4372. ---
  4373. function Cyber_Warden_Zap()
  4374. ATTACK = true
  4375. Rooted = false
  4376. local GYRO = IT("BodyGyro",RootPart)
  4377. GYRO.D = 750
  4378. GYRO.P = 20000
  4379. GYRO.MaxTorque = VT(0,40000000,0)
  4380. CreateSound(348663022,RightArm,1.5,2,false)
  4381. Pose("Cast1",0.8,1,true,GYRO)
  4382. local LightningTable = Lightning({Color = SKILLTEXTCOLOR, Start = RightArm.CFrame*CF(0,-1,0).p, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.2, DoesFade = true, Ignore = Character, MaxDist = 100, Branches = false})
  4383. local Hitpos = LightningTable.End
  4384. ApplyAoE(Hitpos,10,35)
  4385. for i = 1, 4 do
  4386. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,45,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4387. end
  4388. Pose("Cast1",0.8,1,true)
  4389. GYRO:remove()
  4390. ATTACK = false
  4391. Rooted = false
  4392. end
  4393.  
  4394. function Warden_Thunder()
  4395. ATTACK = true
  4396. Rooted = false
  4397. local GYRO = IT("BodyGyro",RootPart)
  4398. GYRO.D = 750
  4399. GYRO.P = 20000
  4400. GYRO.MaxTorque = VT(0,40000000,0)
  4401. CreateSound(469345336,Torso,3,2,false)
  4402. Pose("Cast2",1.5,2,true,GYRO)
  4403. coroutine.resume(coroutine.create(function()
  4404. local FRAME = RootPart.CFrame
  4405. for i = 1, 25 do
  4406. local POS = FRAME*CF(MRANDOM(-17,17),0,-i*15)
  4407. local LightningTable = Lightning({Color = SKILLTEXTCOLOR, Start = POS*CF(0,85,0).p, End = POS*CF(0,-15,0).p, SegmentL = 3, Thickness = 0.4, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = true})
  4408. local Hitpos = LightningTable.End
  4409. ApplyAoE(Hitpos,20,15)
  4410. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(1,1,1)*15, Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = BOLTSOUNDS[MRANDOM(1,#BOLTSOUNDS)], SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  4411. for i = 1, 4 do
  4412. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(0,75,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hitpos)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4413. end
  4414. wait(0.05)
  4415. end
  4416. end))
  4417. Pose("Cast2",1.5,0.7,true)
  4418. GYRO:remove()
  4419. ATTACK = false
  4420. Rooted = false
  4421. end
  4422.  
  4423. function Inferno_Ring()
  4424. ATTACK = true
  4425. Rooted = false
  4426. local GYRO = IT("BodyGyro",RootPart)
  4427. GYRO.D = 750
  4428. GYRO.P = 20000
  4429. GYRO.MaxTorque = VT(0,40000000,0)
  4430. local FIRE = IT("Model",Effects)
  4431. FIRE.Name = "Fire"
  4432. local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "Center", VT(0,0,0))
  4433. FIRE.PrimaryPart = MAIN
  4434. local FIRES = {}
  4435. for i = 1, 45 do
  4436. local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "RingPart", VT(3,3,3))
  4437. PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,20)
  4438. local F = Fire(PRT)
  4439. table.insert(FIRES,F)
  4440. end
  4441. repeat
  4442. FIRE:SetPrimaryPartCFrame(CF(Mouse.Hit.p))
  4443. Pose("Cast1",1.5,0.01,false,GYRO)
  4444. until HOLD == true
  4445. coroutine.resume(coroutine.create(function()
  4446. for i = 1, 4 do
  4447. ApplyAoE(MAIN.Position,21,-15,true)
  4448. CreateSound(463598785,MAIN,3,1,false)
  4449. for E = 1, #FIRES do
  4450. if FIRES[E] ~= nil then
  4451. FIRES[E].Acceleration = VT(0,300,0)
  4452. FIRES[E].Lifetime=NumberRange.new(0.35,1.5)
  4453. end
  4454. end
  4455. wait(0.3)
  4456. end
  4457. for E = 1, #FIRES do
  4458. if FIRES[E] ~= nil then
  4459. FIRES[E].Enabled = false
  4460. end
  4461. end
  4462. Debris:AddItem(FIRE,5)
  4463. end))
  4464. CreateSound(215395388,RightArm,3,2,false)
  4465. Pose("RightArmUp",1.5,0.5,true)
  4466. GYRO:remove()
  4467. ATTACK = false
  4468. Rooted = false
  4469. end
  4470.  
  4471. function Warden_Wall()
  4472. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8, Character)
  4473. if HITFLOOR ~= nil then
  4474. if HITFLOOR.Anchored == true then
  4475. local WALL = HITFLOOR:Clone()
  4476. WALL.Size = VT(45,45,5)
  4477. WALL.Parent = Effects
  4478. WALL.Name = "Wall"
  4479. WALL.CFrame = RootPart.CFrame*CF(0,-65/2.1,-5)*ANGLES(RAD(-15),RAD(0),RAD(0))
  4480. CreateSound(130972023,WALL,5,0.8,false)
  4481. ATTACK = true
  4482. Rooted = true
  4483. local HIT = WALL.Touched:Connect(function(hit)
  4484. if hit.Parent ~= Character then
  4485. hit:BreakJoints()
  4486. end
  4487. end)
  4488. coroutine.resume(coroutine.create(function()
  4489. WACKYEFFECT({Time = 35, EffectType = "Box", Size = WALL.Size, Size2 = WALL.Size*2, Transparency = 0, Transparency2 = 1, CFrame = WALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4490. for i = 1, 90 do
  4491. Swait()
  4492. WALL.CFrame = WALL.CFrame*CF(0,0.5,0)
  4493. end
  4494. HIT:disconnect()
  4495. wait(5)
  4496. for i = 1, 46 do
  4497. Swait()
  4498. WALL.CFrame = WALL.CFrame*CF(0,-1,0)
  4499. end
  4500. WALL:remove()
  4501. end))
  4502. Pose("RightArmUp",1.5,1.2,true)
  4503. ATTACK = false
  4504. Rooted = false
  4505. end
  4506. end
  4507. end
  4508.  
  4509. function Prison_Key()
  4510. if Mouse.Target ~= nil then
  4511. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  4512. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  4513. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  4514. local GYRO = IT("BodyGyro",RootPart)
  4515. GYRO.D = 750
  4516. GYRO.P = 20000
  4517. GYRO.MaxTorque = VT(0,40000000,0)
  4518. local grav = Instance.new("BodyPosition",TORSO)
  4519. grav.D = 15
  4520. grav.P = 20000
  4521. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  4522. grav.position = TORSO.Position
  4523. local GYRO2 = IT("BodyGyro",TORSO)
  4524. GYRO2.D = 750
  4525. GYRO2.P = 20000
  4526. GYRO2.MaxTorque = VT(0,40000000,0)
  4527. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  4528. grav.Name = "Jail"
  4529. local LOCKPARTS = {}
  4530. ATTACK = true
  4531. Rooted = false
  4532. local LOCK = IT("Model",Effects)
  4533. LOCK.Name = "Lock"
  4534. local LOCK2 = IT("Model",LOCK)
  4535. LOCK2.Name = "Metal"
  4536. --CREATE LOCK--
  4537. local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 2.5, 1))
  4538. LOCK.PrimaryPart = BASE
  4539. BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
  4540. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 1, 3))
  4541. PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
  4542. MakeForm(PRT,"Cyl")
  4543. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
  4544. PRT.Color = C3(0,0,0)
  4545. PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
  4546. MakeForm(PRT,"Cyl")
  4547. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
  4548. PRT.Color = C3(0,0,0)
  4549. PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
  4550. for i = 1, 45 do
  4551. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  4552. PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
  4553. end
  4554. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  4555. PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
  4556. LOCK2.PrimaryPart = PRT
  4557. ---------------
  4558. local CHILDREN = LOCK:GetDescendants()
  4559. for index, CHILD in pairs(CHILDREN) do
  4560. if CHILD:IsA("BasePart") then
  4561. CHILD.Transparency = 1
  4562. end
  4563. end
  4564. for i = 1, 75 do
  4565. LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
  4566. Swait()
  4567. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  4568. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  4569. local CHILDREN = LOCK:GetDescendants()
  4570. for index, CHILD in pairs(CHILDREN) do
  4571. if CHILD:IsA("BasePart") then
  4572. CHILD.Transparency = CHILD.Transparency - 1/75
  4573. end
  4574. end
  4575. end
  4576. HUM.DisplayDistanceType = "None"
  4577. local KEY = IT("Model",Effects)
  4578. KEY.Name = "Key"
  4579. --CREATE KEY--
  4580. local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "KeyBase", VT(0.1, 1, 0.1),false)
  4581. KEY.PrimaryPart = KBASE
  4582. KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
  4583. local WLD = weldBetween(RightArm,KBASE)
  4584. for i = 1, 45 do
  4585. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.1, 0.1, 0.1),false)
  4586. PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
  4587. weldBetween(KBASE,PRT)
  4588. end
  4589. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.3, 0.1, 0.1),false)
  4590. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
  4591. weldBetween(KBASE,PRT)
  4592. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.3, 0.1, 0.1),false)
  4593. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
  4594. weldBetween(KBASE,PRT)
  4595. --------------
  4596. Rooted = true
  4597. Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
  4598. coroutine.resume(coroutine.create(function()
  4599. for i = 1, 10 do
  4600. Swait()
  4601. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  4602. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  4603. end
  4604. CreateSound(1149318312,BASE,5,1,false)
  4605. CreateSound(160772554,BASE,3,1,false)
  4606. LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
  4607. for i = 1, 4 do
  4608. WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4609. end
  4610. WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  4611. wait(1)
  4612. TORSO.Parent.Parent = LOCK
  4613. for i = 1, 75 do
  4614. Swait()
  4615. local CHILDREN = KEY:GetDescendants()
  4616. for index, CHILD in pairs(CHILDREN) do
  4617. if CHILD:IsA("BasePart") then
  4618. CHILD.Transparency = i/25
  4619. end
  4620. end
  4621. local CHILDREN = LOCK:GetDescendants()
  4622. for index, CHILD in pairs(CHILDREN) do
  4623. if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
  4624. CHILD.Transparency = CHILD.Transparency + 1/75
  4625. elseif CHILD.ClassName == "Decal" then
  4626. CHILD.Transparency = CHILD.Transparency + 1/75
  4627. end
  4628. end
  4629. end
  4630. TORSO.Parent:ClearAllChildren()
  4631. KEY:remove()
  4632. LOCK:remove()
  4633. end))
  4634. Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
  4635. GYRO:remove()
  4636. ATTACK = false
  4637. Rooted = false
  4638. end
  4639. end
  4640. end
  4641.  
  4642. function hat_taunt()
  4643. ATTACK = true
  4644. Rooted = false
  4645. Pose("Taunt",0.4,1.2,false)
  4646. ATTACK = false
  4647. Rooted = false
  4648. end
  4649.  
  4650. --
  4651. function CyberOutburst()
  4652. if HITFLOOR ~= nil then
  4653. ATTACK = true
  4654. Rooted = true
  4655. for i=0, 2, 0.1 / Animation_Speed do
  4656. Swait()
  4657. WACKYEFFECT({EffectType = "Box", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0), MoveToPos = Torso.Position, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4658. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4659. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4660. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4661. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4662. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4663. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4664. end
  4665. for i=0, 2, 0.1 / Animation_Speed do
  4666. Swait()
  4667. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4668. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4669. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4670. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4671. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4672. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4673. end
  4674. WACKYEFFECT({EffectType = "Block", Size = VT(1,1,1), Size2 = VT(25,25,25), Transparency = 0.25, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 0.6, SoundVolume = 6})
  4675. WACKYEFFECT({EffectType = "Block", Size = VT(1,1,1), Size2 = VT(35,35,35), Transparency = 0.5, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 178452241, SoundPitch = 0.8, SoundVolume = 4})
  4676. WACKYEFFECT({EffectType = "Block", Size = VT(1,1,1), Size2 = VT(40,40,40), Transparency = 0.75, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 178452241, SoundPitch = 1, SoundVolume = 2})
  4677. for i=0, 0.4, 0.1 / Animation_Speed do
  4678. Swait()
  4679. killnearest(Torso.Position,45,"Glitch")
  4680. WACKYEFFECT({Time = 75, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = Torso.CFrame*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4681. WACKYEFFECT({Time = 45, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(10,10,10), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = CF(HITPOS)*ANGLES(RAD(0),RAD(MRANDOM(-180,180)),RAD(0))*CF(0,0,55).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4682. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4683. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4684. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4685. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4686. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(20.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4687. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(20.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4688. end
  4689. ATTACK = false
  4690. Rooted = false
  4691. end
  4692. end
  4693.  
  4694. function Technobeam()
  4695. ATTACK = true
  4696. Rooted = false
  4697. local GYRO = IT("BodyGyro",RootPart)
  4698. GYRO.D = 100
  4699. GYRO.P = 2000
  4700. GYRO.MaxTorque = VT(0,4000000,0)
  4701. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4702. CreateSound("93724183", RightArm, 5, 1, false)
  4703. for i=1, 35 do
  4704. Swait()
  4705. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  4706. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4707. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  4708. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4709. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4710. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4711. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4712. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4713. end
  4714. local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Lazer", VT(0,0,0))
  4715. local LOOP = CreateSound("415700134", RightArm, 5, 1, false)
  4716. local TOCH = BEAM.Touched:Connect(function(hit)
  4717. if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  4718. Shatter(hit)
  4719. end
  4720. end)
  4721. local I = 0
  4722. repeat
  4723. Swait()
  4724. I = I + 1
  4725. if I <= 10 then
  4726. BEAM.Transparency = BEAM.Transparency - 0.1
  4727. end
  4728. local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
  4729. local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
  4730. local DISTANCE = (STARTPOS - ENDPOS).Magnitude
  4731. BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
  4732. BEAM.Size = VT(2,2,DISTANCE)
  4733. WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4734. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  4735. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  4736. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4737. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  4738. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4739. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4740. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4741. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4742. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4743. if ENDHIT ~= nil then
  4744. if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
  4745. Shatter(ENDHIT)
  4746. end
  4747. end
  4748. until LOOP.Playing == false
  4749. GYRO:remove()
  4750. BEAM:remove()
  4751. ATTACK = false
  4752. Rooted = false
  4753. end
  4754.  
  4755. function Technowarp()
  4756. local FRAME = RootPart.Position
  4757. for i = 1, 6 do
  4758. WACKYEFFECT({Time = 15, EffectType = "Box", Size = VT(2,0,2), Size2 = VT(0,35,0), Transparency = 0.5, Transparency2 = 0.5, CFrame = CF(Torso.Position)*ANGLES(RAD(0),RAD(i*(360/5)),RAD(0))*CF(6,0,0), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 1177785010, SoundPitch = 1, SoundVolume = 2})
  4759. end
  4760. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0),VT(FRAME.X,RootPart.Position.Y,FRAME.Z))
  4761. for i = 1, 6 do
  4762. WACKYEFFECT({Time = 15, EffectType = "Box", Size = VT(2,0,2), Size2 = VT(0,35,0), Transparency = 0.5, Transparency2 = 0.5, CFrame = CF(Torso.Position)*ANGLES(RAD(0),RAD(i*(360/5)),RAD(0))*CF(6,0,0), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 1177785010, SoundPitch = 1, SoundVolume = 2})
  4763. end
  4764. end
  4765.  
  4766. function CyberWarden_Smash()
  4767. ATTACK = true
  4768. Rooted = false
  4769. local GYRO = IT("BodyGyro",RootPart)
  4770. GYRO.D = 100
  4771. GYRO.P = 2000
  4772. GYRO.MaxTorque = VT(0,4000000,0)
  4773. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4774. local SMASH = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Block", VT(25,25,25))
  4775. SMASH.CanCollide = true
  4776. SMASH.Color = C3(0,0,0)
  4777. local EF = Instance.new("SelectionBox",SMASH)
  4778. EF.Adornee = SMASH
  4779. EF.Color = BrickColor.new("Really red")
  4780. EF.LineThickness = 0.2
  4781. EF.Transparency = 1
  4782. coroutine.resume(coroutine.create(function()
  4783. for i = 1, 20 do
  4784. Swait()
  4785. SMASH.Transparency = SMASH.Transparency - 0.05
  4786. EF.Transparency = SMASH.Transparency
  4787. end
  4788. end))
  4789. repeat
  4790. SMASH.CFrame = CF(Mouse.Hit.p)*CF(0,35,0)
  4791. Swait()
  4792. GYRO.cframe = CF(RootPart.Position,SMASH.Position)
  4793. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  4794. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4795. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(130), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4796. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4797. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4798. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4799. until HOLD == true and SMASH.Transparency < 0.99
  4800. for i = 1, 25 do
  4801. Swait()
  4802. SMASH.CFrame = SMASH.CFrame*CF(0,15/25,0)
  4803. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  4804. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4805. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4806. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4807. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4808. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4809. end
  4810. local TOCH = SMASH.Touched:Connect(function(hit)
  4811. if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  4812. Shatter(hit)
  4813. end
  4814. end)
  4815. local n0 = nil
  4816. local HITFLOOR,HITPOS = Raycast(SMASH.Position, (CF(SMASH.Position, SMASH.Position + VT(0, -1, 0))).lookVector, 25000, Character)
  4817. if HITFLOOR ~= nil then
  4818. if HITFLOOR.Anchored == false and HITFLOOR.Parent ~= workspace then
  4819. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") or HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  4820. if HITFLOOR.Parent.ClassName == "Model" then
  4821. HITFLOOR.Parent:BreakJoints()
  4822. elseif HITFLOOR.Parent.Parent.ClassName == "Model" then
  4823. HITFLOOR.Parent.Parent:BreakJoints()
  4824. end
  4825. end
  4826. local POS = HITPOS
  4827. n0,HITPOS = Raycast(POS, (CF(POS, POS + VT(0, -1, 0))).lookVector, 25000, HITFLOOR.Parent)
  4828. end
  4829. end
  4830. killnearest(HITPOS,SMASH.Size.X/1.3,"Shatter")
  4831. SMASH.CFrame = CF(HITPOS+VT(0,SMASH.Size.Y/2,0))
  4832. WACKYEFFECT({Time = 25, EffectType = "Box", Size = VT(24,0,24), Size2 = VT(75,2,75), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 130972023, SoundPitch = 1, SoundVolume = 10})
  4833. for i = 1, 25 do
  4834. Swait()
  4835. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  4836. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  4837. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(30), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4838. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4839. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4840. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4841. end
  4842. coroutine.resume(coroutine.create(function()
  4843. wait(0.2)
  4844. TOCH:disconnect()
  4845. wait(1.8)
  4846. for i = 1, 100 do
  4847. Swait()
  4848. SMASH.Transparency = i/100
  4849. end
  4850. for i = 1, 10 do
  4851. Swait()
  4852. EF.Transparency = EF.Transparency + 0.1
  4853. end
  4854. SMASH:remove()
  4855. end))
  4856. GYRO:remove()
  4857. ATTACK = false
  4858. Rooted = false
  4859. end
  4860.  
  4861. --//=================================\\
  4862. --|| oof
  4863. --\\=================================//
  4864. -------
  4865. function Cyber_Warden_Wall()
  4866. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8, Character)
  4867. if HITFLOOR ~= nil then
  4868. if HITFLOOR.Anchored == true then
  4869. local WALL = HITFLOOR:Clone()
  4870. WALL.Size = VT(45,45,5)
  4871. WALL.Parent = Effects
  4872. WALL.Name = "Wall"
  4873. WALL.CFrame = RootPart.CFrame*CF(0,-65/2.1,-5)*ANGLES(RAD(-15),RAD(0),RAD(0))
  4874. CreateSound(130972023,WALL,5,0.8,false)
  4875. ATTACK = true
  4876. Rooted = true
  4877. local HIT = WALL.Touched:Connect(function(hit)
  4878. if hit.Parent ~= Character then
  4879. hit:BreakJoints()
  4880. end
  4881. end)
  4882. coroutine.resume(coroutine.create(function()
  4883. WACKYEFFECT({Time = 35, EffectType = "Box", Size = WALL.Size, Size2 = WALL.Size*2, Transparency = 0, Transparency2 = 1, CFrame = WALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Lavender".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4884. for i = 1, 90 do
  4885. Swait()
  4886. WALL.CFrame = WALL.CFrame*CF(0,0.5,0)
  4887. end
  4888. HIT:disconnect()
  4889. wait(5)
  4890. for i = 1, 46 do
  4891. Swait()
  4892. WALL.CFrame = WALL.CFrame*CF(0,-1,0)
  4893. end
  4894. WALL:remove()
  4895. end))
  4896. Pose("RightArmUp",1.5,1.2,true)
  4897. ATTACK = false
  4898. Rooted = false
  4899. end
  4900. end
  4901. end
  4902.  
  4903. function Prison_Key()
  4904. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  4905. PLAYMAINANIM = false
  4906. if WhichPose == "Cast1" then
  4907. for i=0, Time, 0.1 / Animation_Speed do
  4908. Swait()
  4909. if Magic == true then
  4910. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4911. end
  4912. if Gyro ~= nil and Gyro ~= false then
  4913. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4914. end
  4915. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  4916. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  4917. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4918. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4919. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4920. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  4921. end
  4922. elseif WhichPose == "Cast2" then
  4923. for i=0, Time, 0.1 / Animation_Speed do
  4924. Swait()
  4925. if Magic == true then
  4926. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4927. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4928. end
  4929. if Gyro ~= nil and Gyro ~= false then
  4930. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4931. end
  4932. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  4933. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  4934. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4935. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4936. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4937. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  4938. end
  4939. elseif WhichPose == "RightArmUp" then
  4940. for i=0, Time, 0.1 / Animation_Speed do
  4941. Swait()
  4942. if Magic == true then
  4943. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  4944. end
  4945. if Gyro ~= nil and Gyro ~= false then
  4946. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  4947. end
  4948. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  4949. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4950. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4951. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4952. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4953. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  4954. end
  4955. elseif WhichPose == "Taunt" then
  4956. for i=0, Time, 0.1 / Animation_Speed do
  4957. Swait()
  4958. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  4959. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  4960. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4961. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4962. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4963. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  4964. end
  4965. HATWELD.Part0 = RightArm
  4966. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  4967. CreateSound(221057812,Torso,10,1,false)
  4968. for i=0, Time*2, 0.1 / Animation_Speed do
  4969. Swait()
  4970. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  4971. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  4972. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4973. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4974. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4975. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  4976. end
  4977. for i=0, Time, 0.1 / Animation_Speed do
  4978. Swait()
  4979. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  4980. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  4981. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4982. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4983. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  4984. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  4985. HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  4986. end
  4987. HATWELD.Part0 = Head
  4988. HATWELD.C0 = CF(0,0.35,0)
  4989. elseif WhichPose == "Prepare key" then
  4990. for i=0, Time, 0.1 / Animation_Speed do
  4991. Swait()
  4992. if Gyro ~= nil and Gyro ~= false then
  4993. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  4994. end
  4995. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  4996. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  4997. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  4998. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  4999. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  5000. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  5001. end
  5002. elseif WhichPose == "Turn key" then
  5003. for i=0, Time, 0.1 / Animation_Speed do
  5004. Swait()
  5005. if Gyro ~= nil and Gyro ~= false then
  5006. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  5007. end
  5008. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  5009. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  5010. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  5011. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  5012. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  5013. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  5014. end
  5015. end
  5016. PLAYMAINANIM = true
  5017. end
  5018. if Mouse.Target ~= nil then
  5019. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  5020. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  5021. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  5022. local GYRO = IT("BodyGyro",RootPart)
  5023. GYRO.D = 750
  5024. GYRO.P = 20000
  5025. GYRO.MaxTorque = VT(0,40000000,0)
  5026. local grav = Instance.new("BodyPosition",TORSO)
  5027. grav.D = 15
  5028. grav.P = 20000
  5029. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  5030. grav.position = TORSO.Position
  5031. local GYRO2 = IT("BodyGyro",TORSO)
  5032. GYRO2.D = 750
  5033. GYRO2.P = 20000
  5034. GYRO2.MaxTorque = VT(0,40000000,0)
  5035. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  5036. grav.Name = "Jail"
  5037. local LOCKPARTS = {}
  5038. ATTACK = true
  5039. Rooted = false
  5040. local LOCK = IT("Model",Effects)
  5041. LOCK.Name = "Lock"
  5042. local LOCK2 = IT("Model",LOCK)
  5043. LOCK2.Name = "Metal"
  5044. --CREATE LOCK--
  5045. local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 2.5, 1))
  5046. LOCK.PrimaryPart = BASE
  5047. BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
  5048. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 1, 3))
  5049. PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
  5050. MakeForm(PRT,"Cyl")
  5051. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
  5052. PRT.Color = C3(0,0,0)
  5053. PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
  5054. MakeForm(PRT,"Cyl")
  5055. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
  5056. PRT.Color = C3(0,0,0)
  5057. PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
  5058. for i = 1, 45 do
  5059. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  5060. PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
  5061. end
  5062. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  5063. PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
  5064. LOCK2.PrimaryPart = PRT
  5065. ---------------
  5066. local CHILDREN = LOCK:GetDescendants()
  5067. for index, CHILD in pairs(CHILDREN) do
  5068. if CHILD:IsA("BasePart") then
  5069. CHILD.Transparency = 1
  5070. end
  5071. end
  5072. for i = 1, 75 do
  5073. LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
  5074. Swait()
  5075. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  5076. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  5077. local CHILDREN = LOCK:GetDescendants()
  5078. for index, CHILD in pairs(CHILDREN) do
  5079. if CHILD:IsA("BasePart") then
  5080. CHILD.Transparency = CHILD.Transparency - 1/75
  5081. end
  5082. end
  5083. end
  5084. HUM.DisplayDistanceType = "None"
  5085. local KEY = IT("Model",Effects)
  5086. KEY.Name = "Key"
  5087. --CREATE KEY--
  5088. local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "KeyBase", VT(0.1, 1, 0.1),false)
  5089. KEY.PrimaryPart = KBASE
  5090. KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
  5091. local WLD = weldBetween(RightArm,KBASE)
  5092. for i = 1, 45 do
  5093. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.1, 0.1, 0.1),false)
  5094. PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
  5095. weldBetween(KBASE,PRT)
  5096. end
  5097. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.3, 0.1, 0.1),false)
  5098. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
  5099. weldBetween(KBASE,PRT)
  5100. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really black", "Key", VT(0.3, 0.1, 0.1),false)
  5101. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
  5102. weldBetween(KBASE,PRT)
  5103. --------------
  5104. Rooted = true
  5105. Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
  5106. coroutine.resume(coroutine.create(function()
  5107. for i = 1, 10 do
  5108. Swait()
  5109. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  5110. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  5111. end
  5112. CreateSound(1149318312,BASE,5,1,false)
  5113. CreateSound(160772554,BASE,3,1,false)
  5114. LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
  5115. for i = 1, 4 do
  5116. WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  5117. end
  5118. WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  5119. wait(1)
  5120. TORSO.Parent.Parent = LOCK
  5121. for i = 1, 75 do
  5122. Swait()
  5123. local CHILDREN = KEY:GetDescendants()
  5124. for index, CHILD in pairs(CHILDREN) do
  5125. if CHILD:IsA("BasePart") then
  5126. CHILD.Transparency = i/25
  5127. end
  5128. end
  5129. local CHILDREN = LOCK:GetDescendants()
  5130. for index, CHILD in pairs(CHILDREN) do
  5131. if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
  5132. CHILD.Transparency = CHILD.Transparency + 1/75
  5133. elseif CHILD.ClassName == "Decal" then
  5134. CHILD.Transparency = CHILD.Transparency + 1/75
  5135. end
  5136. end
  5137. end
  5138. TORSO.Parent:ClearAllChildren()
  5139. KEY:remove()
  5140. LOCK:remove()
  5141. end))
  5142. Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
  5143. GYRO:remove()
  5144. ATTACK = false
  5145. Rooted = false
  5146. end
  5147. end
  5148. end
  5149.  
  5150.  
  5151. function SpawnSmite(POS)
  5152. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  5153. local EMITPOS = HITPOS
  5154. if HITFLOOR ~= nil then
  5155. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  5156. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  5157. EMITPOS = HITPOS
  5158. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  5159. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  5160. EMITPOS = HITPOS
  5161. end
  5162. end
  5163. if HITFLOOR ~= nil then
  5164. ApplyAoE(EMITPOS,10)
  5165. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  5166. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  5167. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  5168. for i = 1, 5 do
  5169. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  5170. WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  5171. end
  5172. end
  5173. end
  5174.  
  5175.  
  5176. function Teleport()
  5177. ATTACK = true
  5178. Rooted = false
  5179. for i=0, 0.5, 0.1 / Animation_Speed do
  5180. Swait()
  5181. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5182. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  5183. end
  5184. for e = 1, #BODY do
  5185. if BODY[e] ~= nil then
  5186. local STUFF = BODY[e]
  5187. local PART = STUFF[1]
  5188. if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  5189. local PRT = PART:Clone()
  5190. PRT.Anchored = true
  5191. PRT.CanCollide = false
  5192. PRT.Material = "Neon"
  5193. PRT.Color = C3(0,0,0)
  5194. PRT.Name = "WarpEffect"
  5195. PRT.Parent = Effects
  5196. PRT.CFrame = PART.CFrame
  5197. PRT:BreakJoints()
  5198. if PRT:FindFirstChildOfClass("Sound") then
  5199. PRT:FindFirstChildOfClass("Sound"):remove()
  5200. end
  5201. if PRT:FindFirstChildOfClass("Decal") then
  5202. PRT:FindFirstChildOfClass("Decal"):remove()
  5203. end
  5204. coroutine.resume(coroutine.create(function()
  5205. for i = 1, 100 do
  5206. Swait()
  5207. PRT.Transparency = PRT.Transparency + 1/100
  5208. end
  5209. PRT:remove()
  5210. end))
  5211. end
  5212. end
  5213. end
  5214. CreateSound(217767125, Torso, 10, 1)
  5215. local POS = RootPart.Orientation
  5216. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  5217. RootPart.Orientation = POS
  5218. RootJoint.Parent = RootPart
  5219. for i=0, 0.5, 0.1 / Animation_Speed do
  5220. Swait()
  5221. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5222. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  5223. end
  5224. for i=0, 0.1, 0.1 / Animation_Speed do
  5225. Swait()
  5226. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  5227. end
  5228. ATTACK = false
  5229. Rooted = false
  5230. end
  5231.  
  5232. function Equivalent_Pain()
  5233. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  5234. if HITFLOOR then
  5235. ATTACK = true
  5236. Rooted = true
  5237. FULL = true
  5238. local GYRO = IT("BodyGyro",RootPart)
  5239. GYRO.D = 25
  5240. GYRO.P = 20000
  5241. GYRO.MaxTorque = VT(0,math.huge,0)
  5242. for i=0, 0.3, 0.1 / Animation_Speed do
  5243. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  5244. Swait()
  5245. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5246. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5247. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5248. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5249. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-35)), 1 / Animation_Speed)
  5250. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
  5251. end
  5252. GYRO:remove()
  5253. CreateSound(12222200, RightArm, 10, 1)
  5254. for i=0, 0.4, 0.1 / Animation_Speed do
  5255. Swait()
  5256. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  5257. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5258. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  5259. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  5260. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  5261. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5262. end
  5263. CreateSound(289842971, RightArm, 10, 1)
  5264. coroutine.resume(coroutine.create(function()
  5265. local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
  5266. local ECHO = POS
  5267. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  5268. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  5269. ECHO = POS
  5270. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  5271. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  5272. ECHO = POS
  5273. end
  5274. if ECHO.Y == HITPOS.Y then
  5275. local DISTANCE = (HITPOS - ECHO).Magnitude/3
  5276. local CFRAME = CF(HITPOS,ECHO)
  5277. local RANGE = math.ceil(DISTANCE)
  5278. for i = 1, RANGE-1 do
  5279. Swait(3)
  5280. local A = CFRAME*CF(0,0,-i*3)
  5281. ApplyAoE(A.p,4)
  5282. CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
  5283. end
  5284. local SIZE = 3
  5285. local POS = CFRAME*CF(0,0,-RANGE*3).p
  5286. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
  5287. WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  5288. WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  5289. for i = 1, 9 do
  5290. WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  5291. end
  5292. for i = 1, 9 do
  5293. WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  5294. end
  5295. ApplyAoE(POS,30*SIZE)
  5296. CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
  5297. CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
  5298. end
  5299. end))
  5300. for i=0, 0.6, 0.1 / Animation_Speed do
  5301. Swait()
  5302. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  5303. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5304. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  5305. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  5306. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  5307. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5308. end
  5309. FULL = false
  5310. ATTACK = false
  5311. Rooted = false
  5312. end
  5313. end
  5314.  
  5315. -------
  5316. local LAUGHS = {"907329532"}
  5317.  
  5318. local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
  5319. MakeForm(RightHole,"Cyl")
  5320. local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
  5321. MakeForm(LeftHole,"Cyl")
  5322.  
  5323. function getbloody(victim,amount)
  5324. local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  5325. PART.CFrame = victim.CFrame
  5326. local HITPLAYERSOUNDS = {"356551938","264486467"}
  5327. Debris:AddItem(PART,5)
  5328. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  5329. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  5330. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  5331. local prtcl = asd:Clone()
  5332. prtcl.Parent = PART
  5333. prtcl:Emit(amount*10)
  5334. end
  5335.  
  5336. function Kill(Char)
  5337. local NewCharacter = IT("Model",Effects)
  5338. NewCharacter.Name = "Ow im ded ;-;"
  5339. for _, c in pairs(Char:GetDescendants()) do
  5340. if c:IsA("BasePart") and c.Transparency == 0 then
  5341. if c.Parent == Char then
  5342. getbloody(c,5)
  5343. end
  5344. c:BreakJoints()
  5345. c.Material = "Glass"
  5346. c.Color = C3(0.5,0,0)
  5347. c.CanCollide = true
  5348. c.Transparency = 0.3
  5349. if c:FindFirstChildOfClass("SpecialMesh") then
  5350. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  5351. end
  5352. if c.Name == "Head" then
  5353. c:ClearAllChildren()
  5354. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  5355. end
  5356. if c.ClassName == "MeshPart" then
  5357. c.TextureID = ""
  5358. end
  5359. if c:FindFirstChildOfClass("BodyPosition") then
  5360. c:FindFirstChildOfClass("BodyPosition"):remove()
  5361. end
  5362. if c:FindFirstChildOfClass("ParticleEmitter") then
  5363. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  5364. end
  5365. c.Parent = NewCharacter
  5366. c.Name = "DeadPart"
  5367. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  5368. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  5369. end
  5370. end
  5371. Char:remove()
  5372. Debris:AddItem(NewCharacter,5)
  5373. end
  5374.  
  5375. function Banisher_Bullet()
  5376. ATTACK = true
  5377. Rooted = false
  5378. for i=0, 0.05, 0.1 / Animation_Speed do
  5379. Swait()
  5380. turnto(Mouse.Hit.p)
  5381. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  5382. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  5383. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  5384. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  5385. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  5386. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  5387. end
  5388. repeat
  5389. for i=0, 0.05, 0.1 / Animation_Speed do
  5390. Swait()
  5391. turnto(Mouse.Hit.p)
  5392. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  5393. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  5394. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  5395. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  5396. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  5397. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  5398. end
  5399. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  5400. SpawnTrail(Hole.Position,POS)
  5401. if HIT ~= nil then
  5402. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  5403. Banish(HIT.Parent)
  5404. end
  5405. end
  5406. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  5407. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(255,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  5408. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(255,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  5409. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(255,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  5410. for i=0, 0.05, 0.1 / Animation_Speed do
  5411. Swait()
  5412. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  5413. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  5414. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(130), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  5415. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  5416. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  5417. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  5418. end
  5419. until KEYHOLD == false
  5420. ATTACK = false
  5421. Rooted = false
  5422. end
  5423. function Teleport()
  5424. ATTACK = true
  5425. Rooted = false
  5426. for i=0, 0.5, 0.1 / Animation_Speed do
  5427. Swait()
  5428. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5429. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  5430. end
  5431. for e = 1, #BODY do
  5432. if BODY[e] ~= nil then
  5433. local STUFF = BODY[e]
  5434. local PART = STUFF[1]
  5435. if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  5436. local PRT = PART:Clone()
  5437. PRT.Anchored = true
  5438. PRT.CanCollide = false
  5439. PRT.Material = "Neon"
  5440. PRT.Color = C3(255,0,0)
  5441. PRT.Name = "WarpEffect"
  5442. PRT.Parent = Effects
  5443. PRT.CFrame = PART.CFrame
  5444. PRT:BreakJoints()
  5445. if PRT:FindFirstChildOfClass("Sound") then
  5446. PRT:FindFirstChildOfClass("Sound"):remove()
  5447. end
  5448. if PRT:FindFirstChildOfClass("Decal") then
  5449. PRT:FindFirstChildOfClass("Decal"):remove()
  5450. end
  5451. coroutine.resume(coroutine.create(function()
  5452. for i = 1, 100 do
  5453. Swait()
  5454. PRT.Transparency = PRT.Transparency + 1/100
  5455. end
  5456. PRT:remove()
  5457. end))
  5458. end
  5459. end
  5460. end
  5461. CreateSound(217767125, Torso, 10, 1)
  5462. local POS = RootPart.Orientation
  5463. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  5464. RootPart.Orientation = POS
  5465. RootJoint.Parent = RootPart
  5466. for i=0, 0.5, 0.1 / Animation_Speed do
  5467. Swait()
  5468. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5469. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  5470. end
  5471. for i=0, 0.1, 0.1 / Animation_Speed do
  5472. Swait()
  5473. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  5474. end
  5475. ATTACK = false
  5476. Rooted = false
  5477. end
  5478.  
  5479. function BanishmentBeam()
  5480. ATTACK = true
  5481. Rooted = false
  5482. local GYRO = IT("BodyGyro",RootPart)
  5483. GYRO.D = 100
  5484. GYRO.P = 2000
  5485. GYRO.MaxTorque = VT(0,4000000,0)
  5486. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  5487. CreateSound("93724183", RightArm, 5, 1, false)
  5488. for i=1, 35 do
  5489. Swait()
  5490. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-5,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  5491. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  5492. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  5493. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  5494. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5495. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5496. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5497. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5498. end
  5499. local BEAM = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Lazer", VT(0,0,0))
  5500. local LOOP = CreateSound("415700134", RightArm, 5, 1, false)
  5501. local TOCH = BEAM.Touched:Connect(function(hit)
  5502. if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  5503. Kill(hit)
  5504. end
  5505. end)
  5506. local I = 0
  5507. repeat
  5508. Swait()
  5509. I = I + 1
  5510. if I <= 10 then
  5511. BEAM.Transparency = BEAM.Transparency - 0.1
  5512. end
  5513. local STARTPOS = RightArm.CFrame*CF(0,-4,0).p
  5514. local ENDHIT,ENDPOS = CastProperRay(STARTPOS,Mouse.Hit.p,650,Character)
  5515. local DISTANCE = (STARTPOS - ENDPOS).Magnitude
  5516. BEAM.CFrame = CF(STARTPOS,ENDPOS)*CF(0,0,-DISTANCE/2)*ANGLES(RAD(0),RAD(0),RAD(I*5))
  5517. BEAM.Size = VT(2,2,DISTANCE)
  5518. WACKYEFFECT({Time = 5, EffectType = "Box", Size = VT(1,1,1), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(ENDPOS), MoveToPos = CF(ENDPOS)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,15,0).p, RotationX = MRANDOM(-5,5), RotationY = MRANDOM(-5,5), RotationZ = MRANDOM(-5,5), Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  5519. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = RightArm.CFrame*CF(0,-4,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  5520. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(5,5,5), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.25, CFrame = CF(ENDPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.6, SoundVolume = 6})
  5521. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  5522. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  5523. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  5524. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(90), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5525. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5526. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5527. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5528. if ENDHIT ~= nil then
  5529. if ENDHIT.Anchored == false and ENDHIT.Parent ~= Effects then
  5530. Banish(ENDHIT)
  5531. end
  5532. end
  5533. until LOOP.Playing == false
  5534. GYRO:remove()
  5535. BEAM:remove()
  5536. ATTACK = false
  5537. Rooted = false
  5538. end
  5539. ---
  5540. function Melee()
  5541. ATTACK = true
  5542. BLADE.CanCollide = true
  5543. Rooted = false
  5544. EQUIPPED = true
  5545. local HIT = function()
  5546. local HITS = {}
  5547. local TOUCH = BLADE.Touched:Connect(function(hit)
  5548. if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent ~= Character then
  5549. local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
  5550. local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
  5551. if TORSO and HUM.Health > 0 then
  5552. local PASS = true
  5553. for i = 1, #HITS do
  5554. if HITS[i] == hit.Parent then
  5555. PASS = false
  5556. end
  5557. end
  5558. table.insert(HITS,hit.Parent)
  5559. if PASS == true then
  5560. ApplyDamage(HUM,MRANDOM(15,25))
  5561. end
  5562. end
  5563. end
  5564. end)
  5565. return TOUCH
  5566. end
  5567. if COMBO == 1 then
  5568. for i=0, 0.35, 0.1 / Animation_Speed do
  5569. Swait()
  5570. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5571. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  5572. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5573. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5574. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5575. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5576. BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  5577. end
  5578. CreateSound(1489705211,BLADE,MRANDOM(7,8),MRANDOM(8,13)/12,false)
  5579. local TOUCHED = HIT()
  5580. for i=0, 0.5, 0.1 / Animation_Speed do
  5581. Swait()
  5582. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
  5583. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 0.9 / Animation_Speed)
  5584. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.8, 0.5, -0.7) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(15), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
  5585. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5586. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5587. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5588. BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  5589. end
  5590. TOUCHED:Disconnect()
  5591. COMBO = 2
  5592. elseif COMBO == 2 then
  5593. for i=0, 0.35, 0.1 / Animation_Speed do
  5594. Swait()
  5595. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  5596. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  5597. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(160), RAD(0), RAD(-5)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5598. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5599. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5600. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5601. BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  5602. end
  5603. CreateSound(1489705211,BLADE,MRANDOM(7,8),MRANDOM(8,13)/12,false)
  5604. local TOUCHED = HIT()
  5605. for i=0, 0.35, 0.1 / Animation_Speed do
  5606. Swait()
  5607. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  5608. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.8 / Animation_Speed)
  5609. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.25, -0.5) * ANGLES(RAD(85), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5610. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5611. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5612. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5613. BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
  5614. end
  5615. TOUCHED:Disconnect()
  5616. for i=0, 0.2, 0.1 / Animation_Speed do
  5617. Swait()
  5618. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  5619. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.8 / Animation_Speed)
  5620. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.25, -0.5) * ANGLES(RAD(85), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5621. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5622. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5623. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5624. BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame*CF(4,0.3,0) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.4)
  5625. end
  5626. COMBO = 1
  5627. end
  5628. coroutine.resume(coroutine.create(function()
  5629. for i = 1, 50 do
  5630. Swait()
  5631. if ATTACK == true then
  5632. break
  5633. end
  5634. end
  5635. if ATTACK == false then
  5636. COMBO = 1
  5637. end
  5638. end))
  5639. BLADE.CanCollide = false
  5640. ATTACK = false
  5641. Rooted = false
  5642. EQUIPPED = false
  5643. end
  5644. function AbyssalShriek()
  5645. if ANIM ~= "Fall" and ANIM ~= "Jump" then
  5646. ATTACK = true
  5647. Rooted = true
  5648. for i=0, 0.2, 0.1 / Animation_Speed do
  5649. Swait()
  5650. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  5651. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5652. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5653. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5654. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5655. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
  5656. end
  5657. coroutine.resume(coroutine.create(function()
  5658. repeat
  5659. Swait()
  5660. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  5661. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
  5662. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5663. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5664. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
  5665. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
  5666. until ATTACK == false
  5667. end))
  5668. WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position+VT(0,1.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 15})
  5669. CreateSound(130792236,Head,5,1,false)
  5670. for i = 1, 60 do
  5671. Swait()
  5672. ApplyAoE(RootPart.Position,17,1,1,0,false)
  5673. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
  5674. if HITFLOOR then
  5675. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(20,1,20), Size2 = VT(25+MRANDOM(0,8),7,25+MRANDOM(0,8)), Transparency = 0.95, Transparency2 = 1, CFrame = CF(HITPOS)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  5676. end
  5677. local SIZE = VT(1,3,1)
  5678. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = SIZE*MRANDOM(10,65)/10, Transparency = 0.5, Transparency2 = 1, CFrame = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,MRANDOM(1,17),MRANDOM(0,12)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 5})
  5679. end
  5680. wait(0.2)
  5681. ATTACK = false
  5682. Rooted = false
  5683. end
  5684. end
  5685. function AbyssalDash()
  5686. ATTACK = true
  5687. Rooted = true
  5688. UNANCHOR = false
  5689. for i=0, 0.4, 0.1 / Animation_Speed do
  5690. Swait()
  5691. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  5692. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5693. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5694. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5695. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5696. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
  5697. end
  5698. CreateSound(1177785010,Torso,2,1,false)
  5699. CreateSound(971125740,Torso,5,1,false)
  5700. WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 331666014, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5701. for index, CHILD in pairs(Character:GetChildren()) do
  5702. if CHILD:IsA("BasePart") then
  5703. CHILD.Transparency = CHILD.Transparency + 1
  5704. elseif CHILD:IsA("Accessory") then
  5705. CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1
  5706. end
  5707. end
  5708. local HITS = {}
  5709. for i=0, 1, 0.1 / Animation_Speed do
  5710. Swait()
  5711. for index, CHILD in pairs(workspace:GetDescendants()) do
  5712. if CHILD.ClassName == "Model" and CHILD ~= Character then
  5713. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  5714. if HUM then
  5715. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  5716. if TORSO then
  5717. if (TORSO.Position - RootPart.Position).Magnitude <= 25 then
  5718. local PASS = true
  5719. for E = 1, #HITS do
  5720. if HITS[E] == CHILD then
  5721. PASS = false
  5722. end
  5723. end
  5724. if PASS == true then
  5725. local DMG = MRANDOM(25,45)
  5726.  
  5727. table.insert(HITS,CHILD)
  5728. end
  5729. end
  5730. end
  5731. end
  5732. end
  5733. end
  5734. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(25,0,25), Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame*CF(0,0,-6) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 50})
  5735. for i = 1, 2 do
  5736. RootPart.CFrame = RootPart.CFrame*CF(0,0,-1)
  5737. CharacterFade(C3(0,0,0),25,R_RANDOM(Torso.CFrame,1.25).p)
  5738. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(65), RAD(0), RAD(0)), 1 / Animation_Speed)
  5739. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5740. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(-25), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5741. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(-25), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5742. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5743. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5744. end
  5745. end
  5746. for index, CHILD in pairs(Character:GetChildren()) do
  5747. if CHILD:IsA("BasePart") then
  5748. CHILD.Transparency = CHILD.Transparency - 1
  5749. elseif CHILD:IsA("Accessory") then
  5750. CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1
  5751. end
  5752. end
  5753. for i=1, 25 do
  5754. Swait()
  5755. RootPart.CFrame = RootPart.CFrame*CF(0,0,-((25-i)/25))
  5756. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  5757. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5758. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5759. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5760. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-45)), 1 / Animation_Speed)
  5761. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-25), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5762. end
  5763. UNANCHOR = true
  5764. ATTACK = false
  5765. Rooted = false
  5766. end
  5767.  
  5768. function BlackBlast()
  5769. if ANIM ~= "Fall" and ANIM ~= "Jump" then
  5770. ATTACK = true
  5771. Rooted = true
  5772. local GYRO = IT("BodyGyro",RootPart)
  5773. GYRO.D = 25
  5774. GYRO.P = 20000
  5775. GYRO.MaxTorque = VT(0,4000000,0)
  5776. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  5777. CreateSound(429459101,Torso,5,1.5,false)
  5778. local GYROING = true
  5779. coroutine.resume(coroutine.create(function()
  5780. repeat
  5781. Swait()
  5782. GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  5783. until GYROING == false
  5784. GYRO:Remove()
  5785. end))
  5786. for i=0, 1, 0.1 / Animation_Speed do
  5787. Swait()
  5788. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  5789. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5790. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5791. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5792. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5793. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
  5794. end
  5795. for i = 1, 13 do
  5796. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(i,0,i)*2, Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame*CF(0,0,7.5-i) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 50})
  5797. end
  5798. CreateSound(1368637781,Torso,5,1.5,false)
  5799. WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(12,12,12), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 331666014, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5800. for index, CHILD in pairs(Character:GetChildren()) do
  5801. if CHILD:IsA("BasePart") then
  5802. CHILD.Transparency = CHILD.Transparency + 1
  5803. elseif CHILD:IsA("Accessory") then
  5804. CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1
  5805. end
  5806. end
  5807. GYROING = false
  5808. coroutine.resume(coroutine.create(function()
  5809. coroutine.resume(coroutine.create(function()
  5810. for i=1, 25 do
  5811. Swait()
  5812. RootPart.CFrame = RootPart.CFrame*CF(0,0,(25-i)/25)
  5813. end
  5814. end))
  5815. repeat
  5816. Swait()
  5817. CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
  5818. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  5819. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
  5820. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5821. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5822. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
  5823. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
  5824. until ATTACK == false
  5825. end))
  5826. coroutine.resume(coroutine.create(function()
  5827. local BULLETCFRAME = RootPart.CFrame
  5828. local EXPLODED = false
  5829. coroutine.resume(coroutine.create(function()
  5830. repeat
  5831. Swait()
  5832. WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(10,10,10), Transparency = 0.3, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5833. WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(25,25,25), Transparency = 0.8, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5834. until EXPLODED == true
  5835. end))
  5836. for i=1, 50 do
  5837. Swait()
  5838. BULLETCFRAME = BULLETCFRAME*CF(0,0,-((50-i)/15))
  5839. local RAY,HIT,NORM = Raycast(BULLETCFRAME.p,BULLETCFRAME.lookVector,7,Character)
  5840. if RAY then
  5841. ApplyAoE(BULLETCFRAME.p,25,12,54,350,false)
  5842. WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(160,0,160), Transparency = 0.6, Transparency2 = 1, CFrame = CF(HIT,HIT+NORM) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 765590102, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 10})
  5843. break
  5844. end
  5845. end
  5846. wait(0.5)
  5847. WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(75,75,75), Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 0.7, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5848. WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(50,50,50), Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 1, SoundVolume = 10, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5849. for E = 1, 3 do
  5850. for i = 1, 5 do
  5851. WACKYEFFECT({Time = 50, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/2, Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  5852. end
  5853. end
  5854. ApplyAoE(BULLETCFRAME.p,125,25,75,250,false)
  5855. EXPLODED = true
  5856. for i = 1, 15 do
  5857. Swait()
  5858. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(160,0,160), Transparency = 0.6, Transparency2 = 1, CFrame = BULLETCFRAME * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  5859. end
  5860. end))
  5861. wait(0.5)
  5862. for index, CHILD in pairs(Character:GetChildren()) do
  5863. if CHILD:IsA("BasePart") then
  5864. CHILD.Transparency = CHILD.Transparency - 1
  5865. elseif CHILD:IsA("Accessory") then
  5866. CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1
  5867. end
  5868. end
  5869. ATTACK = false
  5870. Rooted = false
  5871. end
  5872. end
  5873. function NightmareFall()
  5874. if ANIM ~= "Fall" and ANIM ~= "Jump" and DAMAGEMULTIPLIER == 1 then
  5875. ATTACK = true
  5876. Rooted = true
  5877. EQUIPPED = true
  5878. CreateSound(1466932232,Head,10,1,false)
  5879. for i=0, 2, 0.1 / Animation_Speed do
  5880. Swait()
  5881. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  5882. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5883. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.4 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(120), RAD(0), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  5884. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5885. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5886. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5887.  
  5888. end
  5889. for i=0, 2, 0.1 / Animation_Speed do
  5890. Swait()
  5891. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  5892. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  5893. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.15 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(140), RAD(0), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  5894. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5895. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5896. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5897.  
  5898. end
  5899. local SIZE = 0
  5900. local POS = RootPart.Position+VT(0,150,0)
  5901. local BLOWN = false
  5902. coroutine.resume(coroutine.create(function()
  5903. coroutine.resume(coroutine.create(function()
  5904. repeat
  5905. Swait()
  5906. if SIZE > 0 then
  5907. WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(SIZE,SIZE,SIZE)*2.5, Transparency = 0.3, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5908. WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(SIZE,SIZE,SIZE)*3, Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5909. end
  5910. until BLOWN == true
  5911. end))
  5912. repeat
  5913. Swait()
  5914. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(12), RAD(25)), 1 / Animation_Speed)
  5915. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(-15)), 1 / Animation_Speed)
  5916. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(180), RAD(15), RAD(17)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  5917. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  5918. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  5919. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  5920.  
  5921. until ATTACK == false
  5922. end))
  5923. wait(0.2)
  5924. for i = 1, 15 do
  5925. wait(MRANDOM(2,6)/45)
  5926. coroutine.resume(coroutine.create(function()
  5927. local CFRAME = CF(BLADE.Position,POS) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-90,90)))
  5928. local HEIGHT = 45/5
  5929. local DISTANCE = (BLADE.Position - POS).Magnitude
  5930. for i = 1, 45 do
  5931. Swait()
  5932. CFRAME = CFRAME * CF(0,(HEIGHT-(i/2.575))/45,-DISTANCE/45)
  5933. WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0.3, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 0})
  5934. end
  5935. SIZE = SIZE + 1
  5936. end))
  5937. end
  5938. wait(2.5)
  5939. BLOWN = true
  5940. WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(150,50,150), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 0.4, SoundVolume = 10, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  5941. for E = 1, 5 do
  5942. for i = 1, 5 do
  5943. WACKYEFFECT({Time = 50+(E*4), EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/2, Transparency = 0, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  5944. end
  5945. end
  5946. CreateSound(288641686,Effects,5,1,false)
  5947. CreateSound(592877506,Effects,5,1,false)
  5948. local HITS = {}
  5949. for index, CHILD in pairs(workspace:GetDescendants()) do
  5950. if CHILD.ClassName == "Model" and CHILD ~= Character then
  5951. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  5952. if HUM then
  5953. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  5954. if TORSO then
  5955. if (TORSO.Position - RootPart.Position).Magnitude <= 175 then
  5956. local PASS = true
  5957. for E = 1, #HITS do
  5958. if HITS[E] == CHILD then
  5959. PASS = false
  5960. end
  5961. end
  5962. if PASS == true then
  5963. table.insert(HITS,CHILD)
  5964. end
  5965. end
  5966. end
  5967. end
  5968. end
  5969. end
  5970. if #HITS > 0 then
  5971. local DONE = false
  5972. local HUMS = {}
  5973. coroutine.resume(coroutine.create(function()
  5974. for E = 1, #HITS do
  5975. local HUM = HITS[E]:FindFirstChildOfClass("Humanoid")
  5976. table.insert(HUMS,HUM)
  5977. local TORSO = HITS[E]:FindFirstChild("Torso") or HITS[E]:FindFirstChild("UpperTorso")
  5978. local grav = Instance.new("BodyPosition",TORSO)
  5979. grav.D = 850
  5980. grav.P = 4000
  5981. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  5982. grav.Position = TORSO.Position+VT(0,35,0)
  5983. CreateSound(592877506,TORSO,5,0.5,false)
  5984. if TORSO then
  5985. coroutine.resume(coroutine.create(function()
  5986. local B = IT("Attachment",TORSO)
  5987. local ChainLink = IT("Beam",Torso)
  5988. ChainLink.Texture = "rbxassetid://73042633"
  5989. ChainLink.Color = ColorSequence.new(C3(0,0,0))
  5990. ChainLink.TextureSpeed = -1
  5991. ChainLink.FaceCamera = true
  5992. ChainLink.Width0 = 3
  5993. ChainLink.Width1 = 3
  5994. ChainLink.TextureLength = 3
  5995. ChainLink.Attachment0 = A
  5996. ChainLink.Attachment1 = B
  5997. ChainLink.CurveSize0 = 0
  5998. ChainLink.CurveSize1 = 0
  5999. ChainLink.FaceCamera = true
  6000. ChainLink.TextureMode = "Static"
  6001. ChainLink.Transparency = NumberSequence.new(0)
  6002. repeat
  6003. Swait()
  6004. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(2,2,2)*TORSO.Size.Z, Size2 = VT(0,0,0), Transparency = 0.6, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 35})
  6005. until DONE == true or HUM.Health < 1
  6006. B:Remove()
  6007. ChainLink:Remove()
  6008. grav:Remove()
  6009. if HUM.Health < 1 then
  6010. for E = 1, 2 do
  6011. for i = 1, 3 do
  6012. WACKYEFFECT({Time = 15, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/6, Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  6013. end
  6014. end
  6015. WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(2,2,2)*TORSO.Size.Z, Size2 = VT(6,6,6)*TORSO.Size.Z, Transparency = 0.6, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 160772554, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
  6016. for _, c in pairs(HITS[E]:GetChildren()) do
  6017. if c:IsA("BasePart") or c:IsA("Accessory") then
  6018. c:remove()
  6019. end
  6020. end
  6021. local BONES = {
  6022. Skull = {MeshId = 36869983,Size = VT(0.7,0.7,0.7)},
  6023. Ribs = {MeshId = 546760032,Size = VT(2.18, 1.884, 1.105)}
  6024. }
  6025. local SELECTABLEBONES = {
  6026. {MeshId = 546760045,Size = VT(0.468, 1.12, 0.346)},
  6027. {MeshId = 546760042,Size = VT(0.366, 0.991, 0.365)},
  6028. {MeshId = 546760029,Size = VT(0.441, 0.799, 0.347)},
  6029. {MeshId = 546760030,Size = VT(0.605, 0.843, 0.4)}
  6030. }
  6031. for i = 1, 9 do
  6032. local CHOSENPIECE = nil
  6033. if i == 1 then
  6034. CHOSENPIECE = BONES.Skull
  6035. elseif i == 2 then
  6036. CHOSENPIECE = BONES.Ribs
  6037. else
  6038. CHOSENPIECE = SELECTABLEBONES[MRANDOM(1,#SELECTABLEBONES)]
  6039. end
  6040. local BONE = CreatePart(3, HITS[E], "Neon", 0, 0, BRICKC("Salmon"), "RIP", CHOSENPIECE.Size, false)
  6041. BONE.CanCollide = true
  6042. BONE.CFrame = TORSO.CFrame*CF(MRANDOM(-10,10)/30,MRANDOM(-10,10)/30,MRANDOM(-10,10)/30)
  6043. if CHOSENPIECE.MeshId == 36869983 then
  6044. CreateMesh("SpecialMesh", BONE, "FileMesh", CHOSENPIECE.MeshId, "", VT(1,1,1)/1.5, VT(0,0,0))
  6045. else
  6046. CreateMesh("SpecialMesh", BONE, "FileMesh", CHOSENPIECE.MeshId, "", VT(1,1,1), VT(0,0,0))
  6047. end
  6048. end
  6049. end
  6050. end))
  6051. end
  6052. end
  6053. wait(1)
  6054. for i = 1, 250 do
  6055. Swait()
  6056. for E = 1, #HUMS do
  6057. if HUMS[E] then
  6058. if HUMS[E].Health > 0 then
  6059. HUMS[E].Health = HUMS[E].Health - 0.3
  6060. DAMAGEMULTIPLIER = DAMAGEMULTIPLIER + 0.0025
  6061. WACKYEFFECT({Time = 10, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(1.5,0,1.5)/20, Transparency = 0.9, Transparency2 = 1, CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
  6062. end
  6063. end
  6064. end
  6065. end
  6066. local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0, 0, 0, 0), UD2(1, 0, 1, 0), C3(0,0,0), C3(0, 0, 0), "OWEXTRADAMAGE")
  6067. local SKILLTEXT = CreateLabel(SKILLFRAME, "!You have increased damage!", SKILLTEXTCOLOR, SKILLTEXTSIZE2, SKILLFONT, 1, 2, 1, "AAAA")
  6068. coroutine.resume(coroutine.create(function()
  6069. CreateSound(743521450,Cam,5,0.6,false)
  6070. for E = 1, 75 do
  6071. Swait()
  6072. SKILLTEXT.TextTransparency = SKILLTEXT.TextTransparency - 1/75
  6073. end
  6074. wait(4)
  6075. for E = 1, 25 do
  6076. Swait()
  6077. SKILLTEXT.TextTransparency = SKILLTEXT.TextTransparency + 1/25
  6078. end
  6079. SKILLFRAME:Remove()
  6080. end))
  6081. DONE = true
  6082. for i = 1, 50 do
  6083. wait(0.5)
  6084. for i = 1, 3 do
  6085. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(DAMAGEMULTIPLIER-1,0.1,DAMAGEMULTIPLIER-1)*1.5, Transparency = 0.6, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.25,0).p) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 22})
  6086. end
  6087. end
  6088. DAMAGEMULTIPLIER = 1
  6089. end))
  6090. wait(0.2)
  6091. end
  6092. wait(0.4)
  6093. EQUIPPED = false
  6094. ATTACK = false
  6095. Rooted = false
  6096. end
  6097. end
  6098. function Laugh()
  6099. ATTACK = true
  6100. Rooted = true
  6101. CreateSound(1466932232,Head,10,1,false)
  6102. for i=0, 0.5, 0.1 / Animation_Speed do
  6103. Swait()
  6104. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  6105. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  6106. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.6 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  6107. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.45 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  6108. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  6109. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  6110. end
  6111. for i=1, 185 do
  6112. Swait()
  6113. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  6114. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1 + 0.05 * SIN(SINE/2)) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  6115. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.55 + 0.15 * SIN(SINE/2), -0.7) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  6116. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.4 + 0.15 * SIN(SINE/2), -0.6) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  6117. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  6118. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  6119. end
  6120. for i=1, 185 do
  6121. Swait()
  6122. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  6123. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1 + 0.05 * SIN(SINE/2)) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  6124. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.55 + 0.15 * SIN(SINE/2), -0.7) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  6125. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.4 + 0.15 * SIN(SINE/2), -0.6) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  6126. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  6127. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  6128. end
  6129. for i=1, 185 do
  6130. Swait()
  6131. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  6132. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1 + 0.05 * SIN(SINE/2)) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  6133. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.55 + 0.15 * SIN(SINE/2), -0.7) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  6134. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.4 + 0.15 * SIN(SINE/2), -0.6) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  6135. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  6136. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  6137. end
  6138. ATTACK = false
  6139. Rooted = false
  6140. end
  6141.  
  6142.  
  6143. --//=================================\\
  6144. --|| ASSIGN THINGS TO KEYS
  6145. --\\=================================//
  6146. ----------------
  6147. function MouseDown(Mouse)
  6148. HOLD = true
  6149. if ATTACK == false then
  6150. end
  6151. end
  6152.  
  6153. function MouseUp(Mouse)
  6154. HOLD = false
  6155. end
  6156.  
  6157. function KeyDown(Key)
  6158. KEYHOLD = true
  6159. if Key == "z" and ATTACK == false then
  6160. Cyber_Warden_Zap()
  6161. end
  6162.  
  6163. if Key == "c" and ATTACK == false then
  6164. Inferno_Ring()
  6165. end
  6166.  
  6167. if Key == "v" and ATTACK == false then
  6168. Cyber_Warden_Wall()
  6169. end
  6170.  
  6171. if Key == "x" and ATTACK == false then
  6172. Prison_Key()
  6173. end
  6174.  
  6175. if Key == "h" and ATTACK == false then
  6176. Technobeam()
  6177. end
  6178.  
  6179. if Key == "j" and ATTACK == false then
  6180. CyberWarden_Smash()
  6181. end
  6182.  
  6183. if Key == "l" and ATTACK == false then
  6184. Teleport()
  6185. end
  6186.  
  6187.  
  6188.  
  6189. if Key == "q" and ATTACK == false then
  6190. nahid_Blast()
  6191. end
  6192.  
  6193. if Key == "e" and ATTACK == false then
  6194. Supernahid()
  6195. end
  6196.  
  6197. if Key == "r" and ATTACK == false then
  6198. Corrupted_Immobilization()
  6199. end
  6200.  
  6201. if Key == "y" then
  6202. Taunt()
  6203. end
  6204. if Key == "p" and ATTACK == false then
  6205. AbyssalShriek()
  6206. end
  6207.  
  6208. if Key == "k" and ATTACK == false then
  6209. AbyssalDash()
  6210. end
  6211.  
  6212.  
  6213. if Key == "m" and ATTACK == false then
  6214. BlackBlast()
  6215. end
  6216.  
  6217. if Key == "b" and ATTACK == false then
  6218. NightmareFall()
  6219. end
  6220.  
  6221. if Key == "u" and ATTACK == false then
  6222. Laugh()
  6223. end
  6224.  
  6225. if Key == "t" and ATTACK == false then
  6226. hat_taunt()
  6227. end
  6228. end
  6229.  
  6230. function KeyUp(Key)
  6231. KEYHOLD = false
  6232. end
  6233.  
  6234. Mouse.Button1Down:connect(function(NEWKEY)
  6235. MouseDown(NEWKEY)
  6236. end)
  6237. Mouse.Button1Up:connect(function(NEWKEY)
  6238. MouseUp(NEWKEY)
  6239. end)
  6240. Mouse.KeyDown:connect(function(NEWKEY)
  6241. KeyDown(NEWKEY)
  6242. end)
  6243. Mouse.KeyDown:connect(function(NEWKEY)
  6244. KeyDown(NEWKEY)
  6245. end)
  6246. Mouse.KeyUp:connect(function(NEWKEY)
  6247. KeyUp(NEWKEY)
  6248. end)
  6249. Mouse.Button1Down:connect(function(NEWKEY)
  6250. MouseDown(NEWKEY)
  6251. end)
  6252. Mouse.Button1Up:connect(function(NEWKEY)
  6253. MouseUp(NEWKEY)
  6254. end)
  6255. Mouse.KeyDown:connect(function(NEWKEY)
  6256. KeyDown(NEWKEY)
  6257. end)
  6258. Mouse.KeyUp:connect(function(NEWKEY)
  6259. KeyUp(NEWKEY)
  6260. end)
  6261. Mouse.Button1Down:connect(function(NEWKEY)
  6262. MouseDown(NEWKEY)
  6263. end)
  6264. Mouse.Button1Up:connect(function(NEWKEY)
  6265. MouseUp(NEWKEY)
  6266. end)
  6267. Mouse.KeyDown:connect(function(NEWKEY)
  6268. KeyDown(NEWKEY)
  6269. end)
  6270. Mouse.KeyUp:connect(function(NEWKEY)
  6271. KeyUp(NEWKEY)
  6272. end)
  6273. --//=================================\\
  6274. --\\=================================//
  6275. --//=================================\\
  6276. --\\=================================//
  6277.  
  6278.  
  6279. function unanchor()
  6280. if UNANCHOR == true then
  6281. g = Character:GetChildren()
  6282. for i = 1, #g do
  6283. if g[i].ClassName == "Part" then
  6284. g[i].Anchored = false
  6285. end
  6286. end
  6287. end
  6288. end
  6289.  
  6290.  
  6291. --//=================================\\
  6292. --|| WRAP THE WHOLE SCRIPT UP
  6293. --\\=================================//
  6294.  
  6295. Humanoid.Changed:connect(function(Jump)
  6296. if Jump == "Jump" and (Disable_Jump == true) then
  6297. Humanoid.Jump = false
  6298. end
  6299. end)
  6300.  
  6301. Humanoid.HipHeight = 2
  6302.  
  6303. while true do
  6304. Swait()
  6305. refit()
  6306. Character.Parent = workspace
  6307. Humanoid.Parent = Character
  6308. ANIMATE.Parent = nil
  6309. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  6310. IDLEANIMATION:Play()
  6311. SINE = SINE + CHANGE
  6312. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  6313. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  6314. HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25, Character)
  6315. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  6316. for LW = 1, #LEFTWINGS do
  6317. if LEFTWINGS[LW] ~= nil then
  6318. LEFTWINGS[LW].C1 = Clerp(LEFTWINGS[LW].C1, CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(2.5 * SIN(SINE / 12)), RAD(0), RAD(-3 + 3 * SIN(SINE / 12))), 1 / Animation_Speed)
  6319. end
  6320. end
  6321. for RW = 1, #RIGHTWINGS do
  6322. if RIGHTWINGS[RW] ~= nil then
  6323. RIGHTWINGS[RW].C1 = Clerp(RIGHTWINGS[RW].C1, CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(2.5 * SIN(SINE / 12)), RAD(0), RAD(3 - 3 * SIN(SINE / 12))), 1 / Animation_Speed)
  6324. end
  6325. end
  6326. if ATTACK == false then
  6327. if TORSOVELOCITY < 1 then
  6328. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  6329. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  6330. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  6331. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  6332. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
  6333. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(25)), 0.15 / Animation_Speed)
  6334. elseif TORSOVELOCITY > 1 then
  6335. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(2.5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  6336. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-2.5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  6337. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  6338. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 12), -1) * ANGLES(RAD(25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  6339. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  6340. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  6341. end
  6342. end
  6343. for _, c in pairs(Character:GetChildren()) do
  6344. if c.ClassName == "Part" and c.Name ~= "Eye" then
  6345. c.Material = "Neon"
  6346. if c:FindFirstChildOfClass("ParticleEmitter") then
  6347. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  6348. end
  6349. if c ~= Head and c ~= RootPart and c:FindFirstChild("BoxEffect") == nil then
  6350. local EF = Instance.new("SelectionBox",c)
  6351. EF.Adornee = c
  6352. EF.Color = BrickColor.new("Really red")
  6353. EF.LineThickness = 0.01
  6354. EF.Transparency = 0
  6355. EF.Name = "BoxEffect"
  6356. end
  6357. c.Color = C3(0,0,0)
  6358. if c == Head then
  6359. --[[if c:FindFirstChild("Dominus") == nil then
  6360. local M = CreateMesh("SpecialMesh", c, "FileMesh", "162384581", "162384608", VT(1,1,1)*1.1, VT(0,0,0))
  6361. M.Name = ""
  6362. end]]--
  6363. if c:FindFirstChild("face") then
  6364. c.face:remove()
  6365. end
  6366. end
  6367. elseif c.ClassName == "Shirt" or c.ClassName == "Pants" or c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  6368. end
  6369. end
  6370. if HITFLOOR ~= nil and MRANDOM(1,6) == 1 then
  6371. local POSITION = CF(HITPOS)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(MRANDOM(5,15),0,0).p
  6372. local BOXFLOOR,BOXPOS = Raycast(POSITION+VT(0,1,0), (CF(POSITION, POSITION + VT(0, -1, 0))).lookVector, 5, Character)
  6373. if BOXFLOOR ~= nil then
  6374. WACKYEFFECT({EffectType = "Box", Size = VT(2,0,2), Size2 = VT(0,15,0), Transparency = 0.5, Transparency2 = 0.5, CFrame = CF(BOXPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  6375. end
  6376. end
  6377. unanchor()
  6378. Humanoid.MaxHealth = "inf"
  6379. Humanoid.Health = "inf"
  6380. if Rooted == false then
  6381. Disable_Jump = false
  6382. Humanoid.WalkSpeed = Speed
  6383. elseif Rooted == true then
  6384. Disable_Jump = true
  6385. Humanoid.WalkSpeed = 0
  6386. end
  6387. for _, c in pairs(workspace:GetChildren()) do
  6388. if c.ClassName == "Model" and c:FindFirstChild("Humanoid") and c ~= Character then
  6389. end
  6390. end
  6391. script.Parent = WEAPONGUI
  6392. Humanoid.Name = "Monarch"
  6393. sick.Parent = Effects
  6394. sick.Pitch = 1
  6395. sick.Playing = true
  6396. for _, q in pairs(Head:GetChildren()) do
  6397. if q.ClassName == "Sound" and q.Name ~= "Audio" then
  6398. q:remove()
  6399. end
  6400. end
  6401. Humanoid.DisplayDistanceType = "None"
  6402. end
  6403.  
  6404. --//=================================\\
  6405. --\\=================================//
  6406.  
  6407.  
  6408.  
  6409.  
  6410. --//====================================================\\--
  6411. --|| END OF SCRIPT
  6412. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement