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