Upscalefanatic3

Untitled

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