View difference between Paste ID: qNsQF4uz and DXUzjsdk
SHOW: | | - or go back to the newest paste.
1
-- BurnLegion strikes again!
2
-- wongxd, this is why you DON'T goto Voidacity's
3
-- SLPM has been absent, so I've taken it upon myself to make something
4
5
--------------------------------------------------------
6
7
        pls = game:GetService'Players'
8
        rs = game:GetService'RunService'
9
        uinps = game:GetService'UserInputService'
10
        lp = pls.LocalPlayer
11
        mouse = lp:GetMouse()
12
        c = lp.Character
13
        human = c.Humanoid
14
        human.MaxHealth = 50
15
        wait()
16
        human.Health = 50
17
        c.Health:Destroy()
18
19
--------------------------------------------------------
20
21
        Debounces = {
22
                AnimationCycles = 0;
23
                FPS = 0;
24
                scalingDamage = false;
25
                damageLevel = 0;
26
                attackNumber = 0;
27
                isAttacking = false;
28
                isMoving = false;
29
                isSprinting = false;
30
                isBoosting = false;
31
                isPassive = false;
32
                isTyping = false;
33
        }
34
35
--------------------------------------------------------
36
37
        numLerp = function(start, goal, alpha)
38
                return(((goal - start) * alpha) + start)
39
        end
40
41
        CFrameZero = function()
42
                return CFrame.new(Vector3.new())
43
        end
44
45
        rad = function(value)
46
                return math.rad(value)
47
        end
48
49
        CFAngles = function(Vector)
50
                return CFrame.Angles(rad(Vector.x),rad(Vector.y),rad(Vector.z))
51
        end
52
53
--------------------------------------------------------
54
55
        AnimStat = {
56
                lerpSpeed = .2;
57
                lerpSpeed2 = .35;
58
                lerpTween = 0;
59
        }
60
61
        Joints = {
62
                c.HumanoidRootPart.RootJoint;
63
                c.Torso.Neck;
64
                c.Torso['Left Shoulder'];
65
                c.Torso['Right Shoulder'];
66
                c.Torso['Left Hip'];
67
                c.Torso['Right Hip'];
68
        }
69
70
        JointTargets = {
71
                CFrameZero();
72
                CFrameZero();
73
                CFrameZero();
74
                CFrameZero();
75
                CFrameZero();
76
                CFrameZero();
77
        }
78
79
--------------------------------------------------------
80
81
        BodyColors = {
82
                HeadColor = BrickColor.new("Institutional white");
83
                LeftArmColor = BrickColor.new("Institutional white");
84
                RightArmColor = BrickColor.new("Institutional white");
85
                LeftLegColor = BrickColor.new("Institutional white");
86
                RightLegColor = BrickColor.new("Institutional white");
87
                TorsoColor = BrickColor.new("Mid gray");
88
        }
89
90
        Customs = {
91
                Face = "http://www.roblox.com/asset/?id=8560915";
92
                Shirt = "http://www.roblox.com/asset/?id=334781688";
93
                Pants = "http://www.roblox.com/asset/?id=335237283";
94
        }
95
96
--------------------------------------------------------
97
98
        prepareCharacter = function()
99
                local transPoints = {
100
                        NumberSequenceKeypoint.new(0,.819,.0375),
101
                        NumberSequenceKeypoint.new(.207,.594,.0187),
102
                        NumberSequenceKeypoint.new(.4,.55,.031),
103
                        NumberSequenceKeypoint.new(.57,.619,.05),
104
                        NumberSequenceKeypoint.new(.76,.8,.0375),
105
                        NumberSequenceKeypoint.new(1,1,0),
106
                }
107
                local sizePoints = {
108
                        NumberSequenceKeypoint.new(0,.687,0),
109
                        NumberSequenceKeypoint.new(.111,.875,0),
110
                        NumberSequenceKeypoint.new(.327,1.19,0),
111
                        NumberSequenceKeypoint.new(.646,1.56,0),
112
                        NumberSequenceKeypoint.new(.805,1.37,0),
113
                        NumberSequenceKeypoint.new(.905,1.06,0),
114
                        NumberSequenceKeypoint.new(.968,.938,0),
115
                        NumberSequenceKeypoint.new(.984,1.13,0),
116
                        NumberSequenceKeypoint.new(1,1.62,0),
117
                }
118
                local Size = NumberSequence.new(sizePoints)
119
                local Transparency = NumberSequence.new(transPoints)
120
                rayModel = Instance.new("Model",c)
121
                efxBlock = Instance.new("Part",c)
122
                efxBlock.BrickColor = BrickColor.new("Cyan")
123
                efxBlock.Material = "Neon"
124
                efxBlock.FormFactor = "Custom"
125
                efxBlock.Transparency = .3
126
                efxBlock.Size = Vector3.new(.3,.3,.3)
127
                local mesh = Instance.new("SpecialMesh",efxBlock)
128
                mesh.MeshType = Enum.MeshType.Sphere
129
                mesh.Scale = Vector3.new(1,1,1)
130
                light = Instance.new("PointLight",c.Head)
131
                light.Range = 10
132
                light.Color = Color3.new(0,200/255,1)
133
                light.Shadows = false
134
                local particles = Instance.new("ParticleEmitter",efxBlock)
135
                particles.Color = ColorSequence.new(Color3.new(0,0,225/255),Color3.new(20/255,190/255,205/255))
136
                particles.LightEmission = .95
137
                particles.Size = Size
138
                particles.Name = "Fire"
139
                particles.Transparency = Transparency
140
                particles.LockedToPart = true
141
                particles.VelocityInheritance = .5
142
                particles.LockedToPart = true
143
                particles.Rate = 70
144
                particles.Texture = "rbxassetid://56561915"
145
                particles.Lifetime = NumberRange.new(2,2)
146
                particles.RotSpeed = NumberRange.new(100,100)
147
                particles.Speed = NumberRange.new(7,7)
148
                script.Parent = efxBlock
149
                fire = particles
150
                local offset = Vector3.new(-0.11, .23, -0.5)
151
                local weld = Instance.new("Weld",c.Head)
152
                weld.Part0 = c.Head
153
                weld.Part1 = efxBlock
154
                weld.C0 = CFrame.new(offset) * CFrame.Angles(math.rad(-40),math.rad(10),math.rad(40))
155
                efxBlock.Parent = c
156
                local music = Instance.new("Sound",c)
157
                music.SoundId = "rbxassetid://316012176"
158
                music.Looped = true
159
                music.Volume = 0
160
                fight = music
161
                local music2 = Instance.new("Sound",c)
162
                music2.SoundId = "rbxassetid://316014309"
163
                music2.Looped = true
164
                music2.Volume = 0
165
                sans = music2
166
                pointGyro = Instance.new("BodyGyro",c.HumanoidRootPart)
167
                pointGyro.P = 1e7
168
                pointGyro.D = 1e3
169
                pointGyro.MaxTorque = Vector3.new(0,1e7,0)
170
                animator = c.Humanoid:FindFirstChild("Animator")
171
                if animator then
172
                        animator:Destroy()
173
                end
174
                c.Torso.roblox:Destroy()
175
                for i,v in pairs (c.Head:children()) do
176
                        if v.ClassName == "Sound" then
177
                                v:Destroy()
178
                        end
179
                end
180
                for i = 1,#Joints do
181
                        Joints[i].C1 = CFrame.new(Vector3.new())
182
                end
183
                human.WalkSpeed = 0
184
                human.JumpPower = 0
185
        end
186
187
        uinps.InputBegan:connect(function(InputObject)
188
                if InputObject.KeyCode == Enum.KeyCode.K and Debounces.isTyping == false then
189
                        Debounces.isPassive = not Debounces.isPassive
190
                end
191
        end)
192
193
        setJointCFrames = function(table)
194
                for i = 1,#table do
195
                        JointTargets[i] = table[i]
196
                end
197
                AnimationCycles = 0
198
        end
199
200
        setLerp = function(speed)
201
                AnimStat.lerpSpeed = speed
202
        end
203
204
        setTween = function(tween)
205
                AnimStat.lerpTween = tween
206
        end
207
208
        takeDamage = function(position,damage,distance,platformStand)
209
                for i,v in pairs (pls:children()) do
210
                        if v.ClassName == "Player" and v:FindFirstChild("Character") then
211
                                local torso = v.Character:FindFirstChild("Torso")
212
                                if torso and (torso.Position - position).magnitude < distance then
213
                                        v.Character.Humanoid:TakeDamage(damage)
214
                                        if platformStand == true then
215
                                                v.Character.PlatformStand = platformStand
216
                                        end
217
                                end
218
                        end
219
                end
220
        end
221
222
--------------------------------------------------------
223
224
        prepareCharacter()
225
226
--------------------------------------------------------
227
228
        spawn(function()
229
                local sine = 0
230
                while wait() do
231
                        pointGyro.CFrame = CFrame.new(Vector3.new(),(mouse.Hit.p - c.HumanoidRootPart.CFrame.p).unit * 100)
232
                        if Debounces.isAttacking == false and Debounces.isMoving == false and Debounces.isBoosting == false then
233
                                setLerp(.1)
234
                                if Debounces.isPassive == true then
235
                                        setJointCFrames({
236
                                                CFrame.new(Vector3.new(0, -0.901 + math.sin(tick() * 1.5)/45, 0)) * CFAngles(Vector3.new(-22.001, 0, 0));
237
                                                CFrame.new(Vector3.new(-0.001, 1.52 + math.sin(tick() * -1.5)/35, math.sin(tick() * 1.5)/35)) * CFAngles(Vector3.new(-10.861 + math.sin((-tick() + 2) * 1.5) * 5, 13.765, -1.658));
238
                                                CFrame.new(Vector3.new(-1.5, -0.1 + math.sin(tick() * 1.5)/15, -0.801)) * CFAngles(Vector3.new(44.999, 0, 0));
239
                                                CFrame.new(Vector3.new(1.7, 0.2 + math.sin(tick() * 1.5)/15, 0.199)) * CFAngles(Vector3.new(-15.001, -15.001, 15));
240
                                                CFrame.new(Vector3.new(-0.7, -1.8, 0.6)) * CFAngles(Vector3.new(-59.511, 3.84, 0.489));
241
                                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(14.999, -15, -0.001));
242
                                        })
243
                                else
244
                                        setJointCFrames({
245
                                                CFrame.new(Vector3.new(0, 0 + math.sin(tick() * 1.5)/25, 0)) * CFAngles(Vector3.new(0, 0, 0));
246
                                                CFrame.new(Vector3.new(0, 1.5 + math.sin(tick() * -1.5)/35, math.sin(tick() * 1.5)/35)) * CFAngles(Vector3.new(1.554 + math.sin((-tick() + 2) * 1.5) * 5, -0.001, -0.001));
247
                                                CFrame.new(Vector3.new(-1.06, -0.03 + math.sin(tick() * 1.5)/25, 0.449)) * CFAngles(Vector3.new(-29.511, 0, 29.51));
248
                                                CFrame.new(Vector3.new(1.059, -0.031 + math.sin(tick() * 1.5)/25, 0.449)) * CFAngles(Vector3.new(-29.511, -3.842, -29.511));
249
                                                CFrame.new(Vector3.new(-0.49, -2, -0.05/1.5)) * CFAngles(Vector3.new(0, 8.885, 0));
250
                                                CFrame.new(Vector3.new(0.49, -2, -0.05/1.5)) * CFAngles(Vector3.new(-0.001, -8.886, 0));
251
                                        })
252
                                end
253
                        elseif Debounces.isAttacking == false and Debounces.isMoving == true and Debounces.isBoosting == false then
254
                                sine = sine + math.rad(12)
255
                                human.WalkSpeed = 15
256
                                setLerp(.15)
257
                                setJointCFrames({
258
                                        CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, math.sin(sine) * -2.5, 0));
259
                                        CFrame.new(Vector3.new(0, 1.499, -0.04)) * CFAngles(Vector3.new(-5.676, -0.001 - math.sin(sine) * 3, -0.001));
260
                                        CFrame.new(Vector3.new(-1.97, 0 + math.sin(sine + .5)/20, 0.1 + math.sin(-sine)/2)/1.3) * CFAngles(Vector3.new(-5 + math.sin(sine) * 23, 0, 0));
261
                                        CFrame.new(Vector3.new(1.97, 0 - math.sin(sine + .5)/20, 0.1 + math.sin(sine)/2)/1.3) * CFAngles(Vector3.new(-5 + math.sin(-sine) * 23, 0, 0));
262
                                        CFrame.new(Vector3.new(-0.5, -1.93 - math.cos(sine)/8.7, 0.2 + math.sin(sine)/2)) * CFAngles(Vector3.new(-15 + math.sin(-sine) * 30, 0, 0));
263
                                        CFrame.new(Vector3.new(0.5, -1.93 + math.cos(sine)/8.7, 0.2 + math.sin(-sine)/2)) * CFAngles(Vector3.new(-15 + math.sin(sine) * 30, 0, 0));
264
                                })
265
                        end
266
                        if Debounces.scalingDamage == true then
267
                                takeDamage(c.HumanoidRootPart.Position,Debounces.damageLevel,8,true)
268
                        end
269
                end
270
        end)
271
272
        human.Changed:connect(function(prop)
273
                if prop == "MoveDirection" then
274
                        if human.MoveDirection.magnitude > .02 then
275
                                Debounces.isMoving = true
276
                        else
277
                                Debounces.isMoving = false
278
                        end
279
                end
280
        end)
281
282
        uinps.InputBegan:connect(function(InputObject)
283
                if InputObject.KeyCode == Enum.KeyCode.A and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
284
                        Debounces.isBoosting = true
285
                        Debounces.damageLevel = 10
286
                        Debounces.scalingDamage = true
287
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
288
                        setLerp(.15)
289
                        setJointCFrames({
290
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, 20));
291
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-10.372, 28.758, -1.837));
292
                                CFrame.new(Vector3.new(-0.7, -0.2, -0.801)) * CFAngles(Vector3.new(45, 0, 45));
293
                                CFrame.new(Vector3.new(1.7, 0.2, 0.199)) * CFAngles(Vector3.new(-15.001, -15.001, 45));
294
                                CFrame.new(Vector3.new(-0.3, -2, 0.2)) * CFAngles(Vector3.new(-11.283, -17.801, 19.495));
295
                                CFrame.new(Vector3.new(0.9, -2, -0.201)) * CFAngles(Vector3.new(15, -15, 29.999));
296
                        })
297
                        local boostSpeed = 250
298
                        local efx = Instance.new("Sound",c.Head)
299
                        efx.SoundId = "rbxassetid://200632875"
300
                        efx.Pitch = math.random(1100,1300)/1000
301
                        efx.Volume = .5
302
                        efx:Play()
303
                        spawn(function()
304
                                wait(5)
305
                                efx:Destroy()
306
                        end)
307
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(1,0,0)).p).unit * boostSpeed
308
                        vel.P = 1e3
309
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
310
                        wait(.15)
311
                        vel.P = 1000
312
                        vel.MaxForce = Vector3.new(3000,0,3000)
313
                        vel.Velocity = Vector3.new()
314
                        wait(.3)
315
                        setLerp(.3)
316
                        setJointCFrames({
317
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, 13));
318
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-30.239, 42.47, 11.879));
319
                                CFrame.new(Vector3.new(-1.9, -0.2, -0.401)) * CFAngles(Vector3.new(44.999, 0, -45));
320
                                CFrame.new(Vector3.new(1.5, 0.4, 0.599)) * CFAngles(Vector3.new(-62.058, -21.088, -15.383));
321
                                CFrame.new(Vector3.new(-0.7, -1.8, 0.6)) * CFAngles(Vector3.new(-59.239, -26.158, -14.457));
322
                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(-0.505, -14.478, -18.968));
323
                        })
324
                        wait(.2)
325
                        vel:Destroy()
326
                        Debounces.damageLevel = 0
327
                        Debounces.scalingDamage = false
328
                        Debounces.isBoosting = false
329
                end
330
        end)
331
332
        uinps.InputBegan:connect(function(InputObject)
333
                if InputObject.KeyCode == Enum.KeyCode.D and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
334
                        Debounces.isBoosting = true
335
                        Debounces.damageLevel = 10
336
                        Debounces.scalingDamage = true
337
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
338
                        setLerp(.15)
339
                        setJointCFrames({
340
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, -15));
341
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-13.603, -45.662, -6.645));
342
                                CFrame.new(Vector3.new(-1.9, 0, -0.201)) * CFAngles(Vector3.new(31.935, -7.436, -60.853));
343
                                CFrame.new(Vector3.new(1.9, 0, 0.399)) * CFAngles(Vector3.new(-3.644, -23.448, 59.102));
344
                                CFrame.new(Vector3.new(-1.1, -1.8, 0)) * CFAngles(Vector3.new(-3.616, -11.936, -29.566));
345
                                CFrame.new(Vector3.new(0.1, -1.6, -0.601)) * CFAngles(Vector3.new(1.943, -7.181, -32.528));
346
                        })
347
                        local boostSpeed = 250
348
                        local efx = Instance.new("Sound",c.Head)
349
                        efx.SoundId = "rbxassetid://200632875"
350
                        efx.Pitch = math.random(1100,1300)/1000
351
                        efx.Volume = .5
352
                        efx:Play()
353
                        spawn(function()
354
                                wait(5)
355
                                efx:Destroy()
356
                        end)
357
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(-1,0,0)).p).unit * boostSpeed
358
                        vel.P = 1e3
359
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
360
                        wait(.15)
361
                        vel.P = 1000
362
                        vel.MaxForce = Vector3.new(3000,0,3000)
363
                        vel.Velocity = Vector3.new()
364
                        wait(.3)
365
                        setLerp(.3)
366
                        setJointCFrames({
367
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 0, -13));
368
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-12.936, -46.206, -2.327));
369
                                CFrame.new(Vector3.new(-1.9, 0.2, -0.201)) * CFAngles(Vector3.new(45, 0, -60));
370
                                CFrame.new(Vector3.new(1.7, 0, -0.401)) * CFAngles(Vector3.new(14.035, -5.69, 35.342));
371
                                CFrame.new(Vector3.new(-0.3, -1.8, 0.6)) * CFAngles(Vector3.new(-55.479, -10.612, 15.729));
372
                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(14.999, -15, 14.999));
373
                        })
374
                        wait(.2)
375
                        vel:Destroy()
376
                        Debounces.damageLevel = 0
377
                        Debounces.scalingDamage = false
378
                        Debounces.isBoosting = false
379
                end
380
        end)
381
382
        uinps.InputBegan:connect(function(InputObject)
383
                if InputObject.KeyCode == Enum.KeyCode.W and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
384
                        Debounces.isBoosting = true
385
                        Debounces.damageLevel = 10
386
                        Debounces.scalingDamage = true
387
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
388
                        setLerp(.15)
389
                        setJointCFrames({
390
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-40.001, 0, 5));
391
                                CFrame.new(Vector3.new(-0.001, 1.429, 0.2)) * CFAngles(Vector3.new(25.141, -8.347, 0.878));
392
                                CFrame.new(Vector3.new(-1.5, 0, .101)) * CFAngles(Vector3.new(14.999, -0.001, 0));
393
                                CFrame.new(Vector3.new(1.7, 0.199, -0.401)) * CFAngles(Vector3.new(28.08, -0.358, 21.087));
394
                                CFrame.new(Vector3.new(-0.5, -1.8, 0.6)) * CFAngles(Vector3.new(-29.448, 3.57, -1.5));
395
                                CFrame.new(Vector3.new(0.499, -1.6, -0.401)) * CFAngles(Vector3.new(-0.505, -14.478, -3.968));
396
                        })
397
                        local boostSpeed = 250
398
                        local efx = Instance.new("Sound",c.Head)
399
                        efx.SoundId = "rbxassetid://200632875"
400
                        efx.Pitch = math.random(1100,1300)/1000
401
                        efx.Volume = .5
402
                        efx:Play()
403
                        spawn(function()
404
                                wait(5)
405
                                efx:Destroy()
406
                        end)
407
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,1)).p).unit * boostSpeed
408
                        vel.P = 1e3
409
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
410
                        wait(.15)
411
                        vel.P = 1000
412
                        vel.MaxForce = Vector3.new(3000,0,3000)
413
                        vel.Velocity = Vector3.new()
414
                        wait(.3)
415
                        setLerp(.3)
416
                        setJointCFrames({
417
                                CFrame.new(Vector3.new(0, -0.901, 0)) * CFAngles(Vector3.new(-22.001, 40, -13));
418
                                CFrame.new(Vector3.new(-0.001, 1.52, 0)) * CFAngles(Vector3.new(-12.936, -46.206, -2.327));
419
                                CFrame.new(Vector3.new(-1.9, 0.2, -0.201)) * CFAngles(Vector3.new(45, 0, -60));
420
                                CFrame.new(Vector3.new(1.7, 0, -0.401)) * CFAngles(Vector3.new(14.035, -5.69, 35.342));
421
                                CFrame.new(Vector3.new(-0.3, -1.8, 0.6)) * CFAngles(Vector3.new(-55.479, -10.612, 15.729));
422
                                CFrame.new(Vector3.new(0.5, -1, -0.801)) * CFAngles(Vector3.new(14.999, -15, 14.999));
423
                        })
424
                        wait(.2)
425
                        vel:Destroy()
426
                        Debounces.damageLevel = 0
427
                        Debounces.scalingDamage = false
428
                        Debounces.isBoosting = false
429
                end
430
        end)
431
432
        uinps.InputBegan:connect(function(InputObject)
433
                if InputObject.KeyCode == Enum.KeyCode.S and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isBoosting == false and Debounces.isPassive == true and Debounces.isTyping == false then
434
                        Debounces.isBoosting = true
435
                        Debounces.damageLevel = 10
436
                        Debounces.scalingDamage = true
437
                        local vel = Instance.new("BodyVelocity",c.HumanoidRootPart)
438
                        setLerp(.15)
439
                        setJointCFrames({
440
                                CFrame.new(Vector3.new(0, -.3, 0)) * CFAngles(Vector3.new(15, 0, 0));
441
                                CFrame.new(Vector3.new(-0.001, 1.52, -0.03)) * CFAngles(Vector3.new(-5.298, -1.305, -4.093));
442
                                CFrame.new(Vector3.new(-1.7, 0, -0.201)) * CFAngles(Vector3.new(12.112, -6.562, -16.939));
443
                                CFrame.new(Vector3.new(1.7, 0, -0.201)) * CFAngles(Vector3.new(8.817, 8.378, 20.465));
444
                                CFrame.new(Vector3.new(-0.7, -1.8, 0.2)) * CFAngles(Vector3.new(-14.432, 3.06, -2.373));
445
                                CFrame.new(Vector3.new(0.5, -1.8, -0.201)) * CFAngles(Vector3.new(-0.505, -14.478, -3.968));
446
                        })
447
                        local boostSpeed = 150
448
                        local boostSpeed = 250
449
                        local efx = Instance.new("Sound",c.Head)
450
                        efx.SoundId = "rbxassetid://200632875"
451
                        efx.Pitch = math.random(1100,1300)/1000
452
                        efx.Volume = .5
453
                        efx:Play()
454
                        spawn(function()
455
                                wait(5)
456
                                efx:Destroy()
457
                        end)
458
                        vel.Velocity = (c.HumanoidRootPart.Position - c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-1)).p).unit * boostSpeed
459
                        vel.P = 1e3
460
                        vel.MaxForce = Vector3.new(math.huge,0,math.huge)
461
                        wait(.15)
462
                        vel.P = 1000
463
                        vel.MaxForce = Vector3.new(3000,0,3000)
464
                        vel.Velocity = Vector3.new()
465
                        wait(.3)
466
                        setLerp(.3)
467
                        setJointCFrames({
468
                                CFrame.new(Vector3.new(0, -.5, 0)) * CFAngles(Vector3.new(4, 0, 0));
469
                                CFrame.new(Vector3.new(-0.001, 1.52, -0.03)) * CFAngles(Vector3.new(-20.081, 28.752, 3.598));
470
                                CFrame.new(Vector3.new(-1.7, 0.2, -0.601)) * CFAngles(Vector3.new(59.51, -3.841, -14.511));
471
                                CFrame.new(Vector3.new(1.7, 0.2, 0.399)) * CFAngles(Vector3.new(-47.597, -13.104, 17.887));
472
                                CFrame.new(Vector3.new(-0.7, -1.4, 0.2)) * CFAngles(Vector3.new(-44.477, 3.836, -0.524));
473
                                CFrame.new(Vector3.new(0.5, -1.4, -0.601)) * CFAngles(Vector3.new(-15.868, -12.953, -7.631));
474
                        })
475
                        wait(.2)
476
                        vel:Destroy()
477
                        Debounces.damageLevel = 0
478
                        Debounces.scalingDamage = false
479
                        Debounces.isBoosting = false
480
                end
481
        end)
482
483
        uinps.InputBegan:connect(function(InputObject)
484
                if InputObject.KeyCode == Enum.KeyCode.Q and Debounces.isAttacking == false and Debounces.isSprinting == false and Debounces.isPassive == true and Debounces.isTyping == false then
485
                        local isLooping = true
486
                        uinps.InputEnded:connect(function(InputObject2)
487
                                if InputObject2.KeyCode == Enum.KeyCode.Q then
488
                                        isLooping = false
489
                                end
490
                        end)
491
                        while true do
492
                                if isLooping == false then
493
                                        break
494
                                end
495
                                Debounces.attackNumber = Debounces.attackNumber + 1
496
                                local aimPos = mouse.Hit.p
497
                                local head = Instance.new("Part",c)
498
                                head.Size = Vector3.new(12,.2,12)
499
                                head.CanCollide = false
500
                                head.Anchored = true
501
                                head.Transparency = 1
502
                                for i = 1,2 do
503
                                        local decal = Instance.new("Decal",head)
504
                                        decal.Texture = "rbxassetid://323497117"
505
                                        if i == 1 then
506
                                                decal.Face = Enum.NormalId.Top
507
                                        else
508
                                                decal.Face = Enum.NormalId.Bottom
509
                                        end
510
                                end
511
                                if Debounces.attackNumber%2 == 1 then
512
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(8,8,.5)).p,aimPos)
513
                                else
514
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(-8,8,.5)).p,aimPos)
515
                                end
516
                                spawn(function()
517
                                        local timer = 0
518
                                        while rs.RenderStepped:wait() do
519
                                                if timer >= 1.55 then
520
                                                        break
521
                                                end
522
                                                head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
523
                                                timer = timer + 1/30/(Debounces.FPS/60)
524
                                        end
525
                                        head.CFrame = CFrame.new(head.CFrame.p,aimPos)
526
                                        local ray = Ray.new(head.CFrame.p,(aimPos - head.CFrame.p).unit * 999)
527
                                        local hit, pos = workspace:FindPartOnRay(ray,c)
528
                                        local dis = (head.CFrame.p - pos).magnitude
529
                                        local rayPart = Instance.new("Part",rayModel)
530
                                        rayPart.Material = "Neon"
531
                                        rayPart.FormFactor = "Custom"
532
                                        rayPart.BrickColor = BrickColor.new(1,1,1)
533
                                        rayPart.Anchored = true
534
                                        rayPart.CanCollide = false
535
                                        rayPart.Size = Vector3.new(7,7,dis + 400)
536
                                        local rayCFrame = CFrame.new(head.CFrame.p + (aimPos - head.CFrame.p).unit * (dis/2 + 200),head.CFrame.p + (aimPos - head.CFrame.p).unit * dis * 2)
537
                                        rayPart.CFrame = rayCFrame
538
                                        head:Destroy()
539
                                end)
540
                                wait()
541
                                local s = Instance.new("Sound",head)
542
                                s.Volume = 1
543
                                s.SoundId = "rbxassetid://332223043"
544
                                s:Play()
545
                                wait(.04)
546
                        end
547
                end
548
        end)
549
550
        uinps.InputBegan:connect(function(InputObj)
551
                if InputObj.KeyCode == Enum.KeyCode.E and Debounces.isAttacking == false and Debounces.isSprinting == false and Debounces.isPassive == true and Debounces.isTyping == false then
552
                        Debounces.isAttacking = true
553
                        local aimPos = c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-999)).p
554
                        local head = Instance.new("Part",c)
555
                        head.Size = Vector3.new(18,.2,18)
556
                        head.CanCollide = false
557
                        head.Anchored = true
558
                        head.CFrame = CFrame.new(c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-9)).p,aimPos)
559
                        head.Transparency = 1
560
                        for i = 1,2 do
561
                                local decal = Instance.new("Decal",head)
562
                                decal.Texture = "rbxassetid://323497117"
563
                                if i == 1 then
564
                                        decal.Face = Enum.NormalId.Top
565
                                else
566
                                        decal.Face = Enum.NormalId.Bottom
567
                                end
568
                        end
569
                        setLerp(.1)
570
                        setJointCFrames({
571
                                CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 0, 0));
572
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, -0.001, -0.001));
573
                                CFrame.new(Vector3.new(-1.7, 0, 0)) * CFAngles(Vector3.new(-12.808, -28.88, -21.502));
574
                                CFrame.new(Vector3.new(1.699, 1.2, 0.599)) * CFAngles(Vector3.new(-146.606, 16.571, 13.928));
575
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-60, 0, -0.001));
576
                                CFrame.new(Vector3.new(0.5, -1.4, -0.4)) * CFAngles(Vector3.new(-15.001, -15.001, 0));
577
                        })
578
                        spawn(function()
579
                                local timer = 0
580
                                while rs.RenderStepped:wait() do
581
                                        if timer >= 1.55/.8 then
582
                                                break
583
                                        end
584
                                        head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
585
                                        timer = timer + 1/30/(Debounces.FPS/60)
586
                                end
587
                                head.CFrame = CFrame.new(head.CFrame.p,aimPos)
588
                                local ray = Ray.new(head.CFrame.p,(aimPos - head.CFrame.p).unit * 999)
589
                                local hit, pos = workspace:FindPartOnRay(ray,c)
590
                                local dis = (head.CFrame.p - pos).magnitude
591
                                local rayPart = Instance.new("Part",rayModel)
592
                                rayPart.Material = "Neon"
593
                                rayPart.FormFactor = "Custom"
594
                                rayPart.Name = "Punch"
595
                                rayPart.BrickColor = BrickColor.new(1,1,1)
596
                                rayPart.Anchored = true
597
                                rayPart.CanCollide = false
598
                                rayPart.Size = Vector3.new(28,28,dis + 400)
599
                                local rayCFrame = CFrame.new(head.CFrame.p + (aimPos - head.CFrame.p).unit * (dis/2 + 200),head.CFrame.p + (aimPos - head.CFrame.p).unit * dis * 2)
600
                                rayPart.CFrame = rayCFrame
601
                                head:Destroy()
602
                        end)
603
                        wait()
604
                        local s = Instance.new("Sound",head)
605
                        s.Volume = 1
606
                        s.SoundId = "rbxassetid://332223043"
607
                        s.Pitch = .8
608
                        s:Play()
609
                        wait(.75)
610
                        setLerp(.17)
611
                        setJointCFrames({
612
                                CFrame.new(Vector3.new(0, -.5, 0)) * CFAngles(Vector3.new(-20, 15, 0));
613
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, 14.999, -0.001));
614
                                CFrame.new(Vector3.new(-1.7, 0, 0.2)) * CFAngles(Vector3.new(-33.928, -4.374, -38.76));
615
                                CFrame.new(Vector3.new(1.499, 0.4, -0.601)) * CFAngles(Vector3.new(74.335, 25.091, -6.155));
616
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-45, 0, -0.001));
617
                                CFrame.new(Vector3.new(0.5, -1.8, -0.4)) * CFAngles(Vector3.new(-15, -15, 0));
618
                        })
619
                        wait(.5)
620
                        Debounces.isAttacking = false
621
                end
622
        end)
623
        
624
        reflect = function(d,n)
625
                local i, n = -1 * d.unit, n.unit
626
                local dot = n:Dot(i)
627
                return 2*dot*n - i
628
        end
629
630
        makeReflectionBeam = function(pos,look,isCrit)
631
                local ray = Ray.new(pos,look)
632
                local hit,hitpos,norm = workspace:FindPartOnRay(ray,c)
633
                local e = Instance.new("Part",rayModel)
634
                e.Anchored = true
635
                e.CanCollide = false
636
                e.BrickColor = BrickColor.new("White")
637
                e.Material = "Neon"
638
                e.FormFactor = "Custom"
639
                e.Size = Vector3.new(6,6,(pos - hitpos).magnitude)
640
                if isCrit == true then
641
                        e.Size = Vector3.new(16,16,(pos - hitpos).magnitude)
642
                        e.Name = "Punch"
643
                end
644
                e.CFrame = CFrame.new(pos + (hitpos - pos)/2, pos)
645
                local e = Instance.new("Sound",c)
646
                if isCrit == true then
647
                        e.Volume = .5
648
                else
649
                        e.Volume = .3
650
                        e.Pitch = 1.5
651
                end
652
                e.SoundId = "rbxassetid://200632875"
653
                e:Play()
654
                spawn(function()
655
                        wait(6)
656
                        e:Destroy()
657
                end)
658
                wait(.05)
659
                if hit ~= nil then
660
                        newDir = reflect(look.unit,norm,isCrit)
661
                        makeReflectionBeam(hitpos,newDir * 999,isCrit)
662
                end
663
        end
664
665
        uinps.InputBegan:connect(function(InputObject)
666
                if InputObject.KeyCode == Enum.KeyCode.Q and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isPassive == true and Debounces.isTyping == false then
667
                        local isLooping = true
668
                        uinps.InputEnded:connect(function(InputObject2)
669
                                if InputObject2.KeyCode == Enum.KeyCode.Q then
670
                                        isLooping = false
671
                                end
672
                        end)
673
                        while true do
674
                                if isLooping == false then
675
                                        break
676
                                end
677
                                Debounces.attackNumber = Debounces.attackNumber + 1
678
                                local aimPos = mouse.Hit.p
679
                                local head = Instance.new("Part",c)
680
                                head.Size = Vector3.new(12,.2,12)
681
                                head.CanCollide = false
682
                                head.Anchored = true
683
                                head.Transparency = 1
684
                                for i = 1,2 do
685
                                        local decal = Instance.new("Decal",head)
686
                                        decal.Texture = "rbxassetid://323497117"
687
                                        if i == 1 then
688
                                                decal.Face = Enum.NormalId.Top
689
                                        else
690
                                                decal.Face = Enum.NormalId.Bottom
691
                                        end
692
                                end
693
                                if Debounces.attackNumber%2 == 1 then
694
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(8,8,.5)).p,aimPos)
695
                                else
696
                                        head.CFrame = CFrame.new(c.Torso.CFrame:toWorldSpace(CFrame.new(-8,8,.5)).p,aimPos)
697
                                end
698
                                spawn(function()
699
                                        local timer = 0
700
                                        while rs.RenderStepped:wait() do
701
                                                if timer >= 1.55 then
702
                                                        break
703
                                                end
704
                                                head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
705
                                                timer = timer + 1/30/(Debounces.FPS/60)
706
                                        end
707
                                        head.CFrame = CFrame.new(head.CFrame.p,aimPos)
708
                                        head:Destroy()
709
                                        makeReflectionBeam(head.CFrame.p,(head.CFrame.p - aimPos).unit * -999,false)        
710
                                end)
711
                                
712
                                wait()
713
                                local s = Instance.new("Sound",head)
714
                                s.Volume = 1
715
                                s.SoundId = "rbxassetid://332223043"
716
                                s.Pitch = 1.02
717
                                s:Play()
718
                                wait(.2)
719
                        end
720
                end
721
        end)
722
723
        uinps.InputBegan:connect(function(InputObj)
724
                if InputObj.KeyCode == Enum.KeyCode.E and Debounces.isAttacking == false and Debounces.isSprinting == true and Debounces.isPassive == true and Debounces.isTyping == false then
725
                        Debounces.isAttacking = true
726
                        local aimPos = c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-999)).p
727
                        local head = Instance.new("Part",c)
728
                        head.Size = Vector3.new(18,.2,18)
729
                        head.CanCollide = false
730
                        head.Anchored = true
731
                        head.CFrame = CFrame.new(c.HumanoidRootPart.CFrame:toWorldSpace(CFrame.new(0,0,-9)).p,aimPos)
732
                        head.Transparency = 1
733
                        for i = 1,2 do
734
                                local decal = Instance.new("Decal",head)
735
                                decal.Texture = "rbxassetid://323497117"
736
                                if i == 1 then
737
                                        decal.Face = Enum.NormalId.Top
738
                                else
739
                                        decal.Face = Enum.NormalId.Bottom
740
                                end
741
                        end
742
                        setLerp(.1)
743
                        setJointCFrames({
744
                                CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 0, 0));
745
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, -0.001, -0.001));
746
                                CFrame.new(Vector3.new(-1.7, 0, 0)) * CFAngles(Vector3.new(-12.808, -28.88, -21.502));
747
                                CFrame.new(Vector3.new(1.699, 1.2, 0.599)) * CFAngles(Vector3.new(-146.606, 16.571, 13.928));
748
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-60, 0, -0.001));
749
                                CFrame.new(Vector3.new(0.5, -1.4, -0.4)) * CFAngles(Vector3.new(-15.001, -15.001, 0));
750
                        })
751
                        spawn(function()
752
                                local timer = 0
753
                                while rs.RenderStepped:wait() do
754
                                        if timer >= 1.55/.8 then
755
                                                break
756
                                        end
757
                                        head.CFrame = head.CFrame * CFrame.Angles(0,0,math.rad(timer * 25/(Debounces.FPS/60)))
758
                                        timer = timer + 1/30/(Debounces.FPS/60)
759
                                end
760
                                head.CFrame = CFrame.new(head.CFrame.p,aimPos)
761
                                head:Destroy()
762
                                makeReflectionBeam(head.CFrame.p,(head.CFrame.p - aimPos).unit * -999,true)
763
                        end)
764
                        wait()
765
                        local s = Instance.new("Sound",head)
766
                        s.Volume = 2
767
                        s.SoundId = "rbxassetid://332223043"
768
                        s.Pitch = .8
769
                        s:Play()
770
                        wait(.75)
771
                        setLerp(.17)
772
                        setJointCFrames({
773
                                CFrame.new(Vector3.new(0, -.5, 0)) * CFAngles(Vector3.new(-20, 15, 0));
774
                                CFrame.new(Vector3.new(0, 1.499, -0.09)) * CFAngles(Vector3.new(-11.676, 14.999, -0.001));
775
                                CFrame.new(Vector3.new(-1.7, 0, 0.2)) * CFAngles(Vector3.new(-33.928, -4.374, -38.76));
776
                                CFrame.new(Vector3.new(1.499, 0.4, -0.601)) * CFAngles(Vector3.new(74.335, 25.091, -6.155));
777
                                CFrame.new(Vector3.new(-0.501, -1.601, 0.6)) * CFAngles(Vector3.new(-45, 0, -0.001));
778
                                CFrame.new(Vector3.new(0.5, -1.8, -0.4)) * CFAngles(Vector3.new(-15, -15, 0));
779
                        })
780
                        wait(.5)
781
                        Debounces.isAttacking = false
782
                end
783
        end)
784
785
        uinps.InputBegan:connect(function(InputObj)
786
                if InputObj.KeyCode == Enum.KeyCode.Slash then
787
                        local finishEvent = nil
788
                        Debounces.isTyping = true
789
                        finishEvent = uinps.InputBegan:connect(function(InputObj)
790
                                if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then
791
                                        Debounces.isTyping = false
792
                                        finishEvent:disconnect()
793
                                end
794
                        end)
795
                end
796
        end)
797
798
        uinps.InputBegan:connect(function(InputObj)
799
                if InputObj.KeyCode == Enum.KeyCode.LeftShift then
800
                        Debounces.isSprinting = true
801
                end
802
        end)
803
804
        uinps.InputEnded:connect(function(InputObj)
805
                if InputObj.KeyCode == Enum.KeyCode.LeftShift then
806
                        Debounces.isSprinting = false
807
                end
808
        end)
809
810
        rs.RenderStepped:connect(function()
811
                Debounces.FPS = 1/rs.RenderStepped:wait()
812
                local FPSLerp = AnimStat.lerpSpeed/(Debounces.FPS/60)
813
                if Debounces.isPassive == false then
814
                        fire.Enabled = false
815
                        light.Range = 0
816
                        fight:Pause()
817
                        sans:Resume()
818
                        efxBlock.Transparency = 1
819
                else
820
                        fire.Enabled = true
821
                        light.Range = 10
822
                        fight:Resume()
823
                        sans:Pause()
824
                        efxBlock.Transparency = 0
825
                end
826
                for i,v in pairs (rayModel:children()) do
827
                        if v.Transparency >= 1 then
828
                                v:Destroy()
829
                        else
830
                                v.CanCollide = true
831
                                local parts = v:GetTouchingParts()
832
                                v.CanCollide = false
833
                                for i = 1,#parts do
834
                                        if parts[i].Parent:FindFirstChild("Humanoid") and parts[i].Parent ~= c and v.Name ~= "Punch" then
835
                                                parts[i].Parent.Humanoid:TakeDamage(.5/(Debounces.FPS/60))
836
                                        elseif parts[i].Parent:FindFirstChild("Humanoid") and parts[i].Parent ~= c and v.Name == "Punch" then
837
                                                parts[i].Parent.Humanoid:TakeDamage(3.1/(Debounces.FPS/60))
838
                                        end
839
                                end
840
                                v.Size = v.Size + Vector3.new(1/(Debounces.FPS/60),1/(Debounces.FPS/60),0)
841
                                v.Transparency = v.Transparency + .05/(Debounces.FPS/60)
842
                        end
843
                end
844
                for i = 1,#Joints do
845
                        Joints[i].C0 = Joints[i].C0:lerp(JointTargets[i], FPSLerp)
846
                end
847
                local sineval = math.sin(tick() * 2) * 3
848
                fire.Acceleration = Vector3.new(sineval,1,sineval)
849
                light.Brightness = math.sin(math.cos(tick() * 2) * 1.5)
850
        end)