Mitko1223tm

sans 2 welp

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