SHARE
TWEET

Mafia banish

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