Advertisement
cubanmixed2

ruler

Nov 1st, 2018
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use r/ and not rl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5.     print("FE Compatibility code by Mokiros")
  6.     local rp = RealPlayer
  7.     script.Parent = rp.Character
  8.    
  9.     --RemoteEvent for communicating
  10.     local Event = Instance.new("RemoteEvent")
  11.     Event.Name = "UserInput_Event"
  12.  
  13.     --Fake event to make stuff like Mouse.KeyDown work
  14.     local function fakeEvent()
  15.         local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16.         t.connect = t.Connect
  17.         return t
  18.     end
  19.  
  20.     --Creating fake input objects with fake variables
  21.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25.     end}
  26.     --Merged 2 functions into one by checking amount of arguments
  27.     CAS.UnbindAction = CAS.BindAction
  28.  
  29.     --This function will trigger the events that have been :Connect()'ed
  30.     local function te(self,ev,...)
  31.         local t = m[ev]
  32.         if t and t._fakeEvent then
  33.             for _,f in pairs(t.Functions) do
  34.                 f(...)
  35.             end
  36.         end
  37.     end
  38.     m.TrigEvent = te
  39.     UIS.TrigEvent = te
  40.  
  41.     Event.OnServerEvent:Connect(function(plr,io)
  42.         if plr~=rp then return end
  43.         m.Target = io.Target
  44.         m.Hit = io.Hit
  45.         if not io.isMouse then
  46.             local b = io.UserInputState == Enum.UserInputState.Begin
  47.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49.             end
  50.             for _,t in pairs(CAS.Actions) do
  51.                 for _,k in pairs(t.Keys) do
  52.                     if k==io.KeyCode then
  53.                         t.Function(t.Name,io.UserInputState,io)
  54.                     end
  55.                 end
  56.             end
  57.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59.         end
  60.     end)
  61.     Event.Parent = NLS([==[
  62.     local Player = game:GetService("Players").LocalPlayer
  63.     local Event = script:WaitForChild("UserInput_Event")
  64.  
  65.     local Mouse = Player:GetMouse()
  66.     local UIS = game:GetService("UserInputService")
  67.     local input = function(io,a)
  68.         if a then return end
  69.         --Since InputObject is a client-side instance, we create and pass table instead
  70.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71.     end
  72.     UIS.InputBegan:Connect(input)
  73.     UIS.InputEnded:Connect(input)
  74.  
  75.     local h,t
  76.     --Give the server mouse data 30 times every second, but only if the values changed
  77.     --If player is not moving their mouse, client won't fire events
  78.     while wait(1/30) do
  79.         if h~=Mouse.Hit or t~=Mouse.Target then
  80.             h,t=Mouse.Hit,Mouse.Target
  81.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  82.         end
  83.     end]==],Player.Character)
  84.  
  85.     ----Sandboxed game object that allows the usage of client-side methods and services
  86.     --Real game object
  87.     local _rg = game
  88.  
  89.     --Metatable for fake service
  90.     local fsmt = {
  91.         __index = function(self,k)
  92.             local s = rawget(self,"_RealService")
  93.             if s then return s[k] end
  94.         end,
  95.         __newindex = function(self,k,v)
  96.             local s = rawget(self,"_RealService")
  97.             if s then s[k]=v end
  98.         end,
  99.         __call = function(self,...)
  100.             local s = rawget(self,"_RealService")
  101.             if s then return s(...) end
  102.         end
  103.     }
  104.     local function FakeService(t,RealService)
  105.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106.         return setmetatable(t,fsmt)
  107.     end
  108.  
  109.     --Fake game object
  110.     local g = {
  111.         GetService = function(self,s)
  112.             return self[s]
  113.         end,
  114.         Players = FakeService({
  115.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116.         },"Players"),
  117.         UserInputService = FakeService(UIS,"UserInputService"),
  118.         ContextActionService = FakeService(CAS,"ContextActionService"),
  119.     }
  120.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121.     g.service = g.GetService
  122.    
  123.     g.RunService = FakeService({
  124.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  125.         BindToRenderStep = function(self,name,_,fun)
  126.  
  127.         end,
  128.         UnbindFromRenderStep = function(self,name)
  129.             self._btrs[name]:Disconnect()
  130.         end,
  131.     },"RunService")
  132.  
  133.     setmetatable(g,{
  134.         __index=function(self,s)
  135.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  136.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137.         end,
  138.         __newindex = fsmt.__newindex,
  139.         __call = fsmt.__call
  140.     })
  141.     --Changing owner to fake player object to support owner:GetMouse()
  142.     game,owner = g,g.Players.LocalPlayer
  143. end
  144. local Player = game.Players.localPlayer
  145. local Character = Player.Character
  146. local Humanoid = Character.Humanoid
  147. local Mouse = Player:GetMouse()
  148. local LeftArm = Character["Left Arm"]
  149. local RightArm = Character["Right Arm"]
  150. local LeftLeg = Character["Left Leg"]
  151. local RightLeg = Character["Right Leg"]
  152. local Head = Character.Head
  153. local Torso = Character.Torso
  154. local Camera = game.Workspace.CurrentCamera
  155. local RootPart = Character.HumanoidRootPart
  156. local RootJoint = RootPart.RootJoint
  157. local attack = false
  158. local Anim = 'Idle'
  159. local Lighty = game:GetService"Lighting"
  160. local attacktype = 1
  161. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  162. local velocity = RootPart.Velocity.y
  163. local sine = 0
  164. local change = 1
  165. local bored = {492070484,1232162751,1534958855,303535614,1117396305,0}
  166. local Create = LoadLibrary("RbxUtility").Create
  167. function swait(num)
  168.     if num == 0 or num == nil then
  169.         ArtificialHB.Event:wait()
  170.     else
  171.         for i = 0, num do
  172.             ArtificialHB.Event:wait()
  173.         end
  174.     end
  175. end
  176.  
  177. wait(0.2)
  178.  
  179. Player = game:GetService("Players").LocalPlayer
  180. PlayerGui = Player.PlayerGui
  181. Cam = workspace.CurrentCamera
  182. Backpack = Player.Backpack
  183. Character = Player.Character
  184. Humanoid = Character.Humanoid
  185. Mouse = Player:GetMouse()
  186. RootPart = Character["HumanoidRootPart"]
  187. Torso = Character["Torso"]
  188. Head = Character["Head"]
  189. RightArm = Character["Right Arm"]
  190. LeftArm = Character["Left Arm"]
  191. RightLeg = Character["Right Leg"]
  192. LeftLeg = Character["Left Leg"]
  193. RootJoint = RootPart["RootJoint"]
  194. Neck = Torso["Neck"]
  195. RightShoulder = Torso["Right Shoulder"]
  196. LeftShoulder = Torso["Left Shoulder"]
  197. RightHip = Torso["Right Hip"]
  198. LeftHip = Torso["Left Hip"]
  199. Character.Archivable = true
  200. Player:ClearCharacterAppearance()
  201.  
  202. IT = Instance.new
  203. CF = CFrame.new
  204. VT = Vector3.new
  205. RAD = math.rad
  206. C3 = Color3.new
  207. UD2 = UDim2.new
  208. BRICKC = BrickColor.new
  209. ANGLES = CFrame.Angles
  210. EULER = CFrame.fromEulerAnglesXYZ
  211. COS = math.cos
  212. ACOS = math.acos
  213. SIN = math.sin
  214. ASIN = math.asin
  215. ABS = math.abs
  216. MRANDOM = math.random
  217. FLOOR = math.floor
  218. local CHOICE = MRANDOM(1,5)
  219. --//=================================\\
  220. --||          USEFUL VALUES
  221. --\\=================================//
  222.  
  223. Animation_Speed = 3
  224. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  225. local Speed = 20
  226. local SIZE = 1
  227. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  228. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  229. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  230. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  231. local DAMAGEMULTIPLIER = "inf"
  232. local ANIM = "Idle"
  233. local ATTACK = false
  234. local EQUIPPED = false
  235. local HOLD = false
  236. local COMBO = 1
  237. local Rooted = false
  238. local SINE = 0
  239. local KEYHOLD = false
  240. local CHANGE = 2 / Animation_Speed
  241. local WALKINGANIM = false
  242. local VALUE1 = false
  243. local VALUE2 = false
  244. local ROBLOXIDLEANIMATION = IT("Animation")
  245. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  246. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  247. local ATANIM = IT("Animation")
  248. ATANIM.Name = "Attack Animation"
  249. ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
  250. --ROBLOXIDLEANIMATION.Parent = Humanoid
  251. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  252. WEAPONGUI.Name = "Weapon GUI"
  253. local Weapon = IT("Model")
  254. Weapon.Name = "Adds"
  255. local Effects = IT("Folder", Weapon)
  256. Effects.Name = "Effects"
  257. local ANIMATOR = Humanoid.Animator
  258. local ANIMATE = Character.Animate
  259. local UNANCHOR = true
  260. local CLOCKLOOP = 0
  261. local SONG = 492070484
  262. local CLOCKTARGET = nil
  263. local CLOCKSPEED = 4
  264. script.Parent = WEAPONGUI
  265. local CLONE = Character:Clone()
  266. CLONE.Parent = nil
  267. Character.Archivable = false
  268. local sick = Instance.new("Sound",Torso)
  269. sick.Volume = 50999
  270. local LAUGHS = {834001699,834001752,834001797,834001828}
  271. local SONGS = {534861083,530959353,1534958855,0}
  272. local CHOICE = MRANDOM(1,4)
  273. local TOBANISH = {}
  274. local EXTRATRANS = 0
  275. local Effects2 = {}
  276. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  277. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  278. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  279. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  280.  
  281. --//=================================\\
  282. --\\=================================//
  283.  
  284.  
  285. --//=================================\\
  286. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  287. --\\=================================//
  288.  
  289. ArtificialHB = Instance.new("BindableEvent", script)
  290. ArtificialHB.Name = "ArtificialHB"
  291.  
  292. script:WaitForChild("ArtificialHB")
  293.  
  294. frame = Frame_Speed
  295. tf = 0
  296. allowframeloss = false
  297. tossremainder = false
  298. lastframe = tick()
  299. script.ArtificialHB:Fire()
  300.  
  301. game:GetService("RunService").Heartbeat:connect(function(s, p)
  302.     tf = tf + s
  303.     if tf >= frame then
  304.         if allowframeloss then
  305.             script.ArtificialHB:Fire()
  306.             lastframe = tick()
  307.         else
  308.             for i = 1, math.floor(tf / frame) do
  309.                 script.ArtificialHB:Fire()
  310.             end
  311.         lastframe = tick()
  312.         end
  313.         if tossremainder then
  314.             tf = 0
  315.         else
  316.             tf = tf - frame * math.floor(tf / frame)
  317.         end
  318.     end
  319. end)
  320.  
  321. --//=================================\\
  322. --\\=================================//
  323.  
  324. --//=================================\\
  325. --||          SOME FUNCTIONS
  326. --\\=================================//
  327.  
  328. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  329.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  330. end
  331.  
  332. function PositiveAngle(NUMBER)
  333.     if NUMBER >= 0 then
  334.         NUMBER = 0
  335.     end
  336.     return NUMBER
  337. end
  338.  
  339. function NegativeAngle(NUMBER)
  340.     if NUMBER <= 0 then
  341.         NUMBER = 0
  342.     end
  343.     return NUMBER
  344. end
  345.  
  346. function Swait(NUMBER)
  347.     if NUMBER == 0 or NUMBER == nil then
  348.         ArtificialHB.Event:wait()
  349.     else
  350.         for i = 1, NUMBER do
  351.             ArtificialHB.Event:wait()
  352.         end
  353.     end
  354. end
  355.  
  356. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  357.     local NEWMESH = IT(MESH)
  358.     if MESH == "SpecialMesh" then
  359.         NEWMESH.MeshType = MESHTYPE
  360.         if MESHID ~= "nil" and MESHID ~= "" then
  361.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  362.         end
  363.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  364.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  365.         end
  366.     end
  367.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  368.     NEWMESH.Scale = SCALE
  369.     NEWMESH.Parent = PARENT
  370.     return NEWMESH
  371. end
  372.  
  373. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  374.     local NEWPART = IT("Part")
  375.     NEWPART.formFactor = FORMFACTOR
  376.     NEWPART.Reflectance = REFLECTANCE
  377.     NEWPART.Transparency = TRANSPARENCY
  378.     NEWPART.CanCollide = false
  379.     NEWPART.Locked = true
  380.     NEWPART.Anchored = true
  381.     if ANCHOR == false then
  382.         NEWPART.Anchored = false
  383.     end
  384.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  385.     NEWPART.Name = NAME
  386.     NEWPART.Size = SIZE
  387.     NEWPART.Position = Torso.Position
  388.     NEWPART.Material = MATERIAL
  389.     NEWPART:BreakJoints()
  390.     NEWPART.Parent = PARENT
  391.     return NEWPART
  392. end
  393.  
  394.     local function weldBetween(a, b)
  395.         local weldd = Instance.new("ManualWeld")
  396.         weldd.Part0 = a
  397.         weldd.Part1 = b
  398.         weldd.C0 = CFrame.new()
  399.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  400.         weldd.Parent = a
  401.         return weldd
  402.     end
  403.  
  404.  
  405. function QuaternionFromCFrame(cf)
  406.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  407.     local trace = m00 + m11 + m22
  408.     if trace > 0 then
  409.         local s = math.sqrt(1 + trace)
  410.         local recip = 0.5 / s
  411.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  412.     else
  413.         local i = 0
  414.         if m11 > m00 then
  415.             i = 1
  416.         end
  417.         if m22 > (i == 0 and m00 or m11) then
  418.             i = 2
  419.         end
  420.         if i == 0 then
  421.             local s = math.sqrt(m00 - m11 - m22 + 1)
  422.             local recip = 0.5 / s
  423.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  424.         elseif i == 1 then
  425.             local s = math.sqrt(m11 - m22 - m00 + 1)
  426.             local recip = 0.5 / s
  427.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  428.         elseif i == 2 then
  429.             local s = math.sqrt(m22 - m00 - m11 + 1)
  430.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  431.         end
  432.     end
  433. end
  434.  
  435. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  436.     local xs, ys, zs = x + x, y + y, z + z
  437.     local wx, wy, wz = w * xs, w * ys, w * zs
  438.     local xx = x * xs
  439.     local xy = x * ys
  440.     local xz = x * zs
  441.     local yy = y * ys
  442.     local yz = y * zs
  443.     local zz = z * zs
  444.     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))
  445. end
  446.  
  447. function QuaternionSlerp(a, b, t)
  448.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  449.     local startInterp, finishInterp;
  450.     if cosTheta >= 0.0001 then
  451.         if (1 - cosTheta) > 0.0001 then
  452.             local theta = ACOS(cosTheta)
  453.             local invSinTheta = 1 / SIN(theta)
  454.             startInterp = SIN((1 - t) * theta) * invSinTheta
  455.             finishInterp = SIN(t * theta) * invSinTheta
  456.         else
  457.             startInterp = 1 - t
  458.             finishInterp = t
  459.         end
  460.     else
  461.         if (1 + cosTheta) > 0.0001 then
  462.             local theta = ACOS(-cosTheta)
  463.             local invSinTheta = 1 / SIN(theta)
  464.             startInterp = SIN((t - 1) * theta) * invSinTheta
  465.             finishInterp = SIN(t * theta) * invSinTheta
  466.         else
  467.             startInterp = t - 1
  468.             finishInterp = t
  469.         end
  470.     end
  471.     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
  472. end
  473.  
  474. function Clerp(a, b, t)
  475.     local qa = {QuaternionFromCFrame(a)}
  476.     local qb = {QuaternionFromCFrame(b)}
  477.     local ax, ay, az = a.x, a.y, a.z
  478.     local bx, by, bz = b.x, b.y, b.z
  479.     local _t = 1 - t
  480.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  481. end
  482.  
  483. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  484.     local frame = IT("Frame")
  485.     frame.BackgroundTransparency = TRANSPARENCY
  486.     frame.BorderSizePixel = BORDERSIZEPIXEL
  487.     frame.Position = POSITION
  488.     frame.Size = SIZE
  489.     frame.BackgroundColor3 = COLOR
  490.     frame.BorderColor3 = BORDERCOLOR
  491.     frame.Name = NAME
  492.     frame.Parent = PARENT
  493.     return frame
  494. end
  495.  
  496. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  497.     local label = IT("TextLabel")
  498.     label.BackgroundTransparency = 1
  499.     label.Size = UD2(1, 0, 1, 0)
  500.     label.Position = UD2(0, 0, 0, 0)
  501.     label.TextColor3 = TEXTCOLOR
  502.     label.TextStrokeTransparency = STROKETRANSPARENCY
  503.     label.TextTransparency = TRANSPARENCY
  504.     label.FontSize = TEXTFONTSIZE
  505.     label.Font = TEXTFONT
  506.     label.BorderSizePixel = BORDERSIZEPIXEL
  507.     label.TextScaled = false
  508.     label.Text = TEXT
  509.     label.Name = NAME
  510.     label.Parent = PARENT
  511.     return label
  512. end
  513.  
  514. function NoOutlines(PART)
  515.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  516. end
  517.  
  518. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  519.     local NEWWELD = IT(TYPE)
  520.     NEWWELD.Part0 = PART0
  521.     NEWWELD.Part1 = PART1
  522.     NEWWELD.C0 = C0
  523.     NEWWELD.C1 = C1
  524.     NEWWELD.Parent = PARENT
  525.     return NEWWELD
  526. end
  527.  
  528. local S = IT("Sound")
  529. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  530.     local NEWSOUND = nil
  531.     coroutine.resume(coroutine.create(function()
  532.         NEWSOUND = S:Clone()
  533.         NEWSOUND.Parent = PARENT
  534.         NEWSOUND.Volume = VOLUME
  535.         NEWSOUND.Pitch = PITCH
  536.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  537.         NEWSOUND:play()
  538.         if DOESLOOP == true then
  539.             NEWSOUND.Looped = true
  540.         else
  541.             local REPOSITION = NEWSOUND.AncestryChanged:Connect(function()
  542.                 NEWSOUND.Parent = PARENT
  543.             end)
  544.             repeat wait(1) until NEWSOUND.Playing == false
  545.             REPOSITION:disconnect()
  546.             NEWSOUND:remove()
  547.         end
  548.     end))
  549.     return NEWSOUND
  550. end
  551.  
  552. function CFrameFromTopBack(at, top, back)
  553.     local right = top:Cross(back)
  554.     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)
  555. end
  556.  
  557. --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})
  558. function WACKYEFFECT(Table)
  559.     local TYPE = (Table.EffectType or "Sphere")
  560.     local SIZE = (Table.Size or VT(1,1,1))
  561.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  562.     local TRANSPARENCY = (Table.Transparency or 0)
  563.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  564.     local CFRAME = (Table.CFrame or Torso.CFrame)
  565.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  566.     local ROTATION1 = (Table.RotationX or 0)
  567.     local ROTATION2 = (Table.RotationY or 0)
  568.     local ROTATION3 = (Table.RotationZ or 0)
  569.     local MATERIAL = (Table.Material or "Neon")
  570.     local COLOR = (Table.Color or C3(1,1,1))
  571.     local TIME = (Table.Time or 45)
  572.     local SOUNDID = (Table.SoundID or nil)
  573.     local SOUNDPITCH = (Table.SoundPitch or nil)
  574.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  575.     coroutine.resume(coroutine.create(function()
  576.         local PLAYSSOUND = false
  577.         local SOUND = nil
  578.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  579.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  580.             PLAYSSOUND = true
  581.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  582.         end
  583.         EFFECT.Color = COLOR
  584.         local MSH = nil
  585.         if TYPE == "Sphere" then
  586.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  587.         elseif TYPE == "Block" then
  588.             MSH = IT("BlockMesh",EFFECT)
  589.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  590.         elseif TYPE == "Wave" then
  591.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  592.         elseif TYPE == "Ring" then
  593.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  594.         elseif TYPE == "Slash" then
  595.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  596.         elseif TYPE == "Round Slash" then
  597.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  598.         elseif TYPE == "Swirl" then
  599.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  600.         elseif TYPE == "Skull" then
  601.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  602.         elseif TYPE == "Crystal" then
  603.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  604.         end
  605.         if MSH ~= nil then
  606.             local MOVESPEED = nil
  607.             if MOVEDIRECTION ~= nil then
  608.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  609.             end
  610.             local GROWTH = SIZE - ENDSIZE
  611.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  612.             if TYPE == "Block" then
  613.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  614.             else
  615.                 EFFECT.CFrame = CFRAME
  616.             end
  617.             for LOOP = 1, TIME+1 do
  618.                 Swait()
  619.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  620.                 if TYPE == "Wave" then
  621.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  622.                 end
  623.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  624.                 if TYPE == "Block" then
  625.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  626.                 else
  627.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  628.                 end
  629.                 if MOVEDIRECTION ~= nil then
  630.                     local ORI = EFFECT.Orientation
  631.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  632.                     EFFECT.Orientation = ORI
  633.                 end
  634.             end
  635.             EFFECT.Transparency = 1
  636.             if PLAYSSOUND == false then
  637.                 EFFECT:remove()
  638.             else
  639.                 repeat Swait() until SOUND.Playing == false
  640.                 EFFECT:remove()
  641.             end
  642.         else
  643.             if PLAYSSOUND == false then
  644.                 EFFECT:remove()
  645.             else
  646.                 repeat Swait() until SOUND.Playing == false
  647.                 EFFECT:remove()
  648.             end
  649.         end
  650.     end))
  651. end
  652.  
  653. function Shatter(Part)
  654.     if Part.Transparency < 1 then
  655.         local SOUNDPART = CreatePart(3, Effects, "Glass", 0, Part.Transparency + 0.1, Part.BrickColor, "OOF", VT(0,0,0))
  656.         Debris:AddItem(SOUNDPART,5)
  657.         CreateSound("626807593", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  658.         local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  659.         local SIZESET = SIZE/4
  660.         local XOffset = Part.Size.X*1.5/SIZESET
  661.         local YOffset = Part.Size.Y*1.5/SIZESET
  662.         local ZOffset = Part.Size.Z*1.5/SIZESET
  663.         for x = 1, math.ceil(XOffset) do
  664.             for y = 1, math.ceil(YOffset) do
  665.                 for z = 1, math.ceil(ZOffset) do
  666.                     local SHARD = CreatePart(3, Effects, "Glass", 0, 0.15, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  667.                     SHARD.CanCollide = true
  668.                     SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-Part.Size.X/4),(Part.Size.Y/2-Part.Size.Y/4),(Part.Size.Z/2-Part.Size.Z/4))
  669.                     SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  670.                     Debris:AddItem(SHARD,MRANDOM(10,25)/10)
  671.                     for _, c in pairs(Part:GetChildren()) do
  672.                         if c.ClassName == "ParticleEmitter" or c.ClassName == "PointLight" or c.ClassName == "Fire" then
  673.                             c:Clone().Parent = SHARD
  674.                         end
  675.                     end
  676.                 end
  677.             end
  678.         end
  679.     end
  680.     Part:remove()
  681. end
  682.  
  683. --Lightning({Material = "Neon", FadeIn = false, 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, FadeTime = 15, Thicken = false})
  684. function Lightning(Table)
  685.     local Color = Table.Color or C3(1,1,1)
  686.     local StartPos = Table.Start or Torso.Position
  687.     local EndPos = Table.End or Mouse.Hit.p
  688.     local SegmentLength = Table.SegmentL or 2
  689.     local Thickness = Table.Thickness or 0.1
  690.     local Dissapear = Table.DoesFade or false
  691.     local Parent = Table.Ignore or Character
  692.     local MaxDist = Table.MaxDist or 400
  693.     local Branches = Table.Branches or false
  694.     local Thicken = Table.Thicken or false
  695.     local FadeTime = Table.FadeTime or 15
  696.     local FadeIn = Table.FadeIn or false
  697.     local Material = Table.Material or "Neon"
  698.     local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  699.     local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
  700.     local LIGHTNINGMODEL = IT("Model",Effects)
  701.     LIGHTNINGMODEL.Name = "Lightning"
  702.     local LastBolt = nil
  703.     for E = 1, DISTANCE do
  704.         local ExtraSize = 0
  705.         if Thicken == true then
  706.             ExtraSize = (DISTANCE-E)/15
  707.         end
  708.         local TRANSPARENCY = 0
  709.         if FadeIn == true then
  710.             TRANSPARENCY = 1-(E/(DISTANCE/1.5))
  711.             if TRANSPARENCY < 0 then
  712.                 TRANSPARENCY = 0
  713.             end
  714.         end
  715.         local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  716.         PART.Color = Color
  717.         MakeForm(PART,"Cyl")
  718.         if LastBolt == nil then
  719.             PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  720.         else
  721.             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,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  722.         end
  723.         LastBolt = PART
  724.         if Branches == true and E < (DISTANCE-5) then
  725.             local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  726.             if CHOICE == 1 then
  727.                 local LASTBRANCH = nil
  728.                 for i = 1, MRANDOM(2,5) do
  729.                     local ExtraSize2 = 0
  730.                     if Thicken == true then
  731.                         ExtraSize = ((DISTANCE-E)/25)/i
  732.                     end
  733.                     local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  734.                     PART.Color = Color
  735.                     MakeForm(PART,"Cyl")
  736.                     if LASTBRANCH == nil then
  737.                         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)
  738.                     else
  739.                         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)
  740.                     end
  741.                     LASTBRANCH = PART
  742.                 end
  743.             end
  744.         end
  745.     end
  746.     if Dissapear == true then
  747.         coroutine.resume(coroutine.create(function()
  748.             for i = 1, FadeTime do
  749.                 Swait()
  750.                 for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  751.                     if c.ClassName == "Part" then
  752.                         c.Transparency = c.Transparency + (i/FadeTime)/10
  753.                     end
  754.                 end
  755.             end
  756.             LIGHTNINGMODEL:remove()
  757.         end))
  758.     elseif Dissapear == false then
  759.         Debris:AddItem(LIGHTNINGMODEL,0.1)
  760.     end
  761.     return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  762. end
  763.  
  764. function MakeForm(PART,TYPE)
  765.     if TYPE == "Cyl" then
  766.         local MSH = IT("CylinderMesh",PART)
  767.     elseif TYPE == "Ball" then
  768.         local MSH = IT("SpecialMesh",PART)
  769.         MSH.MeshType = "Sphere"
  770.     elseif TYPE == "Wedge" then
  771.         local MSH = IT("SpecialMesh",PART)
  772.         MSH.MeshType = "Wedge"
  773.     end
  774. end
  775.  
  776. Debris = game:GetService("Debris")
  777.  
  778. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  779.     local DIRECTION = CF(StartPos,EndPos).lookVector
  780.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  781. end
  782.  
  783. function turnto(position)
  784.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  785. end
  786.  
  787. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  788.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  789. end
  790.  
  791. function PositiveAngle(NUMBER)
  792.     if NUMBER >= 0 then
  793.         NUMBER = 0
  794.     end
  795.     return NUMBER
  796. end
  797.  
  798. function NegativeAngle(NUMBER)
  799.     if NUMBER <= 0 then
  800.         NUMBER = 0
  801.     end
  802.     return NUMBER
  803. end
  804.  
  805. function Swait(NUMBER)
  806.     if NUMBER == 0 or NUMBER == nil then
  807.         ArtificialHB.Event:wait()
  808.     else
  809.         for i = 1, NUMBER do
  810.             ArtificialHB.Event:wait()
  811.         end
  812.     end
  813. end
  814.  
  815. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  816.     local NEWMESH = IT(MESH)
  817.     if MESH == "SpecialMesh" then
  818.         NEWMESH.MeshType = MESHTYPE
  819.         if MESHID ~= "nil" and MESHID ~= "" then
  820.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  821.         end
  822.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  823.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  824.         end
  825.     end
  826.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  827.     NEWMESH.Scale = SCALE
  828.     NEWMESH.Parent = PARENT
  829.     return NEWMESH
  830. end
  831.  
  832. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  833.     local NEWPART = IT("Part")
  834.     NEWPART.formFactor = FORMFACTOR
  835.     NEWPART.Reflectance = REFLECTANCE
  836.     NEWPART.Transparency = TRANSPARENCY
  837.     NEWPART.CanCollide = false
  838.     NEWPART.Locked = true
  839.     NEWPART.Anchored = true
  840.     if ANCHOR == false then
  841.         NEWPART.Anchored = false
  842.     end
  843.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  844.     NEWPART.Name = NAME
  845.     NEWPART.Size = SIZE
  846.     NEWPART.Position = Torso.Position
  847.     NEWPART.Material = MATERIAL
  848.     NEWPART:BreakJoints()
  849.     NEWPART.Parent = PARENT
  850.     return NEWPART
  851. end
  852.  
  853.     local function weldBetween(a, b)
  854.         local weldd = Instance.new("ManualWeld")
  855.         weldd.Part0 = a
  856.         weldd.Part1 = b
  857.         weldd.C0 = CFrame.new()
  858.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  859.         weldd.Parent = a
  860.         return weldd
  861.     end
  862.  
  863.  
  864. function QuaternionFromCFrame(cf)
  865.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  866.     local trace = m00 + m11 + m22
  867.     if trace > 0 then
  868.         local s = math.sqrt(1 + trace)
  869.         local recip = 0.5 / s
  870.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  871.     else
  872.         local i = 0
  873.         if m11 > m00 then
  874.             i = 1
  875.         end
  876.         if m22 > (i == 0 and m00 or m11) then
  877.             i = 2
  878.         end
  879.         if i == 0 then
  880.             local s = math.sqrt(m00 - m11 - m22 + 1)
  881.             local recip = 0.5 / s
  882.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  883.         elseif i == 1 then
  884.             local s = math.sqrt(m11 - m22 - m00 + 1)
  885.             local recip = 0.5 / s
  886.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  887.         elseif i == 2 then
  888.             local s = math.sqrt(m22 - m00 - m11 + 1)
  889.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  890.         end
  891.     end
  892. end
  893.  
  894. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  895.     local xs, ys, zs = x + x, y + y, z + z
  896.     local wx, wy, wz = w * xs, w * ys, w * zs
  897.     local xx = x * xs
  898.     local xy = x * ys
  899.     local xz = x * zs
  900.     local yy = y * ys
  901.     local yz = y * zs
  902.     local zz = z * zs
  903.     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))
  904. end
  905.  
  906. function QuaternionSlerp(a, b, t)
  907.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  908.     local startInterp, finishInterp;
  909.     if cosTheta >= 0.0001 then
  910.         if (1 - cosTheta) > 0.0001 then
  911.             local theta = ACOS(cosTheta)
  912.             local invSinTheta = 1 / SIN(theta)
  913.             startInterp = SIN((1 - t) * theta) * invSinTheta
  914.             finishInterp = SIN(t * theta) * invSinTheta
  915.         else
  916.             startInterp = 1 - t
  917.             finishInterp = t
  918.         end
  919.     else
  920.         if (1 + cosTheta) > 0.0001 then
  921.             local theta = ACOS(-cosTheta)
  922.             local invSinTheta = 1 / SIN(theta)
  923.             startInterp = SIN((t - 1) * theta) * invSinTheta
  924.             finishInterp = SIN(t * theta) * invSinTheta
  925.         else
  926.             startInterp = t - 1
  927.             finishInterp = t
  928.         end
  929.     end
  930.     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
  931. end
  932.  
  933. function Clerp(a, b, t)
  934.     local qa = {QuaternionFromCFrame(a)}
  935.     local qb = {QuaternionFromCFrame(b)}
  936.     local ax, ay, az = a.x, a.y, a.z
  937.     local bx, by, bz = b.x, b.y, b.z
  938.     local _t = 1 - t
  939.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  940. end
  941.  
  942. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  943.     local frame = IT("Frame")
  944.     frame.BackgroundTransparency = TRANSPARENCY
  945.     frame.BorderSizePixel = BORDERSIZEPIXEL
  946.     frame.Position = POSITION
  947.     frame.Size = SIZE
  948.     frame.BackgroundColor3 = COLOR
  949.     frame.BorderColor3 = BORDERCOLOR
  950.     frame.Name = NAME
  951.     frame.Parent = PARENT
  952.     return frame
  953. end
  954.  
  955. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  956.     local label = IT("TextLabel")
  957.     label.BackgroundTransparency = 1
  958.     label.Size = UD2(1, 0, 1, 0)
  959.     label.Position = UD2(0, 0, 0, 0)
  960.     label.TextColor3 = TEXTCOLOR
  961.     label.TextStrokeTransparency = STROKETRANSPARENCY
  962.     label.TextTransparency = TRANSPARENCY
  963.     label.FontSize = TEXTFONTSIZE
  964.     label.Font = TEXTFONT
  965.     label.BorderSizePixel = BORDERSIZEPIXEL
  966.     label.TextScaled = false
  967.     label.Text = TEXT
  968.     label.Name = NAME
  969.     label.Parent = PARENT
  970.     return label
  971. end
  972.  
  973. function NoOutlines(PART)
  974.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  975. end
  976.  
  977. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  978.     local NEWWELD = IT(TYPE)
  979.     NEWWELD.Part0 = PART0
  980.     NEWWELD.Part1 = PART1
  981.     NEWWELD.C0 = C0
  982.     NEWWELD.C1 = C1
  983.     NEWWELD.Parent = PARENT
  984.     return NEWWELD
  985. end
  986.  
  987. local S = IT("Sound")
  988. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  989.     local NEWSOUND = nil
  990.     coroutine.resume(coroutine.create(function()
  991.         NEWSOUND = S:Clone()
  992.         NEWSOUND.Parent = PARENT
  993.         NEWSOUND.Volume = VOLUME
  994.         NEWSOUND.Pitch = PITCH
  995.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  996.         NEWSOUND:play()
  997.         if DOESLOOP == true then
  998.             NEWSOUND.Looped = true
  999.         else
  1000.             repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  1001.             NEWSOUND:remove()
  1002.         end
  1003.     end))
  1004.     return NEWSOUND
  1005. end
  1006.  
  1007. function CFrameFromTopBack(at, top, back)
  1008.     local right = top:Cross(back)
  1009.     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)
  1010. end
  1011.  
  1012. --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(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1013. function WACKYEFFECT(Table)
  1014.     local TYPE = (Table.EffectType or "Sphere")
  1015.     local SIZE = (Table.Size or VT(1,1,1))
  1016.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1017.     local TRANSPARENCY = (Table.Transparency or 0)
  1018.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1019.     local CFRAME = (Table.CFrame or Torso.CFrame)
  1020.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  1021.     local ROTATION1 = (Table.RotationX or 0)
  1022.     local ROTATION2 = (Table.RotationY or 0)
  1023.     local ROTATION3 = (Table.RotationZ or 0)
  1024.     local MATERIAL = (Table.Material or "Neon")
  1025.     local COLOR = (Table.Color or C3(0,0,0))
  1026.     local TIME = (Table.Time or 45)
  1027.     local SOUNDID = (Table.SoundID or nil)
  1028.     local SOUNDPITCH = (Table.SoundPitch or nil)
  1029.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  1030.     coroutine.resume(coroutine.create(function()
  1031.         local PLAYSSOUND = false
  1032.         local SOUND = nil
  1033.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1034.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1035.             PLAYSSOUND = true
  1036.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1037.         end
  1038.         EFFECT.Color = COLOR
  1039.         local MSH = nil
  1040.         if TYPE == "Sphere" then
  1041.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1042.         elseif TYPE == "Block" then
  1043.             MSH = IT("BlockMesh",EFFECT)
  1044.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1045.         elseif TYPE == "Wave" then
  1046.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1047.         elseif TYPE == "Ring" then
  1048.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1049.         elseif TYPE == "Slash" then
  1050.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1051.         elseif TYPE == "Round Slash" then
  1052.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1053.         elseif TYPE == "Swirl" then
  1054.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1055.         elseif TYPE == "Skull" then
  1056.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1057.         elseif TYPE == "Crystal" then
  1058.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1059.         end
  1060.         if MSH ~= nil then
  1061.             local MOVESPEED = nil
  1062.             if MOVEDIRECTION ~= nil then
  1063.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1064.             end
  1065.             local GROWTH = SIZE - ENDSIZE
  1066.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1067.             if TYPE == "Block" then
  1068.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1069.             else
  1070.                 EFFECT.CFrame = CFRAME
  1071.             end
  1072.             for LOOP = 1, TIME+1 do
  1073.                 Swait()
  1074.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  1075.                 if TYPE == "Wave" then
  1076.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1077.                 end
  1078.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1079.                 if TYPE == "Block" then
  1080.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1081.                 else
  1082.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1083.                 end
  1084.                 if MOVEDIRECTION ~= nil then
  1085.                     local ORI = EFFECT.Orientation
  1086.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1087.                     EFFECT.Orientation = ORI
  1088.                 end
  1089.             end
  1090.             if PLAYSSOUND == false then
  1091.                 EFFECT:remove()
  1092.             else
  1093.                 SOUND.Stopped:Connect(function()
  1094.                     EFFECT:remove()
  1095.                 end)
  1096.             end
  1097.         else
  1098.             if PLAYSSOUND == false then
  1099.                 EFFECT:remove()
  1100.             else
  1101.                 repeat Swait() until SOUND.Playing == false
  1102.                 EFFECT:remove()
  1103.             end
  1104.         end
  1105.     end))
  1106. end
  1107. --Lightning({Material = "Neon", FadeIn = false, 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, FadeTime = 15, Thicken = false})
  1108. function Lightning(Table)
  1109.     local Color = Table.Color or C3(1,1,1)
  1110.     local StartPos = Table.Start or Torso.Position
  1111.     local EndPos = Table.End or Mouse.Hit.p
  1112.     local SegmentLength = Table.SegmentL or 2
  1113.     local Thickness = Table.Thickness or 0.1
  1114.     local Dissapear = Table.DoesFade or false
  1115.     local Parent = Table.Ignore or Character
  1116.     local MaxDist = Table.MaxDist or 400
  1117.     local Branches = Table.Branches or false
  1118.     local Thicken = Table.Thicken or false
  1119.     local FadeTime = Table.FadeTime or 15
  1120.     local FadeIn = Table.FadeIn or false
  1121.     local Material = Table.Material or "Neon"
  1122.     local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1123.     local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
  1124.     local LIGHTNINGMODEL = IT("Model",Effects)
  1125.     LIGHTNINGMODEL.Name = "Lightning"
  1126.     local LastBolt = nil
  1127.     for E = 1, DISTANCE do
  1128.         local ExtraSize = 0
  1129.         if Thicken == true then
  1130.             ExtraSize = (DISTANCE-E)/15
  1131.         end
  1132.         local TRANSPARENCY = 0
  1133.         if FadeIn == true then
  1134.             TRANSPARENCY = 1-(E/(DISTANCE/1.5))
  1135.             if TRANSPARENCY < 0 then
  1136.                 TRANSPARENCY = 0
  1137.             end
  1138.         end
  1139.         local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1140.         PART.Color = Color
  1141.         MakeForm(PART,"Cyl")
  1142.         if LastBolt == nil then
  1143.             PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1144.         else
  1145.             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,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1146.         end
  1147.         LastBolt = PART
  1148.         if Branches == true and E < (DISTANCE-5) then
  1149.             local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1150.             if CHOICE == 1 then
  1151.                 local LASTBRANCH = nil
  1152.                 for i = 1, MRANDOM(2,5) do
  1153.                     local ExtraSize2 = 0
  1154.                     if Thicken == true then
  1155.                         ExtraSize = ((DISTANCE-E)/25)/i
  1156.                     end
  1157.                     local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1158.                     PART.Color = Color
  1159.                     MakeForm(PART,"Cyl")
  1160.                     if LASTBRANCH == nil then
  1161.                         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)
  1162.                     else
  1163.                         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)
  1164.                     end
  1165.                     LASTBRANCH = PART
  1166.                 end
  1167.             end
  1168.         end
  1169.     end
  1170.     if Dissapear == true then
  1171.         coroutine.resume(coroutine.create(function()
  1172.             for i = 1, FadeTime do
  1173.                 Swait()
  1174.                 for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1175.                     if c.ClassName == "Part" then
  1176.                         c.Transparency = c.Transparency + (i/FadeTime)/10
  1177.                     end
  1178.                 end
  1179.             end
  1180.             LIGHTNINGMODEL:remove()
  1181.         end))
  1182.     elseif Dissapear == false then
  1183.         Debris:AddItem(LIGHTNINGMODEL,0.1)
  1184.     end
  1185.     return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1186. end
  1187. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  1188.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  1189.     wave.Color = COLOR
  1190.     local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1191.     wave.CFrame = CFRAME
  1192.     coroutine.resume(coroutine.create(function(PART)
  1193.         for i = 1, WAIT do
  1194.             Swait()
  1195.             mesh.Scale = mesh.Scale + GROW
  1196.             mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  1197.             if DOESROT == true then
  1198.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  1199.             end
  1200.             wave.Transparency = wave.Transparency + (0.5/WAIT)
  1201.             if wave.Transparency > 0.99 then
  1202.                 wave:remove()
  1203.             end
  1204.         end
  1205.     end))
  1206. end
  1207.  
  1208. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  1209.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  1210.     wave.Color = COLOR
  1211.     local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  1212.     wave.CFrame = CFRAME
  1213.     coroutine.resume(coroutine.create(function(PART)
  1214.         for i = 1, WAIT do
  1215.             Swait()
  1216.             mesh.Scale = mesh.Scale + GROW
  1217.             wave.Transparency = wave.Transparency + (1/WAIT)
  1218.             if wave.Transparency > 0.99 then
  1219.                 wave:remove()
  1220.             end
  1221.         end
  1222.     end))
  1223. end
  1224. function MakeForm(PART,TYPE)
  1225.     if TYPE == "Cyl" then
  1226.         local MSH = IT("BlockMesh",PART)
  1227.     elseif TYPE == "Ball" then
  1228.         local MSH = IT("SpecialMesh",PART)
  1229.         MSH.MeshType = "Sphere"
  1230.     elseif TYPE == "Cyl2" then
  1231.         local MSH = IT("CylinderMesh",PART)
  1232.     elseif TYPE == "Wedge" then
  1233.         local MSH = IT("SpecialMesh",PART)
  1234.         MSH.MeshType = "Wedge"
  1235.     end
  1236. end
  1237.  
  1238. function SpawnTrail(FROM,TO,BIG)
  1239.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Light gray", "Trail", VT(0,0,0))
  1240.     MakeForm(TRAIL,"Cyl")
  1241.     local DIST = (FROM - TO).Magnitude
  1242.     if BIG == true then
  1243.         TRAIL.Size = VT(0.5,DIST,0.5)
  1244.     else
  1245.         TRAIL.Size = VT(0.25,DIST,0.25)
  1246.     end
  1247.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1248.     coroutine.resume(coroutine.create(function()
  1249.         for i = 1, 5 do
  1250.             Swait()
  1251.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  1252.         end
  1253.         TRAIL:remove()
  1254.     end))
  1255. end
  1256.  
  1257. Debris = game:GetService("Debris")
  1258.  
  1259. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1260.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1261.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1262. end
  1263.  
  1264. function turnto(position)
  1265.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1266. end
  1267.  
  1268. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1269.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1270. end
  1271.  
  1272. function PositiveAngle(NUMBER)
  1273.     if NUMBER >= 0 then
  1274.         NUMBER = 0
  1275.     end
  1276.     return NUMBER
  1277. end
  1278.  
  1279. function NegativeAngle(NUMBER)
  1280.     if NUMBER <= 0 then
  1281.         NUMBER = 0
  1282.     end
  1283.     return NUMBER
  1284. end
  1285.  
  1286. function Swait(NUMBER)
  1287.     if NUMBER == 0 or NUMBER == nil then
  1288.         ArtificialHB.Event:wait()
  1289.     else
  1290.         for i = 1, NUMBER do
  1291.             ArtificialHB.Event:wait()
  1292.         end
  1293.     end
  1294. end
  1295.  
  1296. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1297.     local NEWMESH = IT(MESH)
  1298.     if MESH == "SpecialMesh" then
  1299.         NEWMESH.MeshType = MESHTYPE
  1300.         if MESHID ~= "nil" and MESHID ~= "" then
  1301.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1302.         end
  1303.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1304.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1305.         end
  1306.     end
  1307.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1308.     NEWMESH.Scale = SCALE
  1309.     NEWMESH.Parent = PARENT
  1310.     return NEWMESH
  1311. end
  1312.  
  1313. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1314.     local NEWPART = IT("Part")
  1315.     NEWPART.formFactor = FORMFACTOR
  1316.     NEWPART.Reflectance = REFLECTANCE
  1317.     NEWPART.Transparency = TRANSPARENCY
  1318.     NEWPART.CanCollide = false
  1319.     NEWPART.Locked = true
  1320.     NEWPART.Anchored = true
  1321.     if ANCHOR == false then
  1322.         NEWPART.Anchored = false
  1323.     end
  1324.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1325.     NEWPART.Name = NAME
  1326.     NEWPART.Size = SIZE
  1327.     NEWPART.Position = Torso.Position
  1328.     NEWPART.Material = MATERIAL
  1329.     NEWPART:BreakJoints()
  1330.     NEWPART.Parent = PARENT
  1331.     return NEWPART
  1332. end
  1333.  
  1334.     local function weldBetween(a, b)
  1335.         local weldd = IT("Weld")
  1336.         weldd.Part0 = a
  1337.         weldd.Part1 = b
  1338.         weldd.C0 = CF()
  1339.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  1340.         weldd.Parent = a
  1341.         return weldd
  1342.     end
  1343.  
  1344.  
  1345. function QuaternionFromCFrame(cf)
  1346.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1347.     local trace = m00 + m11 + m22
  1348.     if trace > 0 then
  1349.         local s = math.sqrt(1 + trace)
  1350.         local recip = 0.5 / s
  1351.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1352.     else
  1353.         local i = 0
  1354.         if m11 > m00 then
  1355.             i = 1
  1356.         end
  1357.         if m22 > (i == 0 and m00 or m11) then
  1358.             i = 2
  1359.         end
  1360.         if i == 0 then
  1361.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1362.             local recip = 0.5 / s
  1363.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1364.         elseif i == 1 then
  1365.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1366.             local recip = 0.5 / s
  1367.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1368.         elseif i == 2 then
  1369.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1370.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1371.         end
  1372.     end
  1373. end
  1374.  
  1375. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1376.     local xs, ys, zs = x + x, y + y, z + z
  1377.     local wx, wy, wz = w * xs, w * ys, w * zs
  1378.     local xx = x * xs
  1379.     local xy = x * ys
  1380.     local xz = x * zs
  1381.     local yy = y * ys
  1382.     local yz = y * zs
  1383.     local zz = z * zs
  1384.     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))
  1385. end
  1386.  
  1387. function QuaternionSlerp(a, b, t)
  1388.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1389.     local startInterp, finishInterp;
  1390.     if cosTheta >= 0.0001 then
  1391.         if (1 - cosTheta) > 0.0001 then
  1392.             local theta = ACOS(cosTheta)
  1393.             local invSinTheta = 1 / SIN(theta)
  1394.             startInterp = SIN((1 - t) * theta) * invSinTheta
  1395.             finishInterp = SIN(t * theta) * invSinTheta
  1396.         else
  1397.             startInterp = 1 - t
  1398.             finishInterp = t
  1399.         end
  1400.     else
  1401.         if (1 + cosTheta) > 0.0001 then
  1402.             local theta = ACOS(-cosTheta)
  1403.             local invSinTheta = 1 / SIN(theta)
  1404.             startInterp = SIN((t - 1) * theta) * invSinTheta
  1405.             finishInterp = SIN(t * theta) * invSinTheta
  1406.         else
  1407.             startInterp = t - 1
  1408.             finishInterp = t
  1409.         end
  1410.     end
  1411.     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
  1412. end
  1413.  
  1414. function Clerp(a, b, t)
  1415.     local qa = {QuaternionFromCFrame(a)}
  1416.     local qb = {QuaternionFromCFrame(b)}
  1417.     local ax, ay, az = a.x, a.y, a.z
  1418.     local bx, by, bz = b.x, b.y, b.z
  1419.     local _t = 1 - t
  1420.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1421. end
  1422.  
  1423. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1424.     local frame = IT("Frame")
  1425.     frame.BackgroundTransparency = TRANSPARENCY
  1426.     frame.BorderSizePixel = BORDERSIZEPIXEL
  1427.     frame.Position = POSITION
  1428.     frame.Size = SIZE
  1429.     frame.BackgroundColor3 = COLOR
  1430.     frame.BorderColor3 = BORDERCOLOR
  1431.     frame.Name = NAME
  1432.     frame.Parent = PARENT
  1433.     return frame
  1434. end
  1435.  
  1436. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1437.     local label = IT("TextLabel")
  1438.     label.BackgroundTransparency = 1
  1439.     label.Size = UD2(1, 0, 1, 0)
  1440.     label.Position = UD2(0, 0, 0, 0)
  1441.     label.TextColor3 = TEXTCOLOR
  1442.     label.TextStrokeTransparency = STROKETRANSPARENCY
  1443.     label.TextTransparency = TRANSPARENCY
  1444.     label.FontSize = TEXTFONTSIZE
  1445.     label.Font = TEXTFONT
  1446.     label.BorderSizePixel = BORDERSIZEPIXEL
  1447.     label.TextScaled = false
  1448.     label.Text = TEXT
  1449.     label.Name = NAME
  1450.     label.Parent = PARENT
  1451.     return label
  1452. end
  1453.  
  1454. function NoOutlines(PART)
  1455.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1456. end
  1457.  
  1458. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1459.     local NEWWELD = IT(TYPE)
  1460.     NEWWELD.Part0 = PART0
  1461.     NEWWELD.Part1 = PART1
  1462.     NEWWELD.C0 = C0
  1463.     NEWWELD.C1 = C1
  1464.     NEWWELD.Parent = PARENT
  1465.     return NEWWELD
  1466. end
  1467.  
  1468. local S = IT("Sound")
  1469. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1470.     local NEWSOUND = nil
  1471.     coroutine.resume(coroutine.create(function()
  1472.         NEWSOUND = S:Clone()
  1473.         NEWSOUND.Parent = PARENT
  1474.         NEWSOUND.Volume = VOLUME
  1475.         NEWSOUND.Pitch = PITCH
  1476.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1477.         NEWSOUND:play()
  1478.         if DOESLOOP == true then
  1479.             NEWSOUND.Looped = true
  1480.         else
  1481.             repeat wait(1) until NEWSOUND.Playing == false
  1482.             NEWSOUND:remove()
  1483.         end
  1484.     end))
  1485.     return NEWSOUND
  1486. end
  1487.  
  1488. function CFrameFromTopBack(at, top, back)
  1489.     local right = top:Cross(back)
  1490.     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)
  1491. end
  1492.  
  1493. --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})
  1494. function WACKYEFFECT(Table)
  1495.     local TYPE = (Table.EffectType or "Sphere")
  1496.     local SIZE = (Table.Size or VT(1,1,1))
  1497.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1498.     local TRANSPARENCY = (Table.Transparency or 0)
  1499.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1500.     local CFRAME = (Table.CFrame or Torso.CFrame)
  1501.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  1502.     local ROTATION1 = (Table.RotationX or 0)
  1503.     local ROTATION2 = (Table.RotationY or 0)
  1504.     local ROTATION3 = (Table.RotationZ or 0)
  1505.     local MATERIAL = (Table.Material or "Neon")
  1506.     local COLOR = (Table.Color or C3(1,1,1))
  1507.     local TIME = (Table.Time or 45)
  1508.     local SOUNDID = (Table.SoundID or nil)
  1509.     local SOUNDPITCH = (Table.SoundPitch or nil)
  1510.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  1511.     coroutine.resume(coroutine.create(function()
  1512.         local PLAYSSOUND = false
  1513.         local SOUND = nil
  1514.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1515.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1516.             PLAYSSOUND = true
  1517.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1518.         end
  1519.         EFFECT.Color = COLOR
  1520.         local MSH = nil
  1521.         if TYPE == "Sphere" then
  1522.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1523.         elseif TYPE == "Block" then
  1524.             MSH = IT("BlockMesh",EFFECT)
  1525.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1526.         elseif TYPE == "Wave" then
  1527.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1528.         elseif TYPE == "Ring" then
  1529.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1530.         elseif TYPE == "Slash" then
  1531.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1532.         elseif TYPE == "Round Slash" then
  1533.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1534.         elseif TYPE == "Swirl" then
  1535.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1536.         elseif TYPE == "Skull" then
  1537.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1538.         elseif TYPE == "Crystal" then
  1539.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1540.         end
  1541.         if MSH ~= nil then
  1542.             local MOVESPEED = nil
  1543.             if MOVEDIRECTION ~= nil then
  1544.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1545.             end
  1546.             local GROWTH = SIZE - ENDSIZE
  1547.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1548.             if TYPE == "Block" then
  1549.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1550.             else
  1551.                 EFFECT.CFrame = CFRAME
  1552.             end
  1553.             for LOOP = 1, TIME+1 do
  1554.                 Swait()
  1555.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  1556.                 if TYPE == "Wave" then
  1557.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1558.                 end
  1559.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1560.                 if TYPE == "Block" then
  1561.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1562.                 else
  1563.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1564.                 end
  1565.                 if MOVEDIRECTION ~= nil then
  1566.                     local ORI = EFFECT.Orientation
  1567.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1568.                     EFFECT.Orientation = ORI
  1569.                 end
  1570.             end
  1571.             if PLAYSSOUND == false then
  1572.                 EFFECT:remove()
  1573.             else
  1574.                 SOUND.Stopped:Connect(function()
  1575.                     EFFECT:remove()
  1576.                 end)
  1577.             end
  1578.         else
  1579.             if PLAYSSOUND == false then
  1580.                 EFFECT:remove()
  1581.             else
  1582.                 repeat Swait() until SOUND.Playing == false
  1583.                 EFFECT:remove()
  1584.             end
  1585.         end
  1586.     end))
  1587. end
  1588.  
  1589. function MakeForm(PART,TYPE)
  1590.     if TYPE == "Cyl" then
  1591.         local MSH = IT("CylinderMesh",PART)
  1592.     elseif TYPE == "Ball" then
  1593.         local MSH = IT("SpecialMesh",PART)
  1594.         MSH.MeshType = "Sphere"
  1595.     elseif TYPE == "Wedge" then
  1596.         local MSH = IT("SpecialMesh",PART)
  1597.         MSH.MeshType = "Wedge"
  1598.     end
  1599. end
  1600.  
  1601. Debris = game:GetService("Debris")
  1602.  
  1603. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1604.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1605.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1606. end
  1607.  
  1608. function turnto(position)
  1609.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1610. end
  1611.  
  1612. function SpawnTrail(FROM,TO,BIG)
  1613.     local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  1614.     MakeForm(TRAIL,"Cyl")
  1615.     local DIST = (FROM - TO).Magnitude
  1616.     if BIG == true then
  1617.         TRAIL.Size = VT(0.5,DIST,0.5)
  1618.     else
  1619.         TRAIL.Size = VT(0.25,DIST,0.25)
  1620.     end
  1621.     TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1622.     coroutine.resume(coroutine.create(function()
  1623.         for i = 1, 5 do
  1624.             Swait()
  1625.             TRAIL.Transparency = TRAIL.Transparency + 0.1
  1626.         end
  1627.         TRAIL:remove()
  1628.     end))
  1629. end
  1630.  
  1631. local asd = Instance.new("ParticleEmitter")
  1632. asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
  1633. asd.LightEmission = .1
  1634. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  1635. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
  1636. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  1637. asd.Transparency = bbb
  1638. asd.Size = aaa
  1639. asd.ZOffset = .9
  1640. asd.Acceleration = Vector3.new(0, -15, 0)
  1641. asd.LockedToPart = false
  1642. asd.EmissionDirection = "Back"
  1643. asd.Lifetime = NumberRange.new(1, 2)
  1644. asd.Rotation = NumberRange.new(-100, 100)
  1645. asd.RotSpeed = NumberRange.new(-100, 100)
  1646. asd.Speed = NumberRange.new(10)
  1647. asd.Enabled = false
  1648. asd.VelocitySpread = 999
  1649.  
  1650. function getbloody(victim,amount)
  1651.     local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  1652.     PART.CFrame = victim.CFrame
  1653.     local HITPLAYERSOUNDS = {"356551938","264486467"}
  1654.     Debris:AddItem(PART,5)
  1655.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1656.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1657.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1658.     local prtcl = asd:Clone()
  1659.     prtcl.Parent = PART
  1660.     prtcl:Emit(amount*10)
  1661. end
  1662.  
  1663. local Particle = IT("ParticleEmitter",nil)
  1664. Particle.Enabled = false
  1665. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
  1666. Particle.LightEmission = 0.5
  1667. Particle.Rate = 150
  1668. Particle.ZOffset = 1
  1669. Particle.Rotation = NumberRange.new(-180, 180)
  1670. Particle.RotSpeed = NumberRange.new(-180, 180)
  1671. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1672. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1673.  
  1674. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1675. function ParticleEmitter(Table)
  1676.     local PRTCL = Particle:Clone()
  1677.     local Speed = Table.Speed or 5
  1678.     local Drag = Table.Drag or 0
  1679.     local Size1 = Table.Size1 or 1
  1680.     local Size2 = Table.Size2 or 5
  1681.     local Lifetime1 = Table.Lifetime1 or 1
  1682.     local Lifetime2 = Table.Lifetime2 or 1.5
  1683.     local Parent = Table.Parent or Torso
  1684.     local Emit = Table.Emit or 100
  1685.     local Offset = Table.Offset or 360
  1686.     local Acel = Table.Acel or VT(0,0,0)
  1687.     local Enabled = Table.Enabled or false
  1688.     PRTCL.Parent = Parent
  1689.     PRTCL.Size = NumberSequence.new(Size1,Size2)
  1690.     PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1691.     PRTCL.Speed = NumberRange.new(Speed)
  1692.     PRTCL.VelocitySpread = Offset
  1693.     PRTCL.Drag = Drag
  1694.     PRTCL.Acceleration = Acel
  1695.     if Enabled == false then
  1696.         PRTCL:Emit(Emit)
  1697.         Debris:AddItem(PRTCL,Lifetime2)
  1698.     else
  1699.         PRTCL.Enabled = true
  1700.     end
  1701.     return PRTCL
  1702. end
  1703.  
  1704. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1705.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1706. end
  1707.  
  1708. function PositiveAngle(NUMBER)
  1709.     if NUMBER >= 0 then
  1710.         NUMBER = 0
  1711.     end
  1712.     return NUMBER
  1713. end
  1714.  
  1715. function NegativeAngle(NUMBER)
  1716.     if NUMBER <= 0 then
  1717.         NUMBER = 0
  1718.     end
  1719.     return NUMBER
  1720. end
  1721.  
  1722. function Swait(NUMBER)
  1723.     if NUMBER == 0 or NUMBER == nil then
  1724.         ArtificialHB.Event:wait()
  1725.     else
  1726.         for i = 1, NUMBER do
  1727.             ArtificialHB.Event:wait()
  1728.         end
  1729.     end
  1730. end
  1731.  
  1732. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1733.     local NEWMESH = IT(MESH)
  1734.     if MESH == "SpecialMesh" then
  1735.         NEWMESH.MeshType = MESHTYPE
  1736.         if MESHID ~= "nil" and MESHID ~= "" then
  1737.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1738.         end
  1739.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1740.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1741.         end
  1742.     end
  1743.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1744.     NEWMESH.Scale = SCALE
  1745.     NEWMESH.Parent = PARENT
  1746.     return NEWMESH
  1747. end
  1748.  
  1749. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1750.     local NEWPART = IT("Part")
  1751.     NEWPART.formFactor = FORMFACTOR
  1752.     NEWPART.Reflectance = REFLECTANCE
  1753.     NEWPART.Transparency = TRANSPARENCY
  1754.     NEWPART.CanCollide = false
  1755.     NEWPART.Locked = true
  1756.     NEWPART.Anchored = true
  1757.     if ANCHOR == false then
  1758.         NEWPART.Anchored = false
  1759.     end
  1760.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1761.     NEWPART.Name = NAME
  1762.     NEWPART.Size = SIZE
  1763.     NEWPART.Position = Torso.Position
  1764.     NEWPART.Material = MATERIAL
  1765.     NEWPART:BreakJoints()
  1766.     NEWPART.Parent = PARENT
  1767.     return NEWPART
  1768. end
  1769.  
  1770.     local function weldBetween(a, b)
  1771.         local weldd = Instance.new("ManualWeld")
  1772.         weldd.Part0 = a
  1773.         weldd.Part1 = b
  1774.         weldd.C0 = CFrame.new()
  1775.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  1776.         weldd.Parent = a
  1777.         return weldd
  1778.     end
  1779.  
  1780.  
  1781. function QuaternionFromCFrame(cf)
  1782.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1783.     local trace = m00 + m11 + m22
  1784.     if trace > 0 then
  1785.         local s = math.sqrt(1 + trace)
  1786.         local recip = 0.5 / s
  1787.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1788.     else
  1789.         local i = 0
  1790.         if m11 > m00 then
  1791.             i = 1
  1792.         end
  1793.         if m22 > (i == 0 and m00 or m11) then
  1794.             i = 2
  1795.         end
  1796.         if i == 0 then
  1797.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1798.             local recip = 0.5 / s
  1799.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1800.         elseif i == 1 then
  1801.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1802.             local recip = 0.5 / s
  1803.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1804.         elseif i == 2 then
  1805.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1806.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1807.         end
  1808.     end
  1809. end
  1810.  
  1811. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1812.     local xs, ys, zs = x + x, y + y, z + z
  1813.     local wx, wy, wz = w * xs, w * ys, w * zs
  1814.     local xx = x * xs
  1815.     local xy = x * ys
  1816.     local xz = x * zs
  1817.     local yy = y * ys
  1818.     local yz = y * zs
  1819.     local zz = z * zs
  1820.     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))
  1821. end
  1822.  
  1823. function QuaternionSlerp(a, b, t)
  1824.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1825.     local startInterp, finishInterp;
  1826.     if cosTheta >= 0.0001 then
  1827.         if (1 - cosTheta) > 0.0001 then
  1828.             local theta = ACOS(cosTheta)
  1829.             local invSinTheta = 1 / SIN(theta)
  1830.             startInterp = SIN((1 - t) * theta) * invSinTheta
  1831.             finishInterp = SIN(t * theta) * invSinTheta
  1832.         else
  1833.             startInterp = 1 - t
  1834.             finishInterp = t
  1835.         end
  1836.     else
  1837.         if (1 + cosTheta) > 0.0001 then
  1838.             local theta = ACOS(-cosTheta)
  1839.             local invSinTheta = 1 / SIN(theta)
  1840.             startInterp = SIN((t - 1) * theta) * invSinTheta
  1841.             finishInterp = SIN(t * theta) * invSinTheta
  1842.         else
  1843.             startInterp = t - 1
  1844.             finishInterp = t
  1845.         end
  1846.     end
  1847.     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
  1848. end
  1849.  
  1850. function Clerp(a, b, t)
  1851.     local qa = {QuaternionFromCFrame(a)}
  1852.     local qb = {QuaternionFromCFrame(b)}
  1853.     local ax, ay, az = a.x, a.y, a.z
  1854.     local bx, by, bz = b.x, b.y, b.z
  1855.     local _t = 1 - t
  1856.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1857. end
  1858.  
  1859. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1860.     local frame = IT("Frame")
  1861.     frame.BackgroundTransparency = TRANSPARENCY
  1862.     frame.BorderSizePixel = BORDERSIZEPIXEL
  1863.     frame.Position = POSITION
  1864.     frame.Size = SIZE
  1865.     frame.BackgroundColor3 = COLOR
  1866.     frame.BorderColor3 = BORDERCOLOR
  1867.     frame.Name = NAME
  1868.     frame.Parent = PARENT
  1869.     return frame
  1870. end
  1871.  
  1872. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1873.     local label = IT("TextLabel")
  1874.     label.BackgroundTransparency = 1
  1875.     label.Size = UD2(1, 0, 1, 0)
  1876.     label.Position = UD2(0, 0, 0, 0)
  1877.     label.TextColor3 = TEXTCOLOR
  1878.     label.TextStrokeTransparency = STROKETRANSPARENCY
  1879.     label.TextTransparency = TRANSPARENCY
  1880.     label.FontSize = TEXTFONTSIZE
  1881.     label.Font = TEXTFONT
  1882.     label.BorderSizePixel = BORDERSIZEPIXEL
  1883.     label.TextStrokeColor3 = C3(1,1,1)
  1884.     label.TextScaled = false
  1885.     label.Text = TEXT
  1886.     label.Name = NAME
  1887.     label.Parent = PARENT
  1888.     return label
  1889. end
  1890.  
  1891. function NoOutlines(PART)
  1892.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1893. end
  1894.  
  1895. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1896.     local NEWWELD = IT(TYPE)
  1897.     NEWWELD.Part0 = PART0
  1898.     NEWWELD.Part1 = PART1
  1899.     NEWWELD.C0 = C0
  1900.     NEWWELD.C1 = C1
  1901.     NEWWELD.Parent = PARENT
  1902.     return NEWWELD
  1903. end
  1904.  
  1905. local S = IT("Sound")
  1906. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1907.     local NEWSOUND = nil
  1908.     coroutine.resume(coroutine.create(function()
  1909.         NEWSOUND = S:Clone()
  1910.         NEWSOUND.Parent = PARENT
  1911.         NEWSOUND.Volume = VOLUME
  1912.         NEWSOUND.Pitch = PITCH
  1913.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1914.         NEWSOUND:play()
  1915.         if DOESLOOP == true then
  1916.             NEWSOUND.Looped = true
  1917.         else
  1918.             repeat wait(1) until NEWSOUND.Playing == false
  1919.             NEWSOUND:remove()
  1920.         end
  1921.     end))
  1922.     return NEWSOUND
  1923. end
  1924.  
  1925. function CFrameFromTopBack(at, top, back)
  1926.     local right = top:Cross(back)
  1927.     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)
  1928. end
  1929.  
  1930. --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})
  1931. function WACKYEFFECT(Table)
  1932.     local TYPE = (Table.EffectType or "Sphere")
  1933.     local SIZE = (Table.Size or VT(1,1,1))
  1934.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1935.     local TRANSPARENCY = (Table.Transparency or 0)
  1936.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1937.     local CFRAME = (Table.CFrame or Torso.CFrame)
  1938.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  1939.     local ROTATION1 = (Table.RotationX or 0)
  1940.     local ROTATION2 = (Table.RotationY or 0)
  1941.     local ROTATION3 = (Table.RotationZ or 0)
  1942.     local MATERIAL = (Table.Material or "Neon")
  1943.     local COLOR = (Table.Color or C3(66/255, 0/255, 127/2551))
  1944.     local TIME = (Table.Time or 45)
  1945.     local SOUNDID = (Table.SoundID or nil)
  1946.     local SOUNDPITCH = (Table.SoundPitch or nil)
  1947.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  1948.     coroutine.resume(coroutine.create(function()
  1949.         local PLAYSSOUND = false
  1950.         local SOUND = nil
  1951.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Dark indigo"), "Effect", VT(1,1,1), true)
  1952.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1953.             PLAYSSOUND = true
  1954.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1955.         end
  1956.         EFFECT.Color = COLOR
  1957.         local MSH = nil
  1958.         if TYPE == "Sphere" then
  1959.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1960.         elseif TYPE == "Block" then
  1961.             MSH = IT("BlockMesh",EFFECT)
  1962.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1963.         elseif TYPE == "Wave" then
  1964.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1965.         elseif TYPE == "Ring" then
  1966.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1967.         elseif TYPE == "Slash" then
  1968.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1969.         elseif TYPE == "Round Slash" then
  1970.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1971.         elseif TYPE == "Swirl" then
  1972.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1973.         elseif TYPE == "Skull" then
  1974.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1975.         elseif TYPE == "Crystal" then
  1976.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1977.         end
  1978.         if MSH ~= nil then
  1979.             local MOVESPEED = nil
  1980.             if MOVEDIRECTION ~= nil then
  1981.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1982.             end
  1983.             local GROWTH = SIZE - ENDSIZE
  1984.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1985.             if TYPE == "Block" then
  1986.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1987.             else
  1988.                 EFFECT.CFrame = CFRAME
  1989.             end
  1990.             for LOOP = 1, TIME+1 do
  1991.                 Swait()
  1992.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  1993.                 if TYPE == "Wave" then
  1994.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1995.                 end
  1996.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1997.                 if TYPE == "Block" then
  1998.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1999.                 else
  2000.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  2001.                 end
  2002.                 if MOVEDIRECTION ~= nil then
  2003.                     local ORI = EFFECT.Orientation
  2004.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  2005.                     EFFECT.Orientation = ORI
  2006.                 end
  2007.             end
  2008.             if PLAYSSOUND == false then
  2009.                 EFFECT:remove()
  2010.             else
  2011.                 repeat Swait() until SOUND.Playing == false
  2012.                 EFFECT:remove()
  2013.             end
  2014.         else
  2015.             if PLAYSSOUND == false then
  2016.                 EFFECT:remove()
  2017.             else
  2018.                 repeat Swait() until SOUND.Playing == false
  2019.                 EFFECT:remove()
  2020.             end
  2021.         end
  2022.     end))
  2023. end
  2024.  
  2025. function MakeForm(PART,TYPE)
  2026.     if TYPE == "Cyl" then
  2027.         local MSH = IT("CylinderMesh",PART)
  2028.     elseif TYPE == "Ball" then
  2029.         local MSH = IT("SpecialMesh",PART)
  2030.         MSH.MeshType = "Sphere"
  2031.     elseif TYPE == "Wedge" then
  2032.         local MSH = IT("SpecialMesh",PART)
  2033.         MSH.MeshType = "Wedge"
  2034.     end
  2035. end
  2036.  
  2037. Debris = game:GetService("Debris")
  2038.  
  2039. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  2040.     local DIRECTION = CF(StartPos,EndPos).lookVector
  2041.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  2042. end
  2043.  
  2044. function turnto(position)
  2045.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  2046. end
  2047.  
  2048. --//=================================\\
  2049. --||         WEAPON CREATION
  2050. --\\=================================//
  2051.  
  2052. Humanoid.Parent = nil
  2053. RootPart.Size = RootPart.Size*SIZE
  2054. Torso.Size = Torso.Size*SIZE
  2055. RightArm.Size = RightArm.Size*SIZE
  2056. RightLeg.Size = RightLeg.Size*SIZE
  2057. LeftArm.Size = LeftArm.Size*SIZE
  2058. LeftLeg.Size = LeftLeg.Size*SIZE
  2059. RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  2060. RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  2061. Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  2062. Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
  2063. RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  2064. LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  2065. RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  2066. LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  2067. RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  2068. LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  2069. Head.Size = Head.Size*SIZE
  2070. RootJoint.Parent = RootPart
  2071. Neck.Parent = Torso
  2072. RightShoulder.Parent = Torso
  2073. LeftShoulder.Parent = Torso
  2074. RightHip.Parent = Torso
  2075. LeftHip.Parent = Torso
  2076.  
  2077. Humanoid.DisplayDistanceType = "None"
  2078. local naeeym2 = IT("BillboardGui",Character)
  2079. naeeym2.AlwaysOnTop = true
  2080. naeeym2.Size = UDim2.new(5,35,2,15)
  2081. naeeym2.StudsOffset = Vector3.new(0,2,0)
  2082. naeeym2.MaxDistance = 75
  2083. naeeym2.Adornee = Character.Head
  2084. naeeym2.Name = "Name"
  2085. local tecks2 = IT("TextLabel",naeeym2)
  2086. tecks2.BackgroundTransparency = 1
  2087. tecks2.TextScaled = true
  2088. tecks2.BorderSizePixel = 0
  2089. tecks2.Text = "The Ruler Of Space And Time"
  2090. tecks2.Font = "Fantasy"
  2091. tecks2.TextSize = 30
  2092. tecks2.TextStrokeTransparency = 0
  2093. tecks2.TextColor3 = C3(0,0,0)
  2094. tecks2.TextStrokeColor3 = C3(255/255, 255/255, 0/255)
  2095. tecks2.Size = UDim2.new(1,0,0.5,0)
  2096. tecks2.Parent = naeeym2
  2097. local top = Instance.new("Shirt")
  2098. top.ShirtTemplate = "rbxassetid://36929738"
  2099. top.Parent = Character
  2100. top.Name = "Cloth"
  2101. local bottom = Instance.new("Pants")
  2102. bottom.PantsTemplate = "rbxassetid://36929780"
  2103. bottom.Parent = Character
  2104. bottom.Name = "Cloth"
  2105.  
  2106. local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Really black", "Hat", VT(1,1,1),false)
  2107. PRT.Color = C3(0,0,0)
  2108. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
  2109. CreateMesh("SpecialMesh", PRT, "FileMesh", "", "", VT(1,1,1)*SIZE, VT(0,0,0))
  2110. PRT.Transparency = 1
  2111. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Detail", VT(1,1,1),false)
  2112. PRT.Color = C3(0,0,0)
  2113. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
  2114. CreateMesh("SpecialMesh", PRT, "FileMesh", "636922328", "636922344", VT(0.06,0.06,0.06)*SIZE, VT(0,0.08,1))
  2115. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(1,1.2,0.2),false)
  2116. PRT.Color = C3(255/255, 0/255, 0/255)
  2117. MakeForm(PRT,"Ball")
  2118. PRT.Transparency = 1
  2119. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
  2120. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.4,0.5),false)
  2121. PRT.Transparency = 1
  2122. PRT.Color = C3(255/255, 255/255, 0/255)
  2123. MakeForm(PRT,"Ball")
  2124. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,-0.3,-.5*SIZE), CF(0, 0, 0))
  2125. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
  2126. PRT.Transparency = 1
  2127. PRT.Color = C3(255/255, 255/255, 0/255)
  2128. MakeForm(PRT,"Ball")
  2129. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.25,0.25,-.5*SIZE), CF(0, 0, 0))
  2130. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
  2131. PRT.Color = C3(255/255, 255/255, 0/255)
  2132. MakeForm(PRT,"Ball")
  2133. PRT.Transparency = 1
  2134.  
  2135. local Aura = Instance.new('ParticleEmitter')
  2136. Aura.Name = "Aura"
  2137. Aura.Texture = "rbxassetid://"
  2138. Aura.Parent = PRT
  2139. Aura.LightEmission = 0.3
  2140. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2141. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(255/255, 0/255, 0/255))
  2142. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2143. Aura.LockedToPart = false
  2144. Aura.Lifetime = NumberRange.new(2)
  2145. Aura.Rate = 30
  2146. Aura.Speed = NumberRange.new(1)
  2147. Aura.EmissionDirection = "Top"
  2148. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.25,0.25,-.5*SIZE), CF(0, 0, 0))
  2149.  
  2150. local Particle = IT("ParticleEmitter",nil)
  2151. Particle.Enabled = false
  2152. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  2153. Particle.LightEmission = 0.5
  2154. Particle.Rate = 150
  2155. Particle.ZOffset = 0.2
  2156. Particle.Rotation = NumberRange.new(-180, 180)
  2157. Particle.RotSpeed = NumberRange.new(-180, 180)
  2158. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  2159. Particle.Color = ColorSequence.new(C3(0,0,0),C3(0,0,0))
  2160.  
  2161. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  2162. function ParticleEmitter(Table)
  2163.     local PRTCL = Particle:Clone()
  2164.     local Speed = Table.Speed or 5
  2165.     local Drag = Table.Drag or 0
  2166.     local Size1 = Table.Size1 or 1
  2167.     local Size2 = Table.Size2 or 5
  2168.     local Lifetime1 = Table.Lifetime1 or 1
  2169.     local Lifetime2 = Table.Lifetime2 or 1.5
  2170.     local Parent = Table.Parent or Torso
  2171.     local Emit = Table.Emit or 100
  2172.     local Offset = Table.Offset or 360
  2173.     local Acel = Table.Acel or VT(0,0,0)
  2174.     local Enabled = Table.Enabled or false
  2175.     PRTCL.Parent = Parent
  2176.     PRTCL.Size = NumberSequence.new(Size1,Size2)
  2177.     PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  2178.     PRTCL.Speed = NumberRange.new(Speed)
  2179.     PRTCL.VelocitySpread = Offset
  2180.     PRTCL.Drag = Drag
  2181.     PRTCL.Acceleration = Acel
  2182.     if Enabled == false then
  2183.         PRTCL:Emit(Emit)
  2184.         Debris:AddItem(PRTCL,Lifetime2)
  2185.     else
  2186.         PRTCL.Enabled = true
  2187.     end
  2188.     return PRTCL
  2189. end
  2190.  
  2191.  
  2192. local Handle = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.6,0.2),false)
  2193. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  2194. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.5,0.2),false)
  2195. MakeForm(Part,"Wedge")
  2196. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  2197. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.3,0.2),false)
  2198. MakeForm(Part,"Wedge")
  2199. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  2200. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.3,0.3),false)
  2201. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2202. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.5,0.5),false)
  2203. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2204. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.4,0.4,0.4),false)
  2205. MakeForm(Part,"Cyl")
  2206. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2207. for i = 1, 8 do
  2208.     local Piece = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0,0.35,0.41),false)
  2209.     CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  2210. end
  2211. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0.38,0.41,0.38),false)
  2212. MakeForm(Part,"Cyl")
  2213. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2214. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.37,0.5,0.37),false)
  2215. MakeForm(Part,"Ball")
  2216. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2217. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.7,0.4),false)
  2218. MakeForm(Part,"Wedge")
  2219. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  2220. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.3,0.4,0.2),false)
  2221. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2222. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.35,0.35,0.35),false)
  2223. MakeForm(Part,"Cyl")
  2224. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2225. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.5,0.1,0.5),false)
  2226. MakeForm(Part,"Cyl")
  2227. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2228. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.5,0.1,0.45),false)
  2229. MakeForm(Part,"Cyl")
  2230. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2231. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.2,0.5,0.2),false)
  2232. MakeForm(Part,"Wedge")
  2233. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  2234. local LASTPART = Handle
  2235. for i = 1, 10 do
  2236.     if LASTPART == Handle then
  2237.         local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.1,0.2,0),false)
  2238.         LASTPART = Part
  2239.         CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2240.     else
  2241.         local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.1,0.05,0),false)
  2242.         CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  2243.         LASTPART = Part
  2244.     end
  2245. end
  2246.  
  2247. local Barrel = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.15,2,0.15),false)
  2248. MakeForm(Barrel,"Cyl")
  2249. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2250. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0.25,1,0.25),false)
  2251. MakeForm(Part,"Cyl")
  2252. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  2253. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0,0.1,0.2),false)
  2254. MakeForm(Part,"Wedge")
  2255. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  2256. local Hole = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Eye", VT(0.125,0,0.125),false)
  2257. MakeForm(Hole,"Cyl")
  2258. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  2259. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Light gray", "Part", VT(0,0,0),false)
  2260. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2261. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  2262. local Part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0.5, "Light gray", "Eye", VT(0,0,0),false)
  2263. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2264. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  2265. coroutine.resume(coroutine.create(function()
  2266.     while wait() do
  2267.         GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  2268.         GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  2269.     end
  2270. end))
  2271.  
  2272. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  2273. --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  2274.  
  2275. for _, c in pairs(Weapon:GetDescendants()) do
  2276.     if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2277.         c.Material = "Glass"
  2278.         c.Color = C3(0,0,0)
  2279.     elseif c.ClassName == "Part" and c.Name == "Eye" then
  2280.         c.Color = C3(0,0,0)
  2281.         c.Material = "Neon"
  2282.     end
  2283. end
  2284.  
  2285. Weapon.Parent = Character
  2286. for _, c in pairs(Weapon:GetChildren()) do
  2287.     if c.ClassName == "Part" then
  2288.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2289.     end
  2290. end
  2291.  
  2292. local BODY = {}
  2293. for _, c in pairs(Character:GetDescendants()) do
  2294.     if c:IsA("BasePart") and c.Name ~= "Handle" then
  2295.         if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  2296.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2297.         end
  2298.         table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  2299.     elseif c:IsA("JointInstance") then
  2300.         table.insert(BODY,{c,c.Parent,nil,nil,nil})
  2301.     end
  2302. end
  2303. for e = 1, #BODY do
  2304.     if BODY[e] ~= nil then
  2305.         local STUFF = BODY[e]
  2306.         local PART = STUFF[1]
  2307.         local PARENT = STUFF[2]
  2308.         local MATERIAL = STUFF[3]
  2309.         local COLOR = STUFF[4]
  2310.         local TRANSPARENCY = STUFF[5]
  2311.         if PART.ClassName == "Part" and PART ~= RootPart then
  2312.             PART.Material = MATERIAL
  2313.             PART.Color = COLOR
  2314.             PART.Transparency = TRANSPARENCY
  2315.         end
  2316.         PART.AncestryChanged:Connect(function()
  2317.             PART.Parent = PARENT
  2318.         end)
  2319.     end
  2320. end
  2321.  
  2322. Humanoid.Died:connect(function()
  2323.     Humanoid.Parent = nil
  2324.     Humanoid.MaxHealth = "inf"
  2325.     Humanoid.Health = "inf"
  2326.     refit()
  2327.     Humanoid.Parent = Character
  2328.     CreateSound("907330011", Head, 10, 1.2)
  2329. end)
  2330.  
  2331. local LASTPART = Head
  2332. for i = 1, 24 do
  2333.     local MATH = (1-(i/30))
  2334.     if LASTPART == Head then
  2335.        
  2336.         local Aura = Instance.new('ParticleEmitter')
  2337. Aura.Name = "Aura"
  2338. Aura.Texture = "rbxassetid://"
  2339. Aura.Parent = Horn
  2340. Aura.LightEmission = 0.8
  2341. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2342. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2343. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2344. Aura.LockedToPart = true
  2345. Aura.Lifetime = NumberRange.new(2)
  2346. Aura.Rate = 25
  2347. Aura.Speed = NumberRange.new(0.1)
  2348. Aura.EmissionDirection = "Top"
  2349.     else
  2350.        
  2351.                 local Aura = Instance.new('ParticleEmitter')
  2352. Aura.Name = "Aura"
  2353. Aura.Texture = "rbxassetid://"
  2354. Aura.Parent = Horn
  2355. Aura.LightEmission = 0.8
  2356. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2357. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2358. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2359. Aura.LockedToPart = true
  2360. Aura.Lifetime = NumberRange.new(2)
  2361. Aura.Rate = 25
  2362. Aura.Speed = NumberRange.new(0.1)
  2363. Aura.EmissionDirection = "Top"
  2364.     end
  2365. end
  2366. local LASTPART = Head
  2367. for i = 1, 24 do
  2368.     local MATH = (1-(i/30))
  2369.     if LASTPART == Head then
  2370.        
  2371.                 local Aura = Instance.new('ParticleEmitter')
  2372. Aura.Name = "Aura"
  2373. Aura.Texture = "rbxassetid://"
  2374. Aura.LightEmission = 0.8
  2375. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2376. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2377. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2378. Aura.LockedToPart = true
  2379. Aura.Lifetime = NumberRange.new(2)
  2380. Aura.Rate = 25
  2381. Aura.Speed = NumberRange.new(0.1)
  2382. Aura.EmissionDirection = "Top"
  2383.     else
  2384. Aura.Name = "Aura"
  2385. Aura.Texture = "rbxassetid://"
  2386. Aura.LightEmission = 0.8
  2387. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2388. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2389. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2390. Aura.LockedToPart = true
  2391. Aura.Lifetime = NumberRange.new(2)
  2392. Aura.Rate = 25
  2393. Aura.Speed = NumberRange.new(0.1)
  2394. Aura.EmissionDirection = "Top"
  2395.     end
  2396. end
  2397. local LASTPART = Head
  2398. for i = 1, 8 do
  2399.     local MATH = (1-(i/14))
  2400.     if LASTPART == Head then
  2401.        
  2402.                 local Aura = Instance.new('ParticleEmitter')
  2403. Aura.Name = "Aura"
  2404. Aura.Texture = "rbxassetid://"
  2405. Aura.LightEmission = 0.8
  2406. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2407. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2408. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2409. Aura.LockedToPart = true
  2410. Aura.Lifetime = NumberRange.new(2)
  2411. Aura.Rate = 25
  2412. Aura.Speed = NumberRange.new(0.1)
  2413. Aura.EmissionDirection = "Top"
  2414.     else
  2415.        
  2416.                 local Aura = Instance.new('ParticleEmitter')
  2417. Aura.Name = "Aura"
  2418. Aura.Texture = "rbxassetid://"
  2419. Aura.Parent = Horn
  2420. Aura.LightEmission = 0.8
  2421. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2422. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2423. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2424. Aura.LockedToPart = true
  2425. Aura.Lifetime = NumberRange.new(2)
  2426. Aura.Rate = 25
  2427. Aura.Speed = NumberRange.new(0.1)
  2428. Aura.EmissionDirection = "Top"
  2429.     end
  2430. end
  2431. local LASTPART = Head
  2432. for i = 1, 8 do
  2433.     local MATH = (1-(i/14))
  2434.     if LASTPART == Head then
  2435.                 local Aura = Instance.new('ParticleEmitter')
  2436. Aura.Name = "Aura"
  2437. Aura.Texture = "rbxassetid://"
  2438. Aura.Parent = Horn
  2439. Aura.LightEmission = 0.8
  2440. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2441. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2442. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2443. Aura.LockedToPart = true
  2444. Aura.Lifetime = NumberRange.new(2)
  2445. Aura.Rate = 25
  2446. Aura.Speed = NumberRange.new(0.1)
  2447. Aura.EmissionDirection = "Top"
  2448.     else
  2449.         local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Detail", VT(0.25*MATH,0.15,0.25*MATH),false)
  2450.         CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(10), RAD(-3), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
  2451.         LASTPART = Horn
  2452.         Horn.Color = C3(1-((i*4-4)/255),1-((i*6-6)/255),0/255)
  2453.                 local Aura = Instance.new('ParticleEmitter')
  2454. Aura.Name = "Aura"
  2455. Aura.Texture = "rbxassetid://"
  2456. Aura.Parent = Horn
  2457. Aura.LightEmission = 0.8
  2458. Aura.Transparency = NumberSequence.new(0,0.6,1)
  2459. Aura.Color = ColorSequence.new(Color3.new(255/255, 255/255, 255/255),Color3.new(0/255, 0/255, 0/255))
  2460. Aura.Size = NumberSequence.new(0.3,0.2,0.1)
  2461. Aura.LockedToPart = true
  2462. Aura.Lifetime = NumberRange.new(2)
  2463. Aura.Rate = 25
  2464. Aura.Speed = NumberRange.new(0.1)
  2465. Aura.EmissionDirection = "Top"
  2466.     end
  2467. end
  2468. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
  2469. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2470. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
  2471. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2472. MakeForm(PRT,"Cyl")
  2473. local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Mid gray", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
  2474. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2475. MakeForm(PRT,"Cyl")
  2476. PRT.Color = C3(255/255, 255/255, 0/255)
  2477. local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
  2478. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2479. MakeForm(RING,"Cyl")
  2480. RING.Color = C3(0,0,0)
  2481. for i = 1, 12 do
  2482.     local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0)*SIZE,false)
  2483.     PRT.Color = C3(0,0,0)
  2484.     local MSH = IT("BlockMesh",PRT)
  2485.     MSH.Scale = VT(0.6,1,1)
  2486.     CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD((360/12)*i), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.2*SIZE))
  2487. end
  2488. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15)*SIZE,false)
  2489. PRT.Color = C3(0,0,0)
  2490. local MSH = IT("BlockMesh",PRT)
  2491. MSH.Scale = VT(0.4,1,1)
  2492. local WATCH1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.075*SIZE))
  2493. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
  2494. PRT.Color = C3(0,0,0)
  2495. local MSH = IT("BlockMesh",PRT)
  2496. MSH.Scale = VT(0.4,1,1)
  2497. local WATCH2 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -(0.075/1.5)*SIZE))
  2498. coroutine.resume(coroutine.create(function()
  2499.     while true do
  2500.         Swait()
  2501.         CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
  2502.         WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
  2503.         WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
  2504.         if CLOCKLOOP <= -150 then
  2505.             if VALUE1 == false then
  2506.                 CLOCKLOOP = 0
  2507.                 WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = 743521450, SoundPitch = 1.2, SoundVolume = 2})
  2508.                 local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
  2509.                 ApplyAoE(HITPOS,10,15,45,75,true)
  2510.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 4})
  2511.                 WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(12,3,12), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(255, 255, 0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 4})
  2512.                 if CLOCKTARGET ~= nil then
  2513.                     CLOCKTARGET.Health = CLOCKTARGET.Health - 20
  2514.                     if CLOCKTARGET.Torso ~= nil then
  2515.                         CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  2516.                     end
  2517.                     if CLOCKTARGET.Health == 0 then
  2518.                         CLOCKTARGET = nil
  2519.                     end
  2520.                 end
  2521.             end
  2522.         end
  2523.     end
  2524. end))
  2525.  
  2526. for _, c in pairs(Weapon:GetChildren()) do
  2527.     if c.ClassName == "Part" then
  2528.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2529.     end
  2530. end
  2531.  
  2532. Neck.Name = "Weld"
  2533. RootJoint.Name = "Weld"
  2534. RightShoulder.Name = "Weld"
  2535. LeftShoulder.Name = "Weld"
  2536. RightHip.Name = "Weld"
  2537. LeftHip.Name = "Weld"
  2538.  
  2539. local BODY = {}
  2540. for _, c in pairs(Character:GetDescendants()) do
  2541.     if c:IsA("BasePart") and c.Name ~= "Handle" then
  2542.         if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  2543.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2544.         end
  2545.         table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  2546.     elseif c:IsA("JointInstance") then
  2547.         table.insert(BODY,{c,c.Parent,nil,nil,nil})
  2548.     end
  2549. end
  2550. for e = 1, #BODY do
  2551.     if BODY[e] ~= nil then
  2552.         local STUFF = BODY[e]
  2553.         local PART = STUFF[1]
  2554.         local PARENT = STUFF[2]
  2555.         local MATERIAL = STUFF[3]
  2556.         local COLOR = STUFF[4]
  2557.         local TRANSPARENCY = STUFF[5]
  2558.         if PART.ClassName == "Part" and PART ~= RootPart then
  2559.             PART.Material = MATERIAL
  2560.             PART.Color = COLOR
  2561.             PART.Transparency = TRANSPARENCY
  2562.         end
  2563.         PART.AncestryChanged:Connect(function()
  2564.             PART.Parent = PARENT
  2565.         end)
  2566.     end
  2567. end
  2568.  
  2569. function refit()
  2570.     Character.Parent = workspace
  2571.     for e = 1, #BODY do
  2572.         if BODY[e] ~= nil then
  2573.             local STUFF = BODY[e]
  2574.             local PART = STUFF[1]
  2575.             local PARENT = STUFF[2]
  2576.             local MATERIAL = STUFF[3]
  2577.             local COLOR = STUFF[4]
  2578.             local TRANSPARENCY = STUFF[5]
  2579.             if PART.ClassName == "Part" and PART ~= RootPart then
  2580.                 PART.Material = MATERIAL
  2581.                 PART.Color = COLOR
  2582.                 PART.Transparency = TRANSPARENCY
  2583.             end
  2584.             if PART.Parent ~= PARENT then
  2585.                 Humanoid:remove()
  2586.                 PART.Parent = PARENT
  2587.                 Humanoid = IT("Humanoid",Character)
  2588.             end
  2589.         end
  2590.     end
  2591. end
  2592. local SKILLTEXTCOLOR = C3(255/255, 255/255, 0/255)
  2593. local SKILLFONT = "Fantasy"
  2594. local SKILLTEXTSIZE = 7
  2595.  
  2596. Weapon.Parent = Character
  2597. Humanoid.Parent = Character
  2598.  
  2599. Humanoid.Died:connect(function()
  2600.     Humanoid.Parent = nil
  2601.     Humanoid.MaxHealth = "inf"
  2602.     Humanoid.Health = "inf"
  2603.     refit()
  2604.     Humanoid.Parent = Character
  2605.     CreateSound("907330011", Head, 10, 1.2)
  2606. end)
  2607.  
  2608. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  2609. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  2610. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  2611. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  2612. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  2613. local SKILL7FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.85, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 7 Frame")
  2614. local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
  2615. local SKILL9FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.475, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 9 Frame")
  2616. local SKILL10FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.225, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 10 Frame")
  2617.  
  2618. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Time Spikes", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 1")
  2619. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Time Stop", SKILLTEXTCOLOR, SKILLTEXTSIZE-1, SKILLFONT, 0, 2, 0, "Text 2")
  2620. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Space's Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
  2621. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Time Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
  2622. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Red Star", SKILLTEXTCOLOR, SKILLTEXTSIZE+1, SKILLFONT, 0, 2, 0, "Text 5")
  2623. local SKILL7TEXT = CreateLabel(SKILL7FRAME, "[R] Time Blast", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 7")
  2624. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[F] Ultimate Blast", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 6")
  2625. local SKILL9TEXT = CreateLabel(SKILL9FRAME, "[Q] Warp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 9")
  2626. local SKILL10TEXT = CreateLabel(SKILL10FRAME, "[E] God Mode", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 10")
  2627.  
  2628. function printbye(Name)
  2629.     local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  2630.     warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  2631. end
  2632.  
  2633. workspace.ChildAdded:connect(function(instance)
  2634.     for BANISH = 1, #TOBANISH do
  2635.         if TOBANISH[BANISH] ~= nil then
  2636.             if instance.Name == TOBANISH[BANISH] then
  2637.                 coroutine.resume(coroutine.create(function()
  2638.                     printbye(instance.Name)
  2639.                     instance:ClearAllChildren()
  2640.                     Debris:AddItem(instance,0.0005)
  2641.                 end))
  2642.             end
  2643.         end
  2644.     end
  2645. end)
  2646.  
  2647.  
  2648. --//=================================\\
  2649. --||            DAMAGING
  2650. --\\=================================//
  2651.  
  2652. function Kill(Foe)
  2653.     if Foe then
  2654.         coroutine.resume(coroutine.create(function()
  2655.             --if game.Players:FindFirstChild(Foe.Name) then
  2656.                 table.insert(TOBANISH,Foe.Name)
  2657.                 printbye(Foe.Name)
  2658.             --end
  2659.             Foe.Archivable = true
  2660.             local CLONE = Foe:Clone()
  2661.             Foe:Destroy()
  2662.             CLONE.Parent = Effects
  2663.             CLONE:BreakJoints()
  2664.             local MATERIALS = {"Glass","Neon"}
  2665.             for _, c in pairs(CLONE:GetDescendants()) do
  2666.                 if c:IsA("BasePart") then
  2667.                     if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  2668.                         CreateSound(340722848, c, 10, 1, false)
  2669.                     end
  2670.                     c.Anchored = true
  2671.                     c.Transparency = c.Transparency + 0.2
  2672.                     c.Material = MATERIALS[MRANDOM(1,2)]
  2673.                     c.Color = C3(0,0,0)
  2674.                     if c.ClassName == "MeshPart" then
  2675.                         c.TextureID = ""
  2676.                     end
  2677.                     if c:FindFirstChildOfClass("SpecialMesh") then
  2678.                         c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2679.                     end
  2680.                     if c:FindFirstChildOfClass("Decal") then
  2681.                         c:FindFirstChildOfClass("Decal"):remove()
  2682.                     end
  2683.                     c.Name = "Banished"
  2684.                     c.CanCollide = false
  2685.                 else
  2686.                     c:remove()
  2687.                 end
  2688.             end
  2689.             local A = false
  2690.             for i = 1, 35 do
  2691.                 if A == false then
  2692.                     A = true
  2693.                 elseif A == true then
  2694.                     A = false
  2695.                 end
  2696.                 for _, c in pairs(CLONE:GetDescendants()) do
  2697.                     if c:IsA("BasePart") then
  2698.                         c.Anchored = true
  2699.                         c.Material = MATERIALS[MRANDOM(1,2)]
  2700.                         c.Transparency = c.Transparency + 0.8/35
  2701.                         if A == false then
  2702.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2703.                         elseif A == true then
  2704.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                       
  2705.                         end
  2706.                     end
  2707.                 end
  2708.                 Swait()
  2709.             end
  2710.             CLONE:remove()
  2711.         end))
  2712.     end
  2713. end
  2714.  
  2715. local asd = Instance.new("ParticleEmitter")
  2716. asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
  2717. asd.LightEmission = .1
  2718. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  2719. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
  2720. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  2721. asd.Transparency = bbb
  2722. asd.Size = aaa
  2723. asd.ZOffset = .9
  2724. asd.Acceleration = Vector3.new(0, -15, 0)
  2725. asd.LockedToPart = false
  2726. asd.EmissionDirection = "Back"
  2727. asd.Lifetime = NumberRange.new(1, 2)
  2728. asd.Rotation = NumberRange.new(-100, 100)
  2729. asd.RotSpeed = NumberRange.new(-100, 100)
  2730. asd.Speed = NumberRange.new(10)
  2731. asd.Enabled = false
  2732. asd.VelocitySpread = 999
  2733. function getbloody(victim,amount)
  2734.     local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  2735.     PART.CFrame = victim.CFrame
  2736.     local HITPLAYERSOUNDS = {"356551938","264486467"}
  2737.     Debris:AddItem(PART,5)
  2738.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  2739.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  2740.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  2741.     local prtcl = asd:Clone()
  2742.     prtcl.Parent = PART
  2743.     prtcl:Emit(amount*10)
  2744. end
  2745. function Banish(Char)
  2746.     local NewCharacter = Instance.new("Model",Effects)
  2747.     NewCharacter.Name = "Ow im ded ;-;"
  2748.     for _, c in pairs(Char:GetDescendants()) do
  2749.         if c:IsA("BasePart") and c.Transparency == 0 then
  2750.             if c.Parent == Char then
  2751.                 getbloody(c,5)
  2752.             end
  2753.             c:BreakJoints()
  2754.             c.Material = "Glass"
  2755.             c.Color = C3(0.5,0,0)
  2756.             c.CanCollide = true
  2757.             c.Transparency = 0.3
  2758.             if c:FindFirstChildOfClass("SpecialMesh") then
  2759.                 c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2760.             end
  2761.             if c.Name == "Head" then
  2762.                 c:ClearAllChildren()
  2763.                 c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2764.             end
  2765.             if c.ClassName == "MeshPart" then
  2766.                 c.TextureID = ""
  2767.             end
  2768.             if c:FindFirstChildOfClass("BodyPosition") then
  2769.                 c:FindFirstChildOfClass("BodyPosition"):remove()
  2770.             end
  2771.             if c:FindFirstChildOfClass("ParticleEmitter") then
  2772.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2773.             end
  2774.             c.Parent = NewCharacter
  2775.             c.Name = "DeadPart"
  2776.             c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2777.             c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2778.         end
  2779.     end
  2780.     Char:remove()
  2781.     Debris:AddItem(NewCharacter,5)
  2782. end
  2783.  
  2784. function ApplyAoE(POSITION,RANGE,ISBANISH)
  2785.     local CHILDREN = workspace:GetDescendants()
  2786.     for index, CHILD in pairs(CHILDREN) do
  2787.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  2788.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2789.             if HUM then
  2790.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2791.                 if TORSO then
  2792.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2793.                         if ISBANISH == true then
  2794.                             Banish(CHILD)
  2795.                         else
  2796.                             if ISBANISH == "Gravity" then
  2797.                                 HUM.PlatformStand = true
  2798.                                 if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  2799.                                     local grav = Instance.new("BodyPosition",TORSO)
  2800.                                     grav.D = 15
  2801.                                     grav.P = 20000
  2802.                                     grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2803.                                     grav.position = TORSO.Position
  2804.                                     grav.Name = "V3BanishForce"..Player.Name
  2805.                                 else
  2806.                                     TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  2807.                                     TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  2808.                                 end
  2809.                             else
  2810.                                 HUM.PlatformStand = false
  2811.                             end
  2812.                         end
  2813.                     elseif ISBANISH == "Gravity" then
  2814.                         if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  2815.                             TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  2816.                             HUM.PlatformStand = false
  2817.                         end
  2818.                     end
  2819.                 end
  2820.             end
  2821.         end
  2822.     end
  2823. end
  2824. function ApplyKill(POSITION,RANGE,BRUTAL)
  2825.     local CHILDREN = workspace:GetDescendants()
  2826.     for index, CHILD in pairs(CHILDREN) do
  2827.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  2828.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2829.             if HUM then
  2830.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2831.                 if TORSO then
  2832.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2833.                         if BRUTAL == true then
  2834.                             Banish(CHILD)
  2835.                         else
  2836.                             CHILD:BreakJoints()
  2837.                         end
  2838.                     end
  2839.                 end
  2840.             end
  2841.         end
  2842.     end
  2843. end
  2844.  
  2845. function ApplyDamage(Humanoid,Damage)
  2846.     Damage = Damage * DAMAGEMULTIPLIER
  2847.     if Humanoid.Health ~= 0 then
  2848.         Humanoid.Health = Humanoid.Health - Damage
  2849.     end
  2850. end
  2851.  
  2852. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,OPTION)
  2853.     local CHILDREN = workspace:GetDescendants()
  2854.     for index, CHILD in pairs(CHILDREN) do
  2855.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  2856.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2857.             if HUM then
  2858.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2859.                 if TORSO then
  2860.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2861.                         if INSTAKILL == true then
  2862.                             CHILD:BreakJoints()
  2863.                             if OPTION ~= nil then
  2864.                                 Kill(CHILD,OPTION)
  2865.                             end
  2866.                         else
  2867.                             local DMG = MRANDOM(MINDMG,MAXDMG)
  2868.                             ApplyDamage(HUM,DMG)
  2869.                         end
  2870.                         if FLING ~= 0 then
  2871.                             for _, c in pairs(CHILD:GetChildren()) do
  2872.                                 if c:IsA("BasePart") then
  2873.                                     local bv = Instance.new("BodyVelocity")
  2874.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2875.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2876.                                     bv.Parent = c
  2877.                                     Debris:AddItem(bv,0.05)
  2878.                                 end
  2879.                             end
  2880.                         end
  2881.                     end
  2882.                 end
  2883.             end
  2884.         end
  2885.     end
  2886. end
  2887.  
  2888. function Kill(Victim,Fire)
  2889.     coroutine.resume(coroutine.create(function()
  2890.         local NIL = script.TotalNil:Clone()
  2891.         NIL.Parent = Victim
  2892.         NIL.Disabled = false
  2893.         if Fire ~= true then
  2894.             Victim:BreakJoints()
  2895.             for _, c in pairs(Victim:GetChildren()) do
  2896.                 if c:IsA("BasePart") then
  2897.                     c.Anchored = true
  2898.                 end
  2899.             end
  2900.             for _, c in pairs(Victim:GetChildren()) do
  2901.                 if c:IsA("BasePart") then
  2902.                     Shatter(c)
  2903.                 end
  2904.             end
  2905.         else
  2906.             Victim:BreakJoints()
  2907.             local FIRES = {}
  2908.             for _, e in pairs(Victim:GetDescendants()) do
  2909.                 if e:IsA("BasePart") and e.Name ~= "HumanoidRootPart" and e.Parent.ClassName ~= "Folder" then
  2910.                     e.Transparency = 1
  2911.                     e:ClearAllChildren()
  2912.                     local FIRE = script.HellFire:Clone()
  2913.                     FIRE.Parent = e
  2914.                     FIRE.Enabled = true
  2915.                     table.insert(FIRES,FIRE)
  2916.                 elseif e.ClassName == "Decal" then
  2917.                     e:remove()
  2918.                 end
  2919.             end
  2920.             for i = 1, 50 do
  2921.                 Victim:BreakJoints()
  2922.                 wait()
  2923.             end
  2924.             for i = 1, #FIRES do
  2925.                 FIRES[i].Enabled = false
  2926.             end
  2927.             wait(1.1)
  2928.             Victim:remove()
  2929.         end
  2930.     end))
  2931. end
  2932.  
  2933. --//=================================\\
  2934. --||    ATTACK FUNCTIONS AND STUFF
  2935. --\\=================================//
  2936.  
  2937. function Kill(Foe)
  2938.     if Foe then
  2939.         coroutine.resume(coroutine.create(function()
  2940.             --if game.Players:FindFirstChild(Foe.Name) then
  2941.                 table.insert(TOBANISH,Foe.Name)
  2942.                 printbye(Foe.Name)
  2943.             --end
  2944.             Foe.Archivable = true
  2945.             local CLONE = Foe:Clone()
  2946.             Foe:Destroy()
  2947.             CLONE.Parent = Effects
  2948.             CLONE:BreakJoints()
  2949.             local MATERIALS = {"Glass","Neon"}
  2950.             for _, c in pairs(CLONE:GetDescendants()) do
  2951.                 if c:IsA("BasePart") then
  2952.                     if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  2953.                         CreateSound(340722848, c, 10, 1, false)
  2954.                     end
  2955.                     c.Anchored = true
  2956.                     c.Transparency = c.Transparency + 0.2
  2957.                     c.Material = MATERIALS[MRANDOM(1,2)]
  2958.                     c.Color = C3(0,0,0)
  2959.                     if c.ClassName == "MeshPart" then
  2960.                         c.TextureID = ""
  2961.                     end
  2962.                     if c:FindFirstChildOfClass("SpecialMesh") then
  2963.                         c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2964.                     end
  2965.                     if c:FindFirstChildOfClass("Decal") then
  2966.                         c:FindFirstChildOfClass("Decal"):remove()
  2967.                     end
  2968.                     c.Name = "Banished"
  2969.                     c.CanCollide = false
  2970.                 else
  2971.                     c:remove()
  2972.                 end
  2973.             end
  2974.             local A = false
  2975.             for i = 1, 35 do
  2976.                 if A == false then
  2977.                     A = true
  2978.                 elseif A == true then
  2979.                     A = false
  2980.                 end
  2981.                 for _, c in pairs(CLONE:GetDescendants()) do
  2982.                     if c:IsA("BasePart") then
  2983.                         c.Anchored = true
  2984.                         c.Material = MATERIALS[MRANDOM(1,2)]
  2985.                         c.Transparency = c.Transparency + 0.8/35
  2986.                         if A == false then
  2987.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2988.                         elseif A == true then
  2989.                             c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)                       
  2990.                         end
  2991.                     end
  2992.                 end
  2993.                 Swait()
  2994.             end
  2995.             CLONE:remove()
  2996.         end))
  2997.     end
  2998. end
  2999.  
  3000. function Madness()
  3001.     ATTACK = true
  3002.     Rooted = false
  3003.     local GYRO = IT("BodyGyro",RootPart)
  3004.     GYRO.D = 750
  3005.     GYRO.P = 20000
  3006.     GYRO.MaxTorque = VT(0,40000000,0)
  3007.     local LOCKED = true
  3008.     local SHOT = false
  3009.     coroutine.resume(coroutine.create(function()
  3010.         for i=0, 1, 0.1 / Animation_Speed do
  3011.             GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  3012.             Swait()
  3013.             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 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3014.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3015.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3016.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3017.         end
  3018.         LOCKED = false
  3019.         SHOT = true
  3020.         repeat
  3021.             GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
  3022.             Swait()
  3023.             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 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3024.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3025.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3026.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3027.         until HOLD == false and SHOT == false
  3028.         for i=0, 0.3, 0.1 / Animation_Speed do
  3029.             Swait()
  3030.             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 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3031.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3032.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3033.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3034.         end
  3035.         GYRO:remove()
  3036.         ATTACK = false
  3037.         Rooted = false
  3038.     end))
  3039.     repeat wait() until LOCKED == false
  3040.     repeat
  3041.         SHOT = true
  3042.         wait(0.2)
  3043.         SHOT = false
  3044.         local BULLET = Lightning({Material = "Glass", FadeIn = true, Color = C3(0,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  3045.         local HIT = BULLET.Hit
  3046.         local HITPOS = BULLET.End
  3047.         if HIT then
  3048.             if HIT.Parent:FindFirstChildOfClass("Humanoid") then
  3049.                 Kill(HIT.Parent)
  3050.             end
  3051.         end
  3052.         WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 2, SoundVolume = 1})
  3053.         WACKYEFFECT({Time = 15, EffectType = "Skull", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 2})
  3054.         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(1,1.2,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
  3055.         WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(2,1,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
  3056.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3057.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3058.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3059.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3060.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3061.     until HOLD == false
  3062. end
  3063.  
  3064. function Banisher_Bullet()
  3065.     ATTACK = true
  3066.     Rooted = false
  3067.     for i=0, 0.4, 0.1 / Animation_Speed do
  3068.         Swait()
  3069.         turnto(Mouse.Hit.p)
  3070.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3071.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  3072.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3073.     end
  3074.     repeat
  3075.         for i=0, 0.2, 0.1 / Animation_Speed do
  3076.             Swait()
  3077.             turnto(Mouse.Hit.p)
  3078.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3079.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  3080.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3081.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3082.         end
  3083.         local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  3084.         SpawnTrail(Hole.Position,POS)
  3085.         if HIT ~= nil then
  3086.             if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  3087.                 Banish(HIT.Parent)
  3088.             end
  3089.         end
  3090.         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(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3091.         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(0,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  3092.         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(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  3093.         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(0,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  3094.         for i=0, 0.3, 0.1 / Animation_Speed do
  3095.             Swait()
  3096.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3097.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  3098.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3099.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3100.         end
  3101.     until KEYHOLD == false
  3102.     ATTACK = false
  3103.     Rooted = false
  3104. end
  3105.  
  3106. function AttackTemplate()
  3107.     ATTACK = true
  3108.     Rooted = false
  3109.     for i=0, 1, 0.1 / Animation_Speed do
  3110.         Swait()
  3111.         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)
  3112.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3113.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3114.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3115.         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)
  3116.         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)
  3117.     end
  3118.     ATTACK = false
  3119.     Rooted = false
  3120. end
  3121.  
  3122. function HI()
  3123.     ATTACK = true
  3124.     Rooted = false
  3125.     local LOOP = 0
  3126.     for i=0, 0.1, 0.1 / Animation_Speed do
  3127.         Swait()
  3128.         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)
  3129.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3130.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3131.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3132.     end
  3133.     for i=0, 3, 0.1 / Animation_Speed do
  3134.         Swait()
  3135.         LOOP = LOOP + 1
  3136.         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)
  3137.         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)
  3138.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3139.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(LOOP / 5))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3140.     end
  3141.     for i=0, 0.1, 0.1 / Animation_Speed do
  3142.         Swait()
  3143.         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(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3144.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3145.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3146.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3147.     end
  3148.     ATTACK = false
  3149.     Rooted = false
  3150. end
  3151.  
  3152. function Mercy()
  3153.     ATTACK = true
  3154.     Rooted = true
  3155.     local SPOTS = {}
  3156.         for i = 1, 15 do
  3157.             Swait()
  3158.             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(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3159.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
  3160.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
  3161.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3162.         end
  3163.         WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3164.         for i=0, 0.5, 0.1 / Animation_Speed do
  3165.             Swait()
  3166.             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(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3167.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3168.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3169.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3170.         end
  3171.         local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
  3172.         table.insert(SPOTS,HITPOS)
  3173.         CreateSound(145080998, Hole, 2, 1, false)
  3174.         Lightning({Material = "Neon", FadeIn = false, Color = C3(1,0,0), Start = Hole.CFrame*CF(0, 1, 0.045).p, End = Hole.CFrame*CF(0, 1000, 0.045).p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
  3175.     coroutine.resume(coroutine.create(function()
  3176.         local POS = Mouse.Hit.p
  3177.         local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
  3178.         MakeForm(RAY,"Cyl")
  3179.         local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really black", "Strike", VT(0,0,0))
  3180.         MakeForm(SPHERE,"Ball")
  3181.         local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(0,0,0))
  3182.         MakeForm(SHIELD,"Ball")
  3183.         SHIELD.CFrame = CF(POS)
  3184.         RAY.CFrame = CF(POS)
  3185.         SPHERE.CFrame = CF(POS)
  3186.         CreateSound(440145570, SPHERE, 10, 0.8, false)
  3187.         CreateSound(415700134, SPHERE, 10, 0.8, false)
  3188.         for i = 1, 200 do
  3189.             Swait()
  3190.             WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3191.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3192.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*2,5+(i),SPHERE.Size.X*2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3193.             RAY.Size = RAY.Size + VT(0.05,0,0.05)
  3194.             SPHERE.Size = SPHERE.Size + VT(0.4,0.4,0.4)
  3195.             SHIELD.Size = SPHERE.Size + VT(0.5,0.5,0.5)
  3196.             ApplyKill(SPHERE.Position,SPHERE.Size.X/2,true)
  3197.         end
  3198.         for i = 1, 45 do
  3199.             Swait()
  3200.             RAY.Transparency = RAY.Transparency + 1/45
  3201.             SPHERE.Transparency = RAY.Transparency
  3202.             SHIELD.Transparency = SPHERE.Transparency + 1/45
  3203.         end
  3204.         RAY:remove()
  3205.         SHIELD:remove()
  3206.         SPHERE:remove()
  3207.     end))
  3208.     ATTACK = false
  3209.     Rooted = false
  3210. end
  3211. function Warp()
  3212.     for e = 1, #BODY do
  3213.         if BODY[e] ~= nil then
  3214.             local STUFF = BODY[e]
  3215.             local PART = STUFF[1]
  3216.             if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  3217.                 local PRT = PART:Clone()
  3218.                 PRT.Anchored = true
  3219.                 PRT.CanCollide = false
  3220.                 PRT.Material = "Neon"
  3221.                 PRT.Color = C3(0,0,0)
  3222.                 PRT.Name = "WarpEffect"
  3223.                 PRT.Parent = Effects
  3224.                 PRT.CFrame = PART.CFrame
  3225.                 PRT:BreakJoints()
  3226.                 if PRT:FindFirstChildOfClass("Sound") then
  3227.                     PRT:FindFirstChildOfClass("Sound"):remove()
  3228.                 end
  3229.                 if PRT:FindFirstChildOfClass("Decal") then
  3230.                     PRT:FindFirstChildOfClass("Decal"):remove()
  3231.                 end
  3232.                 coroutine.resume(coroutine.create(function()
  3233.                     for i = 1, 100 do
  3234.                         Swait()
  3235.                         PRT.Transparency = PRT.Transparency + 1/100
  3236.                     end
  3237.                     PRT:remove()
  3238.                 end))
  3239.             end
  3240.         end
  3241.     end
  3242.     CreateSound(217767125, Torso, 10, 1)
  3243.     local POS = RootPart.Orientation
  3244.     RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  3245.     RootPart.Orientation = POS
  3246.     RootJoint.Parent = RootPart
  3247.             WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Eyes.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  3248.     ATTACK = false
  3249.     Rooted = false
  3250. end
  3251. function killnearest(position,range,maxstrength,BRUTAL,RANGE)
  3252.     for i,v in ipairs(workspace:GetChildren()) do
  3253.     local body = v:GetChildren()
  3254.         for part = 1, #body do
  3255.             if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  3256.                 if(body[part].Position - position).Magnitude < range then
  3257.                     if v.ClassName == "Model" then
  3258.                         v:BreakJoints()
  3259.                     end
  3260.                     --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  3261.                     local bv = Instance.new("BodyVelocity")
  3262.                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3263.                     bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  3264.                     bv.Parent = body[part]
  3265.                     Debris:AddItem(bv,0.2)
  3266.                 end
  3267.             end
  3268.         end
  3269.         if v.ClassName == "Part" then
  3270.             if v.Anchored == false and (v.Position - position).Magnitude < range then
  3271.                 --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  3272.                 v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  3273.             end
  3274.         end
  3275.     end
  3276. end
  3277. function Darkness()
  3278.         ATTACK = true
  3279.         Rooted = true
  3280.         local GYRO = IT("BodyGyro",RootPart)
  3281.         GYRO.D = 100
  3282.         GYRO.P = 2000
  3283.         GYRO.MaxTorque = VT(0,4000000,0)
  3284.         GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  3285.         CreateSound("429459101", RightArm, 10, 0.8)
  3286.         for i=0, 3.5, 0.1 / Animation_Speed do
  3287.             Swait()
  3288.             GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  3289.                     WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,10,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3290.                 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(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3291.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3292.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3293.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3294.         end
  3295.         GYRO:remove()
  3296.         for i=0, 0.15, 0.1 / Animation_Speed do
  3297.             Swait()
  3298.             GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  3299.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,10,0), Transparency = 0, Transparency2 = 1, CFrame = CF(Hole.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3300.                 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(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3301.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3302.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3303.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3304.         end
  3305.         local BOMBSPOTS = {}
  3306.         for i = 1, 25 do
  3307.             local SPOT = CreatePart(3, Effects, "Neon", 0, 0, "Relly black", "Blade", VT(8,1,8))
  3308.             SPOT.Color = SKILLTEXTCOLOR
  3309.             SPOT.CFrame = RootPart.CFrame*CF((MRANDOM(-15,15)/40)*i,-5,-i*5)
  3310.             table.insert(BOMBSPOTS,SPOT)
  3311.             MakeForm(SPOT,"Cyl2")
  3312.         end
  3313.         for i=0, 0.2, 0.1 / Animation_Speed do
  3314.             Swait()
  3315.         WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3316.                 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(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3317.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3318.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3319.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3320.         end
  3321.         ATTACK = false
  3322.         Rooted = false
  3323.         coroutine.resume(coroutine.create(function()
  3324.             Swait(3)
  3325.             for i = 1, #BOMBSPOTS do
  3326.                 if BOMBSPOTS[i] ~= nil then
  3327.                     local E = BOMBSPOTS[i]
  3328.                     coroutine.resume(coroutine.create(function()
  3329.                         local BLADE = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Relly black", "Blade", VT(0,0,0))
  3330.                         BLADE.Color = SKILLTEXTCOLOR
  3331.                         CreateMesh("SpecialMesh", BLADE, "FileMesh", "93108071", "", VT(0.6,1,0.4)*3, VT(0,0,0))
  3332.                         CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE, 4, 0.6)
  3333.                         BLADE.CFrame = E.CFrame*CF(0,-3,0)*ANGLES(RAD(MRANDOM(-15,15)),RAD(90),RAD(MRANDOM(-15,15)))
  3334.                         for i = 1, 10 do
  3335.                             Swait()
  3336.                         WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.5,0.5,0.5), Size2 = VT(0,50,0), Transparency = 0, Transparency2 = 1, CFrame = CF(BLADE.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  3337.                             killnearest(BLADE.Position,6,80)
  3338.                             BLADE.CFrame = BLADE.CFrame*CF(0,0.3,0)
  3339.                             BLADE.Transparency = BLADE.Transparency - 0.1
  3340.                         end
  3341.                         Swait(45)
  3342.                         for i = 1, 100 do
  3343.                             Swait()
  3344.                             BLADE.Transparency = BLADE.Transparency + 0.01
  3345.                             E.Transparency = E.Transparency + 0.01
  3346.                         end
  3347.                         BLADE:remove()
  3348.                         E:remove()
  3349.                     end))
  3350.                 end
  3351.             end
  3352.         end))
  3353. end
  3354. function Death()
  3355.     if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  3356.         local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  3357.         local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  3358.         if TORSO and HUM.Health > 0 then
  3359.             ATTACK = true
  3360.             Rooted = true
  3361.             local GYRO = IT("BodyGyro",RootPart)
  3362.             GYRO.D = 175
  3363.             GYRO.P = 20000
  3364.             GYRO.MaxTorque = VT(0,40000,0)
  3365.                 for i=0, 1, 0.1 / Animation_Speed do
  3366.                     Swait()
  3367.                     GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  3368.                     RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(50)), 1 / Animation_Speed)
  3369.                     Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-50)), 1 / Animation_Speed)
  3370.                     RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3371.                 end
  3372.         WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3373.         WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really black".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3374.             local MAGIC = ParticleEmitter({Speed = 5, Drag = 3, Size1 = 1.7, Size2 = 0, Lifetime1 = 1, Lifetime2 = 3, Parent = TORSO, Emit = 100, Offset = 360, Enabled = true})
  3375.             MAGIC.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,0)})
  3376.             local grav = Instance.new("BodyPosition",TORSO)
  3377.             grav.D = 1500
  3378.             grav.P = 20000
  3379.             grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  3380.             grav.position = TORSO.Position+VT(0,15,0)
  3381.             Debris:AddItem(grav,10)
  3382.             Debris:AddItem(MAGIC,10)
  3383.             CreateSound(429459101, Torso, 7, 1, false)
  3384.             CreateSound(429459101, TORSO, 7, 1, false)
  3385.             GYRO:remove()
  3386.             ATTACK = false
  3387.             Rooted = false
  3388.         end
  3389.     end
  3390. end
  3391.  
  3392. function TakeOnMe()
  3393.     Speed = 5
  3394.     local MEME = CreateSound(288703954, Effects, 2, 1, false)
  3395.     ATTACK = true
  3396.     Rooted = false
  3397.     local DANCE = true
  3398.     local KEY = Mouse.KeyDown:connect(function(NEWKEY)
  3399.         if NEWKEY == "p" then
  3400.             DANCE = false
  3401.         end
  3402.     end)
  3403.     while true do
  3404.         for i = 1, 15 do
  3405.             Swait()
  3406.             MEME.Parent = Effects
  3407.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3408.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3409.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3410.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3411.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3412.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3413.         end
  3414.         if DANCE == false then
  3415.             break
  3416.         end
  3417.         for i = 1, 15 do
  3418.             Swait()
  3419.             MEME.Parent = Effects
  3420.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3421.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3422.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3423.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3424.             RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3425.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3426.         end
  3427.     end
  3428.     KEY:Disconnect()
  3429.     MEME:remove()
  3430.     Speed = 25
  3431.     ATTACK = false
  3432.     Rooted = false
  3433. end
  3434.  
  3435. function TimeStop ()
  3436.     local HITFLOOR,HITPOS = Raycast(RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  3437.     CHOICE = 6
  3438.     CreateSound(1193182658, Character, 5, 1, false)
  3439.      back = CreateSound(1841228386, Character, 9999, 1, false)
  3440.     local killsky = Instance.new('Sky', game:GetService'Lighting')
  3441. killsky.SkyboxBk = "rbxassetid://1013852"
  3442. killsky.SkyboxDn = "rbxassetid://1013853"
  3443. killsky.SkyboxFt = "rbxassetid://1013850"
  3444. killsky.SkyboxLf = "rbxassetid://1013851"
  3445. killsky.SkyboxRt = "rbxassetid://1013849"
  3446. killsky.SkyboxUp = "rbxassetid://1013854"
  3447. killsky.StarCount = 0
  3448. killsky.SunAngularSize = 0
  3449. killsky.MoonAngularSize = 0
  3450. killsky.MoonTextureId = ""
  3451. killsky.CelestialBodiesShown = false
  3452. game.Lighting.FogColor = Color3.new(1,1,0)
  3453. game.Lighting.FogEnd = 1400
  3454.     if HITFLOOR ~= nil then
  3455.         ATTACK = false
  3456.         Rooted = false
  3457.         local RINGSPIN = true
  3458.         local CONSTRUCTING = true
  3459.         local RING = CreatePart(3, Effects, "Neon", 0, 1, "New Yeller", "Ring", VT(0,0,0))
  3460.         RING.Color = C3(0,0,0)
  3461.         MakeForm(RING,"Cyl")
  3462.         RING.CFrame = CF(HITPOS)
  3463.         coroutine.resume(coroutine.create(function()
  3464.             repeat
  3465.                 Swait()
  3466.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3467.             until CONSTRUCTING == false
  3468.             repeat
  3469.                 Swait()
  3470.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3471.             until RINGSPIN == false
  3472.             for i = 1, 25 do
  3473.                 Swait()
  3474.                 RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3475.                 RING.Size = RING.Size - VT(0.15,0,0.15)
  3476.                 --DECAL.Transparency = DECAL.Transparency + 1/25
  3477.                 RING.Transparency = RING.Transparency + 1/25
  3478.             end
  3479.             RING:remove()
  3480.         end))
  3481.         for i = 1, 15 do
  3482.             Swait()
  3483.             RING.Size = RING.Size + VT(0,0,0)
  3484.             RING.Transparency = RING.Transparency - 1/15
  3485.         end
  3486.         end
  3487.     local RANDOMEFFECT = MRANDOM(1)
  3488.     local BASE = CreatePart(3, Character, "Neon", 0, 0, "New Yeller", "Black", VT(2,1.8,2))
  3489.             BASE.Color = C3(0,0,0)
  3490.             BASE.Transparency = 1
  3491.             BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
  3492.     if RANDOMEFFECT == 1 then
  3493.                 local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
  3494.                 FIELD.CFrame = BASE.CFrame
  3495.                 MakeForm(FIELD,"Ball")
  3496.                 for i = 1, 50 do
  3497.                     Swait()
  3498.                     FIELD.Size = VT(0,0,0)
  3499.                     FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
  3500.                 end
  3501.                 end
  3502.                 wait(0.2)
  3503.                 local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "New Yeller", "Field", VT(0.3,0.3,0.3))
  3504.                 FIELD.CFrame = BASE.CFrame
  3505.                 local LOOP = CreateSound(1393698948, Character, 0, 1, true)
  3506.                 coroutine.resume(coroutine.create(function()
  3507.                     for i = 1, 75 do
  3508.                         Swait()
  3509.                         LOOP.Volume = LOOP.Volume + 10/75
  3510.                         LOOP.Parent = FIELD
  3511.                         local CHILDREN = workspace:GetDescendants()
  3512.                         for index, CHILD in pairs(CHILDREN) do
  3513.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3514.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3515.                                 if HUM then
  3516.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3517.                                     if TORSO then
  3518.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
  3519.                                             HUM.Health = HUM.Health - 0
  3520.                                             TORSO.Velocity = VT(0,5,0)
  3521.                                             HUM.PlatformStand = true
  3522.                                             if TORSO.RotVelocity.Magnitude < 15 then
  3523.                                                 TORSO.Anchored = true
  3524.                                             end
  3525.                                         end
  3526.                                     end
  3527.                                 end
  3528.                             end
  3529.                         end
  3530.                         FIELD.Size = FIELD.Size + VT(90,90,90)
  3531.                         FIELD.Transparency = FIELD.Transparency + 0.8/75
  3532.                     end
  3533.                 for i = 1, 500 do
  3534.                         Swait()
  3535.                         LOOP.Parent = FIELD
  3536.                         local CHILDREN = workspace:GetDescendants()
  3537.                         for index, CHILD in pairs(CHILDREN) do
  3538.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3539.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3540.                                 if HUM then
  3541.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3542.                                     if TORSO then
  3543.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
  3544.                                             TORSO.Velocity = VT(0,5,0)
  3545.                                             HUM.Health = HUM.Health - 0
  3546.                                             HUM.PlatformStand = true
  3547.                                             if TORSO.RotVelocity.Magnitude < 15 then
  3548.                                                 TORSO.Anchored = true
  3549.                                             end
  3550.                                         end
  3551.                                     end
  3552.                                 end
  3553.                             end
  3554.                         end
  3555.                     end
  3556.  wait (20)
  3557. back:Remove()
  3558.         CreateSound(1538466750, Character, 99999, 1, false)
  3559.         killsky:Remove()
  3560.         game.Lighting.FogEnd = 90000000
  3561.         wait (5)
  3562.         CHOICE = MRANDOM (1,5)
  3563.                     for i = 1, 25 do
  3564.                         Swait()
  3565.                         LOOP.Volume = LOOP.Volume + 10/25
  3566.                         LOOP.Parent = FIELD
  3567.                         local CHILDREN = workspace:GetDescendants()
  3568.                         for index, CHILD in pairs(CHILDREN) do
  3569.                             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3570.                                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3571.                                 if HUM then
  3572.                                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3573.                                     if TORSO then
  3574.                                         if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
  3575.                                             TORSO.Velocity = VT(0,5,0)
  3576.                                             HUM.Health = HUM.Health - 0
  3577.                                             HUM.PlatformStand = false
  3578.                                             if TORSO.RotVelocity.Magnitude < 15 then
  3579.                                                 TORSO.Anchored = false
  3580.                                         end
  3581.                                     end
  3582.                                 end
  3583.                             end
  3584.                         end
  3585.                         FIELD.Size = FIELD.Size - VT(3,3,3)
  3586.                         FIELD.Transparency = FIELD.Transparency + 0.2/25
  3587.                              end
  3588.                         end
  3589.                 end))  
  3590.                 FIELD:Remove()
  3591.            ATTACK = false
  3592.         Rooted = false
  3593.     end
  3594.  
  3595. function FingerMagic()
  3596.     ATTACK = true
  3597.     Rooted = false
  3598.     for i=0, 0.1, 0.1 / Animation_Speed do
  3599.         Swait()
  3600.         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(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3601.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3602.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3603.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3604.     end
  3605.     for i=0, 1, 0.1 / Animation_Speed do
  3606.         Swait()
  3607.         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(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3608.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 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(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3610.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3611.     end
  3612.     WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
  3613.     for i = 1, 5 do
  3614.         WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(1,1,1), Size2 = VT(0,7,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 2, SoundVolume = 1})
  3615.     end
  3616.     CreateSound(217767125, LeftArm, 10, 1, false)
  3617.     coroutine.resume(coroutine.create(function()
  3618.         local EXPLODED = false
  3619.         for i = 1, 3 do
  3620.             coroutine.resume(coroutine.create(function()
  3621.                 local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
  3622.                 if HITFLOOR then
  3623.                     local CFRAME = CF(HITPOS) * ANGLES(RAD(0), RAD((360/3)*i), RAD(0))
  3624.                     for i = 1, 35 do
  3625.                         wait()
  3626.                         for _, c in pairs(workspace:GetChildren()) do
  3627.                             if EXPLODED == false and c.ClassName == "Model" and c:FindFirstChildOfClass("Humanoid") and c ~= Character then
  3628.                                 local HUM = c:FindFirstChildOfClass("Humanoid")
  3629.                                 local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
  3630.                                 if TORSO and HUM.Health > 0 then
  3631.                                     if (TORSO.Position - CFRAME.p).Magnitude < 10 then
  3632.                                         EXPLODED = true
  3633.                                         coroutine.resume(coroutine.create(function()
  3634.                                             for i = 1, 15 do
  3635.                                                 Kill(CFRAME*CF(0,10,0).p,30+(i*4),0,0,-35,false)
  3636.                                                 wait(0.2)
  3637.                                                 WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15+(i*2),5,15+(i*2)), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3638.                                                 WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
  3639.                                                 WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(12,12,12)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.7,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 1})
  3640.                                             end
  3641.                                             WACKYEFFECT({Time = 50, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
  3642.                                             wait(1)
  3643.                                             WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(100,100,100)*5, Transparency = 0.4, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = 461105534, SoundPitch = 1, SoundVolume = 10})
  3644.                                             local PART = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  3645.                                             PART.CFrame = CFRAME*CF(0,10,0)
  3646.                                             Debris:AddItem(PART,10)
  3647.                                             local PARTICLES = script.Explode:Clone()
  3648.                                             PARTICLES.Parent = PART
  3649.                                             PARTICLES:Emit(500)
  3650.                                             Kill(CFRAME*CF(0,10,0).p,45*2,0,0,350,true)
  3651.                                             WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(90,90,90)*2, Transparency = 0.8, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
  3652.                                             WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(0), RAD(90), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3653.                                             WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3654.                                         end))
  3655.                                     end
  3656.                                 end
  3657.                             end
  3658.                         end
  3659.                         if EXPLODED == true then
  3660.                             break
  3661.                         end
  3662.                         CFRAME = CFRAME * ANGLES(RAD(0), RAD(10), RAD(0)) * CF(0,0,-3)
  3663.                         WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(10,15,10), Size2 = VT(0,35,0), Transparency = 1, Transparency2 = 0.9, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3664.                         WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(15,15,15), Size2 = VT(0,25,0), Transparency = 1, Transparency2 = 0.6, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3665.                     end
  3666.                 end
  3667.             end))
  3668.         end
  3669.     end))
  3670.     for i=0, 1, 0.1 / Animation_Speed do
  3671.         Swait()
  3672.         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(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3673.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3674.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3675.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(170), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3676.     end
  3677.     ATTACK = false
  3678.     Rooted = false
  3679. end
  3680.  
  3681. function PainlessRain()
  3682.     ATTACK = true
  3683.     Rooted = true
  3684.     local SPOTS = {}
  3685.     local BULLETS = 0
  3686.     repeat
  3687.         BULLETS = BULLETS + 1
  3688.         for i = 1, 15 do
  3689.             Swait()
  3690.             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(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3691.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
  3692.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
  3693.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3694.         end
  3695.     until KEYHOLD == false
  3696.     for i = 1, BULLETS do
  3697.         for i=0, 0.5, 0.1 / Animation_Speed do
  3698.             Swait()
  3699.             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(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3700.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3701.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3702.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3703.         end
  3704.         local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
  3705.         table.insert(SPOTS,HITPOS)
  3706.        
  3707.         for i=0, 0.35, 0.1 / Animation_Speed do
  3708.             Swait()
  3709.        
  3710.             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(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3711.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  3712.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3713.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3714.         end
  3715.     end
  3716.     coroutine.resume(coroutine.create(function()
  3717.         for i = 1, #SPOTS do
  3718.             wait(0.1)
  3719.             coroutine.resume(coroutine.create(function()
  3720.                 local SPOT = SPOTS[i]
  3721.                 local BOLT = Lightning({Material = "Neon", FadeIn = true, Color = C3(1,0,0), Start = SPOT+VT(0,150,0), End = SPOT, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 125, Thicken = true})
  3722.                 local POSITION = BOLT.Pos
  3723.                 ApplyAoE(POSITION,75/2,0,0,350,true)
  3724.                 WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(50,150,50), Transparency = 0.3, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
  3725.                 WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(75,5,75), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 165970126, SoundPitch = 1, SoundVolume = 4})
  3726.                 WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(35,15,35), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
  3727.             end))
  3728.         end
  3729.     end))
  3730.     ATTACK = false
  3731.     Rooted = false
  3732. end
  3733.  
  3734. function Noclip()
  3735.     ATTACK = true
  3736.     Rooted = true
  3737.     UNANCHOR = false
  3738.     RootPart.Anchored = true
  3739.     local CLIPPING = true
  3740.     local MOVEMENT = nil
  3741.     CreateSound(96098241, Torso, 3, MRANDOM(9,12)/10, false)
  3742.     for i = 1, 50 do
  3743.         Swait()
  3744.         EXTRATRANS = EXTRATRANS + 0.5/50
  3745.         RootPart.CFrame = RootPart.CFrame * CF(0,(1-(i/50))/4.3,0)
  3746.         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)
  3747.         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)
  3748.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3749.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3750.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  3751.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  3752.     end
  3753.     local AURA = CreateSound(1393698948, Torso, 3, 1, true)
  3754.     local KEY = Mouse.KeyDown:connect(function(NEWKEY)
  3755.         if NEWKEY == "w" then
  3756.             MOVEMENT = "Forward"
  3757.             repeat
  3758.                 Swait()
  3759.                 RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.2)
  3760.             until KEYHOLD == false
  3761.         elseif NEWKEY == "s" then
  3762.             MOVEMENT = "Backwards"
  3763.             repeat
  3764.                 Swait()
  3765.                 RootPart.CFrame = RootPart.CFrame * CF(0,0,0.2)
  3766.             until KEYHOLD == false
  3767.         elseif NEWKEY == "a" then
  3768.             MOVEMENT = "Strafe"
  3769.             repeat
  3770.                 Swait()
  3771.                 RootPart.CFrame = RootPart.CFrame * CF(0.2,0,0)
  3772.             until KEYHOLD == false
  3773.         elseif NEWKEY == "d" then
  3774.             MOVEMENT = "Strafe"
  3775.             repeat
  3776.                 Swait()
  3777.                 RootPart.CFrame = RootPart.CFrame * CF(-0.2,0,0)
  3778.             until KEYHOLD == false
  3779.         elseif NEWKEY == "e" then
  3780.             CLIPPING = false
  3781.         end
  3782.         MOVEMENT = nil
  3783.     end)
  3784.     local LOOP = 0
  3785.     repeat
  3786.         Swait()
  3787.         AURA.Parent = Torso
  3788.         LOOP = LOOP + 1
  3789.         if LOOP >= 15 then
  3790.             LOOP = 0
  3791.             WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(15,1,15), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.5,0).p), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3792.         end
  3793.         if MOVEMENT == nil then
  3794.             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)
  3795.             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)
  3796.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3797.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3798.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3799.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3800.         elseif MOVEMENT == "Forward" then
  3801.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  3802.             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)
  3803.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3804.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3805.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3806.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3807.         elseif MOVEMENT == "Backwards" then
  3808.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  3809.             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)
  3810.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3811.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3812.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3813.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3814.         elseif MOVEMENT == "Strafe" then
  3815.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(2), RAD(0), RAD(0)), 1 / Animation_Speed)
  3816.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3817.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3818.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3819.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3820.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3821.         end
  3822.     until CLIPPING == false
  3823.     KEY:Disconnect()
  3824.     coroutine.resume(coroutine.create(function()
  3825.         for i = 1, 20 do
  3826.             Swait()
  3827.             AURA.Volume = AURA.Volume - 3/20
  3828.         end
  3829.         AURA:remove()
  3830.     end))
  3831.     CreateSound(814168787, Torso, 1, MRANDOM(9,12)/10, false)
  3832.     for i = 1, 50 do
  3833.         Swait()
  3834.         EXTRATRANS = EXTRATRANS - 0.5/50
  3835.         RootPart.CFrame = RootPart.CFrame * CF(0,-(1-(i/50))/4.3,0)
  3836.         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)
  3837.         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)
  3838.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3839.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3840.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  3841.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  3842.     end
  3843.     EXTRATRANS = 0
  3844.     UNANCHOR = true
  3845.     ATTACK = false
  3846.     Rooted = false
  3847. end
  3848.  
  3849. --//=================================\\
  3850. --||      ASSIGN THINGS TO KEYS
  3851. --\\=================================//
  3852.  
  3853. function MouseDown(Mouse)
  3854.     HOLD = true
  3855.     if ATTACK == false then
  3856.     end
  3857. end
  3858.  
  3859. function MouseUp(Mouse)
  3860. HOLD = false
  3861. end
  3862.  
  3863. function KeyDown(Key)
  3864.     KEYHOLD = true
  3865.     if Key == "q" and ATTACK == false then
  3866.         Warp()
  3867.     end
  3868.  
  3869.     if Key == "b" and ATTACK == false then
  3870.         TimeStop()
  3871.     end
  3872.  
  3873.     if Key == "v" and ATTACK == false then
  3874.         Madness()
  3875.     end
  3876.  
  3877.     if Key == "x" and ATTACK == false then
  3878.         Mercy()
  3879.     end
  3880.  
  3881.     if Key == "t" and ATTACK == false then
  3882.         HI()
  3883.     end
  3884.    
  3885.     if Key == "f" and ATTACK == false then
  3886.         FingerMagic()
  3887.     end
  3888.  
  3889.     if Key == "r" and ATTACK == false then
  3890.         PainlessRain()
  3891.     end
  3892.    
  3893.     if Key == "z" and ATTACK == false then
  3894.         Darkness()
  3895.     end
  3896.    
  3897.     if Key == "c" and ATTACK == false then
  3898.         Banisher_Bullet()
  3899.     end
  3900.    
  3901.     if Key == "e" and ATTACK == false then
  3902.         Noclip()
  3903.     end
  3904.    
  3905.     if Key == "p" and ATTACK == false then
  3906.         TakeOnMe()
  3907.     end
  3908. end
  3909.  
  3910. function KeyUp(Key)
  3911.     KEYHOLD = false
  3912. end
  3913.  
  3914.     Mouse.Button1Down:connect(function(NEWKEY)
  3915.         MouseDown(NEWKEY)
  3916.     end)
  3917.     Mouse.Button1Up:connect(function(NEWKEY)
  3918.         MouseUp(NEWKEY)
  3919.     end)
  3920.     Mouse.KeyDown:connect(function(NEWKEY)
  3921.         KeyDown(NEWKEY)
  3922.     end)
  3923.     Mouse.KeyUp:connect(function(NEWKEY)
  3924.         KeyUp(NEWKEY)
  3925.     end)
  3926.  
  3927. --//=================================\\
  3928. --\\=================================//
  3929.  
  3930.  
  3931. function unanchor()
  3932.     if UNANCHOR == true then
  3933.         RootPart.Anchored = false
  3934.     end
  3935.     g = Character:GetChildren()
  3936.     for i = 1, #g do
  3937.         if g[i].ClassName == "Part" and g[i] ~= RootPart then
  3938.             g[i].Anchored = false
  3939.         end
  3940.     end
  3941.     g = Weapon:GetChildren()
  3942.     for i = 1, #g do
  3943.         if g[i].ClassName == "Part" then
  3944.             g[i].Anchored = false
  3945.         end
  3946.     end
  3947. end
  3948.  
  3949.  
  3950. --//=================================\\
  3951. --||    WRAP THE WHOLE SCRIPT UP
  3952. --\\=================================//
  3953.  
  3954. Humanoid.Changed:connect(function(Jump)
  3955.     if Jump == "Jump" and (Disable_Jump == true) then
  3956.         Humanoid.Jump = false
  3957.     end
  3958. end)
  3959.  
  3960. while true do
  3961.     Swait()
  3962.            refit()
  3963.     script.Parent = WEAPONGUI
  3964.     for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  3965.         v:Stop();
  3966.     end
  3967.     ANIMATE.Parent = nil
  3968.     SINE = SINE + CHANGE*1.5
  3969.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  3970.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  3971.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  3972.     local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
  3973.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  3974.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0 * COS(SINE / (WALKSPEEDVALUE / 2)) * SIZE) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3975.         Neck.C1 = Clerp(Neck.C1, CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3976.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  3977.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3978.         Neck.C1 = Clerp(Neck.C1, CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3979.     end
  3980.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  3981.         ANIM = "Jump"
  3982.         if ATTACK == false then
  3983.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3984.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
  3985.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3986.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3987.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  3988.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
  3989.         end
  3990.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  3991.         ANIM = "Fall"
  3992.         if ATTACK == false then
  3993.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3994.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
  3995.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3996.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3997.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
  3998.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
  3999.         end
  4000.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  4001.         ANIM = "Idle"
  4002.         if ATTACK == false then
  4003.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(0 - 3 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4004.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  4005.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75*SIZE, 0.5*SIZE, -1*SIZE) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  4006.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1*SIZE, 0.2*SIZE, -0.5*SIZE) * ANGLES(RAD(25), RAD(0), RAD(85)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  4007.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4008.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4009.             end
  4010.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  4011.         ANIM = "Walk"
  4012.         if ATTACK == false then
  4013.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.5 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  4014.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  4015.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  4016.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  4017.             RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE - 0.05*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4018.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -0.8*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  4019.         end
  4020.     end
  4021.     unanchor()
  4022.     Humanoid.MaxHealth = "inf"
  4023.     Humanoid.Health = "inf"
  4024.     if Rooted == false then
  4025.         Disable_Jump = false
  4026.         Humanoid.WalkSpeed = Speed
  4027.     elseif Rooted == true then
  4028.         Disable_Jump = true
  4029.         Humanoid.WalkSpeed = 0
  4030.     end
  4031.     for _, c in pairs(Character:GetChildren()) do
  4032.         if c.ClassName == "Part" and c.Name ~= "Detail" then
  4033.             c.Material = "Fabric"
  4034.             if c:FindFirstChildOfClass("ParticleEmitter") then
  4035.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  4036.             end
  4037.             if c ~= Head then
  4038.                 c.Color = C3(0,0,0)
  4039.             else
  4040.                 c.Color = C3(0,0,0)
  4041.             end
  4042.             if c == Head then
  4043.                 if c:FindFirstChild("face") then
  4044.                     c.face:remove()
  4045.                 end
  4046.             end
  4047.         elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  4048.             c:remove()
  4049.         elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  4050.             c:remove()
  4051.         end
  4052.     end
  4053.     sick.SoundId = "rbxassetid://"..bored[CHOICE]
  4054.     sick.Looped = true
  4055.     sick.Pitch = 1
  4056.     sick.Volume = 999999
  4057.     sick.Parent = Character
  4058.     sick:Resume()
  4059.     --sick.Playing = false
  4060.     Humanoid.Name = "Master of Time = "..Player.Name
  4061. end
  4062.  
  4063. --//=================================\\
  4064. --\\=================================//
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070. --//====================================================\\--
  4071. --||                     END OF SCRIPT
  4072. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement