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(1.3, -1.2, 1) * CFrame.fromEulerAnglesXYZ(-math.pi / 4, -0.5, 0.8); local v4 = CFrame.new(1.3, -1.2, -1) * CFrame.fromEulerAnglesXYZ(math.pi / 12, 0.5, 0.8); 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(-1.3, -1.2, 1) * CFrame.fromEulerAnglesXYZ(-math.pi / 4, 0.5, -0.8); local v10 = CFrame.new(-1.3, -1.2, -1) * CFrame.fromEulerAnglesXYZ(math.pi / 12, -0.5, -0.8); 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.KeyDown:connect(function(p3) if p3 ~= "e" then return; end; 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.4); v2.TweenWeld("Right Arm", CFrame.new(1.5, 0, 0), v5, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.4); v2.TweenWeld("Left Arm", CFrame.new(-1.5, 0, 0), v7, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.4); else v2.TweenWeld("Left Leg", CFrame.new(-0.5, -2, 0), v9, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.4); v2.TweenWeld("Right Arm", CFrame.new(1.5, 0, 0), v6, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.4); v2.TweenWeld("Left Arm", CFrame.new(-1.5, 0, 0), v8, l__Enum_EasingDirection_Out__1, l__Enum_EasingStyle_Back__2, 0.4); end; u3 = 60; Angle = 0; Player.Character.Humanoid.WalkSpeed = Player.Character.Humanoid.WalkSpeed - 2; for v11 = 1, 20 do if not v1.getWindUp() then break; end; u3 = u3 + 1.5; Angle = Angle + 1; v1.powerUp(v11 / 20); wait(); end; end); Mouse.KeyUp:Connect(function(p4) if p4 ~= "e" then return; end; 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(p5) if v1.check() == "L" then return; end; if p5.Name ~= "TPS" then return; end; if Kick == false then return; end; local v12 = (Player.Character.Torso.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.5, 0)).lookVector * u3; local v13 = Vector3.new(math.huge, math.huge, math.huge); Kick = false; v1.ApplyForce(p5, "Right Leg", true); local v14 = Instance.new("BodyVelocity"); v14.Velocity = v12 + Player.Character.Torso.CFrame.upVector * Angle; v14.MaxForce = v13; v14.Parent = p5; game.Debris:AddItem(v14, 0.3); local v15 = Instance.new("BodyForce"); v15.Force = Vector3.new(0, 75, 0); v15.Parent = p5; game.Debris:AddItem(v15, Angle / 35); end); Player.Character["Left Leg"].Touched:connect(function(p6) if v1.check() == "R" then return; end; if p6.Name ~= "TPS" then return; end; if Kick == false then return; end; local v16 = (Player.Character.Torso.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.5, 0)).lookVector * u3; local v17 = Vector3.new(math.huge, math.huge, math.huge); Kick = false; v1.ApplyForce(p6, "Left Leg", true); local v18 = Instance.new("BodyVelocity"); v18.Velocity = v16 + Player.Character.Torso.CFrame.upVector * Angle; v18.MaxForce = v17; v18.Parent = p6; game.Debris:AddItem(v18, 0.3); local v19 = Instance.new("BodyForce"); v19.Force = Vector3.new(0, 75, 0); v19.Parent = p6; game.Debris:AddItem(v19, Angle / 35); end);