Advertisement
Nico1702

Cyber Warden Script

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