Advertisement
jasonskg1234

-- BurnLegion strikes again! -- wongxd, this is why you DON'

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