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 |