Dark_EccentricYT

Untitled

Mar 25th, 2017
2,575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.95 KB | None | 0 0
  1. wait()
  2. local Player = game.Players.LocalPlayer
  3. local Character = Player.Character
  4. local Humanoid = Character.Humanoid
  5. local Head = Character.Head
  6. local Torso = Character.Torso
  7. local RootPart = Character.HumanoidRootPart
  8. local RightArm = Character["Right Arm"]
  9. local LeftArm = Character["Left Arm"]
  10. local RightLeg = Character["Right Leg"]
  11. local LeftLeg = Character["Left Leg"]
  12. local Neck = Torso.Neck
  13. local RootJoint = RootPart.RootJoint
  14. local RightShoulder = Torso["Right Shoulder"]
  15. local LeftShoulder = Torso["Left Shoulder"]
  16. local RightHip = Torso["Right Hip"]
  17. local LeftHip = Torso["Left Hip"]
  18. local Insert = table.insert
  19. local Mouse = Player:GetMouse()
  20. VFXList = {}
  21. local CharaterAnimate, CharacterAnimator = Character:FindFirstChild("Animate"), Humanoid:FindFirstChild("Animator")
  22. if CharaterAnimate and CharacterAnimator then
  23. CharaterAnimate.Parent = nil
  24. CharacterAnimator.Parent = nil
  25. end
  26. local ComboKey = "none"
  27. local DisplayComboKey = "none"
  28. local ComboPart = 1
  29. local Attacking = false
  30. local Combo1 = false
  31. local Combo2 = false
  32. local Combo3 = false
  33. local OnCombo = false
  34. local LockedEnemy
  35. NeckDefaultCFrame = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
  36. RootDefaultCFrame = CFrame.Angles(-1.57, 0, 3.14)
  37. RightLegDefaultCFrame = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  38. LeftLegDefaultCFrame = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  39. RightShoulder.C1 = CFrame.new(0, 0.5, 0)
  40. LeftShoulder.C1 = CFrame.new(0, 0.5, 0)
  41. Services = {
  42. Workspace = game:GetService("Workspace"),
  43. Debris = game:GetService("Debris")
  44. }
  45. Heartbeat = Instance.new("BindableEvent", script)
  46. Heartbeat.Name = "Heartbeat"
  47. script:WaitForChild("Heartbeat")
  48. Frame = 0.033333333333333
  49. TF = 0
  50. AllowFrameLoss = false
  51. TossRemainder = false
  52. LastFrame = tick()
  53. script.Heartbeat:Fire()
  54. local HeartBeatIsNil = false
  55. game:GetService("RunService").Heartbeat:connect(function(s, p)
  56. if script:FindFirstChild("Heartbeat") == nil then
  57. HeartBeatIsNil = true
  58. end
  59. if HeartBeatIsNil then
  60. return
  61. end
  62. TF = TF + s
  63. if Frame <= TF then
  64. if AllowFrameLoss then
  65. Heartbeat:Fire()
  66. LastFrame = tick()
  67. else
  68. for i = 1, math.floor(TF / Frame) do
  69. Heartbeat:Fire()
  70. LastFrame = tick()
  71. end
  72. end
  73. if TossRemainder then
  74. TF = 0
  75. else
  76. TF = TF - Frame * math.floor(TF / Frame)
  77. end
  78. end
  79. end)
  80. function Wait2(WaitNumber)
  81. if WaitNumber == 0 or WaitNumber == nil then
  82. Heartbeat.Event:wait()
  83. else
  84. for i = 0, WaitNumber do
  85. Heartbeat.Event:wait()
  86. end
  87. end
  88. end
  89. function GUI(NewInstance, Parent, Size, Position, BGTransparency, Visible, BGColor, Rotation, Style, Text, TextColor, TextStroke, StrokeTrans, Scaled, Font)
  90. local NewGui = Instance.new(NewInstance)
  91. NewGui.Parent = Parent
  92. coroutine.resume(coroutine.create(function()
  93. NewGui:TweenSizeAndPosition(Size, Position, "Out", "Quad", 0.5)
  94. end))
  95. NewGui.BackgroundTransparency = BGTransparency
  96. NewGui.Visible = Visible
  97. NewGui.Rotation = Rotation
  98. NewGui.BorderSizePixel = 0
  99. NewGui.BackgroundColor3 = BrickColor.new(BGColor).Color
  100. if Style and NewInstance == "Frame" or Style and NewInstance == "ScrollingFrame" then
  101. NewGui.Style = Style
  102. end
  103. if NewInstance == "TextBox" or NewInstance == "TextLabel" or NewInstance == "TextButton" then
  104. NewGui.Text = Text
  105. NewGui.TextStrokeTransparency = StrokeTrans
  106. NewGui.TextColor3 = BrickColor.new(TextColor).Color
  107. NewGui.TextStrokeColor3 = BrickColor.new(TextStroke).Color
  108. NewGui.TextScaled = Scaled
  109. NewGui.Font = Font
  110. end
  111. return NewGui
  112. end
  113. local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape)
  114. local Part = Instance.new("Part", Parent)
  115. Part.Name = Name
  116. Part.BrickColor = BrickColor.new(Color)
  117. Part.Size = Size
  118. Part.Material = Material
  119. Part.Transparency = Transparency
  120. Part.Shape = Shape
  121. Part.CanCollide = false
  122. NoOutlines(Part)
  123. return Part
  124. end
  125. local CreateWeld = function(Parent, Cframe, Cframe2, P1, P0, Name)
  126. local Weld = Instance.new("Weld", Parent)
  127. Weld.Part0 = P0
  128. Weld.Part1 = P1
  129. Weld.Name = Name
  130. Weld.C0 = Cframe
  131. Weld.C1 = Cframe2
  132. return Weld
  133. end
  134. local CreateMesh = function(Parent, Scale, Type, Type2, ID, Texture)
  135. local Mesh
  136. if Type == "SpecialMesh" then
  137. Mesh = Instance.new("SpecialMesh", Parent)
  138. if Type then
  139. Mesh.MeshType = Type2
  140. if Type2 == "FileMesh" and ID then
  141. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. ID
  142. if Texture then
  143. Mesh.TextureId = "http://www.roblox.com/asset?id=" .. Texture
  144. end
  145. end
  146. end
  147. elseif Type == "BlockMesh" then
  148. Mesh = Instance.new("BlockMesh", Parent)
  149. elseif Type == "CylinderMesh" then
  150. Mesh = Instance.new("CylinderMesh", Parent)
  151. end
  152. return Mesh
  153. end
  154. function Animate(Weld, Point1, Point2)
  155. return Weld:Lerp(Point1, Point2)
  156. end
  157. function ResumeCharacterControl()
  158. Humanoid.JumpPower = 50
  159. Humanoid.WalkSpeed = 16
  160. CharacterUnderControl = true
  161. end
  162. function RemoveCharacterControl()
  163. Humanoid.JumpPower = 0
  164. Humanoid.WalkSpeed = 0
  165. CharacterUnderControl = false
  166. end
  167. function SoundEffect(Part, ID, Volume, Pitch, Looped)
  168. local Sound = Instance.new("Sound", Part)
  169. Sound.SoundId = "http://www.roblox.com/asset?id=" .. ID
  170. Sound.Name = "SFX"
  171. Sound.Volume = Volume
  172. Sound.Pitch = Pitch
  173. Sound:Play()
  174. if Looped then
  175. return
  176. end
  177. Services.Debris:AddItem(Sound, 5)
  178. return Sound
  179. end
  180. function NoOutlines(Part)
  181. Part.TopSurface = 10
  182. Part.BottomSurface = 10
  183. Part.LeftSurface = 10
  184. Part.RightSurface = 10
  185. Part.FrontSurface = 10
  186. Part.BackSurface = 10
  187. end
  188. function AddVFX(VFXType, Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  189. Insert(VFXList, {
  190. VFXType,
  191. Part,
  192. TransparencyAdd,
  193. IncreaseSize1,
  194. IncreaseSize2,
  195. IncreaseSize3
  196. })
  197. end
  198. function BlockVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  199. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  200. Part.Anchored = true
  201. Part.CFrame = PartPosition
  202. Services.Debris:AddItem(Part, 5)
  203. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "Brick")
  204. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  205. AddVFX("Rotate", Part)
  206. return Part
  207. end
  208. function CircleVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  209. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  210. Part.Anchored = true
  211. Part.CFrame = PartPosition
  212. Services.Debris:AddItem(Part, 5)
  213. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "Sphere")
  214. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  215. return Part
  216. end
  217. function CylinderVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  218. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  219. Part.Anchored = true
  220. Part.CFrame = PartPosition
  221. Services.Debris:AddItem(Part, 5)
  222. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "Cylinder")
  223. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  224. return Part
  225. end
  226. function WaveVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  227. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  228. Part.Anchored = true
  229. Part.CFrame = PartPosition
  230. Services.Debris:AddItem(Part, 5)
  231. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "FileMesh", 20329976)
  232. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  233. return Part and Mesh
  234. end
  235. function ShurikenVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  236. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  237. Part.Anchored = true
  238. Part.CFrame = PartPosition
  239. Services.Debris:AddItem(Part, 5)
  240. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "FileMesh", 11112101)
  241. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  242. return Part
  243. end
  244. function KunaiVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  245. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  246. Part.Anchored = true
  247. Part.CFrame = PartPosition
  248. Services.Debris:AddItem(Part, 5)
  249. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "FileMesh", 45728702)
  250. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  251. return Part
  252. end
  253. function WindVFX(PartPosition, Color, Material, Transparency, TransparencyAdd, Size1, Size2, Size3, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  254. local Part = CreatePart(Services.Workspace, "VFX", Color, Vector3.new(), Material, Transparency, "Block")
  255. Part.Anchored = true
  256. Part.CFrame = PartPosition
  257. Services.Debris:AddItem(Part, 5)
  258. local Mesh = CreateMesh(Part, Vector3.new(Size1, Size2, Size3), "SpecialMesh", "FileMesh", 168892432)
  259. AddVFX("Resize", Part, TransparencyAdd, IncreaseSize1, IncreaseSize2, IncreaseSize3)
  260. return Part
  261. end
  262. WeaponGUI = Instance.new("ScreenGui", Player.PlayerGui)
  263. WeaponGUI.Name = "WeaponThing"
  264. RightArmReference = CreatePart(Character, "Right arm reference", "None", Vector3.new(), "SmoothPlastic", 1, "Block")
  265. RightArmReferenceWeld = CreateWeld(RightArmReference, CFrame.new(0, 1.5, 0), CFrame.new(0, 0, 0), RightArm, RightArmReference, "LeftArmReferenceToLeftArm")
  266. LeftArmReference = CreatePart(Character, "Left arm reference", "None", Vector3.new(), "SmoothPlastic", 1, "Block")
  267. LeftArmReferenceWeld = CreateWeld(LeftArmReference, CFrame.new(0, 1.5, 0), CFrame.new(0, 0, 0), LeftArm, LeftArmReference, "LeftArmReferenceToRightArm")
  268. function Display(HitCharacter, DisplayText)
  269. if HitCharacter:FindFirstChild("Head") then
  270. do
  271. local DamageShowingPart = Instance.new("Part", Services.Workspace)
  272. DamageShowingPart.Name = "ShowDamage"
  273. DamageShowingPart.BrickColor = BrickColor.new("Crimson")
  274. DamageShowingPart.Size = Vector3.new()
  275. DamageShowingPart.Material = "Neon"
  276. DamageShowingPart.Transparency = 1
  277. local DisplayGui = Instance.new("BillboardGui", DamageShowingPart)
  278. DisplayGui.Name = "Damage"
  279. DisplayGui.AlwaysOnTop = true
  280. DisplayGui.Size = UDim2.new(2, 0, 2, 0)
  281. local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart)
  282. BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  283. BodyVelocity.Velocity = Vector3.new(0, 0.5, 0)
  284. local DisplayNumber = Instance.new("TextLabel", DisplayGui)
  285. DisplayNumber.Size = UDim2.new(1, 0, 1, 0)
  286. DisplayNumber.TextTransparency = 1
  287. DisplayNumber.TextStrokeTransparency = 1
  288. DisplayNumber.BackgroundTransparency = 1
  289. DisplayNumber.TextTransparency = 1
  290. DisplayNumber.Font = "SourceSansBold"
  291. DisplayNumber.TextScaled = true
  292. DisplayNumber.TextStrokeColor3 = BrickColor.Black().Color
  293. DisplayNumber.TextColor3 = BrickColor.new("Really red").Color
  294. DisplayNumber.Text = "-" .. DisplayText
  295. DamageShowingPart.Position = HitCharacter.Head.Position + Vector3.new(math.random(-1, 1), 5, math.random(-1, 1))
  296. coroutine.resume(coroutine.create(function()
  297. while DisplayNumber.TextTransparency > 0 do
  298. Wait2()
  299. DisplayNumber.TextStrokeTransparency = DisplayNumber.BackgroundTransparency - 0.1
  300. DisplayNumber.TextTransparency = DisplayNumber.TextTransparency - 0.1
  301. end
  302. AddVFX("Display", DamageShowingPart, 0.05)
  303. end))
  304. Services.Debris:AddItem(DamageShowingPart, 10)
  305. end
  306. end
  307. end
  308. function DoDamage(Hit, HitCharacter, Type, MinDamage, MaxDamage, PartLook, Knockback, SFX, SFXPitch, Delay, PartLook)
  309. if Hit.Health == 0 or HitCharacter:FindFirstChild(Player.Name) then
  310. return
  311. end
  312. SoundEffect(HitCharacter.Torso, SFX, 1, SFXPitch, false)
  313. local DelayDebounce = Instance.new("Folder", HitCharacter)
  314. DelayDebounce.Name = Player.Name
  315. Services.Debris:AddItem(DelayDebounce, Delay)
  316. local Damage = math.random(MinDamage, MaxDamage)
  317. HitCharacter.Torso.Velocity = PartLook.CFrame.lookVector * Knockback
  318. coroutine.resume(coroutine.create(function()
  319. Wait2()
  320. Hit:TakeDamage(Damage)
  321. Display(HitCharacter, Damage, "Damage")
  322. if Type == "Lock" then
  323. LockedEnemy = HitCharacter
  324. end
  325. end))
  326. end
  327. function ValidateDamage(Part, Type, Distance, MinDamage, MaxDamage, PartLook, Knockback, SFX, SFXPitch, Delay)
  328. for ChildrenNumber, Children in pairs(Services.Workspace:children()) do
  329. if Children ~= Character and Children:FindFirstChild("Humanoid") and Children:FindFirstChild("Head") then
  330. local HitHead = Children.Head
  331. local TargetPosition = HitHead.Position - Part.Position
  332. local Magnitude = TargetPosition.magnitude
  333. if Distance > Magnitude then
  334. local Hit = Children.Humanoid
  335. local HitCharacter = Children
  336. DoDamage(Hit, HitCharacter, Type, MinDamage, MaxDamage, PartLook, Knockback, SFX, SFXPitch, Delay, PartLook)
  337. end
  338. end
  339. end
  340. end
  341. function Prepare2Target()
  342. Attacking = true
  343. Combo1 = true
  344. RightArmReferenceWeld.C0 = CFrame.new(0, 1.5, 0)
  345. LeftArmReferenceWeld.C0 = CFrame.new(0, 1.5, 0)
  346. for i = 1, 25 do
  347. Wait2()
  348. ShurikenVFX(RightArmReference.CFrame * CFrame.Angles(0, 0, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.5, 0.5, 0.5)
  349. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0, 0, 1), 0.2)
  350. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, -0.2) * CFrame.Angles(0, 0, -1), 0.2)
  351. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.3, 0.5, 0.1) * CFrame.Angles(0, -0.4, 1.6), 0.2)
  352. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-0.8, 0.6, -0.5) * CFrame.Angles(1.6, 0, 0.8), 0.2)
  353. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.2)
  354. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.2)
  355. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, -0.5) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, 1, -0.5), 0.2)
  356. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0.5) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, 1, 0.5), 0.2)
  357. end
  358. local RandomCombo = math.random(1, 4)
  359. if RandomCombo == 1 then
  360. ComboKey = "z"
  361. DisplayComboKey = "Z"
  362. elseif RandomCombo == 2 then
  363. ComboKey = "q"
  364. DisplayComboKey = "Q"
  365. elseif RandomCombo == 3 then
  366. ComboKey = "r"
  367. DisplayComboKey = "R"
  368. elseif RandomCombo == 4 then
  369. ComboKey = "f"
  370. DisplayComboKey = "F"
  371. end
  372. local KeyBarBack = GUI("Frame", WeaponGUI, UDim2.new(0, 80, 0, 80), UDim2.new(0.5, 0, 0.9, 0), 0, true, "Really black", 0, nil)
  373. local KeyBarText = GUI("TextLabel", KeyBarBack, UDim2.new(0, 80, 0, 80), UDim2.new(0, 0, 0, 0), 1, true, "", 0, nil, DisplayComboKey, "White", "White", 1, true, "SourceSansBold")
  374. ComboPart = 1
  375. coroutine.resume(coroutine.create(function()
  376. while ComboPart == 1 and Combo1 == true do
  377. Wait2()
  378. ShurikenVFX(RightArmReference.CFrame * CFrame.Angles(0, 0, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.5, 0.5, 0.5)
  379. end
  380. end))
  381. coroutine.resume(coroutine.create(function()
  382. wait(0.8)
  383. if ComboPart == 1 then
  384. Combo1 = false
  385. ComboKey = "none"
  386. Attacking = false
  387. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  388. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  389. wait(2)
  390. KeyBarBack:Remove()
  391. elseif ComboPart == 2 then
  392. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  393. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  394. wait(2)
  395. KeyBarBack:Remove()
  396. end
  397. end))
  398. end
  399. function WindShuriken()
  400. ComboKey = "none"
  401. for i = 1, 8 do
  402. Wait2()
  403. ShurikenVFX(RightArmReference.CFrame * CFrame.Angles(0, 0, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.5, 0.5, 0.5)
  404. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0, 0, -1.7), 0.5)
  405. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, -0.1) * CFrame.Angles(0, 0, 1.7), 0.5)
  406. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.3, 0.5, 0) * CFrame.Angles(1.6, 1, 1), 0.5)
  407. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-1.3, 0.6, 0.3) * CFrame.Angles(0, 0.5, -1.6), 0.5)
  408. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.5)
  409. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.5)
  410. RightHip.C0 = Animate(RightHip.C0, CFrame.new(0.5, -1, 0.5) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, -1.6, -0.5), 0.5)
  411. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-0.5, -1, -0.8) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, -1.6, 0.5), 0.5)
  412. end
  413. local Part = CreatePart(Services.Workspace, "Reference", "None", Vector3.new(3, 0, 3), "SmoothPlastic", 1, "Block")
  414. Part.Position = RightArmReference.Position
  415. Services.Debris:AddItem(Part, 1)
  416. Part.Touched:connect(function(Hit)
  417. if Hit ~= Character and Hit.Parent ~= Character and Hit.Name ~= "VFX" and Hit.Parent.className ~= "Accessory" then
  418. Part:Remove()
  419. ValidateDamage(Part, "Lock", 10, 6, 8, RootPart, 5, 199149269, 1, 0.3)
  420. end
  421. end)
  422. local BodyVelocity = Instance.new("BodyVelocity", Part)
  423. BodyVelocity.Velocity = RootPart.CFrame.lookVector * 50
  424. BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  425. coroutine.resume(coroutine.create(function()
  426. while Part.Parent == workspace do
  427. Wait2()
  428. ShurikenVFX(Part.CFrame * CFrame.Angles(3.2, 0, 0), "White", "Neon", 0, 0.05, 1, 1, 1, 0.5, 0.5, 0.5)
  429. end
  430. local TouchedFloor, WavePosition = FindPartOnRay(Part.Position, CFrame.new(LeftArmReference.Position, LeftArmReference.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  431. CircleVFX(Part.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 5, 5, 5)
  432. BlockVFX(Part.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 3, 3, 3)
  433. WaveVFX(CFrame.new(WavePosition), "White", "Neon", 0, 0.05, 1, 1.5, 1, 2, 0, 2)
  434. Wait2()
  435. if LockedEnemy then
  436. do
  437. local RandomCombo = math.random(1, 3)
  438. if RandomCombo == 1 then
  439. ComboKey = "h"
  440. DisplayComboKey = "H"
  441. elseif RandomCombo == 2 then
  442. ComboKey = "b"
  443. DisplayComboKey = "B"
  444. elseif RandomCombo == 3 then
  445. ComboKey = "t"
  446. DisplayComboKey = "T"
  447. end
  448. local KeyBarBack = GUI("Frame", WeaponGUI, UDim2.new(0, 80, 0, 80), UDim2.new(0.5, 0, 0.9, 0), 0, true, "Really black", 0, nil)
  449. local KeyBarText = GUI("TextLabel", KeyBarBack, UDim2.new(0, 80, 0, 80), UDim2.new(0, 0, 0, 0), 1, true, "", 0, nil, DisplayComboKey, "White", "White", 1, true, "SourceSansBold")
  450. coroutine.resume(coroutine.create(function()
  451. wait(0.8)
  452. if ComboPart == 2 then
  453. Combo1 = false
  454. ComboKey = "none"
  455. Attacking = false
  456. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  457. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  458. LockedEnemy.Torso.Anchored = false
  459. wait()
  460. if LockedEnemy then
  461. LockedEnemy = nil
  462. end
  463. wait(2)
  464. KeyBarBack:Remove()
  465. elseif ComboPart == 3 then
  466. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  467. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  468. wait(2)
  469. KeyBarBack:Remove()
  470. end
  471. end))
  472. end
  473. else
  474. Attacking = false
  475. end
  476. end))
  477. end
  478. function TPandHIT()
  479. ComboKey = "none"
  480. local TouchedFloor, WavePosition = FindPartOnRay(LeftArmReference.Position, CFrame.new(LeftArmReference.Position, LeftArmReference.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  481. CircleVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 5, 5, 5)
  482. BlockVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 3, 3, 3)
  483. WaveVFX(CFrame.new(WavePosition), "White", "Neon", 0, 0.05, 1, 1.5, 1, 2, 0, 2)
  484. wait()
  485. LockedEnemy.Torso.Anchored = true
  486. RemoveCharacterControl()
  487. Character:MoveTo(LockedEnemy.Torso.Position + Vector3.new(0, 0, 5))
  488. wait()
  489. local TouchedFloor, WavePosition = FindPartOnRay(LeftArmReference.Position, CFrame.new(LeftArmReference.Position, LeftArmReference.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  490. CircleVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 5, 5, 5)
  491. BlockVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 3, 3, 3)
  492. WaveVFX(CFrame.new(WavePosition), "White", "Neon", 0, 0.05, 1, 1.5, 1, 2, 0, 2)
  493. RightArmReferenceWeld.C0 = CFrame.new(1, 1, 0)
  494. LeftArmReferenceWeld.C0 = CFrame.new(1, 1, 0)
  495. for i = 1, 8 do
  496. Wait2()
  497. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0, 0, -1.7), 0.5)
  498. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, -0.1) * CFrame.Angles(0, 0, 1.7), 0.5)
  499. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.3, 0.5, 0) * CFrame.Angles(1.6, 1, 0), 0.5)
  500. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-1.3, 0.6, 0) * CFrame.Angles(0, 0.5, -1.6), 0.5)
  501. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.5)
  502. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.5)
  503. RightHip.C0 = Animate(RightHip.C0, CFrame.new(0.5, -1, 0.5) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, -1.6, -0.5), 0.5)
  504. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-0.5, -1, -0.8) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, -1.6, 0.5), 0.5)
  505. KunaiVFX(LeftArmReference.CFrame * CFrame.Angles(0, 1.6, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.1, 0.1, 0.1)
  506. KunaiVFX(RightArmReference.CFrame * CFrame.Angles(-1.6, 1.6, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.1, 0.1, 0.1)
  507. end
  508. for i = 1, 8 do
  509. Wait2()
  510. local LeftKunai = KunaiVFX(LeftArmReference.CFrame * CFrame.Angles(0, 1.6, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.1, 0.1, 0.1)
  511. local RightKunai = KunaiVFX(RightArmReference.CFrame * CFrame.Angles(-1.6, 1.6, 1.6), "White", "Neon", 0, 0.05, 1, 1, 1, 0.1, 0.1, 0.1)
  512. ValidateDamage(RightKunai, "Normal", 10, 6, 8, RootPart, 5, 199149269, 1, 0.3)
  513. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0, 0, -1.7), 0.5)
  514. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, -0.1) * CFrame.Angles(0, 0, 1.7), 0.5)
  515. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.3, 0.5, 0) * CFrame.Angles(1.6, 0, 1), 0.5)
  516. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-1.3, 0.6, 0) * CFrame.Angles(0, 0.5, -1.6), 0.5)
  517. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.5)
  518. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.5)
  519. RightHip.C0 = Animate(RightHip.C0, CFrame.new(0.5, -1, 0.5) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, -1.6, -0.5), 0.5)
  520. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-0.5, -1, -0.8) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, -1.6, 0.5), 0.5)
  521. RootPart.Velocity = RootPart.CFrame.lookVector * 50
  522. end
  523. local RandomCombo = math.random(1, 3)
  524. if RandomCombo == 1 then
  525. ComboKey = "g"
  526. DisplayComboKey = "G"
  527. elseif RandomCombo == 2 then
  528. ComboKey = "r"
  529. DisplayComboKey = "R"
  530. elseif RandomCombo == 3 then
  531. ComboKey = "x"
  532. DisplayComboKey = "X"
  533. end
  534. local KeyBarBack = GUI("Frame", WeaponGUI, UDim2.new(0, 80, 0, 80), UDim2.new(0.5, 0, 0.9, 0), 0, true, "Really black", 0, nil)
  535. local KeyBarText = GUI("TextLabel", KeyBarBack, UDim2.new(0, 80, 0, 80), UDim2.new(0, 0, 0, 0), 1, true, "", 0, nil, DisplayComboKey, "White", "White", 1, true, "SourceSansBold")
  536. coroutine.resume(coroutine.create(function()
  537. wait(0.8)
  538. if ComboPart == 3 then
  539. Combo1 = false
  540. ComboKey = "none"
  541. Attacking = false
  542. ResumeCharacterControl()
  543. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  544. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  545. LockedEnemy.Torso.Anchored = false
  546. wait()
  547. if LockedEnemy then
  548. LockedEnemy = nil
  549. end
  550. wait(2)
  551. KeyBarBack:Remove()
  552. wait(2)
  553. KeyBarBack:Remove()
  554. elseif ComboPart == 4 then
  555. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  556. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  557. wait(2)
  558. KeyBarBack:Remove()
  559. end
  560. end))
  561. end
  562. function ThrowWindKunai()
  563. local Part = CreatePart(Services.Workspace, "Reference", "None", Vector3.new(3, 0, 3), "SmoothPlastic", 1, "Block")
  564. Part.Position = LeftArmReference.Position
  565. Services.Debris:AddItem(Part, 3)
  566. local BodyVelocity = Instance.new("BodyVelocity", Part)
  567. BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  568. Part.Touched:connect(function(Hit)
  569. if Hit ~= Character and Hit.Parent ~= Character and Hit.Name ~= "VFX" and Hit.Parent.className ~= "Accessory" then
  570. Part:Remove()
  571. end
  572. end)
  573. coroutine.resume(coroutine.create(function()
  574. while Part.Parent == Services.Workspace do
  575. Wait2()
  576. Part.CFrame = CFrame.new(Part.Position, LockedEnemy.Torso.Position)
  577. BodyVelocity.Velocity = Part.CFrame.lookVector * 50
  578. LeftKunai = KunaiVFX(Part.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 0.1, 0.1, 0.1)
  579. LeftKunai.Rotation = Part.Rotation
  580. end
  581. ValidateDamage(LeftKunai, "Normal", 10, 6, 10, RootPart, 5, 199149269, 1, 0.3)
  582. ResumeCharacterControl()
  583. local TouchedFloor, WavePosition = FindPartOnRay(Part.Position, CFrame.new(LeftArmReference.Position, LeftArmReference.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  584. CircleVFX(Part.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 5, 5, 5)
  585. BlockVFX(Part.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 3, 3, 3)
  586. WaveVFX(CFrame.new(WavePosition), "White", "Neon", 0, 0.05, 1, 1.5, 1, 2, 0, 2)
  587. end))
  588. for i = 1, 10 do
  589. Wait2()
  590. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0, 0, -1.7), 0.5)
  591. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, -0.1) * CFrame.Angles(0, 0, 1.7), 0.5)
  592. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.3, 0.5, 0) * CFrame.Angles(1.6, 0, 1), 0.5)
  593. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-1.3, 0.6, 0) * CFrame.Angles(0, 0, -1.6), 0.5)
  594. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.5)
  595. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.5)
  596. RightHip.C0 = Animate(RightHip.C0, CFrame.new(0.5, -1, 0.5) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, -1.6, -0.5), 0.5)
  597. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-0.5, -1, -0.8) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, -1.6, 0.5), 0.5)
  598. end
  599. local RandomCombo = math.random(1, 3)
  600. if RandomCombo == 1 then
  601. ComboKey = "t"
  602. DisplayComboKey = "T"
  603. elseif RandomCombo == 2 then
  604. ComboKey = "h"
  605. DisplayComboKey = "H"
  606. elseif RandomCombo == 3 then
  607. ComboKey = "c"
  608. DisplayComboKey = "C"
  609. end
  610. local KeyBarBack = GUI("Frame", WeaponGUI, UDim2.new(0, 80, 0, 80), UDim2.new(0.5, 0, 0.9, 0), 0, true, "Really black", 0, nil)
  611. local KeyBarText = GUI("TextLabel", KeyBarBack, UDim2.new(0, 80, 0, 80), UDim2.new(0, 0, 0, 0), 1, true, "", 0, nil, DisplayComboKey, "White", "White", 1, true, "SourceSansBold")
  612. coroutine.resume(coroutine.create(function()
  613. wait(0.8)
  614. if ComboPart == 4 then
  615. Combo1 = false
  616. ComboKey = "none"
  617. Attacking = false
  618. ResumeCharacterControl()
  619. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  620. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  621. LockedEnemy.Torso.Anchored = false
  622. wait()
  623. if LockedEnemy then
  624. LockedEnemy = nil
  625. end
  626. wait(2)
  627. KeyBarBack:Remove()
  628. elseif ComboPart == 5 then
  629. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  630. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  631. wait(2)
  632. KeyBarBack:Remove()
  633. end
  634. end))
  635. end
  636. function UpAndBehind()
  637. local TouchedFloor, WavePosition = FindPartOnRay(LeftArmReference.Position, CFrame.new(LeftArmReference.Position, LeftArmReference.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  638. CircleVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 5, 5, 5)
  639. BlockVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 3, 3, 3)
  640. WaveVFX(CFrame.new(WavePosition), "White", "Neon", 0, 0.05, 1, 1.5, 1, 2, 0, 2)
  641. wait()
  642. LockedEnemy.Torso.Anchored = true
  643. Character:MoveTo(LockedEnemy.Torso.Position + Vector3.new(0, 50, 30))
  644. wait()
  645. local TouchedFloor, WavePosition = FindPartOnRay(LeftArmReference.Position, CFrame.new(LeftArmReference.Position, LeftArmReference.Position - Vector3.new(0, 1, 0)).lookVector, 200, Character)
  646. CircleVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 5, 5, 5)
  647. BlockVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 3, 3, 3)
  648. WaveVFX(CFrame.new(WavePosition), "White", "Neon", 0, 0.05, 1, 1.5, 1, 2, 0, 2)
  649. BodyPosition = Instance.new("BodyPosition", Torso)
  650. BodyPosition.Position = Torso.Position
  651. BodyPosition.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
  652. for i = 1, 10 do
  653. Wait2()
  654. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0.5, 0, 0), 0.5)
  655. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 0.5)
  656. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(-0.6, 0, 0.3), 0.5)
  657. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(-0.6, 0, -0.3), 0.5)
  658. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.5)
  659. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.5)
  660. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, 0, -0.5), 0.5)
  661. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, 0, 0.5), 0.5)
  662. end
  663. local RandomCombo = math.random(1, 7)
  664. if RandomCombo == 1 then
  665. ComboKey = "f"
  666. DisplayComboKey = "F"
  667. elseif RandomCombo == 2 then
  668. ComboKey = "v"
  669. DisplayComboKey = "V"
  670. elseif RandomCombo == 3 then
  671. ComboKey = "g"
  672. DisplayComboKey = "G"
  673. elseif RandomCombo == 4 then
  674. ComboKey = "z"
  675. DisplayComboKey = "Z"
  676. elseif RandomCombo == 5 then
  677. ComboKey = "b"
  678. DisplayComboKey = "B"
  679. elseif RandomCombo == 6 then
  680. ComboKey = "m"
  681. DisplayComboKey = "M"
  682. elseif RandomCombo == 7 then
  683. ComboKey = "n"
  684. DisplayComboKey = "N"
  685. end
  686. local KeyBarBack = GUI("Frame", WeaponGUI, UDim2.new(0, 80, 0, 80), UDim2.new(0.5, 0, 0.9, 0), 0, true, "Really black", 0, nil)
  687. local KeyBarText = GUI("TextLabel", KeyBarBack, UDim2.new(0, 80, 0, 80), UDim2.new(0, 0, 0, 0), 1, true, "", 0, nil, DisplayComboKey, "White", "White", 1, true, "SourceSansBold")
  688. coroutine.resume(coroutine.create(function()
  689. wait(0.8)
  690. if ComboPart == 5 then
  691. Combo1 = false
  692. ComboKey = "none"
  693. Attacking = false
  694. ResumeCharacterControl()
  695. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  696. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  697. BodyPosition:Remove()
  698. LockedEnemy.Torso.Anchored = false
  699. wait()
  700. if LockedEnemy then
  701. LockedEnemy = nil
  702. end
  703. wait(2)
  704. KeyBarBack:Remove()
  705. elseif ComboPart == 6 then
  706. KeyBarBack:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  707. KeyBarText:TweenSizeAndPosition(UDim2.new(0, 0.1, 0, 0.1), UDim2.new(0, 0, 0, 0), "Out", "Quad", 0.5)
  708. wait(2)
  709. KeyBarBack:Remove()
  710. end
  711. end))
  712. end
  713. function WindBeam()
  714. LeftArmReferenceWeld.C0 = CFrame.new(-1, 1, 0)
  715. CircleVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 10000, 10000, 10000, -10, -10, -10)
  716. LockedEnemy.Torso.Anchored = false
  717. for i = 1, 50 do
  718. Wait2()
  719. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(-0.5, 0, 0), 0.5)
  720. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 0.5)
  721. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(-0.6, 0, 0.3), 0.5)
  722. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(-0.6, 0, -0.3), 0.5)
  723. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.5)
  724. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.5)
  725. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.05, 0, -0.5), 0.5)
  726. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.05, 0, 0.5), 0.5)
  727. end
  728. LeftArmReferenceWeld.C0 = CFrame.new(0, 2, 0)
  729. for i = 1, 100 do
  730. Wait2()
  731. CircleVFX(Torso.CFrame, "White", "Neon", 0, 0.05, 1, 1, 1, 10, 10, 10)
  732. WindVFX(Torso.CFrame * CFrame.Angles(i, i, i), "White", "Neon", 0, 0.05, 10, 10, 10, 1, 1, 1)
  733. ValidateDamage(Torso, "Normal", 100, 3, 3, RootPart, 5, 199149269, 1, 0.1)
  734. end
  735. Attacking = false
  736. BodyPosition:Remove()
  737. if LockedEnemy then
  738. LockedEnemy = nil
  739. end
  740. end
  741. Mouse.Button1Down:connect(function()
  742. if Attacking then
  743. return
  744. end
  745. Prepare2Target()
  746. end)
  747. function OnKeyDown(Key)
  748. if Key == ComboKey and ComboPart == 1 and Combo1 then
  749. ComboPart = 2
  750. WindShuriken()
  751. end
  752. if Key == ComboKey and ComboPart == 2 and Combo1 then
  753. ComboPart = 3
  754. TPandHIT()
  755. end
  756. if Key == ComboKey and ComboPart == 3 and Combo1 then
  757. ComboPart = 4
  758. ThrowWindKunai()
  759. end
  760. if Key == ComboKey and ComboPart == 4 and Combo1 then
  761. ComboPart = 5
  762. UpAndBehind()
  763. end
  764. if Key == ComboKey and ComboPart == 5 and Combo1 then
  765. ComboPart = 6
  766. WindBeam()
  767. ComboPart = 1
  768. Combo1 = false
  769. end
  770. end
  771. Mouse.KeyDown:connect(OnKeyDown)
  772. function Animate(Weld, Point, vel)
  773. return Weld:Lerp(Point, vel)
  774. end
  775. function FindPartOnRay(Position, Direction, MaxDistance, Ignore)
  776. return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * MaxDistance), Ignore)
  777. end
  778. WalkInvert = false
  779. WalkVal = 0
  780. function Animations()
  781. if WalkVal > 8 then
  782. WalkInvert = true
  783. elseif WalkVal < 1 then
  784. WalkInvert = false
  785. end
  786. if WalkInvert then
  787. WalkVal = WalkVal - 1
  788. elseif not WalkInvert then
  789. WalkVal = WalkVal + 1
  790. end
  791. local Velocity = RootPart.Velocity.magnitude * Vector3.new(1, 0, 1).magnitude
  792. local FallVelocity = RootPart.Velocity.Y
  793. local Floor = FindPartOnRay(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position + Vector3.new(0, -1, 0)).lookVector, 4, Character)
  794. if Velocity > 1 and Floor then
  795. if WalkInvert then
  796. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame * CFrame.Angles(0, 0, 1), 0.2)
  797. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame * CFrame.Angles(0, 0, 1), 0.2)
  798. elseif not WalkInvert then
  799. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame * CFrame.Angles(0, 0, -1), 0.2)
  800. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame * CFrame.Angles(0, 0, -1), 0.2)
  801. end
  802. else
  803. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.2)
  804. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.2)
  805. end
  806. if Velocity < 1 and Floor and not Attacking then
  807. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0.5, 0, 0), 0.2)
  808. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 0.2)
  809. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, -1.6), 0.2)
  810. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, 1.6), 0.2)
  811. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.2)
  812. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.2)
  813. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(-0.03, 0, 0), 0.2)
  814. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(-0.03, 0, 0), 0.2)
  815. end
  816. if Velocity > 1 and Floor and not Attacking then
  817. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0.2, 0, 0), 0.2)
  818. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0), 0.2)
  819. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, -1.6), 0.2)
  820. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, 1.6), 0.2)
  821. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.2)
  822. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.2)
  823. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(0, 0, 0), 0.2)
  824. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(0, 0, 0), 0.2)
  825. end
  826. if FallVelocity > 1 and not Floor and not Attacking then
  827. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(-0.5, 0, 0), 0.2)
  828. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, 0) * CFrame.Angles(-0.3, 0, 0), 0.2)
  829. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, -1.6), 0.2)
  830. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, 1.6), 0.2)
  831. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.2)
  832. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.2)
  833. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(0, 0, -0.5), 0.2)
  834. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(0, 0, 0.5), 0.2)
  835. end
  836. if FallVelocity < -1 and not Floor and not Attacking then
  837. Neck.C0 = Animate(Neck.C0, NeckDefaultCFrame * CFrame.Angles(0.3, 0, 0), 0.2)
  838. RootJoint.C0 = Animate(RootJoint.C0, RootDefaultCFrame * CFrame.new(0, 0, 0) * CFrame.Angles(0.3, 0, 0), 0.2)
  839. RightShoulder.C0 = Animate(RightShoulder.C0, CFrame.new(0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, -1.6), 0.2)
  840. LeftShoulder.C0 = Animate(LeftShoulder.C0, CFrame.new(-0.8, 0.4, -1) * CFrame.Angles(-0.2, 0, 1.6), 0.2)
  841. RightHip.C1 = Animate(RightHip.C1, RightLegDefaultCFrame, 0.2)
  842. LeftHip.C1 = Animate(LeftHip.C1, LeftLegDefaultCFrame, 0.2)
  843. RightHip.C0 = Animate(RightHip.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, 1.6, 0) * CFrame.Angles(0, 0, 0.5), 0.2)
  844. LeftHip.C0 = Animate(LeftHip.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -1.6, 0) * CFrame.Angles(0, 0, -0.5), 0.2)
  845. end
  846. end
  847. function VisualEffects()
  848. for i = 1, #VFXList do
  849. if VFXList[i] then
  850. local VFXConfiguration = VFXList[i]
  851. if VFXConfiguration then
  852. if VFXConfiguration[1] == "Display" and VFXConfiguration[2]:FindFirstChild("Damage") then
  853. VFXConfiguration[2].Damage.TextLabel.TextStrokeTransparency = VFXConfiguration[2].Damage.TextLabel.TextStrokeTransparency + VFXConfiguration[3]
  854. VFXConfiguration[2].Damage.TextLabel.TextTransparency = VFXConfiguration[2].Damage.TextLabel.TextTransparency + VFXConfiguration[3]
  855. end
  856. if VFXConfiguration[1] == "Resize" and VFXConfiguration[2]:FindFirstChild("Mesh") and 1 > VFXConfiguration[2].Transparency then
  857. VFXConfiguration[2].Mesh.Scale = VFXConfiguration[2].Mesh.Scale + Vector3.new(VFXConfiguration[4], VFXConfiguration[5], VFXConfiguration[6])
  858. VFXConfiguration[2].Transparency = VFXConfiguration[2].Transparency + VFXConfiguration[3]
  859. end
  860. if VFXConfiguration[1] == "Rotate" and 1 > VFXConfiguration[2].Transparency then
  861. VFXConfiguration[2].Rotation = VFXConfiguration[2].Rotation + Vector3.new(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  862. end
  863. end
  864. end
  865. end
  866. end
  867. while true do
  868. Wait2()
  869. Animations()
  870. VisualEffects()
  871. end
Add Comment
Please, Sign In to add comment