Advertisement
Guest User

Untitled

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