Advertisement
HenloMyDude

Eerin

Jun 18th, 2019
779
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 102.52 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
  2. do
  3.     script.Parent = owner.Character
  4.     local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
  5.     local function NewFakeEvent()
  6.         local Bind = Instance.new("BindableEvent")
  7.         local Fake;Fake = {Connections = {},
  8.         fakeEvent=true;
  9.         Connect=function(self,Func)
  10.             Bind.Event:connect(Func)
  11.             self.Connections[Bind] = true
  12.             return setmetatable({Connected = true},{
  13.             __index = function (self,Index)
  14.                 if Index:lower() == "disconnect" then
  15.                     return function() Fake.Connections[Bind] = false;self.Connected = false end
  16.                 end
  17.                 return Fake[Index]
  18.             end;
  19.             __tostring = function() return "Connection" end;
  20.         })
  21.         end}
  22.         Fake.connect = Fake.Connect;return Fake;
  23.     end
  24.     local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  25.     local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  26.     local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  27.         self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  28.     end};ContextActionService.UnBindAction = ContextActionService.BindAction
  29.     local function TriggerEvent(self,Event,...)
  30.         local Trigger = Mouse[Event]
  31.         if Trigger and Trigger.fakeEvent and Trigger.Connections then
  32.             for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
  33.         end
  34.     end
  35.     Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
  36.     Event.OnServerEvent:Connect(function(FiredBy,Input)
  37.         if FiredBy.Name ~= owner.Name then return end
  38.         if Input.MouseEvent then
  39.             Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
  40.         else
  41.             local Begin = Input.UserInputState == Enum.UserInputState.Begin
  42.             if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
  43.             for _,Action in pairs(ContextActionService.Actions) do
  44.                 for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
  45.             end
  46.             Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  47.             UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  48.         end
  49.     end)
  50.     InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
  51.     Event.Parent = NLS([[
  52.         local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
  53.         local Input = function(Input,gameProcessedEvent)
  54.             if gameProcessedEvent then return end
  55.             Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  56.         end
  57.         UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
  58.         local Hit,Target
  59.         while wait(1/30) do
  60.             if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  61.                 Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  62.             end
  63.         end
  64.     ]],owner.Character)
  65. end
  66. RealGame = game;game = setmetatable({},{
  67.     __index = function (self,Index)
  68.         local Sandbox = function (Thing)
  69.             if Thing:IsA("Player") then
  70.                 local RealPlayer = Thing
  71.                 return setmetatable({},{
  72.                     __index = function (self,Index)
  73.                         local Type = type(RealPlayer[Index])
  74.                         if Type == "function" then
  75.                             if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  76.                                 return function (self)return InternalData["Mouse"] end
  77.                             end
  78.                             return function (self,...)return RealPlayer[Index](RealPlayer,...) end
  79.                         end
  80.                         return RealPlayer[Index]
  81.                     end;
  82.                     __tostring = function(self) return RealPlayer.Name end
  83.                 })
  84.             end
  85.         end
  86.         if RealGame[Index] then
  87.             local Type = type(RealGame[Index])
  88.             if Type == "function" then
  89.                 if Index:lower() == "getservice" or Index:lower() == "service" then
  90.                     return function (self,Service)
  91.                         local FakeServices = {
  92.                             ["players"] = function()
  93.                                 return setmetatable({},{
  94.                                     __index = function (self2,Index2)
  95.                                         local RealService = RealGame:GetService(Service)
  96.                                         local Type2 = type(Index2)
  97.                                         if Type2 == "function" then
  98.                                             return function (self,...) return RealService[Index2](RealService,...)end
  99.                                         else
  100.                                             if Index2:lower() == "localplayer" then return Sandbox(owner) end
  101.                                             return RealService[Index2]
  102.                                         end
  103.                                     end;
  104.                                     __tostring = function(self) return RealGame:GetService(Service).Name end
  105.                                 })
  106.                             end;
  107.                             ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
  108.                             ["userinputservice"] = function() return InternalData["UserInputService"] end;
  109.                             ["runservice"] = function()
  110.                                 return setmetatable({},{
  111.                                     __index = function(self2,Index2)
  112.                                         local RealService = RealGame:GetService(Service)
  113.                                         local Type2 = type(Index2)
  114.                                         if Type2 == "function" then
  115.                                             return function (self,...) return RealService[Index2](RealService,...) end
  116.                                         else
  117.                                             local RunServices = {
  118.                                                 ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
  119.                                                 ["renderstepped"] = function() return RealService["Stepped"] end
  120.                                             }
  121.                                             if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
  122.                                             return RealService[Index2]
  123.                                         end
  124.                                     end
  125.                                 })
  126.                             end
  127.                         }
  128.                         if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
  129.                         return RealGame:GetService(Service)
  130.                     end
  131.                 end
  132.                 return function (self,...) return RealGame[Index](RealGame,...) end
  133.             else
  134.                 if game:GetService(Index) then return game:GetService(Index) end
  135.                 return RealGame[Index]
  136.             end
  137.         end
  138.         return nil
  139.     end
  140. });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
  141.  
  142. wait(0.2)
  143. Player = game:GetService("Players").LocalPlayer
  144. PlayerGui = Player.PlayerGui
  145. Cam = workspace.CurrentCamera
  146. Backpack = Player.Backpack
  147. Character = Player.Character
  148. Humanoid = Character.Humanoid
  149. local Mouse = Player:GetMouse()
  150. RootPart = Character.HumanoidRootPart
  151. Torso = Character.Torso
  152. Head = Character.Head
  153. RightArm = Character["Right Arm"]
  154. LeftArm = Character["Left Arm"]
  155. RightLeg = Character["Right Leg"]
  156. LeftLeg = Character["Left Leg"]
  157. RootJoint = RootPart.RootJoint
  158. Neck = Torso.Neck
  159. RightShoulder = Torso["Right Shoulder"]
  160. LeftShoulder = Torso["Left Shoulder"]
  161. RightHip = Torso["Right Hip"]
  162. LeftHip = Torso["Left Hip"]
  163. IT = Instance.new
  164. CF = CFrame.new
  165. VT = Vector3.new
  166. RAD = math.rad
  167. C3 = Color3.new
  168. UD2 = UDim2.new
  169. BRICKC = BrickColor.new
  170. ANGLES = CFrame.Angles
  171. EULER = CFrame.fromEulerAnglesXYZ
  172. COS = math.cos
  173. ACOS = math.acos
  174. SIN = math.sin
  175. ASIN = math.asin
  176. ABS = math.abs
  177. MRANDOM = math.random
  178. FLOOR = math.floor
  179. Animation_Speed = 3
  180. Frame_Speed = 0.016666666666666666
  181. local Speed = 16
  182. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  183. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  184. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  185. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  186. local DAMAGEMULTIPLIER = 1
  187. local ANIM = "Idle"
  188. local ATTACK = false
  189. local EQUIPPED = false
  190. local HOLD = false
  191. local COMBO = 1
  192. local Rooted = false
  193. local SINE = 0
  194. local KEYHOLD = false
  195. local CHANGE = 2 / Animation_Speed
  196. local WALKINGANIM = false
  197. local VALUE1 = false
  198. local VALUE2 = false
  199. local ROBLOXIDLEANIMATION = IT("Animation")
  200. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  201. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  202. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  203. WEAPONGUI.Name = "Weapon GUI"
  204. local Effects = IT("Folder", Character)
  205. Effects.Name = "Effects"
  206. local ANIMATOR = Humanoid.Animator
  207. ANIMATOR:Destroy()
  208. local ANIMATE = Character.Animate
  209. local UNANCHOR = true
  210. local HEADTURN = true
  211. ArtificialHB = Instance.new("BindableEvent", script)
  212. ArtificialHB.Name = "ArtificialHB"
  213. script:WaitForChild("ArtificialHB")
  214. frame = Frame_Speed
  215. tf = 0
  216. allowframeloss = false
  217. tossremainder = false
  218. lastframe = tick()
  219. script.ArtificialHB:Fire()
  220. game:GetService("RunService").Heartbeat:connect(function(s, p)
  221.     tf = tf + s
  222.     if tf >= frame then
  223.         if allowframeloss then
  224.             ArtificialHB:Fire()
  225.             lastframe = tick()
  226.         else
  227.             for i = 1, math.floor(tf / frame) do
  228.                 ArtificialHB:Fire()
  229.             end
  230.             lastframe = tick()
  231.         end
  232.         if tossremainder then
  233.             tf = 0
  234.         else
  235.             tf = tf - frame * math.floor(tf / frame)
  236.         end
  237.     end
  238. end)
  239. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  240.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  241. end
  242. function PositiveAngle(NUMBER)
  243.     if NUMBER >= 0 then
  244.         NUMBER = 0
  245.     end
  246.     return NUMBER
  247. end
  248. function NegativeAngle(NUMBER)
  249.     if NUMBER <= 0 then
  250.         NUMBER = 0
  251.     end
  252.     return NUMBER
  253. end
  254. function Swait(NUMBER)
  255.     if NUMBER == 0 or NUMBER == nil then
  256.         ArtificialHB.Event:wait()
  257.     else
  258.         for i = 1, NUMBER do
  259.             ArtificialHB.Event:wait()
  260.         end
  261.     end
  262. end
  263. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  264.     local NEWMESH = IT(MESH)
  265.     if MESH == "SpecialMesh" then
  266.         NEWMESH.MeshType = MESHTYPE
  267.         if MESHID ~= "nil" and MESHID ~= "" then
  268.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
  269.         end
  270.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  271.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
  272.         end
  273.     end
  274.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  275.     NEWMESH.Scale = SCALE
  276.     NEWMESH.Parent = PARENT
  277.     return NEWMESH
  278. end
  279. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  280.     local NEWPART = IT("Part")
  281.     NEWPART.formFactor = FORMFACTOR
  282.     NEWPART.Reflectance = REFLECTANCE
  283.     NEWPART.Transparency = TRANSPARENCY
  284.     NEWPART.CanCollide = false
  285.     NEWPART.Locked = true
  286.     NEWPART.Anchored = true
  287.     if ANCHOR == false then
  288.         NEWPART.Anchored = false
  289.     end
  290.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  291.     NEWPART.Name = NAME
  292.     NEWPART.Size = SIZE
  293.     NEWPART.Position = Torso.Position
  294.     NEWPART.Material = MATERIAL
  295.     NEWPART:BreakJoints()
  296.     NEWPART.Parent = PARENT
  297.     return NEWPART
  298. end
  299. local weldBetween = function(a, b)
  300.     local weldd = Instance.new("ManualWeld")
  301.     weldd.Part0 = a
  302.     weldd.Part1 = b
  303.     weldd.C0 = CFrame.new()
  304.     weldd.C1 = b.CFrame:inverse() * a.CFrame
  305.     weldd.Parent = a
  306.     return weldd
  307. end
  308. function QuaternionFromCFrame(cf)
  309.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  310.     local trace = m00 + m11 + m22
  311.     if trace > 0 then
  312.         local s = math.sqrt(1 + trace)
  313.         local recip = 0.5 / s
  314.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  315.     else
  316.         local i = 0
  317.         if m00 < m11 then
  318.             i = 1
  319.         end
  320.         if m22 > (i == 0 and m00 or m11) then
  321.             i = 2
  322.         end
  323.         if i == 0 then
  324.             local s = math.sqrt(m00 - m11 - m22 + 1)
  325.             local recip = 0.5 / s
  326.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  327.         elseif i == 1 then
  328.             local s = math.sqrt(m11 - m22 - m00 + 1)
  329.             local recip = 0.5 / s
  330.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  331.         elseif i == 2 then
  332.             local s = math.sqrt(m22 - m00 - m11 + 1)
  333.             local recip = 0.5 / s
  334.             return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  335.         end
  336.     end
  337. end
  338. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  339.     local xs, ys, zs = x + x, y + y, z + z
  340.     local wx, wy, wz = w * xs, w * ys, w * zs
  341.     local xx = x * xs
  342.     local xy = x * ys
  343.     local xz = x * zs
  344.     local yy = y * ys
  345.     local yz = y * zs
  346.     local zz = z * zs
  347.     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))
  348. end
  349. function QuaternionSlerp(a, b, t)
  350.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  351.     local startInterp, finishInterp
  352.     if cosTheta >= 1.0E-4 then
  353.         if 1 - cosTheta > 1.0E-4 then
  354.             local theta = ACOS(cosTheta)
  355.             local invSinTheta = 1 / SIN(theta)
  356.             startInterp = SIN((1 - t) * theta) * invSinTheta
  357.             finishInterp = SIN(t * theta) * invSinTheta
  358.         else
  359.             startInterp = 1 - t
  360.             finishInterp = t
  361.         end
  362.     elseif 1 + cosTheta > 1.0E-4 then
  363.         local theta = ACOS(-cosTheta)
  364.         local invSinTheta = 1 / SIN(theta)
  365.         startInterp = SIN((t - 1) * theta) * invSinTheta
  366.         finishInterp = SIN(t * theta) * invSinTheta
  367.     else
  368.         startInterp = t - 1
  369.         finishInterp = t
  370.     end
  371.     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
  372. end
  373. function Clerp(a, b, t)
  374.     local qa = {
  375.         QuaternionFromCFrame(a)
  376.     }
  377.     local qb = {
  378.         QuaternionFromCFrame(b)
  379.     }
  380.     local ax, ay, az = a.x, a.y, a.z
  381.     local bx, by, bz = b.x, b.y, b.z
  382.     local _t = 1 - t
  383.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  384. end
  385. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  386.     local frame = IT("Frame")
  387.     frame.BackgroundTransparency = TRANSPARENCY
  388.     frame.BorderSizePixel = BORDERSIZEPIXEL
  389.     frame.Position = POSITION
  390.     frame.Size = SIZE
  391.     frame.BackgroundColor3 = COLOR
  392.     frame.BorderColor3 = BORDERCOLOR
  393.     frame.Name = NAME
  394.     frame.Parent = PARENT
  395.     return frame
  396. end
  397. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  398.     local label = IT("TextLabel")
  399.     label.BackgroundTransparency = 1
  400.     label.Size = UD2(1, 0, 1, 0)
  401.     label.Position = UD2(0, 0, 0, 0)
  402.     label.TextColor3 = TEXTCOLOR
  403.     label.TextStrokeTransparency = STROKETRANSPARENCY
  404.     label.TextTransparency = TRANSPARENCY
  405.     label.FontSize = TEXTFONTSIZE
  406.     label.Font = TEXTFONT
  407.     label.BorderSizePixel = BORDERSIZEPIXEL
  408.     label.TextScaled = false
  409.     label.Text = TEXT
  410.     label.Name = NAME
  411.     label.Parent = PARENT
  412.     return label
  413. end
  414. function NoOutlines(PART)
  415.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  416. end
  417. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  418.     local NEWWELD = IT(TYPE)
  419.     NEWWELD.Part0 = PART0
  420.     NEWWELD.Part1 = PART1
  421.     NEWWELD.C0 = C0
  422.     NEWWELD.C1 = C1
  423.     NEWWELD.Parent = PARENT
  424.     return NEWWELD
  425. end
  426. local S = IT("Sound")
  427. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  428.     local NEWSOUND
  429.     coroutine.resume(coroutine.create(function()
  430.         NEWSOUND = S:Clone()
  431.         NEWSOUND.Parent = PARENT
  432.         NEWSOUND.Volume = VOLUME
  433.         NEWSOUND.Pitch = PITCH
  434.         NEWSOUND.SoundId = "rbxassetid://" .. ID
  435.         NEWSOUND:play()
  436.         NEWSOUND.EmitterSize = VOLUME * 3
  437.         if DOESLOOP == true then
  438.             NEWSOUND.Looped = true
  439.         else
  440.             repeat
  441.                 wait(1)
  442.             until NEWSOUND.Playing == false
  443.             NEWSOUND:remove()
  444.         end
  445.     end))
  446.     return NEWSOUND
  447. end
  448. function CFrameFromTopBack(at, top, back)
  449.     local right = top:Cross(back)
  450.     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)
  451. end
  452. function WACKYEFFECT(Table)
  453.     local TYPE = Table.EffectType or "Sphere"
  454.     local SIZE = Table.Size or VT(1, 1, 1)
  455.     local ENDSIZE = Table.Size2 or VT(0, 0, 0)
  456.     local TRANSPARENCY = Table.Transparency or 0
  457.     local ENDTRANSPARENCY = Table.Transparency2 or 1
  458.     local CFRAME = Table.CFrame or Torso.CFrame
  459.     local MOVEDIRECTION = Table.MoveToPos or nil
  460.     local ROTATION1 = Table.RotationX or 0
  461.     local ROTATION2 = Table.RotationY or 0
  462.     local ROTATION3 = Table.RotationZ or 0
  463.     local MATERIAL = Table.Material or "Neon"
  464.     local COLOR = Table.Color or C3(1, 1, 1)
  465.     local TIME = Table.Time or 45
  466.     local SOUNDID = Table.SoundID or nil
  467.     local SOUNDPITCH = Table.SoundPitch or nil
  468.     local SOUNDVOLUME = Table.SoundVolume or nil
  469.     local USEBOOMERANGMATH = Table.UseBoomerangMath or false
  470.     local BOOMERANG = Table.Boomerang or 0
  471.     local SIZEBOOMERANG = Table.SizeBoomerang or 0
  472.     coroutine.resume(coroutine.create(function()
  473.         local PLAYSSOUND = false
  474.         local SOUND
  475.         local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1, 1, 1), true)
  476.         if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  477.             PLAYSSOUND = true
  478.             SOUND = CreateSound(SOUNDID, nil, SOUNDVOLUME, SOUNDPITCH, false)
  479.         end
  480.         EFFECT.Color = COLOR
  481.         local MSH
  482.         if TYPE == "Sphere" then
  483.             MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0, 0, 0))
  484.         elseif TYPE == "Block" or TYPE == "Box" then
  485.             MSH = IT("BlockMesh", EFFECT)
  486.             MSH.Scale = SIZE
  487.         elseif TYPE == "Wave" then
  488.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
  489.         elseif TYPE == "Ring" then
  490.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X, SIZE.X, 0.1), VT(0, 0, 0))
  491.         elseif TYPE == "Slash" then
  492.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  493.         elseif TYPE == "Round Slash" then
  494.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  495.         elseif TYPE == "Swirl" then
  496.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0, 0, 0))
  497.         elseif TYPE == "Skull" then
  498.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0, 0, 0))
  499.         elseif TYPE == "Crystal" then
  500.             MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0, 0, 0))
  501.         end
  502.         if MSH ~= nil then
  503.             local BOOMR1 = 1 + BOOMERANG / 50
  504.             local BOOMR2 = 1 + SIZEBOOMERANG / 50
  505.             local MOVESPEED
  506.             if MOVEDIRECTION ~= nil then
  507.                 if USEBOOMERANGMATH == true then
  508.                     MOVESPEED = CFRAME.p - MOVEDIRECTION.Magnitude / TIME * BOOMR1
  509.                 else
  510.                     MOVESPEED = CFRAME.p - MOVEDIRECTION.Magnitude / TIME
  511.                 end
  512.             end
  513.             local GROWTH
  514.             if USEBOOMERANGMATH == true then
  515.                 GROWTH = (SIZE - ENDSIZE) * (BOOMR2 + 1)
  516.             else
  517.                 GROWTH = SIZE - ENDSIZE
  518.             end
  519.             local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  520.             if TYPE == "Block" then
  521.                 EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  522.             else
  523.                 EFFECT.CFrame = CFRAME
  524.             end
  525.             if SOUND then
  526.                 SOUND.Parent = EFFECT
  527.             end
  528.             if USEBOOMERANGMATH == true then
  529.                 for LOOP = 1, TIME + 1 do
  530.                     Swait()
  531.                     MSH.Scale = MSH.Scale - VT(GROWTH.X * (1 - LOOP / TIME * BOOMR2), GROWTH.Y * (1 - LOOP / TIME * BOOMR2), GROWTH.Z * (1 - LOOP / TIME * BOOMR2)) * BOOMR2 / TIME
  532.                     if TYPE == "Wave" then
  533.                         MSH.Offset = VT(0, 0, -MSH.Scale.Z / 8)
  534.                     end
  535.                     EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
  536.                     if TYPE == "Block" then
  537.                         EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  538.                     else
  539.                         EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
  540.                     end
  541.                     if MOVEDIRECTION ~= nil then
  542.                         local ORI = EFFECT.Orientation
  543.                         EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED * (1 - LOOP / TIME * BOOMR1))
  544.                         EFFECT.CFrame = CF(EFFECT.Position) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z))
  545.                     end
  546.                 end
  547.             else
  548.                 for LOOP = 1, TIME + 1 do
  549.                     Swait()
  550.                     MSH.Scale = MSH.Scale - GROWTH / TIME
  551.                     if TYPE == "Wave" then
  552.                         MSH.Offset = VT(0, 0, -MSH.Scale.Z / 8)
  553.                     end
  554.                     EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
  555.                     if TYPE == "Block" then
  556.                         EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  557.                     else
  558.                         EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
  559.                     end
  560.                     if MOVEDIRECTION ~= nil then
  561.                         local ORI = EFFECT.Orientation
  562.                         EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED)
  563.                         EFFECT.CFrame = CF(EFFECT.Position) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z))
  564.                     end
  565.                 end
  566.             end
  567.             EFFECT.Transparency = 1
  568.             if PLAYSSOUND == false then
  569.                 EFFECT:remove()
  570.             else
  571.                 repeat
  572.                     Swait()
  573.                 until EFFECT:FindFirstChildOfClass("Sound") == nil
  574.                 EFFECT:remove()
  575.             end
  576.         elseif PLAYSSOUND == false then
  577.             EFFECT:remove()
  578.         else
  579.             repeat
  580.                 Swait()
  581.             until EFFECT:FindFirstChildOfClass("Sound") == nil
  582.             EFFECT:remove()
  583.         end
  584.     end))
  585. end
  586. function MakeForm(PART, TYPE)
  587.     if TYPE == "Cyl" then
  588.         local MSH = IT("CylinderMesh", PART)
  589.     elseif TYPE == "Ball" then
  590.         local MSH = IT("SpecialMesh", PART)
  591.         MSH.MeshType = "Sphere"
  592.     elseif TYPE == "Wedge" then
  593.         local MSH = IT("SpecialMesh", PART)
  594.         MSH.MeshType = "Wedge"
  595.     end
  596. end
  597. Debris = game:GetService("Debris")
  598. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  599.     local DIRECTION = CF(StartPos, EndPos).lookVector
  600.     local Ignore = type(Ignore) == "table" and Ignore or {Ignore}
  601.     return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
  602. end
  603. local Particle = IT("ParticleEmitter", nil)
  604. Particle.Enabled = false
  605. Particle.LightEmission = 0.9
  606. Particle.Rate = 150
  607. Particle.ZOffset = 0.2
  608. Particle.Rotation = NumberRange.new(-180, 180)
  609. function ParticleEmitter(Table)
  610.     local PRTCL = Particle:Clone()
  611.     local Color1 = Table.Color1 or C3(1, 1, 1)
  612.     local Color2 = Table.Color2 or C3(1, 1, 1)
  613.     local Speed = Table.Speed or 5
  614.     local Drag = Table.Drag or 0
  615.     local Size1 = Table.Size1 or 1
  616.     local Size2 = Table.Size2 or 5
  617.     local Lifetime1 = Table.Lifetime1 or 1
  618.     local Lifetime2 = Table.Lifetime2 or 1.5
  619.     local Parent = Table.Parent or Torso
  620.     local Emit = Table.Emit or 100
  621.     local Offset = Table.Offset or 360
  622.     local Acel = Table.Acel or VT(0, 0, 0)
  623.     local Enabled = Table.Enabled or false
  624.     local Texture = Table.Texture or "281983280"
  625.     local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
  626.     local Trans1 = Table.Transparency1 or 1
  627.     local Trans2 = Table.Transparency2 or 0
  628.     PRTCL.Parent = Parent
  629.     PRTCL.RotSpeed = RotS
  630.     PRTCL.Transparency = NumberSequence.new({
  631.         NumberSequenceKeypoint.new(0, Trans1),
  632.         NumberSequenceKeypoint.new(1, Trans2)
  633.     })
  634.     PRTCL.Texture = "http://www.roblox.com/asset/?id=" .. Texture
  635.     PRTCL.Color = ColorSequence.new(Color1, Color2)
  636.     PRTCL.Size = NumberSequence.new(Size1, Size2)
  637.     PRTCL.Lifetime = NumberRange.new(Lifetime1, Lifetime2)
  638.     PRTCL.Speed = NumberRange.new(Speed)
  639.     PRTCL.VelocitySpread = Offset
  640.     PRTCL.Drag = Drag
  641.     PRTCL.Acceleration = Acel
  642.     if Enabled == false then
  643.         PRTCL:Emit(Emit)
  644.         Debris:AddItem(PRTCL, Lifetime2)
  645.     else
  646.         PRTCL.Enabled = true
  647.     end
  648.     return PRTCL
  649. end
  650. function CamShake(SHAKE, TIMER)
  651.     coroutine.resume(coroutine.create(function()
  652.         local FADER = SHAKE / TIMER
  653.         for i = 1, TIMER do
  654.             wait()
  655.             Humanoid.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
  656.         end
  657.         Humanoid.CameraOffset = VT(0, 0, 0)
  658.     end))
  659. end
  660. function GetRoot(MODEL, ROOT)
  661.     if ROOT == true then
  662.         return MODEL:FindFirstChild("HumanoidRootPart") or MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso")
  663.     else
  664.         return MODEL:FindFirstChild("Torso") or MODEL:FindFirstChild("UpperTorso")
  665.     end
  666. end
  667. local FAKEHEAD = CreatePart(3, Character, "Fabric", 0, 0, BRICKC("Pearl"), "NewHead", VT(1, 1, 1), true)
  668. CreateMesh("SpecialMesh", FAKEHEAD, "FileMesh", "16973748", "1090019344", VT(1, 1, 1), VT(0, 0, 0))
  669. local SCARF = CreatePart(3, Character, "Fabric", 0, 0, BRICKC("Pearl"), "Scarf", VT(1, 1, 1), false)
  670. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, SCARF, CF(0, 0, 0), CF(0, 0, 0))
  671. local GLASSES = CreatePart(3, Character, "Fabric", 0, 0, BRICKC("Pearl"), "Scarf", VT(1, 1, 0.9), false)
  672. GLASSES.CFrame = FAKEHEAD.CFrame
  673. CreateMesh("SpecialMesh", SCARF, "FileMesh", "448710145", "", VT(0.6, 1, 1), VT(0, 0.15, 0))
  674. CreateMesh("SpecialMesh", GLASSES, "FileMesh", "134026193", "134026217", VT(1.5, 1, 2), VT(0, 0.3, -0.3))
  675. local FACE1 = CreatePart(3, Character, "Neon", 0, 0, BRICKC("Royal purple"), "Fire", VT(1.3, 1, 0.6), false)
  676. MakeForm(FACE1, "Ball")
  677. local FACE2 = CreatePart(3, Character, "Neon", 0, 0, BRICKC("Royal purple"), "Fire", VT(1.3, 0.65, 0.55), false)
  678. MakeForm(FACE2, "Ball")
  679. local FACE3 = CreatePart(3, Character, "Neon", 0, 0, BRICKC("Royal purple"), "Fire", VT(1.3, 0.5, 0.6), false)
  680. MakeForm(FACE3, "Ball")
  681. local FACE4 = CreatePart(3, Character, "Neon", 0, 0, BRICKC("Royal purple"), "Fire", VT(1, 0.1, 1), false)
  682. MakeForm(FACE4, "Ball")
  683. CreateWeldOrSnapOrMotor("Weld", FAKEHEAD, FAKEHEAD, GLASSES, CF(0, 0, 0), CF(0, 0, 0))
  684. local L1 = CreateWeldOrSnapOrMotor("Weld", FAKEHEAD, FAKEHEAD, FACE1, CF(0, 0, -0.5), CF(0, 0, 0))
  685. local L2 = CreateWeldOrSnapOrMotor("Weld", FAKEHEAD, FAKEHEAD, FACE2, CF(0, 0.2, -0.5), CF(0, 0, 0))
  686. local L3 = CreateWeldOrSnapOrMotor("Weld", FAKEHEAD, FAKEHEAD, FACE3, CF(0, 0.3, -0.35), CF(0, 0, 0))
  687. local L4 = CreateWeldOrSnapOrMotor("Weld", FAKEHEAD, FAKEHEAD, FACE4, CF(0, -0.5, 0), CF(0, 0, 0))
  688. local NECKK
  689. Head:ClearAllChildren()
  690. Head.Transparency = 1
  691. local NCK = IT("Attachment", Torso)
  692. NCK.Position = VT(0, 1, 0)
  693. local NECKFIRE = ParticleEmitter({
  694.     Acel = VT(0, 3.5, 0),
  695.     Speed = 1.5,
  696.     RotSpeed = NumberRange.new(-15, 15),
  697.     Drag = 0.1,
  698.     Size1 = 0.6,
  699.     Size2 = 0,
  700.     Lifetime1 = 0,
  701.     Lifetime2 = 0.45,
  702.     Parent = NCK,
  703.     Emit = 100,
  704.     Offset = 360,
  705.     Enabled = true,
  706.     Color1 = BRICKC("Royal purple").Color,
  707.     Color2 = BRICKC("Royal purple").Color,
  708.     Texture = "296874871"
  709. })
  710. NECKFIRE.LockedToPart = true
  711. NECKFIRE.Rate = 999
  712. local BMUSIC = IT("Sound", RootPart)
  713. local VOLUME = 4
  714. local PITCH = 1
  715. local SONGID = 1571736139
  716. local top = Instance.new("Shirt")
  717. top.ShirtTemplate = "rbxassetid://1533635803"
  718. top.Parent = Character
  719. top.Name = "Cloth"
  720. local bottom = Instance.new("Pants")
  721. bottom.PantsTemplate = "rbxassetid://1460022985"
  722. bottom.Parent = Character
  723. bottom.Name = "Cloth"
  724. local SKILLTEXTCOLOR = BRICKC("Royal purple").Color
  725. local SKILLFONT = "Bodoni"
  726. local SKILLTEXTSIZE = 6.5
  727. local ATTACKS = {
  728.     "Leaping Pumpkin - Z",
  729.     "Rollout - X",
  730.     "Trashing - C",
  731.     "Incinithrower - V",
  732.     "Zoom - E",
  733.     "Hothead - Q"
  734. }
  735. for i = 1, #ATTACKS do
  736.     local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97 - 0.03 * i, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill Frame")
  737.     local SKILLTEXT = CreateLabel(SKILLFRAME, "[" .. ATTACKS[i] .. "]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Skill text")
  738.     SKILLTEXT.TextXAlignment = "Right"
  739. end
  740. function ApplyDamage(Humanoid, Damage)
  741.     Damage = Damage * DAMAGEMULTIPLIER
  742.     if Humanoid.Health < 2000 then
  743.         if Humanoid.Health - Damage > 0 then
  744.             Humanoid.Health = Humanoid.Health - Damage
  745.         else
  746.             Humanoid.Parent:BreakJoints()
  747.         end
  748.     else
  749.         Humanoid.Parent:BreakJoints()
  750.     end
  751. end
  752. function ApplyAoE(POSITION, RANGE, MINDMG, MAXDMG, FLING, INSTAKILL)
  753.     for index, CHILD in pairs(workspace:GetDescendants()) do
  754.         if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Name ~= "PurpleEerinFireball" then
  755.             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  756.             if HUM then
  757.                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  758.                 if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  759.                     if INSTAKILL == true then
  760.                         CHILD:BreakJoints()
  761.                     else
  762.                         local DMG = MRANDOM(MINDMG, MAXDMG)
  763.                         ApplyDamage(HUM, DMG)
  764.                     end
  765.                     if FLING > 0 then
  766.                         for _, c in pairs(CHILD:GetChildren()) do
  767.                             if c:IsA("BasePart") then
  768.                                 local bv = Instance.new("BodyVelocity")
  769.                                 bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  770.                                 bv.velocity = CF(POSITION, TORSO.Position).lookVector * FLING
  771.                                 bv.Parent = c
  772.                                 Debris:AddItem(bv, 0.05)
  773.                             end
  774.                         end
  775.                     end
  776.                 end
  777.             end
  778.         end
  779.     end
  780. end
  781. function LeapingPumpkin()
  782.     ATTACK = true
  783.     Rooted = true
  784.     HEADTURN = false
  785.     for i = 0, 0.15, 0.1 / Animation_Speed do
  786.         Swait()
  787.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  788.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  789.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(-12), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  790.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(12), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  791.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-50), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  792.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-50), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  793.     end
  794.     CreateSound(166423113, Torso, 5, 1.1, false)
  795.     CreateSound(166423113, Torso, 5, 1.1, false)
  796.     for i = 0, 2, 0.1 / Animation_Speed do
  797.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 4) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
  798.     end
  799.     CamShake(15, 17)
  800.     local HITS = {}
  801.     for i = 1, 65 do
  802.         local VALUE = -((65 - i) / 65)
  803.         RootPart.CFrame = RootPart.CFrame * CF(0, 0, VALUE)
  804.         Swait()
  805.         if VALUE < -0.65 and (ANIM == "Idle" or ANIM == "Walk") then
  806.             WACKYEFFECT({
  807.                 Time = 26,
  808.                 EffectType = "Wave",
  809.                 Size = VT(5, 0, 5),
  810.                 Size2 = VT(8, 5, 8),
  811.                 Transparency = 0.8,
  812.                 Transparency2 = 1,
  813.                 CFrame = RootPart.CFrame * CF(0, -3.5, -5) * ANGLES(RAD(45), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  814.                 MoveToPos = nil,
  815.                 RotationX = 0.1,
  816.                 RotationY = 1,
  817.                 RotationZ = -0.1,
  818.                 Material = "Neon",
  819.                 Color = C3(1, 1, 1),
  820.                 SoundID = nil,
  821.                 SoundPitch = nil,
  822.                 SoundVolume = nil,
  823.                 UseBoomerangMath = false,
  824.                 Boomerang = 0,
  825.                 SizeBoomerang = 0
  826.             })
  827.             WACKYEFFECT({
  828.                 Time = 12,
  829.                 EffectType = "Wave",
  830.                 Size = VT(0, 0, 0),
  831.                 Size2 = VT(12, 2, 12),
  832.                 Transparency = 0.8,
  833.                 Transparency2 = 1,
  834.                 CFrame = RootPart.CFrame * CF(0, -3.5, -4) * ANGLES(RAD(45), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  835.                 MoveToPos = nil,
  836.                 RotationX = 0.1,
  837.                 RotationY = 1,
  838.                 RotationZ = -0.1,
  839.                 Material = "Neon",
  840.                 Color = C3(1, 1, 1),
  841.                 SoundID = nil,
  842.                 SoundPitch = nil,
  843.                 SoundVolume = nil,
  844.                 UseBoomerangMath = true,
  845.                 Boomerang = 0,
  846.                 SizeBoomerang = 12
  847.             })
  848.             for index, CHILD in pairs(workspace:GetDescendants()) do
  849.                 if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Name ~= "PurpleEerinFireball" then
  850.                     local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  851.                     if HUM then
  852.                         local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  853.                         if TORSO and (TORSO.Position - RootPart.Position).Magnitude <= 6 then
  854.                             local PASS = true
  855.                             for E = 1, #HITS do
  856.                                 if HITS[E] == CHILD then
  857.                                     PASS = false
  858.                                 end
  859.                             end
  860.                             if PASS == true then
  861.                                 local DMG = MRANDOM(25, 45)
  862.                                 ApplyDamage(HUM, DMG)
  863.                                 table.insert(HITS, CHILD)
  864.                                 for _, c in pairs(CHILD:GetChildren()) do
  865.                                     if c:IsA("BasePart") then
  866.                                         local bv = Instance.new("BodyVelocity")
  867.                                         bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  868.                                         bv.velocity = CF(Torso.Position, TORSO.Position).lookVector * 65
  869.                                         bv.Parent = c
  870.                                         Debris:AddItem(bv, 0.05)
  871.                                     end
  872.                                 end
  873.                             end
  874.                         end
  875.                     end
  876.                 end
  877.             end
  878.         end
  879.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -3) * ANGLES(RAD(90), RAD(0), RAD(0)), 0.6 / Animation_Speed)
  880.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  881.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  882.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  883.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.5) * ANGLES(RAD(-45), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  884.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  885.     end
  886.     for i = 0, 0.7, 0.1 / Animation_Speed do
  887.         Swait()
  888.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -3) * ANGLES(RAD(90), RAD(0), RAD(0)), 1 / Animation_Speed)
  889.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  890.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  891.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  892.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.5) * ANGLES(RAD(-100), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  893.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  894.     end
  895.     HEADTURN = true
  896.     ATTACK = false
  897.     Rooted = false
  898. end
  899. function Rollout()
  900.     if UNANCHOR == true then
  901.         RootPart.Velocity = VT(0, 0, 0)
  902.     end
  903.     ATTACK = true
  904.     Rooted = false
  905.     UNANCHOR = false
  906.     HEADTURN = false
  907.     if ANIM == "Idle" or ANIM == "Walk" then
  908.         for i = 1, 3 do
  909.             WACKYEFFECT({
  910.                 Time = 15,
  911.                 EffectType = "Wave",
  912.                 Size = VT(2, 0, 2),
  913.                 Size2 = VT(12, 2.5, 12),
  914.                 Transparency = 0.6,
  915.                 Transparency2 = 1,
  916.                 CFrame = CF(RootPart.CFrame * CF(0, -4, 0).p) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
  917.                 MoveToPos = nil,
  918.                 RotationX = 1,
  919.                 RotationY = 0,
  920.                 RotationZ = 0,
  921.                 Material = "Neon",
  922.                 Color = C3(1, 1, 1),
  923.                 SoundID = nil,
  924.                 SoundPitch = MRANDOM(9, 11) / 10,
  925.                 SoundVolume = MRANDOM(9, 11) / 2,
  926.                 UseBoomerangMath = true,
  927.                 Boomerang = 0,
  928.                 SizeBoomerang = 22
  929.             })
  930.         end
  931.     end
  932.     coroutine.resume(coroutine.create(function()
  933.         for i = 1, 25 do
  934.             Swait()
  935.             RootPart.CFrame = RootPart.CFrame * CF(0, (25 - i) / 7, 0)
  936.         end
  937.     end))
  938.     CreateSound(1368583274, Torso, 5, 1.1, false)
  939.     for i = 1, 65 do
  940.         Swait()
  941.         WACKYEFFECT({
  942.             Time = 15,
  943.             EffectType = "Round Slash",
  944.             Size = VT(0.1, 0, 0.1),
  945.             Size2 = VT(0, 0, 0),
  946.             Transparency = 1,
  947.             Transparency2 = 0.5,
  948.             CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  949.             MoveToPos = nil,
  950.             RotationX = 0,
  951.             RotationY = 0,
  952.             RotationZ = 0,
  953.             Material = "Neon",
  954.             Color = C3(1, 1, 1),
  955.             SoundID = nil,
  956.             SoundPitch = nil,
  957.             SoundVolume = nil,
  958.             UseBoomerangMath = true,
  959.             Boomerang = 0,
  960.             SizeBoomerang = 35
  961.         })
  962.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i * 45), RAD(0), RAD(0)), 2.5 / Animation_Speed)
  963.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  964.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  965.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  966.         RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  967.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  968.     end
  969.     RootPart.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  970.     for E = 1, 2 do
  971.         for i = 1, 4 do
  972.             WACKYEFFECT({
  973.                 Time = 80,
  974.                 EffectType = "Round Slash",
  975.                 Size = VT(0, 0, 0),
  976.                 Size2 = VT(E, 0, E) / 4,
  977.                 Transparency = 0,
  978.                 Transparency2 = 1,
  979.                 CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  980.                 MoveToPos = nil,
  981.                 RotationX = 0,
  982.                 RotationY = 0,
  983.                 RotationZ = 0,
  984.                 Material = "Neon",
  985.                 Color = C3(1, 1, 1),
  986.                 SoundID = nil,
  987.                 SoundPitch = nil,
  988.                 SoundVolume = nil,
  989.                 UseBoomerangMath = true,
  990.                 Boomerang = 0,
  991.                 SizeBoomerang = 35
  992.             })
  993.         end
  994.     end
  995.     for i = 1, 12 do
  996.         WACKYEFFECT({
  997.             Time = 35 - i,
  998.             EffectType = "Wave",
  999.             Size = VT(12, 0, 12),
  1000.             Size2 = VT(13 + i * 5, 5 + i * 3, 13 + i * 5),
  1001.             Transparency = 0.3,
  1002.             Transparency2 = 1,
  1003.             CFrame = RootPart.CFrame * CF(0, 0, -4) * ANGLES(RAD(90), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  1004.             MoveToPos = nil,
  1005.             RotationX = 0.1,
  1006.             RotationY = 1,
  1007.             RotationZ = -0.1,
  1008.             Material = "Neon",
  1009.             Color = C3(1, 1, 1),
  1010.             SoundID = nil,
  1011.             SoundPitch = nil,
  1012.             SoundVolume = nil,
  1013.             UseBoomerangMath = false,
  1014.             Boomerang = 0,
  1015.             SizeBoomerang = 15
  1016.         })
  1017.     end
  1018.     WACKYEFFECT({
  1019.         Time = 45,
  1020.         EffectType = "Sphere",
  1021.         Size = VT(15, 15, 15),
  1022.         Size2 = VT(35, 35, 35),
  1023.         Transparency = 0.7,
  1024.         Transparency2 = 1,
  1025.         CFrame = CF(RootPart.Position),
  1026.         MoveToPos = nil,
  1027.         RotationX = 0,
  1028.         RotationY = 0,
  1029.         RotationZ = 0,
  1030.         Material = "Neon",
  1031.         Color = SKILLTEXTCOLOR,
  1032.         SoundID = 1368637781,
  1033.         SoundPitch = 1,
  1034.         SoundVolume = 5,
  1035.         UseBoomerangMath = true,
  1036.         Boomerang = 0,
  1037.         SizeBoomerang = 50
  1038.     })
  1039.     coroutine.resume(coroutine.create(function()
  1040.         local LANDED = false
  1041.         local ROT = 0
  1042.         local RAWS = {257001341, 257001320}
  1043.         local ROLLER = CreatePart(3, Effects, "Fabric", 0, 0, BRICKC("Pearl"), "ROLLERDAH", VT(13.02, 9.3, 12.09) / 1.5, true)
  1044.         local S = CreateSound(RAWS[MRANDOM(1, 2)], ROLLER, 10, MRANDOM(8, 13) / 10, false)
  1045.         S.EmitterSize = 70
  1046.         CreateMesh("SpecialMesh", ROLLER, "FileMesh", "16973748", "1090019344", VT(9.3, 9.3, 9.3), VT(0, 0, 0))
  1047.         local FACE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Royal purple"), "Fire", VT(1, 0.1, 1) * 13.02, true)
  1048.         MakeForm(FACE, "Ball")
  1049.         ROLLER.CFrame = RootPart.CFrame
  1050.         local SPEED = 0
  1051.         local NECKFIRE = ParticleEmitter({
  1052.             Acel = VT(0, 75, 0),
  1053.             Speed = 6,
  1054.             RotSpeed = NumberRange.new(-15, 15),
  1055.             Drag = 0.5,
  1056.             Size1 = 7,
  1057.             Size2 = 0,
  1058.             Lifetime1 = 0,
  1059.             Lifetime2 = 1.4,
  1060.             Parent = ROLLER,
  1061.             Emit = 100,
  1062.             Offset = 360,
  1063.             Enabled = true,
  1064.             Color1 = BRICKC("Royal purple").Color,
  1065.             Color2 = BRICKC("Royal purple").Color,
  1066.             Texture = "296874871"
  1067.         })
  1068.         NECKFIRE.Rate = 999
  1069.         local TOUCHED = false
  1070.         ROLLER.Touched:Connect(function(HIT)
  1071.             if HIT.Parent ~= Character then
  1072.                 TOUCHED = true
  1073.             end
  1074.         end)
  1075.         for i = 1, 15 do
  1076.             Swait()
  1077.             ROLLER.CFrame = ROLLER.CFrame * CF(0, -(i / 15), -2)
  1078.             FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  1079.             local HITFLOOR = Raycast(ROLLER.Position, ROLLER.CFrame.lookVector, 5.5, Character)
  1080.             if TOUCHED == true or HITFLOOR then
  1081.                 break
  1082.             end
  1083.         end
  1084.         local CFRAME = CF(ROLLER.Position) * ANGLES(RAD(0), RAD(ROLLER.Orientation.Y), RAD(0))
  1085.         for i = 1, 200 do
  1086.             Swait()
  1087.             local HITFLOOR = Raycast(ROLLER.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 5.5, Character)
  1088.             if HITFLOOR then
  1089.                 if LANDED == false then
  1090.                     LANDED = true
  1091.                     coroutine.resume(coroutine.create(function()
  1092.                         for i = 1, 15 do
  1093.                             Swait()
  1094.                             SPEED = SPEED + 0.1
  1095.                         end
  1096.                     end))
  1097.                 end
  1098.                 ROLLER.CanCollide = true
  1099.                 CFRAME = CFRAME * CF(0, 0, -SPEED)
  1100.                 WACKYEFFECT({
  1101.                     Time = 26,
  1102.                     EffectType = "Wave",
  1103.                     Size = VT(12, 0, 12),
  1104.                     Size2 = VT(18, 5, 18),
  1105.                     Transparency = 0.8,
  1106.                     Transparency2 = 1,
  1107.                     CFrame = CFRAME * CF(0, -5, -7) * ANGLES(RAD(15), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  1108.                     MoveToPos = nil,
  1109.                     RotationX = 0.1,
  1110.                     RotationY = 1,
  1111.                     RotationZ = -0.1,
  1112.                     Material = "Neon",
  1113.                     Color = HITFLOOR.Color,
  1114.                     SoundID = nil,
  1115.                     SoundPitch = nil,
  1116.                     SoundVolume = nil,
  1117.                     UseBoomerangMath = false,
  1118.                     Boomerang = 0,
  1119.                     SizeBoomerang = 15
  1120.                 })
  1121.             else
  1122.                 ROLLER.CanCollide = false
  1123.                 SPEED = 0.8
  1124.                 LANDED = false
  1125.                 CFRAME = CFRAME * CF(0, -1.5, -SPEED)
  1126.             end
  1127.             ROT = ROT + SPEED * 6
  1128.             ROLLER.CFrame = CFRAME * ANGLES(RAD(-ROT), RAD(0), RAD(0))
  1129.             FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  1130.             local COLISSION1 = Raycast(ROLLER.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 6, Character)
  1131.             local COLISSION2 = Raycast(ROLLER.Position, CFRAME.lookVector, 6, Character)
  1132.             if COLISSION1 and COLISSION1.Parent:FindFirstChildOfClass("Humanoid") then
  1133.                 break
  1134.             end
  1135.             if COLISSION2 then
  1136.                 break
  1137.             end
  1138.             if TOUCHED == true then
  1139.                 break
  1140.             end
  1141.         end
  1142.         CamShake(6, 12)
  1143.         ApplyAoE(ROLLER.Position, 50, 25, 65, 150, true)
  1144.         ApplyAoE(ROLLER.Position, 125, 25, 65, 150, false)
  1145.         WACKYEFFECT({
  1146.             Time = 25,
  1147.             EffectType = "Sphere",
  1148.             Size = VT(15, 15, 15),
  1149.             Size2 = VT(50, 50, 50),
  1150.             Transparency = 0.7,
  1151.             Transparency2 = 1,
  1152.             CFrame = CF(ROLLER.Position),
  1153.             MoveToPos = nil,
  1154.             RotationX = 0,
  1155.             RotationY = 0,
  1156.             RotationZ = 0,
  1157.             Material = "Neon",
  1158.             Color = SKILLTEXTCOLOR,
  1159.             SoundID = 1664711478,
  1160.             SoundPitch = 1,
  1161.             SoundVolume = 8,
  1162.             UseBoomerangMath = true,
  1163.             Boomerang = 0,
  1164.             SizeBoomerang = 50
  1165.         })
  1166.         WACKYEFFECT({
  1167.             Time = 25,
  1168.             EffectType = "Sphere",
  1169.             Size = VT(15, 15, 15),
  1170.             Size2 = VT(70, 70, 70),
  1171.             Transparency = 0.7,
  1172.             Transparency2 = 1,
  1173.             CFrame = CF(ROLLER.Position),
  1174.             MoveToPos = nil,
  1175.             RotationX = 0,
  1176.             RotationY = 0,
  1177.             RotationZ = 0,
  1178.             Material = "Neon",
  1179.             Color = SKILLTEXTCOLOR,
  1180.             SoundID = 201858144,
  1181.             SoundPitch = 1,
  1182.             SoundVolume = 5,
  1183.             UseBoomerangMath = true,
  1184.             Boomerang = 0,
  1185.             SizeBoomerang = 50
  1186.         })
  1187.         for i = 1, 5 do
  1188.             WACKYEFFECT({
  1189.                 Time = 65 - i * 12,
  1190.                 EffectType = "Sphere",
  1191.                 Size = VT(0, 0, 0),
  1192.                 Size2 = VT(45, 45, 45) + VT(i, i, i) * 55,
  1193.                 Transparency = 0,
  1194.                 Transparency2 = 1,
  1195.                 CFrame = CF(ROLLER.Position),
  1196.                 MoveToPos = nil,
  1197.                 RotationX = 0,
  1198.                 RotationY = 0,
  1199.                 RotationZ = 0,
  1200.                 Material = "Neon",
  1201.                 Color = SKILLTEXTCOLOR,
  1202.                 SoundID = nil,
  1203.                 SoundPitch = nil,
  1204.                 SoundVolume = nil,
  1205.                 UseBoomerangMath = false,
  1206.                 Boomerang = 0,
  1207.                 SizeBoomerang = 0
  1208.             })
  1209.         end
  1210.         for E = 1, 3 do
  1211.             for i = 1, 4 do
  1212.                 WACKYEFFECT({
  1213.                     Time = 50,
  1214.                     EffectType = "Round Slash",
  1215.                     Size = VT(0, 0, 0),
  1216.                     Size2 = VT(E, 0, E) / 2,
  1217.                     Transparency = 0,
  1218.                     Transparency2 = 1,
  1219.                     CFrame = CF(ROLLER.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1220.                     MoveToPos = nil,
  1221.                     RotationX = 0,
  1222.                     RotationY = 0,
  1223.                     RotationZ = 0,
  1224.                     Material = "Neon",
  1225.                     Color = C3(1, 1, 1),
  1226.                     SoundID = nil,
  1227.                     SoundPitch = nil,
  1228.                     SoundVolume = nil,
  1229.                     UseBoomerangMath = true,
  1230.                     Boomerang = 0,
  1231.                     SizeBoomerang = 10
  1232.                 })
  1233.             end
  1234.         end
  1235.         local COLISSION, POS = Raycast(ROLLER.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 12, Character)
  1236.         if COLISSION then
  1237.             for i = 1, 5 do
  1238.                 WACKYEFFECT({
  1239.                     Time = 20 + i * 15,
  1240.                     EffectType = "Wave",
  1241.                     Size = VT(15, 0, 15),
  1242.                     Size2 = VT(120, 15, 120),
  1243.                     Transparency = 0.6,
  1244.                     Transparency2 = 1,
  1245.                     CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15, 15)), RAD(MRANDOM(0, 360)), RAD(0)),
  1246.                     MoveToPos = nil,
  1247.                     RotationX = 0.2,
  1248.                     RotationY = 0,
  1249.                     RotationZ = 0,
  1250.                     Material = "Neon",
  1251.                     Color = C3(1, 1, 1),
  1252.                     SoundID = nil,
  1253.                     SoundPitch = MRANDOM(9, 11) / 10,
  1254.                     SoundVolume = MRANDOM(9, 11) / 2,
  1255.                     UseBoomerangMath = true,
  1256.                     Boomerang = 0,
  1257.                     SizeBoomerang = 22
  1258.                 })
  1259.             end
  1260.         end
  1261.         ROLLER.Transparency = 1
  1262.         Debris:AddItem(ROLLER, 5)
  1263.         NECKFIRE.Enabled = false
  1264.         FACE:Remove()
  1265.         for i = 1, 25 do
  1266.             local LEFTOVER = CreatePart(3, workspace, "Pebble", 0, 0, BRICKC("Pearl"), "ROLLERDAH", VT(13.02 * (MRANDOM(8, 12) / 10), 9.3 * (MRANDOM(8, 12) / 10), 12.09 * (MRANDOM(8, 12) / 10)) / 1.5 / 2, false)
  1267.             LEFTOVER.CanCollide = true
  1268.             LEFTOVER.CFrame = ROLLER.CFrame * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  1269.             LEFTOVER.Velocity = CF(LEFTOVER.Position - VT(0, 6, 0), LEFTOVER.CFrame * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 5, 0).p).lookVector * MRANDOM(50, 320)
  1270.             Debris:AddItem(LEFTOVER, 8)
  1271.         end
  1272.     end))
  1273.     for i = 0, 0.35, 0.1 / Animation_Speed do
  1274.         Swait()
  1275.         RootPart.CFrame = RootPart.CFrame * CF(0, 0, 1.2)
  1276.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1277.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1278.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(-12), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1279.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(12), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1280.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-50), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1281.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-50), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1282.     end
  1283.     HEADTURN = true
  1284.     UNANCHOR = true
  1285.     ATTACK = false
  1286.     Rooted = false
  1287. end
  1288. function Trashing()
  1289.     local SpawnVelocity = function(PART, LOCATION, FLING)
  1290.         local bv = IT("BodyVelocity")
  1291.         bv.maxForce = VT(1000000000, 1000000000, 1000000000)
  1292.         bv.Parent = PART
  1293.         bv.velocity = CF(PART.Position, LOCATION).lookVector * FLING
  1294.         Debris:AddItem(bv, 0.35)
  1295.     end
  1296.     local TARGET = Mouse.Target
  1297.     if TARGET ~= nil and TARGET.Parent:FindFirstChildOfClass("Humanoid") then
  1298.         do
  1299.             local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
  1300.             local ROOT = GetRoot(HUM.Parent, false)
  1301.             if ROOT and HUM.Health > 0 and (ROOT.Position - RootPart.Position).Magnitude <= 375 then
  1302.                 ATTACK = true
  1303.                 Rooted = true
  1304.                 CreateSound(1368573150, RightArm, 5, MRANDOM(8, 13) / 10, false)
  1305.                 CreateSound(1368573150, ROOT, 5, MRANDOM(8, 13) / 10, false)
  1306.                 SpawnVelocity(ROOT, ROOT.Position + VT(0, 35, 0), 80)
  1307.                 do
  1308.                     local SWOOSH = ParticleEmitter({
  1309.                         Transparency1 = 0,
  1310.                         Transparency2 = 1,
  1311.                         Acel = VT(0, 0, 0),
  1312.                         Speed = 0.8,
  1313.                         RotSpeed = NumberRange.new(-15, 15),
  1314.                         Drag = 0.1,
  1315.                         Size1 = 3,
  1316.                         Size2 = 2,
  1317.                         Lifetime1 = 0,
  1318.                         Lifetime2 = 1,
  1319.                         Parent = ROOT,
  1320.                         Emit = 100,
  1321.                         Offset = 360,
  1322.                         Enabled = true,
  1323.                         Color1 = BRICKC("Royal purple").Color,
  1324.                         Color2 = BRICKC("Royal purple").Color,
  1325.                         Texture = "242627777"
  1326.                     })
  1327.                     SWOOSH.Rate = 999
  1328.                     SWOOSH.LightEmission = 0.9
  1329.                     for i = 0, 1, 0.1 / Animation_Speed do
  1330.                         Swait()
  1331.                         WACKYEFFECT({
  1332.                             Time = 12,
  1333.                             EffectType = "Round Slash",
  1334.                             Size = VT(0, 0, 0),
  1335.                             Size2 = VT(0.03, 0, 0.03),
  1336.                             Transparency = 0,
  1337.                             Transparency2 = 1,
  1338.                             CFrame = RightArm.CFrame * CF(0, -1, 0) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1339.                             MoveToPos = nil,
  1340.                             RotationX = 0,
  1341.                             RotationY = 0,
  1342.                             RotationZ = 0,
  1343.                             Material = "Neon",
  1344.                             Color = C3(1, 1, 1),
  1345.                             SoundID = nil,
  1346.                             SoundPitch = nil,
  1347.                             SoundVolume = nil,
  1348.                             UseBoomerangMath = true,
  1349.                             Boomerang = 0,
  1350.                             SizeBoomerang = 10
  1351.                         })
  1352.                         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.04, 0, 0) * ANGLES(RAD(0), RAD(2.5), RAD(0)), 1 / Animation_Speed)
  1353.                         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1354.                         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(-12), RAD(150)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1355.                         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(12), RAD(-55)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1356.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1.035, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0.5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1357.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.965, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-4.5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1358.                     end
  1359.                     HEADTURN = false
  1360.                     SpawnVelocity(ROOT, Mouse.Hit.p + VT(0, 5, 0), 170)
  1361.                     HUM.PlatformStand = true
  1362.                     CreateSound(471882099, ROOT, 5, MRANDOM(8, 13) / 10, false)
  1363.                     ROOT.RotVelocity = VT(MRANDOM(-15, 15), MRANDOM(-15, 15), MRANDOM(-15, 15))
  1364.                     local TOUCHES = {}
  1365.                     local COLLIDED = false
  1366.                     for index, CHILD in pairs(ROOT.Parent:GetChildren()) do
  1367.                         if CHILD:IsA("BasePart") then
  1368.                             local TOC = CHILD.Touched:Connect(function(HIT)
  1369.                                 if HIT.Parent ~= ROOT.Parent or HIT.Parent.Parent ~= ROOT.Parent and HIT.Parent ~= Effects then
  1370.                                     CamShake(6, 25)
  1371.                                     COLLIDED = true
  1372.                                     for E = 1, #TOUCHES do
  1373.                                         TOUCHES[E]:Disconnect()
  1374.                                     end
  1375.                                     local POS = ROOT.Position - VT(0, -0.1, 0)
  1376.                                     ApplyAoE(POS, 65, 25, 75, 250, false)
  1377.                                     for i = 1, 3 do
  1378.                                         WACKYEFFECT({
  1379.                                             Time = 45 - i * 12,
  1380.                                             EffectType = "Sphere",
  1381.                                             Size = VT(0, 0, 0),
  1382.                                             Size2 = VT(25, 25, 25) + VT(i, i, i) * 55,
  1383.                                             Transparency = 0,
  1384.                                             Transparency2 = 1,
  1385.                                             CFrame = CF(POS),
  1386.                                             MoveToPos = nil,
  1387.                                             RotationX = 0,
  1388.                                             RotationY = 0,
  1389.                                             RotationZ = 0,
  1390.                                             Material = "Neon",
  1391.                                             Color = SKILLTEXTCOLOR,
  1392.                                             SoundID = 1368637781,
  1393.                                             SoundPitch = MRANDOM(8, 14) / 10,
  1394.                                             SoundVolume = 5,
  1395.                                             UseBoomerangMath = false,
  1396.                                             Boomerang = 0,
  1397.                                             SizeBoomerang = 0
  1398.                                         })
  1399.                                     end
  1400.                                     for E = 1, 2 do
  1401.                                         for i = 1, 2 do
  1402.                                             WACKYEFFECT({
  1403.                                                 Time = 50,
  1404.                                                 EffectType = "Round Slash",
  1405.                                                 Size = VT(0, 0, 0),
  1406.                                                 Size2 = VT(E, 0, E) / 2,
  1407.                                                 Transparency = 0,
  1408.                                                 Transparency2 = 1,
  1409.                                                 CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1410.                                                 MoveToPos = nil,
  1411.                                                 RotationX = 0,
  1412.                                                 RotationY = 0,
  1413.                                                 RotationZ = 0,
  1414.                                                 Material = "Neon",
  1415.                                                 Color = C3(1, 1, 1),
  1416.                                                 SoundID = nil,
  1417.                                                 SoundPitch = nil,
  1418.                                                 SoundVolume = nil,
  1419.                                                 UseBoomerangMath = true,
  1420.                                                 Boomerang = 0,
  1421.                                                 SizeBoomerang = 10
  1422.                                             })
  1423.                                         end
  1424.                                     end
  1425.                                     local COLISSION, POS = Raycast(CHILD.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15 * CHILD.Size.Z, CHILD.Parent)
  1426.                                     if COLISSION then
  1427.                                         for i = 1, 5 do
  1428.                                             WACKYEFFECT({
  1429.                                                 Time = 20 + i * 15,
  1430.                                                 EffectType = "Wave",
  1431.                                                 Size = VT(15, 0, 15),
  1432.                                                 Size2 = VT(80, 15, 80),
  1433.                                                 Transparency = 0.6,
  1434.                                                 Transparency2 = 1,
  1435.                                                 CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15, 15)), RAD(MRANDOM(0, 360)), RAD(0)),
  1436.                                                 MoveToPos = nil,
  1437.                                                 RotationX = 0.2,
  1438.                                                 RotationY = 0,
  1439.                                                 RotationZ = 0,
  1440.                                                 Material = "Neon",
  1441.                                                 Color = C3(1, 1, 1),
  1442.                                                 SoundID = nil,
  1443.                                                 SoundPitch = MRANDOM(9, 11) / 10,
  1444.                                                 SoundVolume = MRANDOM(9, 11) / 2,
  1445.                                                 UseBoomerangMath = true,
  1446.                                                 Boomerang = 0,
  1447.                                                 SizeBoomerang = 22
  1448.                                             })
  1449.                                         end
  1450.                                     end
  1451.                                 end
  1452.                             end)
  1453.                             table.insert(TOUCHES, TOC)
  1454.                         end
  1455.                     end
  1456.                     coroutine.resume(coroutine.create(function()
  1457.                         for E = 1, 200 do
  1458.                             Swait()
  1459.                             if COLLIDED == true then
  1460.                                 break
  1461.                             end
  1462.                         end
  1463.                         SWOOSH.Enabled = false
  1464.                         SWOOSH.Speed = NumberRange.new(0, 25)
  1465.                         SWOOSH:Emit(160)
  1466.                         Debris:AddItem(SWOOSH, 5)
  1467.                         for E = 1, #TOUCHES do
  1468.                             TOUCHES[E]:Disconnect()
  1469.                         end
  1470.                         HUM.PlatformStand = false
  1471.                     end))
  1472.                     for i = 1, 3 do
  1473.                         WACKYEFFECT({
  1474.                             Time = 45 - i * 12,
  1475.                             EffectType = "Sphere",
  1476.                             Size = VT(0, 0, 0),
  1477.                             Size2 = VT(5, 5, 5) + VT(i, i, i) * 3,
  1478.                             Transparency = 0,
  1479.                             Transparency2 = 1,
  1480.                             CFrame = CF(RightArm.CFrame * CF(0, -1, 0).p),
  1481.                             MoveToPos = nil,
  1482.                             RotationX = 0,
  1483.                             RotationY = 0,
  1484.                             RotationZ = 0,
  1485.                             Material = "Neon",
  1486.                             Color = SKILLTEXTCOLOR,
  1487.                             SoundID = 1368637781,
  1488.                             SoundPitch = MRANDOM(8, 20) / 10,
  1489.                             SoundVolume = 2,
  1490.                             UseBoomerangMath = false,
  1491.                             Boomerang = 0,
  1492.                             SizeBoomerang = 0
  1493.                         })
  1494.                     end
  1495.                     for i = 0, 1, 0.1 / Animation_Speed do
  1496.                         Swait()
  1497.                         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  1498.                         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(15)), 1 / Animation_Speed)
  1499.                         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.45, -0.5) * ANGLES(RAD(45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1500.                         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(12 - 2.5 * SIN(SINE / 12)), RAD(-55 - 2.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 6))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1501.                         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1502.                         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1503.                     end
  1504.                     HEADTURN = true
  1505.                     ATTACK = false
  1506.                     Rooted = false
  1507.                 end
  1508.             end
  1509.         end
  1510.     end
  1511. end
  1512. function Incinithrower()
  1513.     ATTACK = true
  1514.     Rooted = true
  1515.     local SpawnVelocity = function(PART, LOCATION, FLING)
  1516.         local bv = IT("BodyVelocity")
  1517.         bv.maxForce = VT(1000000000, 1000000000, 1000000000)
  1518.         bv.velocity = CF(PART.Position, LOCATION).lookVector * FLING
  1519.         bv.Parent = PART
  1520.         coroutine.resume(coroutine.create(function()
  1521.             wait(0.5)
  1522.             bv:Remove()
  1523.         end))
  1524.     end
  1525.     function SPAWNFIREBALL(CFRAME, FLING, SIZE)
  1526.         coroutine.resume(coroutine.create(function()
  1527.             local S = SIZE.X
  1528.             local FIRECHAR = IT("Model", workspace)
  1529.             local E = IT("BoolValue", FIRECHAR)
  1530.             E.Name = "AboutToEerin"
  1531.             FIRECHAR.Name = "PurpleEerinFireball"
  1532.             local FIREBALL = CreatePart(3, FIRECHAR, "Fabric", 0, 1, BRICKC("Pearl"), "Torso", SIZE, false)
  1533.             FIREBALL.CFrame = CFRAME
  1534.             local HED = CreatePart(3, FIRECHAR, "Fabric", 0, 1, BRICKC("Pearl"), "Head", VT(0, 0, 0), false)
  1535.             local WELD = CreateWeldOrSnapOrMotor("Weld", FIREBALL, FIREBALL, HED, CF(0, 0, 0), CF(0, 0, 0))
  1536.             local LEGDAY = CreatePart(3, FIRECHAR, "Fabric", 0, 1, BRICKC("Pearl"), "Right leg", SIZE, false)
  1537.             local WELD2 = CreateWeldOrSnapOrMotor("Weld", FIREBALL, FIREBALL, LEGDAY, CF(0, 0, 0), CF(0, 0, 0))
  1538.             CreateSound(471882099, FIREBALL, 5, MRANDOM(8, 13) / 7, false)
  1539.             local HUM = IT("Humanoid", FIRECHAR)
  1540.             HUM.MaxHealth = 25
  1541.             HUM.Health = 25
  1542.             FIREBALL.CanCollide = true
  1543.             FIREBALL.Shape = "Ball"
  1544.             WELD.Parent = FIREBALL
  1545.             WELD2.Parent = FIREBALL
  1546.             SpawnVelocity(FIREBALL, CFRAME * CF(0, 0, -1).p, MRANDOM(FLING - math.ceil(FLING / 1.5), FLING + math.ceil(FLING / 1.5)))
  1547.             local BURN = ParticleEmitter({
  1548.                 Acel = VT(0, 85, 0),
  1549.                 Speed = 2,
  1550.                 RotSpeed = NumberRange.new(-15, 15),
  1551.                 Drag = 0.5,
  1552.                 Size1 = S * 2,
  1553.                 Size2 = 0,
  1554.                 Lifetime1 = 0,
  1555.                 Lifetime2 = 0.4,
  1556.                 Parent = FIREBALL,
  1557.                 Emit = 100,
  1558.                 Offset = 360,
  1559.                 Enabled = true,
  1560.                 Color1 = BRICKC("Royal purple").Color,
  1561.                 Color2 = BRICKC("Royal purple").Color,
  1562.                 Texture = "296874871"
  1563.             })
  1564.             BURN.Rate = 999
  1565.             local FIXMEFFS = FIRECHAR.AncestryChanged:Connect(function(G, AY)
  1566.                 Swait()
  1567.                 if FIRECHAR.Parent ~= workspace then
  1568.                     FIRECHAR.Parent = workspace
  1569.                 end
  1570.             end)
  1571.             wait(1)
  1572.             local DETONATE = false
  1573.             for E = 1, math.ceil(200 * S) do
  1574.                 Swait(4)
  1575.                 if HUM.Health == 0 then
  1576.                     break
  1577.                 end
  1578.                 do
  1579.                     local RANGE = 150
  1580.                     local TARGET
  1581.                     for index, CHILD in pairs(workspace:GetDescendants()) do
  1582.                         if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD:FindFirstChild("AboutToEerin") == nil then
  1583.                             local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1584.                             if HUM then
  1585.                                 local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1586.                                 if TORSO and 0 < HUM.Health and RANGE >= (TORSO.Position - FIREBALL.Position).Magnitude then
  1587.                                     RANGE = (TORSO.Position - FIREBALL.Position).Magnitude
  1588.                                     TARGET = TORSO
  1589.                                 end
  1590.                             end
  1591.                         end
  1592.                     end
  1593.                     if TARGET then
  1594.                         FIREBALL.CFrame = CF(FIREBALL.Position, VT(TARGET.Position.X, FIREBALL.Position.Y, TARGET.Position.Z))
  1595.                         HUM:MoveTo(TARGET.Position)
  1596.                         if 5 > (TARGET.Position - FIREBALL.Position).Magnitude then
  1597.                             DETONATE = true
  1598.                             coroutine.resume(coroutine.create(function()
  1599.                                 local E = IT("BoolValue", TARGET.Parent)
  1600.                                 E.Name = "AboutToEerin"
  1601.                                 local FOE = TARGET.Parent
  1602.                                 local HUM = FOE:FindFirstChildOfClass("Humanoid")
  1603.                                 if HUM then
  1604.                                     local FIRES = {}
  1605.                                     for index, CHILD in pairs(FOE:GetChildren()) do
  1606.                                         if CHILD:IsA("BasePart") then
  1607.                                             local BURN = ParticleEmitter({
  1608.                                                 Acel = VT(0, 55, 0),
  1609.                                                 Speed = 2,
  1610.                                                 RotSpeed = NumberRange.new(-15, 15),
  1611.                                                 Drag = 0.5,
  1612.                                                 Size1 = 2,
  1613.                                                 Size2 = 0,
  1614.                                                 Lifetime1 = 0,
  1615.                                                 Lifetime2 = 0.7,
  1616.                                                 Parent = CHILD,
  1617.                                                 Emit = 100,
  1618.                                                 Offset = 360,
  1619.                                                 Enabled = true,
  1620.                                                 Color1 = BRICKC("Royal purple").Color,
  1621.                                                 Color2 = BRICKC("Royal purple").Color,
  1622.                                                 Texture = "296874871"
  1623.                                             })
  1624.                                             BURN.Rate = 999
  1625.                                             table.insert(FIRES, BURN)
  1626.                                         end
  1627.                                     end
  1628.                                     local DEAD = false
  1629.                                     for i = 1, 200 do
  1630.                                         Swait()
  1631.                                         ApplyDamage(HUM, 0.3 * S)
  1632.                                         if HUM.Health < 0.1 then
  1633.                                             DEAD = true
  1634.                                             break
  1635.                                         end
  1636.                                     end
  1637.                                     E:Remove()
  1638.                                     for E = 1, #FIRES do
  1639.                                         FIRES[E].Enabled = false
  1640.                                         Debris:AddItem(FIRES[E], 1.5)
  1641.                                     end
  1642.                                     if DEAD == true then
  1643.                                         CamShake(15, 5)
  1644.                                         FOE:BreakJoints()
  1645.                                         local CFRAME = TARGET.CFrame
  1646.                                         for E = 1, 2 do
  1647.                                             for i = 1, 4 do
  1648.                                                 WACKYEFFECT({
  1649.                                                     Time = 50,
  1650.                                                     EffectType = "Round Slash",
  1651.                                                     Size = VT(0, 0, 0),
  1652.                                                     Size2 = VT(E, 0, E) / 6,
  1653.                                                     Transparency = 0,
  1654.                                                     Transparency2 = 1,
  1655.                                                     CFrame = CF(CFRAME.p) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1656.                                                     MoveToPos = nil,
  1657.                                                     RotationX = 0,
  1658.                                                     RotationY = 0,
  1659.                                                     RotationZ = 0,
  1660.                                                     Material = "Neon",
  1661.                                                     Color = C3(1, 1, 1),
  1662.                                                     SoundID = nil,
  1663.                                                     SoundPitch = nil,
  1664.                                                     SoundVolume = nil,
  1665.                                                     UseBoomerangMath = true,
  1666.                                                     Boomerang = 0,
  1667.                                                     SizeBoomerang = 10
  1668.                                                 })
  1669.                                             end
  1670.                                         end
  1671.                                         WACKYEFFECT({
  1672.                                             Time = 15,
  1673.                                             EffectType = "Sphere",
  1674.                                             Size = VT(4, 4, 4) * TARGET.Size.Z,
  1675.                                             Size2 = VT(15, 15, 15) * TARGET.Size.Z,
  1676.                                             Transparency = 0.4,
  1677.                                             Transparency2 = 1,
  1678.                                             CFrame = CF(CFRAME.p),
  1679.                                             MoveToPos = nil,
  1680.                                             RotationX = 0,
  1681.                                             RotationY = 0,
  1682.                                             RotationZ = 0,
  1683.                                             Material = "Neon",
  1684.                                             Color = SKILLTEXTCOLOR,
  1685.                                             SoundID = 952306739,
  1686.                                             SoundPitch = MRANDOM(8, 14) / 15,
  1687.                                             SoundVolume = 5,
  1688.                                             UseBoomerangMath = false,
  1689.                                             Boomerang = 0,
  1690.                                             SizeBoomerang = 0
  1691.                                         })
  1692.                                         if S > 0.4 then
  1693.                                             for E = 1, 5 do
  1694.                                                 SPAWNFIREBALL(CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))), 150, SIZE / 2)
  1695.                                             end
  1696.                                         end
  1697.                                     end
  1698.                                 end
  1699.                             end))
  1700.                         end
  1701.                     end
  1702.                     if DETONATE == true then
  1703.                         break
  1704.                     end
  1705.                 end
  1706.             end
  1707.             FIXMEFFS:Disconnect()
  1708.             LEGDAY:Remove()
  1709.             HED:Remove()
  1710.             HUM:Remove()
  1711.             BURN.Enabled = false
  1712.             FIREBALL.CanCollide = false
  1713.             FIREBALL.Anchored = true
  1714.             Debris:AddItem(FIRECHAR, 1.5)
  1715.             if DETONATE == false then
  1716.                 WACKYEFFECT({
  1717.                     Time = 15,
  1718.                     EffectType = "Sphere",
  1719.                     Size = VT(0, 0, 0),
  1720.                     Size2 = VT(6, 6, 6),
  1721.                     Transparency = 0.6,
  1722.                     Transparency2 = 1,
  1723.                     CFrame = CF(FIREBALL.Position),
  1724.                     MoveToPos = nil,
  1725.                     RotationX = 0,
  1726.                     RotationY = 0,
  1727.                     RotationZ = 0,
  1728.                     Material = "Neon",
  1729.                     Color = SKILLTEXTCOLOR,
  1730.                     SoundID = 952306739,
  1731.                     SoundPitch = MRANDOM(8, 14) / 10,
  1732.                     SoundVolume = 5,
  1733.                     UseBoomerangMath = false,
  1734.                     Boomerang = 0,
  1735.                     SizeBoomerang = 0
  1736.                 })
  1737.             end
  1738.         end))
  1739.     end
  1740.     HEADTURN = false
  1741.     for i = 0, 1, 0.1 / Animation_Speed do
  1742.         Swait()
  1743.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24), 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  1744.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1745.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.65, 0) * ANGLES(RAD(180), RAD(-12 + 2.5 * SIN(SINE / 12)), RAD(-5 + 2.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 6))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1746.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, 0) * ANGLES(RAD(180), RAD(12 - 2.5 * SIN(SINE / 12)), RAD(5 - 2.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 6))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1747.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.035 * SIN(SINE / 24) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1748.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.035 * SIN(SINE / 24) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1749.     end
  1750.     for E = 1, 15 do
  1751.         for i = 1, 5 do
  1752.             Swait()
  1753.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.04, 0, 0) * ANGLES(RAD(0), RAD(2.5), RAD(0)), 1 / Animation_Speed)
  1754.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-E * 155)), 1 / Animation_Speed)
  1755.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.65, 0) * ANGLES(RAD(220), RAD(-12), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1756.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.65, 0) * ANGLES(RAD(140), RAD(12), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1757.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1.035, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0.5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1758.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.965, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-4.5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1759.         end
  1760.         CamShake(15, 5)
  1761.         for i = 1, 2 do
  1762.             WACKYEFFECT({
  1763.                 Time = 25,
  1764.                 EffectType = "Round Slash",
  1765.                 Size = VT(0, 0, 0),
  1766.                 Size2 = VT(0.3, 0, 0.3) / 2,
  1767.                 Transparency = 0,
  1768.                 Transparency2 = 1,
  1769.                 CFrame = CF(Head.Position) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15, 15)), RAD(MRANDOM(0, 360)), RAD(0)),
  1770.                 MoveToPos = nil,
  1771.                 RotationX = 0,
  1772.                 RotationY = 0,
  1773.                 RotationZ = 0,
  1774.                 Material = "Neon",
  1775.                 Color = C3(1, 1, 1),
  1776.                 SoundID = nil,
  1777.                 SoundPitch = nil,
  1778.                 SoundVolume = nil,
  1779.                 UseBoomerangMath = true,
  1780.                 Boomerang = 0,
  1781.                 SizeBoomerang = 10
  1782.             })
  1783.         end
  1784.         SPAWNFIREBALL(FAKEHEAD.CFrame * CF(0, 0.5, -0.7), 60, VT(1.3, 1.3, 1.3))
  1785.     end
  1786.     HEADTURN = true
  1787.     ATTACK = false
  1788.     Rooted = false
  1789. end
  1790. function Zoom()
  1791.     CreateSound(92597340, Torso, 10, 1, false)
  1792.     local SpawnVelocity = function(PART, LOCATION, FLING)
  1793.         local bv = IT("BodyVelocity")
  1794.         bv.maxForce = VT(1000000000, 1000000000, 1000000000)
  1795.         bv.Parent = PART
  1796.         bv.velocity = CF(PART.Position, LOCATION).lookVector * FLING
  1797.         Debris:AddItem(bv, 0.5)
  1798.         return bv
  1799.     end
  1800.     ATTACK = true
  1801.     Rooted = false
  1802.     UNANCHOR = false
  1803.     HEADTURN = false
  1804.     if ANIM == "Idle" or ANIM == "Walk" then
  1805.         for i = 1, 3 do
  1806.             WACKYEFFECT({
  1807.                 Time = 15,
  1808.                 EffectType = "Wave",
  1809.                 Size = VT(2, 0, 2),
  1810.                 Size2 = VT(12, 2.5, 12),
  1811.                 Transparency = 0.6,
  1812.                 Transparency2 = 1,
  1813.                 CFrame = CF(RootPart.CFrame * CF(0, -4, 0).p) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
  1814.                 MoveToPos = nil,
  1815.                 RotationX = 1,
  1816.                 RotationY = 0,
  1817.                 RotationZ = 0,
  1818.                 Material = "Neon",
  1819.                 Color = C3(1, 1, 1),
  1820.                 SoundID = nil,
  1821.                 SoundPitch = MRANDOM(9, 11) / 10,
  1822.                 SoundVolume = MRANDOM(9, 11) / 2,
  1823.                 UseBoomerangMath = true,
  1824.                 Boomerang = 0,
  1825.                 SizeBoomerang = 22
  1826.             })
  1827.         end
  1828.         coroutine.resume(coroutine.create(function()
  1829.             for i = 1, 25 do
  1830.                 Swait()
  1831.                 RootPart.CFrame = RootPart.CFrame * CF(0, (25 - i) / 7, 0)
  1832.             end
  1833.         end))
  1834.         for i = 1, 35 do
  1835.             Swait()
  1836.             for i = 1, 3 do
  1837.                 WACKYEFFECT({
  1838.                     Time = 12 - i,
  1839.                     EffectType = "Wave",
  1840.                     Size = VT(12, 0, 12),
  1841.                     Size2 = VT(11 + i * 6, 5 + i * 2, 11 + i * 6),
  1842.                     Transparency = 0.8,
  1843.                     Transparency2 = 1,
  1844.                     CFrame = CF(RootPart.Position, Mouse.Hit.p) * CF(0, 0, 4) * ANGLES(RAD(-90), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  1845.                     MoveToPos = nil,
  1846.                     RotationX = 0.1,
  1847.                     RotationY = 1,
  1848.                     RotationZ = -0.1,
  1849.                     Material = "Neon",
  1850.                     Color = C3(1, 1, 1),
  1851.                     SoundID = nil,
  1852.                     SoundPitch = nil,
  1853.                     SoundVolume = nil,
  1854.                     UseBoomerangMath = false,
  1855.                     Boomerang = 0,
  1856.                     SizeBoomerang = 15
  1857.                 })
  1858.             end
  1859.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i * 45), RAD(0), RAD(0)), 2.5 / Animation_Speed)
  1860.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1861.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1862.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1863.             RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1864.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1865.         end
  1866.     end
  1867.     UNANCHOR = true
  1868.     Humanoid.PlatformStand = true
  1869.     RootPart.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1870.     local bv = SpawnVelocity(RootPart, RootPart.CFrame * CF(0, 0, -3).p, 350)
  1871.     for E = 1, 3 do
  1872.         for i = 1, 4 do
  1873.             WACKYEFFECT({
  1874.                 Time = 50,
  1875.                 EffectType = "Round Slash",
  1876.                 Size = VT(0, 0, 0),
  1877.                 Size2 = VT(E, 0, E) / 4,
  1878.                 Transparency = 0,
  1879.                 Transparency2 = 1,
  1880.                 CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1881.                 MoveToPos = nil,
  1882.                 RotationX = 0,
  1883.                 RotationY = 0,
  1884.                 RotationZ = 0,
  1885.                 Material = "Neon",
  1886.                 Color = C3(1, 1, 1),
  1887.                 SoundID = nil,
  1888.                 SoundPitch = nil,
  1889.                 SoundVolume = nil,
  1890.                 UseBoomerangMath = true,
  1891.                 Boomerang = 0,
  1892.                 SizeBoomerang = 10
  1893.             })
  1894.         end
  1895.     end
  1896.     for i = 1, 7 do
  1897.         WACKYEFFECT({
  1898.             Time = 45 - i * 4,
  1899.             EffectType = "Sphere",
  1900.             Size = VT(0, 0, 0),
  1901.             Size2 = VT(5, 5, 5) + VT(i, i, i) * 25,
  1902.             Transparency = 0,
  1903.             Transparency2 = 1,
  1904.             CFrame = CF(RootPart.Position),
  1905.             MoveToPos = nil,
  1906.             RotationX = 0,
  1907.             RotationY = 0,
  1908.             RotationZ = 0,
  1909.             Material = "Neon",
  1910.             Color = SKILLTEXTCOLOR,
  1911.             SoundID = 1368637781,
  1912.             SoundPitch = MRANDOM(8, 20) / 10,
  1913.             SoundVolume = 6,
  1914.             UseBoomerangMath = false,
  1915.             Boomerang = 0,
  1916.             SizeBoomerang = 0
  1917.         })
  1918.     end
  1919.     for i = 1, 12 do
  1920.         WACKYEFFECT({
  1921.             Time = 35 - i,
  1922.             EffectType = "Wave",
  1923.             Size = VT(12, 0, 12),
  1924.             Size2 = VT(11 + i * 6, 5 + i * 2, 11 + i * 6),
  1925.             Transparency = 0.3,
  1926.             Transparency2 = 1,
  1927.             CFrame = RootPart.CFrame * CF(0, 0, 12) * ANGLES(RAD(-90), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  1928.             MoveToPos = nil,
  1929.             RotationX = 0.1,
  1930.             RotationY = 1,
  1931.             RotationZ = -0.1,
  1932.             Material = "Neon",
  1933.             Color = C3(1, 1, 1),
  1934.             SoundID = nil,
  1935.             SoundPitch = nil,
  1936.             SoundVolume = nil,
  1937.             UseBoomerangMath = false,
  1938.             Boomerang = 0,
  1939.             SizeBoomerang = 15
  1940.         })
  1941.     end
  1942.     ApplyAoE(RootPart.Position, 85, 25, 65, 150, false)
  1943.     CamShake(12, 12)
  1944.     local WINGS = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Royal purple"), "Yes, fly!", VT(0, 0, 0), false)
  1945.     CreateMesh("SpecialMesh", WINGS, "FileMesh", "1963497039", "", VT(2.5, 1.3, 1), VT(0, 1.4, 1.2))
  1946.     CreateWeldOrSnapOrMotor("Weld", Torso, Torso, WINGS, CF(0, 0, 0), CF(0, 0, 0))
  1947.     coroutine.resume(coroutine.create(function()
  1948.         for i = 1, 5 do
  1949.             Swait()
  1950.             WINGS.Transparency = WINGS.Transparency - 0.1
  1951.         end
  1952.     end))
  1953.     local HITS = {}
  1954.     for i = 0, 1.35, 0.1 / Animation_Speed do
  1955.         Swait()
  1956.         RootPart.CFrame = Clerp(RootPart.CFrame, CF(RootPart.Position, Mouse.Hit.p), 0.3)
  1957.         bv.velocity = CF(RootPart.Position, RootPart.CFrame * CF(0, 0, -3).p).lookVector * 350
  1958.         for index, CHILD in pairs(workspace:GetDescendants()) do
  1959.             if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Name ~= "PurpleEerinFireball" then
  1960.                 local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1961.                 if HUM then
  1962.                     local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1963.                     if TORSO and 25 >= (TORSO.Position - RootPart.Position).Magnitude then
  1964.                         local PASS = true
  1965.                         for E = 1, #HITS do
  1966.                             if HITS[E] == CHILD then
  1967.                                 PASS = false
  1968.                             end
  1969.                         end
  1970.                         if PASS == true then
  1971.                             local DMG = MRANDOM(35, 75)
  1972.                             ApplyDamage(HUM, DMG)
  1973.                             table.insert(HITS, CHILD)
  1974.                             for _, c in pairs(CHILD:GetChildren()) do
  1975.                                 if c:IsA("BasePart") then
  1976.                                     local bv = Instance.new("BodyVelocity")
  1977.                                     bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  1978.                                     bv.velocity = CF(Torso.Position, TORSO.Position).lookVector * 350
  1979.                                     bv.Parent = c
  1980.                                     Debris:AddItem(bv, 0.05)
  1981.                                 end
  1982.                             end
  1983.                         end
  1984.                     end
  1985.                 end
  1986.             end
  1987.         end
  1988.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(80), RAD(0), RAD(0)), 1 / Animation_Speed)
  1989.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  1990.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.45, 0.05) * ANGLES(RAD(-10), RAD(-10), RAD(-2)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1991.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.45, 0.05) * ANGLES(RAD(-10), RAD(10), RAD(2)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1992.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1993.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  1994.         for i = 1, 2 do
  1995.             WACKYEFFECT({
  1996.                 Time = 15,
  1997.                 EffectType = "Round Slash",
  1998.                 Size = VT(0.25, 0, 0.25),
  1999.                 Size2 = VT(0.4, 0, 0.4),
  2000.                 Transparency = 0.6,
  2001.                 Transparency2 = 1,
  2002.                 CFrame = RootPart.CFrame * CF(0, 0, -5) * ANGLES(RAD(90), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15, 15)), RAD(MRANDOM(0, 360)), RAD(0)),
  2003.                 MoveToPos = nil,
  2004.                 RotationX = 0,
  2005.                 RotationY = 0,
  2006.                 RotationZ = 0,
  2007.                 Material = "Neon",
  2008.                 Color = C3(1, 1, 1),
  2009.                 SoundID = nil,
  2010.                 SoundPitch = nil,
  2011.                 SoundVolume = nil,
  2012.                 UseBoomerangMath = true,
  2013.                 Boomerang = 0,
  2014.                 SizeBoomerang = 10
  2015.             })
  2016.         end
  2017.     end
  2018.     Humanoid.PlatformStand = false
  2019.     RootPart.CFrame = CF(RootPart.Position) * ANGLES(RAD(0), RAD(RootPart.Orientation.Y), RAD(0))
  2020.     coroutine.resume(coroutine.create(function()
  2021.         for i = 1, 25 do
  2022.             Swait()
  2023.             WINGS.Transparency = WINGS.Transparency + 0.02
  2024.         end
  2025.         WINGS:Remove()
  2026.     end))
  2027.     HEADTURN = true
  2028.     ATTACK = false
  2029.     Rooted = false
  2030. end
  2031. function Hothead()
  2032.     ATTACK = true
  2033.     Rooted = true
  2034.     UNANCHOR = false
  2035.     HEADTURN = false
  2036.     coroutine.resume(coroutine.create(function()
  2037.         for i = 1, 25 do
  2038.             Swait()
  2039.             RootPart.CFrame = RootPart.CFrame * CF(0, (25 - i) / 2, 0)
  2040.         end
  2041.     end))
  2042.     CreateSound(1664710821, Effects, 7, 0.8, false)
  2043.     for i = 1, 165 do
  2044.         Swait()
  2045.         WACKYEFFECT({
  2046.             Time = 12,
  2047.             EffectType = "Sphere",
  2048.             Size = VT(3, 3, 3),
  2049.             Size2 = VT(0, 0, 150),
  2050.             Transparency = 0.3,
  2051.             Transparency2 = 1,
  2052.             CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  2053.             MoveToPos = nil,
  2054.             RotationX = 0,
  2055.             RotationY = 0,
  2056.             RotationZ = 0,
  2057.             Material = "Neon",
  2058.             Color = SKILLTEXTCOLOR,
  2059.             SoundID = nil,
  2060.             SoundPitch = 1,
  2061.             SoundVolume = 6,
  2062.             UseBoomerangMath = true,
  2063.             Boomerang = 0,
  2064.             SizeBoomerang = 0
  2065.         })
  2066.         WACKYEFFECT({
  2067.             Time = 15,
  2068.             EffectType = "Round Slash",
  2069.             Size = VT(0.3, 0, 0.3),
  2070.             Size2 = VT(0, 0, 0),
  2071.             Transparency = 1,
  2072.             Transparency2 = 0.5,
  2073.             CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  2074.             MoveToPos = nil,
  2075.             RotationX = 0,
  2076.             RotationY = 0,
  2077.             RotationZ = 0,
  2078.             Material = "Neon",
  2079.             Color = C3(1, 1, 1),
  2080.             SoundID = nil,
  2081.             SoundPitch = nil,
  2082.             SoundVolume = nil,
  2083.             UseBoomerangMath = true,
  2084.             Boomerang = 0,
  2085.             SizeBoomerang = 35
  2086.         })
  2087.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  2088.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), 1 / Animation_Speed)
  2089.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25 + MRANDOM(-5, 5)), RAD(-15 + MRANDOM(-5, 5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2090.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25 + MRANDOM(-5, 5)), RAD(15 + MRANDOM(-5, 5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2091.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
  2092.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2093.     end
  2094.     RootPart.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  2095.     coroutine.resume(coroutine.create(function()
  2096.         local ROLLER = CreatePart(3, Effects, "Fabric", 0, 0, BRICKC("Pearl"), "ROLLERDAH", VT(13.02, 9.3, 12.09), true)
  2097.         local S = CreateSound(511715134, Effects, 10, MRANDOM(8, 13) / 10, false)
  2098.         CreateMesh("SpecialMesh", ROLLER, "FileMesh", "16973748", "1090019344", VT(9.3, 9.3, 9.3), VT(0, 0, 0))
  2099.         local FACE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Royal purple"), "Fire", VT(1, 0.1, 1) * 13.02, true)
  2100.         MakeForm(FACE, "Ball")
  2101.         local BEHAVIOUR = "Idle"
  2102.         local TARGET
  2103.         local TARGETLOC = RootPart.CFrame * CF(0, 0, -25)
  2104.         local KABLAMO = false
  2105.         local LOOP = 0
  2106.         local AGGRO_LOOP = 0
  2107.         local NECKFIRE = ParticleEmitter({
  2108.             Acel = VT(0, 85, 0),
  2109.             Speed = 6,
  2110.             RotSpeed = NumberRange.new(-15, 15),
  2111.             Drag = 0.5,
  2112.             Size1 = 8,
  2113.             Size2 = 0,
  2114.             Lifetime1 = 0,
  2115.             Lifetime2 = 1.4,
  2116.             Parent = ROLLER,
  2117.             Emit = 100,
  2118.             Offset = 360,
  2119.             Enabled = true,
  2120.             Color1 = BRICKC("Royal purple").Color,
  2121.             Color2 = BRICKC("Royal purple").Color,
  2122.             Texture = "296874871"
  2123.         })
  2124.         NECKFIRE.Rate = 999
  2125.         ROLLER.CFrame = RootPart.CFrame
  2126.         FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  2127.         local SUICIDED = false
  2128.         for i = 1, 45 do
  2129.             Swait()
  2130.             ROLLER.CFrame = ROLLER.CFrame * CF(0, 0, -(45 - i) / 35)
  2131.             FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  2132.         end
  2133.         coroutine.resume(coroutine.create(function()
  2134.             repeat
  2135.                 Swait()
  2136.                 LOOP = LOOP + 1
  2137.                 if BEHAVIOUR == "Idle" then
  2138.                     ROLLER.CFrame = Clerp(ROLLER.CFrame, TARGETLOC, 0.1)
  2139.                 elseif BEHAVIOUR == "Circle" then
  2140.                     if TARGET then
  2141.                         if TARGET.Parent then
  2142.                             local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
  2143.                             if HUM then
  2144.                                 if HUM.Health > 0 then
  2145.                                     local CFRAME = CF(TARGET.Position + VT(0, 65 * (TARGET.Size.Z / 2))) * ANGLES(RAD(0), RAD(LOOP), RAD(0)) * CF(0, 0, 45 * (TARGET.Size.Z / 2))
  2146.                                     ROLLER.CFrame = Clerp(ROLLER.CFrame, CF(CFRAME.p, TARGET.Position), 0.1)
  2147.                                     AGGRO_LOOP = AGGRO_LOOP + 1
  2148.                                     if AGGRO_LOOP >= 250 then
  2149.                                         BEHAVIOUR = "Attack"
  2150.                                     end
  2151.                                 else
  2152.                                     BEHAVIOUR = "Idle"
  2153.                                 end
  2154.                             else
  2155.                                 BEHAVIOUR = "Idle"
  2156.                             end
  2157.                         else
  2158.                             BEHAVIOUR = "Idle"
  2159.                         end
  2160.                     end
  2161.                 elseif BEHAVIOUR == "Attack" then
  2162.                     AGGRO_LOOP = 0
  2163.                     local LOC = TARGET.Position
  2164.                     CreateSound(257002167, ROLLER, 10, MRANDOM(8, 13) / 10, false)
  2165.                     for i = 1, 25 do
  2166.                         Swait()
  2167.                         ROLLER.CFrame = CF(ROLLER.CFrame * CF(0, 0, 1).p, LOC)
  2168.                         FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  2169.                     end
  2170.                     for i = 1, 70 do
  2171.                         local HITFLOOR, POS = Raycast(ROLLER.Position, ROLLER.CFrame.lookVector, 6, Character)
  2172.                         ROLLER.CFrame = ROLLER.CFrame * CF(0, 0, -5)
  2173.                         FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  2174.                         if HITFLOOR then
  2175.                             ApplyAoE(ROLLER.Position, 135, 45, 50, 120, false)
  2176.                             ApplyAoE(ROLLER.Position, 25, 45, 50, 1200, true)
  2177.                             CamShake(12, 25)
  2178.                             for E = 1, 7 do
  2179.                                 for i = 1, 4 do
  2180.                                     WACKYEFFECT({
  2181.                                         Time = 50,
  2182.                                         EffectType = "Round Slash",
  2183.                                         Size = VT(0, 0, 0),
  2184.                                         Size2 = VT(E, 0, E) / 4,
  2185.                                         Transparency = 0,
  2186.                                         Transparency2 = 1,
  2187.                                         CFrame = CF(ROLLER.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  2188.                                         MoveToPos = nil,
  2189.                                         RotationX = 0,
  2190.                                         RotationY = 0,
  2191.                                         RotationZ = 0,
  2192.                                         Material = "Neon",
  2193.                                         Color = C3(1, 1, 1),
  2194.                                         SoundID = nil,
  2195.                                         SoundPitch = nil,
  2196.                                         SoundVolume = nil,
  2197.                                         UseBoomerangMath = true,
  2198.                                         Boomerang = 0,
  2199.                                         SizeBoomerang = 10
  2200.                                     })
  2201.                                 end
  2202.                             end
  2203.                             for i = 1, 12 do
  2204.                                 WACKYEFFECT({
  2205.                                     Time = 75 - i * 4,
  2206.                                     EffectType = "Sphere",
  2207.                                     Size = VT(0, 0, 0),
  2208.                                     Size2 = VT(5, 5, 5) + VT(i, i, i) * 25,
  2209.                                     Transparency = 0,
  2210.                                     Transparency2 = 1,
  2211.                                     CFrame = CF(ROLLER.Position),
  2212.                                     MoveToPos = nil,
  2213.                                     RotationX = 0,
  2214.                                     RotationY = 0,
  2215.                                     RotationZ = 0,
  2216.                                     Material = "Neon",
  2217.                                     Color = SKILLTEXTCOLOR,
  2218.                                     SoundID = 1368637781,
  2219.                                     SoundPitch = MRANDOM(8, 20) / 10,
  2220.                                     SoundVolume = 10,
  2221.                                     UseBoomerangMath = false,
  2222.                                     Boomerang = 0,
  2223.                                     SizeBoomerang = 0
  2224.                                 })
  2225.                             end
  2226.                             local COLISSION, POS = Raycast(ROLLER.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 12, Character)
  2227.                             if COLISSION then
  2228.                                 for i = 1, 12 do
  2229.                                     WACKYEFFECT({
  2230.                                         Time = 20 + i * 15,
  2231.                                         EffectType = "Wave",
  2232.                                         Size = VT(15, 0, 15),
  2233.                                         Size2 = VT(160, 15, 160),
  2234.                                         Transparency = 0.6,
  2235.                                         Transparency2 = 1,
  2236.                                         CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-15, 15)), RAD(MRANDOM(0, 360)), RAD(0)),
  2237.                                         MoveToPos = nil,
  2238.                                         RotationX = 0.2,
  2239.                                         RotationY = 0,
  2240.                                         RotationZ = 0,
  2241.                                         Material = "Neon",
  2242.                                         Color = C3(1, 1, 1),
  2243.                                         SoundID = nil,
  2244.                                         SoundPitch = MRANDOM(9, 11) / 10,
  2245.                                         SoundVolume = MRANDOM(9, 11) / 2,
  2246.                                         UseBoomerangMath = true,
  2247.                                         Boomerang = 0,
  2248.                                         SizeBoomerang = 22
  2249.                                     })
  2250.                                 end
  2251.                             end
  2252.                             if KABLAMO == true then
  2253.                                 SUICIDED = true
  2254.                                 FACE:Remove()
  2255.                                 ROLLER.Transparency = 1
  2256.                                 NECKFIRE.Enabled = false
  2257.                                 Debris:AddItem(ROLLER, 5)
  2258.                                 for i = 1, 25 do
  2259.                                     local LEFTOVER = CreatePart(3, workspace, "Pebble", 0, 0, BRICKC("Pearl"), "ROLLERDAH", VT(13.02 * (MRANDOM(8, 12) / 10), 9.3 * (MRANDOM(8, 12) / 10), 12.09 * (MRANDOM(8, 12) / 10)) / 1.5 / 2, false)
  2260.                                     LEFTOVER.CanCollide = true
  2261.                                     LEFTOVER.CFrame = ROLLER.CFrame * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  2262.                                     LEFTOVER.Velocity = CF(LEFTOVER.Position - VT(0, 6, 0), LEFTOVER.CFrame * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 5, 0).p).lookVector * MRANDOM(50, 320)
  2263.                                     Debris:AddItem(LEFTOVER, 8)
  2264.                                 end
  2265.                             end
  2266.                             break
  2267.                         else
  2268.                             WACKYEFFECT({
  2269.                                 Time = 15 + i,
  2270.                                 EffectType = "Wave",
  2271.                                 Size = VT(15, 0, 15),
  2272.                                 Size2 = VT(25, 5, 25),
  2273.                                 Transparency = 0.8,
  2274.                                 Transparency2 = 1,
  2275.                                 CFrame = ROLLER.CFrame * CF(0, 0, -7) * ANGLES(RAD(90), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  2276.                                 MoveToPos = nil,
  2277.                                 RotationX = 0.1,
  2278.                                 RotationY = 1,
  2279.                                 RotationZ = -0.1,
  2280.                                 Material = "Neon",
  2281.                                 Color = C3(1, 1, 1),
  2282.                                 SoundID = nil,
  2283.                                 SoundPitch = nil,
  2284.                                 SoundVolume = nil,
  2285.                                 UseBoomerangMath = false,
  2286.                                 Boomerang = 0,
  2287.                                 SizeBoomerang = 15
  2288.                             })
  2289.                         end
  2290.                     end
  2291.                     wait(1)
  2292.                     BEHAVIOUR = "Idle"
  2293.                 end
  2294.                 if BEHAVIOUR ~= "Idle" then
  2295.                     TARGETLOC = CF(ROLLER.Position) * ANGLES(RAD(0), RAD(ROLLER.Orientation.Y), RAD(0))
  2296.                 end
  2297.                 FACE.CFrame = ROLLER.CFrame * CF(0, -4.2780000000000005, 0)
  2298.             until SUICIDED == true
  2299.         end))
  2300.         for i = 1, 12 do
  2301.             local RANGE = 6000
  2302.             if BEHAVIOUR == "Attack" then
  2303.                 repeat
  2304.                     wait()
  2305.                 until BEHAVIOUR ~= "Attack"
  2306.             end
  2307.             for index, CHILD in pairs(workspace:GetDescendants()) do
  2308.                 if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD:FindFirstChild("AboutToEerin") == nil then
  2309.                     local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2310.                     if HUM then
  2311.                         local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2312.                         if TORSO and 0 < HUM.Health and RANGE >= (TORSO.Position - ROLLER.Position).Magnitude then
  2313.                             RANGE = (TORSO.Position - ROLLER.Position).Magnitude
  2314.                             TARGET = TORSO
  2315.                         end
  2316.                     end
  2317.                 end
  2318.             end
  2319.             if TARGET then
  2320.                 BEHAVIOUR = "Circle"
  2321.             else
  2322.                 BEHAVIOUR = "Idle"
  2323.             end
  2324.             wait(1)
  2325.         end
  2326.         KABLAMO = true
  2327.         repeat
  2328.             local RANGE = 6.0E73
  2329.             if BEHAVIOUR == "Attack" then
  2330.                 repeat
  2331.                     wait()
  2332.                 until BEHAVIOUR ~= "Attack"
  2333.             end
  2334.             for index, CHILD in pairs(workspace:GetDescendants()) do
  2335.                 if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD:FindFirstChild("AboutToEerin") == nil then
  2336.                     local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2337.                     if HUM then
  2338.                         local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2339.                         if TORSO and 0 < HUM.Health and RANGE >= (TORSO.Position - ROLLER.Position).Magnitude then
  2340.                             RANGE = (TORSO.Position - ROLLER.Position).Magnitude
  2341.                             TARGET = TORSO
  2342.                         end
  2343.                     end
  2344.                 end
  2345.             end
  2346.             if TARGET then
  2347.                 BEHAVIOUR = "Circle"
  2348.             else
  2349.                 BEHAVIOUR = "Idle"
  2350.             end
  2351.             wait(1)
  2352.         until SUICIDED == true
  2353.     end))
  2354.     for E = 1, 3 do
  2355.         for i = 1, 4 do
  2356.             WACKYEFFECT({
  2357.                 Time = 50,
  2358.                 EffectType = "Round Slash",
  2359.                 Size = VT(0, 0, 0),
  2360.                 Size2 = VT(E, 0, E) / 4,
  2361.                 Transparency = 0,
  2362.                 Transparency2 = 1,
  2363.                 CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  2364.                 MoveToPos = nil,
  2365.                 RotationX = 0,
  2366.                 RotationY = 0,
  2367.                 RotationZ = 0,
  2368.                 Material = "Neon",
  2369.                 Color = C3(1, 1, 1),
  2370.                 SoundID = nil,
  2371.                 SoundPitch = nil,
  2372.                 SoundVolume = nil,
  2373.                 UseBoomerangMath = true,
  2374.                 Boomerang = 0,
  2375.                 SizeBoomerang = 10
  2376.             })
  2377.         end
  2378.     end
  2379.     CreateSound(401056199, Effects, 7, 0.8, false)
  2380.     CreateSound(1664711478, Effects, 7, 0.8, false)
  2381.     for i = 1, 7 do
  2382.         WACKYEFFECT({
  2383.             Time = 45 - i * 4,
  2384.             EffectType = "Sphere",
  2385.             Size = VT(0, 0, 0),
  2386.             Size2 = VT(5, 5, 5) + VT(i, i, i) * 25,
  2387.             Transparency = 0,
  2388.             Transparency2 = 1,
  2389.             CFrame = CF(RootPart.Position),
  2390.             MoveToPos = nil,
  2391.             RotationX = 0,
  2392.             RotationY = 0,
  2393.             RotationZ = 0,
  2394.             Material = "Neon",
  2395.             Color = SKILLTEXTCOLOR,
  2396.             SoundID = nil,
  2397.             SoundPitch = MRANDOM(8, 20) / 10,
  2398.             SoundVolume = 6,
  2399.             UseBoomerangMath = false,
  2400.             Boomerang = 0,
  2401.             SizeBoomerang = 0
  2402.         })
  2403.     end
  2404.     for i = 1, 15 do
  2405.         WACKYEFFECT({
  2406.             Time = 35 - i,
  2407.             EffectType = "Wave",
  2408.             Size = VT(12, 0, 12),
  2409.             Size2 = VT(13 + i * 7, 5 + i * 3, 13 + i * 7),
  2410.             Transparency = 0.3,
  2411.             Transparency2 = 1,
  2412.             CFrame = RootPart.CFrame * CF(0, 0, -4) * ANGLES(RAD(90), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-5, 5))),
  2413.             MoveToPos = nil,
  2414.             RotationX = 0.1,
  2415.             RotationY = 1,
  2416.             RotationZ = -0.1,
  2417.             Material = "Neon",
  2418.             Color = C3(1, 1, 1),
  2419.             SoundID = nil,
  2420.             SoundPitch = nil,
  2421.             SoundVolume = nil,
  2422.             UseBoomerangMath = false,
  2423.             Boomerang = 0,
  2424.             SizeBoomerang = 15
  2425.         })
  2426.     end
  2427.     for i = 0, 0.5, 0.1 / Animation_Speed do
  2428.         Swait()
  2429.         RootPart.CFrame = RootPart.CFrame * CF(0, 0, 1.2)
  2430.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  2431.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2432.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(-12), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2433.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(12), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2434.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-50), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2435.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-50), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2436.     end
  2437.     HEADTURN = true
  2438.     UNANCHOR = true
  2439.     ATTACK = false
  2440.     Rooted = false
  2441. end
  2442. function Wave()
  2443.     ATTACK = true
  2444.     Rooted = true
  2445.     HEADTURN = false
  2446.     for i = 1, 100 do
  2447.         Swait()
  2448.         RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24), -0.15, -0.1 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2449.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-10 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2450.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-12 + 2.5 * SIN(SINE / 12)), RAD(55 + 2.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 6))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2451.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(i / 3))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2452.         RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.035 * SIN(SINE / 24) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(20), RAD(85), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2453.         LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.035 * SIN(SINE / 24) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(20), RAD(-85), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2454.     end
  2455.     HEADTURN = true
  2456.     ATTACK = false
  2457.     Rooted = false
  2458. end
  2459. function Taunt()
  2460.     ATTACK = true
  2461.     Rooted = true
  2462.     HEADTURN = false
  2463.     local function E()
  2464.         for i = 0, 0.45, 0.1 / Animation_Speed do
  2465.             Swait()
  2466.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.035) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
  2467.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2468.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(-12), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2469.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(12), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2470.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(35), RAD(85), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  2471.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(35), RAD(-85), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
  2472.         end
  2473.     end
  2474.     repeat
  2475.         E()
  2476.         for i = 0, 0.45, 0.1 / Animation_Speed do
  2477.             Swait()
  2478.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.08, 0, 0) * ANGLES(RAD(0), RAD(5), RAD(0)), 1 / Animation_Speed)
  2479.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2480.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(160), RAD(-12), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2481.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(160), RAD(12), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2482.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1.07, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2483.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.9299999999999999, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-7), RAD(0), RAD(0)), 1 / Animation_Speed)
  2484.         end
  2485.         E()
  2486.         for i = 0, 0.45, 0.1 / Animation_Speed do
  2487.             Swait()
  2488.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(-0.08, 0, 0) * ANGLES(RAD(0), RAD(-5), RAD(0)), 1 / Animation_Speed)
  2489.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2490.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(160), RAD(-12), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2491.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(160), RAD(12), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2492.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.9299999999999999, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-7), RAD(0), RAD(0)), 1 / Animation_Speed)
  2493.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.07, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2494.         end
  2495.     until KEYHOLD == false
  2496.     HEADTURN = true
  2497.     ATTACK = false
  2498.     Rooted = false
  2499. end
  2500. function MouseDown(Mouse)
  2501.     if ATTACK == false then
  2502.     end
  2503. end
  2504. function MouseUp(Mouse)
  2505.     HOLD = false
  2506. end
  2507. function KeyDown(Key)
  2508.     KEYHOLD = true
  2509.     if Key == "z" and ATTACK == false then
  2510.         LeapingPumpkin()
  2511.     end
  2512.     if Key == "x" and ATTACK == false then
  2513.         Rollout()
  2514.     end
  2515.     if Key == "c" and ATTACK == false then
  2516.         Trashing()
  2517.     end
  2518.     if Key == "v" and ATTACK == false then
  2519.         Incinithrower()
  2520.     end
  2521.     if Key == "e" and ATTACK == false then
  2522.         Zoom()
  2523.     end
  2524.     if Key == "q" and ATTACK == false then
  2525.         Hothead()
  2526.     end
  2527.     if Key == "t" and ATTACK == false then
  2528.         Taunt()
  2529.     end
  2530.     if Key == "m" and ATTACK == false then
  2531.         if Speed == 16 then
  2532.             Speed = 50
  2533.         elseif Speed == 50 then
  2534.             Speed = 16
  2535.         end
  2536.     end
  2537.     if Key == "p" and ATTACK == false then
  2538.         Wave()
  2539.     end
  2540.     if Key == "n" and ATTACK == false then
  2541.         if HEADTURN == true then
  2542.         HEADTURN = false
  2543.         elseif HEADTURN == false then
  2544.         HEADTURN = true
  2545.         end
  2546.     end
  2547. end
  2548. function KeyUp(Key)
  2549.     KEYHOLD = false
  2550. end
  2551. Mouse.Button1Down:connect(function(NEWKEY)
  2552.     MouseDown(NEWKEY)
  2553. end)
  2554. Mouse.Button1Up:connect(function(NEWKEY)
  2555.     MouseUp(NEWKEY)
  2556. end)
  2557. Mouse.KeyDown:connect(function(NEWKEY)
  2558.     KeyDown(NEWKEY)
  2559. end)
  2560. Mouse.KeyUp:connect(function(NEWKEY)
  2561.     KeyUp(NEWKEY)
  2562. end)
  2563. function unanchor()
  2564.     for _, c in pairs(Character:GetChildren()) do
  2565.         if c:IsA("BasePart") and c ~= RootPart and c ~= FAKEHEAD then
  2566.             c.Anchored = false
  2567.         end
  2568.     end
  2569.     if UNANCHOR == true then
  2570.         RootPart.Anchored = false
  2571.     else
  2572.         RootPart.Anchored = true
  2573.     end
  2574. end
  2575. Humanoid.Changed:connect(function(Jump)
  2576.     if Jump == "Jump" and Disable_Jump == true then
  2577.         Humanoid.Jump = false
  2578.     end
  2579. end)
  2580. local TIMESTAMP = 0
  2581. local FIXING = false
  2582. while true do
  2583.     Swait()
  2584.             for _, c in pairs(Character:GetChildren()) do
  2585.         if c.ClassName == "Part" then
  2586.             if c:FindFirstChildOfClass("BodyPosition") then
  2587.                 c:FindFirstChildOfClass("BodyPosition"):remove()
  2588.             end
  2589.         end
  2590.         end
  2591.     script.Parent = WEAPONGUI
  2592.     ANIMATE.Parent = nil
  2593.     for _, v in next, Humanoid:GetPlayingAnimationTracks() do
  2594.         v:Stop()
  2595.     end
  2596.     SINE = SINE + CHANGE
  2597.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2598.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2599.     local HITFLOOR = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 4, Character)
  2600.     local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
  2601.     local SPEED = WALKSPEEDVALUE
  2602.     if SPEED > 2 then
  2603.         SPEED = 2
  2604.     end
  2605.     if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2606.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.1 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2607.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.6 / Animation_Speed)
  2608.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE * 2), 0.25 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10 + 50 * COS(SINE / WALKSPEEDVALUE))), 0.6 * SPEED / Animation_Speed)
  2609.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE * 2), -0.25 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-10 + 50 * COS(SINE / WALKSPEEDVALUE))), 0.6 * SPEED / Animation_Speed)
  2610.     elseif ANIM ~= "Walk" or TORSOVELOCITY < 1 then
  2611.         RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2612.         Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2613.         RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
  2614.         LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
  2615.     end
  2616.     if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2617.         ANIM = "Jump"
  2618.         if ATTACK == false then
  2619.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  2620.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  2621.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2622.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2623.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2624.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2625.         end
  2626.     elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2627.         ANIM = "Fall"
  2628.         if ATTACK == false then
  2629.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2630.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2631.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2632.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2633.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2634.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2635.         end
  2636.     elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2637.         ANIM = "Idle"
  2638.         if ATTACK == false then
  2639.             RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24), 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2640.             Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2641.             RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-12 + 2.5 * SIN(SINE / 12)), RAD(55 + 2.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 6))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2642.             LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(12 - 2.5 * SIN(SINE / 12)), RAD(-55 - 2.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 6))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2643.             RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.035 * SIN(SINE / 24) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2644.             LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.035 * SIN(SINE / 24) - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2645.         end
  2646.     elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2647.         ANIM = "Walk"
  2648.         if ATTACK == false then
  2649.             if Humanoid.WalkSpeed < 25 then
  2650.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(5), RAD(0), RAD(-7 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
  2651.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(7 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
  2652.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.22 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(0), RAD(50 - 5 * SIN(SINE / (WALKSPEEDVALUE / 2)))) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2653.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0.22 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(0), RAD(-50 + 5 * SIN(SINE / (WALKSPEEDVALUE / 2)))) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2654.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2655.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  2656.             else
  2657.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2658.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2659.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.6, 0.4) * ANGLES(RAD(-125 + 5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(-12 + 5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2660.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.6, 0.4) * ANGLES(RAD(-125 + 5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(12 - 5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2661.                 RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-45), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2662.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-45), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2663.             end
  2664.         end
  2665.     end
  2666.     if HEADTURN == true and ANIM == "Idle" then
  2667.         if NECKK then
  2668.             NECKK:Remove()
  2669.             NECKK = nil
  2670.         end
  2671.         if Mouse.Hit.p then
  2672.             FAKEHEAD.CFrame = CF(Head.CFrame * CF(0, 0.5, 0).p) * ANGLES(RAD(0), RAD(FAKEHEAD.Orientation.Y), RAD(0))
  2673.             FAKEHEAD.CFrame = Clerp(FAKEHEAD.CFrame, CF(FAKEHEAD.Position, Mouse.Hit.p), 0.1)
  2674.         end
  2675.         FAKEHEAD.Anchored = true
  2676.         GLASSES.CFrame = FAKEHEAD.CFrame
  2677.         FACE1.CFrame = FAKEHEAD.CFrame * L1.C0
  2678.         FACE2.CFrame = FAKEHEAD.CFrame * L2.C0
  2679.         FACE3.CFrame = FAKEHEAD.CFrame * L3.C0
  2680.         FACE4.CFrame = FAKEHEAD.CFrame * L4.C0
  2681.         FAKEHEAD.Velocity = VT(0, 0, 0)
  2682.         GLASSES.Velocity = VT(0, 0, 0)
  2683.         FACE1.Velocity = VT(0, 0, 0)
  2684.         FACE2.Velocity = VT(0, 0, 0)
  2685.         FACE3.Velocity = VT(0, 0, 0)
  2686.         FACE4.Velocity = VT(0, 0, 0)
  2687.     else
  2688.         if NECKK == nil then
  2689.             NECKK = weldBetween(FAKEHEAD, Head)
  2690.         else
  2691.             NECKK.C1 = Clerp(NECKK.C1, CF(0, 0.55, 0), 0.2)
  2692.         end
  2693.         FAKEHEAD.Anchored = false
  2694.     end
  2695.     unanchor()
  2696.     Humanoid.MaxHealth = 1000
  2697.     Humanoid.Health = 1000
  2698.     if Rooted == false then
  2699.         Disable_Jump = false
  2700.         Humanoid.WalkSpeed = Speed
  2701.     elseif Rooted == true then
  2702.         Disable_Jump = true
  2703.         Humanoid.WalkSpeed = 0
  2704.     end
  2705.     BMUSIC.SoundId = "rbxassetid://" .. SONGID
  2706.     BMUSIC.Looped = true
  2707.     BMUSIC.Pitch = PITCH
  2708.     BMUSIC.Volume = VOLUME
  2709.     BMUSIC.Playing = true
  2710.     BMUSIC.EmitterSize = 50
  2711.     if BMUSIC.Parent ~= RootPart then
  2712.         print("Fixing music")
  2713.         BMUSIC = IT("Sound", RootPart)
  2714.         BMUSIC.SoundId = "rbxassetid://" .. SONGID
  2715.         BMUSIC.Looped = true
  2716.         BMUSIC.Pitch = PITCH
  2717.         BMUSIC.Volume = VOLUME
  2718.         BMUSIC.Playing = true
  2719.         BMUSIC.EmitterSize = 50
  2720.         BMUSIC.TimePosition = TIMESTAMP
  2721.         FIXING = true
  2722.     elseif FIXING == false then
  2723.         TIMESTAMP = BMUSIC.TimePosition
  2724.     else
  2725.         FIXING = false
  2726.     end
  2727.     Humanoid.DisplayDistanceType = "None"
  2728.     for _, c in pairs(Character:GetChildren()) do
  2729.         if c.ClassName == "Part" and c.Name ~= "Eye" and c ~= FACE1 and c ~= FACE2 and c ~= FACE3 and c ~= FACE4 and c ~= FAKEHEAD then
  2730.             c.Material = "Fabric"
  2731.             if c:FindFirstChildOfClass("ParticleEmitter") then
  2732.                 c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2733.             end
  2734.             c.Color = C3(0, 0, 0)
  2735.             if c == Head then
  2736.                 c:ClearAllChildren()
  2737.                 c.Transparency = 1
  2738.             end
  2739.         elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  2740.             c:remove()
  2741.         elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  2742.             c:remove()
  2743.         end
  2744.     end
  2745.     Humanoid.Name = "Eerin"
  2746. end
  2747.  
  2748.  
  2749. -------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement