SHARE
TWEET

doctor

Basykung7845 Mar 3rd, 2019 235 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by Basykung7845
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7.     print("FE Compatibility code by Basykung7845")
  8.     script.Parent = Player.Character
  9.  
  10.     --RemoteEvent for communicating
  11.     local Event = Instance.new("RemoteEvent")
  12.     Event.Name = "UserInput_Event"
  13.  
  14.     --Fake event to make stuff like Mouse.KeyDown work
  15.     local function fakeEvent()
  16.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  17.         t.connect = t.Connect
  18.         return t
  19.     end
  20.  
  21.     --Creating fake input objects with fake variables
  22.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26.     end}
  27.     --Merged 2 functions into one by checking amount of arguments
  28.     CAS.UnbindAction = CAS.BindAction
  29.  
  30.     --This function will trigger the events that have been :Connect()'ed
  31.     local function te(self,ev,...)
  32.         local t = m[ev]
  33.         if t and t._fakeEvent and t.Function then
  34.             t.Function(...)
  35.         end
  36.     end
  37.     m.TrigEvent = te
  38.     UIS.TrigEvent = te
  39.  
  40.     Event.OnServerEvent:Connect(function(plr,io)
  41.         if plr~=Player then return end
  42.         if io.isMouse then
  43.             m.Target = io.Target
  44.             m.Hit = io.Hit
  45.         else
  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 UIS = game:GetService("UserInputService")
  66.     local input = function(io,a)
  67.         if a then return end
  68.         --Since InputObject is a client-side instance, we create and pass table instead
  69.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70.     end
  71.     UIS.InputBegan:Connect(input)
  72.     UIS.InputEnded:Connect(input)
  73.  
  74.     local Mouse = Player:GetMouse()
  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.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86.  
  87. Player = owner
  88.     Character = Player.Character
  89.     local txt = Instance.new("BillboardGui", Character)
  90.     txt.Adornee = Character.Head
  91.     txt.Name = "_status"
  92.     txt.Size = UDim2.new(2, 0, 1.2, 0)
  93.     txt.StudsOffset = Vector3.new(-9, 8, 0)
  94.     local text = Instance.new("TextLabel", txt)
  95.     text.Size = UDim2.new(10, 0, 7, 0)
  96.     text.FontSize = "Size24"
  97.     text.TextScaled = true
  98.     text.TextTransparency = 0
  99.     text.BackgroundTransparency = 1
  100.     text.TextTransparency = 0
  101.     text.TextStrokeTransparency = 0
  102.     text.Font = "Antique"
  103.     text.TextStrokeColor3 = Color3.new(196, 40, 28)
  104.         text.Text = "The Corrupted Doctor"
  105. script.Name = "The Corrupted Doctor"
  106. --//====================================================\\--
  107. --||    CREATED BY SHACKLUSTER-EDITED BY PROMLG112
  108. --\\====================================================//--
  109. local chara = Character
  110.  
  111. function chat(...)
  112.     local txxt = {...}
  113.     local ch = coroutine.wrap(function()
  114.         if chara:FindFirstChild("Chatt")~= nil then
  115.             Character:FindFirstChild("Chatt"):destroy()
  116.         end
  117.         local txt = Instance.new("BillboardGui", chara)
  118.         txt.Adornee = chara.Head
  119.         txt.Name = "Chatt"
  120.         txt.Size = UDim2.new(2, 0, 1.2, 0)
  121.         txt.StudsOffset = Vector3.new(-9, 7, 0)
  122.         local text = Instance.new("TextLabel", txt)
  123.         text.Size = UDim2.new(10, 0, 7, 0)
  124.         text.TextSize = 32
  125.         text.Font = Enum.Font.Antique
  126.         text.TextScaled = false
  127.         text.BackgroundTransparency = 1
  128.         text.TextColor3 = Color3.new(0,0,0)
  129.         text.TextStrokeTransparency = 0
  130.         text.TextStrokeColor3 = Color3.new(0/0, 0/0, 0/0)
  131.         text.Text = ""
  132.         txxt = table.concat(txxt,"\t")
  133.         for i = 1, #txxt do
  134.             text.Text = txxt:sub(1,i)
  135.            
  136.         end
  137.         wait(2)
  138.         for trans = 0,1,00.1 do
  139.             text.TextTransparency = trans
  140.             text.TextStrokeTransparency = trans
  141.             wait()
  142.         end
  143.         wait()
  144.         txt:destroy()
  145.     end)
  146.    
  147.     ch(...)
  148. end
  149. Player.Chatted:connect(chat)
  150.  
  151. wait(0.2)
  152.  
  153. Player = owner
  154. PlayerGui = Player.PlayerGui
  155. Cam = workspace.CurrentCamera
  156. Backpack = Player.Backpack
  157. Character = Player.Character
  158. Humanoid = Character.Humanoid
  159. RootPart = Character["HumanoidRootPart"]
  160. Torso = Character["Torso"]
  161. Head = Character["Head"]
  162. RightArm = Character["Right Arm"]
  163. LeftArm = Character["Left Arm"]
  164. RightLeg = Character["Right Leg"]
  165. LeftLeg = Character["Left Leg"]
  166. RootJoint = RootPart["RootJoint"]
  167. Neck = Torso["Neck"]
  168. RightShoulder = Torso["Right Shoulder"]
  169. LeftShoulder = Torso["Left Shoulder"]
  170. RightHip = Torso["Right Hip"]
  171. LeftHip = Torso["Left Hip"]
  172.  
  173. for i,v in pairs(Character:GetChildren()) do
  174.     if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "CharacterMesh" then
  175.         v:Destroy()
  176.     end
  177. end
  178.  
  179. for i,v in pairs(Character:GetChildren()) do
  180.     if v.ClassName == "Accessory" or v.ClassName == "Hat" then
  181.         v:Destroy()
  182.     end
  183. end
  184.  
  185. local Shirt = Instance.new("Shirt",Character)
  186. local Pants = Instance.new("Pants",Character)
  187. Shirt.ShirtTemplate = "rbxassetid://648758131"
  188. Pants.PantsTemplate = "rbxassetid://472675863"
  189.  
  190. local sick = Instance.new("Sound",Character)
  191. sick.SoundId = "rbxassetid://561833161"
  192. sick.Looped = true
  193. sick.Pitch = 1
  194. sick.Volume = 1.3
  195. sick:Play()
  196.            
  197. IT = Instance.new
  198. CF = CFrame.new
  199. VT = Vector3.new
  200. RAD = math.rad
  201. C3 = Color3.new
  202. UD2 = UDim2.new
  203. BRICKC = BrickColor.new
  204. ANGLES = CFrame.Angles
  205. EULER = CFrame.fromEulerAnglesXYZ
  206. COS = math.cos
  207. ACOS = math.acos
  208. SIN = math.sin
  209. ASIN = math.asin
  210. ABS = math.abs
  211. MRANDOM = math.random
  212. FLOOR = math.floor
  213. local CLOAKED = false
  214. local KILLINSTINCT = 0
  215.  
  216. --//=================================\\
  217. --||          CUSTOMIZATION
  218. --\\=================================//
  219.  
  220. Player_Size = 1 --Size of the player.
  221. Animation_Speed = 3
  222. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  223.  
  224. local Speed = 16
  225. local Effects2 = {}
  226.  
  227. --//=================================\\
  228. --||      END OF CUSTOMIZATION
  229. --\\=================================//
  230.  
  231.     local function weldBetween(a, b)
  232.         local weldd = Instance.new("ManualWeld")
  233.         weldd.Part0 = a
  234.         weldd.Part1 = b
  235.         weldd.C0 = CFrame.new()
  236.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  237.         weldd.Parent = a
  238.         return weldd
  239.     end
  240. --//=================================\\
  241. --||          USEFUL VALUES
  242. --\\=================================//
  243.  
  244. Animation_Speed = 3
  245. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  246. local Speed = 16
  247. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  248. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  249. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  250. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  251. local DAMAGEMULTIPLIER = 1
  252. local ANIM = "Idle"
  253. local ATTACK = false
  254. local EQUIPPED = false
  255. local HOLD = false
  256. local CLOCKTARGET = nil
  257. local CLOCKSPEED = 2.5
  258. local CLOCKLOOP = 0
  259. local COMBO = 1
  260. local Rooted = false
  261. local SINE = 0
  262. local KEYHOLD = false
  263. local CHANGE = 2 / Animation_Speed
  264. local WALKINGANIM = false
  265. local VALUE1 = false
  266. local VALUE2 = false
  267. local ROBLOXIDLEANIMATION = IT("Animation")
  268. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  269. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  270. --ROBLOXIDLEANIMATION.Parent = Humanoid
  271. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  272. WEAPONGUI.Name = "Weapon GUI"
  273. local Weapon = IT("Model")
  274. Weapon.Name = "Adds"
  275. local Effects = IT("Folder", Weapon)
  276. Effects.Name = "Effects"
  277. local ANIMATOR = Humanoid.Animator
  278. local ANIMATE = Character.Animate
  279. local UNANCHOR = true
  280. local ENERGYSOUND = 1417051162
  281. local BEAMSOUND = 1417056781
  282. local EXPLOSIONSOUND = 1417056081
  283.  
  284. --//=================================\\
  285. --\\=================================//
  286.  
  287. local asd = Instance.new("ParticleEmitter")
  288. asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
  289. asd.LightEmission = .1
  290. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  291. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
  292. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  293. asd.Transparency = bbb
  294. asd.Size = aaa
  295. asd.ZOffset = .9
  296. asd.Acceleration = Vector3.new(0, -15, 0)
  297. asd.LockedToPart = false
  298. asd.EmissionDirection = "Back"
  299. asd.Lifetime = NumberRange.new(1, 2)
  300. asd.Rotation = NumberRange.new(-100, 100)
  301. asd.RotSpeed = NumberRange.new(-100, 100)
  302. asd.Speed = NumberRange.new(10)
  303. asd.Enabled = false
  304. asd.VelocitySpread = 999
  305.  
  306. function getbloody(victim,amount)
  307.     local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  308.     PART.CFrame = victim.CFrame
  309.     local HITPLAYERSOUNDS = {"356551938","264486467"}
  310.     Debris:AddItem(PART,5)
  311.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  312.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  313.     CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  314.     local prtcl = asd:Clone()
  315.     prtcl.Parent = PART
  316.     prtcl:Emit(amount*10)
  317. end
  318.  
  319. --//=================================\\
  320. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  321. --\\=================================//
  322.  
  323. ArtificialHB = Instance.new("BindableEvent", script)
  324. ArtificialHB.Name = "ArtificialHB"
  325.  
  326. script:WaitForChild("ArtificialHB")
  327.  
  328. frame = Frame_Speed
  329. tf = 0
  330. allowframeloss = false
  331. tossremainder = false
  332. lastframe = tick()
  333. script.ArtificialHB:Fire()
  334.  
  335. game:GetService("RunService").Heartbeat:connect(function(s, p)
  336.     tf = tf + s
  337.     if tf >= frame then
  338.         if allowframeloss then
  339.             script.ArtificialHB:Fire()
  340.             lastframe = tick()
  341.         else
  342.             for i = 1, math.floor(tf / frame) do
  343.                 script.ArtificialHB:Fire()
  344.             end
  345.         lastframe = tick()
  346.         end
  347.         if tossremainder then
  348.             tf = 0
  349.         else
  350.             tf = tf - frame * math.floor(tf / frame)
  351.         end
  352.     end
  353. end)
  354.  
  355.  
  356. --//=================================\\
  357. --||          SOME FUNCTIONS
  358. --\\=================================//
  359. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  360.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  361. end
  362.  
  363. function PositiveAngle(NUMBER)
  364.     if NUMBER >= 0 then
  365.         NUMBER = 0
  366.     end
  367.     return NUMBER
  368. end
  369.  
  370. function NegativeAngle(NUMBER)
  371.     if NUMBER <= 0 then
  372.         NUMBER = 0
  373.     end
  374.     return NUMBER
  375. end
  376.  
  377. function Swait(NUMBER)
  378.     if NUMBER == 0 or NUMBER == nil then
  379.         ArtificialHB.Event:wait()
  380.     else
  381.         for i = 1, NUMBER do
  382.             ArtificialHB.Event:wait()
  383.         end
  384.     end
  385. end
  386.  
  387. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  388.     local NEWMESH = IT(MESH)
  389.     if MESH == "SpecialMesh" then
  390.         NEWMESH.MeshType = MESHTYPE
  391.         if MESHID ~= "nil" and MESHID ~= "" then
  392.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  393.         end
  394.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  395.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  396.         end
  397.     end
  398.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  399.     NEWMESH.Scale = SCALE
  400.     NEWMESH.Parent = PARENT
  401.     return NEWMESH
  402. end
  403.  
  404. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  405.     local NEWPART = IT("Part")
  406.     NEWPART.formFactor = FORMFACTOR
  407.     NEWPART.Reflectance = REFLECTANCE
  408.     NEWPART.Transparency = TRANSPARENCY
  409.     NEWPART.CanCollide = false
  410.     NEWPART.Locked = true
  411.     NEWPART.Anchored = true
  412.     if ANCHOR == false then
  413.         NEWPART.Anchored = false
  414.     end
  415.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  416.     NEWPART.Name = NAME
  417.     NEWPART.Size = SIZE
  418.     NEWPART.Position = Torso.Position
  419.     NEWPART.Material = MATERIAL
  420.     NEWPART:BreakJoints()
  421.     NEWPART.Parent = PARENT
  422.     return NEWPART
  423. end
  424.  
  425.     local function weldBetween(a, b)
  426.         local weldd = Instance.new("ManualWeld")
  427.         weldd.Part0 = a
  428.         weldd.Part1 = b
  429.         weldd.C0 = CFrame.new()
  430.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  431.         weldd.Parent = a
  432.         return weldd
  433.     end
  434.  
  435.  
  436. function QuaternionFromCFrame(cf)
  437.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  438.     local trace = m00 + m11 + m22
  439.     if trace > 0 then
  440.         local s = math.sqrt(1 + trace)
  441.         local recip = 0.5 / s
  442.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  443.     else
  444.         local i = 0
  445.         if m11 > m00 then
  446.             i = 1
  447.         end
  448.         if m22 > (i == 0 and m00 or m11) then
  449.             i = 2
  450.         end
  451.         if i == 0 then
  452.             local s = math.sqrt(m00 - m11 - m22 + 1)
  453.             local recip = 0.5 / s
  454.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  455.         elseif i == 1 then
  456.             local s = math.sqrt(m11 - m22 - m00 + 1)
  457.             local recip = 0.5 / s
  458.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  459.         elseif i == 2 then
  460.             local s = math.sqrt(m22 - m00 - m11 + 1)
  461.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  462.         end
  463.     end
  464. end
  465.  
  466. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  467.     local xs, ys, zs = x + x, y + y, z + z
  468.     local wx, wy, wz = w * xs, w * ys, w * zs
  469.     local xx = x * xs
  470.     local xy = x * ys
  471.     local xz = x * zs
  472.     local yy = y * ys
  473.     local yz = y * zs
  474.     local zz = z * zs
  475.     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))
  476. end
  477.  
  478. function QuaternionSlerp(a, b, t)
  479.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  480.     local startInterp, finishInterp;
  481.     if cosTheta >= 0.0001 then
  482.         if (1 - cosTheta) > 0.0001 then
  483.             local theta = ACOS(cosTheta)
  484.             local invSinTheta = 1 / SIN(theta)
  485.             startInterp = SIN((1 - t) * theta) * invSinTheta
  486.             finishInterp = SIN(t * theta) * invSinTheta
  487.         else
  488.             startInterp = 1 - t
  489.             finishInterp = t
  490.         end
  491.     else
  492.         if (1 + cosTheta) > 0.0001 then
  493.             local theta = ACOS(-cosTheta)
  494.             local invSinTheta = 1 / SIN(theta)
  495.             startInterp = SIN((t - 1) * theta) * invSinTheta
  496.             finishInterp = SIN(t * theta) * invSinTheta
  497.         else
  498.             startInterp = t - 1
  499.             finishInterp = t
  500.         end
  501.     end
  502.     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
  503. end
  504.  
  505. function Clerp(a, b, t)
  506.     local qa = {QuaternionFromCFrame(a)}
  507.     local qb = {QuaternionFromCFrame(b)}
  508.     local ax, ay, az = a.x, a.y, a.z
  509.     local bx, by, bz = b.x, b.y, b.z
  510.     local _t = 1 - t
  511.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  512. end
  513.  
  514. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  515.     local frame = IT("Frame")
  516.     frame.BackgroundTransparency = TRANSPARENCY
  517.     frame.BorderSizePixel = BORDERSIZEPIXEL
  518.     frame.Position = POSITION
  519.     frame.Size = SIZE
  520.     frame.BackgroundColor3 = COLOR
  521.     frame.BorderColor3 = BORDERCOLOR
  522.     frame.Name = NAME
  523.     frame.Parent = PARENT
  524.     return frame
  525. end
  526.  
  527. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  528.     local label = IT("TextLabel")
  529.     label.BackgroundTransparency = 1
  530.     label.Size = UD2(1, 0, 1, 0)
  531.     label.Position = UD2(0, 0, 0, 0)
  532.     label.TextColor3 = TEXTCOLOR
  533.     label.TextStrokeTransparency = STROKETRANSPARENCY
  534.     label.TextTransparency = TRANSPARENCY
  535.     label.FontSize = TEXTFONTSIZE
  536.     label.Font = TEXTFONT
  537.     label.BorderSizePixel = BORDERSIZEPIXEL
  538.     label.TextStrokeColor3 = C3(1,1,1)
  539.     label.TextScaled = false
  540.     label.Text = TEXT
  541.     label.Name = NAME
  542.     label.Parent = PARENT
  543.     return label
  544. end
  545.  
  546. function NoOutlines(PART)
  547.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  548. end
  549.  
  550. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  551.     local NEWWELD = IT(TYPE)
  552.     NEWWELD.Part0 = PART0
  553.     NEWWELD.Part1 = PART1
  554.     NEWWELD.C0 = C0
  555.     NEWWELD.C1 = C1
  556.     NEWWELD.Parent = PARENT
  557.     return NEWWELD
  558. end
  559.  
  560. local S = IT("Sound")
  561. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  562.     local NEWSOUND = nil
  563.     coroutine.resume(coroutine.create(function()
  564.         NEWSOUND = S:Clone()
  565.         NEWSOUND.Parent = PARENT
  566.         NEWSOUND.Volume = VOLUME
  567.         NEWSOUND.Pitch = PITCH
  568.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  569.         NEWSOUND:play()
  570.         if DOESLOOP == true then
  571.             NEWSOUND.Looped = true
  572.         else
  573.             repeat wait(1) until NEWSOUND.Playing == false
  574.             NEWSOUND:remove()
  575.         end
  576.     end))
  577.     return NEWSOUND
  578. end
  579.  
  580. function CFrameFromTopBack(at, top, back)
  581.     local right = top:Cross(back)
  582.     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)
  583. end
  584.  
  585. --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})
  586. function WACKYEFFECT(Table)
  587.     local TYPE = (Table.EffectType or "Sphere")
  588.     local SIZE = (Table.Size or VT(1,1,1))
  589.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  590.     local TRANSPARENCY = (Table.Transparency or 0)
  591.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  592.     local CFRAME = (Table.CFrame or Torso.CFrame)
  593.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  594.     local ROTATION1 = (Table.RotationX or 0)
  595.     local ROTATION2 = (Table.RotationY or 0)
  596.     local ROTATION3 = (Table.RotationZ or 0)
  597.     local MATERIAL = (Table.Material or "Neon")
  598.     local COLOR = (Table.Color or C3(1,1,1))
  599.     local TIME = (Table.Time or 45)
  600.     local SOUNDID = (Table.SoundID or nil)
  601.     local SOUNDPITCH = (Table.SoundPitch or nil)
  602.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  603.     coroutine.resume(coroutine.create(function()
  604.         local PLAYSSOUND = false
  605.         local SOUND = nil
  606.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  607.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  608.             PLAYSSOUND = true
  609.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  610.         end
  611.         EFFECT.Color = COLOR
  612.         local MSH = nil
  613.         if TYPE == "Sphere" then
  614.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  615.         elseif TYPE == "Block" then
  616.             MSH = IT("BlockMesh",EFFECT)
  617.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  618.         elseif TYPE == "Wave" then
  619.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  620.         elseif TYPE == "Ring" then
  621.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  622.         elseif TYPE == "Slash" then
  623.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  624.         elseif TYPE == "Round Slash" then
  625.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  626.         elseif TYPE == "Swirl" then
  627.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  628.         elseif TYPE == "Skull" then
  629.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  630.         elseif TYPE == "Crystal" then
  631.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  632.         end
  633.         if MSH ~= nil then
  634.             local MOVESPEED = nil
  635.             if MOVEDIRECTION ~= nil then
  636.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  637.             end
  638.             local GROWTH = SIZE - ENDSIZE
  639.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  640.             if TYPE == "Block" then
  641.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  642.             else
  643.                 EFFECT.CFrame = CFRAME
  644.             end
  645.             for LOOP = 1, TIME+1 do
  646.                 Swait()
  647.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  648.                 if TYPE == "Wave" then
  649.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  650.                 end
  651.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  652.                 if TYPE == "Block" then
  653.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  654.                 else
  655.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  656.                 end
  657.                 if MOVEDIRECTION ~= nil then
  658.                     local ORI = EFFECT.Orientation
  659.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  660.                     EFFECT.Orientation = ORI
  661.                 end
  662.             end
  663.             if PLAYSSOUND == false then
  664.                 EFFECT:remove()
  665.             else
  666.                 repeat Swait() until SOUND.Playing == false
  667.                 EFFECT:remove()
  668.             end
  669.         else
  670.             if PLAYSSOUND == false then
  671.                 EFFECT:remove()
  672.             else
  673.                 repeat Swait() until SOUND.Playing == false
  674.                 EFFECT:remove()
  675.             end
  676.         end
  677.     end))
  678. end
  679.  
  680. function MakeForm(PART,TYPE)
  681.     if TYPE == "Cyl" then
  682.         local MSH = IT("CylinderMesh",PART)
  683.     elseif TYPE == "Ball" then
  684.         local MSH = IT("SpecialMesh",PART)
  685.         MSH.MeshType = "Sphere"
  686.     elseif TYPE == "Wedge" then
  687.         local MSH = IT("SpecialMesh",PART)
  688.         MSH.MeshType = "Wedge"
  689.     end
  690. end
  691.  
  692. Debris = game:GetService("Debris")
  693.  
  694. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  695.     local DIRECTION = CF(StartPos,EndPos).lookVector
  696.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  697. end
  698.  
  699. function turnto(position)
  700.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  701. end
  702.  
  703. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  704.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  705. end
  706.  
  707. function PositiveAngle(NUMBER)
  708.     if NUMBER >= 0 then
  709.         NUMBER = 0
  710.     end
  711.     return NUMBER
  712. end
  713.  
  714. function NegativeAngle(NUMBER)
  715.     if NUMBER <= 0 then
  716.         NUMBER = 0
  717.     end
  718.     return NUMBER
  719. end
  720.  
  721. function Swait(NUMBER)
  722.     if NUMBER == 0 or NUMBER == nil then
  723.         ArtificialHB.Event:wait()
  724.     else
  725.         for i = 1, NUMBER do
  726.             ArtificialHB.Event:wait()
  727.         end
  728.     end
  729. end
  730.  
  731. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  732.     local NEWMESH = IT(MESH)
  733.     if MESH == "SpecialMesh" then
  734.         NEWMESH.MeshType = MESHTYPE
  735.         if MESHID ~= "nil" and MESHID ~= "" then
  736.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  737.         end
  738.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  739.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  740.         end
  741.     end
  742.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  743.     NEWMESH.Scale = SCALE
  744.     NEWMESH.Parent = PARENT
  745.     return NEWMESH
  746. end
  747.  
  748. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  749.     local NEWPART = IT("Part")
  750.     NEWPART.formFactor = FORMFACTOR
  751.     NEWPART.Reflectance = REFLECTANCE
  752.     NEWPART.Transparency = TRANSPARENCY
  753.     NEWPART.CanCollide = false
  754.     NEWPART.Locked = true
  755.     NEWPART.Anchored = true
  756.     if ANCHOR == false then
  757.         NEWPART.Anchored = false
  758.     end
  759.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  760.     NEWPART.Name = NAME
  761.     NEWPART.Size = SIZE
  762.     NEWPART.Position = Torso.Position
  763.     NEWPART.Material = MATERIAL
  764.     NEWPART:BreakJoints()
  765.     NEWPART.Parent = PARENT
  766.     return NEWPART
  767. end
  768.  
  769.     local function weldBetween(a, b)
  770.         local weldd = Instance.new("ManualWeld")
  771.         weldd.Part0 = a
  772.         weldd.Part1 = b
  773.         weldd.C0 = CFrame.new()
  774.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  775.         weldd.Parent = a
  776.         return weldd
  777.     end
  778.  
  779.  
  780. function QuaternionFromCFrame(cf)
  781.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  782.     local trace = m00 + m11 + m22
  783.     if trace > 0 then
  784.         local s = math.sqrt(1 + trace)
  785.         local recip = 0.5 / s
  786.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  787.     else
  788.         local i = 0
  789.         if m11 > m00 then
  790.             i = 1
  791.         end
  792.         if m22 > (i == 0 and m00 or m11) then
  793.             i = 2
  794.         end
  795.         if i == 0 then
  796.             local s = math.sqrt(m00 - m11 - m22 + 1)
  797.             local recip = 0.5 / s
  798.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  799.         elseif i == 1 then
  800.             local s = math.sqrt(m11 - m22 - m00 + 1)
  801.             local recip = 0.5 / s
  802.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  803.         elseif i == 2 then
  804.             local s = math.sqrt(m22 - m00 - m11 + 1)
  805.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  806.         end
  807.     end
  808. end
  809.  
  810. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  811.     local xs, ys, zs = x + x, y + y, z + z
  812.     local wx, wy, wz = w * xs, w * ys, w * zs
  813.     local xx = x * xs
  814.     local xy = x * ys
  815.     local xz = x * zs
  816.     local yy = y * ys
  817.     local yz = y * zs
  818.     local zz = z * zs
  819.     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))
  820. end
  821.  
  822. function QuaternionSlerp(a, b, t)
  823.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  824.     local startInterp, finishInterp;
  825.     if cosTheta >= 0.0001 then
  826.         if (1 - cosTheta) > 0.0001 then
  827.             local theta = ACOS(cosTheta)
  828.             local invSinTheta = 1 / SIN(theta)
  829.             startInterp = SIN((1 - t) * theta) * invSinTheta
  830.             finishInterp = SIN(t * theta) * invSinTheta
  831.         else
  832.             startInterp = 1 - t
  833.             finishInterp = t
  834.         end
  835.     else
  836.         if (1 + cosTheta) > 0.0001 then
  837.             local theta = ACOS(-cosTheta)
  838.             local invSinTheta = 1 / SIN(theta)
  839.             startInterp = SIN((t - 1) * theta) * invSinTheta
  840.             finishInterp = SIN(t * theta) * invSinTheta
  841.         else
  842.             startInterp = t - 1
  843.             finishInterp = t
  844.         end
  845.     end
  846.     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
  847. end
  848.  
  849. function Clerp(a, b, t)
  850.     local qa = {QuaternionFromCFrame(a)}
  851.     local qb = {QuaternionFromCFrame(b)}
  852.     local ax, ay, az = a.x, a.y, a.z
  853.     local bx, by, bz = b.x, b.y, b.z
  854.     local _t = 1 - t
  855.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  856. end
  857.  
  858. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  859.     local frame = IT("Frame")
  860.     frame.BackgroundTransparency = TRANSPARENCY
  861.     frame.BorderSizePixel = BORDERSIZEPIXEL
  862.     frame.Position = POSITION
  863.     frame.Size = SIZE
  864.     frame.BackgroundColor3 = COLOR
  865.     frame.BorderColor3 = BORDERCOLOR
  866.     frame.Name = NAME
  867.     frame.Parent = PARENT
  868.     return frame
  869. end
  870.  
  871. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  872.     local label = IT("TextLabel")
  873.     label.BackgroundTransparency = 1
  874.     label.Size = UD2(1, 0, 1, 0)
  875.     label.Position = UD2(0, 0, 0, 0)
  876.     label.TextColor3 = TEXTCOLOR
  877.     label.TextStrokeTransparency = STROKETRANSPARENCY
  878.     label.TextTransparency = TRANSPARENCY
  879.     label.FontSize = TEXTFONTSIZE
  880.     label.Font = TEXTFONT
  881.     label.BorderSizePixel = BORDERSIZEPIXEL
  882.     label.TextScaled = false
  883.     label.Text = TEXT
  884.     label.Name = NAME
  885.     label.Parent = PARENT
  886.     return label
  887. end
  888.  
  889. function NoOutlines(PART)
  890.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  891. end
  892.  
  893. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  894.     local NEWWELD = IT(TYPE)
  895.     NEWWELD.Part0 = PART0
  896.     NEWWELD.Part1 = PART1
  897.     NEWWELD.C0 = C0
  898.     NEWWELD.C1 = C1
  899.     NEWWELD.Parent = PARENT
  900.     return NEWWELD
  901. end
  902.  
  903. local S = IT("Sound")
  904. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  905.     local NEWSOUND = nil
  906.     coroutine.resume(coroutine.create(function()
  907.         NEWSOUND = S:Clone()
  908.         NEWSOUND.Parent = PARENT
  909.         NEWSOUND.Volume = VOLUME
  910.         NEWSOUND.Pitch = PITCH
  911.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  912.         NEWSOUND:play()
  913.         if DOESLOOP == true then
  914.             NEWSOUND.Looped = true
  915.         else
  916.             repeat wait(1) until NEWSOUND.Playing == false
  917.             NEWSOUND:remove()
  918.         end
  919.     end))
  920.     return NEWSOUND
  921. end
  922.  
  923. function CFrameFromTopBack(at, top, back)
  924.     local right = top:Cross(back)
  925.     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)
  926. end
  927.  
  928. --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})
  929. function WACKYEFFECT(Table)
  930.     local TYPE = (Table.EffectType or "Sphere")
  931.     local SIZE = (Table.Size or VT(1,1,1))
  932.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  933.     local TRANSPARENCY = (Table.Transparency or 0)
  934.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  935.     local CFRAME = (Table.CFrame or Torso.CFrame)
  936.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  937.     local ROTATION1 = (Table.RotationX or 0)
  938.     local ROTATION2 = (Table.RotationY or 0)
  939.     local ROTATION3 = (Table.RotationZ or 0)
  940.     local MATERIAL = (Table.Material or "Neon")
  941.     local COLOR = (Table.Color or C3(1,1,1))
  942.     local TIME = (Table.Time or 45)
  943.     local SOUNDID = (Table.SoundID or nil)
  944.     local SOUNDPITCH = (Table.SoundPitch or nil)
  945.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  946.     coroutine.resume(coroutine.create(function()
  947.         local PLAYSSOUND = false
  948.         local SOUND = nil
  949.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  950.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  951.             PLAYSSOUND = true
  952.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  953.         end
  954.         EFFECT.Color = COLOR
  955.         local MSH = nil
  956.         if TYPE == "Sphere" then
  957.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  958.         elseif TYPE == "Block" then
  959.             MSH = IT("BlockMesh",EFFECT)
  960.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  961.         elseif TYPE == "Wave" then
  962.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  963.         elseif TYPE == "Ring" then
  964.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  965.         elseif TYPE == "Slash" then
  966.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  967.         elseif TYPE == "Round Slash" then
  968.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  969.         elseif TYPE == "Swirl" then
  970.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  971.         elseif TYPE == "Skull" then
  972.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  973.         elseif TYPE == "Crystal" then
  974.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  975.         end
  976.         if MSH ~= nil then
  977.             local MOVESPEED = nil
  978.             if MOVEDIRECTION ~= nil then
  979.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  980.             end
  981.             local GROWTH = SIZE - ENDSIZE
  982.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  983.             if TYPE == "Block" then
  984.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  985.             else
  986.                 EFFECT.CFrame = CFRAME
  987.             end
  988.             for LOOP = 1, TIME+1 do
  989.                 Swait()
  990.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  991.                 if TYPE == "Wave" then
  992.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  993.                 end
  994.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  995.                 if TYPE == "Block" then
  996.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  997.                 else
  998.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  999.                 end
  1000.                 if MOVEDIRECTION ~= nil then
  1001.                     local ORI = EFFECT.Orientation
  1002.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1003.                     EFFECT.Orientation = ORI
  1004.                 end
  1005.             end
  1006.             if PLAYSSOUND == false then
  1007.                 EFFECT:remove()
  1008.             else
  1009.                 SOUND.Stopped:Connect(function()
  1010.                     EFFECT:remove()
  1011.                 end)
  1012.             end
  1013.         else
  1014.             if PLAYSSOUND == false then
  1015.                 EFFECT:remove()
  1016.             else
  1017.                 repeat Swait() until SOUND.Playing == false
  1018.                 EFFECT:remove()
  1019.             end
  1020.         end
  1021.     end))
  1022. end
  1023.  
  1024. function MakeForm(PART,TYPE)
  1025.     if TYPE == "Cyl" then
  1026.         local MSH = IT("CylinderMesh",PART)
  1027.     elseif TYPE == "Ball" then
  1028.         local MSH = IT("SpecialMesh",PART)
  1029.         MSH.MeshType = "Sphere"
  1030.     elseif TYPE == "Wedge" then
  1031.         local MSH = IT("SpecialMesh",PART)
  1032.         MSH.MeshType = "Wedge"
  1033.     end
  1034. end
  1035.  
  1036. Debris = game:GetService("Debris")
  1037.  
  1038. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1039.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1040.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1041. end
  1042.  
  1043. local EyeSizes={
  1044.     NumberSequenceKeypoint.new(0,1,0),
  1045.     NumberSequenceKeypoint.new(1,0,0)
  1046. }
  1047. local EyeTrans={
  1048.     NumberSequenceKeypoint.new(0,0.8,0),
  1049.     NumberSequenceKeypoint.new(1,1,0)
  1050. }
  1051. local PE=Instance.new("ParticleEmitter",nil)
  1052. PE.LightEmission=.8
  1053. PE.Color = ColorSequence.new(BRICKC("Black").Color)
  1054. PE.Size=NumberSequence.new(EyeSizes)
  1055. PE.Transparency=NumberSequence.new(EyeTrans)
  1056. PE.Lifetime=NumberRange.new(0.35,1.5)
  1057. PE.Rotation=NumberRange.new(0,360)
  1058. PE.Rate=999
  1059. PE.VelocitySpread = 10000
  1060. PE.Acceleration = Vector3.new(0,0,0)
  1061. PE.Drag = 5
  1062. PE.Speed = NumberRange.new(0,0,0)
  1063. PE.Texture="http://www.roblox.com/asset/?id=1351966707"
  1064. PE.ZOffset = -0
  1065. PE.Name = "PE"
  1066. PE.Enabled = false
  1067.  
  1068. function particles(art)
  1069.     local PARTICLES = PE:Clone()
  1070.     PARTICLES.Parent = art
  1071. end
  1072.  
  1073. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  1074.     if FLOOR ~= nil then
  1075.         coroutine.resume(coroutine.create(function()
  1076.             local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  1077.             PART.CFrame = CF(POSITION)
  1078.             for i = 1, 45 do
  1079.                 local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  1080.                 RingPiece.Material = FLOOR.Material
  1081.                 RingPiece.Color = FLOOR.Color
  1082.                 RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1083.                 Debris:AddItem(RingPiece,SWAIT)
  1084.             end
  1085.             PART:remove()
  1086.         end))
  1087.     end
  1088. end
  1089.  
  1090. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  1091.     if FLOOR ~= nil then
  1092.         for i = 1, AMOUNT do
  1093.             local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  1094.             DEBREE.Material = FLOOR.Material
  1095.             DEBREE.Color = FLOOR.Color
  1096.             DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1097.             DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  1098.             coroutine.resume(coroutine.create(function()
  1099.                 Swait(15)
  1100.                 DEBREE.Parent = workspace
  1101.                 DEBREE.CanCollide = true
  1102.                 Debris:AddItem(DEBREE,SWAIT)
  1103.             end))
  1104.         end
  1105.     end
  1106. end
  1107.  
  1108. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1109.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1110. end
  1111.  
  1112. function PositiveAngle(NUMBER)
  1113.     if NUMBER >= 0 then
  1114.         NUMBER = 0
  1115.     end
  1116.     return NUMBER
  1117. end
  1118.  
  1119. function NegativeAngle(NUMBER)
  1120.     if NUMBER <= 0 then
  1121.         NUMBER = 0
  1122.     end
  1123.     return NUMBER
  1124. end
  1125.  
  1126. function Swait(NUMBER)
  1127.     if NUMBER == 0 or NUMBER == nil then
  1128.         ArtificialHB.Event:wait()
  1129.     else
  1130.         for i = 1, NUMBER do
  1131.             ArtificialHB.Event:wait()
  1132.         end
  1133.     end
  1134. end
  1135.  
  1136. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1137.     local NEWMESH = IT(MESH)
  1138.     if MESH == "SpecialMesh" then
  1139.         NEWMESH.MeshType = MESHTYPE
  1140.         if MESHID ~= "nil" and MESHID ~= "" then
  1141.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1142.         end
  1143.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1144.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1145.         end
  1146.     end
  1147.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1148.     NEWMESH.Scale = SCALE
  1149.     NEWMESH.Parent = PARENT
  1150.     return NEWMESH
  1151. end
  1152.  
  1153. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1154.     local NEWPART = IT("Part")
  1155.     NEWPART.formFactor = FORMFACTOR
  1156.     NEWPART.Reflectance = REFLECTANCE
  1157.     NEWPART.Transparency = TRANSPARENCY
  1158.     NEWPART.CanCollide = false
  1159.     NEWPART.Locked = true
  1160.     NEWPART.Anchored = true
  1161.     if ANCHOR == false then
  1162.         NEWPART.Anchored = false
  1163.     end
  1164.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1165.     NEWPART.Name = NAME
  1166.     NEWPART.Size = SIZE
  1167.     NEWPART.Position = Torso.Position
  1168.     NEWPART.Material = MATERIAL
  1169.     NEWPART:BreakJoints()
  1170.     NEWPART.Parent = PARENT
  1171.     return NEWPART
  1172. end
  1173.  
  1174.     local function weldBetween(a, b)
  1175.         local weldd = Instance.new("ManualWeld")
  1176.         weldd.Part0 = a
  1177.         weldd.Part1 = b
  1178.         weldd.C0 = CFrame.new()
  1179.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  1180.         weldd.Parent = a
  1181.         return weldd
  1182.     end
  1183.  
  1184.  
  1185. function QuaternionFromCFrame(cf)
  1186.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1187.     local trace = m00 + m11 + m22
  1188.     if trace > 0 then
  1189.         local s = math.sqrt(1 + trace)
  1190.         local recip = 0.5 / s
  1191.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1192.     else
  1193.         local i = 0
  1194.         if m11 > m00 then
  1195.             i = 1
  1196.         end
  1197.         if m22 > (i == 0 and m00 or m11) then
  1198.             i = 2
  1199.         end
  1200.         if i == 0 then
  1201.             local s = math.sqrt(m00 - m11 - m22 + 1)
  1202.             local recip = 0.5 / s
  1203.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1204.         elseif i == 1 then
  1205.             local s = math.sqrt(m11 - m22 - m00 + 1)
  1206.             local recip = 0.5 / s
  1207.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1208.         elseif i == 2 then
  1209.             local s = math.sqrt(m22 - m00 - m11 + 1)
  1210.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1211.         end
  1212.     end
  1213. end
  1214.  
  1215. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1216.     local xs, ys, zs = x + x, y + y, z + z
  1217.     local wx, wy, wz = w * xs, w * ys, w * zs
  1218.     local xx = x * xs
  1219.     local xy = x * ys
  1220.     local xz = x * zs
  1221.     local yy = y * ys
  1222.     local yz = y * zs
  1223.     local zz = z * zs
  1224.     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))
  1225. end
  1226.  
  1227. function QuaternionSlerp(a, b, t)
  1228.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1229.     local startInterp, finishInterp;
  1230.     if cosTheta >= 0.0001 then
  1231.         if (1 - cosTheta) > 0.0001 then
  1232.             local theta = ACOS(cosTheta)
  1233.             local invSinTheta = 1 / SIN(theta)
  1234.             startInterp = SIN((1 - t) * theta) * invSinTheta
  1235.             finishInterp = SIN(t * theta) * invSinTheta
  1236.         else
  1237.             startInterp = 1 - t
  1238.             finishInterp = t
  1239.         end
  1240.     else
  1241.         if (1 + cosTheta) > 0.0001 then
  1242.             local theta = ACOS(-cosTheta)
  1243.             local invSinTheta = 1 / SIN(theta)
  1244.             startInterp = SIN((t - 1) * theta) * invSinTheta
  1245.             finishInterp = SIN(t * theta) * invSinTheta
  1246.         else
  1247.             startInterp = t - 1
  1248.             finishInterp = t
  1249.         end
  1250.     end
  1251.     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
  1252. end
  1253.  
  1254. function Clerp(a, b, t)
  1255.     local qa = {QuaternionFromCFrame(a)}
  1256.     local qb = {QuaternionFromCFrame(b)}
  1257.     local ax, ay, az = a.x, a.y, a.z
  1258.     local bx, by, bz = b.x, b.y, b.z
  1259.     local _t = 1 - t
  1260.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1261. end
  1262.  
  1263. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1264.     local frame = IT("Frame")
  1265.     frame.BackgroundTransparency = TRANSPARENCY
  1266.     frame.BorderSizePixel = BORDERSIZEPIXEL
  1267.     frame.Position = POSITION
  1268.     frame.Size = SIZE
  1269.     frame.BackgroundColor3 = COLOR
  1270.     frame.BorderColor3 = BORDERCOLOR
  1271.     frame.Name = NAME
  1272.     frame.Parent = PARENT
  1273.     return frame
  1274. end
  1275.  
  1276. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1277.     local label = IT("TextLabel")
  1278.     label.BackgroundTransparency = 1
  1279.     label.Size = UD2(1, 0, 1, 0)
  1280.     label.Position = UD2(0, 0, 0, 0)
  1281.     label.TextColor3 = TEXTCOLOR
  1282.     label.TextStrokeTransparency = STROKETRANSPARENCY
  1283.     label.TextTransparency = TRANSPARENCY
  1284.     label.FontSize = TEXTFONTSIZE
  1285.     label.Font = TEXTFONT
  1286.     label.BorderSizePixel = BORDERSIZEPIXEL
  1287.     label.TextScaled = false
  1288.     label.Text = TEXT
  1289.     label.Name = NAME
  1290.     label.Parent = PARENT
  1291.     return label
  1292. end
  1293.  
  1294. function NoOutlines(PART)
  1295.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1296. end
  1297.  
  1298. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1299.     local NEWWELD = IT(TYPE)
  1300.     NEWWELD.Part0 = PART0
  1301.     NEWWELD.Part1 = PART1
  1302.     NEWWELD.C0 = C0
  1303.     NEWWELD.C1 = C1
  1304.     NEWWELD.Parent = PARENT
  1305.     return NEWWELD
  1306. end
  1307.  
  1308. local S = IT("Sound")
  1309. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1310.     local NEWSOUND = nil
  1311.     coroutine.resume(coroutine.create(function()
  1312.         NEWSOUND = S:Clone()
  1313.         NEWSOUND.Parent = PARENT
  1314.         NEWSOUND.Volume = VOLUME
  1315.         NEWSOUND.Pitch = PITCH
  1316.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1317.         NEWSOUND:play()
  1318.         if DOESLOOP == true then
  1319.             NEWSOUND.Looped = true
  1320.         else
  1321.             repeat wait(1) until NEWSOUND.Playing == false
  1322.             NEWSOUND:remove()
  1323.         end
  1324.     end))
  1325.     return NEWSOUND
  1326. end
  1327.  
  1328. function CFrameFromTopBack(at, top, back)
  1329.     local right = top:Cross(back)
  1330.     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)
  1331. end
  1332.  
  1333. --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})
  1334. function WACKYEFFECT(Table)
  1335.     local TYPE = (Table.EffectType or "Sphere")
  1336.     local SIZE = (Table.Size or VT(1,1,1))
  1337.     local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1338.     local TRANSPARENCY = (Table.Transparency or 0)
  1339.     local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1340.     local CFRAME = (Table.CFrame or Torso.CFrame)
  1341.     local MOVEDIRECTION = (Table.MoveToPos or nil)
  1342.     local ROTATION1 = (Table.RotationX or 0)
  1343.     local ROTATION2 = (Table.RotationY or 0)
  1344.     local ROTATION3 = (Table.RotationZ or 0)
  1345.     local MATERIAL = (Table.Material or "Neon")
  1346.     local COLOR = (Table.Color or C3(1,1,1))
  1347.     local TIME = (Table.Time or 45)
  1348.     local SOUNDID = (Table.SoundID or nil)
  1349.     local SOUNDPITCH = (Table.SoundPitch or nil)
  1350.     local SOUNDVOLUME = (Table.SoundVolume or nil)
  1351.     coroutine.resume(coroutine.create(function()
  1352.         local PLAYSSOUND = false
  1353.         local SOUND = nil
  1354.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1355.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1356.             PLAYSSOUND = true
  1357.             SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1358.         end
  1359.         EFFECT.Color = COLOR
  1360.         local MSH = nil
  1361.         if TYPE == "Sphere" then
  1362.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1363.         elseif TYPE == "Block" then
  1364.             MSH = IT("BlockMesh",EFFECT)
  1365.             MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1366.         elseif TYPE == "Wave" then
  1367.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1368.         elseif TYPE == "Ring" then
  1369.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1370.         elseif TYPE == "Slash" then
  1371.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1372.         elseif TYPE == "Round Slash" then
  1373.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1374.         elseif TYPE == "Swirl" then
  1375.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1376.         elseif TYPE == "Skull" then
  1377.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1378.         elseif TYPE == "Crystal" then
  1379.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1380.         end
  1381.         if MSH ~= nil then
  1382.             local MOVESPEED = nil
  1383.             if MOVEDIRECTION ~= nil then
  1384.                 MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1385.             end
  1386.             local GROWTH = SIZE - ENDSIZE
  1387.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1388.             if TYPE == "Block" then
  1389.                 EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1390.             else
  1391.                 EFFECT.CFrame = CFRAME
  1392.             end
  1393.             for LOOP = 1, TIME+1 do
  1394.                 Swait()
  1395.                 MSH.Scale = MSH.Scale - GROWTH/TIME
  1396.                 if TYPE == "Wave" then
  1397.                     MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1398.                 end
  1399.                 EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1400.                 if TYPE == "Block" then
  1401.                     EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1402.                 else
  1403.                     EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1404.                 end
  1405.                 if MOVEDIRECTION ~= nil then
  1406.                     local ORI = EFFECT.Orientation
  1407.                     EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1408.                     EFFECT.Orientation = ORI
  1409.                 end
  1410.             end
  1411.             if PLAYSSOUND == false then
  1412.                 EFFECT:remove()
  1413.             else
  1414.                 repeat Swait() until SOUND.Playing == false
  1415.                 EFFECT:remove()
  1416.             end
  1417.         else
  1418.             if PLAYSSOUND == false then
  1419.                 EFFECT:remove()
  1420.             else
  1421.                 repeat Swait() until SOUND.Playing == false
  1422.                 EFFECT:remove()
  1423.             end
  1424.         end
  1425.     end))
  1426. end
  1427.  
  1428. function MakeForm(PART,TYPE)
  1429.     if TYPE == "Cyl" then
  1430.         local MSH = IT("CylinderMesh",PART)
  1431.     elseif TYPE == "Ball" then
  1432.         local MSH = IT("SpecialMesh",PART)
  1433.         MSH.MeshType = "Sphere"
  1434.     elseif TYPE == "Wedge" then
  1435.         local MSH = IT("SpecialMesh",PART)
  1436.         MSH.MeshType = "Wedge"
  1437.     end
  1438. end
  1439.  
  1440. Debris = game:GetService("Debris")
  1441.  
  1442. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1443.     local DIRECTION = CF(StartPos,EndPos).lookVector
  1444.     return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1445. end
  1446.  
  1447. function turnto(position)
  1448.     RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1449. end
  1450.  
  1451. --//=================================\\
  1452. --||         WEAPON CREATION
  1453. --\\=================================//
  1454. local BODY = {}
  1455.  
  1456. for _, c in pairs(Character:GetDescendants()) do
  1457.     if c:IsA("BasePart") and c.Name ~= "Handle" then
  1458.         if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  1459.             c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1460.         end
  1461.         table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  1462.     elseif c:IsA("JointInstance") then
  1463.         table.insert(BODY,{c,c.Parent,nil,nil,nil})
  1464.     end
  1465. end
  1466.  
  1467. for e = 1, #BODY do
  1468.     if BODY[e] ~= nil then
  1469.         local STUFF = BODY[e]
  1470.         local PART = STUFF[1]
  1471.         local PARENT = STUFF[2]
  1472.         local MATERIAL = STUFF[3]
  1473.         local COLOR = STUFF[4]
  1474.         local TRANSPARENCY = STUFF[5]
  1475.         if PART.ClassName == "Part" and PART ~= RootPart then
  1476.             PART.Material = MATERIAL
  1477.             PART.Color = COLOR
  1478.             PART.Transparency = TRANSPARENCY
  1479.         end
  1480.         PART.AncestryChanged:Connect(function()
  1481.             PART.Parent = PARENT
  1482.         end)
  1483.     end
  1484. end
  1485.  
  1486. -------------------------------------------------------
  1487. local Orbd = Instance.new("Part", Character)
  1488. Orbd.Name = "Orbd"
  1489. Orbd.Shape = Enum.PartType.Ball
  1490. Orbd.CanCollide = false
  1491. Orbd.BrickColor = BrickColor.new("Really black")
  1492. Orbd.Transparency = 0
  1493. Orbd.Material = "Neon"
  1494. Orbd.Size = Vector3.new(0.3, 0.3, 0.3)
  1495. Orbd.TopSurface = Enum.SurfaceType.Smooth
  1496. Orbd.BottomSurface = Enum.SurfaceType.Smooth
  1497.  
  1498. local Weld = Instance.new("Weld", Orbd)
  1499. Weld.Part0 = Character.Head
  1500. Weld.Part1 = Orbd
  1501. Weld.C1 = CFrame.new(-0.26, -0.24, 0.55)
  1502.  
  1503. --------------------------------------------------------
  1504. local Orbvc = Instance.new("Part", Character)
  1505. Orbvc.Name = "Orbvc"
  1506. Orbvc.Shape = Enum.PartType.Ball
  1507. Orbvc.CanCollide = false
  1508. Orbvc.BrickColor = BrickColor.new("Really black")
  1509. Orbvc.Transparency = 0
  1510. Orbvc.Material = "Neon"
  1511. Orbvc.Size = Vector3.new(0.3, 0.3, 0.3)
  1512. Orbvc.TopSurface = Enum.SurfaceType.Smooth
  1513. Orbvc.BottomSurface = Enum.SurfaceType.Smooth
  1514.  
  1515. local Weld = Instance.new("Weld", Orbvc)
  1516. Weld.Part0 = Character.Head
  1517. Weld.Part1 = Orbvc
  1518. Weld.C1 = CFrame.new(0.26, -0.24, 0.55)
  1519. ---------------------------------------------------------
  1520. local Mask = Instance.new("Part", Character)
  1521. Mask.Name = "Mask"
  1522. Mask.CanCollide = false
  1523. Mask.BrickColor = BrickColor.new("Medium stone grey")
  1524. Mask.Transparency = 0
  1525. Mask.Material = "Neon"
  1526. Mask.Size = Vector3.new(0.1, 0.1, 0.1)
  1527. Mask.TopSurface = Enum.SurfaceType.Smooth
  1528. Mask.BottomSurface = Enum.SurfaceType.Smooth
  1529.  
  1530. local Weld = Instance.new("Weld", Mask)
  1531. Weld.Part0 = Character.Head
  1532. Weld.Part1 = Mask
  1533. Weld.C1 = CFrame.new(0, -0.1, 0.8)
  1534.  
  1535. local M1 = Instance.new("SpecialMesh")
  1536. M1.Parent = Mask
  1537. M1.MeshId = "http://www.roblox.com/asset/?id=62679079"
  1538. M1.Scale = Vector3.new( 1, 1, 2)
  1539. ----------------------------------------------------------
  1540. local Hood = Instance.new("Part", Character)
  1541. Hood.Name = "Hood"
  1542. Hood.CanCollide = false
  1543. Hood.BrickColor = BrickColor.new("Really black")
  1544. Hood.Transparency = 0
  1545. Hood.Material = "Plastic"
  1546. Hood.Size = Vector3.new(0.1, 0.1, 0.1)
  1547. Hood.TopSurface = Enum.SurfaceType.Smooth
  1548. Hood.BottomSurface = Enum.SurfaceType.Smooth
  1549.  
  1550. local Weld = Instance.new("Weld", Hood)
  1551. Weld.Part0 = Character.Head
  1552. Weld.Part1 = Hood
  1553. Weld.C1 = CFrame.new(0, -0.2, 0)
  1554.  
  1555. local M2 = Instance.new("SpecialMesh")
  1556. M2.Parent = Hood
  1557. M2.MeshId = "http://www.roblox.com/asset/?id=83499032"
  1558. M2.Scale = Vector3.new( 1, 1.2, 1.1)
  1559. ------------------------------------------------------
  1560. --[[
  1561.         Thanks for using Build-To-Lua by jarredbcv.
  1562. ]]--
  1563.  
  1564. New = function(Object, Parent, Name, Data)
  1565.     local Object = Instance.new(Object)
  1566.     for Index, Value in pairs(Data or {}) do
  1567.         Object[Index] = Value
  1568.     end
  1569.     Object.Parent = Parent
  1570.     Object.Name = Name
  1571.     return Object
  1572. end
  1573.  
  1574. for i = 1, 35 do
  1575.     local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
  1576.     FACE.Color = C3(0,0,0)
  1577.     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1578.     CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  1579. end
  1580.  
  1581. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eye", VT(0.6,0.1,1)/2,false)
  1582. MakeForm(Eye,"Ball")
  1583. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  1584. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.6,0.1,1)/2,false)
  1585. MakeForm(Eye,"Ball")
  1586. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  1587. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.1,1,1)/2,false)
  1588. MakeForm(Eye,"Ball")
  1589. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  1590. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.1,1,1)/2,false)
  1591. MakeForm(Eye,"Ball")
  1592. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  1593.  
  1594. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(1.01,0.3,1.01),false)
  1595. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1596. for i = 1, 3 do
  1597.     local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.2,1.02,0.2),false)
  1598.     CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
  1599.     MakeForm(Part,"Cyl")
  1600. end
  1601. for i = 1, 3 do
  1602.     local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.2,1.02,0.2),false)
  1603.     CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.6-0.3*i, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(90)), CF(0, 0, 0))
  1604.     MakeForm(Part,"Cyl")
  1605. end
  1606. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.51,0.6,0.25),false)
  1607. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1608. MakeForm(Part,"Wedge")
  1609. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.51,0.6,0.25),false)
  1610. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1611. MakeForm(Part,"Wedge")
  1612. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1613. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1614. MakeForm(Part,"Wedge")
  1615. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1616. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1617. MakeForm(Part,"Wedge")
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625. for _, c in pairs(Weapon:GetChildren()) do
  1626.     if c.ClassName == "Part" then
  1627.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1628.         local AURA = c:Clone()
  1629.         AURA:BreakJoints()
  1630.         AURA.Parent = c
  1631.         AURA.CFrame = c.CFrame
  1632.         AURA.Size = AURA.Size*1.001
  1633.         AURA.Transparency = 0.8
  1634.         AURA.BrickColor = BRICKC"Royal purple"
  1635.         AURA.Material = "Neon"
  1636.         weldBetween(c,AURA)
  1637.     end
  1638. end
  1639. function refit()
  1640.     Character.Parent = workspace
  1641.     for e = 1, #BODY do
  1642.         if BODY[e] ~= nil then
  1643.             local STUFF = BODY[e]
  1644.             local PART = STUFF[1]
  1645.             local PARENT = STUFF[2]
  1646.             local MATERIAL = STUFF[3]
  1647.             local COLOR = STUFF[4]
  1648.             local TRANSPARENCY = STUFF[5]
  1649.             if PART.ClassName == "Part" and PART ~= RootPart then
  1650.                 PART.Material = MATERIAL
  1651.                 PART.Color = COLOR
  1652.                 PART.Transparency = TRANSPARENCY
  1653.             end
  1654.             if PART.Parent ~= PARENT then
  1655.                 Humanoid:remove()
  1656.                 PART.Parent = PARENT
  1657.                 Humanoid = IT("Humanoid",Character)
  1658.             end
  1659.         end
  1660.     end
  1661. end
  1662.  
  1663. local SKILLTEXTCOLOR = BRICKC"Black".Color
  1664. local SKILLFONT = "Bodoni"
  1665. local SKILLTEXTSIZE = 7
  1666.  
  1667. Weapon.Parent = Character
  1668.  
  1669. Humanoid.Died:connect(function()
  1670.    
  1671.     ATTACK = true
  1672. end)
  1673.  
  1674. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1675. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1676. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1677. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1678. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1679. local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.76, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
  1680.  
  1681.  
  1682. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] BEAM OF CORRUPTION", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 1")
  1683. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] EXPLOSION", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 2")
  1684. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] STUN", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 3")
  1685. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[E] SCREAM", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 4")
  1686. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[R] WARP", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 5")
  1687. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[Q] PAIN", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 6")
  1688.  
  1689. --//=================================\\
  1690. --||         RAGDOLL STUFF
  1691. --\\=================================//
  1692.  
  1693. function recurse(root,callback,i)
  1694.     i= i or 0
  1695.     for _,v in pairs(root:GetChildren()) do
  1696.         i = i + 1
  1697.         callback(i,v)
  1698.        
  1699.         if #v:GetChildren() > 0 then
  1700.             i = recurse(v,callback,i)
  1701.         end
  1702.     end
  1703.    
  1704.     return i
  1705. end
  1706.  
  1707. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1708.     attachmentName = attachmentName.."RigAttachment"
  1709.     local constraint = Instance.new(className.."Constraint")
  1710.     constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1711.     constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1712.     constraint.Name = "RagdollConstraint"..part1.Name
  1713.    
  1714.     for _,propertyData in next,properties or {} do
  1715.         constraint[propertyData[1]] = propertyData[2]
  1716.     end
  1717.    
  1718.     constraint.Parent = character
  1719. end
  1720.  
  1721. function getAttachment0(character, attachmentName)
  1722.     for _,child in next,character:GetChildren() do
  1723.         local attachment = child:FindFirstChild(attachmentName)
  1724.         if attachment then
  1725.             return attachment
  1726.         end
  1727.     end
  1728. end
  1729.  
  1730. function ArtificialHitbox(Part)
  1731.     local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
  1732.     HITBOX.CanCollide = true
  1733.     HITBOX.CFrame = Part.CFrame
  1734.     weldBetween(Part,HITBOX)
  1735. end
  1736.  
  1737. function R15Ragdoll(character,KeepArms)
  1738.     character:BreakJoints()
  1739.     coroutine.resume(coroutine.create(function()
  1740.         recurse(character, function(_,v)
  1741.             if v:IsA("Attachment") then
  1742.                 v.Axis = Vector3.new(0, 1, 0)
  1743.                 v.SecondaryAxis = Vector3.new(0, 0, 1)
  1744.                 v.Rotation = Vector3.new(0, 0, 0)
  1745.             end
  1746.         end)
  1747.         for _,child in next,character:GetChildren() do
  1748.             if child:IsA("Accoutrement") then
  1749.                 for _,part in next,child:GetChildren() do
  1750.                     if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1751.                         local attachment1 = part:FindFirstChildOfClass("Attachment")
  1752.                         local attachment0 = getAttachment0(character,attachment1.Name)
  1753.                         if attachment0 and attachment1 then
  1754.                             local constraint = Instance.new("HingeConstraint")
  1755.                             constraint.Attachment0 = attachment0
  1756.                             constraint.Attachment1 = attachment1
  1757.                             constraint.LimitsEnabled = true
  1758.                             constraint.UpperAngle = 0
  1759.                             constraint.LowerAngle = 0
  1760.                             constraint.Parent = character
  1761.                         end
  1762.                         ArtificialHitbox(part)
  1763.                     elseif part.Name == "HumanoidRootPart" then
  1764.                         part:remove()
  1765.                     end
  1766.                 end
  1767.             end
  1768.         end
  1769.        
  1770.         ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1771.             {"LimitsEnabled",true};
  1772.             {"UpperAngle",5};
  1773.         })
  1774.         if character:FindFirstChild("Head") then
  1775.             ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1776.                 {"LimitsEnabled",true};
  1777.                 {"UpperAngle",15};
  1778.             })
  1779.         end
  1780.        
  1781.         local handProperties = {
  1782.             {"LimitsEnabled", true};
  1783.             {"UpperAngle",0};
  1784.             {"LowerAngle",0};
  1785.         }
  1786.         ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1787.         ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1788.        
  1789.         local shinProperties = {
  1790.             {"LimitsEnabled", true};
  1791.             {"UpperAngle", 0};
  1792.             {"LowerAngle", -75};
  1793.         }
  1794.         ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1795.         ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1796.        
  1797.         local footProperties = {
  1798.             {"LimitsEnabled", true};
  1799.             {"UpperAngle", 15};
  1800.             {"LowerAngle", -45};
  1801.         }
  1802.         ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1803.         ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1804.         if KeepArms == true then
  1805.             ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1806.             ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1807.             ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1808.             ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1809.         end
  1810.         ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1811.         ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1812.         Debris:AddItem(character,5)
  1813.     end))
  1814. end
  1815.  
  1816. function Ragdoll(Character2,CharTorso,KeepArms)
  1817.     coroutine.resume(coroutine.create(function()
  1818.         Character2:BreakJoints()
  1819.         local hum = Character2:findFirstChild("Humanoid")
  1820.         hum:remove()
  1821.         local function Scan(ch)
  1822.             local e
  1823.             for e = 1,#ch do
  1824.                 Scan(ch[e]:GetChildren())
  1825.                 if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1826.                     ch[e]:remove()
  1827.                 end
  1828.             end
  1829.         end
  1830.         local NEWHUM = IT("Humanoid")
  1831.         NEWHUM.Name = "Corpse"
  1832.         NEWHUM.Health = 0
  1833.         NEWHUM.MaxHealth = 0
  1834.         NEWHUM.PlatformStand = true
  1835.         NEWHUM.Parent = Character2
  1836.         NEWHUM.DisplayDistanceType = "None"
  1837.    
  1838.         local ch = Character2:GetChildren()
  1839.         local i
  1840.         for i = 1,#ch do
  1841.             if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1842.                 ch[i]:remove()
  1843.             end
  1844.         end
  1845.    
  1846.         local Torso2 = Character2.Torso
  1847.         local movevector = Vector3.new()
  1848.    
  1849.         if Torso2 then
  1850.             movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1851.             local Head = Character2:FindFirstChild("Head")
  1852.             if Head then
  1853.                 local Neck = Instance.new("Weld")
  1854.                 Neck.Name = "Neck"
  1855.                 Neck.Part0 = Torso2
  1856.                 Neck.Part1 = Head
  1857.                 Neck.C0 = CFrame.new(0, 1.5, 0)
  1858.                 Neck.C1 = CFrame.new()
  1859.                 Neck.Parent = Torso2
  1860.    
  1861.             end
  1862.             local Limb = Character2:FindFirstChild("Right Arm")
  1863.             if Limb and KeepArms == true then
  1864.    
  1865.                 Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1866.                 local Joint = Instance.new("Glue")
  1867.                 Joint.Name = "RightShoulder"
  1868.                 Joint.Part0 = Torso2
  1869.                 Joint.Part1 = Limb
  1870.                 Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1871.                 Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1872.                 Joint.Parent = Torso2
  1873.    
  1874.                 local B = Instance.new("Part")
  1875.                 B.TopSurface = 0
  1876.                 B.BottomSurface = 0
  1877.                 B.formFactor = "Symmetric"
  1878.                 B.Size = Vector3.new(1, 1, 1)
  1879.                 B.Transparency = 1
  1880.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1881.                 B.Parent = Character2
  1882.                 local W = Instance.new("Weld")
  1883.                 W.Part0 = Limb
  1884.                 W.Part1 = B
  1885.                 W.C0 = CFrame.new(0, -0.5, 0)
  1886.                 W.Parent = Limb
  1887.    
  1888.             end
  1889.             local Limb = Character2:FindFirstChild("Left Arm")
  1890.             if Limb and KeepArms == true then
  1891.    
  1892.                 Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1893.                 local Joint = Instance.new("Glue")
  1894.                 Joint.Name = "LeftShoulder"
  1895.                 Joint.Part0 = Torso2
  1896.                 Joint.Part1 = Limb
  1897.                 Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1898.                 Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1899.                 Joint.Parent = Torso2
  1900.    
  1901.                 local B = Instance.new("Part")
  1902.                 B.TopSurface = 0
  1903.                 B.BottomSurface = 0
  1904.                 B.formFactor = "Symmetric"
  1905.                 B.Size = Vector3.new(1, 1, 1)
  1906.                 B.Transparency = 1
  1907.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1908.                 B.Parent = Character2
  1909.                 local W = Instance.new("Weld")
  1910.                 W.Part0 = Limb
  1911.                 W.Part1 = B
  1912.                 W.C0 = CFrame.new(0, -0.5, 0)
  1913.                 W.Parent = Limb
  1914.    
  1915.             end
  1916.             local Limb = Character2:FindFirstChild("Right Leg")
  1917.             if Limb then
  1918.    
  1919.                 Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1920.                 local Joint = Instance.new("Glue")
  1921.                 Joint.Name = "RightHip"
  1922.                 Joint.Part0 = Torso2
  1923.                 Joint.Part1 = Limb
  1924.                 Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1925.                 Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1926.                 Joint.Parent = Torso2
  1927.    
  1928.                 local B = Instance.new("Part")
  1929.                 B.TopSurface = 0
  1930.                 B.BottomSurface = 0
  1931.                 B.formFactor = "Symmetric"
  1932.                 B.Size = Vector3.new(1, 1, 1)
  1933.                 B.Transparency = 1
  1934.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1935.                 B.Parent = Character2
  1936.                 local W = Instance.new("Weld")
  1937.                 W.Part0 = Limb
  1938.                 W.Part1 = B
  1939.                 W.C0 = CFrame.new(0, -0.5, 0)
  1940.                 W.Parent = Limb
  1941.    
  1942.             end
  1943.             local Limb = Character2:FindFirstChild("Left Leg")
  1944.             if Limb then
  1945.    
  1946.                 Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1947.                 local Joint = Instance.new("Glue")
  1948.                 Joint.Name = "LeftHip"
  1949.                 Joint.Part0 = Torso2
  1950.                 Joint.Part1 = Limb
  1951.                 Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1952.                 Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1953.                 Joint.Parent = Torso2
  1954.    
  1955.                 local B = Instance.new("Part")
  1956.                 B.TopSurface = 0
  1957.                 B.BottomSurface = 0
  1958.                 B.formFactor = "Symmetric"
  1959.                 B.Size = Vector3.new(1, 1, 1)
  1960.                 B.Transparency = 1
  1961.                 B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1962.                 B.Parent = Character2
  1963.                 local W = Instance.new("Weld")
  1964.                 W.Part0 = Limb
  1965.                 W.Part1 = B
  1966.                 W.C0 = CFrame.new(0, -0.5, 0)
  1967.                 W.Parent = Limb
  1968.    
  1969.             end
  1970.             --[
  1971.             local Bar = Instance.new("Part")
  1972.             Bar.TopSurface = 0
  1973.             Bar.BottomSurface = 0
  1974.             Bar.formFactor = "Symmetric"
  1975.             Bar.Size = Vector3.new(1, 1, 1)
  1976.             Bar.Transparency = 1
  1977.             Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  1978.             Bar.Parent = Character2
  1979.             local Weld = Instance.new("Weld")
  1980.             Weld.Part0 = Torso2
  1981.             Weld.Part1 = Bar
  1982.             Weld.C0 = CFrame.new(0, 0.5, 0)
  1983.             Weld.Parent = Torso2
  1984.             --]]
  1985.         end
  1986.         Character2.Parent = workspace
  1987.         Debris:AddItem(Character2,5)
  1988.    
  1989.         return Character2,Torso2
  1990.     end))
  1991. end
  1992.  
  1993. --//=================================\\
  1994. --||         DAMAGE FUNCTIONS
  1995. --\\=================================//
  1996. function StatLabel(CFRAME, TEXT, COLOR)
  1997.     local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1998.     STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  1999.     local BODYGYRO = IT("BodyGyro", STATPART)
  2000.     game:GetService("Debris"):AddItem(STATPART ,5)
  2001.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2002.     BILLBOARDGUI.Adornee = STATPART
  2003.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2004.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2005.     BILLBOARDGUI.AlwaysOnTop = false
  2006.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2007.     TEXTLABEL.BackgroundTransparency = 1
  2008.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2009.     TEXTLABEL.Text = TEXT
  2010.     TEXTLABEL.Font = SKILLFONT
  2011.     TEXTLABEL.FontSize="Size42"
  2012.     TEXTLABEL.TextColor3 = COLOR
  2013.     TEXTLABEL.TextStrokeTransparency = 0
  2014.     TEXTLABEL.TextScaled = true
  2015.     TEXTLABEL.TextWrapped = true
  2016.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2017.         for i = 1, 50 do
  2018.             Swait()
  2019.             STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2020.             TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2021.             TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2022.         end
  2023.         THEPART.Parent = nil
  2024.     end),STATPART, TEXTLABEL)
  2025. end
  2026.  
  2027. function StatLabel(CFRAME, TEXT, COLOR)
  2028.     local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2029.     STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2030.     local BODYGYRO = IT("BodyGyro", STATPART)
  2031.     game:GetService("Debris"):AddItem(STATPART ,5)
  2032.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2033.     BILLBOARDGUI.Adornee = STATPART
  2034.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2035.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2036.     BILLBOARDGUI.AlwaysOnTop = false
  2037.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2038.     TEXTLABEL.BackgroundTransparency = 1
  2039.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2040.     TEXTLABEL.Text = TEXT
  2041.     TEXTLABEL.Font = "Fantasy"
  2042.     TEXTLABEL.FontSize="Size42"
  2043.     TEXTLABEL.TextColor3 = COLOR
  2044.     TEXTLABEL.TextStrokeTransparency = 0
  2045.     TEXTLABEL.TextScaled = true
  2046.     TEXTLABEL.TextWrapped = true
  2047.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2048.         for i = 1, 50 do
  2049.             Swait()
  2050.             STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2051.             TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2052.             TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2053.         end
  2054.         THEPART.Parent = nil
  2055.     end),STATPART, TEXTLABEL)
  2056. end
  2057.  
  2058. function StatLabel(CFRAME, TEXT, COLOR)
  2059.     local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2060.     STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2061.     local BODYGYRO = IT("BodyGyro", STATPART)
  2062.     game:GetService("Debris"):AddItem(STATPART ,5)
  2063.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2064.     BILLBOARDGUI.Adornee = STATPART
  2065.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2066.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2067.     BILLBOARDGUI.AlwaysOnTop = false
  2068.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2069.     TEXTLABEL.BackgroundTransparency = 1
  2070.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2071.     TEXTLABEL.Text = TEXT
  2072.     TEXTLABEL.Font = SKILLFONT
  2073.     TEXTLABEL.FontSize="Size42"
  2074.     TEXTLABEL.TextColor3 = COLOR
  2075.     TEXTLABEL.TextStrokeTransparency = 0
  2076.     TEXTLABEL.TextScaled = true
  2077.     TEXTLABEL.TextWrapped = true
  2078.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2079.         for i = 1, 50 do
  2080.             Swait()
  2081.             STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2082.             TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2083.             TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2084.         end
  2085.         THEPART.Parent = nil
  2086.     end),STATPART, TEXTLABEL)
  2087. end
  2088.  
  2089. --//=================================\\
  2090. --||            DAMAGING
  2091. --\\=================================//
  2092. function ApplyDamage(Humanoid,Damage,TorsoPart)
  2093.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  2094.     defence.Name = ("HitBy"..Player.Name)
  2095.     game:GetService("Debris"):AddItem(defence, 0.001)
  2096.     Damage = Damage * DAMAGEMULTIPLIER
  2097.     if Humanoid.Health ~= 0 then
  2098.         local CritChance = MRANDOM(1,100)
  2099.         if Damage > Humanoid.Health then
  2100.             Damage = math.ceil(Humanoid.Health)
  2101.             if Damage == 0 then
  2102.                 Damage = 0.1
  2103.             end
  2104.         end
  2105.         Humanoid.Health = Humanoid.Health - Damage
  2106.     end
  2107. end
  2108.  
  2109. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  2110.     local CHILDREN = workspace:GetDescendants()
  2111.     for index, CHILD in pairs(CHILDREN) do
  2112.         if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  2113.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2114.             if HUM then
  2115.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2116.                 if TORSO then
  2117.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2118.                         if INSTAKILL == false then
  2119.                             CHILD:BreakJoints()
  2120.                         else
  2121.                             local DMG = MRANDOM(MINDMG,MAXDMG)
  2122.                             ApplyDamage(HUM,DMG,TORSO)
  2123.                         end
  2124.                         if FLING > 0 then
  2125.                             for _, c in pairs(CHILD:GetChildren()) do
  2126.                                 if c:IsA("BasePart") then
  2127.                                     local bv = Instance.new("BodyVelocity")
  2128.                                     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2129.                                     bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2130.                                     bv.Parent = c
  2131.                                     Debris:AddItem(bv,0.05)
  2132.                                 end
  2133.                             end
  2134.                         end
  2135.                     end
  2136.                 end
  2137.             end
  2138.         end
  2139.     end
  2140. end
  2141.  
  2142. function KillChildren(v)
  2143.     v:BreakJoints()
  2144.     for _, c in pairs(v:GetChildren()) do
  2145.         if c:IsA("BasePart") then
  2146.             if c.Transparency < 1 then
  2147.                 if c:FindFirstChildOfClass("Decal") then
  2148.                     c:FindFirstChildOfClass("Decal"):remove()
  2149.                 end
  2150.                 particles(c)
  2151.                 c.PE.Enabled = true
  2152.                 c.Parent = Effects
  2153.                 c.CanCollide = false
  2154.                 c.Material = "Neon"
  2155.                 c.Color = C3(0,0,0)
  2156.                 c.Transparency = 1
  2157.                 local grav = Instance.new("BodyPosition",c)
  2158.                 grav.P = 20000
  2159.                 grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2160.                 grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
  2161.                 grav.Name = "GravityForce"
  2162.                 coroutine.resume(coroutine.create(function()
  2163.                     for i = 1, 20 do
  2164.                         Swait()
  2165.                         c.Transparency = c.Transparency + 1/20
  2166.                     end
  2167.                     c.PE.Enabled = false
  2168.                     Debris:AddItem(c,2)
  2169.                 end))
  2170.             end
  2171.         end
  2172.     end
  2173. end
  2174.  
  2175. function ApplyAoE(POSITION,RANGE)
  2176.     local CHILDREN = workspace:GetDescendants()
  2177.     for index, CHILD in pairs(CHILDREN) do
  2178.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  2179.             local LISTED = false
  2180.             for LIST = 1, #WHITELIST do
  2181.                 if WHITELIST[LIST] ~= nil then
  2182.                     if CHILD.Name == WHITELIST[LIST] then
  2183.                         LISTED = true
  2184.                     end
  2185.                 end
  2186.             end
  2187.             if LISTED == false then
  2188.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2189.                 if HUM then
  2190.                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2191.                     if TORSO then
  2192.                         if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
  2193.                             KillChildren(CHILD)
  2194.                         end
  2195.                     end
  2196.                 end
  2197.             end
  2198.         end
  2199.     end
  2200. end
  2201.  
  2202. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
  2203.     local defence = Instance.new("BoolValue",Humanoid.Parent)
  2204.     defence.Name = ("HitBy"..Player.Name)
  2205.     game:GetService("Debris"):AddItem(defence, 0.001)
  2206.     if Humanoid.Health ~= 0 then
  2207.         local CritChance = MRANDOM(1,100)
  2208.         if CritChance < CritRate + 1 then
  2209.             Damage = Damage*CritMultiplier
  2210.         end
  2211.         if Damage > Humanoid.Health then
  2212.             Damage = math.ceil(Humanoid.Health)
  2213.             if Damage == 0 then
  2214.                 Damage = 0.1
  2215.             end
  2216.         end
  2217.         Humanoid.Health = Humanoid.Health - Damage
  2218.         if Humanoid.Parent:FindFirstChild("Head") then
  2219.             CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
  2220.             if CritChance < CritRate + 1 then
  2221.                 StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  2222.             else
  2223.                 StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, SKILLTEXTCOLOR)
  2224.             end
  2225.         end
  2226.     end
  2227. end
  2228.  
  2229. function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
  2230.     local dmg = math.random(min,max)
  2231.     for i,v in ipairs(workspace:GetChildren()) do
  2232.     if v:FindFirstChild("HitBy"..Player.Name) == nil then
  2233.         local body = v:GetChildren()
  2234.             for part = 1, #body do
  2235.                 if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2236.                     if(body[part].Position - position).Magnitude < radius then
  2237.                         if v.ClassName == "Model" then
  2238.                             if v:FindFirstChildOfClass("Humanoid") then
  2239.                                 if CanBeDodgedByJumping == true then
  2240.                                     if body[part].Position.Y < position.Y+5 then
  2241.                                         ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  2242.                                     end
  2243.                                 else
  2244.                                     ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  2245.                                 end
  2246.                                 local bv = Instance.new("BodyVelocity")
  2247.                                 bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2248.                                 bv.velocity = RootPart.CFrame.lookVector*maxstrength
  2249.                                 bv.Parent = body[part]
  2250.                                 Debris:AddItem(bv,0.2)
  2251.                             end
  2252.                         end
  2253.                     end
  2254.                 end
  2255.             end
  2256.         end
  2257.         if v:FindFirstChild("HitBy"..Player.Name) then
  2258.             v:FindFirstChild("HitBy"..Player.Name):remove()
  2259.         end
  2260.     end
  2261. end
  2262.  
  2263. function Kill(Char)
  2264.     local NewCharacter = IT("Model",Effects)
  2265.     NewCharacter.Name = "Ow im ded ;-;"
  2266.     for _, c in pairs(Char:GetDescendants()) do
  2267.         if c:IsA("BasePart") and c.Transparency == 0 then
  2268.             if c.Parent == Char then
  2269.                 getbloody(c,5)
  2270.             end
  2271.             c:BreakJoints()
  2272.             c.Material = "Glass"
  2273.             c.Color = C3(0.5,0,0)
  2274.             c.CanCollide = true
  2275.             c.Transparency = 0.3
  2276.             if c:FindFirstChildOfClass("SpecialMesh") then
  2277.                 c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2278.             end
  2279.             if c.Name == "Head" then
  2280.                 c:ClearAllChildren()
  2281.                 c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2282.             end
  2283.             if c.ClassName == "MeshPart" then
  2284.                 c.TextureID = ""
  2285.             end
  2286.             if c:FindFirstChildOfClass("BodyPosition") then
  2287.                 c:FindFirstChildOfClass("BodyPosition"):remove()
  2288.             end
  2289.             if c:FindFirstChildOfClass("ParticleEmitter") then
  2290.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2291.             end
  2292.             c.Parent = NewCharacter
  2293.             c.Name = "DeadPart"
  2294.             c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2295.             c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2296.         end
  2297.     end
  2298.     Char:remove()
  2299.     Debris:AddItem(NewCharacter,5)
  2300. end
  2301.  
  2302. function ApplyAoE(POSITION,RANGE,BRUTAL)
  2303.     local CHILDREN = workspace:GetDescendants()
  2304.     for index, CHILD in pairs(CHILDREN) do
  2305.         if CHILD.ClassName == "Model" and CHILD ~= Character then
  2306.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2307.             if HUM then
  2308.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2309.                 if TORSO then
  2310.                     if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2311.                         if BRUTAL == true then
  2312.                             Kill(CHILD)
  2313.                         else
  2314.                             CHILD:BreakJoints()
  2315.                         end
  2316.                     end
  2317.                 end
  2318.             end
  2319.         end
  2320.     end
  2321. end
  2322.  
  2323. --//=================================\\
  2324. --||    ATTACK FUNCTIONS AND STUFF
  2325. --\\=================================//
  2326. function Click()
  2327.     ATTACK = true
  2328.     Rooted = false
  2329.     local HIT = nil
  2330.     OFFSET = -45
  2331.     for i=0, 1, 0.1 / Animation_Speed do
  2332.         Swait()
  2333.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  2334.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2335.     end
  2336.     OFFSET = 45
  2337.     local PUNCH = CreatePart(3, Effects, "Granite", 0, 1, "Really black", "Hit", VT(0.7,0.7,0.7),false)
  2338.     PUNCH.CanCollide = true
  2339.     CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PUNCH, CF(0,-1,0), CF(0, 0, 0))
  2340.     TAUNT = true
  2341.     local TOUCH = PUNCH.Touched:Connect(function(hit)
  2342.         if hit.Parent:FindFirstChildOfClass("Humanoid") then
  2343.             HIT = hit.Parent
  2344.         end
  2345.     end)
  2346.     for i=0, 0.3, 0.1 / Animation_Speed do
  2347.         Swait()
  2348.         RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
  2349.         if HIT ~= nil then
  2350.             break
  2351.         end
  2352.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  2353.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2354.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2355.     end
  2356.     PUNCH:remove()
  2357.     TOUCH:disconnect()
  2358.     if HIT ~= nil then
  2359.         for _, c in pairs(HIT:GetChildren()) do
  2360.             if c:IsA("BasePart") then
  2361.                 c.Anchored = true
  2362.             end
  2363.         end
  2364.         Rooted = true
  2365.         CreateSound(649634100, Torso, 10, 0.8)
  2366.         CreateSound(1368573150, RightArm, 3, 1.5)
  2367.         for i=0, 0.6, 0.1 / Animation_Speed do
  2368.             Swait()
  2369.             WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2370.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(25), RAD(-45)), 0.05 / Animation_Speed)
  2371.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2372.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2373.         end
  2374.         for _, c in pairs(HIT:GetChildren()) do
  2375.             if c:IsA("BasePart") then
  2376.                 c.Anchored = false
  2377.             end
  2378.         end
  2379.         KillChildren(HIT)
  2380.     end
  2381.     OFFSET = 0
  2382.     ATTACK = false
  2383.     Rooted = false
  2384.     TAUNT = false
  2385. end
  2386.  
  2387. function Teleport()
  2388.     ATTACK = true
  2389.     Rooted = false
  2390.     for i=0, 0.5, 0.1 / Animation_Speed do
  2391.         Swait()
  2392.         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)
  2393.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  2394.     end
  2395.     for e = 1, #BODY do
  2396.         if BODY[e] ~= nil then
  2397.             local STUFF = BODY[e]
  2398.             local PART = STUFF[1]
  2399.             if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  2400.                 local PRT = PART:Clone()
  2401.                 PRT.Anchored = true
  2402.                 PRT.CanCollide = false
  2403.                 PRT.Material = "Neon"
  2404.                 PRT.Color = C3(0,0,0)
  2405.                 PRT.Name = "WarpEffect"
  2406.                 PRT.Parent = Effects
  2407.                 PRT.CFrame = PART.CFrame
  2408.                 PRT:BreakJoints()
  2409.                 if PRT:FindFirstChildOfClass("Sound") then
  2410.                     PRT:FindFirstChildOfClass("Sound"):remove()
  2411.                 end
  2412.                 if PRT:FindFirstChildOfClass("Decal") then
  2413.                     PRT:FindFirstChildOfClass("Decal"):remove()
  2414.                 end
  2415.                 coroutine.resume(coroutine.create(function()
  2416.                     for i = 1, 100 do
  2417.                         Swait()
  2418.                         PRT.Transparency = PRT.Transparency + 1/100
  2419.                     end
  2420.                     PRT:remove()
  2421.                 end))
  2422.             end
  2423.         end
  2424.     end
  2425.     CreateSound(217767125, Torso, 10, 1)
  2426.     local POS = RootPart.Orientation
  2427.     RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  2428.     RootPart.Orientation = POS
  2429.     RootJoint.Parent = RootPart
  2430.     for i=0, 0.5, 0.1 / Animation_Speed do
  2431.         Swait()
  2432.         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)
  2433.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  2434.     end
  2435.     for i=0, 0.1, 0.1 / Animation_Speed do
  2436.         Swait()
  2437.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  2438.     end
  2439.     ATTACK = false
  2440.     Rooted = false
  2441. end
  2442.  
  2443. function SpawnSmite(POS)
  2444.     local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  2445.     local EMITPOS = HITPOS
  2446.     if HITFLOOR ~= nil then
  2447.         if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2448.             HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2449.             EMITPOS = HITPOS
  2450.         elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2451.             HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2452.             EMITPOS = HITPOS
  2453.         end
  2454.     end
  2455.     if HITFLOOR ~= nil then
  2456.         ApplyAoE(EMITPOS,10)
  2457.         WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  2458.         WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2459.         WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2460.         for i = 1, 5 do
  2461.             local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  2462.             WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  2463.         end
  2464.     end
  2465. end
  2466.  
  2467. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  2468.     coroutine.resume(coroutine.create(function()
  2469.         local METEOR = IT("Model",Effects)
  2470.         METEOR.Name = "Meteorite"
  2471.         local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  2472.         METEOR.PrimaryPart = CENTER
  2473.         local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  2474.         PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2475.         for i = 1, 15 do
  2476.             local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really black", "Fire", VT(5.1,1,5.1)*SIZE)
  2477.             FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2478.         end
  2479.         if ISDEBREE ~= true then
  2480.             METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2481.         else
  2482.             METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2483.         end
  2484.         local IMPACT = false
  2485.         CreateSound(463593339, CENTER, 10, 0.6)
  2486.         if SIZE >= 3.5 then
  2487.             for i = 1, MRANDOM(3,7) do
  2488.                 SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
  2489.             end
  2490.         end
  2491.         for i = 1, 200 do
  2492.             Swait()
  2493.             local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  2494.             if HITFLOOR == nil then
  2495.                 local ORI = CENTER.Orientation
  2496.                 METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2497.             else
  2498.                 if HITFLOOR.Anchored == true then
  2499.                     CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  2500.                     CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
  2501.                 end
  2502.                 IMPACT = true
  2503.                 break
  2504.             end
  2505.         end
  2506.         if IMPACT == true then
  2507.             WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  2508.             WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
  2509.             WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  2510.             ApplyAoE(CENTER.Position,30*SIZE)
  2511.         end
  2512.         METEOR:remove()
  2513.     end))
  2514. end
  2515. function Equivalent_Pain()
  2516.     local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2517.         if HITFLOOR then
  2518.         ATTACK = true
  2519.         Rooted = true
  2520.         FULL = true
  2521.         local GYRO = IT("BodyGyro",RootPart)
  2522.         GYRO.D = 25
  2523.         GYRO.P = 20000
  2524.         GYRO.MaxTorque = VT(0,math.huge,0)
  2525.         for i=0, 0.3, 0.1 / Animation_Speed do
  2526.             GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2527.             Swait()
  2528.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2529.             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)
  2530.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2531.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2532.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-35)), 1 / Animation_Speed)
  2533.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
  2534.         end
  2535.         GYRO:remove()
  2536.         CreateSound(12222200, RightArm, 10, 1)
  2537.         for i=0, 0.4, 0.1 / Animation_Speed do
  2538.             Swait()
  2539.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  2540.             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)
  2541.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2542.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2543.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  2544.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2545.         end
  2546.         CreateSound(289842971, RightArm, 10, 1)
  2547.         coroutine.resume(coroutine.create(function()
  2548.             local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
  2549.             local ECHO = POS
  2550.             if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2551.                 HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2552.                 ECHO = POS
  2553.             elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2554.                 HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2555.                 ECHO = POS
  2556.             end
  2557.             if ECHO.Y == HITPOS.Y then
  2558.                 local DISTANCE = (HITPOS - ECHO).Magnitude/3
  2559.                 local CFRAME = CF(HITPOS,ECHO)
  2560.                 local RANGE = math.ceil(DISTANCE)
  2561.                 for i = 1, RANGE-1 do
  2562.                     Swait(3)
  2563.                     local A = CFRAME*CF(0,0,-i*3)
  2564.                     ApplyAoE(A.p,4)
  2565.                     CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
  2566.                 end
  2567.                 local SIZE = 3
  2568.                 local POS = CFRAME*CF(0,0,-RANGE*3).p
  2569.                 WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
  2570.                 WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  2571.                 WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  2572.                 for i = 1, 9 do
  2573.                     WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  2574.                 end
  2575.                 for i = 1, 9 do
  2576.                     WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  2577.                 end
  2578.                 ApplyAoE(POS,30*SIZE)
  2579.                 CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
  2580.                 CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
  2581.             end
  2582.         end))
  2583.         for i=0, 0.6, 0.1 / Animation_Speed do
  2584.             Swait()
  2585.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  2586.             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)
  2587.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2588.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2589.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  2590.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2591.         end
  2592.         FULL = false
  2593.         ATTACK = false
  2594.         Rooted = false
  2595.     end
  2596. end
  2597.  
  2598. function ReeeEEEEEE()
  2599.     ATTACK = true
  2600.     Rooted = false
  2601.     Speed = 12
  2602.     local FX = CreateSound(198165368, Head, 4, 0.5, false)
  2603.     repeat
  2604.         Swait()
  2605.         FX.Parent = Head
  2606.         local CHILDREN = workspace:GetDescendants()
  2607.         for index, CHILD in pairs(CHILDREN) do
  2608.             if CHILD.ClassName == "Model" and CHILD ~= Character then
  2609.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2610.                 if HUM then
  2611.                     local TORSO = CHILD:FindFirstChild("Head")
  2612.                     if TORSO then
  2613.                         if (TORSO.Position - Head.Position).Magnitude <= 25 then
  2614.                             WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2615.                             TORSO:remove()
  2616.                             if CHILD:FindFirstChild("Torso") then
  2617.                                 Ragdoll(CHILD,Torso,true)
  2618.                             elseif CHILD:FindFirstChild("UpperTorso") then
  2619.                                 R15Ragdoll(CHILD,true)
  2620.                             end
  2621.                         end
  2622.                     end
  2623.                 end
  2624.             end
  2625.         end
  2626.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  2627.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  2628.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(15)) * ANGLES(RAD(0), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2629.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-15)) * ANGLES(RAD(0), RAD(-15), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2630.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-45), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2631.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-45), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2632.     until FX.Playing == false
  2633.     Speed = 16
  2634.     ATTACK = false
  2635.     Rooted = false
  2636. end
  2637.  
  2638. function Charge(TIME,GYRO)
  2639.     local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
  2640.     local G = nil
  2641.     if GYRO == true then
  2642.         G = IT("BodyGyro",RootPart)
  2643.         G.D = 250
  2644.         G.P = 200000
  2645.         G.MaxTorque = VT(math.huge,math.huge,math.huge)
  2646.     end
  2647.     for i=0, TIME, 0.1 / Animation_Speed do
  2648.         Swait()
  2649.         if G then
  2650.             G.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2651.         end
  2652.         WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2653.         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)
  2654.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2655.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2656.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2657.         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)
  2658.         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)
  2659.     end
  2660.     SND:remove()
  2661.     if G then
  2662.         return G
  2663.     end
  2664. end
  2665.  
  2666. function Corrupted_Beam()
  2667.     ATTACK = true
  2668.     Rooted = false
  2669.     local GRAV = IT("BodyPosition",RootPart)
  2670.     GRAV.D = 75
  2671.     GRAV.P = 20000
  2672.     GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
  2673.     GRAV.Position = RootPart.Position
  2674.     local GYRO = Charge(2,true)
  2675.     local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(15,15,0))
  2676.     MakeForm(BEAM,"Ball")
  2677.     CreateSound(BEAMSOUND,BEAM,10,1,false)
  2678.     CreateSound(BEAMSOUND,BEAM,10,0.9,false)
  2679.     CreateSound(BEAMSOUND,BEAM,10,0.8,false)
  2680.     for i = 1, 150 do
  2681.         Swait()
  2682.         BEAM.Size = BEAM.Size + VT(-0.1,-0.1,2)
  2683.         ApplyAoE(BEAM.CFrame*CF(0,0,-BEAM.Size.Z/2).p,BEAM.Size.Y/2,50,200,0,false)
  2684.         WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BEAM.CFrame*CF(0,0,BEAM.Size.Z/2), MoveToPos = BEAM.CFrame*CF(0,0,BEAM.Size.Z/2)*ANGLES(RAD(90),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0.3,-25).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2685.         BEAM.CFrame = CF(Torso.Position,Torso.CFrame*CF(0,0,-1).p)*CF(0,0,-2-(BEAM.Size.Z/2))
  2686.         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)
  2687.         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)
  2688.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2689.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2690.         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)
  2691.         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)
  2692.     end
  2693.     GRAV:remove()
  2694.     BEAM:remove()
  2695.     GYRO:remove()
  2696.     ATTACK = false
  2697.     Rooted = false
  2698. end
  2699.  
  2700. function Corrupted_Explosion()
  2701.     ATTACK = true
  2702.     Rooted = true
  2703.     for i=0, 1, 0.1 / Animation_Speed do
  2704.         Swait()
  2705.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
  2706.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
  2707.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  2708.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  2709.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2710.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2711.     end
  2712.     for i=0, 0.4, 0.1 / Animation_Speed do
  2713.         Swait()
  2714.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2715.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2716.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2717.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2718.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2719.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2720.     end
  2721.     local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(0,0,0))
  2722.     local BEAM2 = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(0,0,0))
  2723.     MakeForm(BEAM,"Ball")
  2724.     MakeForm(BEAM2,"Ball")
  2725.     BEAM.CFrame = CF(RootPart.Position)
  2726.     BEAM2.CFrame = CF(RootPart.Position)
  2727.     CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2728.     for i=1, 100 do
  2729.         Swait()
  2730.         BEAM.Size = BEAM.Size + VT(0.7,8,0.7)
  2731.         BEAM2.Size = BEAM2.Size + VT(2,2,2)
  2732.         ApplyAoE(BEAM2.Position,BEAM2.Size.Z/2,5,5,15,true)
  2733.         BEAM.CFrame = CF(RootPart.Position)
  2734.         BEAM2.CFrame = CF(RootPart.Position)
  2735.         WACKYEFFECT({TIME = 5+i, EffectType = "Swirl", Size = BEAM2.Size*1.15, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2736.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2737.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2738.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2739.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2740.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2741.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2742.     end
  2743.     WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM.Size, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0, Transparency2 = 0, CFrame = BEAM.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2744.     WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM2.Size, Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.6, CFrame = BEAM2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2745.     BEAM2:remove()
  2746.     BEAM:remove()
  2747.     ATTACK = false
  2748.     Rooted = false
  2749. end
  2750.  
  2751. function Corrupted_Immobilization()
  2752.     ATTACK = true
  2753.     Rooted = true
  2754.     Charge(2,false)
  2755.     local SND = CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2756.     local SND2 = CreateSound(ENERGYSOUND,RootPart,10,1,false)
  2757.     for i = 1, 60 do
  2758.         Swait()
  2759.         ApplyAoE(RootPart.Position,i*1.3,10,20,-200,true)
  2760.         SND.Pitch = SND.Pitch - 1/60
  2761.         SND2.Pitch = SND.Pitch
  2762.         WACKYEFFECT({TIME = 4, EffectType = "Wave", Size = VT(i*2,10,i*2), Size2 = VT(i*2,10,i*2), Transparency = 0.9, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2763.         WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,10,0), Size2 = VT(i*2,6,i*2), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2764.         WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,6,0), Size2 = VT(i*1.6,10,i*1.6), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(i*5), RAD(MRANDOM(-5,5))), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2765.         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)
  2766.         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)
  2767.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(-45), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2768.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(45), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2769.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  2770.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  2771.     end
  2772.     SND:remove()
  2773.     SND2:remove()
  2774.     ATTACK = false
  2775.     Rooted = false
  2776. end
  2777.  
  2778. --//=================================\\
  2779. --||      ASSIGN THINGS TO KEYS
  2780. --\\=================================//
  2781.  
  2782. function MouseDown(Mouse)
  2783.     if ATTACK == false then
  2784.         Click()
  2785.     end
  2786. end
  2787.  
  2788. function MouseUp(Mouse)
  2789. HOLD = false
  2790. end
  2791.  
  2792. function KeyDown(Key)
  2793.     KEYHOLD = true
  2794.     if Key == "z" and ATTACK == false then
  2795.         Corrupted_Beam()
  2796.     end
  2797.  
  2798.     if Key == "e" and ATTACK == false then
  2799.         ReeeEEEEEE()
  2800.     end
  2801.  
  2802.         if Key == "r" and ATTACK == false then
  2803.             Teleport()
  2804.         end
  2805.  
  2806.         if Key == "q" and ATTACK == false then
  2807.             Equivalent_Pain()
  2808.         end
  2809.  
  2810.     if Key == "x" and ATTACK == false then
  2811.         Corrupted_Explosion()
  2812.     end
  2813.  
  2814.     if Key == "c" and ATTACK == false then
  2815.         Corrupted_Immobilization()
  2816.     elseif Key == "1" and ATTACK == false then
  2817.             if CHOICE ~= 1 then
  2818.                 CHOICE = 1
  2819.                 sick:Play()
  2820.             end
  2821.         elseif Key == "2" and ATTACK == false then
  2822.             if CHOICE ~= 2 then
  2823.                 CHOICE = 2
  2824.                 sick:Play()
  2825.             end
  2826.         elseif Key == "3" and ATTACK == false then
  2827.             if CHOICE ~= 3 then
  2828.                 CHOICE = 3
  2829.                 sick:Play()
  2830.             end
  2831.         elseif Key == "4" and ATTACK == false then
  2832.             if CHOICE ~= 4 then
  2833.                 CHOICE = 4
  2834.                 sick:Play()
  2835.             end
  2836.            
  2837.     end
  2838. end
  2839.  
  2840.  
  2841.  
  2842. function KeyUp(Key)
  2843.     KEYHOLD = false
  2844. end
  2845.  
  2846.     Mouse.Button1Down:connect(function(NEWKEY)
  2847.         MouseDown(NEWKEY)
  2848.     end)
  2849.     Mouse.Button1Up:connect(function(NEWKEY)
  2850.         MouseUp(NEWKEY)
  2851.     end)
  2852.     Mouse.KeyDown:connect(function(NEWKEY)
  2853.         KeyDown(NEWKEY)
  2854.     end)
  2855.     Mouse.KeyUp:connect(function(NEWKEY)
  2856.         KeyUp(NEWKEY)
  2857.     end)
  2858.  
  2859. --//=================================\\
  2860. --\\=================================//
  2861.  
  2862. function unanchor()
  2863.     if UNANCHOR == true then
  2864.         g = Character:GetChildren()
  2865.         for i = 1, #g do
  2866.             if g[i].ClassName == "Part" then
  2867.                 g[i].Anchored = false
  2868.             end
  2869.         end
  2870.     end
  2871. end
  2872.  
  2873. --//=================================\\
  2874. --||    WRAP THE WHOLE SCRIPT UP
  2875. --\\=================================//
  2876.  
  2877. Humanoid.Changed:connect(function(Jump)
  2878.     if Jump == "Jump" and (Disable_Jump == true) then
  2879.         Humanoid.Jump = false
  2880.     end
  2881. end)
  2882.  
  2883. while true do
  2884.     Swait()
  2885.     script.Parent = WEAPONGUI
  2886.     ANIMATE.Parent = nil
  2887.     if Humanoid then
  2888.         local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2889.         IDLEANIMATION:Play()
  2890.     end
  2891.     SINE = SINE + CHANGE
  2892.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2893.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2894.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2895.     local WALKSPEEDVALUE = 5 / (Humanoid.WalkSpeed / 16)
  2896.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2897.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2898.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * 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)
  2899.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
  2900.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
  2901.     elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2902.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2903.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2904.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2905.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2906.     end
  2907.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2908.         ANIM = "Jump"
  2909.         if ATTACK == false then
  2910.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0,  0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2911.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2912.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2913.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2914.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  2915.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2916.         end
  2917.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2918.         ANIM = "Fall"
  2919.         if ATTACK == false then
  2920.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2921.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2922.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2923.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2924.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2925.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  2926.         end
  2927.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2928.         ANIM = "Idle"
  2929.         if ATTACK == false then
  2930.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2931.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2932.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2933.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2934.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2935.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2936.     if VALUE1 == false and MRANDOM(1,200) == 1 then
  2937.                 coroutine.resume(coroutine.create(function()
  2938.                     VALUE1 = true
  2939.                     for i = 1, 25 do
  2940.                         Swait()
  2941.                         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD((15+MRANDOM(-15,15)/15)), RAD(0)), 3 / Animation_Speed)
  2942.                    
  2943.                     end
  2944.         VALUE1 = false
  2945.                 end))
  2946.             end
  2947.         end
  2948.        
  2949.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2950.         ANIM = "Walk"
  2951.         if ATTACK == false then
  2952.             RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2953.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2954.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.15 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(25 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2955.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(-25 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2956.             RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2957.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2958.         end
  2959.     end
  2960.  
  2961.    
  2962. sick.Parent = Torso
  2963.     sick.Playing = true
  2964.  
  2965.  
  2966.     unanchor()
  2967.     Humanoid.MaxHealth = "inf"
  2968.     Humanoid.Health = "inf"
  2969.     if Rooted == false then
  2970.         Disable_Jump = false
  2971.         Humanoid.WalkSpeed = Speed
  2972.     elseif Rooted == true then
  2973.         Disable_Jump = true
  2974.         Humanoid.WalkSpeed = 0
  2975.     end
  2976. end
  2977. --//=================================\\
  2978. --\\=================================//
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984. --//====================================================\\--
  2985. --||                     END OF SCRIPT
  2986. --\\====================================================//--
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top