View difference between Paste ID: 5Pu7Tfuf and XEsQBKGa
SHOW: | | - or go back to the newest paste.
1
sethiddenproperty(game.Players.LocalPlayer, "MaximumSimulationRadius", 999999999999999999999999) --[[SYNAPSE ONLY DELETE THIS IF YOUR NOT USING SYNAPSE]]
2
sethiddenproperty(game.Players.LocalPlayer, "SimulationRadius", 999999999999999999999999) --[[SYNAPSE ONLY DELETE THIS IF YOUR NOT USING SYNAPSE]]
3
4
--Hats you need:
5
--https://www.roblox.com/catalog/4820152700/Shadow-Blademasters-Blade
6
--https://www.roblox.com/catalog/4524991457/Blademasters-Blade
7
--https://www.roblox.com/catalog/4794315940/Golden-Demonic-Greatsword
8
--https://www.roblox.com/catalog/4506945409/Corrupt-Demonic-Greatsword
9
--https://www.roblox.com/catalog/4458601937/Frozen-Demonic-Greatsword
10
--https://www.roblox.com/catalog/4315489767/Demonic-Greatsword
11
HumanDied = false
12
local CountSCIFIMOVIELOL = 1
13
function SCIFIMOVIELOL(Part0,Part1,Position,Angle)
14
	local AlignPos = Instance.new('AlignPosition', Part1); AlignPos.Name = "AliP_"..CountSCIFIMOVIELOL
15
	AlignPos.ApplyAtCenterOfMass = true;
16
	AlignPos.MaxForce = 5772000--67752;
17
	AlignPos.MaxVelocity = math.huge/9e110;
18
	AlignPos.ReactionForceEnabled = false;
19
	AlignPos.Responsiveness = 200;
20
	AlignPos.RigidityEnabled = false;
21
	local AlignOri = Instance.new('AlignOrientation', Part1); AlignOri.Name = "AliO_"..CountSCIFIMOVIELOL
22
	AlignOri.MaxAngularVelocity = math.huge/9e110;
23
	AlignOri.MaxTorque = 5772000
24
	AlignOri.PrimaryAxisOnly = false;
25
	AlignOri.ReactionTorqueEnabled = false;
26
	AlignOri.Responsiveness = 200;
27
	AlignOri.RigidityEnabled = false;
28
	local AttachmentA=Instance.new('Attachment',Part1); AttachmentA.Name = "Ath_"..CountSCIFIMOVIELOL
29
	local AttachmentB=Instance.new('Attachment',Part0); AttachmentB.Name = "Ath_"..CountSCIFIMOVIELOL
30
	AttachmentA.Orientation = Angle or Vector3.new(0,0,0)
31
	AttachmentA.Position = Position or Vector3.new(0,0,0)
32
	AlignPos.Attachment1 = AttachmentA;
33
	AlignPos.Attachment0 = AttachmentB;
34
	AlignOri.Attachment1 = AttachmentA;
35
	AlignOri.Attachment0 = AttachmentB;
36
	CountSCIFIMOVIELOL = CountSCIFIMOVIELOL + 1
37
	return {AlignPos,AlignOri,AttachmentA,AttachmentB}
38
end
39
40
if _G.netted ~= true then
41
	_G.netted = true
42
	coroutine.wrap(function()
43
		settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
44
		settings().Physics.AllowSleep = false
45
		game:GetService("RunService").RenderStepped:Connect(function()
46
			game:FindFirstChildOfClass("Players").LocalPlayer.MaximumSimulationRadius=math.pow(math.huge,math.huge)
47
			sethiddenproperty(game:FindFirstChildOfClass("Players").LocalPlayer,"SimulationRadius",math.huge*math.huge)
48
		end)
49
	end)()
50
end
51
52
game:FindFirstChildOfClass("Players").LocalPlayer["Character"].Archivable = true
53
local hatnameclone = {}
54
for _,v in next, game:FindFirstChildOfClass("Players").LocalPlayer["Character"]:GetChildren() do
55
	if v:IsA("Accessory") then
56
		if hatnameclone[v.Name] then
57
			if hatnameclone[v.Name] == "s" then
58
				hatnameclone[v.Name] = {}
59
			end
60
			table.insert(hatnameclone[v.Name],v)
61
		else
62
			hatnameclone[v.Name] = "s"
63
		end
64
	end
65
end
66
for _,v in pairs(hatnameclone) do
67
	if type(v) == "table" then
68
		local num = 1
69
		for _,w in pairs(v) do
70
			w.Name = w.Name..num
71
			num = num + 1
72
		end
73
	end
74
end
75
hatnameclone = nil
76
77
local DeadChar = game:FindFirstChildOfClass("Players").LocalPlayer.Character
78
79
local fldr = Instance.new("Folder",game:FindFirstChildOfClass("Players").LocalPlayer["Character"])
80
fldr.Name = "DMYF"
81
local CloneChar = DeadChar:Clone()
82
local ANIMATIONHERE
83
if CloneChar:FindFirstChild("Animate") then
84
	ANIMATIONHERE = CloneChar:FindFirstChild("Animate"):Clone()
85
	CloneChar:FindFirstChild("Animate"):Destroy()
86
end
87
if CloneChar:FindFirstChildOfClass("Folder") then CloneChar:FindFirstChildOfClass("Folder"):Destroy() end
88
if CloneChar.Torso:FindFirstChild("Neck") then
89
	local Clonessss = CloneChar.Torso:FindFirstChild("Neck"):Clone()
90
	Clonessss.Part0 = nil
91
	Clonessss.Part1 = DeadChar.Head
92
	Clonessss.Parent = DeadChar.Torso
93
end
94
CloneChar.Parent = fldr
95
CloneChar.HumanoidRootPart.CFrame = DeadChar.HumanoidRootPart.CFrame
96
CloneChar.Humanoid.BreakJointsOnDeath = false
97
CloneChar.Name = "non"
98
CloneChar.Humanoid.DisplayDistanceType = "None"
99
100
for _,v in next, DeadChar:GetChildren() do
101
	if v:IsA("Accessory") then
102
		local topacc = false
103
		if v.Handle:FindFirstChildOfClass("Weld") then v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
104
		v.Handle.Massless = true
105
		v.Handle.CanCollide = false
106
		if v.Handle:FindFirstChildOfClass("Attachment") then
107
			local ath__ = v.Handle:FindFirstChildOfClass("Attachment")
108
			if ath__.Name == "HatAttachment" or ath__.Name == "HairAttachment" or ath__.Name == "FaceFrontAttachment" or ath__.Name == "FaceCenterAttachment" then
109
				topacc = ath__.Name
110
			end
111
		end
112
        local bv = Instance.new("BodyVelocity",v.Handle)
113
		bv.Velocity = Vector3.new(0,0,0)
114
		coroutine.wrap(function()
115
			if topacc then
116
				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))
117
				local normaltop = allthings[1].Attachment1
118
				local alipos = allthings[1]
119
				local alirot = allthings[2]
120
				local p0 = v.Handle
121
				local p1 = DeadChar.Head
122
				alipos.Parent = CloneChar:FindFirstChild(v.Name).Handle
123
				alirot.Parent = CloneChar:FindFirstChild(v.Name).Handle
124
				while true do
125
					game:GetService("RunService").RenderStepped:wait()
126
					if HumanDied then break end
127
					coroutine.wrap(function()
128
						if alipos.Attachment1 == normaltop then
129
							p0.CFrame = p0.CFrame:lerp((((DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)) * p1[topacc].CFrame) * p0[topacc].CFrame:inverse()),1)
130
						else
131
							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)
132
						end
133
					end)()
134
				end
135
			else
136
				SCIFIMOVIELOL(v.Handle,CloneChar[v.Name].Handle,Vector3.new(0,0,0),Vector3.new(0,0,0))
137
			end
138
		end)()
139
    end
140
end
141
142
local a = DeadChar.Torso
143
local b = DeadChar.HumanoidRootPart
144
local c = DeadChar.Humanoid
145
a.Parent = game:FindFirstChildOfClass("Workspace")
146
c.Parent = game:FindFirstChildOfClass("Workspace")
147
local told = a:Clone()
148
local told1 = c:Clone()
149
b["RootJoint"].Part0 = told
150
b["RootJoint"].Part1 = DeadChar.Head
151
a.Name = "torso"
152
a.Neck:Destroy()
153
c.Name = "Mizt Hub Best"
154
told.Parent = DeadChar
155
told1.Parent = DeadChar
156
DeadChar.PrimaryPart = told
157
told1.Health = 0
158
b:Destroy()
159
a.Parent = DeadChar
160
c.Parent = DeadChar
161
told:Destroy()
162
told1:Destroy()
163
a.Name = "Torso"
164
165
if CloneChar.Head:FindFirstChildOfClass("Decal") then CloneChar.Head:FindFirstChildOfClass("Decal").Transparency = 1 end
166
if DeadChar:FindFirstChild("Animate") then DeadChar:FindFirstChild("Animate"):Destroy() end
167
168
local Collider
169
function UnCollide()
170
    if HumanDied then Collider:Disconnect(); return end
171
    --[[for _,Parts in next, CloneChar:GetChildren() do
172
        if Parts:IsA("BasePart") then
173
            Parts.CanCollide = false 
174
        end 
175
    end]]
176
    for _,Parts in next, DeadChar:GetChildren() do
177
        if Parts:IsA("BasePart") then
178
        Parts.CanCollide = false
179
        end 
180
    end 
181
end
182
Collider = game:GetService("RunService").Stepped:Connect(UnCollide)
183
184
local resetBindable = Instance.new("BindableEvent")
185
resetBindable.Event:connect(function()
186
    game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
187
	resetBindable:Destroy()
188
	HumanDied = true
189
    pcall(function()
190
		game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
191
		DeadChar.Head:Destroy()
192
		DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
193
		game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
194
		if DeadChar:FindFirstChildOfClass("Folder") then DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
195
	end)
196
end)
197
game:GetService("StarterGui"):SetCore("ResetButtonCallback", resetBindable)
198
199
coroutine.wrap(function()
200
    while true do
201
        game:GetService("RunService").RenderStepped:wait()
202
        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 
203
            HumanDied = true
204
            pcall(function()
205
				game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
206
				DeadChar.Head:Destroy()
207
				DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
208
				game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
209
				if DeadChar:FindFirstChildOfClass("Folder") then DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
210
			end)
211
            if resetBindable then
212
                game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
213
                resetBindable:Destroy()
214
            end
215
            break
216
        end		
217
    end
218
end)()
219
220
221
SCIFIMOVIELOL(DeadChar["Head"],CloneChar["Head"])
222
SCIFIMOVIELOL(DeadChar["Torso"],CloneChar["Torso"])
223
SCIFIMOVIELOL(DeadChar["Left Arm"],CloneChar["Left Arm"])
224
SCIFIMOVIELOL(DeadChar["Right Arm"],CloneChar["Right Arm"])
225
SCIFIMOVIELOL(DeadChar["Left Leg"],CloneChar["Left Leg"])
226
SCIFIMOVIELOL(DeadChar["Right Leg"],CloneChar["Right Leg"])
227
228
for _,v in pairs(DeadChar:GetChildren()) do
229
	if v:IsA("BasePart") and v.Name ~= "Head" then
230
		--[[local bv = Instance.new("BodyVelocity",v)
231
		bv.Velocity = Vector3.new(0,0,0)
232
		coroutine.wrap(function()
233
			while true do
234
				game:GetService("RunService").RenderStepped:wait()
235
				if HumanDied then break end
236
				v.CFrame = CloneChar[v.Name].CFrame
237
			end
238
		end)()]]
239
	elseif v:IsA("BasePart") and v.Name == "Head" then
240
		local bv = Instance.new("BodyVelocity",v)
241
		bv.Velocity = Vector3.new(0,0,0)
242
		coroutine.wrap(function()
243
			while true do
244
				game:GetService("RunService").RenderStepped:wait()
245
				if HumanDied then break end
246
				v.CFrame = DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)
247
			end
248
		end)()
249
	end
250
end
251
252
for _,BodyParts in next, CloneChar:GetDescendants() do
253
if BodyParts:IsA("BasePart") or BodyParts:IsA("Part") then
254
BodyParts.Transparency = 1 end end
255
game:GetService("RunService").RenderStepped:wait()
256
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
257
game:FindFirstChildOfClass("Workspace"):FindFirstChildOfClass("Camera").CameraSubject = CloneChar.Humanoid
258
259
for _,v in next, DeadChar:GetChildren() do
260
	if v:IsA("Accessory") then
261
		if v.Handle:FindFirstChildOfClass("Weld") then v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
262
	end
263
end
264
265
if ANIMATIONHERE then ANIMATIONHERE.Parent = CloneChar end
266
--- DO NOT PUT NORMAL ANIMATION
267
local data = {}
268
269
local script = game:GetObjects("rbxassetid://5446036971")[1]
270
271
script.WingPiece.qPerfectionWeld:Destroy()
272
273
do
274
local NEVER_BREAK_JOINTS = false
275
276
local function CallOnChildren(Instance, FunctionToCall)
277
	FunctionToCall(Instance)
278
279
	for _, Child in next, Instance:GetChildren() do
280
		CallOnChildren(Child, FunctionToCall)
281
	end
282
end
283
284
local function GetBricks(StartInstance)
285
	local List = {}
286
	CallOnChildren(StartInstance, function(Item)
287
		if Item:IsA("BasePart") then
288
			List[#List+1] = Item;
289
		end
290
	end)
291
292
	return List
293
end
294
295
local function Modify(Instance, Values)
296
	assert(type(Values) == "table", "Values is not a table");
297
298
	for Index, Value in next, Values do
299
		if type(Index) == "number" then
300
			Value.Parent = Instance
301
		else
302
			Instance[Index] = Value
303
		end
304
	end
305
	return Instance
306
end
307
308
local function Make(ClassType, Properties)
309
	return Modify(Instance.new(ClassType), Properties)
310
end
311
312
local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
313
local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
314
315
local function HasWheelJoint(Part)
316
	for _, SurfaceName in pairs(Surfaces) do
317
		for _, HingSurfaceName in pairs(HingSurfaces) do
318
			if Part[SurfaceName].Name == HingSurfaceName then
319
				return true
320
			end
321
		end
322
	end
323
	
324
	return false
325
end
326
327
local function ShouldBreakJoints(Part)
328
	if NEVER_BREAK_JOINTS then
329
		return false
330
	end
331
	
332
	if HasWheelJoint(Part) then
333
		return false
334
	end
335
	
336
	local Connected = Part:GetConnectedParts()
337
	
338
	if #Connected == 1 then
339
		return false
340
	end
341
	
342
	for _, Item in pairs(Connected) do
343
		if HasWheelJoint(Item) then
344
			return false
345
		elseif not Item:IsDescendantOf(script.Parent) then
346
			return false
347
		end
348
	end
349
	
350
	return true
351
end
352
353
local function WeldTogether(Part0, Part1, JointType, WeldParent)
354
355
	JointType = JointType or "Weld"
356
	local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
357
	
358
	local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
359
	Modify(NewWeld, {
360
		Name = "qCFrameWeldThingy";
361
		Part0  = Part0;
362
		Part1  = Part1;
363
		C0     = CFrame.new();--Part0.CFrame:inverse();
364
		C1     = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
365
		Parent = Part1;
366
	})
367
368
	if not RelativeValue then
369
		RelativeValue = Make("CFrameValue", {
370
			Parent     = Part1;
371
			Name       = "qRelativeCFrameWeldValue";
372
			Archivable = true;
373
			Value      = NewWeld.C1;
374
		})
375
	end
376
377
	return NewWeld
378
end
379
380
local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
381
382
	for _, Part in pairs(Parts) do
383
		if ShouldBreakJoints(Part) then
384
			Part:BreakJoints()
385
		end
386
	end
387
	
388
	for _, Part in pairs(Parts) do
389
		if Part ~= MainPart then
390
			WeldTogether(MainPart, Part, JointType, MainPart)
391
		end
392
	end
393
394
	if not DoNotUnanchor then
395
		for _, Part in pairs(Parts) do
396
			Part.Anchored = false
397
		end
398
		MainPart.Anchored = false
399
	end
400
end
401
402
local function PerfectionWeld()	
403
	local Parts = GetBricks(script.WingPiece)
404
	WeldParts(Parts, script.WingPiece.Main, "Weld", false)
405
end
406
PerfectionWeld()
407
end
408
409
--// Shortcut Variables \\--
410
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
411
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
412
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}
413
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
414
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}
415
local R3 = {N=Region3.new}
416
local De = S.Debris
417
local WS = workspace
418
local Lght = S.Lighting
419
local RepS = S.ReplicatedStorage
420
local IN = Instance.new
421
local Plrs = S.Players
422
local UIS = S.UserInputService
423
424
local Player = game.Players.LocalPlayer
425
data.User = Player
426
data.Local = Player
427
local Char = Player.Character
428
local Mouse = Player:GetMouse()
429
local Hum = Char:FindFirstChildOfClass'Humanoid'
430
local Torso = Char.Torso
431
local RArm = Char["Right Arm"]
432
local LArm = Char["Left Arm"]
433
local RLeg = Char["Right Leg"]
434
local LLeg = Char["Left Leg"]	
435
local Root = Char:FindFirstChild'HumanoidRootPart'
436
local Head = Char.Head
437
local Sine = 0;
438
local Change = 1
439
local Attack=false
440
local NeutralAnims=true
441
local timePos=30;
442
local walking=true;
443
local legAnims=true;
444
local movement = 8
445
local footsound=0;
446
local WalkSpeed=16;
447
local Combo=0;
448
local Mode='Achromatic'
449
local vaporwaveMode=false;
450
local WingAnim='NebG1'
451
local music;
452
local hue = 0;
453
local WingSine=0;
454
local MusicMode=1;
455
local visSong = 1702473314;
456
local EffectFolder = script:WaitForChild'FXFolder'
457
local PrimaryColor = Color3.new(1,1,1)
458
local ClickTimer = 0;
459
local ClickAttack = 1;
460
local camera = workspace.CurrentCamera
461
local LastSphere = time();
462
local Frame_Speed = 60
463
local VaporwaveSongs={
464
	2231500330;
465
	654094806;
466
	743334292;
467
	334283059;
468
	2082142910;
469
}
470
471
472
local WingPiece = script:WaitForChild'WingPiece'
473
WingPiece.Parent=nil
474
local WingAnims={}
475
local Playlist={
476
	Default=1702473314;
477
	ScrapBoy=1215691669;
478
	Defeated=860594509;
479
	Annihilate=2116461106;
480
	DashAndDodge=2699922745;
481
	ZenWavy=2231500330;
482
	Beachwalk=334283059;
483
	Pyrowalk=2082142910;
484
	Vapor90s=654094806;
485
}
486
487
--[[
488
Achromatic - The Big Black - Lost Soul
489
Iniquitous
490
Mythical - Legendary
491
Ruined - Th1rt3en
492
Atramentous - Vanta Black
493
Subzero - Frostbite
494
Troubadour
495
Infectious - Radioactive
496
Love - Lust
497
]]
498
499
--2699922745
500
local modeInfo={
501
	{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'};
502
	{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'};
503
	{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'};
504
	{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'};
505
	{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}};
506
	{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'};	
507
	{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'};
508
	{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'};	
509
	{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'};
510
	--MAJORS--
511
	{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}};
512
	{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}};
513
	{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'};
514
515
}
516
517
NewInstance = function(instance,parent,properties)
518
	local inst = Instance.new(instance)
519
	inst.Parent = parent
520
	if(properties)then
521
		for i,v in next, properties do
522
			pcall(function() inst[i] = v end)
523
		end
524
	end
525
	return inst;
526
end
527
528
function newMotor(P0,P1,C0,C1)
529
	return NewInstance('Motor',P0,{Part0=P0,Part1=P1,C0=C0,C1=C1})
530
end
531
532
local welds = {}
533
local WeldDefaults = {}
534
535
table.insert(welds,newMotor(Torso,Head,CF.N(0,1.5,0),CF.N()))
536
table.insert(welds,newMotor(Root,Torso,CF.N(),CF.N()))
537
table.insert(welds,newMotor(Torso,RLeg,CF.N(.5,-1,0),CF.N(0,1,0)))
538
table.insert(welds,newMotor(Torso,RArm,CF.N(1.5,.5,0),CF.N(0,.5,0)))
539
table.insert(welds,newMotor(Torso,LLeg,CF.N(-.5,-1,0),CF.N(0,1,0)))
540
table.insert(welds,newMotor(Torso,LArm,CF.N(-1.5,.5,0),CF.N(0,.5,0)))
541
542
WeldDefaults={}
543
for i = 1,#welds do
544
	local v=welds[i]
545
	WeldDefaults[i]=v.C0
546
end
547
548
local NK,RJ,RH,RS,LH,LS=unpack(welds)
549
550
local NKC0,RJC0,RHC0,RSC0,LHC0,LSC0=unpack(WeldDefaults)
551
552
function makeMusic(id,pit,timePos)
553
	local sound = Torso:FindFirstChild(Player.Name.."song") or Char:FindFirstChild(Player.Name.."song")
554
	local parent = (MusicMode==2 and Char or Torso)
555
	if(not sound)then 
556
		sound = NewInstance("Sound",parent,{Name=Player.Name.."song",Volume=(MusicMode==3 and 0 or 5),Pitch=(pit or 1),Looped=true})
557
		NewInstance("EqualizerSoundEffect",sound,{HighGain=0,MidGain=2,LowGain=10})
558
	end
559
	if(id=='stop')then
560
		if(sound)then
561
			sound:Stop()
562
		end
563
	else
564
		local timePos = typeof(timePos)=='number' and timePos or sound.TimePosition
565
		sound.Volume = (MusicMode==3 and 0 or 5)
566
		sound.Name = Player.Name.."song"
567
		sound.Looped=true
568
		sound.SoundId = "rbxassetid://"..id
569
		sound.Pitch=(pit or 1)
570
		sound:Play()
571
		sound.TimePosition = timePos
572
	end
573
	return sound;
574
end
575
576
function playMusic(id,pitch,timePos)
577
	return makeMusic(id,pitch,timePos)
578
end
579
580
for _,v in next, Hum:GetPlayingAnimationTracks() do
581
	v:Stop(0);
582
end
583
584
-- SCRIPT STUFF --
585
586
function swait(num)
587
	if num == 0 or num == nil then
588
		game:GetService("RunService").RenderStepped:wait()
589
	else
590
		for i = 0, num do
591
			game:GetService("RunService").RenderStepped:wait()
592
		end
593
	end
594
end
595
596
--// Effects \\--
597
598
function Tween(obj,props,time,easing,direction,repeats,backwards)
599
	local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
600
	local tween = S.TweenService:Create(obj, info, props)
601
	
602
	tween:Play()
603
end
604
605
function StartShake(Settings)
606
	return true
607
end
608
609
function Camshake(shakedata)
610
	StartShake(shakedata)
611
end
612
613
local Effects=NewInstance("Folder",Char)
614
Effects.Name=Player.Name..'Effects'
615
616
617
function ShowDamage(Pos, Text, Time, Color)
618
	local Pos = Pos or V3.N(0, 0, 0)
619
	local Text = tostring(Text or "")
620
	local Time = Time or 2
621
	local Color = Color or C3.N(1, 0, 1)
622
	local EffectPart = Part(Effects,Color,Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),CFrame.new(Pos),true,false)
623
	EffectPart.Transparency=1
624
	local BillboardGui = NewInstance("BillboardGui",EffectPart,{
625
		Size = UDim2.new(3,0,3,0),
626
		Adornee = EffectPart,
627
	})
628
	
629
	local TextLabel = NewInstance("TextLabel",BillboardGui,{
630
		BackgroundTransparency = 1,
631
		Size = UDim2.new(1, 0, 1, 0),
632
		Text = Text,
633
		TextColor3 = Color,
634
		TextScaled = true,
635
		Font = Enum.Font.ArialBold, 
636
	})
637
	S.Debris:AddItem(EffectPart, Time+.5)
638
	delay(0, function()
639
		local rot=math.random(-10,10)/15
640
		local raise=.2
641
		local Frames = Time/Frame_Speed
642
		for i=0,1.1,.02 do
643
			swait()
644
			TextLabel.Rotation=TextLabel.Rotation+rot
645
			raise=raise-.008
646
			EffectPart.Position = EffectPart.Position + Vector3.new(0, raise, 0)
647
			TextLabel.TextTransparency=i
648
			TextLabel.TextStrokeTransparency=i
649
		end
650
		if EffectPart and EffectPart.Parent then
651
			EffectPart:Destroy()
652
		end
653
	end)
654
end
655
656
657
local baseSound = IN("Sound")
658
659
function Soond(parent,id,pitch,volume,looped,effect,autoPlay)
660
	local Sound = baseSound:Clone()
661
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
662
	Sound.Pitch = pitch or 1
663
	Sound.Volume = volume or 1
664
	Sound.Looped = looped or false
665
	if(autoPlay)then
666
		coroutine.wrap(function()
667
			repeat wait() until Sound.IsLoaded
668
			Sound.Playing = autoPlay or false
669
		end)()
670
	end
671
	if(not looped and effect)then
672
		Sound.Stopped:connect(function()
673
			Sound.Volume = 0
674
			Sound:destroy()
675
		end)
676
	elseif(effect)then
677
		warn("Sound can't be looped and a sound effect!")
678
	end
679
	Sound.Parent =parent or Torso
680
	return Sound
681
end
682
	
683
function SoondPart(id,pitch,volume,looped,effect,autoPlay,cf)
684
	local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
685
	local Sound = IN("Sound")
686
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
687
	Sound.Pitch = pitch or 1
688
	Sound.Volume = volume or 1
689
	Sound.Looped = looped or false
690
	if(autoPlay)then
691
		coroutine.wrap(function()
692
			repeat wait() until Sound.IsLoaded
693
			Sound.Playing = autoPlay or false
694
		end)()
695
	end
696
	if(not looped and effect)then
697
		Sound.Stopped:connect(function()
698
			Sound.Volume = 0
699
			soundPart:destroy()
700
		end)
701
	elseif(effect)then
702
		warn("Sound can't be looped and a sound effect!")
703
	end
704
	Sound.Parent = soundPart
705
	return Sound,soundPart
706
end
707
708
function SoundPart(...)
709
	return SoondPart(...)
710
end
711
712
function Sound(...)
713
	return Soond(...)
714
end
715
	
716
function Part(parent,color,material,size,cframe,anchored,cancollide)
717
	local part = IN("Part")
718
	part.Parent = parent or Char
719
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
720
	part.Material = material or Enum.Material.SmoothPlastic
721
	part.TopSurface,part.BottomSurface=10,10
722
	part.Size = size or V3.N(1,1,1)
723
	part.CFrame = cframe or CF.N(0,0,0)
724
	part.CanCollide = cancollide or false
725
	part.Anchored = anchored or false
726
	return part
727
end
728
729
function Weld(part0,part1,c0,c1)
730
	local weld = IN("Weld")
731
	weld.Parent = part0
732
	weld.Part0 = part0
733
	weld.Part1 = part1
734
	weld.C0 = c0 or CF.N()
735
	weld.C1 = c1 or CF.N()
736
	return weld
737
end
738
739
function Mesh(parent,meshtype,meshid,textid,scale,offset)
740
	local part = IN("SpecialMesh")
741
	part.MeshId = meshid or ""
742
	part.TextureId = textid or ""
743
	part.Scale = scale or V3.N(1,1,1)
744
	part.Offset = offset or V3.N(0,0,0)
745
	part.MeshType = meshtype or Enum.MeshType.Sphere
746
	part.Parent = parent
747
	return part
748
end
749
750
function GotEffect(data)
751
	-- just for easy reference
752
	local color = data.Color or Color3.new(.7,.7,.7);
753
	local endcolor = data.EndColor or nil;
754
	local mat = data.Material or Enum.Material.SmoothPlastic;
755
	local cframe = data.CFrame or CFrame.new();
756
	local endpos = data.EndPos or nil;
757
	local meshdata = data.Mesh or {}
758
	local sounddata = data.Sound or {}
759
	local size = data.Size or Vector3.new(1,1,1)
760
	local endsize = data.EndSize or Vector3.new(6,6,6)
761
	local rotinc = data.RotInc or {0,0,0} -- ONLY FOR LEGACY SYSTEM
762
	local transparency = data.Transparency or NumberRange.new(0,1)
763
	local acceleration = data.Acceleration or nil; -- ONLY FOR LEGACY SYSTEM
764
	local endrot = data.EndRotation or {0,0,0} -- ONLY FOR EXPERIMENTAL SYSTEM
765
	local style = data.Style or false; -- ONLY FOR EXPERIMENTAL SYSTEM
766
	local lifetime = data.Lifetime or 1;
767
	local system = data.FXSystem;
768
	local setpart = typeof(data.Part)=='string' and EffectFolder:FindFirstChild(tostring(data.Part)):Clone() or typeof(data.Part)=='Instance' and data.Part or nil
769
	
770
	local S,PM;
771
	
772
	local P = setpart or Part(Effects,color,mat,Vector3.new(1,1,1),cframe,true,false)
773
	
774
	if(not P:IsA'MeshPart' and not P:IsA'UnionOperation')then
775
		if(meshdata == "Blast")then
776
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://20329976','',size,Vector3.new(0,0,-size.X/8))
777
		elseif(meshdata == 'Ring')then
778
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://559831844','',size,Vector3.new(0,0,0))
779
		elseif(meshdata == 'Slash1')then
780
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://662586858','',Vector3.new(size.X/10,.001,size.Z/10),Vector3.new(0,0,0))
781
		elseif(meshdata == 'Slash2')then
782
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://448386996','',Vector3.new(size.X/1000,size.Y/100,size.Z/100),Vector3.new(0,0,0))
783
		elseif(meshdata == 'Tornado1')then
784
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://443529437','',size/10,Vector3.new(0,0,0))
785
		elseif(meshdata == 'Tornado2')then
786
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://168892432','',size/4,Vector3.new(0,0,0))
787
		elseif(meshdata == 'Skull')then
788
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://4770583','',size*2,Vector3.new(0,0,0))
789
		elseif(meshdata == 'Crystal')then
790
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://9756362','',size,Vector3.new(0,0,0))
791
		elseif(meshdata == 'Cloud')then
792
			PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://1095708','',size,Vector3.new(0,0,0))
793
		elseif(typeof(meshdata) == 'table')then
794
			local Type = meshdata.Type or Enum.MeshType.Brick
795
			local ID = meshdata.ID or '';
796
			local Tex = meshdata.Texture or '';
797
			local Offset = meshdata.Offset or Vector3.new(0,0,0)
798
			PM = Mesh(P,Type,ID,Tex,size,Offset)
799
		else
800
			PM = Mesh(P,Enum.MeshType.Brick,'','',size)
801
		end
802
	end
803
	local startTrans = typeof(transparency) == 'number' and transparency or typeof(transparency) == 'NumberRange' and transparency.Min or typeof(transparency) == 'table' and transparency[1] or 0
804
	local endTrans = typeof(transparency) == 'NumberRange' and transparency.Max or typeof(transparency) == 'table' and transparency[2] or 1
805
	
806
	P.Material = mat
807
	P.CFrame = cframe
808
	P.Color = (typeof(color)=='BrickColor' and color.Color or color)
809
	P.Anchored = true
810
	P.CanCollide = false
811
	P.Transparency = startTrans
812
	P.Parent = Effects
813
	local random = Random.new();
814
	game:service'Debris':AddItem(P,lifetime+3)
815
	
816
	
817
	-- actual effect stuff
818
	local mult = 1;
819
	if(PM)then
820
		if(PM.MeshId == 'rbxassetid://20329976')then
821
			PM.Offset = Vector3.new(0,0,-PM.Scale.Z/8)
822
		elseif(PM.MeshId == 'rbxassetid://4770583')then
823
			mult = 2
824
		elseif(PM.MeshId == 'rbxassetid://168892432')then
825
			mult = .25
826
		elseif(PM.MeshId == 'rbxassetid://443529437')then
827
			mult = .1
828
		elseif(PM.MeshId == 'rbxassetid://443529437')then
829
			mult = .1
830
		end
831
	end	
832
	coroutine.wrap(function()
833
		if(system == 'Legacy' or system == 1 or system == nil)then
834
			local frames = (typeof(lifetime) == 'NumberRange' and random:NextNumber(lifetime.Min,lifetime.Max) or typeof(lifetime) == 'number' and lifetime or 1)*Frame_Speed
835
			for i = 0, frames do
836
				local div = (i/frames)
837
				P.Transparency=(startTrans+(endTrans-startTrans)*div)
838
				
839
				if(PM)then PM.Scale = size:lerp(endsize*mult,div) else P.Size = size:lerp(endsize*mult,div) end
840
				
841
				local RotCF=CFrame.Angles(0,0,0)
842
				
843
				if(rotinc == 'random')then
844
					RotCF=CFrame.Angles(math.rad(random:NextNumber(-180,180)),math.rad(random:NextNumber(-180,180)),math.rad(random:NextNumber(-180,180)))
845
				elseif(typeof(rotinc) == 'table')then
846
					RotCF=CFrame.Angles(unpack(rotinc))
847
				end
848
				
849
				if(PM and PM.MeshId == 'rbxassetid://20329976')then
850
					PM.Offset = Vector3.new(0,0,-PM.Scale.Z/8)
851
				end
852
				
853
				if(endpos and typeof(endpos) == 'CFrame')then
854
					P.CFrame=cframe:lerp(endpos,div)*RotCF
855
				elseif(acceleration and typeof(acceleration) == 'table' and acceleration.Force)then
856
					local force = acceleration.Force;
857
					if(typeof(force)=='CFrame')then
858
						force=force.p;
859
					end
860
					if(typeof(force)=='Vector3')then
861
						if(acceleration.LookAt)then
862
							P.CFrame=(CFrame.new(P.Position,force)+force)*RotCF
863
						else
864
							P.CFrame=(P.CFrame+force)*RotCF
865
						end
866
					end
867
				else
868
					P.CFrame=P.CFrame*RotCF
869
				end
870
				
871
				if(endcolor and typeof(endcolor) == 'Color3')then
872
					P.Color = color:lerp(endcolor,div)
873
				end
874
				swait()
875
			end
876
			P:destroy()
877
		elseif(system == 'Experimental' or system == 2)then
878
			local info = TweenInfo.new(lifetime,style,Enum.EasingDirection.InOut,0,false,0)
879
			local info2 = TweenInfo.new(lifetime,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,0,false,0)
880
			if(style == Enum.EasingStyle.Elastic)then
881
				info = TweenInfo.new(lifetime*2,style,Enum.EasingDirection.Out,0,false,0)
882
			elseif(style == Enum.EasingStyle.Bounce)then
883
				info = TweenInfo.new(lifetime,style,Enum.EasingDirection.Out,0,false,0)
884
			end
885
			local tweenPart = game:service'TweenService':Create(P,info2,{
886
				CFrame=(typeof(endpos) == 'CFrame' and endpos or P.CFrame)*CFrame.Angles(unpack(endrot)),
887
				Color=typeof(endcolor) == 'Color3' and endcolor or color,
888
				Transparency=endTrans,
889
			})
890
			local off = Vector3.new(0,0,0)
891
			if(PM.MeshId == 'rbxassetid://20329976')then off=Vector3.new(0,0,(endsize*mult).Z/8) end
892
			
893
			local tweenMesh = game:service'TweenService':Create(PM,info,{
894
				Scale=endsize*mult,
895
				Offset=off,
896
			})
897
			tweenPart:Play()
898
			tweenMesh:Play()
899
		end
900
	end)()
901
end
902
903
function Effect(edata)
904
	GotEffect(edata)
905
end
906
907
function Trail(data)
908
	coroutine.wrap(function()
909
		data.Frames = typeof(data.Frames)=='number' and data.Frames or 60
910
		data.CFrame = typeof(data.CFrame)=='CFrame' and data.CFrame or Root.CFrame
911
		local ep = typeof(data.EndPos)=='CFrame' and data.EndPos or data.CFrame*CFrame.new(0,5,0);
912
		data.EndPos=nil
913
		local trailPart = Part(Effects,BrickColor.new'White',Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),data.CFrame,true,false)
914
		trailPart.Transparency=1
915
		local start = data.CFrame
916
		for i = 1, data.Frames do
917
			trailPart.CFrame = start:lerp(ep,i/data.Frames)
918
			data.CFrame = trailPart.CFrame
919
			Effect(data)
920
			swait()
921
		end	
922
	end)()
923
end
924
925
function ClientTrail(data)
926
	coroutine.wrap(function()
927
		data.Frames = typeof(data.Frames)=='number' and data.Frames or 60
928
		data.CFrame = typeof(data.CFrame)=='CFrame' and data.CFrame or Root.CFrame
929
		local ep = typeof(data.EndPos)=='CFrame' and data.EndPos or data.CFrame*CFrame.new(0,5,0);
930
		data.EndPos=nil
931
		local trailPart = Part(Effects,BrickColor.new'White',Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),data.CFrame,true,false)
932
		trailPart.Transparency=1
933
		local start = data.CFrame
934
		for i = 1, data.Frames do
935
			trailPart.CFrame = start:lerp(ep,i/data.Frames)
936
			data.CFrame = trailPart.CFrame
937
			GotEffect(data)
938
			swait()
939
		end	
940
	end)()
941
end
942
943
944
if(Char:FindFirstChild('NGRWings'..Player.Name))then
945
	Char['NGRWings'..Player.Name]:destroy()
946
end
947
948
for _,v in next, Char:children() do
949
	if(v.Name:lower():find'wings')then 
950
		v:destroy()
951
	end
952
end
953
954
local wingModel = Instance.new("Model",Char)
955
wingModel.Name="NGRWings"..Player.Name
956
local rightWing = NewInstance("Model",wingModel,{Name='Right'})
957
local leftWing = NewInstance("Model",wingModel,{Name='Left'})
958
959
local MPASword = {}
960
for _,v in pairs(Char:GetChildren()) do
961
	if v:IsA("Accessory") and v.Name:find("MeshPartAccessory") and v.Handle.Size == Vector3.new(4,4,1) then
962
		table.insert(MPASword,v)
963
	end
964
end
965
966
local LWP1 = WingPiece:Clone();
967
if MPASword[1] then
968
	for _,v in pairs(LWP1:GetChildren()) do
969
		if v:IsA("BasePart") then
970
			v.Transparency = 1
971
		end
972
	end
973
	local athp = Instance.new("Attachment",LWP1.PrimaryPart)
974
	local atho = Instance.new("Attachment",LWP1.PrimaryPart)
975
976
	local HatChoice = MPASword[1]
977
	print(MPASword[1].Handle.Name)
978
	HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
979
	HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
980
981
	athp.Position = Vector3.new(0,-2,0)
982
	atho.Rotation = Vector3.new(0,0,45)
983
	table.remove(MPASword,1)
984
end
985
LWP1.Parent = leftWing
986
local LWP2 = WingPiece:Clone();
987
if MPASword[1] then
988
	for _,v in pairs(LWP2:GetChildren()) do
989
		if v:IsA("BasePart") then
990
			v.Transparency = 1
991
		end
992
	end
993
	local athp = Instance.new("Attachment",LWP2.PrimaryPart)
994
	local atho = Instance.new("Attachment",LWP2.PrimaryPart)
995
996
	local HatChoice = MPASword[1]
997
	HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
998
	HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
999
1000
	athp.Position = Vector3.new(0,-2,0)
1001
	atho.Rotation = Vector3.new(0,0,45)
1002
	table.remove(MPASword,1)
1003
end
1004
LWP2.Parent = leftWing
1005
local LWP3 = WingPiece:Clone();
1006
if Char:FindFirstChild("BladeMasterAccessory") then
1007
	for _,v in pairs(LWP3:GetChildren()) do
1008
		if v:IsA("BasePart") then
1009
			v.Transparency = 1
1010
		end
1011
	end
1012
	local athp = Instance.new("Attachment",LWP3.PrimaryPart)
1013
	local atho = Instance.new("Attachment",LWP3.PrimaryPart)
1014
1015
	local HatChoice = Char:FindFirstChild("BladeMasterAccessory")
1016
	HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
1017
	HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
1018
1019
	athp.Position = Vector3.new(0,-1.75,0)
1020
	atho.Rotation = Vector3.new(0,0,48)
1021
end
1022
LWP3.Parent = leftWing
1023
local RWP1 = WingPiece:Clone();
1024
if MPASword[1] then
1025
	for _,v in pairs(RWP1:GetChildren()) do
1026
		if v:IsA("BasePart") then
1027
			v.Transparency = 1
1028
		end
1029
	end
1030
	local athp = Instance.new("Attachment",RWP1.PrimaryPart)
1031
	local atho = Instance.new("Attachment",RWP1.PrimaryPart)
1032
1033
	local HatChoice = MPASword[1]
1034
	HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
1035
	HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
1036
1037
	athp.Position = Vector3.new(0,-2,0)
1038
	atho.Rotation = Vector3.new(0,0,45)
1039
	table.remove(MPASword,1)
1040
end
1041
RWP1.Parent = rightWing
1042
local RWP2 = WingPiece:Clone();
1043
if MPASword[1] then
1044
	for _,v in pairs(RWP2:GetChildren()) do
1045
		if v:IsA("BasePart") then
1046
			v.Transparency = 1
1047
		end
1048
	end
1049
	local athp = Instance.new("Attachment",RWP2.PrimaryPart)
1050
	local atho = Instance.new("Attachment",RWP2.PrimaryPart)
1051
1052
	local HatChoice = MPASword[1]
1053
	HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
1054
	HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
1055
1056
	athp.Position = Vector3.new(0,-2,0)
1057
	atho.Rotation = Vector3.new(0,0,45)
1058
	table.remove(MPASword,1)
1059
end
1060
RWP2.Parent = rightWing
1061
local RWP3 = WingPiece:Clone();
1062
if Char:FindFirstChild("ShadowBladeMasterAccessory") then
1063
	for _,v in pairs(RWP3:GetChildren()) do
1064
		if v:IsA("BasePart") then
1065
			v.Transparency = 1
1066
		end
1067
	end
1068
	local athp = Instance.new("Attachment",RWP3.PrimaryPart)
1069
	local atho = Instance.new("Attachment",RWP3.PrimaryPart)
1070
1071
	local HatChoice = Char:FindFirstChild("ShadowBladeMasterAccessory")
1072
	HatChoice.Handle:FindFirstChildOfClass("AlignPosition").Attachment1 = athp
1073
	HatChoice.Handle:FindFirstChildOfClass("AlignOrientation").Attachment1 = atho
1074
1075
	athp.Position = Vector3.new(0,-1.75,0)
1076
	atho.Rotation = Vector3.new(0,0,48)
1077
end
1078
RWP3.Parent = rightWing
1079
local LWP1W=Weld(LWP1.PrimaryPart,Torso,CF.N(2,-2,-1)*CF.A(0,0,0))
1080
local LWP2W=Weld(LWP2.PrimaryPart,Torso,CF.N(4.25,-1,-1)*CF.A(0,0,M.R(15)))
1081
local LWP3W=Weld(LWP3.PrimaryPart,Torso,CF.N(6.5,.5,-1)*CF.A(0,0,M.R(30)))
1082
local RWP1W=Weld(RWP1.PrimaryPart,Torso,CF.N(-2,-2,-1)*CF.A(0,0,0))
1083
local RWP2W=Weld(RWP2.PrimaryPart,Torso,CF.N(-4.25,-1,-1)*CF.A(0,0,M.R(-15)))
1084
local RWP3W=Weld(RWP3.PrimaryPart,Torso,CF.N(-6.5,.5,-1)*CF.A(0,0,M.R(-30)))
1085
1086
local bbg=Head:FindFirstChild'Nametag' or NewInstance("BillboardGui",Head,{
1087
	Adornee=Head;
1088
	Name='Nametag';
1089
	Size=UDim2.new(4,0,1.2,0);
1090
	StudsOffset=V3.N(-8,5.3,0);
1091
})
1092
local text=bbg:FindFirstChild'TextLabel' or NewInstance("TextLabel",bbg,{
1093
	Size=UDim2.new(5,0,3.5,0);
1094
	TextScaled=true;
1095
	BackgroundTransparency=1;
1096
	TextStrokeTransparency=0;
1097
	Font=Enum.Font.Arcade;
1098
	TextColor3=C3.N(1,1,1);
1099
	Text='Achromatic'
1100
})
1101
1102
function getMode(modeName)
1103
	for i,v in next, modeInfo do
1104
		if(v.Name==modeName)then
1105
			return v
1106
		end
1107
	end
1108
	return modeInfo[1]
1109
end
1110
1111
function IsVaporwave(song)
1112
	for i = 1,#VaporwaveSongs do
1113
		if(VaporwaveSongs[i]==song)then
1114
			return true
1115
		end
1116
	end
1117
	return false
1118
end
1119
1120
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))})
1121
1122
function changeMudo(modeName)
1123
	local info = getMode(modeName)
1124
	Mode=info.Name
1125
	WalkSpeed=info.Walkspeed
1126
	movement=info.moveVal
1127
	music=makeMusic(info.Music or 0,info.Pitch or 1,info.TimePos or music and music.TimePosition or 0)
1128
	WingAnim=info.WingAnim or 'NebG1'
1129
	text.Text = info.Name
1130
	text.TextColor3 = info.LeftWing[2]
1131
	text.TextStrokeColor3 = info.StrokeColor
1132
	text.Font=info.Font;
1133
	if(Mode=='Love' or Mode=='Lust')then
1134
		blush.Transparency=0
1135
		blush.Texture='rbxassetid://2664127437'
1136
	else
1137
		blush.Transparency=1
1138
		blush.Texture='rbxassetid://0'
1139
	end
1140
	for _,v in next,leftWing:GetDescendants() do
1141
		if(v:IsA'BasePart' and v.Name~='Main')then
1142
			--v.Transparency=info.LeftWing[1]
1143
			v.Color=info.LeftWing[2]
1144
			v.Material=info.LeftWing[3]
1145
		elseif(v:IsA'Trail')then
1146
			--v.Transparency=NumberSequence.new(info.LeftWing[1],1)
1147
			v.Color=ColorSequence.new(info.LeftWing[2])	
1148
		end
1149
	end
1150
	
1151
	for _,v in next,rightWing:GetDescendants() do
1152
		if(v:IsA'BasePart' and v.Name~='Main')then
1153
			--v.Transparency=info.RightWing[1]
1154
			v.Color=info.RightWing[2]
1155
			v.Material=info.RightWing[3]
1156
		elseif(v:IsA'Trail')then
1157
			--v.Transparency=NumberSequence.new(info.RightWing[1],1)
1158
			v.Color=ColorSequence.new(info.RightWing[2])	
1159
		end
1160
	end
1161
	
1162
	PrimaryColor = info.PrimaryColor or info.LeftWing[2]
1163
end
1164
1165
function changeMode(modeName)
1166
	changeMudo(modeName)
1167
end	
1168
1169
function syncStuff(data)
1170
	local neut,legwelds,c0s,c1s,sine,mov,walk,inc,musicmode,tpos,pit,wingsin,visSett,mode,newhue=unpack(data)
1171
	local head0,torso0,rleg0,rarm0,lleg0,larm0=unpack(c0s)
1172
	local head1,torso1,rleg1,rarm1,lleg1,larm1=unpack(c1s)
1173
	legAnims=legwelds
1174
	NeutralAnims=neut
1175
	if(not neut)then
1176
		NK.C0=head0
1177
		RJ.C0=torso0
1178
		RH.C0=rleg0
1179
		RS.C0=rarm0
1180
		LH.C0=lleg0
1181
		LS.C0=larm0
1182
		
1183
		NK.C1=head1
1184
		RJ.C1=torso1
1185
		RH.C1=rleg1
1186
		RS.C1=rarm1
1187
		LH.C1=lleg1
1188
		LS.C1=larm1
1189
	end
1190
	if(Mode~=mode)then
1191
		changeMudo(mode)
1192
	end
1193
	movement=mov
1194
	walking=walk
1195
	Change=inc
1196
	print(MusicMode,musicmode)
1197
	if(musicmode~=MusicMode and music)then
1198
		MusicMode=musicmode
1199
		if(MusicMode==1)then
1200
			music:Pause()
1201
			music.Volume=5
1202
			music.Parent=Torso
1203
			music:Resume()
1204
		elseif(MusicMode==2)then
1205
			music:Pause()
1206
			music.Volume=5
1207
			music.Parent=Char
1208
			music:Resume()
1209
		elseif(MusicMode==3)then
1210
			music.Volume = 0
1211
		end
1212
	end
1213
	if(Sine-sine>.8 or Sine-sine<-.8)then
1214
		Sine=sine
1215
	end
1216
	if(hue-newhue>.8 or hue-newhue<-.8)then
1217
		hue=newhue
1218
	end
1219
	if(WingSine-wingsin>.8 or WingSine-wingsin<-.8)then
1220
		WingSine=wingsin
1221
	end
1222
	if(music and (music.TimePosition-tpos>.8 or music.TimePosition-tpos<-.8))then
1223
		music.TimePosition=tpos
1224
	end
1225
	if(music and pit)then
1226
		music.Pitch = pit
1227
	end
1228
	if(Mode=='Troubadour' and music.SoundId~='rbxassetid://'..visSett.Music)then
1229
		music.SoundId='rbxassetid://'..visSett.Music
1230
	end
1231
	getMode('Troubadour').Music = visSett.Music
1232
	getMode('Troubadour').Pitch = visSett.Pitch
1233
end
1234
1235
1236
local footstepSounds = {
1237
	[Enum.Material.Grass]=510933218;
1238
	[Enum.Material.Metal]=1263161138;
1239
	[Enum.Material.CorrodedMetal]=1263161138;
1240
	[Enum.Material.DiamondPlate]=1263161138;
1241
	[Enum.Material.Wood]=2452053757;
1242
	[Enum.Material.WoodPlanks]=2452053757;
1243
	[Enum.Material.Sand]=134456884;
1244
	[Enum.Material.Snow]=2452051182;
1245
}
1246
1247
1248
function Vaporwaveify(s)
1249
	local function wide(a)
1250
		if a<'!' or a>'~' then return a end
1251
		if a==' ' then return '  ' end 
1252
		a = a:byte()+160
1253
		if a<256 then return string.char(239,188,a-64) end
1254
		return string.char(239,189,a-128)
1255
	end
1256
	return(s:gsub(".",wide))
1257
end
1258
1259
1260
1261
function Choot(text)
1262
	--if(game.PlaceId ~= 843468296)then
1263
		coroutine.wrap(function()
1264
			if(Char:FindFirstChild'ChatGUI')then Char.ChatGUI:destroy() end
1265
			local BBG = NewInstance("BillboardGui",Char,{Name='ChatGUI',Size=UDim2.new(0,100,0,40),StudsOffset=V3.N(0,2,0),Adornee=Head})
1266
			local Txt = NewInstance("TextLabel",BBG,{Text = "",BackgroundTransparency=1,TextColor3=PrimaryColor,BorderSizePixel=0,Font=Enum.Font.Antique,TextSize=50,TextStrokeTransparency=1,Size=UDim2.new(1,0,.5,0)})
1267
			for i = 1, #text do
1268
				--Txt.Text = Vaporwaveify(text:sub(1,i))
1269
				Txt.TextColor3=(Mode=='Troubadour' and Color3.fromHSV(hue/360,1,math.clamp(music.PlaybackLoudness/475,0,1)) or PrimaryColor)
1270
				if(vaporwaveMode and Mode=='Troubadour')then
1271
					Txt.Text = Vaporwaveify(text:sub(1,i))
1272
				else
1273
					Txt.Text = text:sub(1,i)
1274
				end
1275
				wait((vaporwaveMode) and .1 or .025)
1276
			end
1277
			for i = 0, 60 do
1278
				Txt.TextColor3=(Mode=='Troubadour' and Color3.fromHSV(hue/360,1,math.clamp(music.PlaybackLoudness/475,0,1)) or PrimaryColor)
1279
				swait()
1280
			end
1281
			for i = 0, 1, .025 do
1282
				Txt.TextTransparency=i
1283
				swait()
1284
			end
1285
			BBG:destroy()
1286
		end)()
1287
	--else
1288
	--	Chat2(text)
1289
	--end
1290
end
1291
1292
function Chat(text)
1293
	Choot(text)
1294
end
1295
1296
function DealDamage(...)
1297
	return true
1298
end
1299
1300
function getRegion(point,range,ignore)
1301
    return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
1302
end
1303
function AOEDamage(where,range,options)
1304
	local hit = {}
1305
	for _,v in next, getRegion(where,range,{Char}) do
1306
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent:FindFirstChildOfClass'Humanoid'])then
1307
			local callTable = {Who=v.Parent}
1308
			hit[v.Parent:FindFirstChildOfClass'Humanoid'] = true
1309
			for _,v in next, options do callTable[_] = v end
1310
			DealDamage(callTable)
1311
		end
1312
	end
1313
	return hit
1314
end
1315
1316
1317
function Click1()
1318
	Attack=true
1319
	NeutralAnims=false
1320
	legAnims=false
1321
	local orig = WalkSpeed
1322
	WalkSpeed=4
1323
	for i = 0, 1, 0.1 do
1324
		swait()
1325
		local Alpha = .3
1326
		RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(-44.6),M.R(0)),Alpha)
1327
		LH.C0 = LH.C0:lerp(CF.N(-0.8,-1,-0.3)*CF.A(M.R(-17.4),M.R(44.4),M.R(7.1)),Alpha)
1328
		RH.C0 = RH.C0:lerp(CF.N(0.4,-1,0)*CF.A(M.R(1.6),M.R(-13.1),M.R(7)),Alpha)
1329
		LS.C0 = LS.C0:lerp(CF.N(-1.3,0.5,-0.3)*CF.A(M.R(90),M.R(0),M.R(-44.6)),Alpha)
1330
		RS.C0 = RS.C0:lerp(CF.N(1.4,0.5,-0.1)*CF.A(M.R(90),M.R(0),M.R(-44.6)),Alpha)
1331
		NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(44.6),M.R(0)),Alpha)
1332
	end
1333
	for i = 0, 1, 0.1 do
1334
		swait()
1335
		AOEDamage(RArm.CFrame.p,2,{
1336
			DamageColor=(Mode=='Troubadour' and C3.HSV(hue/360,1,math.clamp(music.PlaybackLoudness/475,0,1)) or PrimaryColor);
1337
			MinimumDamage=5;
1338
			MaximumDamage=15;
1339
		})
1340
		local Alpha = .3
1341
		RJ.C0 = RJ.C0:lerp(CF.N(0,0,-0.7)*CF.A(M.R(0),M.R(50.5),M.R(0)),Alpha)
1342
		LH.C0 = LH.C0:lerp(CF.N(-0.5,-0.7,-0.6)*CF.A(M.R(-26),M.R(0),M.R(0)),Alpha)
1343
		RH.C0 = RH.C0:lerp(CF.N(0.6,-1.1,-0.1)*CF.A(M.R(20.2),M.R(-47.6),M.R(15.2)),Alpha)
1344
		LS.C0 = LS.C0:lerp(CF.N(-1.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(-20.4)),Alpha)
1345
		RS.C0 = RS.C0:lerp(CF.N(1.4,0.5,-0.5)*CF.A(M.R(90),M.R(0),M.R(50.5)),Alpha)
1346
		NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(-50.5),M.R(0)),Alpha)
1347
	end
1348
	WalkSpeed=orig
1349
	legAnims=true
1350
	Attack=false
1351
	NeutralAnims=true
1352
end
1353
1354
function SwordSummon()
1355
	Attack = true
1356
	NeutralAnims = false
1357
	local orig=WalkSpeed
1358
	WalkSpeed=4
1359
	legAnims=false
1360
	for i = 0, 1, 0.1 do
1361
		swait()
1362
		local Alpha = .3
1363
		Effect{
1364
			Lifetime=.25;
1365
			Mesh={Type=Enum.MeshType.Sphere};
1366
			CFrame=RArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
1367
			Color=PrimaryColor;
1368
			Transparency={.5,1};
1369
			Material=Enum.Material.Neon;
1370
			Size=Vector3.new(.6,1,.6);
1371
			EndSize=Vector3.new(.1,3,.1);
1372
		}
1373
		RJ.C0 = RJ.C0:lerp(CF.N(0,-0.2,-0.1)*CF.A(M.R(-12.4),M.R(-15.7),M.R(0)),Alpha)
1374
		LH.C0 = LH.C0:lerp(CF.N(-0.5,-0.7,-0.5)*CF.A(M.R(16.2),M.R(15.2),M.R(-0.8)),Alpha)
1375
		RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(-28.5),M.R(0),M.R(0)),Alpha)
1376
		LS.C0 = LS.C0:lerp(CF.N(-1.4,0.5,0)*CF.A(M.R(27.2),M.R(-3.8),M.R(-5)),Alpha)
1377
		RS.C0 = RS.C0:lerp(CF.N(1.3,0.6,0)*CF.A(M.R(-33.8),M.R(-18.1),M.R(24.8)),Alpha)
1378
		NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(13.4),M.R(15.3),M.R(-3.6)),Alpha)
1379
	end
1380
	for i = 0, 5 do
1381
		delay(.05*i,function()
1382
			local pos = Root.CFrame*CF.N(0,-2,-2-i*4)*CF.A(M.R(80),0,0)
1383
			local pos2 = Root.CFrame*CF.N(0,-3,-2-i*4)
1384
			Camshake({
1385
			    Duration=.2;
1386
				FadeOut=.2;
1387
			    Intensity=1.5;
1388
			    Position=Vector3.new(.5,.5,.5);
1389
			    Rotation=Vector3.new(.5,.5,3);
1390
			    DropDist=15;
1391
			    IneffectiveDist=40;
1392
			    Origin=pos2;
1393
			})
1394
			AOEDamage(pos.p,5,{
1395
				DamageColor=(Mode=='Troubadour' and C3.HSV(hue/360,1,math.clamp(music.PlaybackLoudness/475,0,1)) or PrimaryColor);
1396
				MinimumDamage=(Mode=='Troubadour' and music.PlaybackLoudness/10 or 10);
1397
				MaximumDamage=(Mode=='Troubadour' and music.PlaybackLoudness/8 or 35);
1398
			})
1399
			SoundPart(178452221,1,2,false,true,true,pos)
1400
			Effect{
1401
				Lifetime=.4;
1402
				Part='Sword',
1403
				--Mesh={Type=Enum.MeshType.Sphere};
1404
				CFrame=pos;
1405
				Color=PrimaryColor;
1406
				Transparency={0,1};
1407
				Material=Enum.Material.Neon;
1408
				Size=V3.N(0.8,2.5,6.8);
1409
				EndSize=V3.N(0.8,2.5,16);
1410
			}
1411
			Effect{
1412
				Lifetime=.4;
1413
				Mesh={Type=Enum.MeshType.Sphere};
1414
				CFrame=pos2;
1415
				Color=PrimaryColor;
1416
				Transparency={0,1};
1417
				Material=Enum.Material.Neon;
1418
				Size=V3.N(4,.1,4);
1419
				EndSize=V3.N(6,.1,6);
1420
			}
1421
			Effect{
1422
				Lifetime=.1;
1423
				Mesh={Type=Enum.MeshType.Sphere};
1424
				CFrame=pos;
1425
				Color=PrimaryColor;
1426
				Transparency={0,1};
1427
				Material=Enum.Material.Neon;
1428
				Size=V3.N(7,7,7);
1429
				EndSize=V3.N(12,12,12);
1430
			}
1431
			for i = 1, 5 do
1432
				Effect{
1433
					Lifetime=.5;
1434
					Mesh={Type=Enum.MeshType.Sphere};
1435
					CFrame=pos;
1436
					Color=PrimaryColor;
1437
					Transparency={0,1};
1438
					Material=Enum.Material.Neon;
1439
					Size=V3.N(1,1,1);
1440
					EndSize=V3.N(1,1,1);
1441
					Acceleration={Force=V3.N(M.RNG(-75,75)/100,M.RNG(-75,75)/100,M.RNG(-75,75)/100)};
1442
				}
1443
			end
1444
		end)
1445
	end
1446
	for i = 0, 1, 0.1 do
1447
		swait()
1448
		local Alpha = .3
1449
		RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(70.7),M.R(0)),Alpha)
1450
		LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(-14.4)),Alpha)
1451
		RH.C0 = RH.C0:lerp(CF.N(0.6,-1,0)*CF.A(M.R(15.1),M.R(-63.2),M.R(13.5)),Alpha)
1452
		LS.C0 = LS.C0:lerp(CF.N(-1.3,0.6,-0.1)*CF.A(M.R(0),M.R(15.9),M.R(-25.4)),Alpha)
1453
		RS.C0 = RS.C0:lerp(CF.N(1.4,0.3,-0.2)*CF.A(M.R(0),M.R(19.3),M.R(157.1)),Alpha)
1454
		NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(-70.7),M.R(0)),Alpha)
1455
	end
1456
	legAnims=true
1457
	WalkSpeed=orig
1458
	Attack = false
1459
	NeutralAnims = true
1460
end
1461
1462
function Bombs()
1463
	Attack=true
1464
	NeutralAnims=false
1465
	legAnims=false
1466
	local orig = WalkSpeed
1467
	WalkSpeed=0
1468
	for i = 0, 1, 0.1 do
1469
		swait()
1470
		local Alpha = .3
1471
		RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
1472
		LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
1473
		RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
1474
		LS.C0 = LS.C0:lerp(CF.N(-1.3,0.5,-0.5)*CF.A(M.R(90),M.R(0),M.R(19.1)),Alpha)
1475
		RS.C0 = RS.C0:lerp(CF.N(1.3,0.5,-0.5)*CF.A(M.R(90),M.R(0),M.R(-21.3)),Alpha)
1476
		NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
1477
	end
1478
	coroutine.wrap(function()
1479
		for i = 0, 2 do
1480
			Camshake({
1481
			    Duration=.2;
1482
				FadeOut=.2;
1483
			    Intensity=1.5;
1484
			    Position=Vector3.new(.5,.5,.5);
1485
			    Rotation=Vector3.new(.5,.5,3);
1486
			    DropDist=15;
1487
			    IneffectiveDist=40;
1488
			    Origin=Root.CFrame*CF.N(0,0,-4-i*4);
1489
			})
1490
			SoundPart(206083252,.8,4,false,true,true,Root.CFrame*CF.N(0,0,-4-i*4))
1491
			AOEDamage(Root.CFrame*CF.N(0,0,-4-i*4).p,5,{
1492
				DamageColor=PrimaryColor;
1493
				MinimumDamage=25;
1494
				MaximumDamage=45;
1495
			})
1496
			Effect{
1497
				Lifetime=.4;
1498
				Mesh={Type=Enum.MeshType.Sphere};
1499
				Color=PrimaryColor;
1500
				Material=Enum.Material.Neon;
1501
				CFrame=Root.CFrame*CF.N(0,0,-4-i*4);
1502
				Size=V3.N(1,1,1);
1503
				EndSize=V3.N(10,10,10);
1504
			}
1505
			Effect{
1506
				Lifetime=.4;
1507
				Part='Ring';
1508
				Color=PrimaryColor;
1509
				Material=Enum.Material.Neon;
1510
				CFrame=Root.CFrame*CF.N(0,0,-4-i*4)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
1511
				RotInc={M.RNG(-25,25)/100,M.RNG(-25,25)/100,M.RNG(-25,25)/100};
1512
				Size=V3.N(4,4,.2);
1513
				EndSize=V3.N(13,13,.2);
1514
			}
1515
			Effect{
1516
				Lifetime=.4;
1517
				Part='Ring';
1518
				Color=PrimaryColor;
1519
				Material=Enum.Material.Neon;
1520
				CFrame=Root.CFrame*CF.N(0,0,-4-i*4)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
1521
				RotInc={M.RNG(-25,25)/100,M.RNG(-25,25)/100,M.RNG(-25,25)/100};
1522
				Size=V3.N(4,4,.2);
1523
				EndSize=V3.N(13,13,.2);
1524
			}
1525
			swait(4)
1526
		end
1527
	end)()
1528
	for i = 0, 1, 0.1 do
1529
		swait()
1530
		local Alpha = .3
1531
		RJ.C0 = RJ.C0:lerp(CF.N(0,-0.2,0.7)*CF.A(M.R(18.2),M.R(0),M.R(0)),Alpha)
1532
		LH.C0 = LH.C0:lerp(CF.N(-0.5,-1.1,-0.4)*CF.A(M.R(-33.4),M.R(0),M.R(0)),Alpha)
1533
		RH.C0 = RH.C0:lerp(CF.N(0.5,-0.9,-0.2)*CF.A(M.R(-6.7),M.R(0),M.R(0)),Alpha)
1534
		LS.C0 = LS.C0:lerp(CF.N(-1.4,0.4,0.1)*CF.A(M.R(90.7),M.R(-2.5),M.R(-50)),Alpha)
1535
		RS.C0 = RS.C0:lerp(CF.N(1.4,0.5,0.2)*CF.A(M.R(89.5),M.R(2.6),M.R(50)),Alpha)
1536
		NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
1537
	end
1538
	WalkSpeed=orig
1539
	legAnims=true
1540
	Attack=false
1541
	NeutralAnims=true
1542
end
1543
1544
1545
function ClickCombo()
1546
	ClickTimer=180
1547
	if(Combo==1)then
1548
		Click1()
1549
		Combo=2
1550
	elseif(Combo==2)then
1551
		SwordSummon()
1552
		Combo=3
1553
	elseif(Combo==3)then
1554
		Bombs()
1555
		Combo=1
1556
	end
1557
end
1558
	
1559
function VaporTaunt()
1560
	Attack = true
1561
	NeutralAnims = false
1562
	local orig=WalkSpeed
1563
	WalkSpeed=0
1564
	legAnims=false
1565
	Chat"You need to chill out.."
1566
	for i = 0, 14, 0.1 do
1567
		swait()
1568
		local Alpha = .1
1569
		RJ.C0 = RJ.C0:lerp(CF.N(-0.1,-0.1-.1*M.S(Sine/36),0.6)*CF.A(M.R(55.3+2.5*M.C(Sine/36)),M.R(0),M.R(0)),Alpha)
1570
		LH.C0 = LH.C0:lerp(CF.N(-0.6,-1.2,-0.1)*CF.A(M.R(56.3+10*M.C(Sine/36)),M.R(0),M.R(24)),Alpha)
1571
		RH.C0 = RH.C0:lerp(CF.N(0.9,-1.2,-0.2)*CF.A(M.R(25+5*M.C(Sine/36)),M.R(3.5),M.R(-43.9)),Alpha)
1572
		LS.C0 = LS.C0:lerp(CF.N(-1,0.8,0)*CF.A(M.R(11.4-5*M.C(Sine/42)),M.R(-3.3),M.R(137.5)),Alpha)
1573
		RS.C0 = RS.C0:lerp(CF.N(1.4,0.5,-0.2)*CF.A(M.R(61-5*M.C(Sine/42)),M.R(0),M.R(0)),Alpha)
1574
		NK.C0 = NK.C0:lerp(CF.N(0,1.4,-0.3)*CF.A(M.R(-38.9-5*M.C(Sine/42)),M.R(0),M.R(0)),Alpha)
1575
	end
1576
	legAnims=true
1577
	WalkSpeed=orig
1578
	Attack = false
1579
	NeutralAnims = true
1580
end
1581
1582
1583
1584
UIS.InputBegan:connect(function(io,gpe)
1585
	if(gpe or Attack or data.User~=data.Local)then return end
1586
	--MODES
1587
	if(io.KeyCode == Enum.KeyCode.One and Mode~='Achromatic')then 
1588
		changeMode'Achromatic'
1589
	elseif(io.KeyCode == Enum.KeyCode.Two and Mode~='Iniquitous')then 
1590
		changeMode'Iniquitous'
1591
	elseif(io.KeyCode == Enum.KeyCode.Three and Mode~='Mythical')then 
1592
		changeMode'Mythical'
1593
	elseif(io.KeyCode == Enum.KeyCode.Four and Mode~='Ruined')then 
1594
		changeMode'Ruined'
1595
	elseif(io.KeyCode == Enum.KeyCode.Five and Mode~='Atramentous')then 
1596
		changeMode'Atramentous'
1597
	elseif(io.KeyCode == Enum.KeyCode.Six and Mode~='Subzero')then 
1598
		changeMode'Subzero'
1599
	elseif(io.KeyCode == Enum.KeyCode.Seven and Mode~='Troubadour')then 
1600
		changeMode'Troubadour'
1601
	elseif(io.KeyCode == Enum.KeyCode.Eight and Mode~='Infectious')then 
1602
		changeMode'Infectious'
1603
	elseif(io.KeyCode == Enum.KeyCode.Nine and Mode~='Love')then 
1604
		changeMode'Love'
1605
	elseif(io.KeyCode == Enum.KeyCode.T and Mode=='Achromatic')then 
1606
		changeMode'The Big Black'
1607
	elseif(io.KeyCode == Enum.KeyCode.T and Mode=='Mythical')then 
1608
		changeMode'Legendary'
1609
1610
	elseif(io.KeyCode == Enum.KeyCode.T and Mode=='Love')then 
1611
		changeMode'Lust'
1612
	--TOGGLE MUSIC
1613
	elseif(io.KeyCode == Enum.KeyCode.M and getMode(Mode))then 
1614
		MusicMode=MusicMode+1
1615
		if(MusicMode>3)then MusicMode=1 end
1616
		if(MusicMode==1)then
1617
			music:Pause()
1618
			music.Volume=5
1619
			music.Parent=Torso
1620
			music:Resume()
1621
		elseif(MusicMode==2)then
1622
			music:Pause()
1623
			music.Volume=5
1624
			music.Parent=Char
1625
			music:Resume()
1626
		elseif(MusicMode==3)then
1627
			music.Volume = 0
1628
		end
1629
	elseif(io.KeyCode==Enum.KeyCode.B)then
1630
		--TAUNTS
1631
		if(vaporwaveMode and Mode=='Troubadour')then
1632
			VaporTaunt()
1633
		end
1634
	end
1635
	if(vaporwaveMode)then return end
1636
	--ATTACKS
1637
	if(io.UserInputType==Enum.UserInputType.MouseButton1)then
1638
		ClickCombo()
1639
	end
1640
end)
1641
1642
WingAnims.StarG=function()
1643
	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)
1644
	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)
1645
	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)
1646
	
1647
	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)
1648
	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)
1649
	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)
1650
end
1651
1652
WingAnims.Cytus=function()
1653
	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)
1654
	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)
1655
	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)
1656
	
1657
	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)
1658
	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)
1659
	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)
1660
end
1661
1662
WingAnims.Aprins=function()
1663
	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)
1664
	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)
1665
	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)
1666
	
1667
	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)
1668
	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)
1669
	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)
1670
end
1671
1672
WingAnims.NebG1=function()
1673
	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)
1674
	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)
1675
	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)
1676
	
1677
	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)
1678
	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)
1679
	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)
1680
end
1681
1682
WingAnims.NebG2=function(div)
1683
	div=div or 25
1684
	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)
1685
	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)
1686
	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)
1687
	
1688
	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)
1689
	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)
1690
	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)
1691
end
1692
1693
WingAnims.NebG3=function(mult)
1694
	mult=mult or 1
1695
	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)
1696
	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)
1697
	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)
1698
	
1699
	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)
1700
	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)
1701
	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)
1702
end
1703
1704
WingAnims.LustFrench=function()
1705
	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)
1706
	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)
1707
	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)
1708
	
1709
	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)
1710
	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)
1711
	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)
1712
end
1713
1714
if(data.User==data.Local)then
1715
	Player.Chatted:connect(function(m)
1716
		if(m:sub(1,3) == "/e")then m=m:sub(4) end
1717
		if(m:sub(1,5) == "play/")then
1718
			getMode('Troubadour').Music=Playlist[m:sub(6)] or tonumber(m:sub(6)) or 0
1719
			music.SoundId="rbxassetid://"..getMode('Troubadour').Music;
1720
		elseif(m:sub(1,5) == "tpos/")then
1721
			music.TimePosition = tonumber(m:sub(6)) or 0
1722
		elseif(m:sub(1,6) == "pitch/")then
1723
			music.Pitch = tonumber(m:sub(7)) or 0
1724
			getMode('Troubadour').Pitch=music.Pitch
1725
		end
1726
	end)
1727
end
1728
1729
	
1730
while true do
1731
	swait()
1732
	ClickTimer=math.max(ClickTimer-1,0)
1733
	if(ClickTimer<=0 and Combo~=1)then
1734
		print('reset')
1735
		Combo=1
1736
	end
1737
	Sine=Sine+Change
1738
	hue=hue+1
1739
	if(hue>360)then hue=1 end
1740
	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]})
1741
	local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
1742
	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")
1743
	Hum.WalkSpeed = WalkSpeed
1744
	local sidevec = math.clamp((Torso.Velocity*Torso.CFrame.rightVector).X+(Torso.Velocity*Torso.CFrame.rightVector).Z,-Hum.WalkSpeed,Hum.WalkSpeed)
1745
	local forwardvec =  math.clamp((Torso.Velocity*Torso.CFrame.lookVector).X+(Torso.Velocity*Torso.CFrame.lookVector).Z,-Hum.WalkSpeed,Hum.WalkSpeed)
1746
	local sidevelocity = sidevec/Hum.WalkSpeed
1747
	local forwardvelocity = forwardvec/Hum.WalkSpeed
1748
	
1749
	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]})
1750
	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]})
1751
	if(Mode=='Troubadour' and IsVaporwave(getMode'Troubadour'.Music))then
1752
		vaporwaveMode=true
1753
		text.Text='Vaporwave'
1754
		WingAnim='NebG3'
1755
	else
1756
		if(Mode=='Troubadour')then
1757
			text.Text='Troubadour'
1758
			WingAnim=getMode'Troubadour'.WingAnim
1759
		end
1760
		vaporwaveMode=false
1761
	end
1762
	
1763
	if(Mode~='Lust' and WingAnim and WingAnims[WingAnim])then
1764
		WingAnims[WingAnim]()
1765
	elseif(Mode=='Lust')then
1766
		if(State=='Idle')then
1767
			WingAnims.LustFrench()
1768
		else
1769
			WingAnims.NebG3(1)	
1770
		end
1771
	elseif(WingAnim and typeof(WingAnim)=='table' and WingAnims[WingAnim[1]])then
1772
		local gay={unpack(WingAnim)};
1773
		table.remove(gay,1)
1774
		WingAnims[WingAnim[1]](unpack(gay))
1775
	else
1776
		WingAnims.NebG1()
1777
	end
1778
	
1779
	if(Mode=='Troubadour' and NeutralAnims)then
1780
		WingSine=WingSine+(0.1+music.PlaybackLoudness/300)
1781
	else
1782
		WingSine=WingSine+1
1783
	end
1784
	
1785
	if(music)then
1786
		if(Mode=='Troubadour')then
1787
			local clr = Color3.fromHSV(hue/360,1,math.clamp(music.PlaybackLoudness/475,0,1))
1788
			local clr2 = Color3.fromHSV(hue/360,1,math.clamp(music.PlaybackLoudness/950,0,1))
1789
			text.TextColor3 = clr
1790
			PrimaryColor = clr2
1791
			for _,v in next, wingModel:GetDescendants() do
1792
				if(v:IsA'BasePart')then
1793
					v.Color = clr2
1794
				elseif(v:IsA'Trail')then
1795
					v.Color = ColorSequence.new(clr2)
1796
				end
1797
			end
1798
		end
1799
	end
1800
	
1801
	if(Mode=='The Big Black')then
1802
		local pos = Head.Position
1803
		local dist = (camera.CFrame.p-pos).magnitude
1804
		local DropDist = 1
1805
		local IneffectiveDist = 15
1806
		local modifier = dist < DropDist and 1 or dist < IneffectiveDist and (0 - 1) / (IneffectiveDist - DropDist) * (dist - DropDist) + 1 or 0
1807
	end
1808
	
1809
	if(Mode=='Troubadour' and data.User==data.Local)then
1810
		Tween(camera,{FieldOfView=70-(music.PlaybackLoudness/20)},.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out)
1811
	else
1812
		Tween(camera,{FieldOfView=70},.2,Enum.EasingStyle.Linear,Enum.EasingDirection.Out)
1813
	end
1814
	
1815
	if(State == 'Idle')then
1816
		if(Mode=='Troubadour' and NeutralAnims and not vaporwaveMode)then Change = 0.1+music.PlaybackLoudness/200 else Change = 1 end
1817
		if(Mode=='Achromatic')then
1818
			local Alpha = .1
1819
			if(NeutralAnims)then	
1820
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(M.R(0+1*M.S(Sine/64)),M.R(5),0),Alpha)
1821
				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-10-2.5*M.S(Sine/32)),M.R(-5),0),Alpha)
1822
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(0,M.R(5+5*M.C(Sine/32)),M.R(-10-5*M.C(Sine/32))),Alpha)
1823
				RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(0,M.R(5-5*M.C(Sine/32)),M.R(10+5*M.C(Sine/32))),Alpha)
1824
			end
1825
			if(legAnims)then 
1826
				if(NeutralAnims)then
1827
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0),Alpha)
1828
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(0,M.R(-5),0),Alpha)
1829
				else
1830
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1831
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1832
				end
1833
			end
1834
		elseif(Mode=='Iniquitous')then
1835
			local Alpha = .1
1836
			if(NeutralAnims)then	
1837
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(M.R(0+3*M.S(Sine/64)),0,0),Alpha)
1838
				if(M.RNG(1,45)==1)then
1839
					NK.C0 = NK.C0:lerp(NKC0*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25)),.8)
1840
				else
1841
					NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-10-2.5*M.S(Sine/32)),0,0),Alpha)
1842
				end
1843
				LS.C0 = LS.C0:lerp(LSC0*CF.N(.3,0+.05*M.S(Sine/32),.1)*CF.A(M.R(-35),M.R(5+2.5*M.C(Sine/32)),M.R(35-1.5*M.C(Sine/32))),Alpha)
1844
				RS.C0 = RS.C0:lerp(RSC0*CF.N(-.3,0+.05*M.S(Sine/32),.1)*CF.A(M.R(-25),M.R(5-2.5*M.C(Sine/32)),M.R(-35+1.5*M.C(Sine/32))),Alpha)
1845
			end
1846
			if(legAnims)then 
1847
				if(NeutralAnims)then
1848
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(0,0,M.R(-2.5)),Alpha)
1849
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(0,0,M.R(2.5)),Alpha)
1850
				else
1851
					LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-2.5)),Alpha)
1852
					RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(2.5)),Alpha)
1853
				end
1854
			end
1855
		elseif(Mode=='Mythical')then
1856
			local Alpha = .1
1857
			if(NeutralAnims)then	
1858
				GotEffect{
1859
					Lifetime=.5;
1860
					Mesh={Type=Enum.MeshType.Sphere};
1861
					CFrame=LArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
1862
					Color=BrickColor.new'Alder'.Color;
1863
					Transparency={.5,1};
1864
					Material=Enum.Material.Neon;
1865
					Size=Vector3.new(.3,2,.3);
1866
					EndSize=Vector3.new(.1,1,.1);
1867
				}
1868
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(M.R(0+1*M.S(Sine/64)),M.R(-15),0),Alpha)
1869
				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-10-2.5*M.S(Sine/32)),M.R(15),0),Alpha)
1870
				LS.C0 = LS.C0:lerp(LSC0*CF.N(.5,0+.05*M.S(Sine/32),-.5)*CF.A(M.R(15+1.5*M.C(Sine/51)),M.R(5+5*M.C(Sine/57)),M.R(85-5*M.C(Sine/46))),Alpha)
1871
				RS.C0 = RS.C0:lerp(RSC0*CF.N(-.3,0+.05*M.S(Sine/32),.1)*CF.A(M.R(-25),M.R(5-2.5*M.C(Sine/32)),M.R(-35+1.5*M.C(Sine/32))),Alpha)
1872
			end
1873
			if(legAnims)then 
1874
				if(NeutralAnims)then
1875
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(0,M.R(15),0),Alpha)
1876
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0),Alpha)
1877
				else
1878
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1879
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1880
				end
1881
			end
1882
		elseif(Mode=='Ruined')then
1883
			local Alpha = .1
1884
			if(NeutralAnims)then	
1885
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(M.R(-5+1*M.S(Sine/64)),M.R(-25),0),Alpha)
1886
				if(M.RNG(1,25)==1)then
1887
					NK.C0 = NK.C0:lerp(NKC0*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25)),.8)
1888
				else
1889
					NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-10-2.5*M.S(Sine/32)),M.R(35),M.R(-10))*CF.A(M.RRNG(-5,5),M.RRNG(-5,5),M.RRNG(-5,5)),Alpha)
1890
				end
1891
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(0,M.R(5+5*M.C(Sine/32)),M.R(-10-5*M.C(Sine/32))),Alpha)
1892
				RS.C0 = RS.C0:lerp(RSC0*CF.N(-.1,0+.05*M.S(Sine/32),0)*CF.A(M.R(175),M.R(5-2.5*M.C(Sine/32)),M.R(-25-1.5*M.C(Sine/32))),Alpha)
1893
			end
1894
			if(legAnims)then 
1895
				if(NeutralAnims)then
1896
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(M.R(-10),M.R(25),0),Alpha)
1897
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(M.R(5),0,0),Alpha)
1898
				else
1899
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1900
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1901
				end
1902
			end
1903
		--[[elseif(Mode=='Atramentous')then
1904
			local Alpha = .1
1905
			if(NeutralAnims)then	
1906
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(-.2+.4*M.C(Sine/39),.5+.2*M.C(Sine/32),0)*CF.A(M.R(-2+5*M.S(Sine/58)),M.R(-15+5*M.C(Sine/42)),0),Alpha)
1907
				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-7-2.5*M.S(Sine/32)),M.R(15),0),Alpha)
1908
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(0,0,M.R(-15+5*M.S(Sine/32))),Alpha)
1909
				RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(0,0,M.R(15-5*M.S(Sine/32))),Alpha)
1910
			end
1911
			if(legAnims)then 
1912
				if(NeutralAnims)then
1913
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,.5,-.2)*CF.A(0,0,M.R(-5)),Alpha)
1914
					RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(5)),Alpha)
1915
				else
1916
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1917
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1918
				end
1919
			end]]
1920
		elseif(Mode=='Atramentous')then
1921
			local Alpha = .1
1922
			if(NeutralAnims)then	
1923
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(M.R(-25+1*M.S(Sine/64)),0,0),Alpha)
1924
				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-10-2.5*M.S(Sine/32)),M.R(-5),0),Alpha)
1925
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(M.R(25),M.R(5+5*M.C(Sine/32)),M.R(-10-5*M.C(Sine/32))),Alpha)
1926
				RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(M.R(25),M.R(5-5*M.C(Sine/32)),M.R(10+5*M.C(Sine/32))),Alpha)
1927
			end
1928
			if(legAnims)then 
1929
				if(NeutralAnims)then
1930
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(M.R(25),0,M.R(-3)),Alpha)
1931
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(M.R(25),0,M.R(3)),Alpha)
1932
				else
1933
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1934
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1935
				end
1936
			end
1937
		elseif(Mode=='Subzero')then
1938
			local Alpha = .1
1939
			if(NeutralAnims)then	
1940
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(0,M.R(28),0),Alpha)
1941
				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-7-2.5*M.S(Sine/32)),M.R(-28),0),Alpha)
1942
				LS.C0 = LS.C0:lerp(LSC0*CF.N(.5,-.1+.05*M.S(Sine/32),-.8)*CF.A(M.R(13),M.R(-12),M.R(104-2*M.S(Sine/36))),Alpha)
1943
				RS.C0 = RS.C0:lerp(RSC0*CF.N(-.5,0+.05*M.S(Sine/32),-.6)*CF.A(M.R(-17),M.R(-20),M.R(-79+1*M.S(Sine/36))),Alpha)
1944
			end
1945
			if(legAnims)then 
1946
				if(NeutralAnims)then
1947
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(0,0,M.R(-1)),Alpha)
1948
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(M.R(4),M.R(-28),M.R(8)),Alpha)
1949
				else
1950
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1951
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1952
				end
1953
			end
1954
		elseif(Mode=='Troubadour')then
1955
			if(vaporwaveMode)then
1956
			  	local Alpha = .1
1957
				if(NeutralAnims)then
1958
					RJ.C0 = RJ.C0:lerp(CF.N(0,-0.2-.1*M.S(Sine/36),0.6)*CF.A(M.R(74.3+2.5*M.C(Sine/36)),M.R(0),M.R(0)),Alpha)
1959
					LS.C0 = LS.C0:lerp(CF.N(-1,0.8,0)*CF.A(M.R(11.4-5*M.C(Sine/42)),M.R(-3.3),M.R(137.5)),Alpha)
1960
					RS.C0 = RS.C0:lerp(CF.N(1,0.9,-0.1)*CF.A(M.R(13.7-5*M.C(Sine/42)),M.R(7.7),M.R(-136.2)),Alpha)
1961
					NK.C0 = NK.C0:lerp(CF.N(0,1.4,-0.3)*CF.A(M.R(-16.6-5*M.C(Sine/42)),M.R(0),M.R(0)),Alpha)
1962
					if(legAnims)then
1963
						LH.C0 = LH.C0:lerp(CF.N(-0.7,-1,0)*CF.A(M.R(37.2+10*M.C(Sine/36)),M.R(0),M.R(24)),Alpha)
1964
						RH.C0 = RH.C0:lerp(CF.N(0.8,-1.1,-0.1)*CF.A(M.R(5.9+5*M.C(Sine/36)),M.R(3.5),M.R(-43.9)),Alpha)
1965
					end
1966
				elseif(legAnims)then
1967
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
1968
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
1969
				end
1970
			else
1971
				local Alpha = .3
1972
				if(NeutralAnims)then	
1973
					RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/20)+(music.PlaybackLoudness/5000),0)*CF.A(M.R(0+1*M.S(Sine/64)),M.R(35),0),Alpha)
1974
					NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(0+1*M.S(Sine/24)),M.R(-35),0),Alpha)
1975
					LS.C0 = LS.C0:lerp(LSC0*CF.A(0,0,M.R(-15+10*M.C(Sine/20))),Alpha)
1976
					RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(75-(music.PlaybackLoudness/7.5)),M.R(5),M.R(35)),Alpha)
1977
				end
1978
				if(legAnims)then 
1979
					if(NeutralAnims)then
1980
						LH.C0 = LH.C0:lerp(LHC0*CF.N(0,-.05*M.C(Sine/20)-(music.PlaybackLoudness/5000),0)*CF.A(0,M.R(25),0),Alpha)
1981
						RH.C0 = RH.C0:lerp(RHC0*CF.N(0,-.05*M.C(Sine/20)-(music.PlaybackLoudness/5000),0),Alpha)
1982
					else
1983
						LH.C0 = LH.C0:lerp(LHC0,Alpha)
1984
						RH.C0 = RH.C0:lerp(RHC0,Alpha)
1985
					end
1986
				end
1987
			end
1988
		elseif(Mode=='Infectious')then
1989
			local Alpha = .1
1990
			if(NeutralAnims)then	
1991
				GotEffect{
1992
					Lifetime=.2;
1993
					Mesh={Type=Enum.MeshType.Sphere};
1994
					CFrame=LArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
1995
					Color=BrickColor.new'Dark indigo'.Color;
1996
					Transparency={0,1};
1997
					Material=Enum.Material.Neon;
1998
					Size=Vector3.new(.5,1,.5);
1999
					EndSize=Vector3.new(.1,3,.1);
2000
				}
2001
				GotEffect{
2002
					Lifetime=.2;
2003
					Mesh={Type=Enum.MeshType.Sphere};
2004
					CFrame=RArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
2005
					Color=BrickColor.new'Dark indigo'.Color;
2006
					Transparency={0,1};
2007
					Material=Enum.Material.Neon;
2008
					Size=Vector3.new(.5,1,.5);
2009
					EndSize=Vector3.new(.1,3,.1);
2010
				}
2011
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,0+.05*M.C(Sine/32),0)*CF.A(M.R(0+1*M.S(Sine/64)),M.R(-15),0),Alpha)
2012
				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-10-2.5*M.S(Sine/32)),M.R(15),0),Alpha)
2013
				RS.C0 = RS.C0:lerp(RSC0*CF.N(-.5,0+.05*M.S(Sine/32),-.4)*CF.A(M.R(25),M.R(5-2.5*M.C(Sine/32)),M.R(-65+1.5*M.C(Sine/32))),Alpha)
2014
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0+.05*M.S(Sine/32),0)*CF.A(0,M.R(5-5*M.C(Sine/32)),M.R(-10-5*M.C(Sine/32))),Alpha)
2015
			end
2016
			if(legAnims)then 
2017
				if(NeutralAnims)then
2018
					LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/32),0)*CF.A(0,M.R(15),0),Alpha)
2019
					RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/32),0),Alpha)
2020
				else
2021
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
2022
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
2023
				end
2024
			end
2025
		elseif(Mode=='Love')then
2026
			local Alpha = .1
2027
			if(NeutralAnims)then	
2028
				RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(0,0,M.R(0+5*M.C(Sine/16))),Alpha)
2029
				NK.C0 = NK.C0:lerp(NKC0*CF.A(0,0,-M.R(0+5*M.C(Sine/16))),Alpha)
2030
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,-.15,0)*CF.A(M.R(15),0,M.R(20)),Alpha)
2031
				RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(5+5*M.S(Sine/16))),Alpha)
2032
			end
2033
			if(legAnims)then 
2034
				if(NeutralAnims)then
2035
					LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,-M.R(0+5*M.C(Sine/16)))*CF.A(M.R(-15),M.R(25),0),Alpha)
2036
					RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,-M.R(0+5*M.C(Sine/16))),Alpha)
2037
				else
2038
					LH.C0 = LH.C0:lerp(LHC0,Alpha)
2039
					RH.C0 = RH.C0:lerp(RHC0,Alpha)
2040
				end
2041
			end
2042
		elseif(Mode=='The Big Black')then
2043
			local Alpha = .1
2044
			if(NeutralAnims)then
2045
				GotEffect{
2046
					Lifetime=.5;
2047
					Mesh={Type=Enum.MeshType.Sphere};
2048
					CFrame=RArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360));
2049
					Color=BrickColor.new'Black'.Color;
2050
					Transparency={0,1};
2051
					Material=Enum.Material.Neon;
2052
					Size=Vector3.new(.5,1,.5);
2053
					EndSize=Vector3.new(.1,3,.1);
2054
				}
2055
				RJ.C0 = RJ.C0:lerp(CF.N(0,0+.05*M.C(Sine/32),0.2)*CF.A(M.R(15.5),M.R(20.8),M.R(0)),Alpha)
2056
				LS.C0 = LS.C0:lerp(CF.N(-0.9,0.4,-0.7)*CF.A(M.R(121.8),M.R(14.6),M.R(84.8))*CF.A(M.R(0+3*M.S(Sine/32)),0,0),Alpha)
2057
				RS.C0 = RS.C0:lerp(CF.N(1.3,0.3,-0.1)*CF.A(M.R(40+5*M.C(Sine/44)),M.R(-11.6),M.R(65.5+2.5*M.C(Sine/36))),Alpha)
2058
				if(M.RNG(1,45)==1)then
2059
					NK.C0 = NK.C0:lerp(NKC0*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25)),.8)
2060
				else
2061
					NK.C0 = NK.C0:lerp(CF.N(0,1.5,-0.2)*CF.A(M.R(-15.6),M.R(-20.1),M.R(-5.5))*CF.A(M.R(0+1.5*M.S(Sine/32)),0,0),Alpha)
2062
				end
2063
				if(legAnims)then
2064
					LH.C0 = LH.C0:lerp(CF.N(-0.6,-1-.05*M.C(Sine/32),0.1)*CF.A(M.R(-27.6),M.R(0),M.R(13.8)),Alpha)
2065
					RH.C0 = RH.C0:lerp(CF.N(0.6,-1.1-.05*M.C(Sine/32),-0.1)*CF.A(M.R(-16.5),M.R(-20),M.R(-5.8)),Alpha)
2066
				end
2067
			elseif(legAnims)then
2068
				LH.C0 = LH.C0:lerp(LHC0,Alpha)
2069
				RH.C0 = RH.C0:lerp(RHC0,Alpha)
2070
			end
2071
		elseif(Mode=='Legendary')then
2072
			local Alpha = .1
2073
			if(NeutralAnims)then
2074
				RJ.C0 = RJ.C0:lerp(CF.N(0,4.8+.2*M.C(Sine/24),0)*CF.A(M.R(30+5*M.S(Sine/24)),M.R(16.7),M.R(-9.4)),Alpha)
2075
				LS.C0 = LS.C0:lerp(CF.N(-1.1,1,0.2)*CF.A(M.R(173.3+1*M.S(Sine/28)),M.R(19.9+2*M.S(Sine/28)),M.R(38.7)),Alpha)
2076
				RS.C0 = RS.C0:lerp(CF.N(0.7,0.3,-0.6)*CF.A(M.R(46.8+1*M.S(Sine/28)),M.R(6.4+2*M.S(Sine/28)),M.R(-79.6)),Alpha)
2077
				NK.C0 = NK.C0:lerp(CF.N(0,1.4,-0.5)*CF.A(M.R(-40-5*M.S(Sine/24)),M.R(-18.7),M.R(-3.7)),Alpha)
2078
				if(legAnims)then
2079
					LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(1.9+7.5*M.S(Sine/24)),M.R(19.2),M.R(-5.7)),Alpha)
2080
					RH.C0 = RH.C0:lerp(CF.N(0.4,-1,-0.8)*CF.A(M.R(-63.8+7.5*M.S(Sine/24)),M.R(-15),M.R(8.3)),Alpha)
2081
				end
2082
			elseif(legAnims)then
2083
				LH.C0 = LH.C0:lerp(LHC0,Alpha)
2084
				RH.C0 = RH.C0:lerp(RHC0,Alpha)
2085
			end
2086
			elseif(Mode=='Lust')then
2087
				local Alpha = .1
2088
				if(NeutralAnims)then
2089
					RJ.C0 = RJ.C0:lerp(CF.N(0,0.7+.1*M.C(Sine/36),0)*CF.A(M.R(0),M.R(0),M.R(-90-2.5*M.S(Sine/36))),Alpha)
2090
					LS.C0 = LS.C0:lerp(CF.N(-1.2,0.1,0.1)*CF.A(M.R(23),M.R(16.5),M.R(20.6)),Alpha)
2091
					RS.C0 = RS.C0:lerp(CF.N(0.8,1,-0.4)*CF.A(M.R(-162),M.R(-11.2),M.R(-22.6)),Alpha)
2092
					NK.C0 = NK.C0:lerp(CF.N(-0.2,1.4,0)*CF.A(M.R(0),M.R(0),M.R(48.9)),Alpha)
2093
					if(legAnims)then
2094
						LH.C0 = LH.C0:lerp(CF.N(-0.9,-1.1,-0.2)*CF.A(M.R(-19.3),M.R(6.5),M.R(54.3-7.5*M.S(Sine/36))),Alpha)
2095
						RH.C0 = RH.C0:lerp(CF.N(0.4,-0.9,0)*CF.A(M.R(0),M.R(0),M.R(25.9-7.5*M.S(Sine/36))),Alpha)
2096
					end
2097
			elseif(legAnims)then
2098
				LH.C0 = LH.C0:lerp(LHC0,Alpha)
2099
				RH.C0 = RH.C0:lerp(RHC0,Alpha)
2100
			end
2101
		end
2102
    elseif(State == 'Walk')then
2103
		--[[if(Mode=='Atramentous')then
2104
			local Alpha = .1
2105
  			if(NeutralAnims)then
2106
 				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(-.2+.4*M.C(Sine/39),.5+.2*M.C(Sine/32),0)*CF.A(M.R(-85+5*M.S(Sine/58)),M.R(0+5*M.C(Sine/42)),0),Alpha)
2107
 				LS.C0 = LS.C0:lerp(CFrame.new(-1.50198829, 0.580981374, 0.000380858371, 0.963434994, 0.267942399, 1.75953949e-06, -0.267942399, 0.963434994, 5.1856041e-06, -3.05473804e-07, -5.48362732e-06, 1)*CF.A(0,0,M.R(0+5*M.S(Sine/32))),Alpha)
2108
  				RS.C0 = RS.C0:lerp(CFrame.new(1.54895508, 0.519735038, 0.000380946265, 0.98034811, -0.197275475, -1.24170782e-07, 0.19727549, 0.980348051, 9.53674316e-07, -5.96046448e-08, -9.23871994e-07, 1)*CF.A(0,0,M.R(0-5*M.S(Sine/32))),Alpha)
2109
  				NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(65-5*M.S(Sine/58)),0,0),Alpha)
2110
			end
2111
			if(legAnims)then
2112
				LH.C0 = LH.C0:lerp(CFrame.new(-0.49666214, -0.990924835, 0.00763010979, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
2113
				RH.C0 = RH.C0:lerp(CFrame.new(0.498336792, -0.303280592, -0.883536756, 1, 0, 0, 0, 0.886996508, 0.461776346, 0, -0.461776316, 0.886996448),Alpha)
2114
			end
2115
		else]]
2116
		
2117
			local wsVal = 4
2118
			local Alpha = .2
2119
			if(Mode=='Subzero')then Change=.3 elseif(Mode=='The Big Black' or Mode=='Legendary')then Change=1 else Change=.5 end
2120
			if(NeutralAnims)then
2121
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,.05+Change/4*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-(Change*20)-movement/20*M.C(Sine/(wsVal/2)))*forwardvelocity,M.R(0+5*M.C(Sine/wsVal)),M.R(-(Change*20)-movement/20*M.C(Sine/(wsVal/2)))*sidevelocity+M.R(0-1*M.C(Sine/wsVal))),Alpha)
2122
				NK.C0 = NK.C0:lerp(NKC0,Alpha)
2123
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0)*CF.A(M.R(0+55*(movement/8)*M.S(Sine/wsVal))*forwardvelocity,0,0),Alpha)
2124
				RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0)*CF.A(M.R(0-55*(movement/8)*M.S(Sine/wsVal))*forwardvelocity,0,0),Alpha)
2125
			end
2126
			if(legAnims)then 
2127
				LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-movement/15*M.C(Sine/wsVal)/2,(-.1+movement/15*M.C(Sine/wsVal))*(.5+.5*forwardvelocity))*CF.A((M.R(-10*forwardvelocity+Change*5-movement*M.C(Sine/wsVal))+-(movement/10)*M.S(Sine/wsVal))*forwardvelocity,0,(M.R(Change*5-movement*M.C(Sine/wsVal))+-(movement/10)*M.S(Sine/wsVal))*(sidevec/(Hum.WalkSpeed*2))),Alpha)
2128
				RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+movement/15*M.C(Sine/wsVal)/2,(-.1-movement/15*M.C(Sine/wsVal))*(.5+.5*forwardvelocity))*CF.A((M.R(-10*forwardvelocity+Change*5+movement*M.C(Sine/wsVal))+(movement/10)*M.S(Sine/wsVal))*forwardvelocity,0,(M.R(Change*5+movement*M.C(Sine/wsVal))+(movement/10)*M.S(Sine/wsVal))*(sidevec/(Hum.WalkSpeed*2))),Alpha)
2129
				local footstepIds = {141491460,141491460}
2130
				if(lhit and lhit.CanCollide and footstepSounds[lhit.Material])then
2131
					if(lhit.Material==Enum.Material.Sand and lhit.Color.r*255>=160 and lhit.Color.g*255>=160 and lhit.Color.b*255>=160)then
2132
						footstepIds[1] = footstepSounds[Enum.Material.Snow]
2133
					else
2134
						footstepIds[1] = footstepSounds[lhit.Material]
2135
					end
2136
				end
2137
				
2138
				if(rhit and rhit.CanCollide and footstepSounds[rhit.Material])then
2139
					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
2140
						footstepIds[2] = footstepSounds[Enum.Material.Snow]
2141
					else
2142
						footstepIds[2] = footstepSounds[rhit.Material]
2143
					end
2144
				end
2145
		
2146
				
2147
				if(M.C(Sine/wsVal)/2>=.2 and footsound==0 and lhit)then
2148
					local step = Part(Effects,lhit.Color,lhit.Material,V3.N(1,.1,1),CF.N(lpos),true,false)
2149
					step.Transparency=(footstepIds[1]==footstepSounds[Enum.Material.Snow] and 0 or 1)
2150
					local snd = Soond(step,footstepIds[1],M.RNG(80,100)/100,3,false,true,true)
2151
					footsound=1
2152
					S.Debris:AddItem(step,snd.TimeLength+2)
2153
				elseif(M.C(Sine/wsVal)/2<=-.2 and footsound==1 and rhit)then
2154
					local step = Part(Effects,rhit.Color,rhit.Material,V3.N(1,.1,1),CF.N(rpos),true,false)
2155
					step.Transparency=(footstepIds[2]==footstepSounds[Enum.Material.Snow] and 0 or 1)
2156
					local snd = Soond(step,footstepIds[2],M.RNG(80,100)/100,3,false,true,true)
2157
					footsound=0
2158
					S.Debris:AddItem(step,snd.TimeLength+2)
2159
				end
2160
			end
2161
        --end
2162
	elseif(State == 'Jump')then
2163
		local Alpha = .1
2164
		local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
2165
		if(NeutralAnims)then
2166
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
2167
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
2168
			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)
2169
			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)
2170
		end
2171
		if(legAnims)then 
2172
			LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
2173
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
2174
		end
2175
	elseif(State == 'Fall')then
2176
		local Alpha = .1
2177
		local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
2178
		if(NeutralAnims)then
2179
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
2180
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
2181
			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)
2182
			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)
2183
		end
2184
		if(legAnims)then 
2185
			LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
2186
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
2187
		end
2188
	elseif(State == 'Paralyzed')then
2189
		local Alpha = .1
2190
		if(NeutralAnims)then
2191
			LS.C0 = LS.C0:lerp(LSC0,Alpha)
2192
			RS.C0 = RS.C0:lerp(RSC0,Alpha)
2193
			RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
2194
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
2195
		end
2196
		if(legAnims)then 
2197
			LH.C0 = LH.C0:lerp(LHC0,Alpha)
2198
			RH.C0 = RH.C0:lerp(RHC0,Alpha)
2199
		end
2200
	elseif(State == 'Sit')then
2201
		
2202
	end
2203
	if(data.User==data.Local)then
2204
		local syncStuff={
2205
			NeutralAnims;
2206
			legAnims;
2207
			{NK.C0,RJ.C0,RH.C0,RS.C0,LH.C0,LS.C0};
2208
			{NK.C1,RJ.C1,RH.C1,RS.C1,LH.C1,LS.C1};
2209
			Sine;
2210
			movement;
2211
			walking;	
2212
			Change;
2213
			--// OPTIONAL SYNC \\--
2214
			MusicMode;
2215
			(music and music.TimePosition or 0);
2216
			(music and music.Pitch or 1);
2217
			WingSine;
2218
			getMode('Troubadour');
2219
			Mode;
2220
			hue;
2221
		}
2222
	end
2223
end
2224