All content on our site is free and will always be free.

Please consider supporting us with disabling your AdBlock software and to gain access to thousands of free content!

Not sure how to disable AdBLock? Follow this tutorial: How to disable AdBlock

Get the Fe Achromatic Glitcher

The Fe Achromatic Glitcher code is below. Copy & inject it into the game. Enjoy!

sethiddenproperty(game.Players.LocalPlayer, "MaximumSimulationRadius", 999999999999999999999999) --[[SYNAPSE ONLY DELETE THIS IF YOUR NOT USING SYNAPSE]]
sethiddenproperty(game.Players.LocalPlayer, "SimulationRadius", 999999999999999999999999) --[[SYNAPSE ONLY DELETE THIS IF YOUR NOT USING SYNAPSE]]

Net Bypass: https://pastebin.com/raw/fXwQRn7f
--Hats you need:
--https://www.roblox.com/catalog/4820152700/Shadow-Blademasters-Blade
--https://www.roblox.com/catalog/4524991457/Blademasters-Blade
--https://www.roblox.com/catalog/4794315940/Golden-Demonic-Greatsword
--https://www.roblox.com/catalog/4506945409/Corrupt-Demonic-Greatsword
--https://www.roblox.com/catalog/4458601937/Frozen-Demonic-Greatsword
--https://www.roblox.com/catalog/4315489767/Demonic-Greatsword
HumanDied = false
local CountSCIFIMOVIELOL = 1
function SCIFIMOVIELOL(Part0,Part1,Position,Angle)
 local AlignPos = Instance.new('AlignPosition', Part1); AlignPos.Name = "AliP_"..CountSCIFIMOVIELOL
 AlignPos.ApplyAtCenterOfMass = true;
 AlignPos.MaxForce = 5772000--67752;
 AlignPos.MaxVelocity = math.huge/9e110;
 AlignPos.ReactionForceEnabled = false;
 AlignPos.Responsiveness = 200;
 AlignPos.RigidityEnabled = false;
 local AlignOri = Instance.new('AlignOrientation', Part1); AlignOri.Name = "AliO_"..CountSCIFIMOVIELOL
 AlignOri.MaxAngularVelocity = math.huge/9e110;
 AlignOri.MaxTorque = 5772000
 AlignOri.PrimaryAxisOnly = false;
 AlignOri.ReactionTorqueEnabled = false;
 AlignOri.Responsiveness = 200;
 AlignOri.RigidityEnabled = false;
 local AttachmentA=Instance.new('Attachment',Part1); AttachmentA.Name = "Ath_"..CountSCIFIMOVIELOL
 local AttachmentB=Instance.new('Attachment',Part0); AttachmentB.Name = "Ath_"..CountSCIFIMOVIELOL
 AttachmentA.Orientation = Angle or Vector3.new(0,0,0)
 AttachmentA.Position = Position or Vector3.new(0,0,0)
 AlignPos.Attachment1 = AttachmentA;
 AlignPos.Attachment0 = AttachmentB;
 AlignOri.Attachment1 = AttachmentA;
 AlignOri.Attachment0 = AttachmentB;
 CountSCIFIMOVIELOL = CountSCIFIMOVIELOL + 1
 return {AlignPos,AlignOri,AttachmentA,AttachmentB}
end

if _G.netted ~= true then
 _G.netted = true
 coroutine.wrap(function()
  settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
  settings().Physics.AllowSleep = false
  game:GetService("RunService").RenderStepped:Connect(function()
   game:FindFirstChildOfClass("Players").LocalPlayer.MaximumSimulationRadius=math.pow(math.huge,math.huge)
   sethiddenproperty(game:FindFirstChildOfClass("Players").LocalPlayer,"SimulationRadius",math.huge*math.huge)
  end)
 end)()
end

game:FindFirstChildOfClass("Players").LocalPlayer["Character"].Archivable = true
local hatnameclone = {}
for _,v in next, game:FindFirstChildOfClass("Players").LocalPlayer["Character"]:GetChildren() do
 if v:IsA("Accessory") then
  if hatnameclone[v.Name] then
   if hatnameclone[v.Name] == "s" then
    hatnameclone[v.Name] = {}
   end
   table.insert(hatnameclone[v.Name],v)
  else
   hatnameclone[v.Name] = "s"
  end
 end
end
for _,v in pairs(hatnameclone) do
 if type(v) == "table" then
  local num = 1
  for _,w in pairs(v) do
   w.Name = w.Name..num
   num = num + 1
  end
 end
end
hatnameclone = nil

local DeadChar = game:FindFirstChildOfClass("Players").LocalPlayer.Character

local fldr = Instance.new("Folder",game:FindFirstChildOfClass("Players").LocalPlayer["Character"])
fldr.Name = "DMYF"
local CloneChar = DeadChar:Clone()
local ANIMATIONHERE
if CloneChar:FindFirstChild("Animate") then
 ANIMATIONHERE = CloneChar:FindFirstChild("Animate"):Clone()
 CloneChar:FindFirstChild("Animate"):Destroy()
end
if CloneChar:FindFirstChildOfClass("Folder") then CloneChar:FindFirstChildOfClass("Folder"):Destroy() end
if CloneChar.Torso:FindFirstChild("Neck") then
 local Clonessss = CloneChar.Torso:FindFirstChild("Neck"):Clone()
 Clonessss.Part0 = nil
 Clonessss.Part1 = DeadChar.Head
 Clonessss.Parent = DeadChar.Torso
end
CloneChar.Parent = fldr
CloneChar.HumanoidRootPart.CFrame = DeadChar.HumanoidRootPart.CFrame
CloneChar.Humanoid.BreakJointsOnDeath = false
CloneChar.Name = "non"
CloneChar.Humanoid.DisplayDistanceType = "None"

for _,v in next, DeadChar:GetChildren() do
 if v:IsA("Accessory") then
  local topacc = false
  if v.Handle:FindFirstChildOfClass("Weld") then v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
  v.Handle.Massless = true
  v.Handle.CanCollide = false
  if v.Handle:FindFirstChildOfClass("Attachment") then
   local ath__ = v.Handle:FindFirstChildOfClass("Attachment")
   if ath__.Name == "HatAttachment" or ath__.Name == "HairAttachment" or ath__.Name == "FaceFrontAttachment" or ath__.Name == "FaceCenterAttachment" then
    topacc = ath__.Name
   end
  end
        local bv = Instance.new("BodyVelocity",v.Handle)
  bv.Velocity = Vector3.new(0,0,0)
  coroutine.wrap(function()
   if topacc then
    local allthings = SCIFIMOVIELOL(v.Handle,DeadChar.Torso,Vector3.new(0,1.5,0)+ (DeadChar.Head[topacc].Position + (v.Handle[topacc].Position*-1)),Vector3.new(0,0,0))
    local normaltop = allthings[1].Attachment1
    local alipos = allthings[1]
    local alirot = allthings[2]
    local p0 = v.Handle
    local p1 = DeadChar.Head
    alipos.Parent = CloneChar:FindFirstChild(v.Name).Handle
    alirot.Parent = CloneChar:FindFirstChild(v.Name).Handle
    while true do
     game:GetService("RunService").RenderStepped:wait()
     if HumanDied then break end
     coroutine.wrap(function()
      if alipos.Attachment1 == normaltop then
       p0.CFrame = p0.CFrame:lerp((((DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)) * p1[topacc].CFrame) * p0[topacc].CFrame:inverse()),1)
      else
       v.Handle.CFrame = v.Handle.CFrame:lerp(alipos.Attachment1.Parent.CFrame * CFrame.new(alipos.Attachment1.Position) * CFrame.Angles(math.rad(alipos.Attachment1.Rotation.X),math.rad(alipos.Attachment1.Rotation.Y),math.rad(alipos.Attachment1.Rotation.Z)),1)
      end
     end)()
    end
   else
    SCIFIMOVIELOL(v.Handle,CloneChar[v.Name].Handle,Vector3.new(0,0,0),Vector3.new(0,0,0))
   end
  end)()
    end
end

local a = DeadChar.Torso
local b = DeadChar.HumanoidRootPart
local c = DeadChar.Humanoid
a.Parent = game:FindFirstChildOfClass("Workspace")
c.Parent = game:FindFirstChildOfClass("Workspace")
local told = a:Clone()
local told1 = c:Clone()
b["RootJoint"].Part0 = told
b["RootJoint"].Part1 = DeadChar.Head
a.Name = "torso"
a.Neck:Destroy()
c.Name = "Mizt Hub Best"
told.Parent = DeadChar
told1.Parent = DeadChar
DeadChar.PrimaryPart = told
told1.Health = 0
b:Destroy()
a.Parent = DeadChar
c.Parent = DeadChar
told:Destroy()
told1:Destroy()
a.Name = "Torso"

if CloneChar.Head:FindFirstChildOfClass("Decal") then CloneChar.Head:FindFirstChildOfClass("Decal").Transparency = 1 end
if DeadChar:FindFirstChild("Animate") then DeadChar:FindFirstChild("Animate"):Destroy() end

local Collider
function UnCollide()
    if HumanDied then Collider:Disconnect(); return end
    --[[for _,Parts in next, CloneChar:GetChildren() do
        if Parts:IsA("BasePart") then
            Parts.CanCollide = false 
        end 
    end]]
    for _,Parts in next, DeadChar:GetChildren() do
        if Parts:IsA("BasePart") then
        Parts.CanCollide = false
        end 
    end 
end
Collider = game:GetService("RunService").Stepped:Connect(UnCollide)

local resetBindable = Instance.new("BindableEvent")
resetBindable.Event:connect(function()
    game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
 resetBindable:Destroy()
 HumanDied = true
    pcall(function()
  game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
  DeadChar.Head:Destroy()
  DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
  game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
  if DeadChar:FindFirstChildOfClass("Folder") then DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
 end)
end)
game:GetService("StarterGui"):SetCore("ResetButtonCallback", resetBindable)

coroutine.wrap(function()
    while true do
        game:GetService("RunService").RenderStepped:wait()
        if not CloneChar or not CloneChar:FindFirstChild("Head") or not CloneChar:FindFirstChildOfClass("Humanoid") or CloneChar:FindFirstChildOfClass("Humanoid").Health <= 0 and not DeadChar or not DeadChar:FindFirstChild("Head") or not DeadChar:FindFirstChildOfClass("Humanoid") or DeadChar:FindFirstChildOfClass("Humanoid").Health <= 0 then 
            HumanDied = true
            pcall(function()
    game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
    DeadChar.Head:Destroy()
    DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
    game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
    if DeadChar:FindFirstChildOfClass("Folder") then DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
   end)
            if resetBindable then
                game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
                resetBindable:Destroy()
            end
            break
        end  
    end
end)()


SCIFIMOVIELOL(DeadChar["Head"],CloneChar["Head"])
SCIFIMOVIELOL(DeadChar["Torso"],CloneChar["Torso"])
SCIFIMOVIELOL(DeadChar["Left Arm"],CloneChar["Left Arm"])
SCIFIMOVIELOL(DeadChar["Right Arm"],CloneChar["Right Arm"])
SCIFIMOVIELOL(DeadChar["Left Leg"],CloneChar["Left Leg"])
SCIFIMOVIELOL(DeadChar["Right Leg"],CloneChar["Right Leg"])

for _,v in pairs(DeadChar:GetChildren()) do
 if v:IsA("BasePart") and v.Name ~= "Head" then
  --[[local bv = Instance.new("BodyVelocity",v)
  bv.Velocity = Vector3.new(0,0,0)
  coroutine.wrap(function()
   while true do
    game:GetService("RunService").RenderStepped:wait()
    if HumanDied then break end
    v.CFrame = CloneChar[v.Name].CFrame
   end
  end)()]]
 elseif v:IsA("BasePart") and v.Name == "Head" then
  local bv = Instance.new("BodyVelocity",v)
  bv.Velocity = Vector3.new(0,0,0)
  coroutine.wrap(function()
   while true do
    game:GetService("RunService").RenderStepped:wait()
    if HumanDied then break end
    v.CFrame = DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)
   end
  end)()
 end
end

for _,BodyParts in next, CloneChar:GetDescendants() do
if BodyParts:IsA("BasePart") or BodyParts:IsA("Part") then
BodyParts.Transparency = 1 end end
game:GetService("RunService").RenderStepped:wait()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
game:FindFirstChildOfClass("Workspace"):FindFirstChildOfClass("Camera").CameraSubject = CloneChar.Humanoid

for _,v in next, DeadChar:GetChildren() do
 if v:IsA("Accessory") then
  if v.Handle:FindFirstChildOfClass("Weld") then v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
 end
end

if ANIMATIONHERE then ANIMATIONHERE.Parent = CloneChar end
--- DO NOT PUT NORMAL ANIMATION
local data = {}

local script = game:GetObjects("rbxassetid://5446036971")[1]

script.WingPiece.qPerfectionWeld:Destroy()

do
local NEVER_BREAK_JOINTS = false

local function CallOnChildren(Instance, FunctionToCall)
 FunctionToCall(Instance)

 for _, Child in next, Instance:GetChildren() do
  CallOnChildren(Child, FunctionToCall)
 end
end

local function GetBricks(StartInstance)
 local List = {}
 CallOnChildren(StartInstance, function(Item)
  if Item:IsA("BasePart") then
   List[#List+1] = Item;
  end
 end)

 return List
end

local function Modify(Instance, Values)
 assert(type(Values) == "table", "Values is not a table");

 for Index, Value in next, Values do
  if type(Index) == "number" then
   Value.Parent = Instance
  else
   Instance[Index] = Value
  end
 end
 return Instance
end

local function Make(ClassType, Properties)
 return Modify(Instance.new(ClassType), Properties)
end

local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}

local function HasWheelJoint(Part)
 for _, SurfaceName in pairs(Surfaces) do
  for _, HingSurfaceName in pairs(HingSurfaces) do
   if Part[SurfaceName].Name == HingSurfaceName then
    return true
   end
  end
 end
 
 return false
end

local function ShouldBreakJoints(Part)
 if NEVER_BREAK_JOINTS then
  return false
 end
 
 if HasWheelJoint(Part) then
  return false
 end
 
 local Connected = Part:GetConnectedParts()
 
 if #Connected == 1 then
  return false
 end
 
 for _, Item in pairs(Connected) do
  if HasWheelJoint(Item) then
   return false
  elseif not Item:IsDescendantOf(script.Parent) then
   return false
  end
 end
 
 return true
end

local function WeldTogether(Part0, Part1, JointType, WeldParent)

 JointType = JointType or "Weld"
 local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
 
 local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
 Modify(NewWeld, {
  Name = "qCFrameWeldThingy";
  Part0  = Part0;
  Part1  = Part1;
  C0     = CFrame.new();--Part0.CFrame:inverse();
  C1     = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  Parent = Part1;
 })

 if not RelativeValue then
  RelativeValue = Make("CFrameValue", {
   Parent     = Part1;
   Name       = "qRelativeCFrameWeldValue";
   Archivable = true;
   Value      = NewWeld.C1;
  })
 end

 return NewWeld
end

local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)

 for _, Part in pairs(Parts) do
  if ShouldBreakJoints(Part) then
   Part:BreakJoints()
  end
 end
 
 for _, Part in pairs(Parts) do
  if Part ~= MainPart then
   WeldTogether(MainPart, Part, JointType, MainPart)
  end
 end

 if not DoNotUnanchor then
  for _, Part in pairs(Parts) do
   Part.Anchored = false
  end
  MainPart.Anchored = false
 end
end

local function PerfectionWeld() 
 local Parts = GetBricks(script.WingPiece)
 WeldParts(Parts, script.WingPiece.Main, "Weld", false)
end
PerfectionWeld()
end

--// Shortcut Variables \\--
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
local C3 = {tRGB= function(c3) return c3.r*255,c3.g*255,c3.b*255 end,N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
local R3 = {N=Region3.new}
local De = S.Debris
local WS = workspace
local Lght = S.Lighting
local RepS = S.ReplicatedStorage
local IN = Instance.new
local Plrs = S.Players
local UIS = S.UserInputService

local Player = game.Players.LocalPlayer
data.User = Player
data.Local = Player
local Char = Player.Character
local Mouse = Player:GetMouse()
local Hum = Char:FindFirstChildOfClass'Humanoid'
local Torso = Char.Torso
local RArm = Char["Right Arm"]
local LArm = Char["Left Arm"]
local RLeg = Char["Right Leg"]
local LLeg = Char["Left Leg"] 
local Root = Char:FindFirstChild'HumanoidRootPart'
local Head = Char.Head
local Sine = 0;
local Change = 1
local Attack=false
local NeutralAnims=true
local timePos=30;
local walking=true;
local legAnims=true;
local movement = 8
local footsound=0;
local WalkSpeed=16;
local Combo=0;
local Mode='Achromatic'
local vaporwaveMode=false;
local WingAnim='NebG1'
local music;
local hue = 0;
local WingSine=0;
local MusicMode=1;
local visSong = 1702473314;
local EffectFolder = script:WaitForChild'FXFolder'
local PrimaryColor = Color3.new(1,1,1)
local ClickTimer = 0;
local ClickAttack = 1;
local camera = workspace.CurrentCamera
local LastSphere = time();
local Frame_Speed = 60
local VaporwaveSongs={
 2231500330;
 654094806;
 743334292;
 334283059;
 2082142910;
}


local WingPiece = script:WaitForChild'WingPiece'
WingPiece.Parent=nil
local WingAnims={}
local Playlist={
 Default=1702473314;
 ScrapBoy=1215691669;
 Defeated=860594509;
 Annihilate=2116461106;
 DashAndDodge=2699922745;
 ZenWavy=2231500330;
 Beachwalk=334283059;
 Pyrowalk=2082142910;
 Vapor90s=654094806;
}

--[[
Achromatic - The Big Black - Lost Soul
Iniquitous
Mythical - Legendary
Ruined - Th1rt3en
Atramentous - Vanta Black
Subzero - Frostbite
Troubadour
Infectious - Radioactive
Love - Lust
]]

--2699922745
local modeInfo={
 {Name="Achromatic",Walkspeed=16,moveVal=8,Font=Enum.Font.Arcade,StrokeColor=C3.N(.5,.5,.5);Music=2533527428,LeftWing={0,BrickColor.new'White'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'White'.Color,Enum.Material.Neon};WingAnim='NebG1'};
 {Name="Iniquitous",Walkspeed=16,moveVal=8,Font=Enum.Font.Garamond,StrokeColor=C3.N(.2,.2,.2);Music=2656505560,LeftWing={0,BrickColor.new'Black'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'Black'.Color,Enum.Material.Neon};WingAnim='NebG1'};
 {Name="Mythical",Walkspeed=16,moveVal=8,Font=Enum.Font.Fantasy,StrokeColor=C3.N(.6,.0,.9);Music=556122490,LeftWing={0,BrickColor.new'Alder'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'Alder'.Color,Enum.Material.Neon};WingAnim='StarG'};
 {Name="Ruined",Walkspeed=16,moveVal=8,Font=Enum.Font.Arcade,StrokeColor=C3.N(0,0,0);Music=2297862957,LeftWing={0,Color3.fromRGB(190,104,98),Enum.Material.Neon};RightWing={0,BrickColor.new'Black'.Color,Enum.Material.Neon};WingAnim='Aprins'};
 {Name="Atramentous",Walkspeed=14,moveVal=8,Font=Enum.Font.Garamond,StrokeColor=C3.N(.1,.1,.1);Music=924339757,LeftWing={0,BrickColor.new'Dark stone grey'.Color,Enum.Material.Glass};RightWing={0,BrickColor.new'Really black'.Color,Enum.Material.Glass};WingAnim={'NebG3',2}};
 {Name="Subzero",Walkspeed=10,moveVal=6,Font=Enum.Font.Gotham,StrokeColor=C3.RGB(0,190,190);Music=144121562,LeftWing={0,BrickColor.new'Pastel light blue'.Color,Enum.Material.Glass};RightWing={0,BrickColor.new'Pastel light blue'.Color,Enum.Material.Glass};WingAnim='NebG1'}; 
 {Name="Troubadour",Walkspeed=16,moveVal=8,Font=Enum.Font.Arcade,StrokeColor=C3.N(.5,.5,.5);Music=visSong,LeftWing={0,BrickColor.new'White'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'White'.Color,Enum.Material.Neon};WingAnim='StarG'};
 {Name="Infectious",Walkspeed=16,moveVal=8,Font=Enum.Font.Gotham,StrokeColor=C3.RGB(98,37,209);Music=603291385,LeftWing={0,BrickColor.new'Dark indigo'.Color,Enum.Material.DiamondPlate};RightWing={0,BrickColor.new'Dark indigo'.Color,Enum.Material.DiamondPlate};WingAnim='NebG1'}; 
 {Name="Love",Walkspeed=16,moveVal=8,Font=Enum.Font.Arcade,StrokeColor=C3.RGB(255,152,220);Music=1030177093,LeftWing={0,BrickColor.new'Pink'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'Pink'.Color,Enum.Material.Neon};WingAnim='StarG'};
 --MAJORS--
 {Name="The Big Black",Walkspeed=64,moveVal=20,Font=Enum.Font.Arcade,StrokeColor=C3.N(.2,.2,.2);Music=183142252,LeftWing={0,BrickColor.new'Really black'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'Dark stone grey'.Color,Enum.Material.Glass};WingAnim={'NebG3',10}};
 {Name="Legendary",Walkspeed=64,moveVal=20,Font=Enum.Font.Gotham,StrokeColor=C3.N(.4,.4,0);Music=468018712,LeftWing={0,BrickColor.new'Gold'.Color,Enum.Material.Glass};RightWing={0,BrickColor.new'Gold'.Color,Enum.Material.Glass};WingAnim={'NebG2',10}};
 {Name="Lust",Walkspeed=16,moveVal=8,Font=Enum.Font.Fantasy,StrokeColor=C3.N(1,0,1);Music=391089144,LeftWing={0,BrickColor.new'Hot pink'.Color,Enum.Material.Neon};RightWing={0,BrickColor.new'Hot pink'.Color,Enum.Material.Neon};WingAnim='LustFrench'};

}

NewInstance = function(instance,parent,properties)
 local inst = Instance.new(instance)
 inst.Parent = parent
 if(properties)then
  for i,v in next, properties do
   pcall(function() inst[i] = v end)
  end
 end
 return inst;
end

function newMotor(P0,P1,C0,C1)
 return NewInstance('Motor',P0,{Part0=P0,Part1=P1,C0=C0,C1=C1})
end

local welds = {}
local WeldDefaults = {}

table.insert(welds,newMotor(Torso,Head,CF.N(0,1.5,0),CF.N()))
table.insert(welds,newMotor(Root,Torso,CF.N(),CF.N()))
table.insert(welds,newMotor(Torso,RLeg,CF.N(.5,-1,0),CF.N(0,1,0)))
table.insert(welds,newMotor(Torso,RArm,CF.N(1.5,.5,0),CF.N(0,.5,0)))
table.insert(welds,newMotor(Torso,LLeg,CF.N(-.5,-1,0),CF.N(0,1,0)))
table.insert(welds,newMotor(Torso,LArm,CF.N(-1.5,.5,0),CF.N(0,.5,0)))

WeldDefaults={}
for i = 1,#welds do
 local v=welds[i]
 WeldDefaults[i]=v.C0
end

local NK,RJ,RH,RS,LH,LS=unpack(welds)

local NKC0,RJC0,RHC0,RSC0,LHC0,LSC0=unpack(WeldDefaults)

function makeMusic(id,pit,timePos)
 local sound = Torso:FindFirstChild(Player.Name.."song") or Char:FindFirstChild(Player.Name.."song")
 local parent = (MusicMode==2 and Char or Torso)
 if(not sound)then 
  sound = NewInstance("Sound",parent,{Name=Player.Name.."song",Volume=(MusicMode==3 and 0 or 5),Pitch=(pit or 1),Looped=true})
  NewInstance("EqualizerSoundEffect",sound,{HighGain=0,MidGain=2,LowGain=10})
 end
 if(id=='stop')then
  if(sound)then
   sound:Stop()
  end
 else
  local timePos = typeof(timePos)=='number' and timePos or sound.TimePosition
  sound.Volume = (MusicMode==3 and 0 or 5)
  sound.Name = Player.Name.."song"
  sound.Looped=true
  sound.SoundId = "rbxassetid://"..id
  sound.Pitch=(pit or 1)
  sound:Play()
  sound.TimePosition = timePos
 end
 return sound;
end

function playMusic(id,pitch,timePos)
 return makeMusic(id,pitch,timePos)
end

for _,v in next, Hum:GetPlayingAnimationTracks() do
 v:Stop(0);
end

-- SCRIPT STUFF --

function swait(num)
 if num == 0 or num == nil then
  game:GetService("RunService").RenderStepped:wait()
 else
  for i = 0, num do
   game:GetService("RunService").RenderStepped:wait()
  end
 end
end

--// Effects \\--

function Tween(obj,props,time,easing,direction,repeats,backwards)
 local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
 local tween = S.TweenService:Create(obj, info, props)
 
 tween:Play()
end

function StartShake(Settings)
 return true
end

function Camshake(shakedata)
 StartShake(shakedata)
end

local Effects=NewInstance("Folder",Char)
Effects.Name=Player.Name..'Effects'


function ShowDamage(Pos, Text, Time, Color)
 local Pos = Pos or V3.N(0, 0, 0)
 local Text = tostring(Text or "")
 local Time = Time or 2
 local Color = Color or C3.N(1, 0, 1)
 local EffectPart = Part(Effects,Color,Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),CFrame.new(Pos),true,false)
 EffectPart.Transparency=1
 local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  Size = UDim2.new(3,0,3,0),
  Adornee = EffectPart,
 })
 
 local TextLabel = NewInstance("TextLabel",BillboardGui,{
  BackgroundTransparency = 1,
  Size = UDim2.new(1, 0, 1, 0),
  Text = Text,
  TextColor3 = Color,
  TextScaled = true,
  Font = Enum.Font.ArialBold, 
 })
 S.Debris:AddItem(EffectPart, Time+.5)
 delay(0, function()
  local rot=math.random(-10,10)/15
  local raise=.2
  local Frames = Time/Frame_Speed
  for i=0,1.1,.02 do
   swait()
   TextLabel.Rotation=TextLabel.Rotation+rot
   raise=raise-.008
   EffectPart.Position = EffectPart.Position + Vector3.new(0, raise, 0)
   TextLabel.TextTransparency=i
   TextLabel.TextStrokeTransparency=i
  end
  if EffectPart and EffectPart.Parent then
   EffectPart:Destroy()
  end
 end)
end


local baseSound = IN("Sound")

function Soond(parent,id,pitch,volume,looped,effect,autoPlay)
 local Sound = baseSound:Clone()
 Sound.SoundId = "rbxassetid://".. tostring(id or 0)
 Sound.Pitch = pitch or 1
 Sound.Volume = volume or 1
 Sound.Looped = looped or false
 if(autoPlay)then
  coroutine.wrap(function()
   repeat wait() until Sound.IsLoaded
   Sound.Playing = autoPlay or false
  end)()
 end
 if(not looped and effect)then
  Sound.Stopped:connect(function()
   Sound.Volume = 0
   Sound:destroy()
  end)
 elseif(effect)then
  warn("Sound can't be looped and a sound effect!")
 end
 Sound.Parent =parent or Torso
 return Sound
end
 
function SoondPart(id,pitch,volume,looped,effect,autoPlay,cf)
 local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
 local Sound = IN("Sound")
 Sound.SoundId = "rbxassetid://".. tostring(id or 0)
 Sound.Pitch = pitch or 1
 Sound.Volume = volume or 1
 Sound.Looped = looped or false
 if(autoPlay)then
  coroutine.wrap(function()
   repeat wait() until Sound.IsLoaded
   Sound.Playing = autoPlay or false
  end)()
 end
 if(not looped and effect)then
  Sound.Stopped:connect(function()
   Sound.Volume = 0
   soundPart:destroy()
  end)
 elseif(effect)then
  warn("Sound can't be looped and a sound effect!")
 end
 Sound.Parent = soundPart
 return Sound,soundPart
end

function SoundPart(...)
 return SoondPart(...)
end

function Sound(...)
 return Soond(...)
end
 
function Part(parent,color,material,size,cframe,anchored,cancollide)
 local part = IN("Part")
 part.Parent = parent or Char
 part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
 part.Material = material or Enum.Material.SmoothPlastic
 part.TopSurface,part.BottomSurface=10,10
 part.Size = size or V3.N(1,1,1)
 part.CFrame = cframe or CF.N(0,0,0)
 part.CanCollide = cancollide or false
 part.Anchored = anchored or false
 return part
end

function Weld(part0,part1,c0,c1)
 local weld = IN("Weld")
 weld.Parent = part0
 weld.Part0 = part0
 weld.Part1 = part1
 weld.C0 = c0 or CF.N()
 weld.C1 = c1 or CF.N()
 return weld
end

function Mesh(parent,meshtype,meshid,textid,scale,offset)
 local part = IN("SpecialMesh")
 part.MeshId = meshid or ""
 part.TextureId = textid or ""
 part.Scale = scale or V3.N(1,1,1)
 part.Offset = offset or V3.N(0,0,0)
 part.MeshType = meshtype or Enum.MeshType.Sphere
 part.Parent = parent
 return part
end

function GotEffect(data)
 -- just for easy reference
 local color = data.Color or Color3.new(.7,.7,.7);
 local endcolor = data.EndColor or nil;
 local mat = data.Material or Enum.Material.SmoothPlastic;
 local cframe = data.CFrame or CFrame.new();
 local endpos = data.EndPos or nil;
 local meshdata = data.Mesh or {}
 local sounddata = data.Sound or {}
 local size = data.Size or Vector3.new(1,1,1)
 local endsize = data.EndSize or Vector3.new(6,6,6)
 local rotinc = data.RotInc or {0,0,0} -- ONLY FOR LEGACY SYSTEM
 local transparency = data.Transparency or NumberRange.new(0,1)
 local acceleration = data.Acceleration or nil; -- ONLY FOR LEGACY SYSTEM
 local endrot = data.EndRotation or {0,0,0} -- ONLY FOR EXPERIMENTAL SYSTEM
 local style = data.Style or false; -- ONLY FOR EXPERIMENTAL SYSTEM
 local lifetime = data.Lifetime or 1;
 local system = data.FXSystem;
 local setpart = typeof(data.Part)=='string' and EffectFolder:FindFirstChild(tostring(data.Part)):Clone() or typeof(data.Part)=='Instance' and data.Part or nil
 
 local S,PM;
 
 local P = setpart or Part(Effects,color,mat,Vector3.new(1,1,1),cframe,true,false)
 
 if(not P:IsA'MeshPart' and not P:IsA'UnionOperation')then
  if(meshdata == "Blast")then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://20329976','',size,Vector3.new(0,0,-size.X/8))
  elseif(meshdata == 'Ring')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://559831844','',size,Vector3.new(0,0,0))
  elseif(meshdata == 'Slash1')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://662586858','',Vector3.new(size.X/10,.001,size.Z/10),Vector3.new(0,0,0))
  elseif(meshdata == 'Slash2')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://448386996','',Vector3.new(size.X/1000,size.Y/100,size.Z/100),Vector3.new(0,0,0))
  elseif(meshdata == 'Tornado1')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://443529437','',size/10,Vector3.new(0,0,0))
  elseif(meshdata == 'Tornado2')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://168892432','',size/4,Vector3.new(0,0,0))
  elseif(meshdata == 'Skull')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://4770583','',size*2,Vector3.new(0,0,0))
  elseif(meshdata == 'Crystal')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://9756362','',size,Vector3.new(0,0,0))
  elseif(meshdata == 'Cloud')then
   PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://1095708','',size,Vector3.new(0,0,0))
  elseif(typeof(meshdata) == 'table')then
   local Type = meshdata.Type or Enum.MeshType.Brick
   local ID = meshdata.ID or '';
   local Tex = meshdata.Texture or '';
   local Offset = meshdata.Offset or Vector3.new(0,0,0)
   PM = Mesh(P,Type,ID,Tex,size,Offset)
  else
   PM = Mesh(P,Enum.MeshType.Brick,'','',size)
  end
 end
 local startTrans = typeof(transparency) == 'number' and transparency or typeof(transparency) == 'NumberRange' and transparency.Min or typeof(transparency) == 'table' and transparency[1] or 0
 local endTrans = typeof(transparency) == 'NumberRange' and transparency.Max or typeof(transparency) == 'table' and transparency[2] or 1
 
 P.Material = mat
 P.CFrame = cframe
 P.Color = (typeof(color)=='BrickColor' and color.Color or color)
 P.Anchored = true
 P.CanCollide = false
 P.Transparency = startTrans
 P.Parent = Effects
 local random = Random.new();
 game:service'Debris':AddItem(P,lifetime+3)
 
 
 -- actual effect stuff
 local mult = 1;
 if(PM)then
  if(PM.MeshId == 'rbxassetid://20329976')then
   PM.Offset = Vector3.new(0,0,-PM.Scale.Z/8)
  elseif(PM.MeshId == 'rbxassetid://4770583')then
   mult = 2
  elseif(PM.MeshId == 'rbxassetid://168892432')then
   mult = .25
  elseif(PM.MeshId == 'rbxassetid://443529437')then
   mult = .1
  elseif(PM.MeshId == 'rbxassetid://443529437')then
   mult = .1
  end
 end 
 coroutine.wrap(function()
  if(system == 'Legacy' or system == 1 or system == nil)then
   local frames = (typeof(lifetime) == 'NumberRange' and random:NextNumber(lifetime.Min,lifetime.Max) or typeof(lifetime) == 'number' and lifetime or 1)*Frame_Speed
   for i = 0, frames do
    local div = (i/frames)
    P.Transparency=(startTrans+(endTrans-startTrans)*div)
    
    if(PM)then PM.Scale = size:lerp(endsize*mult,div) else P.Size = size:lerp(endsize*mult,div) end
    
    local RotCF=CFrame.Angles(0,0,0)
    
    if(rotinc == 'random')then
     RotCF=CFrame.Angles(math.rad(random:NextNumber(-180,180)),math.rad(random:NextNumber(-180,180)),math.rad(random:NextNumber(-180,180)))
    elseif(typeof(rotinc) == 'table')then
     RotCF=CFrame.Angles(unpack(rotinc))
    end
    
    if(PM and PM.MeshId == 'rbxassetid://20329976')then
     PM.Offset = Vector3.new(0,0,-PM.Scale.Z/8)
    end
    
    if(endpos and typeof(endpos) == 'CFrame')then
     P.CFrame=cframe:lerp(endpos,div)*RotCF
    elseif(acceleration and typeof(acceleration) == 'table' and acceleration.Force)then
     local force = acceleration.Force;
     if(typeof(force)=='CFrame')then
      force=force.p;
     end
     if(typeof(force)=='Vector3')then
      if(acceleration.LookAt)then
       P.CFrame=(CFrame.new(P.Position,force)+force)*RotCF
      else
       P.CFrame=(P.CFrame+force)*RotCF
      end
     end
    else
     P.CFrame=P.CFrame*RotCF
    end
    
    if(endcolor and typeof(endcolor) == 'Color3')then
     P.Color = color:lerp(endcolor,div)
    end
    swait()
   end
   P:destroy()
  elseif(system == 'Experimental' or system == 2)then
   local info = TweenInfo.new(lifetime,style,Enum.EasingDirection.InOut,0,false,0)
   local info2 = TweenInfo.new(lifetime,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,0,false,0)
   if(style == Enum.EasingStyle.Elastic)then
    info = TweenInfo.new(lifetime*2,style,Enum.EasingDirection.Out,0,false,0)
   elseif(style == Enum.EasingStyle.Bounce)then
    info = TweenInfo.new(lifetime,style,Enum.EasingDirection.Out,0,false,0)
   end
   local tweenPart = game:service'TweenService':Create(P,info2,{
    CFrame=(typeof(endpos) == 'CFrame' and endpos or P.CFrame)*CFrame.Angles(unpack(endrot)),
    Color=typeof(endcolor) == 'Color3' and endcolor or color,
    Transparency=endTrans,
   })
   local off = Vector3.new(0,0,0)
   if(PM.MeshId == 'rbxassetid://20329976')then off=Vector3.new(0,0,(endsize*mult).Z/8) end
   
   local tweenMesh = game:service'TweenService':Create(PM,info,{
    Scale=endsize*mult,
    Offset=off,
   })
   tweenPart:Play()
   tweenMesh:Play()
  end
 end)()
end

function Effect(edata)
 GotEffect(edata)
end

function Trail(data)
 coroutine.wrap(function()
  data.Frames = typeof(data.Frames)=='number' and data.Frames or 60
  data.CFrame = typeof(data.CFrame)=='CFrame' and data.CFrame or Root.CFrame
  local ep = typeof(data.EndPos)=='CFrame' and data.EndPos or data.CFrame*CFrame.new(0,5,0);
  data.EndPos=nil
  local trailPart = Part(Effects,BrickColor.new'White',Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),data.CFrame,true,false)
  trailPart.Transparency=1
  local start = data.CFrame
  for i = 1, data.Frames do
   trailPart.CFrame = start:lerp(ep,i/data.Frames)
   data.CFrame = trailPart.CFrame
   Effect(data)
   swait()
  end 
 end)()
end

function ClientTrail(data)
 coroutine.wrap(function()
  data.Frames = typeof(data.Frames)=='number' and data.Frames or 60
  data.CFrame = typeof(data.CFrame)=='CFrame' and data.CFrame or Root.CFrame
  local ep = typeof(data.EndPos)=='CFrame' and data.EndPos or data.CFrame*CFrame.new(0,5,0);
  data.EndPos=nil
  local trailPart = Part(Effects,BrickColor.new'White',Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),data.CFrame,true,false)
  trailPart.Transparency=1
  local start = data.CFrame
  for i = 1, data.Frames do
   trailPart.CFrame = start:lerp(ep,i/data.Frames)
   data.CFrame = trailPart.CFrame
   GotEffect(data)
   swait()
  end 
 end)()
end


if(Char:FindFirstChild('NGRWings'..Player.Name))then
 Char['NGRWings'..Player.Name]:destroy()
end

for _,v in next, Char:children() do
 if(v.Name:lower():find'wings')then 
  v:destroy()
 end
end

local wingModel = Instance.new("Model",Char)
wingModel.Name="NGRWings"..Player.Name
local rightWing = NewInstance("Model",wingModel,{Name='Right'})
local leftWing = NewInstance("Model",wingModel,{Name='Left'})

local MPASword = {}
for _,v in pairs(Char:GetChildren()) do
 if v:IsA("Accessory") and v.Name:find("MeshPartAccessory") and v.Handle.Size == Vector3.new(4,4,1) then
  table.insert(MPASword,v)
 end
end

local LWP1 = WingPiece:Clone();
if MPASword[1] then
 for _,v in pairs(LWP1:GetChildren()) do
  if v:IsA("BasePart") then
   v.Transparency = 1
  end
 end
 local athp = Instance.new("Attachment",LWP1.PrimaryPart)
 local atho = Instance.new("Attachment",LWP1.PrimaryPart)

 local HatChoice = MPASword[1]
 print(MPASword[1].Handle.Name)
 HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
 HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho

 athp.Position = Vector3.new(0,-2,0)
 atho.Rotation = Vector3.new(0,0,45)
 table.remove(MPASword,1)
end
LWP1.Parent = leftWing
local LWP2 = WingPiece:Clone();
if MPASword[1] then
 for _,v in pairs(LWP2:GetChildren()) do
  if v:IsA("BasePart") then
   v.Transparency = 1
  end
 end
 local athp = Instance.new("Attachment",LWP2.PrimaryPart)
 local atho = Instance.new("Attachment",LWP2.PrimaryPart)

 local HatChoice = MPASword[1]
 HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
 HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho

 athp.Position = Vector3.new(0,-2,0)
 atho.Rotation = Vector3.new(0,0,45)
 table.remove(MPASword,1)
end
LWP2.Parent = leftWing
local LWP3 = WingPiece:Clone();
if Char:FindFirstChild("BladeMasterAccessory") then
 for _,v in pairs(LWP3:GetChildren()) do
  if v:IsA("BasePart") then
   v.Transparency = 1
  end
 end
 local athp = Instance.new("Attachment",LWP3.PrimaryPart)
 local atho = Instance.new("Attachment",LWP3.PrimaryPart)

 local HatChoice = Char:FindFirstChild("BladeMasterAccessory")
 HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
 HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho

 athp.Position = Vector3.new(0,-1.75,0)
 atho.Rotation = Vector3.new(0,0,48)
end
LWP3.Parent = leftWing
local RWP1 = WingPiece:Clone();
if MPASword[1] then
 for _,v in pairs(RWP1:GetChildren()) do
  if v:IsA("BasePart") then
   v.Transparency = 1
  end
 end
 local athp = Instance.new("Attachment",RWP1.PrimaryPart)
 local atho = Instance.new("Attachment",RWP1.PrimaryPart)

 local HatChoice = MPASword[1]
 HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
 HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho

 athp.Position = Vector3.new(0,-2,0)
 atho.Rotation = Vector3.new(0,0,45)
 table.remove(MPASword,1)
end
RWP1.Parent = rightWing
local RWP2 = WingPiece:Clone();
if MPASword[1] then
 for _,v in pairs(RWP2:GetChildren()) do
  if v:IsA("BasePart") then
   v.Transparency = 1
  end
 end
 local athp = Instance.new("Attachment",RWP2.PrimaryPart)
 local atho = Instance.new("Attachment",RWP2.PrimaryPart)

 local HatChoice = MPASword[1]
 HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
 HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho

 athp.Position = Vector3.new(0,-2,0)
 atho.Rotation = Vector3.new(0,0,45)
 table.remove(MPASword,1)
end
RWP2.Parent = rightWing
local RWP3 = WingPiece:Clone();
if Char:FindFirstChild("ShadowBladeMasterAccessory") then
 for _,v in pairs(RWP3:GetChildren()) do
  if v:IsA("BasePart") then
   v.Transparency = 1
  end
 end
 local athp = Instance.new("Attachment",RWP3.PrimaryPart)
 local atho = Instance.new("Attachment",RWP3.PrimaryPart)

 local HatChoice = Char:FindFirstChild("ShadowBladeMasterAccessory")
 HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
 HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho

 athp.Position = Vector3.new(0,-1.75,0)
 atho.Rotation = Vector3.new(0,0,48)
end
RWP3.Parent = rightWing
local LWP1W=Weld(LWP1.PrimaryPart,Torso,CF.N(2,-2,-1)*CF.A(0,0,0))
local LWP2W=Weld(LWP2.PrimaryPart,Torso,CF.N(4.25,-1,-1)*CF.A(0,0,M.R(15)))
local LWP3W=Weld(LWP3.PrimaryPart,Torso,CF.N(6.5,.5,-1)*CF.A(0,0,M.R(30)))
local RWP1W=Weld(RWP1.PrimaryPart,Torso,CF.N(-2,-2,-1)*CF.A(0,0,0))
local RWP2W=Weld(RWP2.PrimaryPart,Torso,CF.N(-4.25,-1,-1)*CF.A(0,0,M.R(-15)))
local RWP3W=Weld(RWP3.PrimaryPart,Torso,CF.N(-6.5,.5,-1)*CF.A(0,0,M.R(-30)))

local bbg=Head:FindFirstChild'Nametag' or NewInstance("BillboardGui",Head,{
 Adornee=Head;
 Name='Nametag';
 Size=UDim2.new(4,0,1.2,0);
 StudsOffset=V3.N(-8,5.3,0);
})
local text=bbg:FindFirstChild'TextLabel' or NewInstance("TextLabel",bbg,{
 Size=UDim2.new(5,0,3.5,0);
 TextScaled=true;
 BackgroundTransparency=1;
 TextStrokeTransparency=0;
 Font=Enum.Font.Arcade;
 TextColor3=C3.N(1,1,1);
 Text='Achromatic'
})

function getMode(modeName)
 for i,v in next, modeInfo do
  if(v.Name==modeName)then
   return v
  end
 end
 return modeInfo[1]
end

function IsVaporwave(song)
 for i = 1,#VaporwaveSongs do
  if(VaporwaveSongs[i]==song)then
   return true
  end
 end
 return false
end

local blush = NewInstance('Decal',Head,{Transparency=1,Texture='rbxassetid://0',Color3=(Player.UserId==5719877 and C3.N(.45,0,1) or C3.N(1,0,0))})

function changeMudo(modeName)
 local info = getMode(modeName)
 Mode=info.Name
 WalkSpeed=info.Walkspeed
 movement=info.moveVal
 music=makeMusic(info.Music or 0,info.Pitch or 1,info.TimePos or music and music.TimePosition or 0)
 WingAnim=info.WingAnim or 'NebG1'
 text.Text = info.Name
 text.TextColor3 = info.LeftWing[2]
 text.TextStrokeColor3 = info.StrokeColor
 text.Font=info.Font;
 if(Mode=='Love' or Mode=='Lust')then
  blush.Transparency=0
  blush.Texture='rbxassetid://2664127437'
 else
  blush.Transparency=1
  blush.Texture='rbxassetid://0'
 end
 for _,v in next,leftWing:GetDescendants() do
  if(v:IsA'BasePart' and v.Name~='Main')then
   --v.Transparency=info.LeftWing[1]
   v.Color=info.LeftWing[2]
   v.Material=info.LeftWing[3]
  elseif(v:IsA'Trail')then
   --v.Transparency=NumberSequence.new(info.LeftWing[1],1)
   v.Color=ColorSequence.new(info.LeftWing[2]) 
  end
 end
 
 for _,v in next,rightWing:GetDescendants() do
  if(v:IsA'BasePart' and v.Name~='Main')then
   --v.Transparency=info.RightWing[1]
   v.Color=info.RightWing[2]
   v.Material=info.RightWing[3]
  elseif(v:IsA'Trail')then
   --v.Transparency=NumberSequence.new(info.RightWing[1],1)
   v.Color=ColorSequence.new(info.RightWing[2]) 
  end
 end
 
 PrimaryColor = info.PrimaryColor or info.LeftWing[2]
end

function changeMode(modeName)
 changeMudo(modeName)
end 

function syncStuff(data)
 local neut,legwelds,c0s,c1s,sine,mov,walk,inc,musicmode,tpos,pit,wingsin,visSett,mode,newhue=unpack(data)
 local head0,torso0,rleg0,rarm0,lleg0,larm0=unpack(c0s)
 local head1,torso1,rleg1,rarm1,lleg1,larm1=unpack(c1s)
 legAnims=legwelds
 NeutralAnims=neut
 if(not neut)then
  NK.C0=head0
  RJ.C0=torso0
  RH.C0=rleg0
  RS.C0=rarm0
  LH.C0=lleg0
  LS.C0=larm0
  
  NK.C1=head1
  RJ.C1=torso1
  RH.C1=rleg1
  RS.C1=rarm1
  LH.C1=lleg1
  LS.C1=larm1
 end
 if(Mode~=mode)then
  changeMudo(mode)
 end
 movement=mov
 walking=walk
 Change=inc
 print(MusicMode,musicmode)
 if(musicmode~=MusicMode and music)then
  MusicMode=musicmode
  if(MusicMode==1)then
   music:Pause()
   music.Volume=5
   music.Parent=Torso
   music:Resume()
  elseif(MusicMode==2)then
   music:Pause()
   music.Volume=5
   music.Parent=Char
   music:Resume()
  elseif(MusicMode==3)then
   music.Volume = 0
  end
 end
 if(Sine-sine>.8 or Sine-sine<-.8)then
  Sine=sine
 end
 if(hue-newhue>.8 or hue-newhue<-.8)then
  hue=newhue
 end
 if(WingSine-wingsin>.8 or WingSine-wingsin<-.8)then
  WingSine=wingsin
 end
 if(music and (music.TimePosition-tpos>.8 or music.TimePosition-tpos<-.8))then
  music.TimePosition=tpos
 end
 if(music and pit)then
  music.Pitch = pit
 end
 if(Mode=='Troubadour' and music.SoundId~='rbxassetid://'..visSett.Music)then
  music.SoundId='rbxassetid://'..visSett.Music
 end
 getMode('Troubadour').Music = visSett.Music
 getMode('Troubadour').Pitch = visSett.Pitch
end


local footstepSounds = {
 [Enum.Material.Grass]=510933218;
 [Enum.Material.Metal]=1263161138;
 [Enum.Material.CorrodedMetal]=1263161138;
 [Enum.Material.DiamondPlate]=1263161138;
 [Enum.Material.Wood]=2452053757;
 [Enum.Material.WoodPlanks]=2452053757;
 [Enum.Material.Sand]=134456884;
 [Enum.Material.Snow]=2452051182;
}


function Vaporwaveify(s)
 local function wide(a)
  if a<'!' or a>'~' then return a end
  if a==' ' then return '  ' end 
  a = a:byte()+160
  if a3)then MusicMode=1 end
  if(MusicMode==1)then
   music:Pause()
   music.Volume=5
   music.Parent=Torso
   music:Resume()
  elseif(MusicMode==2)then
   music:Pause()
   music.Volume=5
   music.Parent=Char
   music:Resume()
  elseif(MusicMode==3)then
   music.Volume = 0
  end
 elseif(io.KeyCode==Enum.KeyCode.B)then
  --TAUNTS
  if(vaporwaveMode and Mode=='Troubadour')then
   VaporTaunt()
  end
 end
 if(vaporwaveMode)then return end
 --ATTACKS
 if(io.UserInputType==Enum.UserInputType.MouseButton1)then
  ClickCombo()
 end
end)

WingAnims.StarG=function()
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(2,-2,-1)*CF.A(M.R(5+10*M.C(WingSine/32)),0,M.R(0+5*M.C(WingSine/32))),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(4.25,-1,-1)*CF.A(M.R(10+15*M.C(WingSine/32)),0,M.R(15+7.5*M.C(WingSine/32))),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(6.5,.5,-1)*CF.A(M.R(15+20*M.C(WingSine/32)),0,M.R(30+9*M.C(WingSine/32))),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(-2,-2,-1)*CF.A(M.R(5+10*M.C(WingSine/32)),0,M.R(0-5*M.C(WingSine/32))),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(-4.25,-1,-1+.05*M.S(WingSine/35))*CF.A(M.R(10+15*M.C(WingSine/32)),0,M.R(-15-7.5*M.C(WingSine/32))),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(-6.5,.5,-1)*CF.A(M.R(15+20*M.C(WingSine/32)),0,M.R(-30-9*M.C(WingSine/32))),.2)
end

WingAnims.Cytus=function()
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(.15*M.C(WingSine/32),1.5+.35*M.S(WingSine/32),-1)*CF.A(0,0,M.R(60+5*M.C(WingSine/32))),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(.1*M.C(WingSine/32),1.5+.25*M.C(WingSine/32),-1)*CF.A(0,0,M.R(90+2.5*M.C(WingSine/32))),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(.25*M.C(WingSine/32),1.5-.05*M.S(WingSine/32),-1)*CF.A(0,0,M.R(120-5*M.C(WingSine/32))),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(-.15*M.C(WingSine/32),1.5-.15*M.C(WingSine/32),-1)*CF.A(0,0,M.R(-60-5*M.C(WingSine/32))),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(-.1*M.C(WingSine/32),1.5+.3*M.S(WingSine/32),-1)*CF.A(0,0,M.R(-90-2.5*M.C(WingSine/32))),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(-.25*M.C(WingSine/32),1.5+.15*M.S(WingSine/32),-1)*CF.A(0,0,M.R(-120+5*M.C(WingSine/32))),.2)
end

WingAnims.Aprins=function()
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(60+5000*M.C(WingSine/400))),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(90+5000*M.C(WingSine/400))),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(120+5000*M.C(WingSine/400))),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(-60+5000*M.C(WingSine/400))),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(-90+5000*M.C(WingSine/400))),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(-120+5000*M.C(WingSine/400))),.2)
end

WingAnims.NebG1=function()
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(.15,1.5,-1)*CF.A(M.R(5+10*M.C(WingSine/32)),0,M.R(60)),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(.1,1.5,-1)*CF.A(M.R(10+15*M.C(WingSine/32)),0,M.R(90)),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(.25,1.5,-1)*CF.A(M.R(15+20*M.C(WingSine/32)),0,M.R(120)),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(-.15,1.5,-1)*CF.A(M.R(5+10*M.C(WingSine/32)),0,M.R(-60)),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(-.1,1.5,-1)*CF.A(M.R(10+15*M.C(WingSine/32)),0,M.R(-90)),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(-.25,1.5,-1)*CF.A(M.R(15+20*M.C(WingSine/32)),0,M.R(-120)),.2)
end

WingAnims.NebG2=function(div)
 div=div or 25
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(0+2000*M.R(WingSine/div))),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(120+2000*M.R(WingSine/div))),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(-120+2000*M.R(WingSine/div))),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(0,4.5,-1)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(0-2000*M.R(WingSine/div))),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(0,4.5,-1)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(120-2000*M.R(WingSine/div))),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(0,4.5,-1)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(-120-2000*M.R(WingSine/div))),.2)
end

WingAnims.NebG3=function(mult)
 mult=mult or 1
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(0+WingSine*mult)),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(135+WingSine*mult)),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(0,1.5,-1)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(225+WingSine*mult)),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(0,1.5,-1.5)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(0-WingSine*mult)),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(0,1.5,-1.5)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(135-WingSine*mult)),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(0,1.5,-1.5)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(225-WingSine*mult)),.2)
end

WingAnims.LustFrench=function()
 LWP1W.C0 = LWP1W.C0:lerp(CF.N(0,1.5,0)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(0+WingSine))*CF.A(0,M.R(90),0)*CF.N(-2,0,0),.2)
 LWP2W.C0 = LWP2W.C0:lerp(CF.N(0,1.5,0)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(135+WingSine))*CF.A(0,M.R(90),0)*CF.N(-2,0,0),.2)
 LWP3W.C0 = LWP3W.C0:lerp(CF.N(0,1.5,0)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(225+WingSine))*CF.A(0,M.R(90),0)*CF.N(-2,0,0),.2)
 
 RWP1W.C0 = RWP1W.C0:lerp(CF.N(0,1.5,0)*CF.A(0,M.R(0+2.5*M.C(WingSine/36)),M.R(0-WingSine))*CF.A(0,M.R(90),0)*CF.N(-2,0,0),.2)
 RWP2W.C0 = RWP2W.C0:lerp(CF.N(0,1.5,0)*CF.A(0,M.R(0+7.5*M.C(WingSine/32)),M.R(135-WingSine))*CF.A(0,M.R(90),0)*CF.N(-2,0,0),.2)
 RWP3W.C0 = RWP3W.C0:lerp(CF.N(0,1.5,0)*CF.A(0,M.R(0+5*M.C(WingSine/39)),M.R(225-WingSine))*CF.A(0,M.R(90),0)*CF.N(-2,0,0),.2)
end

if(data.User==data.Local)then
 Player.Chatted:connect(function(m)
  if(m:sub(1,3) == "/e")then m=m:sub(4) end
  if(m:sub(1,5) == "play/")then
   getMode('Troubadour').Music=Playlist[m:sub(6)] or tonumber(m:sub(6)) or 0
   music.SoundId="rbxassetid://"..getMode('Troubadour').Music;
  elseif(m:sub(1,5) == "tpos/")then
   music.TimePosition = tonumber(m:sub(6)) or 0
  elseif(m:sub(1,6) == "pitch/")then
   music.Pitch = tonumber(m:sub(7)) or 0
   getMode('Troubadour').Pitch=music.Pitch
  end
 end)
end

 
while true do
 swait()
 ClickTimer=math.max(ClickTimer-1,0)
 if(ClickTimer<=0 and Combo~=1)then
  print('reset')
  Combo=1
 end
 Sine=Sine+Change
 hue=hue+1
 if(hue>360)then hue=1 end
 local hitfloor,posfloor = workspace:FindPartOnRayWithIgnoreList(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4)), {Effects,Char,workspace[Player.Name]})
 local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
 local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or (not hitfloor or hitfloor.CanCollide==false) and Root.Velocity.y < -1 and "Fall" or (not hitfloor or hitfloor.CanCollide==false) and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and "Walk" or hitfloor and "Idle")
 Hum.WalkSpeed = WalkSpeed
 local sidevec = math.clamp((Torso.Velocity*Torso.CFrame.rightVector).X+(Torso.Velocity*Torso.CFrame.rightVector).Z,-Hum.WalkSpeed,Hum.WalkSpeed)
 local forwardvec =  math.clamp((Torso.Velocity*Torso.CFrame.lookVector).X+(Torso.Velocity*Torso.CFrame.lookVector).Z,-Hum.WalkSpeed,Hum.WalkSpeed)
 local sidevelocity = sidevec/Hum.WalkSpeed
 local forwardvelocity = forwardvec/Hum.WalkSpeed
 
 local lhit,lpos = workspace:FindPartOnRayWithIgnoreList(Ray.new(LLeg.CFrame.p,((CFrame.new(LLeg.Position,LLeg.Position - Vector3.new(0,1,0))).lookVector).unit * (2)), {Effects,Char,workspace[Player.Name]})
 local rhit,rpos = workspace:FindPartOnRayWithIgnoreList(Ray.new(RLeg.CFrame.p,((CFrame.new(RLeg.Position,RLeg.Position - Vector3.new(0,1,0))).lookVector).unit * (2)), {Effects,Char,workspace[Player.Name]})
 if(Mode=='Troubadour' and IsVaporwave(getMode'Troubadour'.Music))then
  vaporwaveMode=true
  text.Text='Vaporwave'
  WingAnim='NebG3'
 else
  if(Mode=='Troubadour')then
   text.Text='Troubadour'
   WingAnim=getMode'Troubadour'.WingAnim
  end
  vaporwaveMode=false
 end
 
 if(Mode~='Lust' and WingAnim and WingAnims[WingAnim])then
  WingAnims[WingAnim]()
 elseif(Mode=='Lust')then
  if(State=='Idle')then
   WingAnims.LustFrench()
  else
   WingAnims.NebG3(1) 
  end
 elseif(WingAnim and typeof(WingAnim)=='table' and WingAnims[WingAnim[1]])then
  local gay={unpack(WingAnim)};
  table.remove(gay,1)
  WingAnims[WingAnim[1]](unpack(gay))
 else
  WingAnims.NebG1()
 end
 
 if(Mode=='Troubadour' and NeutralAnims)then
  WingSine=WingSine+(0.1+music.PlaybackLoudness/300)
 else
  WingSine=WingSine+1
 end
 
 if(music)then
  if(Mode=='Troubadour')then
   local clr = Color3.fromHSV(hue/360,1,math.clamp(music.PlaybackLoudness/475,0,1))
   local clr2 = Color3.fromHSV(hue/360,1,math.clamp(music.PlaybackLoudness/950,0,1))
   text.TextColor3 = clr
   PrimaryColor = clr2
   for _,v in next, wingModel:GetDescendants() do
    if(v:IsA'BasePart')then
     v.Color = clr2
    elseif(v:IsA'Trail')then
     v.Color = ColorSequence.new(clr2)
    end
   end
  end
 end
 
 if(Mode=='The Big Black')then
  local pos = Head.Position
  local dist = (camera.CFrame.p-pos).magnitude
  local DropDist = 1
  local IneffectiveDist = 15
  local modifier = dist < DropDist xss=removed xss=removed Tween(camera,{FieldOfView=70-(music.PlaybackLoudness/20)},.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out) Tween(camera,{FieldOfView=70},.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out) xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed Lifetime=.5; Mesh={Type CFrame=LArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)); Color=BrickColor.new Transparency={.5,1}; Material=Enum.Material.Neon; Size=Vector3.new(.3,2,.3); EndSize=Vector3.new(.1,1,.1); xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed Lifetime=.2; Mesh={Type CFrame=LArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)); Color=BrickColor.new Transparency={0,1}; Material=Enum.Material.Neon; Size=Vector3.new(.5,1,.5); EndSize=Vector3.new(.1,3,.1); Lifetime=.2; Mesh={Type CFrame=RArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)); Color=BrickColor.new Transparency={0,1}; Material=Enum.Material.Neon; Size=Vector3.new(.5,1,.5); EndSize=Vector3.new(.1,3,.1); xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed Lifetime=.5; Mesh={Type CFrame=RArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)); Color=BrickColor.new Transparency={0,1}; Material=Enum.Material.Neon; Size=Vector3.new(.5,1,.5); EndSize=Vector3.new(.1,3,.1); xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed Change=.3 xss=removed xss=removed Change=1 Change=.5 xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed>=160 and lhit.Color.g*255>=160 and lhit.Color.b*255>=160)then
      footstepIds[1] = footstepSounds[Enum.Material.Snow]
     else
      footstepIds[1] = footstepSounds[lhit.Material]
     end
    end
    
    if(rhit and rhit.CanCollide and footstepSounds[rhit.Material])then
     if(rhit.Material==Enum.Material.Sand and rhit.Color.r*255>=160 and rhit.Color.g*255>=160 and rhit.Color.b*255>=160)then
      footstepIds[2] = footstepSounds[Enum.Material.Snow]
     else
      footstepIds[2] = footstepSounds[rhit.Material]
     end
    end
  
    
    if(M.C(Sine/wsVal)/2>=.2 and footsound==0 and lhit)then
     local step = Part(Effects,lhit.Color,lhit.Material,V3.N(1,.1,1),CF.N(lpos),true,false)
     step.Transparency=(footstepIds[1]==footstepSounds[Enum.Material.Snow] and 0 or 1)
     local snd = Soond(step,footstepIds[1],M.RNG(80,100)/100,3,false,true,true)
     footsound=1
     S.Debris:AddItem(step,snd.TimeLength+2)
    elseif(M.C(Sine/wsVal)/2<=-.2 and footsound==1 and rhit)then
     local step = Part(Effects,rhit.Color,rhit.Material,V3.N(1,.1,1),CF.N(rpos),true,false)
     step.Transparency=(footstepIds[2]==footstepSounds[Enum.Material.Snow] and 0 or 1)
     local snd = Soond(step,footstepIds[2],M.RNG(80,100)/100,3,false,true,true)
     footsound=0
     S.Debris:AddItem(step,snd.TimeLength+2)
    end
   end
        --end
 elseif(State == 'Jump')then
  local Alpha = .1
  local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  if(NeutralAnims)then
   LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
   RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
   RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
   NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  end
  if(legAnims)then 
   LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
   RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  end
 elseif(State == 'Fall')then
  local Alpha = .1
  local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  if(NeutralAnims)then
   LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
   RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
   RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
   NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  end
  if(legAnims)then 
   LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
   RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  end
 elseif(State == 'Paralyzed')then
  local Alpha = .1
  if(NeutralAnims)then
   LS.C0 = LS.C0:lerp(LSC0,Alpha)
   RS.C0 = RS.C0:lerp(RSC0,Alpha)
   RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
   NK.C0 = NK.C0:lerp(NKC0,Alpha)
  end
  if(legAnims)then 
   LH.C0 = LH.C0:lerp(LHC0,Alpha)
   RH.C0 = RH.C0:lerp(RHC0,Alpha)
  end
 elseif(State == 'Sit')then
  
 end
 if(data.User==data.Local)then
  local syncStuff={
   NeutralAnims;
   legAnims;
   {NK.C0,RJ.C0,RH.C0,RS.C0,LH.C0,LS.C0};
   {NK.C1,RJ.C1,RH.C1,RS.C1,LH.C1,LS.C1};
   Sine;
   movement;
   walking; 
   Change;
   --// OPTIONAL SYNC \\--
   MusicMode;
   (music and music.TimePosition or 0);
   (music and music.Pitch or 1);
   WingSine;
   getMode('Troubadour');
   Mode;
   hue;
  }
 end
end