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