Advertisement
wulfbawg

[ROBLOX] Incomplete Sword thingy

Jun 14th, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 30.18 KB | None | 0 0
  1. -- yo this was made by Wulfchow (formerly wulfbug9)
  2. -- i made this in anywhere from 2014 to 2015
  3. -- enjoy this incomplete mess haha
  4.  
  5. local Character
  6. CN, CA, V3, BC, C3 = CFrame.new, CFrame.Angles, Vector3.new, BrickColor.new, Color3.new
  7. Ins, Abs, Sin, Cos, Rad, Pi = Instance.new, math.abs, math.sin, math.cos, math.rad, math.pi
  8. Random = function(A)
  9.     return ( math.random() - .5) * 2 * (A or 1)
  10. end
  11. Part = function(Parent, CFrame, Size, Colour, Material, Transparency, Anchored, CanCollide, Type)
  12.     local P = Ins(Type or "Part")
  13.     P.FormFactor = "Custom"
  14.     P.Size = Size
  15.     P.Anchored = Anchored
  16.     P.Material = Material
  17.     P.BrickColor = BC(Colour)
  18.     P.Transparency = Transparency
  19.     P.CanCollide = CanCollide
  20.     P.TopSurface, P.BottomSurface, P.LeftSurface, P.RightSurface, P.FrontSurface, P.BackSurface = 10, 10, 10, 10, 10, 10
  21.     P.CFrame = CFrame
  22.     P.Parent = Parent
  23.     P.Locked = true
  24.     P:BreakJoints()
  25.     return P
  26. end
  27. Weld = function(P0, P1, C0, C1)
  28.     local W = Ins("Motor", P0)
  29.     W.Part0 = P0
  30.     W.Part1 = P1
  31.     W.C0 = C0 or CN()
  32.     W.C1 = C1 or CN()
  33.     local Loop = game:service("RunService").RenderStepped:connect(function()
  34.         W.CurrentAngle = 0
  35.         W.DesiredAngle = 0
  36.         W.MaxVelocity = 0
  37.     end)
  38.     return W
  39. end
  40. New = function(Object, Parent, Data)
  41.     local Object = Ins(Object)
  42.     for Index, Value in pairs(Data or {}) do
  43.         Object[Index] = Value
  44.     end
  45.     Object.Parent = Parent
  46.     return Object
  47. end
  48. GetComplementingColour = function(Colour3)
  49.     local R, G, B = Colour3.r, Colour3.g, Colour3.b
  50.     local NR, NG, NB = R * 255, G * 255, B * 255
  51.     local R2, G2, B2 = Abs(Random(255)), Abs(Random(255)), Abs(Random(255))
  52.     R2, G2, B2 = (R2 + NR) / 2, (G2 + NG) / 2, (B2 + NB) / 2
  53.     return C3(R2 / 255, G2 / 255, B2 / 255)
  54. end
  55. Midpoint = function(CF0, CF1)
  56.     local C0, C1 = {CF0.X, CF0.Y, CF0.Z, CF0:toEulerAnglesXYZ()}, {CF1.X, CF1.Y, CF1.Z, CF1:toEulerAnglesXYZ()}
  57.     for i, v in pairs(C0) do
  58.         C0[i] = (v + C1[i]) / 2
  59.     end
  60.     return CN(C0[1], C0[2], C0[3]) * CA(C0[4], C0[5], C0[6])
  61. end
  62. function SLerp(A, B, Alpha)
  63.     return (1-Alpha) * A + (Alpha * B)
  64. end
  65. function CSLerp(C0, C1, Alpha)
  66.     local ax, ay, az = C0:toEulerAnglesXYZ()
  67.     local bx, by, bz = C1:toEulerAnglesXYZ()
  68.     return CFrame.new(
  69.         SLerp(C0.X, C1.X, Alpha),
  70.         SLerp(C0.Y, C1.Y, Alpha),
  71.         SLerp(C0.Z, C1.Z, Alpha)
  72.     ) * CFrame.Angles(
  73.         SLerp(ax, bx, Alpha),
  74.         SLerp(ay, by, Alpha),
  75.         SLerp(az, bz, Alpha)
  76.     )
  77. end
  78. function GetMass(Model)
  79.     local Mass = 0
  80.     for i, v in pairs(Model:children()) do
  81.         if v:IsA("BasePart") then Mass = Mass + v:GetMass() end
  82.         Mass = Mass + GetMass(v)
  83.     end
  84.     return Mass
  85. end
  86. function Raycast(Start, End, Ignore)
  87.     return workspace:FindPartOnRayWithIgnoreList( Ray.new( Start, End.unit * End.magnitude ), Ignore )
  88. end
  89. do -- > Triangle Trail.
  90.     local Trailing = false
  91.     local Last = {
  92.         [1] = nil,
  93.         [2] = nil,
  94.     }
  95.     local TConnect
  96.     local function Modify(Data)
  97.         for i, v in pairs(Data) do
  98.             if i ~= 1 then
  99.                 Data[1][i] = v
  100.             end
  101.         end
  102.         return Data[1]
  103.     end
  104.     local function CFrameFromTopBack(At, Top, Back)
  105.         local Right = Top:Cross(Back)
  106.         return CFrame.new(At.x, At.y, At.z,
  107.             Right.x, Top.x, Back.x,
  108.             Right.y, Top.y, Back.y,
  109.             Right.z, Top.z, Back.z)
  110.     end
  111.     function Triangle(Parent, A, B, C, Colour)
  112.         local P1 = Modify{Instance.new("WedgePart"), Anchored = true, FormFactor = "Custom", TopSurface = 10, BottomSurface = 10, BrickColor = BrickColor.new(Colour),
  113.             Transparency = .3, CanCollide = false,
  114.             BottomSurface = 10, TopSurface = 10, FrontSurface = 10, BackSurface = 10, LeftSurface = 10, RightSurface = 10}
  115.         local P2 = Modify{Instance.new("WedgePart"), Anchored = true, FormFactor = "Custom", TopSurface = 10, BottomSurface = 10, BrickColor = BrickColor.new(Colour),
  116.             Transparency = .3, CanCollide = false,
  117.             BottomSurface = 10, TopSurface = 10, FrontSurface = 10, BackSurface = 10, LeftSurface = 10, RightSurface = 10}
  118.         Modify{Instance.new("SpecialMesh",P1), MeshType = "Wedge", Scale = Vector3.new(0,1,1)}
  119.         Modify{Instance.new("SpecialMesh",P2), MeshType = "Wedge", Scale = Vector3.new(0,1,1)}
  120.         local AB, BC, CA = B-A, C-B, A-C
  121.         local ABM, BCM, CAM = AB.magnitude, BC.magnitude, CA.magnitude
  122.         local Edge1 = math.abs(0.5 + CA:Dot(AB)/(ABM*ABM))
  123.         local Edge2 = math.abs(0.5 + AB:Dot(BC)/(BCM*BCM))
  124.         local Edge3 = math.abs(0.5 + BC:Dot(CA)/(CAM*CAM))
  125.         if Edge1 < Edge2 then
  126.             if Edge1 < Edge3 then
  127.             else
  128.                 A, B, C = C, A, B
  129.                 AB, BC, CA = CA, AB, BC
  130.                 ABM = CAM
  131.             end
  132.         else
  133.             if Edge2 < Edge3 then
  134.                 A, B, C = B, C, A
  135.                 AB, BC, CA = BC, CA, AB
  136.                 ABM = BCM
  137.             else
  138.                 A, B, C = C, A, B
  139.                 AB, BC, CA = CA, AB, BC
  140.                 ABM = CAM
  141.             end
  142.         end
  143.         local Len1 = -CA:Dot(AB)/ABM
  144.         local Len2 = ABM - Len1
  145.         local Width = (CA + AB.unit*Len1).magnitude
  146.         local MainCF = CFrameFromTopBack(A, AB:Cross(BC).unit, -AB.unit)
  147.         P1.Name = "WulfEffect"
  148.         P1.Parent = Parent
  149.         P1.Size = Vector3.new(0.2, Width, Len1)
  150.         P1.CFrame = MainCF * CFrame.Angles(math.pi, 0, math.pi/2) * CFrame.new(0, Width/2, Len1/2)
  151.         P2.Name = "WulfEffect"
  152.         P2.Parent = Parent
  153.         P2.Size = Vector3.new(0.2, Width, Len2)
  154.         P2.CFrame = MainCF * CFrame.Angles(math.pi, math.pi, -math.pi/2) * CFrame.new(0, Width/2, -Len1 - Len2/2)
  155.         return P1, P2
  156.     end
  157.     function StartTrail(Part, Colour)
  158.         Colour = Colour or "White"
  159.         Trailing = true
  160.         TConnect = game:service("RunService").RenderStepped:connect(function()
  161.             local P0 = Part.CFrame * CFrame.new(0, Part.Size.Y/2, 0)
  162.             local P1 = Part.CFrame * CFrame.new(0, -Part.Size.Y/2, 0)
  163.             if Last[1] and Last[2] then
  164.                 local A, B = Triangle(workspace, P0.p, Last[1].p, Last[2].p, Colour)
  165.                 local C, D = Triangle(workspace, P0.p, P1.p, Last[2].p, Colour)
  166.                 Delay(0, function()
  167.                     for i = .4, 1, .1 do
  168.                         wait()
  169.                         A.Transparency, B.Transparency, C.Transparency, D.Transparency = i, i, i, i
  170.                     end
  171.                     A:Destroy()
  172.                     B:Destroy()
  173.                     C:Destroy()
  174.                     D:Destroy()
  175.                 end)
  176.             end
  177.             Last[1] = P0
  178.             Last[2] = P1
  179.         end)
  180.     end
  181.     function StopTrail()
  182.         TConnect:disconnect()
  183.         Trailing = false
  184.         Last[1] = nil
  185.         Last[2] = nil
  186.     end
  187. end
  188.  
  189. Player = game:service("Players").LocalPlayer
  190. Mouse = Player:GetMouse()
  191. Util = assert(LoadLibrary("RbxUtility"))
  192. Backpack = Player:WaitForChild("Backpack")
  193. Character = Player.Character
  194. Torso = Character:WaitForChild("Torso")
  195. HRP = Character:WaitForChild("HumanoidRootPart")
  196. RA = Character:WaitForChild("Right Arm")
  197. LA = Character:WaitForChild("Left Arm")
  198. RL =  Character:WaitForChild("Right Leg")
  199. LL =  Character:WaitForChild("Left Leg")
  200. Head = Character:WaitForChild("Head")
  201. ORS = Torso:WaitForChild("Right Shoulder")
  202. OLS = Torso:WaitForChild("Left Shoulder")
  203. ORH = Torso:WaitForChild("Right Hip")
  204. OLH = Torso:WaitForChild("Left Hip")
  205. Humanoid = Character:WaitForChild("Humanoid")
  206. Asset = "rbxassetid://"
  207. Meshes = {Cone = "1033714", Ring = "3270017", Blast = "20329976", Diamond = "9756362", Spike = "1033714", Skull = "4770583"}
  208. C0 = {
  209.     LS = CN(-1, 0.5, 0),
  210.     RS = CN(1, 0.5, 0),
  211.     LH = CN(-1, -1, 0),
  212.     RH = CN(1, -1, 0),
  213.     NK = CN(0, 1, 0),
  214.     TW = CN(0, 0, 0),
  215.     HW = CA(-Pi/2, 0, 0) * CN(-.25, 0, -1) * CA(0, -Pi/2, 0),
  216. }
  217. C1 = {
  218.     LS = CN(0.5, 0.5, 0),
  219.     RS = CN(-0.5, 0.5, 0),
  220.     LH = CN(-.5, 1, 0),
  221.     RH = CN(.5, 1, 0),
  222.     NK = CN(0, -.5, 0),
  223.     TW = CN(0, 0, 0),
  224. }
  225. OC0 = {
  226.     RS = CN(1, .5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  227.     LS = CN(-1, .5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  228.     RH = CN(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  229.     LH = CN(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  230.     NK = CN(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0),
  231.     TW = CN(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, -0)
  232. }
  233. OC1 = {
  234.     RS = CN(.5, .5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  235.     LS = CN(-.5, .5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  236.     RH = CN(-.5, .5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0),
  237.     LH = CN(.5, .5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),
  238.     NK = CN(0, -.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  239.     TW = CN(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  240. }
  241. Desired = {
  242.     LS = C0.LS,
  243.     RS = C0.RS,
  244.     LH = C0.LH,
  245.     RH = C0.RH,
  246.     NK = C0.NK,
  247.     TW = C0.TW,
  248.     HW = C0.HW,
  249. }
  250. Speed = .2
  251. Attacking = false
  252. LH, RH = nil, nil
  253. Down = false
  254. Falling = false
  255. Twist = false
  256. MagicMode = false
  257. Keysdown = { }
  258. AllowSprint = true
  259.  
  260. Magic_Event = nil
  261.  
  262. pcall(game.Destroy, Character:FindFirstChild("Weapon"))
  263. Model = New("Model", Character, { Name = "Weapon" })
  264. Handle = Part(Model, CN(), V3(.3, 1, .3), "Grey", "SmoothPlastic", 0, false, false)
  265. New("CylinderMesh", Handle)
  266. HandleW = Weld(Torso, Handle, CN(1.5, 1.5, .5) * CA(0, 0, Pi) * CA(0, 0, -Pi/4))
  267. P1 = Part(Model, CN(), V3(.4, .3, .4), "Black", "SmoothPlastic", 0, false, false)
  268. New("SpecialMesh", P1)
  269. Weld(Handle, P1, CN(0, -.625, 0))
  270. for i = 0, 1, .125 do
  271.     local P = Part(Model, CN(), V3(.3, 0, .3), "White", "SmoothPlastic", 0, false, false)
  272.     New("CylinderMesh", P, { Scale = V3(1.1, .5, 1.1) })
  273.     Weld(Handle, P, CN(0, -.5 + i, 0) * CA(Random(.1), Random(Pi*2), 0))
  274. end
  275. Div = Part(Model, CN(), V3(.5, .3, .5), "Black", "SmoothPlastic", 0, false, false)
  276. New("SpecialMesh", Div)
  277. Weld(Handle, Div, CN(0, .625, 0))
  278. P2 = Part(Model, CN(), V3(.4, .5, .4), "Black", "SmoothPlastic", 0, false, false)
  279. New("FileMesh", P2, { MeshId = Asset .. Meshes.Skull })
  280. Weld(Div, P2, CN(0, .15, 0) * CA(0, Pi/2, 0))
  281. P3 = Part(Model, CN(), V3(.6, 0, .6), "Black", "SmoothPlastic", 0, false, false)
  282. New("FileMesh", P3, { MeshId = Asset .. Meshes.Ring, Scale = V3(.5, .5, .5) })
  283. Weld(Div, P3, CN(0, -.075, 0) * CA(Pi/2, 0, 0))
  284. for i = 1, 8 do
  285.     P4 = Part(Model, CN(), V3(0, .5, 0), "Black", "SmoothPlastic", 0, false, false)
  286.     New("FileMesh", P4, { MeshId = Asset .. Meshes.Spike, Scale = V3(.05, .5, .05) })
  287.     Weld(P3, P4, CA(Pi/2, Pi*2/8*i, 0) * CN(0, 0, -.45) * CA(-Pi/2, 0, 0))
  288. end
  289. Blade = Part(Model, CN(), V3(.3, 3.5, 0), "Dark stone grey", "SmoothPlastic", 0, false, false)
  290. New("BlockMesh", Blade, { Scale = V3(1, 1, .25) })
  291. Weld(Div, Blade, CN(0, 1.75, 0))
  292. Tip = Part(Model, CN(), V3(0, .5, .3), "Dark stone grey", "SmoothPlastic", 0, false, false, "WedgePart")
  293. New("SpecialMesh", Tip, { MeshType = "Wedge", Scale = V3(.25, 1, 1) })
  294. Weld(Blade, Tip, CN(0, 2, 0) * CA(0, Pi/2, 0))
  295. Blade2 = Part(Model, CN(), V3(.45, 3.75, 0), "Really black", "SmoothPlastic", 0.4, false, false)
  296. New("BlockMesh", Blade2, { Scale = V3(1, 1, 0) })
  297. Weld(Div, Blade2, CN(0, 1.75, 0))
  298. Tip2 = Part(Model, CN(), V3(0, .75, .45), "Really black", "SmoothPlastic", 0.4, false, false, "WedgePart")
  299. New("SpecialMesh", Tip2, { MeshType = "Wedge", Scale = V3(0, 1, 1) })
  300. Weld(Blade2, Tip2, CN(0, 3.75/2 + .375, 0) * CA(0, Pi/2, 0))
  301. BladeCover = Part(Model, CN(), V3(.3, 3.75, 0), "Dark stone grey", "SmoothPlastic", 1, false, false)
  302. Weld(Blade, BladeCover, CN(0, .375, 0))
  303.  
  304. function ThrowSpike(CF, Direction, Size, Colour, Speed)
  305.     local Speed = Speed or 1
  306.     local Part = Part(workspace, CF, V3(Size / 2, Size * 2, Size / 2), Colour, "SmoothPlastic", 0.4, false, false)
  307.     Part.Name = "WulfEffect"
  308.     local Mesh = New("FileMesh", Part, { MeshId = Asset .. Meshes.Spike, Scale = V3(Size / 2, Size * 2, Size / 2) })
  309.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  310.     local BV = New("BodyVelocity", Part, { velocity = Direction * 5, maxForce = V3(1, 1, 1) * 10 ^ 6, P = 10 ^ 4 })
  311.     local BG = New("BodyGyro", Part, { cframe = CN(CF.p, Direction) * CA(-Pi/2, 0, 0), maxTorque = V3(1, 1, 1) * 10 ^ 6, P = 10 ^ 4 })
  312.     Spawn(function()
  313.         for i = .4, 1.05, .0125 do
  314.             Part.Transparency = i
  315.             wait()
  316.         end
  317.         Part:Destroy()
  318.     end)
  319. end
  320. function CrownExplode(CF, Size, Colour, Scale)
  321.     local Scale = Scale or 1
  322.     local Part = Part(workspace, CF, V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  323.     Part.Name = "WulfEffect"
  324.     local Mesh = New("FileMesh", Part, { MeshId = Asset .. Meshes.Blast, Scale = V3(Size, Size, Size) })
  325.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  326.     Spawn(function()
  327.         for i = .4, 1.05, .05 do
  328.             Part.Transparency = i
  329.             Mesh.Scale = Mesh.Scale + V3(Scale, Scale, Scale)
  330.             wait()
  331.         end
  332.         Part:Destroy()
  333.     end)
  334. end
  335. function BrickExplode(CF, Size, Colour, Scale)
  336.     local Scale = Scale or 1
  337.     local Part = Part(workspace, CF * CA(Random(Pi * 2), Random(Pi * 2), Random(Pi * 2)), V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  338.     Part.Name = "WulfEffect"
  339.     local Mesh = New("BlockMesh", Part, { Scale = V3(1, 1, 1) })
  340.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  341.     Spawn(function()
  342.         for i = .4, 1.05, .05 do
  343.             Part.Transparency = i
  344.             Mesh.Scale = Mesh.Scale + V3(Scale, Scale, Scale)
  345.             wait()
  346.         end
  347.         Part:Destroy()
  348.     end)
  349. end
  350. function BrickImplode(CF, Size, Colour, Scale)
  351.     local Scale = Scale or 1
  352.     local Part = Part(workspace, CF * CA(Random(Pi * 2), Random(Pi * 2), Random(Pi * 2)), V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  353.     Part.Name = "WulfEffect"
  354.     local Mesh = New("BlockMesh", Part, { Scale = V3(1, 1, 1) })
  355.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  356.     Spawn(function()
  357.         for i = .4, 1.05, .05 do
  358.             Part.Transparency = i
  359.             if Mesh.Scale.X > 0 and Mesh.Scale.Y > 0 and Mesh.Scale.Z > 0 then
  360.                 Mesh.Scale = Mesh.Scale - V3(Scale, Scale, Scale)
  361.             end
  362.             wait()
  363.         end
  364.         Part:Destroy()
  365.     end)
  366. end
  367. function CrownSpin(CF, Size, Colour)
  368.     local Part = Part(workspace, CF, V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  369.     Part.Name = "WulfEffect"
  370.     local Mesh = New("FileMesh", Part, { MeshId = Asset .. Meshes.Blast, Scale = V3(Size, Size, Size) })
  371.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  372.     local Rot = 0
  373.     Spawn(function()
  374.         for i = .4, 1.05, .05 do
  375.             Part.Transparency = i
  376.             Part.CFrame = CF * CA(0, Rad(Rot), 0)
  377.             wait()
  378.             Rot = Rot + 2
  379.         end
  380.         Part:Destroy()
  381.     end)
  382. end
  383. function CrownSpinAndExplode(CF, Size, Colour, Scale)
  384.     local Scale = Scale or 1
  385.     local Part = Part(workspace, CF, V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  386.     Part.Name = "WulfEffect"
  387.     local Mesh = New("FileMesh", Part, { MeshId = Asset .. Meshes.Blast, Scale = V3(Size, Size, Size) })
  388.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  389.     local Rot = 0
  390.     Spawn(function()
  391.         for i = .4, 1.05, .05 do
  392.             Part.Transparency = i
  393.             Part.CFrame = CF * CA(0, Rad(Rot), 0)
  394.             Mesh.Scale = Mesh.Scale + V3(Scale, Scale, Scale)
  395.             wait()
  396.             Rot = Rot + 2
  397.         end
  398.         Part:Destroy()
  399.     end)
  400. end
  401. function BrickTo(CF, To, Size, Colour, Scale)
  402.     local Scale = Scale or .125
  403.     local Part = Part(workspace, CF, V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  404.     local Mesh = New("SpecialMesh", Part, { MeshType = "Brick" })
  405.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  406.     Spawn(function()
  407.         for i = .4, 1.05, .05 do
  408.             Part.Transparency = i
  409.             Mesh.Scale = Mesh.Scale + V3(Scale, Scale, Scale)
  410.             Part.CFrame = (CF + (Part.Position - To.p) * .9) * CA(i, -i, i)
  411.             wait()
  412.         end
  413.         Part:Destroy()
  414.     end)
  415. end
  416. function SphereExplode(CF, Size, Colour, Scale)
  417.     local Scale = Scale or .5
  418.     local Part = Part(workspace, CF, V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  419.     Part.Name = "WulfEffect"
  420.     local Mesh = New("SpecialMesh", Part, { MeshType = "Sphere" })
  421.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  422.     Spawn(function()
  423.         for i = .4, 1.05, .05 do
  424.             Part.Transparency = i
  425.             Mesh.Scale = Mesh.Scale + V3(Scale, Scale, Scale)
  426.             wait()
  427.         end
  428.         Part:Destroy()
  429.     end)
  430. end
  431. function DiamondExplode(CF, Size, Colour, Scale)
  432.     local Scale = Scale or .5
  433.     local Part = Part(workspace, CF * CA(Random(Pi*2), Random(Pi*2), Random(Pi*2)), V3(Size, Size, Size), Colour, "SmoothPlastic", 0.4, true, false)
  434.     Part.Name = "WulfEffect"
  435.     local Mesh = New("FileMesh", Part, { MeshId = Asset .. Meshes.Diamond })
  436.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  437.     Spawn(function()
  438.         for i = .4, 1.05, .05 do
  439.             Part.Transparency = i
  440.             Mesh.Scale = Mesh.Scale + V3(Scale, Scale, Scale)
  441.             wait()
  442.         end
  443.         Part:Destroy()
  444.     end)
  445. end
  446. function Glitter(CF, Colour, RelSize)
  447.     local RelSize = RelSize or .75
  448.     local SizeX, SizeY, SizeZ = Abs(Random(RelSize)), Abs(Random(RelSize)), Abs(Random(RelSize))
  449.     local Part = Part(workspace, CN(CF.X, CF.Y, CF.Z), V3(SizeX, SizeY, SizeZ), Colour, "SmoothPlastic", 0.4, true, false)
  450.     Part.Name = "WulfEffect"
  451.     local Mesh = New("BlockMesh", Part)
  452.     New("PointLight", Part, { Color = BC(Colour).Color, Range = ( (SizeX + SizeY + SizeZ) / 3 ) * 2 })
  453.     Spawn(function()
  454.         for i = .4, 1.05, .05 do
  455.             Part.Transparency = i
  456.             Mesh.Scale = Mesh.Scale + V3(.125, .125, .125)
  457.             wait()
  458.         end
  459.         Part:Destroy()
  460.     end)
  461. end
  462. function SpikeUp(CF, Size, Colour)
  463.     local Part = Part(workspace, CF * CN(0, -(Size * 2) / 2, 0), V3(Size / 2, Size * 4, Size / 2), Colour, "SmoothPlastic", 0.4, true, false)
  464.     Part.Name = "WulfEffect"
  465.     local Mesh = New("FileMesh", Part, { MeshId = Asset .. Meshes.Spike, Scale = Part.Size / 2 })
  466.     New("PointLight", Part, { Color = BC(Colour).Color, Range = Size * 2 })
  467.     Spawn(function()
  468.         for i = 1, Size - 1, 1 do
  469.             Part.CFrame = CF * CN(0, i, 0)
  470.             wait()
  471.         end
  472.         wait(math.random(5, 8))
  473.         for i = .4, 1.05, .05 do
  474.             Part.Transparency = i
  475.             wait()
  476.         end
  477.         Part:Destroy()
  478.     end)
  479. end
  480. function CreateCrater(UseRay, Start, SearchIn, Size, Radius, Number, Wait)
  481.     local CF = Start
  482.     local Ray, Position = Raycast(Start.p, SearchIn.p, { })
  483.     if Ray then
  484.         if UseRay then
  485.             local OBJ = Ray.CFrame:pointToObjectSpace(Position)
  486.             local SZ = Ray.Size / 2
  487.             local SVEC = OBJ / SZ
  488.             SVEC = V3(Floor(Abs(SVEC.X)+.01)*SVEC.X/Abs(SVEC.X),
  489.                 Floor(Abs(SVEC.Y)+.01)*SVEC.Y/Abs(SVEC.Y),
  490.                 Floor(Abs(SVEC.Z)+.01)*SVEC.Z/Abs(SVEC.Z)
  491.             )
  492.             if SVEC.magnitude ~= 1 then return end
  493.             local Direction = Ray.CFrame:vectorToWorldSpace(SVEC)
  494.             CF = CN(Position, Position - Direction)
  495.         end
  496.         local T = { }
  497.         local Wait = Wait or 10
  498.         local Size, Radius = Size or 5, Radius or 7.5
  499.         local Number = Number or 10
  500.         for i = 1, Number do
  501.             local P = Part(workspace, CF * CA(0, Pi*2/Number*i, 0) * CN(0, 0, -Radius) * CA(Random(Pi/2), Random(Pi), 0), V3(math.random(Size, Size), math.random(Size/2, Size), Size), tostring(Ray.BrickColor), Ray.Material, 0, true, true)
  502.             table.insert(T, P)
  503.         end
  504.         Spawn(function()
  505.             wait(Wait)
  506.                 repeat wait()
  507.                 local Num = math.random(1, #T)
  508.                 local P = T[Num]
  509.                 table.remove(T, Num)
  510.                 P.Anchored = false
  511.                 P.CanCollide = false
  512.             until #T == 0
  513.         end)
  514.     end
  515. end
  516. function Lightning(Start, Stop, Colour, Parts, Diff)
  517.     local T = { }
  518.     local Diff = Diff or 1
  519.     local Parts = Parts or 10
  520.     local Size = (Start.p - Stop.p).magnitude
  521.     local LV = CN(Start.p, Stop.p).lookVector
  522.     local DB = Size / Parts
  523.     local lastPos = Start.p
  524.     for i = 1, Parts do
  525.         local X = Random(Diff) / Diff * DB / 2
  526.         local Y = Random(Diff) / Diff * DB / 2
  527.         local Pos = CN(Start.p + LV * (i * DB), Stop.p + LV) * CN(X, Y, 0)
  528.         local Mid = (Pos.p + lastPos) / 2
  529.         local Dist = (Pos.p - lastPos).magnitude
  530.         local P = Part(workspace, CN(Mid, Pos.p), V3(0, 0, Dist), Colour, "SmoothPlastic", 0.4, true, false)
  531.         lastPos = Pos.p
  532.         table.insert(T, P)
  533.     end
  534.     local Fade = function(Part)
  535.         for i = Part.Transparency, 1.1, .1 do
  536.             wait()
  537.             Part.Transparency = i
  538.         end
  539.         Part:Destroy()
  540.     end
  541.     Spawn(function()
  542.         wait(.25)
  543.         for i, v in pairs(T) do
  544.             Spawn(function() Fade(v) end)
  545.         end
  546.     end)
  547. end
  548. function Beam(Start, End, Size, Colour, InsideColour, Scale)
  549.     local Scale = Scale or .05
  550.     local Magnitude = (End.p - Start.p).magnitude
  551.     local P0 = Part(workspace, CN(Start.p, End.p) * CN(0, 0, -Magnitude / 2) * CA(Pi/2, 0, 0), V3(Size / 2, Magnitude, Size / 2), InsideColour or "Phosph. White", "SmoothPlastic", 0.4, true, false)
  552.     local P1 = Part(workspace, CN(Start.p, End.p) * CN(0, 0, -Magnitude / 2) * CA(Pi/2, 0, 0), V3(Size, Magnitude, Size), Colour, "SmoothPlastic", 0.4, true, false)
  553.     local M0 = New("CylinderMesh", P0)
  554.     local M1 = New("CylinderMesh", P1)
  555.     Spawn(function()
  556.         wait()
  557.         for i = .4, 1.05, .05 do
  558.             wait()
  559.             P0.Transparency = i
  560.             P1.Transparency = i
  561.             M0.Scale = M0.Scale + V3(Scale, 0, Scale)
  562.             M1.Scale = M1.Scale + V3(Scale, 0, Scale)
  563.         end
  564.         P0:Destroy()
  565.         P1:Destroy()
  566.     end)
  567. end
  568. function DamageNearby(CF, Damage, Distance)
  569.     local Humanoids = { }
  570.     for i, v in pairs(workspace:children()) do
  571.         if v:IsA("Model") and v~=Character and v:FindFirstChild("Torso") and v:FindFirstChild("Humanoid") and
  572.             (v:FindFirstChild("Torso").CFrame.p - CF.p).magnitude < Distance then
  573.             table.insert(Humanoids, v:FindFirstChild("Humanoid"))
  574.         end
  575.     end
  576.     for i, v in pairs(Humanoids) do
  577.         v.Health = v.Health - Damage
  578.     end
  579. end
  580. function DamageByBladeWhileAttacking(Damage)
  581.     Spawn(function()
  582.         while Attacking and wait() do
  583.             DamageNearby(Blade.CFrame, Damage, 4)
  584.         end
  585.     end)
  586. end
  587. function CreateIgnoreList()
  588.     local Ignore = { }
  589.     for i, v in pairs(workspace:children()) do
  590.         if v.Name == "WulfEffect" then
  591.             table.insert(Ignore, v)
  592.         end
  593.     end
  594.     for i, v in pairs(Character:children()) do
  595.         if v:IsA("Part") then
  596.             table.insert(Ignore, v)
  597.         end
  598.     end
  599.     return Ignore
  600. end
  601. function WaitBySpeed()
  602.     return wait(((1/60)*Speed)*15)
  603. end
  604. function SetDesired(Table)
  605.     Desired.RS = Table.RS
  606.     Desired.LS = Table.LS
  607.     Desired.NK = Table.NK
  608.     Desired.TW = Table.TW
  609.     Desired.HW = Table.HW
  610.     if Table.LH and Table.RH then
  611.         Desired.RH = Table.RH
  612.         Desired.LH = Table.LH
  613.     end
  614. end
  615. function GiveLegWelds()
  616.     OLH.Parent = nil
  617.     ORH.Parent = nil
  618.     LH = Weld(Torso, LL, C0.LH, C1.LH)
  619.     RH = Weld(Torso, RL, C0.RH, C1.RH)
  620. end
  621. function RemoveLegWelds()
  622.     LH:Destroy()
  623.     LH = nil
  624.     RH:Destroy()
  625.     RH = nil
  626.     OLH.Parent = Torso
  627.     OLH.Part0 = Torso
  628.     OLH.Part1 = LL
  629.     ORH.Parent = Torso
  630.     ORH.Part0 = Torso
  631.     ORH.Part1 = RL
  632. end
  633. function SetNormal()
  634.     Speed = .2
  635.     SetDesired({
  636.         LS = C0.LS * CN(.5, 0 , 0) * CA(Pi/3, 0, Pi/6),
  637.         RS = C0.RS * CN(-.5, 0 , 0) * CA(Pi/3, 0, -Pi/12),
  638.         LH = C0.LH,
  639.         RH = C0.RH,
  640.         NK = C0.NK * CA(0, Pi/8, 0),
  641.         TW = C0.TW * CA(0, -Pi/8, 0),
  642.         HW = C0.HW,
  643.     })
  644. end
  645. function Slash1()
  646.     Attacking = true
  647.     DamageByBladeWhileAttacking(8)
  648.     Speed = .5
  649.     SetDesired({
  650.         LS = C0.LS * CN(.625, 0 , 0) * CA(Pi/1.375, 0, Pi/4),
  651.         RS = C0.RS * CN(-.125, 0 , 0) * CA(Pi/1.375, 0, Pi/10),
  652.         LH = C0.LH,
  653.         RH = C0.RH,
  654.         NK = C0.NK * CA(0, Pi/3, 0),
  655.         TW = C0.TW * CA(0, -Pi/3, 0),
  656.         HW = C0.HW * CA(0, 0, Pi/3),
  657.     })
  658.     Delay(.075, function() StartTrail(BladeCover, "Really black") end)
  659.     WaitBySpeed()
  660.     SetDesired({
  661.         LS = C0.LS * CN(.25, 0 , 0) * CA(Pi/4, 0, -Pi/10),
  662.         RS = C0.RS * CN(-.25, 0 , 0) * CA(Pi/4, 0, -Pi/3),
  663.         LH = C0.LH,
  664.         RH = C0.RH,
  665.         NK = C0.NK * CA(0, Pi/10, 0),
  666.         TW = C0.TW * CA(0, -Pi/10, 0),
  667.         HW = C0.HW * CA(0, 0, Pi/2.125),
  668.     })
  669.     Delay(.075, function() StopTrail() end)
  670.     WaitBySpeed()
  671.     SetNormal()
  672.     wait(.125)
  673.     Attacking = false
  674. end
  675. function Slash2()
  676.     Attacking = true
  677.     DamageByBladeWhileAttacking(8)
  678.     Speed = .5
  679.     SetDesired({
  680.         LS = C0.LS * CN(.625, 0 , 0) * CA(Pi/8, 0, -Pi/10),
  681.         RS = C0.RS * CN(-.125, 0 , 0) * CA(Pi/8, 0, -Pi/4),
  682.         LH = C0.LH,
  683.         RH = C0.RH,
  684.         NK = C0.NK * CA(0, Pi/10, 0),
  685.         TW = C0.TW * CA(0, -Pi/10, 0),
  686.         HW = C0.HW * CA(0, 0, Pi/3),
  687.     })
  688.     Delay(.075, function() StartTrail(BladeCover, "Really black") end)
  689.     WaitBySpeed()
  690.     SetDesired({
  691.         LS = C0.LS * CN(.25, 0 , 0) * CA(Pi/1.375, 0, Pi/3),
  692.         RS = C0.RS * CN(-.25, 0 , 0) * CA(Pi/1.375, 0, Pi/10),
  693.         LH = C0.LH,
  694.         RH = C0.RH,
  695.         NK = C0.NK * CA(0, Pi/3, 0),
  696.         TW = C0.TW * CA(0, -Pi/3, 0),
  697.         HW = C0.HW * CA(0, 0, -Pi/3),
  698.     })
  699.     Delay(.075, function() StopTrail() end)
  700.     WaitBySpeed()
  701.     SetNormal()
  702.     wait(.125)
  703.     Attacking = false
  704. end
  705. function Slash3()
  706.     Attacking = true
  707.     DamageByBladeWhileAttacking(8)
  708.     Speed = .5
  709.     SetDesired({
  710.         LS = C0.LS * CN(.625, 0 , 0) * CA(Pi/2, 0, Pi/6),
  711.         RS = C0.RS * CN(-.5, 0 , 0) * CA(Pi/2, 0, Pi/3),
  712.         LH = C0.LH,
  713.         RH = C0.RH,
  714.         NK = C0.NK * CA(0, Pi/10, 0),
  715.         TW = C0.TW * CA(0, -Pi/10, 0),
  716.         HW = C0.HW * CA(0, 0, Pi/2),
  717.     })
  718.     Delay(.075, function() StartTrail(BladeCover, "Really black") end)
  719.     WaitBySpeed()
  720.     SetDesired({
  721.         LS = C0.LS * CN(.25, 0 , 0) * CA(Pi/2.5, 0, -Pi/3),
  722.         RS = C0.RS * CN(-.25, 0 , 0) * CA(Pi/2.5, 0, Pi/20),
  723.         LH = C0.LH,
  724.         RH = C0.RH,
  725.         NK = C0.NK * CA(0, -Pi/3, 0),
  726.         TW = C0.TW * CA(0, Pi/3, 0),
  727.         HW = C0.HW * CA(0, 0, Pi/2),
  728.     })
  729.     Delay(.075, function() StopTrail() end)
  730.     WaitBySpeed()
  731.     SetNormal()
  732.     wait(.125)
  733.     Attacking = false
  734. end
  735. function Jump()
  736.     AllowSprint = false
  737.     Attacking = true
  738.     GiveLegWelds()
  739.     SetDesired({
  740.         LS = C0.LS * CA(Pi/7, 0, Pi/10),
  741.         RS = C0.RS * CA(Pi/3, 0, -Pi/3),
  742.         LH = C0.LH * CN(0, .625, -.25) * CA(-Pi/6, 0, 0),
  743.         RH = C0.RH * CN(0, .625, -.25) * CA(-Pi/20, 0, 0),
  744.         NK = C0.NK * CA(-Pi/25, 0, 0),
  745.         TW = C0.TW * CN(0, -1.25, 0) * CA(-Pi/20, 0, 0),
  746.         HW = C0.HW * CA(0, 0, -Pi/3),
  747.     })
  748.     wait(.25)
  749.     Speed = .4
  750.     SetDesired({
  751.         LS = C0.LS * CA(0, 0, -Pi/10),
  752.         RS = C0.RS * CA(Pi/3, 0, -Pi/3),
  753.         LH = C0.LH * CN(0, .25, -.25) * CA(-Pi/20, 0, 0),
  754.         RH = C0.RH * CN(0, .75, -.25) * CA(-Pi/4, 0, 0),
  755.         NK = C0.NK,
  756.         TW = C0.TW * CN(0, 0, 0) * CA(-Pi/40, 0, 0),
  757.         HW = C0.HW,
  758.     })
  759.     local BV = New("BodyVelocity", HRP, { maxForce = V3(0, 1, 0) * 10^6, P = 10^4 })
  760.     BV.velocity = V3(0, GetMass(Character)*4, 0)
  761.     wait()
  762.     BV:Destroy()
  763.     Falling = true
  764.     repeat wait()
  765.         local Hit, Pos = Raycast(Torso.Position, Vector3.new(0, -4, 0), CreateIgnoreList())
  766.     until Hit
  767.     Falling = false
  768.     local CF = CFrame.new(HRP.Position.X, HRP.Position.Y, HRP.Position.Z)
  769.     SphereExplode(CF, 3.5, "Really black")
  770.     CrownExplode(CF * CN(0, -1, 0), math.random(1, 4), "Really black")
  771.     Spawn(function()
  772.         for i = 1, 5 do
  773.             wait()
  774.             BrickExplode(CF, 3, i % 2 == 0 and "Really black" or "White", .25)
  775.             BrickTo(CF * CN(0, -1, 0) * CA(Random(Pi*2), Random(Pi*2), Random(Pi*2)), CF * CN(Random(10), -math.random(1, 10), Random(10)), math.random(2, 5), i % 2 and "Really black" or "White")
  776.         end
  777.     end)
  778.     RemoveLegWelds()
  779.     SetNormal()
  780.     Attacking = false
  781.     AllowSprint = true
  782. end
  783. function Spin()
  784.     Twist = true
  785.     local BG = New("BodyGyro", HRP, { maxTorque = V3(1, 1, 1) * 10^6, P = 10^4.25 })
  786.     local Rotate = 0
  787.     StartTrail(BladeCover, "Really black")
  788.     SetDesired({
  789.         LS = C0.LS * CA(Pi/2, 0, Pi/5),
  790.         RS = C0.RS * CA(Pi/2, 0, -Pi/5),
  791.         LH = C0.LH * CA(0, 0, -Pi/20),
  792.         RH = C0.RH * CA(0, 0, Pi/20),
  793.         NK = C0.NK,
  794.         TW = C0.TW * CA(0, 0, -Pi/20),
  795.         HW = C0.HW * CA(-Pi/2, 0, 0),
  796.     })
  797.     repeat wait()
  798.         Rotate = Rotate + 40
  799.         BG.cframe = CA(0, Rad(Rotate), 0)
  800.         DamageNearby(Blade.CFrame, 10, 4)
  801.         --ThrowSpike(HRP.CFrame, (CA(0, Rad(Rotate), 0) * HRP.CFrame).p, 4, "Really black")
  802.     until not Falling
  803.     StopTrail()
  804.     BG:Destroy()
  805.     Twist = false
  806. end
  807. function ClipForward()
  808.     Attacking = true
  809.     local CF = HRP.CFrame
  810.     local NextPos = CF + (CF.lookVector*50)
  811.     BrickImplode(CF, 5, "Really black", .175)
  812.     Character:MoveTo(NextPos.p)
  813.     local NewCF = HRP.CFrame
  814.     BrickExplode(NewCF, 1, "Really black", .375)
  815.     local Mag = (NewCF.p - CF.p).magnitude
  816.     Beam(CF, NewCF, 2, "Really black", "White", .25)
  817.     for i = 1, 1 do Lightning(CF, NewCF, "Really black", Mag/2, 25) end
  818.     Attacking = false
  819. end
  820. function Activate_Magic()
  821.     MagicMode = true
  822.     Magic_Event = Util.CreateSignal()
  823.     local Connection, Count = nil, 0
  824.  
  825.     SetDesired({
  826.         LS = C0.LS * CN(0, 0 , 0) * CA(Pi/3, 0, -Pi/6),
  827.         RS = C0.RS * CN(-.25, 0 , 0) * CA(Pi/4, 0, -Pi/24),
  828.         LH = C0.LH,
  829.         RH = C0.RH,
  830.         NK = C0.NK * CA(0, Pi/8, 0),
  831.         TW = C0.TW * CA(0, -Pi/8, 0),
  832.         HW = C0.HW * CN(0, .4, 0) * CA(0, 0, -Pi/3),
  833.     })
  834.    
  835.     Connection = game:service("RunService").RenderStepped:connect(function()
  836.         Count = Count + 1
  837.         if Count % 5 == 0 then
  838.             BrickImplode(LA.CFrame * CN(0, -1, 0), 1.25, "Really black", 0.03)
  839.         end
  840.     end)
  841.     Magic_Event:connect(function(Request, ...)
  842.         local Data = { ... }
  843.         -- attak activation and handling event hurr
  844.         if Request == "release" then
  845.             Connection:disconnect()
  846.             MagicMode = false
  847.             SetNormal()
  848.             Magic_Event:disconnect()
  849.         end
  850.     end)
  851. end
  852.  
  853. TW = HRP:WaitForChild("RootJoint")
  854. TW.C0 = CN()
  855. TW.C1 = CN()
  856. NK = Weld(Torso, Head, C0.NK, C1.NK)
  857. Connect = nil
  858. LastSlash = { tick(), Slash1 }
  859. Sprinting = false
  860. Equip = function(Mouse)
  861.     if not Attacking and not MagicMode then
  862.         SetNormal()
  863.         HandleW.Part0 = RA
  864.         OLS.Parent = nil
  865.         ORS.Parent = nil
  866.         TW.C0 = CN()
  867.         TW.C1 = CN()
  868.         NK.C0 = C0.NK
  869.         RS = Weld(Torso, RA, C0.RS, C1.RS)
  870.         LS = Weld(Torso, LA, C0.LS, C1.LS)
  871.     end
  872.     Mouse.Button1Down:connect(function()
  873.         if Attacking then return end
  874.         Down = true
  875.         if not MagicMode then
  876.             if (tick()-LastSlash[1]) < .25 then
  877.                 LastSlash[2] = LastSlash[2] == Slash1 and Slash2
  878.                     or LastSlash[2] == Slash2 and Slash3
  879.                     or Slash1
  880.             else
  881.                 LastSlash[2] = Slash1
  882.             end
  883.             LastSlash[2]()
  884.             LastSlash[1] = tick()
  885.         else
  886.            
  887.         end
  888.     end)
  889.     Mouse.Button1Up:connect(function()
  890.         Down = false
  891.     end)
  892.     Mouse.KeyDown:connect(function(Key)
  893.         Key:lower()
  894.         Keysdown[Key] = true
  895.         Keysdown[Key:byte()] = true
  896.         if Key == "x" and Falling and not Twist and not MagicMode then
  897.             Spin()
  898.         end
  899.         if Attacking then return end
  900.         if Key == "z" and not MagicMode then
  901.             Jump()
  902.         elseif Key == "m" then
  903.             if MagicMode and Magic_Event then
  904.                 Magic_Event:fire("release")
  905.             else
  906.                 Activate_Magic()
  907.             end
  908.         elseif Key == "q" then
  909.             ClipForward()
  910.         end
  911.     end)
  912.     Mouse.KeyUp:connect(function(Key)
  913.         Key:lower()
  914.         Keysdown[Key] = false
  915.         Keysdown[Key:byte()] = false
  916.         if Attacking then return end
  917.     end)
  918.     Connect = game:service("RunService").RenderStepped:connect(function()
  919.         local Is_Sprinting = Keysdown[48] and AllowSprint
  920.         Humanoid.WalkSpeed = Is_Sprinting and 50 or 18
  921.         local Moving = V3(HRP.Velocity.X, 0, HRP.Velocity.Z).magnitude > 2
  922.    
  923.         RS.C0 = CSLerp(RS.C0, Desired.RS, Speed)
  924.         LS.C0 = CSLerp(LS.C0, Desired.LS, Speed)
  925.         NK.C0 = CSLerp(NK.C0, Desired.NK * CA(Moving and Is_Sprinting and Pi/20 or 0, 0, 0), Speed)
  926.         TW.C0 = CSLerp(TW.C0, Desired.TW * CA(Moving and Is_Sprinting and -Pi/20 or 0, 0, 0), Speed)
  927.         HandleW.C0 = CSLerp(HandleW.C0, Desired.HW, Speed)
  928.         if LH and RH then
  929.             RH.C0 = CSLerp(RH.C0, Desired.RH, Speed)
  930.             LH.C0 = CSLerp(LH.C0, Desired.LH, Speed)
  931.         end
  932.     end)
  933. end
  934. Unequip = function()
  935.     Down = false
  936.     if Attacking or MagicMode then
  937.         repeat wait() until not Attacking and not MagicMode
  938.     end
  939.     Connect:disconnect()
  940.     RS:Destroy()
  941.     LS:Destroy()
  942.     OLS.Parent = Torso
  943.     OLS.Part0, OLS.Part1 = Torso, LA
  944.     ORS.Parent = Torso
  945.     ORS.Part0, ORS.Part1 = Torso, RA
  946.     TW.C0 = C0.TW
  947.     NK.C0 = C0.NK
  948.     HandleW.Part0 = Torso
  949.     HandleW.C0 = CN(1.5, 1.5, .5) * CA(0, 0, Pi) * CA(0, 0, -Pi/4)
  950.     Humanoid.WalkSpeed = 16
  951. end
  952. pcall(game.Destroy, Backpack:FindFirstChild("Weapon"))
  953. Tool = New("HopperBin", Backpack, { Name = "Weapon" })
  954. Tool.Selected:connect(Equip)
  955. Tool.Deselected:connect(Unequip)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement