local v1 = require(script.Parent.Parent:WaitForChild("ToolManagment")); Kick = false; Equipped = false; Winding = false; Tool = script.Parent; Player = game.Players.LocalPlayer; Mouse = Player:GetMouse(); local v2 = require(script.Parent.Parent:WaitForChild("Module_Management"):WaitForChild("Tweening")); local v3 = CFrame.new(0.5, -1.5, 1) * CFrame.fromEulerAnglesXYZ(-0.785, -0.5, 0); local v4 = CFrame.new(0.5, -1.5, -1) * CFrame.fromEulerAnglesXYZ(math.pi / 9, 0, 0); local v5 = CFrame.new(1.65, 0.25, -0.5) * CFrame.fromEulerAnglesXYZ(-math.pi / 1, -4, 4); local v6 = CFrame.new(1.65, 0.25, 0.5) * CFrame.fromEulerAnglesXYZ(-math.pi / 1, 4, 4); local v7 = CFrame.new(-1.65, 0.25, 0.5) * CFrame.fromEulerAnglesXYZ(-math.pi / 1, -4, -4); local v8 = CFrame.new(-1.65, 0.25, -0.5) * CFrame.fromEulerAnglesXYZ(-math.pi / 1, 4, -4); local v9 = CFrame.new(-0.5, -1.5, 1) * CFrame.fromEulerAnglesXYZ(-0.785, 0.5, 0); local v10 = CFrame.new(-0.5, -1.5, -1) * CFrame.fromEulerAnglesXYZ(math.pi / 9, 0, 0); script.Parent.Equipped:connect(function(p1) Equipped = true; end); script.Parent.Unequipped:connect(function(p2) Equipped = false; if Winding == true then release(); end; end); local l__Enum_EasingDirection_Out__1 = Enum.EasingDirection.Out; local l__Enum_EasingStyle_Back__2 = Enum.EasingStyle.Back; local u3 = nil; Mouse.Button1Down:connect(function() if Equipped == false then return; end; if v1.GetUsing() then return; end; v1.SetUsing(true); v1.showPowerBar(); v1.setWindUp(true); Winding = true; if v1.check() == "R" then v2.TweenWeld("Right Leg", CFrame.new(0.5, -2, 0), v3, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.5); v2.TweenWeld("Right Arm", CFrame.new(1.5, 0, 0), v5, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.5); v2.TweenWeld("Left Arm", CFrame.new(-1.5, 0, 0), v7, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.5); else v2.TweenWeld("Left Leg", CFrame.new(-0.5, -2, 0), v9, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.5); v2.TweenWeld("Right Arm", CFrame.new(1.5, 0, 0), v6, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.5); v2.TweenWeld("Left Arm", CFrame.new(-1.5, 0, 0), v8, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.5); end; u3 = 60; Angle = 5; Player.Character.Humanoid.WalkSpeed = Player.Character.Humanoid.WalkSpeed - 2; for v11 = 1, 25 do if not v1.getWindUp() then break; end; u3 = u3 + 2.2; Angle = Angle + 1.3; v1.powerUp(v11 / 25); wait(); end; end); Mouse.Button1Up:Connect(function() if Winding == true then release(); end; end); function release() if v1.getWindUp() then if v1.GetUsing() then v1.setWindUp(false); Winding = false; Kick = true; Player.Character.Torso.CollisionGroupId = 2; Player.Character.Humanoid.WalkSpeed = Player.Character.Humanoid.WalkSpeed + 2; if v1.check() == "R" then v2.TweenWeld("Right Leg", v3, v4, l__Enum_EasingDirection_Out__1, Enum.EasingStyle.Circular, 0); v2.TweenWeld("Right Arm", v5, v6, l__Enum_EasingDirection_Out__1, Enum.EasingStyle.Circular, 0); v2.TweenWeld("Left Arm", v7, v8, l__Enum_EasingDirection_Out__1, Enum.EasingStyle.Circular, 0); else v2.TweenWeld("Left Leg", v9, v10, l__Enum_EasingDirection_Out__1, Enum.EasingStyle.Circular, 0); v2.TweenWeld("Right Arm", v6, v5, l__Enum_EasingDirection_Out__1, Enum.EasingStyle.Circular, 0); v2.TweenWeld("Left Arm", v8, v7, l__Enum_EasingDirection_Out__1, Enum.EasingStyle.Circular, 0); end; wait(0.6); Kick = false; Player.Character.Torso.CollisionGroupId = 0; if v1.check() == "R" then v2.TweenWeld("Right Leg", v4, CFrame.new(0.5, -2, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25); v2.TweenWeld("Right Arm", v6, CFrame.new(1.5, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25); v2.TweenWeld("Left Arm", v8, CFrame.new(-1.5, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25); else v2.TweenWeld("Left Leg", v10, CFrame.new(-0.5, -2, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25); v2.TweenWeld("Right Arm", v5, CFrame.new(1.5, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25); v2.TweenWeld("Left Arm", v7, CFrame.new(-1.5, 0, 0), Enum.EasingDirection.InOut, Enum.EasingStyle.Sine, 0.25); end; v1.resetPowerBar(); wait(0.25); v1.ResetWelds(); v1.SetUsing(false); v1.setWindUp(false); end; end; end; Player.Character["Right Leg"].Touched:connect(function(p3) if v1.check() == "L" then return; end; if p3.Name ~= "TPS" then return; end; if Kick == false then return; end; if u3 <= 105 then Angle = Angle / 1.2; end; local v12 = Vector3.new(math.huge, math.huge, math.huge); Kick = false; v1.ApplyForce(p3, "Right Leg", true); local v13 = Instance.new("BodyVelocity"); v13.Velocity = Player.Character.Torso.CFrame.lookVector * u3 + Player.Character.Torso.CFrame.upVector * Angle; v13.MaxForce = v12; v13.Parent = p3; game.Debris:AddItem(v13, 0.3); local v14 = p3.Position + Vector3.new(0, Player.Character.Torso.Position.Y - p3.Position.Y, 0); local v15 = math.acos(Player.Character.Torso.CFrame.lookVector:Dot(v14 - Player.Character.Torso.Position) / (v14 - Player.Character.Torso.Position).Magnitude); if math.rad(18) < v15 and (p3.Position - Player.Character["Left Arm"].Position).Magnitude < (p3.Position - Player.Character["Right Arm"].Position).Magnitude then local v16 = Instance.new("BodyForce"); v16.Force = Player.Character.HumanoidRootPart.CFrame.rightVector * -250; v16.Parent = p3; game.Debris:AddItem(v16, u3 / 120); local v17 = Instance.new("BodyAngularVelocity"); v17.AngularVelocity = Vector3.new(0, -200, 0); v17.MaxTorque = Vector3.new(0, 3000, 0); v17.Parent = p3; game.Debris:AddItem(v17, 0.05); elseif math.rad(30) < v15 and (p3.Position - Player.Character["Right Arm"].Position).Magnitude < (p3.Position - Player.Character["Left Arm"].Position).Magnitude then local v18 = Instance.new("BodyForce"); v18.Force = Player.Character.HumanoidRootPart.CFrame.rightVector * 250; v18.Parent = p3; game.Debris:AddItem(v18, u3 / 120); local v19 = Instance.new("BodyAngularVelocity"); v19.AngularVelocity = Vector3.new(0, 200, 0); v19.MaxTorque = Vector3.new(0, 3000, 0); v19.Parent = p3; game.Debris:AddItem(v19, 0.05); end; local v20 = Instance.new("BodyForce"); v20.Force = Vector3.new(0, 75, 0); v20.Parent = p3; game.Debris:AddItem(v20, Angle / 35); end); Player.Character["Left Leg"].Touched:connect(function(p4) if v1.check() == "R" then return; end; if p4.Name ~= "TPS" then return; end; if Kick == false then return; end; if u3 <= 105 then Angle = Angle / 1.2; end; local v21 = Vector3.new(math.huge, math.huge, math.huge); Kick = false; v1.ApplyForce(p4, "Left Leg", true); local v22 = Instance.new("BodyVelocity"); v22.Velocity = Player.Character.Torso.CFrame.lookVector * u3 + Player.Character.Torso.CFrame.upVector * Angle; v22.MaxForce = v21; v22.Parent = p4; game.Debris:AddItem(v22, 0.3); local v23 = p4.Position + Vector3.new(0, Player.Character.Torso.Position.Y - p4.Position.Y, 0); local v24 = math.acos(Player.Character.Torso.CFrame.lookVector:Dot(v23 - Player.Character.Torso.Position) / (v23 - Player.Character.Torso.Position).Magnitude); if math.rad(18) < v24 and (p4.Position - Player.Character["Left Arm"].Position).Magnitude < (p4.Position - Player.Character["Right Arm"].Position).Magnitude then local v25 = Instance.new("BodyForce"); v25.Force = Player.Character.HumanoidRootPart.CFrame.rightVector * -250; v25.Parent = p4; game.Debris:AddItem(v25, u3 / 120); local v26 = Instance.new("BodyAngularVelocity"); v26.AngularVelocity = Vector3.new(0, -200, 0); v26.MaxTorque = Vector3.new(0, 3000, 0); v26.Parent = p4; game.Debris:AddItem(v26, 0.05); elseif math.rad(30) < v24 and (p4.Position - Player.Character["Right Arm"].Position).Magnitude < (p4.Position - Player.Character["Left Arm"].Position).Magnitude then local v27 = Instance.new("BodyForce"); v27.Force = Player.Character.HumanoidRootPart.CFrame.rightVector * 250; v27.Parent = p4; game.Debris:AddItem(v27, u3 / 120); local v28 = Instance.new("BodyAngularVelocity"); v28.AngularVelocity = Vector3.new(0, 200, 0); v28.MaxTorque = Vector3.new(0, 3000, 0); v28.Parent = p4; game.Debris:AddItem(v28, 0.05); end; local v29 = Instance.new("BodyForce"); v29.Force = Vector3.new(0, 75, 0); v29.Parent = p4; game.Debris:AddItem(v29, Angle / 35); end);