Advertisement
DarkScriptZEditors

Untitled

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