Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --original by noitacinu
- function sandbox(var,func)
- local env = getfenv(func)
- local newenv = setmetatable({},{
- __index = function(self,k)
- if k=="script" then
- return var
- else
- return env[k]
- end
- end,
- })
- setfenv(func,newenv)
- return func
- end
- cors = {}
- mas = Instance.new("Model",game:GetService("Lighting"))
- Tool0 = Instance.new("Tool")
- Part1 = Instance.new("Part")
- Weld2 = Instance.new("Weld")
- Weld3 = Instance.new("Weld")
- Weld4 = Instance.new("Weld")
- Weld5 = Instance.new("Weld")
- Weld6 = Instance.new("Weld")
- Weld7 = Instance.new("Weld")
- Weld8 = Instance.new("Weld")
- Weld9 = Instance.new("Weld")
- Weld10 = Instance.new("Weld")
- Weld11 = Instance.new("Weld")
- Weld12 = Instance.new("Weld")
- Weld13 = Instance.new("Weld")
- Weld14 = Instance.new("Weld")
- Weld15 = Instance.new("Weld")
- Weld16 = Instance.new("Weld")
- Weld17 = Instance.new("Weld")
- Weld18 = Instance.new("Weld")
- Weld19 = Instance.new("Weld")
- Weld20 = Instance.new("Weld")
- Weld21 = Instance.new("Weld")
- Weld22 = Instance.new("Weld")
- Weld23 = Instance.new("Weld")
- Weld24 = Instance.new("Weld")
- Weld25 = Instance.new("Weld")
- Weld26 = Instance.new("Weld")
- Weld27 = Instance.new("Weld")
- Weld28 = Instance.new("Weld")
- Weld29 = Instance.new("Weld")
- Weld30 = Instance.new("Weld")
- Weld31 = Instance.new("Weld")
- Weld32 = Instance.new("Weld")
- Weld33 = Instance.new("Weld")
- Weld34 = Instance.new("Weld")
- Weld35 = Instance.new("Weld")
- Weld36 = Instance.new("Weld")
- Weld37 = Instance.new("Weld")
- Weld38 = Instance.new("Weld")
- Weld39 = Instance.new("Weld")
- Weld40 = Instance.new("Weld")
- Weld41 = Instance.new("Weld")
- Weld42 = Instance.new("Weld")
- Weld43 = Instance.new("Weld")
- Weld44 = Instance.new("Weld")
- Weld45 = Instance.new("Weld")
- Weld46 = Instance.new("Weld")
- Script47 = Instance.new("Script")
- Sound48 = Instance.new("Sound")
- LocalScript49 = Instance.new("LocalScript")
- Script50 = Instance.new("Script")
- Script51 = Instance.new("Script")
- LocalScript52 = Instance.new("LocalScript")
- LocalScript53 = Instance.new("LocalScript")
- Part54 = Instance.new("Part")
- Part55 = Instance.new("Part")
- BlockMesh56 = Instance.new("BlockMesh")
- Part57 = Instance.new("Part")
- Part58 = Instance.new("Part")
- CylinderMesh59 = Instance.new("CylinderMesh")
- Part60 = Instance.new("Part")
- Part61 = Instance.new("Part")
- Part62 = Instance.new("Part")
- CylinderMesh63 = Instance.new("CylinderMesh")
- Part64 = Instance.new("Part")
- CylinderMesh65 = Instance.new("CylinderMesh")
- Part66 = Instance.new("Part")
- Part67 = Instance.new("Part")
- BlockMesh68 = Instance.new("BlockMesh")
- Part69 = Instance.new("Part")
- BlockMesh70 = Instance.new("BlockMesh")
- PointLight71 = Instance.new("PointLight")
- Part72 = Instance.new("Part")
- BlockMesh73 = Instance.new("BlockMesh")
- Part74 = Instance.new("Part")
- BlockMesh75 = Instance.new("BlockMesh")
- PointLight76 = Instance.new("PointLight")
- Part77 = Instance.new("Part")
- BlockMesh78 = Instance.new("BlockMesh")
- Part79 = Instance.new("Part")
- BlockMesh80 = Instance.new("BlockMesh")
- Part81 = Instance.new("Part")
- BlockMesh82 = Instance.new("BlockMesh")
- PointLight83 = Instance.new("PointLight")
- Part84 = Instance.new("Part")
- BlockMesh85 = Instance.new("BlockMesh")
- Part86 = Instance.new("Part")
- BlockMesh87 = Instance.new("BlockMesh")
- PointLight88 = Instance.new("PointLight")
- Part89 = Instance.new("Part")
- BlockMesh90 = Instance.new("BlockMesh")
- Part91 = Instance.new("Part")
- BlockMesh92 = Instance.new("BlockMesh")
- Part93 = Instance.new("Part")
- Part94 = Instance.new("Part")
- CylinderMesh95 = Instance.new("CylinderMesh")
- Part96 = Instance.new("Part")
- CylinderMesh97 = Instance.new("CylinderMesh")
- Part98 = Instance.new("Part")
- Part99 = Instance.new("Part")
- BlockMesh100 = Instance.new("BlockMesh")
- Part101 = Instance.new("Part")
- BlockMesh102 = Instance.new("BlockMesh")
- Part103 = Instance.new("Part")
- CylinderMesh104 = Instance.new("CylinderMesh")
- Script105 = Instance.new("Script")
- Configuration106 = Instance.new("Configuration")
- Tool0.Name = "Voltedge"
- Tool0.Parent = mas
- Tool0.TextureId = "http://www.roblox.com/asset/?id=128538357"
- Tool0.Enabled = false
- Tool0.GripForward = Vector3.new(1, 0, 0)
- Tool0.GripPos = Vector3.new(0, -1.60000002, 0)
- Tool0.GripRight = Vector3.new(0, 0, 1)
- Part1.Name = "Handle"
- Part1.Parent = Tool0
- Part1.Transparency = 1
- Part1.Rotation = Vector3.new(-125.259995, 30, 144.73999)
- Part1.RotVelocity = Vector3.new(1, 1, 1)
- Part1.Size = Vector3.new(1, 6, 1)
- Part1.CFrame = CFrame.new(-189.200012, 3.66600013, -17.3340015, -0.707106531, -0.49999994, 0.500000238, 3.57627869e-07, 0.707106709, 0.707106709, -0.707107008, 0.49999994, -0.499999642)
- Part1.Position = Vector3.new(-189.200012, 3.66600013, -17.3340015)
- Part1.Orientation = Vector3.new(-45, 135, 0)
- Weld2.Parent = Part1
- Weld2.C0 = CFrame.new(0, 0, 0, 0.899168491, -0.43760258, 0, 0.43760258, 0.899168491, 0, 0, 0, 1)
- Weld2.C1 = CFrame.new(0, 0, 0, 0.899168491, -0.43760258, 0, 0.43760258, 0.899168491, 0, 0, 0, 1)
- Weld2.Part0 = Part1
- Weld2.Part1 = Part1
- Weld3.Parent = Part1
- Weld3.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld3.C1 = CFrame.new(-0.0130004883, -0.331781387, -0.937977314, -2.88163189e-21, -1.65686468e-21, -1, 0.97633338, -0.216269523, 4.0918402e-22, -0.216269344, -0.976333499, -7.4505806e-08)
- Weld3.Part0 = Part1
- Weld3.Part1 = Part54
- Weld4.Parent = Part1
- Weld4.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld4.C1 = CFrame.new(-0.0260009766, -1.99499702, 0.403997421, -2.88163189e-21, -1.65686468e-21, -1, 0.43760252, 0.899168611, 4.58468338e-22, 0.899168491, -0.437602609, 3.11004057e-22)
- Weld4.Part0 = Part1
- Weld4.Part1 = Part55
- Weld5.Parent = Part1
- Weld5.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld5.C1 = CFrame.new(-0.0160064697, 1.36952782, -1.94962215, -2.88163189e-21, -1.65686468e-21, -1, 0.86231041, 0.506379604, 1.86264515e-09, 0.506379366, -0.862310529, -1.49011612e-08)
- Weld5.Part0 = Part1
- Weld5.Part1 = Part57
- Weld6.Parent = Part1
- Weld6.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld6.C1 = CFrame.new(2.22236061, -0.0170059204, 0.323560715, 0.216269344, 0.976333499, 7.4505806e-08, -2.88163169e-21, -1.65686458e-21, -1, -0.97633338, 0.216269523, -4.0918402e-22)
- Weld6.Part0 = Part1
- Weld6.Part1 = Part58
- Weld7.Parent = Part1
- Weld7.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld7.C1 = CFrame.new(-0.0160064697, -0.331674576, -2.03816891, -2.88163189e-21, -1.65686468e-21, -1, 0.97633338, -0.216269523, 4.0918402e-22, -0.216269344, -0.976333499, -7.4505806e-08)
- Weld7.Part0 = Part1
- Weld7.Part1 = Part60
- Weld8.Parent = Part1
- Weld8.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld8.C1 = CFrame.new(-0.0130004883, -0.941339493, -0.692130566, -2.88163189e-21, -1.65686468e-21, -1, 0.851982474, -0.523569822, 1.49011612e-08, -0.523569584, -0.851982594, 7.4505806e-09)
- Weld8.Part0 = Part1
- Weld8.Part1 = Part61
- Weld9.Parent = Part1
- Weld9.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld9.C1 = CFrame.new(1.12216592, -0.016002655, 0.323711395, 0.216269344, 0.976333499, 7.4505806e-08, -2.88163169e-21, -1.65686458e-21, -1, -0.97633338, 0.216269523, -4.0918402e-22)
- Weld9.Part0 = Part1
- Weld9.Part1 = Part62
- Weld10.Parent = Part1
- Weld10.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld10.C1 = CFrame.new(0.702521801, -0.013999939, 1.16239357, 0.523569465, 0.851982832, -1.49011612e-08, -2.88163169e-21, -1.65686458e-21, -1, -0.851982534, 0.523569584, 1.49011612e-08)
- Weld10.Part0 = Part1
- Weld10.Part1 = Part64
- Weld11.Parent = Part1
- Weld11.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld11.C1 = CFrame.new(-0.0130004883, -0.331279755, -1.49001789, -2.88163189e-21, -1.65686468e-21, -1, 0.97633338, -0.216269523, 4.0918402e-22, -0.216269344, -0.976333499, -7.4505806e-08)
- Weld11.Part0 = Part1
- Weld11.Part1 = Part66
- Weld12.Parent = Part1
- Weld12.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld12.C1 = CFrame.new(-0.0120010376, 1.97564363, 0.131521225, -2.88163189e-21, -1.65686468e-21, -1, -0.216269344, -0.976333499, -8.94069672e-08, -0.976333499, 0.216269761, -4.47034836e-08)
- Weld12.Part0 = Part1
- Weld12.Part1 = Part67
- Weld13.Parent = Part1
- Weld13.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld13.C1 = CFrame.new(-0.0130004883, -0.360313416, 0.81742239, -2.88163189e-21, -1.65686468e-21, -1, 0.973841012, -0.227229387, -7.4505806e-08, -0.227229357, -0.973841071, -5.96046448e-08)
- Weld13.Part0 = Part1
- Weld13.Part1 = Part69
- Weld14.Parent = Part1
- Weld14.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld14.C1 = CFrame.new(-0.0130004883, 0.602180958, 0.674919128, -2.88163189e-21, -1.65686468e-21, -1, -0.234446436, -0.972128928, -3.81045717e-22, -0.972128808, 0.234446496, -4.02145235e-22)
- Weld14.Part0 = Part1
- Weld14.Part1 = Part72
- Weld15.Parent = Part1
- Weld15.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld15.C1 = CFrame.new(-0.0130004883, -0.351724625, 0.446086884, -2.88163189e-21, -1.65686468e-21, -1, 0.973841012, -0.227229387, -7.4505806e-08, -0.227229357, -0.973841071, -5.96046448e-08)
- Weld15.Part0 = Part1
- Weld15.Part1 = Part74
- Weld16.Parent = Part1
- Weld16.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld16.C1 = CFrame.new(-0.0130004883, 0.598138809, 0.0269947052, -2.88163189e-21, -1.65686468e-21, -1, -0.234446436, -0.972128928, -3.81045717e-22, -0.972128808, 0.234446496, -4.02145235e-22)
- Weld16.Part0 = Part1
- Weld16.Part1 = Part77
- Weld17.Parent = Part1
- Weld17.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld17.C1 = CFrame.new(-0.0130004883, -1.80019569, -1.13411713, -2.88163189e-21, -1.65686468e-21, -1, 0, 0.999999583, 2.76143978e-22, 0.999999523, 0, -7.4505806e-09)
- Weld17.Part0 = Part1
- Weld17.Part1 = Part79
- Weld18.Parent = Part1
- Weld18.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld18.C1 = CFrame.new(-0.0129966736, -0.343711853, 1.11860132, -2.88163189e-21, -1.65686468e-21, -1, 0.973841012, -0.227229387, -7.4505806e-08, -0.227229357, -0.973841071, -5.96046448e-08)
- Weld18.Part0 = Part1
- Weld18.Part1 = Part81
- Weld19.Parent = Part1
- Weld19.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld19.C1 = CFrame.new(-0.0120010376, 1.98360395, 0.635215759, -2.88163189e-21, -1.65686468e-21, -1, -0.216269344, -0.976333499, -8.94069672e-08, -0.976333499, 0.216269761, -4.47034836e-08)
- Weld19.Part0 = Part1
- Weld19.Part1 = Part84
- Weld20.Parent = Part1
- Weld20.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld20.C1 = CFrame.new(-0.0130004883, -0.3595047, -0.227424145, -2.88163189e-21, -1.65686468e-21, -1, 0.973841012, -0.227229387, -7.4505806e-08, -0.227229357, -0.973841071, -5.96046448e-08)
- Weld20.Part0 = Part1
- Weld20.Part1 = Part86
- Weld21.Parent = Part1
- Weld21.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld21.C1 = CFrame.new(-0.0130004883, 0.438526154, -0.485078812, -2.88163189e-21, -1.65686468e-21, -1, 0.929756999, 0.368172824, 3.7252903e-09, 0.368172765, -0.929756999, -7.99238465e-23)
- Weld21.Part0 = Part1
- Weld21.Part1 = Part89
- Weld22.Parent = Part1
- Weld22.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld22.C1 = CFrame.new(-0.0130004883, -1.00823975, -0.139583588, -2.88163189e-21, -1.65686468e-21, -1, 0.710995555, -0.703196228, 1.47287778e-22, -0.703196228, -0.710995555, 4.47034836e-08)
- Weld22.Part0 = Part1
- Weld22.Part1 = Part91
- Weld23.Parent = Part1
- Weld23.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld23.C1 = CFrame.new(-0.015007019, 0.31763649, -0.818967819, -2.88163189e-21, -1.65686468e-21, -1, 0.86231041, 0.506379604, 1.86264515e-09, 0.506379366, -0.862310529, -1.49011612e-08)
- Weld23.Part0 = Part1
- Weld23.Part1 = Part93
- Weld24.Parent = Part1
- Weld24.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld24.C1 = CFrame.new(0.744771957, -0.0109977722, 0.323547363, 0.216269344, 0.976333499, 7.4505806e-08, -2.88163169e-21, -1.65686458e-21, -1, -0.97633338, 0.216269523, -4.0918402e-22)
- Weld24.Part0 = Part1
- Weld24.Part1 = Part94
- Weld25.Parent = Part1
- Weld25.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld25.C1 = CFrame.new(1.02225304, -0.0160064697, -0.209663391, 0.216269344, 0.976333499, 7.4505806e-08, -2.88163169e-21, -1.65686458e-21, -1, -0.97633338, 0.216269523, -4.0918402e-22)
- Weld25.Part0 = Part1
- Weld25.Part1 = Part96
- Weld26.Parent = Part1
- Weld26.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld26.C1 = CFrame.new(-0.0130004883, 0.312616348, -0.905866623, -2.88163189e-21, -1.65686468e-21, -1, 0.993480444, 0.114000559, 7.4505806e-09, 0.114000589, -0.993480444, -2.98023224e-08)
- Weld26.Part0 = Part1
- Weld26.Part1 = Part98
- Weld27.Parent = Part1
- Weld27.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld27.C1 = CFrame.new(-0.0100021362, -0.319400787, -0.792086124, -2.88163189e-21, -1.65686468e-21, -1, 0.97633338, -0.216269523, 4.0918402e-22, -0.216269344, -0.976333499, -7.4505806e-08)
- Weld27.Part0 = Part1
- Weld27.Part1 = Part99
- Weld28.Parent = Part1
- Weld28.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld28.C1 = CFrame.new(-0.0130004883, 0.941957951, -0.322620392, -2.88163189e-21, -1.65686468e-21, -1, 0.216269344, 0.976333499, 7.4505806e-08, 0.97633338, -0.216269523, 4.0918402e-22)
- Weld28.Part0 = Part1
- Weld28.Part1 = Part101
- Weld29.Parent = Part1
- Weld29.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld29.C1 = CFrame.new(0.817771435, -0.0109977722, 0.323532104, 0.216269344, 0.976333499, 7.4505806e-08, -2.88163169e-21, -1.65686458e-21, -1, -0.97633338, 0.216269523, -4.0918402e-22)
- Weld29.Part0 = Part1
- Weld29.Part1 = Part103
- Weld30.Parent = Part1
- Weld30.C0 = CFrame.new(0, 0, 0, 0.899168491, -0.43760258, 0, 0.43760258, 0.899168491, 0, 0, 0, 1)
- Weld30.C1 = CFrame.new(0, 0, 0, 0.899168491, -0.43760258, 0, 0.43760258, 0.899168491, 0, 0, 0, 1)
- Weld30.Part0 = Part1
- Weld30.Part1 = Part1
- Weld31.Parent = Part1
- Weld31.Part0 = Part1
- Weld31.Part1 = Part1
- Weld32.Parent = Part1
- Weld32.Part0 = Part1
- Weld32.Part1 = Part1
- Weld33.Parent = Part1
- Weld33.Part0 = Part1
- Weld33.Part1 = Part1
- Weld34.Parent = Part1
- Weld34.Part0 = Part1
- Weld34.Part1 = Part1
- Weld35.Parent = Part1
- Weld35.Part0 = Part1
- Weld35.Part1 = Part1
- Weld36.Parent = Part1
- Weld36.Part0 = Part1
- Weld36.Part1 = Part1
- Weld37.Parent = Part1
- Weld37.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld37.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld37.Part0 = Part1
- Weld37.Part1 = Part1
- Weld38.Parent = Part1
- Weld38.C0 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld38.C1 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld38.Part0 = Part1
- Weld38.Part1 = Part1
- Weld39.Parent = Part1
- Weld39.C0 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld39.C1 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld39.Part0 = Part1
- Weld39.Part1 = Part1
- Weld40.Parent = Part1
- Weld40.C0 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld40.C1 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld40.Part0 = Part1
- Weld40.Part1 = Part1
- Weld41.Parent = Part1
- Weld41.C0 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld41.C1 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld41.Part0 = Part1
- Weld41.Part1 = Part1
- Weld42.Parent = Part1
- Weld42.C0 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld42.C1 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld42.Part0 = Part1
- Weld42.Part1 = Part1
- Weld43.Parent = Part1
- Weld43.C0 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld43.C1 = CFrame.new(0, 0, 0, 0.0976286381, -0.866915882, 0.488800049, 0.169796497, 0.498454452, 0.850124896, -0.980631351, -5.54000681e-22, 0.19586271)
- Weld43.Part0 = Part1
- Weld43.Part1 = Part1
- Weld44.Parent = Part1
- Weld44.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld44.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld44.Part0 = Part1
- Weld44.Part1 = Part1
- Weld45.Parent = Part1
- Weld45.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld45.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld45.Part0 = Part1
- Weld45.Part1 = Part1
- Weld46.Parent = Part1
- Weld46.C0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld46.C1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 1, 0, -0, -0, -1)
- Weld46.Part0 = Part1
- Weld46.Part1 = Part1
- Script47.Name = "CrystalSword"
- Script47.Parent = Tool0
- table.insert(cors,sandbox(Script47,function()
- --Crystal Sword
- local Tool = script.Parent
- local Handle = Tool.Handle
- local Character = nil
- local EruptionID = 128537353
- local Eruption = game:GetService("InsertService"):LoadAsset(EruptionID):GetChildren()[1]
- local Debris = game.Debris
- local Damage = 50
- local Eruptions = 5
- local DistancePerObject = 18
- local TimeBetweenEruptions = .05
- local EruptionLife = 3
- local DamagePerTouch = 50
- --Creates a random number of particles and lets them fall down from the sky.
- function ParticleExplosion(Parent, Colors)
- local NumParticles = math.random(5,15)
- for i = 0, NumParticles do
- --Create the parts for the particles to emit from
- local ParticlePoint = Instance.new("Part")
- ParticlePoint.Size = Vector3.new(1,1,1)
- ParticlePoint.Parent = Parent
- ParticlePoint.Position = Parent.Position + Vector3.new(math.random(-5,5), math.random(4, 7), math.random(-5,5) )
- ParticlePoint.Transparency = 1
- --Create the particles for display
- local Particle = Instance.new("Fire")
- local Color = Colors[math.random(1, #Colors)]
- Particle.Color = Color
- Particle.SecondaryColor = Color
- Particle.Parent = ParticlePoint
- --Send them flying
- local ParticleForce = Instance.new("BodyForce")
- ParticleForce.Parent = ParticlePoint
- ParticleForce.force = Vector3.new(math.random(-20,20), 40, math.random(-20,20)) * 7
- Debris:AddItem(ParticleForce, .3)
- Debris:AddItem(ParticlePoint, .1 + math.random())
- end
- end
- --Fired when the chrystal touches something
- --Add to the player's touched counter. Damage will be done based on this number later
- function onCrystalTouched(part)
- local Character = part.Parent
- if not Character:FindFirstChild("Humanoid") then return end
- local Player = game.Players:GetPlayerFromCharacter(Character)
- if Player == game.Players:GetPlayerFromCharacter(Tool.Parent) then return end
- local Counter = Character:FindFirstChild("Counter")
- if not Counter then --If we don't have a counter, add a new one
- Counter = Instance.new("IntValue")
- Counter.Name = "Counter"
- Counter.Value = 0
- Counter.Parent = Character
- Debris:AddItem(Counter, .2)
- end
- Counter.Value = Counter.Value + 1
- end
- --Find the players with a counter variable, then kill them
- --If they survive, knock them over
- function ExplodePlayers()
- local Players = game.Players:GetChildren()
- for i = 1, #Players do
- local Character = Players[i].Character
- local counter = Character:FindFirstChild("Counter")
- if counter then
- Character.Humanoid:TakeDamage(counter.Value * DamagePerTouch)
- Character.Humanoid.Sit = true
- end
- end
- end
- Erupting = false
- function DoEruption()
- Erupting = true
- local Torso = Character.Torso
- local Direction = Torso.CFrame.lookVector
- local LastPosition = Torso.Position + Vector3.new(0, -2.5, 0)
- for i = 1, Eruptions do
- --Create a new crystal formation
- local EruptionClone = Eruption:Clone()
- EruptionClone.Name = "Eruption"
- local Children = EruptionClone:GetChildren()
- local BasePart = EruptionClone.BaseCenter
- for z = 1, #Children do
- --Move each part into position
- if(Children[z] ~= BasePart) then
- local part = Children[z]
- local offset = part.CFrame.p - BasePart.CFrame.p
- part.CFrame = part.CFrame - part.CFrame.p + (LastPosition + (Direction * DistancePerObject)) + offset
- local cobj = part.Touched:connect(onCrystalTouched)
- delay(.2, function() cobj:disconnect() end)
- end
- end
- EruptionClone.Parent = game.Workspace
- BasePart.CFrame = BasePart.CFrame - BasePart.CFrame.p + (LastPosition + (Direction * DistancePerObject))
- --Play the particle and sound effects
- ParticleExplosion(BasePart, {BrickColor.new(28).Color, Color3.new(0/255,234/255, 255/255)} )
- local Sound = Tool.CrystalExplosion:Clone()
- Sound.Parent = EruptionClone
- Sound:Play()
- --Move on to the next eruption
- LastPosition = LastPosition + (Direction * DistancePerObject)
- --Kill any fool that happened to get caught in the explosion
- ExplodePlayers()
- wait(TimeBetweenEruptions)
- --Let physics take over crystal for effect
- delay(EruptionLife - 1.5, function()
- local ChildrenClone = Children
- for z= 1, #ChildrenClone do
- ChildrenClone[z].Anchored = false
- Debris:AddItem(ChildrenClone[z], math.random())
- end
- end)
- --Clean up after ourselves
- Debris:AddItem(EruptionClone, EruptionLife)
- end
- Erupting = false
- end
- --Swing the sword
- function Swing()
- --Add a particle effect to the sword when you swing it to make it seem powerful
- local SwingParticle = Instance.new("Fire")
- SwingParticle.Name = "SwingParticle"
- SwingParticle.Parent = Handle
- local Color = BrickColor.new(28).Color
- SwingParticle.Color = Color
- SwingParticle.SecondaryColor = Color
- Debris:AddItem(SwingParticle, 1)
- --Play the swing animation
- local Animation = Instance.new("StringValue")
- Animation.Name = "toolanim"
- Animation.Value = "Slash"
- Animation.Parent = Tool
- --How do i shot crystals?
- DoEruption()
- end
- function onActivated()
- if not Tool.Enabled then return end
- if Erupting then return end
- if not Character then return end
- Tool.Enabled = false
- Swing()
- wait(EruptionLife)
- Tool.Enabled = true
- end
- Tool.Activated:connect(onActivated)
- function onEquipped()
- Tool.Enabled = true
- Character = Tool.Parent
- end
- Tool.Equipped:connect(onEquipped)
- function onUnequipped()
- Tool.Enabled = false
- Character = nil
- end
- Tool.Unequipped:connect(onUnequipped)
- end))
- Sound48.Name = "CrystalExplosion"
- Sound48.Parent = Tool0
- Sound48.SoundId = "http://www.roblox.com/asset/?id=84937942"
- Sound48.Volume = 1
- LocalScript49.Name = "Main"
- LocalScript49.Parent = Tool0
- table.insert(cors,sandbox(LocalScript49,function()
- local function class(name)
- local def = {}
- getfenv(0)[name] = def
- return function(ctor, static)
- local nctor = function(...)
- local this = {}
- if ctor then
- ctor(this, ...)
- end
- return this
- end
- getfenv(0)['Create'..name] = nctor
- if static then static(def) end
- end
- end
- local function Create(ty)
- return function(data)
- local obj = Instance.new(ty)
- for k, v in pairs(data) do
- if type(k) == 'number' then
- v.Parent = obj
- else
- obj[k] = v
- end
- end
- return obj
- end
- end
- --[[----------------------------------------------------------------------------
- AnimationProvider
- Manages animations.
- CreateAnimationProvider(animations)
- Returns a new AnimationProvider instance.
- `animations` is a table containing identity/asset_id pairs.
- `asset_id` may be a string (Content) or an integer.
- AnimationProvider:LoadHumanoid(humanoid)
- Loads the animations into `humanoid`.
- AnimationProvider:GetAnimation(identity)
- Returns an AnimationTrack.
- May only be called after LoadHumanoid.
- AnimationProvider:StopAnimations()
- Stops all animations.
- ]]
- class'AnimationProvider'(function(def,anim_ids)
- local animations = {}
- local animationTracks = {}
- local catcherCallbacks = {}
- local keyframeCatchers = {}
- local workingHumanoid
- for name,id in pairs(anim_ids) do
- animations[name] = Create'Animation'{
- Name = name;
- AnimationId = type(id) == "number" and ("rbxassetid://"..id) or id;
- Archivable = false;
- }
- end
- function def:LoadHumanoid(humanoid)
- if humanoid ~= workingHumanoid then
- workingHumanoid = humanoid
- for name,anim in pairs(animations) do
- local old_track = animationTracks[name]
- if old_track then
- old_track:Stop()
- old_track:Destroy()
- if keyframeCatchers[name] then
- keyframeCatchers[name] = nil
- end
- end
- local track = humanoid:LoadAnimation(anim)
- animationTracks[name] = track
- if catcherCallbacks[name] then
- local catcher = CreateKeyframeCatcher(track)
- keyframeCatchers[name] = catcher
- catcher:SetCallbacks(catcherCallbacks[name])
- end
- end
- end
- end
- function def:GetAnimation(name)
- if not workingHumanoid then
- error("GetAnimation: humanoid has not been loaded",2)
- end
- return animationTracks[name]
- end
- function def:StopAnimations(...)
- for name,track in pairs(animationTracks) do
- track:Stop(...)
- end
- end
- -- lazy get
- setmetatable(def,{__index = animationTracks})
- end)
- --[[
- SoundProvider
- Manages sounds.
- CreateSoundProvider(sounds)
- Returns a new SoundProvider.
- `sounds` is a table containing identity/asset_id pairs.
- `asset_id` may be a string (Content) or an integer.
- SoundProvider:SetParent(parent)
- Sets the parent of all the sounds at once. Can be nil.
- SoundProvider:GetSound(identity)
- Returns a Sound.
- SoundProvider:StopSounds()
- Stops all sounds.
- SoundProvider:Fade(identity, goal, time, delta)
- Applies a fading effect to a Sound, starting with the current volume.
- `goal` is the volume to reach by the end of the transition.
- `time` is the amount of time the transition should take, in seconds.
- Optionally, `delta` is a function that transforms the progress of the fade (for non-linear transitions)
- ]]
- class'SoundProvider'(function(def,sound_ids)
- local sounds = {}
- for name,id in pairs(sound_ids) do
- sounds[name] = Create'Sound'{
- Name = name;
- SoundId = type(id) == "number" and ("rbxassetid://"..id) or id;
- Archivable = false;
- }
- end
- function def:SetParent(parent)
- for name,sound in pairs(sounds) do
- sound.Parent = parent
- end
- end
- function def:GetSound(name)
- return sounds[name]
- end
- function def:StopSounds()
- for name,sound in pairs(sounds) do
- sound:Stop()
- end
- end
- function def:Fade(name,g,t,delta)
- local sound = sounds[name]
- delta = delta or function(n) return n end
- if sound then
- local s = sound.Volume
- local i = 0
- while i < 1 do
- i = i + wait()/t
- sound.Volume = (g-s)*delta(i)+s
- end
- sound.Volume = g
- else
- error("SoundProvider::Fade: no such sound named `"..name.."`",2)
- end
- end
- -- lazy get
- setmetatable(def,{__index = sounds})
- end)
- --[[
- ThreadID
- Makes sure new threads override old ones.
- CreateThreadID()
- Returns a new ThreadID.
- ThreadID:Request()
- Returns a new ID and increments the current one.
- ThreadID:Assert(id)
- Returns whether the thread's ID equals the current one.
- ThreadID:Reset()
- Reset the current ID.
- ]]
- class'ThreadID'(function(def)
- local thread_id = 0
- function def:Assert(id)
- return thread_id == id
- end
- function def:Request()
- thread_id = thread_id + 1
- return thread_id
- end
- function def:Reset()
- thread_id = 0
- end
- end)
- --[[
- WalkSpeedManager
- Manages a Humanoid's WalkSpeed.
- When the walkspeed is set externally (not by this instance), the new value will become the base walkspeed.
- However, the walkspeed can be locked. If so, the walkspeed will be reverted if it has been changed externally.
- This allows the tool to be compatible with, say, a speed potion.
- CreateWalkSpeedManager()
- Returns a new WalkSpeedManager.
- WalkSpeedManager:SetHumanoid(humanoid)
- Sets the humanoid and sets its WalkSpeed as the base.
- WalkSpeedManager:Set(walkspeed)
- Sets and locks the humanoid's walkspeed.
- WalkSpeedManager:Reset()
- Unlocks and resets the humanoid's walkspeed to the base walkspeed.
- WalkSpeedManager:GetBase()
- Returns the base walkspeed.
- ]]
- class'WalkSpeedManager'(function(def)
- local baseWalkSpeed = 16
- local currentWalkSpeed = 16
- local locked = false
- local settingInternal = false
- local humanoid
- local changed
- function def:SetHumanoid(hum)
- humanoid = hum
- locked = false
- if changed then changed:disconnect() end
- if hum then
- baseWalkSpeed = hum.WalkSpeed
- currentWalkSpeed = baseWalkSpeed
- changed = hum.Changed:connect(function(p)
- if p == "WalkSpeed" and not settingInternal then
- -- something external is modifying the walkspeed; use that as the base
- baseWalkSpeed = hum.WalkSpeed
- if locked then
- settingInternal = true
- hum.WalkSpeed = currentWalkSpeed
- settingInternal = false
- end
- end
- end)
- end
- end
- function def:Set(ws)
- if humanoid then
- locked = true
- currentWalkSpeed = ws
- settingInternal = true
- humanoid.WalkSpeed = ws
- settingInternal = false
- end
- end
- function def:Reset()
- if humanoid then
- currentWalkSpeed = baseWalkSpeed
- settingInternal = true
- humanoid.WalkSpeed = baseWalkSpeed
- settingInternal = false
- locked = false
- end
- end
- function def:GetBase()
- return baseWalkSpeed
- end
- end)
- --[[
- Sequencer
- Calls functions in a sequence through activation of a single function.
- :SetSequenceMap(map)
- Sets the sequence of functions to use.
- :SetMinInterval(interval)
- Sets the minimum amount of time allowed between activations.
- :SetResetDelay(delay,time)
- Sets the amount of time to wait after the most recent activation before the sequence is reset.
- `delay` is the time to wait after the last activation.
- `time` is used when comparing the current time with the last activation time.
- If `time` is greater than or close to `delay`, the sequence (probably) wont reset.
- :Activate(...)
- Calls the next function in the sequence. If the end of the sequence is reached, it wraps back to the beginning.
- The first value passed to the function is the current sequence index. Subsequent arguments are the values passed to Activate.
- ]]
- class'Sequencer'(function(def)
- local min_interval = 0
- local reset_delay = 0
- local reset_time = 0
- local seq_map = {}
- local seq_index = 0
- local activate_time = 0
- function def:SetSequenceMap(map)
- seq_map = map
- if seq_index > #map then
- seq_index = 0
- end
- end
- function def:SetMinInterval(interval)
- min_interval = interval
- end
- function def:SetResetDelay(delay,time)
- reset_delay = delay
- reset_time = time
- end
- local function act(...)
- local t = tick()
- if t-activate_time > min_interval then
- activate_time = t
- seq_index = seq_index + 1 > #seq_map and 1 or seq_index + 1
- if seq_map[seq_index] then
- coroutine.wrap(seq_map[seq_index])(seq_index,...)
- end
- end
- wait(reset_delay)
- if tick()-activate_time > reset_time then
- seq_index = 0
- end
- end
- function def:Activate(...)
- coroutine.wrap(act)(...)
- end
- end)
- --[[
- Particle
- Manages a particle.
- CreateParticle(constructor)
- Returns a new Particle.
- `constructor` is a function that creates a particle. It should return an Instance.
- :SetCountLimit(count)
- Sets the maximum number of particles that can exist at one time.
- :SetTimeLimit(time)
- Sets the maximum time a paricle is allowed to exist.
- Setting below 0 lets it exist forever.
- :Spawn(...)
- Spawns a particle.
- Received arguments are passed to the `constructor` function.
- Returns the spawned particle.
- :Despawn(particle)
- Removes a spawned particle.
- ]]
- class'Particle'(function(def,newParticle)
- local Debris = Game:GetService("Debris")
- local queue = {}
- local changed = {}
- local maxParticles = 20
- local maxTime = 5
- local function search_remove(t,k)
- local i = 1
- while i <= #t do
- if t[i] == k then
- table.remove(t,i)
- else
- i = i + 1
- end
- end
- end
- function def:SetCountLimit(mp)
- maxParticles = mp
- end
- function def:SetTimeLimit(mt)
- maxTime = mt
- end
- function def:Despawn(particle)
- if changed[particle] then
- changed[particle]:disconnect()
- changed[particle] = nil
- end
- search_remove(queue,particle)
- particle:Destroy()
- end
- function def:Spawn(...)
- if #queue < maxParticles then
- local particle = newParticle(...)
- if maxTime >= 0 then Debris:AddItem(particle,maxTime) end
- queue[#queue+1] = particle
- changed[particle] = particle.AncestryChanged:connect(function(c,p)
- if p == nil then
- self:Despawn(particle)
- end
- end)
- end
- return particle
- end
- end)
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- -- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
- local Event = {}
- local function Disconnect(...)
- for _,name in pairs{...} do
- if Event[name] then
- Event[name]:disconnect()
- Event[name] = nil
- end
- end
- end
- -- get an object; make it if it doesn't exist
- local function GetMake(parent,name,type)
- local object = parent:FindFirstChild(name)
- if not object then
- object = Create(type){Name=name}
- object.Parent = parent
- end
- return object
- end
- -- wait until child exists; return child
- local function WaitForChild(parent,name)
- while not parent:FindFirstChild(name) do
- parent.ChildAdded:wait()
- end
- return parent:FindFirstChild(name)
- end
- -- get a sibling humanoid of object; by humanoid, not by name
- local function GetHumanoid(object)
- if object and object.Parent then
- for i,v in pairs(object.Parent:GetChildren()) do
- if v:IsA"Humanoid" then
- return v
- end
- end
- end
- return nil
- end
- -- get the parent character from an object; verified by GetHumanoid
- local function GetCharacter(object)
- local humanoid = GetHumanoid(object)
- if humanoid then
- return object.Parent,humanoid
- end
- return nil
- end
- -- make a joint, if the objects exist
- local function AttemptJoint(x,y,c0,c1)
- if x and y then
- local weld = Instance.new("Motor6D")
- weld.Part0 = x
- weld.Part1 = y
- if c0 then weld.C0 = c0 end
- if c1 then weld.C1 = c1 end
- weld.Parent = x
- return weld
- end
- end
- -- destroy a joint used only by the two objects
- local function KillJoint(x,y)
- if x and y then
- for i,v in pairs(x:GetChildren()) do
- if v:IsA"Motor6D" then
- if v.Part0 == x and v.Part1 == y then
- v:Destroy()
- end
- end
- end
- end
- end
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- -----SETTINGS-------------------------------------------------------------------
- --Damage
- local sword_damage = 5
- local charged_sword_damage = 10
- local arc_damage = 10
- local charged_arc_damage = 20
- --Charged Attack
- local charge_time = 6 -- how long it takes to fully charge
- local charge_attack_time = 8 -- how long charged attack lasts (at full charge)
- local cooldown_time = 12 -- how long before sword can be charged again (at full charge)
- local charge_walk_mult = 1.5 -- how much to multiply the base walkspeed when charged
- --Short-term Fatigue
- -- min slash interval increases after every slash
- -- more consecutive slashes means longer recovery time
- local fatigue_enabled = true
- local fatigue_increment = 0.05 -- controls stamina (seconds added per slash)
- local rest_factor = 16 -- controls recovery time (multiplied by current fatigue)
- --Moon Arc Effect
- local arc_angle_variance = Vector3.new(2,12,6) -- degrees
- local arc_distance_variance = 0.5 -- distance from torso
- local arc_max_speed = 0.5 -- initial outward speed (gets decayed)
- local arc_time = 0.3 -- how long arc should exist
- local arc_decay = 2 -- exp decay factor
- --Sphere Effect
- -- a growing sphere during charge
- -- not sure if looks good
- local sphere_enabled = false
- local sphere_radius = 5.3 -- radius at end of effect
- local sphere_magnitude = 2 -- wavyness
- local sphere_time = 4 -- wavyness time scale
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- local Debris = Game:GetService("Debris")
- local Lighting = Game:GetService("Lighting")
- local Tool = script.Parent
- local Handle = WaitForChild(Tool,"Handle")
- local Character,Humanoid
- local DamageBin = GetMake(Tool,"DamageBin","Configuration")
- local Damage = sword_damage
- local ArcDamage = arc_damage
- local MoonArcTemplate = Create'Part'{
- Name = "MoonArc";
- Anchored = true;
- CanCollide = false;
- Transparency = 1;
- FormFactor = Enum.FormFactor.Symmetric;
- TopSurface = Enum.SurfaceType.Smooth;
- BottomSurface = Enum.SurfaceType.Smooth;
- Size = Vector3.new(9,1,4);
- Create'Decal'{
- Name = "DecalTop";
- Face = Enum.NormalId.Top;
- Texture = "http://www.roblox.com/asset/?id=128538087";
- };
- Create'Decal'{
- Name = "DecalBottom";
- Face = Enum.NormalId.Bottom;
- Texture = "http://www.roblox.com/asset/?id=128538087";
- };
- Create'BlockMesh'{
- Scale = Vector3.new(1,0,1);
- };
- };
- Game:GetService("ContentProvider"):Preload("http://www.roblox.com/asset/?id=128538087")
- local WalkSpeed = CreateWalkSpeedManager()
- local Animation = CreateAnimationProvider{
- SlashLeft = "http://www.roblox.com/asset/?id=74909537";
- SlashRight = "http://www.roblox.com/asset/?id=74909551";
- Charge = "http://www.roblox.com/asset/?id=74909500";
- SlashSides = "http://www.roblox.com/asset/?id=74909569";
- SlashForward = "http://www.roblox.com/asset/?id=74909528";
- DualSword = "http://www.roblox.com/asset/?id=74909522";
- }
- local Sound = CreateSoundProvider{
- Slash = "http://www.roblox.com/asset/?id=45885030";
- Charge = "http://www.roblox.com/asset/?id=75421988";
- }
- Sound:SetParent(Handle)
- Sound.Slash.Volume = 0.25
- Sound.Charge.Volume = 0
- Sound.Charge.Looped = true
- local MoonParticleTemplate = Create'Part'{
- TopSurface = Enum.SurfaceType.Smooth;
- Reflectance = 2;
- BrickColor = BrickColor.new(1001);
- Locked = true;
- Anchored = true;
- CanCollide = false;
- Size = Vector3.new(1, 1, 8);
- FormFactor = Enum.FormFactor.Custom;
- BottomSurface = Enum.SurfaceType.Smooth;
- Name = "MoonParticle";
- --[[
- Create'RocketPropulsion'{
- CartoonFactor = 1;
- MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
- TurnP = 100000;
- MaxSpeed = 500;
- MaxThrust = math.huge;
- ThrustD = 100;
- Name = "Rocket";
- ThrustP = 1000;
- TargetRadius = 8;
- };
- --]]
- Create'SpecialMesh'{
- MeshType = Enum.MeshType.Sphere;
- };
- };
- local MoonParticle = CreateParticle(function()
- local pos = Handle.Position
- local dir = Lighting:GetMoonDirection()
- local particle = MoonParticleTemplate:Clone()
- particle.Archivable = false
- local r = Vector2.new(math.random(-14,14),math.random(-14,14))
- if r.magnitude > 14 then r = r.unit*14 end
- local start = CFrame.new(pos,pos-dir) * CFrame.new(r.x,r.y,200)
- particle.CFrame = start
- Spawn(function()
- while ((particle.CFrame*CFrame.new(0,0,-4)).p-Handle.Position).magnitude > 8 do
- particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-8)
- wait()
- end
- particle:Destroy()
- end)
- particle.Parent = Character
- --[[
- particle.Rocket.Target = Handle
- particle.Rocket.ReachedTarget:connect(function()
- particle:Destroy()
- end)
- particle.Parent = Workspace
- particle.Rocket:Fire()
- ]]
- return particle
- end)
- MoonParticle:SetCountLimit(10)
- MoonParticle:SetTimeLimit(10)
- local SmallParticleTemplate = Create'Part'{
- TopSurface = Enum.SurfaceType.Smooth;
- Reflectance = 2;
- BrickColor = BrickColor.new(1001);
- Locked = true;
- Anchored = true;
- CanCollide = false;
- Size = Vector3.new(0.5, 0.5, 1);
- FormFactor = Enum.FormFactor.Custom;
- BottomSurface = Enum.SurfaceType.Smooth;
- Name = "SmallParticle";
- Create'SpecialMesh'{
- MeshType = Enum.MeshType.Sphere;
- };
- --[[
- Create'RocketPropulsion'{
- CartoonFactor = 1;
- MaxTorque = Vector3.new(math.huge, math.huge, math.huge);
- TurnP = 100000;
- ThrustD = 50;
- Name = "Rocket";
- ThrustP = 1000;
- TargetRadius = 1;
- };
- --]]
- };
- local SmallParticle = CreateParticle(function()
- local pos = Handle.Position
- local particle = SmallParticleTemplate:Clone()
- particle.Archivable = false
- local r = Vector3.new(math.random(-12,12),math.random(-12,12),math.random(-12,12))
- if r.magnitude > 12 then r = r.unit*12 end
- local start = CFrame.new(pos+r,pos)
- particle.CFrame = start
- Spawn(function()
- while (particle.Position-Handle.Position).magnitude > 2 do
- particle.CFrame = CFrame.new(particle.Position,Handle.Position) * CFrame.new(0,0,-1)
- wait()
- end
- particle:Destroy()
- end)
- particle.Parent = Character
- --[[
- particle.Rocket.Target = Handle
- particle.Rocket.ReachedTarget:connect(function()
- particle:Destroy()
- end)
- particle.Parent = Workspace
- particle.Rocket:Fire()
- ]]
- return particle
- end)
- SmallParticle:SetCountLimit(10)
- SmallParticle:SetTimeLimit(10)
- local SphereParticleTemplate = Create'Part'{
- TopSurface = Enum.SurfaceType.Smooth;
- Reflectance = 0.75;
- Transparency = 0.9;
- BrickColor = BrickColor.new(1001);
- Size = Vector3.new(1, 1, 1);
- FormFactor = Enum.FormFactor.Custom;
- BottomSurface = Enum.SurfaceType.Smooth;
- Name = "SphereParticle";
- Create'SpecialMesh'{
- Scale = Vector3.new(0, 0, 0);
- MeshType = Enum.MeshType.Sphere;
- };
- };
- -- if theres a character, get a body part from it
- local function GetBodyPart(name)
- local character = Character or GetCharacter(Tool)
- if character then
- local object = character:FindFirstChild(name)
- if object then
- return object
- end
- end
- return nil
- end
- local function DealDamage(hit,damage)
- local humanoid = GetHumanoid(hit)
- if humanoid then
- local dtag = Create'ObjectValue'{
- Name = tostring(damage);
- Value = humanoid;
- Archivable = false;
- }
- dtag.Parent = DamageBin
- end
- end
- local function MakeMoonArc(start,angle,off)
- local arc = MoonArcTemplate:Clone()
- arc.Archivable = false
- arc.CFrame = start
- * angle
- * CFrame.Angles(
- math.rad(math.random(-arc_angle_variance.x,arc_angle_variance.x)),
- math.rad(math.random(-arc_angle_variance.y,arc_angle_variance.y)),
- math.rad(math.random(-arc_angle_variance.z,arc_angle_variance.z))
- )
- * off
- * CFrame.new(0,0,math.random(-arc_distance_variance*10,arc_distance_variance*10)/10)
- arc.Touched:connect(function(hit)
- if not hit:IsDescendantOf(Character) then
- DealDamage(hit,ArcDamage)
- end
- end)
- arc.Parent = Character
- Spawn(function()
- local MoonArc = arc
- local DecalTop = MoonArc:FindFirstChild("DecalTop")
- local DecalBottom = MoonArc:FindFirstChild("DecalBottom")
- local i = 0
- while i < 1 do
- local n = math.pow(i,arc_decay)
- if DecalTop then DecalTop.Transparency = n end
- if DecalBottom then DecalBottom.Transparency = n end
- MoonArc.CFrame = MoonArc.CFrame * CFrame.new(0,0,-math.pow(1-i,arc_decay)*arc_max_speed)
- i = i + wait()/arc_time
- end
- MoonArc:Destroy()
- end)
- end
- local function MoonIsVisible(Character)
- local dir = Lighting:GetMoonDirection()
- if Vector3.new(0,1,0):Dot(dir) > 0 then
- -- BUG: particles block raycast
- if not Workspace:FindPartOnRay(Ray.new(Handle.Position,dir*999),Character) then
- return true
- end
- end
- return false
- end
- local function SwordTouched(hit)
- if not hit:IsDescendantOf(Character) then
- DealDamage(hit,Damage)
- end
- end
- local toolEquipped = false
- local attackEnabled = true
- local chargedAttackEnabled = false
- local canCharge = true
- -- charging sequence
- local function Charge(Mouse)
- ---- READY CHARGE
- attackEnabled = false
- canCharge = false
- WalkSpeed:Set(0)
- -- make shiny handle
- local ShinyHandle
- do
- ShinyHandle = Handle:Clone()
- ShinyHandle.BrickColor = BrickColor.new("Institutional white")
- ShinyHandle.Archivable = false
- ShinyHandle.Parent = Tool
- local mesh = ShinyHandle:FindFirstChild("Mesh")
- if mesh then mesh.TextureId = "" end
- AttemptJoint(ShinyHandle,Handle)
- end
- -- make sphere, if enabled
- local SphereParticle
- if sphere_enabled then
- SphereParticle = SphereParticleTemplate:Clone()
- SphereParticle.Archivable = false
- SphereParticle.Parent = Tool
- AttemptJoint(SphereParticle,Handle)
- end
- local charging = true
- local charge_level = 0 -- main value; determines charge
- Event.MouseCharge = Mouse.Button1Up:connect(function()
- charging = false
- end)
- Animation:StopAnimations(0)
- Animation.Charge:Play()
- local moon_visible = false
- -- particle thread
- Spawn(function()
- while charging and toolEquipped do
- moon_visible = MoonIsVisible(Character)
- if moon_visible then
- -- spawn particles
- MoonParticle:Spawn()
- SmallParticle:Spawn()
- end
- wait(0.1)
- end
- end)
- ---- CHARGE
- -- fade in charge sound
- Sound.Charge.Pitch = 0.5
- Sound.Charge:Play()
- coroutine.wrap(function()
- Sound:Fade("Charge",0.8,0.5)
- end)()
- -- charge loop
- while charging and toolEquipped do
- local t = wait()
- if moon_visible then
- charge_level = charge_level + t/charge_time
- ShinyHandle.Reflectance = charge_level
- Sound.Charge.Pitch = 0.5 + charge_level*2
- if sphere_enabled then
- local i = ((sphere_magnitude*math.sin(math.pi*charge_level*sphere_radius*sphere_time))/math.pi + charge_level*sphere_radius*sphere_time)/sphere_time
- SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
- end
- end
- if charge_level >= 1 then
- charging = false
- charge_level = 1
- break
- end
- end
- -- fade out charge sound
- coroutine.wrap(function()
- Sound:Fade("Charge",0,0.5)
- Sound.Charge:Stop()
- end)()
- if sphere_enabled then
- -- shrink sphere
- local s = charge_level
- while s > 0 do
- s = s - wait()/0.25
- local i = (1-math.pow(1-s,2))*sphere_radius
- SphereParticle.Mesh.Scale = Vector3.new(i,i,i)
- end
- end
- ---- READY CHARGE ATTACK
- Animation:StopAnimations()
- Animation.DualSword:Play(0.2)
- Disconnect("MouseCharge")
- WalkSpeed:Set(WalkSpeed:GetBase()*charge_walk_mult)
- if sphere_enabled then
- SphereParticle:Destroy()
- end
- -- split shiny handle from normal handle; give to left hand
- KillJoint(ShinyHandle,Handle)
- AttemptJoint(ShinyHandle,GetBodyPart("Left Arm"),nil,CFrame.new(0,-1,-2.25)*CFrame.Angles(0,math.pi,math.pi/2))
- ShinyHandle.Touched:connect(SwordTouched)
- Damage = charged_sword_damage
- ArcDamage = charged_arc_damage
- ---- CHARGE ATTACK
- local attack_level = charge_level
- chargedAttackEnabled = true
- attackEnabled = true
- do -- sword glow indicator
- local i = 1 + (math.pow(1-charge_level,10))
- Handle.Mesh.VertexColor = Vector3.new(i,i,i)
- end
- while attack_level > 0 and toolEquipped do
- attack_level = attack_level - wait()/charge_attack_time
- ShinyHandle.Reflectance = attack_level
- ShinyHandle.Transparency = 1-attack_level
- end
- ---- CHARGE ATTACK END
- chargedAttackEnabled = false
- Animation.DualSword:Stop(0.2)
- WalkSpeed:Reset()
- Damage = sword_damage
- ArcDamage = arc_damage
- ShinyHandle:Destroy()
- ---- COOLDOWN
- local cooldown = charge_level
- while cooldown > 0 do
- cooldown = cooldown - wait()/cooldown_time
- local i = 1 + (math.pow(1-cooldown,10))
- Handle.Mesh.VertexColor = Vector3.new(i,i,i)
- end
- canCharge = true
- end
- local fatigue = 0
- Tool.Equipped:connect(function(Mouse)
- toolEquipped = true
- Character,Humanoid = GetCharacter(Tool)
- if not Character then return end
- Animation:LoadHumanoid(Humanoid)
- WalkSpeed:SetHumanoid(Humanoid)
- local Torso = GetBodyPart("Torso")
- -- Slash Sequencer
- -- basic left-right slash
- -- primary attack
- local SlashSeq = CreateSequencer()
- SlashSeq:SetMinInterval(0)
- SlashSeq:SetResetDelay(1.15,0.8)
- local function add_fatigue()
- local inc = fatigue_increment -- may change, so save it for later
- fatigue = fatigue + inc
- SlashSeq:SetMinInterval(fatigue) -- set as amount of time between slashes
- -- recovery time; dependant on current fatigue
- -- therefore, more fatigue causes longer recovery
- wait(fatigue*rest_factor)
- fatigue = fatigue - inc
- SlashSeq:SetMinInterval(fatigue)
- end
- SlashSeq:SetSequenceMap{
- function()
- if fatigue_enabled then Spawn(add_fatigue) end
- Sound.Slash.Pitch = math.random(1000,1020)/1000
- Sound.Slash:Play()
- Animation.SlashRight:Stop(0)
- Animation.SlashLeft:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(-math.pi/32,-math.pi/4,0),
- CFrame.new(0,0,-5)
- )
- end;
- function()
- if fatigue_enabled then Spawn(add_fatigue) end
- Sound.Slash.Pitch = math.random(1000,1020)/1000
- Sound.Slash:Play()
- Animation.SlashLeft:Stop(0)
- Animation.SlashRight:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(math.pi/32,math.pi/6,0),
- CFrame.new(0,0,-4)
- )
- end;
- }
- -- Charged Slash Sequencer
- -- dual-sword forward-side slash
- -- secondary attack
- local ChargedSeq = CreateSequencer()
- ChargedSeq:SetMinInterval(0.1)
- ChargedSeq:SetResetDelay(0.6,0.4)
- ChargedSeq:SetSequenceMap{
- function()
- Sound.Slash.Pitch = math.random(900,920)/1000
- Sound.Slash:Play()
- Animation.SlashSides:Stop(0)
- Animation.SlashForward:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(math.pi/32,0,math.pi/6),
- CFrame.new(0,0,-5)
- )
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(math.pi/32,0,-math.pi/6),
- CFrame.new(0,0,-5)
- )
- end;
- function()
- Sound.Slash.Pitch = math.random(900,920)/1000
- Sound.Slash:Play()
- Animation.SlashForward:Stop(0)
- Animation.SlashSides:Play()
- wait(0.25)
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(-math.pi/32,-math.pi/2,0),
- CFrame.new(0,0,-5)
- )
- MakeMoonArc(
- Torso.CFrame,
- CFrame.Angles(-math.pi/32,math.pi/2,0),
- CFrame.new(0,0,-5)
- )
- end;
- }
- local ClickThread = CreateThreadID()
- local down = false
- Mouse.Button1Down:connect(function()
- if attackEnabled and GetBodyPart("Right Arm") then
- down = true
- if chargedAttackEnabled then
- ChargedSeq:Activate()
- else
- SlashSeq:Activate()
- if canCharge and GetBodyPart("Left Arm") then
- local cid = ClickThread:Request()
- wait(0.5)
- if ClickThread:Assert(cid) and down then
- Charge(Mouse)
- end
- end
- end
- end
- end)
- Mouse.Button1Up:connect(function()
- down = false
- end)
- Event.Touched = Handle.Touched:connect(SwordTouched)
- end)
- Tool.Unequipped:connect(function()
- toolEquipped = false
- chargedAttackEnabled = false
- attackEnabled = true
- Disconnect("Touched","Lighting")
- Animation:StopAnimations()
- Sound:StopSounds()
- WalkSpeed:Reset()
- Damage = sword_damage
- ArcDamage = arc_damage
- end)
- end))
- Script50.Name = "Welding"
- Script50.Parent = Tool0
- table.insert(cors,sandbox(Script50,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- Script51.Name = "Welding"
- Script51.Parent = Tool0
- table.insert(cors,sandbox(Script51,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- LocalScript52.Name = "BackupWeld"
- LocalScript52.Parent = Tool0
- table.insert(cors,sandbox(LocalScript52,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- LocalScript53.Name = "BackupWeld"
- LocalScript53.Parent = Tool0
- table.insert(cors,sandbox(LocalScript53,function()
- function Weld(x,y)
- local W = Instance.new("Weld")
- W.Part0 = x
- W.Part1 = y
- local CJ = CFrame.new(x.Position)
- local C0 = x.CFrame:inverse()*CJ
- local C1 = y.CFrame:inverse()*CJ
- W.C0 = C0
- W.C1 = C1
- W.Parent = x
- end
- function Get(A)
- if A.className == "Part" then
- Weld(script.Parent.Handle, A)
- A.Anchored = false
- else
- local C = A:GetChildren()
- for i=1, #C do
- Get(C[i])
- end
- end
- end
- function Finale()
- Get(script.Parent)
- end
- script.Parent.Equipped:connect(Finale)
- script.Parent.Unequipped:connect(Finale)
- Finale()
- end))
- Part54.Parent = Tool0
- Part54.BrickColor = BrickColor.new("Dark orange")
- Part54.Rotation = Vector3.new(132.87999, 19.5900002, -57.9499969)
- Part54.RotVelocity = Vector3.new(1, 1, 1)
- Part54.Velocity = Vector3.new(0.274442673, 1.00053215, -1.27497482)
- Part54.FormFactor = Enum.FormFactor.Custom
- Part54.Size = Vector3.new(0.210999995, 0.247000009, 0.240999937)
- Part54.CFrame = CFrame.new(-188.614136, 2.97690177, -17.7486572, 0.500000238, 0.798506439, 0.335241258, 0.707106709, -0.152925968, -0.690371871, -0.499999642, 0.582237422, -0.6410923)
- Part54.BottomSurface = Enum.SurfaceType.Smooth
- Part54.TopSurface = Enum.SurfaceType.Smooth
- Part54.Color = Color3.new(0.627451, 0.372549, 0.207843)
- Part54.Position = Vector3.new(-188.614136, 2.97690177, -17.7486572)
- Part54.Orientation = Vector3.new(43.6599998, 152.389999, 102.199997)
- Part54.Color = Color3.new(0.627451, 0.372549, 0.207843)
- Part55.Parent = Tool0
- Part55.BrickColor = BrickColor.new("Dark stone grey")
- Part55.Rotation = Vector3.new(36.579998, 58.7199974, 15.6599998)
- Part55.RotVelocity = Vector3.new(1, 1, 1)
- Part55.Velocity = Vector3.new(-0.079066515, -1.94462585, 2.02369237)
- Part55.FormFactor = Enum.FormFactor.Custom
- Part55.Size = Vector3.new(0.225999996, 0.72299999, 0.200000003)
- Part55.CFrame = CFrame.new(-189.811874, 5.07783031, -16.0012379, 0.500000238, -0.140152633, 0.854609191, 0.707106709, 0.635807991, -0.30943206, -0.499999642, 0.759016037, 0.417007089)
- Part55.BottomSurface = Enum.SurfaceType.Smooth
- Part55.TopSurface = Enum.SurfaceType.Smooth
- Part55.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part55.Position = Vector3.new(-189.811874, 5.07783031, -16.0012379)
- Part55.Orientation = Vector3.new(18.0299988, 63.9899979, 48.0399971)
- Part55.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh56.Parent = Part55
- BlockMesh56.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh56.Scale = Vector3.new(0.5, 1, 1)
- Part57.Parent = Tool0
- Part57.BrickColor = BrickColor.new("Bright red")
- Part57.Rotation = Vector3.new(96.8399963, 52.1100006, -35.4899979)
- Part57.RotVelocity = Vector3.new(1, 1, 1)
- Part57.Velocity = Vector3.new(0.33551693, 2.39068222, -2.72619915)
- Part57.FormFactor = Enum.FormFactor.Custom
- Part57.Size = Vector3.new(0.225999981, 0.606999934, 0.602999926)
- Part57.CFrame = CFrame.new(-188.141647, 1.99816585, -18.6663189, 0.500000238, 0.356555551, 0.789219379, 0.707106709, 0.358064115, -0.609745741, -0.499999642, 0.862935543, -0.073090829)
- Part57.BottomSurface = Enum.SurfaceType.Smooth
- Part57.TopSurface = Enum.SurfaceType.Smooth
- Part57.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part57.Position = Vector3.new(-188.141647, 1.99816585, -18.6663189)
- Part57.Orientation = Vector3.new(37.5699997, 95.2900009, 63.1399994)
- Part57.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part58.Name = "Cylinder"
- Part58.Parent = Tool0
- Part58.BrickColor = BrickColor.new("Dusty Rose")
- Part58.Rotation = Vector3.new(-165.279999, -52.9899979, -123.839996)
- Part58.RotVelocity = Vector3.new(1, 1, 1)
- Part58.Velocity = Vector3.new(0.326858759, 2.25675392, -2.58361268)
- Part58.FormFactor = Enum.FormFactor.Custom
- Part58.Size = Vector3.new(0.430000126, 0.235999987, 0.399999976)
- Part58.CFrame = CFrame.new(-188.18811, 2.0942893, -18.5788536, -0.335241258, 0.500000238, -0.798506439, 0.690371871, 0.707106709, 0.152925968, 0.6410923, -0.499999642, -0.582237422)
- Part58.BackSurface = Enum.SurfaceType.Weld
- Part58.BottomSurface = Enum.SurfaceType.Weld
- Part58.FrontSurface = Enum.SurfaceType.Weld
- Part58.LeftSurface = Enum.SurfaceType.Weld
- Part58.RightSurface = Enum.SurfaceType.Weld
- Part58.TopSurface = Enum.SurfaceType.Weld
- Part58.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part58.Position = Vector3.new(-188.18811, 2.0942893, -18.5788536)
- Part58.Orientation = Vector3.new(-8.80000019, -126.099998, 44.3099976)
- Part58.Color = Color3.new(0.639216, 0.294118, 0.294118)
- CylinderMesh59.Parent = Part58
- CylinderMesh59.Scale = Vector3.new(1, 1, 0.400000006)
- CylinderMesh59.Scale = Vector3.new(1, 1, 0.400000006)
- Part60.Parent = Tool0
- Part60.BrickColor = BrickColor.new("Sand red")
- Part60.Rotation = Vector3.new(132.87999, 19.5900002, -57.9499969)
- Part60.RotVelocity = Vector3.new(1, 1, 1)
- Part60.Velocity = Vector3.new(0.324953794, 2.07767487, -2.40262866)
- Part60.FormFactor = Enum.FormFactor.Custom
- Part60.Size = Vector3.new(0.216000006, 0.247000009, 0.240999937)
- Part60.CFrame = CFrame.new(-188.243881, 2.21950245, -18.4555454, 0.500000238, 0.798506439, 0.335241258, 0.707106709, -0.152925968, -0.690371871, -0.499999642, 0.582237422, -0.6410923)
- Part60.BottomSurface = Enum.SurfaceType.Smooth
- Part60.TopSurface = Enum.SurfaceType.Smooth
- Part60.Color = Color3.new(0.584314, 0.47451, 0.466667)
- Part60.Position = Vector3.new(-188.243881, 2.21950245, -18.4555454)
- Part60.Orientation = Vector3.new(43.6599998, 152.389999, 102.199997)
- Part60.Color = Color3.new(0.584314, 0.47451, 0.466667)
- Part61.Parent = Tool0
- Part61.BrickColor = BrickColor.new("Bright red")
- Part61.Rotation = Vector3.new(142.889999, 3.19999981, -59.9499969)
- Part61.RotVelocity = Vector3.new(1, 1, 1)
- Part61.Velocity = Vector3.new(0.519370794, 1.09553528, -1.61490607)
- Part61.FormFactor = Enum.FormFactor.Custom
- Part61.Size = Vector3.new(0.225999996, 0.659999967, 0.350999951)
- Part61.CFrame = CFrame.new(-188.341385, 2.90972137, -17.5709095, 0.500000238, 0.864227295, 0.0557717681, 0.707106709, -0.370220035, -0.602442443, -0.499999642, 0.34065792, -0.796210945)
- Part61.BottomSurface = Enum.SurfaceType.Smooth
- Part61.TopSurface = Enum.SurfaceType.Smooth
- Part61.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part61.Position = Vector3.new(-188.341385, 2.90972137, -17.5709095)
- Part61.Orientation = Vector3.new(37.0499992, 175.98999, 117.639999)
- Part61.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part62.Name = "Cylinder"
- Part62.Parent = Tool0
- Part62.BrickColor = BrickColor.new("Black")
- Part62.Rotation = Vector3.new(-165.279999, -52.9899979, -123.839996)
- Part62.RotVelocity = Vector3.new(1, 1, 1)
- Part62.Velocity = Vector3.new(0.273963451, 1.18162155, -1.455585)
- Part62.FormFactor = Enum.FormFactor.Custom
- Part62.Size = Vector3.new(0.430000126, 0.297999978, 0.399999976)
- Part62.CFrame = CFrame.new(-188.557327, 2.85310006, -17.8729382, -0.335241258, 0.500000238, -0.798506439, 0.690371871, 0.707106709, 0.152925968, 0.6410923, -0.499999642, -0.582237422)
- Part62.BackSurface = Enum.SurfaceType.Weld
- Part62.BottomSurface = Enum.SurfaceType.Weld
- Part62.FrontSurface = Enum.SurfaceType.Weld
- Part62.LeftSurface = Enum.SurfaceType.Weld
- Part62.RightSurface = Enum.SurfaceType.Weld
- Part62.TopSurface = Enum.SurfaceType.Weld
- Part62.Color = Color3.new(0.105882, 0.164706, 0.207843)
- Part62.Position = Vector3.new(-188.557327, 2.85310006, -17.8729382)
- Part62.Orientation = Vector3.new(-8.80000019, -126.099998, 44.3099976)
- Part62.Color = Color3.new(0.105882, 0.164706, 0.207843)
- CylinderMesh63.Parent = Part62
- CylinderMesh63.Scale = Vector3.new(1, 1, 0.150000006)
- CylinderMesh63.Scale = Vector3.new(1, 1, 0.150000006)
- Part64.Name = "Cylinder"
- Part64.Parent = Tool0
- Part64.BrickColor = BrickColor.new("Dusty Rose")
- Part64.Rotation = Vector3.new(-132.619995, -59.7899971, -96.3600006)
- Part64.RotVelocity = Vector3.new(1, 1, 1)
- Part64.Velocity = Vector3.new(0.673293114, 1.22112846, -1.89442158)
- Part64.FormFactor = Enum.FormFactor.Custom
- Part64.Size = Vector3.new(0.430000126, 0.242999986, 0.399999976)
- Part64.CFrame = CFrame.new(-188.149261, 2.82232928, -17.5043793, -0.0557719693, 0.500000238, -0.864227176, 0.602442622, 0.707106709, 0.370219857, 0.796211004, -0.499999642, -0.340658039)
- Part64.BackSurface = Enum.SurfaceType.Weld
- Part64.BottomSurface = Enum.SurfaceType.Weld
- Part64.FrontSurface = Enum.SurfaceType.Weld
- Part64.LeftSurface = Enum.SurfaceType.Weld
- Part64.RightSurface = Enum.SurfaceType.Weld
- Part64.TopSurface = Enum.SurfaceType.Weld
- Part64.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part64.Position = Vector3.new(-188.149261, 2.82232928, -17.5043793)
- Part64.Orientation = Vector3.new(-21.7299995, -111.509995, 40.4300003)
- Part64.Color = Color3.new(0.639216, 0.294118, 0.294118)
- CylinderMesh65.Parent = Part64
- CylinderMesh65.Scale = Vector3.new(1, 1, 0.400000006)
- CylinderMesh65.Scale = Vector3.new(1, 1, 0.400000006)
- Part66.Parent = Tool0
- Part66.BrickColor = BrickColor.new("Bright bluish green")
- Part66.Rotation = Vector3.new(132.87999, 19.5900002, -57.9499969)
- Part66.RotVelocity = Vector3.new(1, 1, 1)
- Part66.Velocity = Vector3.new(0.30127883, 1.53939438, -1.84067321)
- Part66.FormFactor = Enum.FormFactor.Custom
- Part66.Size = Vector3.new(0.200000003, 0.200000003, 1.3039999)
- Part66.CFrame = CFrame.new(-188.429474, 2.59586525, -18.1028576, 0.500000238, 0.798506439, 0.335241258, 0.707106709, -0.152925968, -0.690371871, -0.499999642, 0.582237422, -0.6410923)
- Part66.BottomSurface = Enum.SurfaceType.Smooth
- Part66.TopSurface = Enum.SurfaceType.Smooth
- Part66.Color = Color3.new(0, 0.560784, 0.611765)
- Part66.Position = Vector3.new(-188.429474, 2.59586525, -18.1028576)
- Part66.Orientation = Vector3.new(43.6599998, 152.389999, 102.199997)
- Part66.Color = Color3.new(0, 0.560784, 0.611765)
- Part67.Parent = Tool0
- Part67.BrickColor = BrickColor.new("Dark stone grey")
- Part67.Rotation = Vector3.new(-165.279999, -52.9899979, -33.8400002)
- Part67.RotVelocity = Vector3.new(1, 1, 1)
- Part67.Velocity = Vector3.new(-0.0151560307, -1.88844585, 1.90360188)
- Part67.FormFactor = Enum.FormFactor.Custom
- Part67.Size = Vector3.new(0.225999996, 0.674999833, 0.200000003)
- Part67.CFrame = CFrame.new(-189.751312, 5.01830196, -15.9968557, 0.500000238, 0.335241288, -0.798506677, 0.707106709, -0.690371871, 0.152926177, -0.499999642, -0.6410923, -0.582237422)
- Part67.BottomSurface = Enum.SurfaceType.Smooth
- Part67.TopSurface = Enum.SurfaceType.Smooth
- Part67.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part67.Position = Vector3.new(-189.751312, 5.01830196, -15.9968557)
- Part67.Orientation = Vector3.new(-8.80000019, -126.099998, 134.309998)
- Part67.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh68.Parent = Part67
- BlockMesh68.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh68.Scale = Vector3.new(0.5, 1, 1)
- Part69.Parent = Tool0
- Part69.BrickColor = BrickColor.new("Toothpaste")
- Part69.Transparency = 0.69999998807907
- Part69.Rotation = Vector3.new(133.23999, 19.039999, -58.0699997)
- Part69.RotVelocity = Vector3.new(1, 1, 1)
- Part69.Velocity = Vector3.new(0.21585393, -0.70116806, 0.485314131)
- Part69.FormFactor = Enum.FormFactor.Custom
- Part69.Size = Vector3.new(0.200000003, 0.372999966, 3.01099968)
- Part69.CFrame = CFrame.new(-189.171143, 4.18018389, -16.6039639, 0.500000238, 0.8022241, 0.326245129, 0.707106709, -0.160675704, -0.688609421, -0.499999642, 0.574995041, -0.647595942)
- Part69.BottomSurface = Enum.SurfaceType.Smooth
- Part69.TopSurface = Enum.SurfaceType.Smooth
- Part69.Color = Color3.new(0, 1, 1)
- Part69.Position = Vector3.new(-189.171143, 4.18018389, -16.6039639)
- Part69.Orientation = Vector3.new(43.5200005, 153.259995, 102.799995)
- Part69.Color = Color3.new(0, 1, 1)
- BlockMesh70.Parent = Part69
- BlockMesh70.Scale = Vector3.new(0.200000003, 1, 1)
- BlockMesh70.Scale = Vector3.new(0.200000003, 1, 1)
- PointLight71.Parent = Part69
- PointLight71.Color = Color3.new(0.333333, 1, 1)
- PointLight71.Brightness = 100
- PointLight71.Range = 4
- PointLight71.Color = Color3.new(0.333333, 1, 1)
- Part72.Parent = Tool0
- Part72.BrickColor = BrickColor.new("Dark stone grey")
- Part72.Rotation = Vector3.new(-163.789993, -53.5699997, -32.6399994)
- Part72.RotVelocity = Vector3.new(1, 1, 1)
- Part72.Velocity = Vector3.new(0.459605455, -0.414159775, -0.0454456806)
- Part72.FormFactor = Enum.FormFactor.Custom
- Part72.Size = Vector3.new(0.225999996, 2.21099997, 0.350999951)
- Part72.CFrame = CFrame.new(-188.843323, 3.9772439, -16.5631523, 0.500000238, 0.320285797, -0.804621816, 0.707106709, -0.687398851, 0.165779039, -0.499999642, -0.651843131, -0.570175886)
- Part72.BottomSurface = Enum.SurfaceType.Smooth
- Part72.TopSurface = Enum.SurfaceType.Smooth
- Part72.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part72.Position = Vector3.new(-188.843323, 3.9772439, -16.5631523)
- Part72.Orientation = Vector3.new(-9.53999996, -125.32, 134.190002)
- Part72.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh73.Parent = Part72
- BlockMesh73.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh73.Scale = Vector3.new(0.5, 1, 1)
- Part74.Parent = Tool0
- Part74.BrickColor = BrickColor.new("Toothpaste")
- Part74.Transparency = 0.44999998807907
- Part74.Rotation = Vector3.new(133.23999, 19.039999, -58.0699997)
- Part74.RotVelocity = Vector3.new(1, 1, 1)
- Part74.Velocity = Vector3.new(0.224764109, -0.341495514, 0.116731405)
- Part74.FormFactor = Enum.FormFactor.Custom
- Part74.Size = Vector3.new(0.200000003, 0.372999966, 0.675999641)
- Part74.CFrame = CFrame.new(-189.056885, 3.92585897, -16.8493786, 0.500000238, 0.8022241, 0.326245129, 0.707106709, -0.160675704, -0.688609421, -0.499999642, 0.574995041, -0.647595942)
- Part74.BottomSurface = Enum.SurfaceType.Smooth
- Part74.TopSurface = Enum.SurfaceType.Smooth
- Part74.Color = Color3.new(0, 1, 1)
- Part74.Position = Vector3.new(-189.056885, 3.92585897, -16.8493786)
- Part74.Orientation = Vector3.new(43.5200005, 153.259995, 102.799995)
- Part74.Color = Color3.new(0, 1, 1)
- BlockMesh75.Parent = Part74
- BlockMesh75.Scale = Vector3.new(0.200000003, 1, 1)
- BlockMesh75.Scale = Vector3.new(0.200000003, 1, 1)
- PointLight76.Parent = Part74
- PointLight76.Color = Color3.new(0.333333, 1, 1)
- PointLight76.Brightness = 100
- PointLight76.Range = 4
- PointLight76.Color = Color3.new(0.333333, 1, 1)
- Part77.Parent = Tool0
- Part77.BrickColor = BrickColor.new("Dark stone grey")
- Part77.Rotation = Vector3.new(-163.789993, -53.5699997, -32.6399994)
- Part77.RotVelocity = Vector3.new(1, 1, 1)
- Part77.Velocity = Vector3.new(-0.0170929432, -0.562145233, 0.579238176)
- Part77.FormFactor = Enum.FormFactor.Custom
- Part77.Size = Vector3.new(0.225999996, 2.20599985, 0.350999951)
- Part77.CFrame = CFrame.new(-189.363373, 4.08187771, -16.9352169, 0.500000238, 0.320285797, -0.804621816, 0.707106709, -0.687398851, 0.165779039, -0.499999642, -0.651843131, -0.570175886)
- Part77.BottomSurface = Enum.SurfaceType.Smooth
- Part77.TopSurface = Enum.SurfaceType.Smooth
- Part77.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part77.Position = Vector3.new(-189.363373, 4.08187771, -16.9352169)
- Part77.Orientation = Vector3.new(-9.53999996, -125.32, 134.190002)
- Part77.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh78.Parent = Part77
- BlockMesh78.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh78.Scale = Vector3.new(0.5, 1, 1)
- Part79.Parent = Tool0
- Part79.BrickColor = BrickColor.new("Dark stone grey")
- Part79.Rotation = Vector3.new(0, 45, 45)
- Part79.RotVelocity = Vector3.new(1, 1, 1)
- Part79.Velocity = Vector3.new(0.413416147, -1.78719807, 1.37378192)
- Part79.FormFactor = Enum.FormFactor.Custom
- Part79.Size = Vector3.new(0.225999996, 0.72299999, 0.200000003)
- Part79.CFrame = CFrame.new(-189.291672, 4.9481225, -15.638463, 0.500000238, -0.499999732, 0.707106173, 0.707106709, 0.707106411, -3.52359336e-07, -0.499999642, 0.499999732, 0.70710665)
- Part79.BottomSurface = Enum.SurfaceType.Smooth
- Part79.TopSurface = Enum.SurfaceType.Smooth
- Part79.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part79.Position = Vector3.new(-189.291672, 4.9481225, -15.638463)
- Part79.Orientation = Vector3.new(0, 45, 45)
- Part79.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh80.Parent = Part79
- BlockMesh80.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh80.Scale = Vector3.new(0.5, 1, 1)
- Part81.Parent = Tool0
- Part81.BrickColor = BrickColor.new("Toothpaste")
- Part81.Transparency = 0.60000002384186
- Part81.Rotation = Vector3.new(133.23999, 19.039999, -58.0699997)
- Part81.RotVelocity = Vector3.new(1, 1, 1)
- Part81.Velocity = Vector3.new(0.191293478, -0.998239517, 0.806946039)
- Part81.FormFactor = Enum.FormFactor.Custom
- Part81.Size = Vector3.new(0.200000003, 0.372999966, 0.675999641)
- Part81.CFrame = CFrame.new(-189.282715, 4.39024353, -16.4184647, 0.500000238, 0.8022241, 0.326245129, 0.707106709, -0.160675704, -0.688609421, -0.499999642, 0.574995041, -0.647595942)
- Part81.BottomSurface = Enum.SurfaceType.Smooth
- Part81.TopSurface = Enum.SurfaceType.Smooth
- Part81.Color = Color3.new(0, 1, 1)
- Part81.Position = Vector3.new(-189.282715, 4.39024353, -16.4184647)
- Part81.Orientation = Vector3.new(43.5200005, 153.259995, 102.799995)
- Part81.Color = Color3.new(0, 1, 1)
- BlockMesh82.Parent = Part81
- BlockMesh82.Scale = Vector3.new(0.200000003, 1, 1)
- BlockMesh82.Scale = Vector3.new(0.200000003, 1, 1)
- PointLight83.Parent = Part81
- PointLight83.Color = Color3.new(0.333333, 1, 1)
- PointLight83.Brightness = 100
- PointLight83.Range = 4
- PointLight83.Color = Color3.new(0.333333, 1, 1)
- Part84.Parent = Tool0
- Part84.BrickColor = BrickColor.new("Dark stone grey")
- Part84.Rotation = Vector3.new(-165.279999, -52.9899979, -33.8400002)
- Part84.RotVelocity = Vector3.new(1, 1, 1)
- Part84.Velocity = Vector3.new(0.354749918, -1.78728294, 1.43253303)
- Part84.FormFactor = Enum.FormFactor.Custom
- Part84.Size = Vector3.new(0.225999996, 0.699999869, 0.200000003)
- Part84.CFrame = CFrame.new(-189.351776, 4.94676924, -15.6984825, 0.500000238, 0.335241288, -0.798506677, 0.707106709, -0.690371871, 0.152926177, -0.499999642, -0.6410923, -0.582237422)
- Part84.BottomSurface = Enum.SurfaceType.Smooth
- Part84.TopSurface = Enum.SurfaceType.Smooth
- Part84.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part84.Position = Vector3.new(-189.351776, 4.94676924, -15.6984825)
- Part84.Orientation = Vector3.new(-8.80000019, -126.099998, 134.309998)
- Part84.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh85.Parent = Part84
- BlockMesh85.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh85.Scale = Vector3.new(0.5, 1, 1)
- Part86.Parent = Tool0
- Part86.BrickColor = BrickColor.new("Toothpaste")
- Part86.Transparency = 0.30000001192093
- Part86.Rotation = Vector3.new(133.23999, 19.039999, -58.0699997)
- Part86.RotVelocity = Vector3.new(1, 1, 1)
- Part86.Velocity = Vector3.new(0.258111954, 0.316160202, -0.574272156)
- Part86.FormFactor = Enum.FormFactor.Custom
- Part86.Size = Vector3.new(0.200000003, 0.372999966, 0.675999641)
- Part86.CFrame = CFrame.new(-188.830917, 3.46082282, -17.2810669, 0.500000238, 0.8022241, 0.326245129, 0.707106709, -0.160675704, -0.688609421, -0.499999642, 0.574995041, -0.647595942)
- Part86.BottomSurface = Enum.SurfaceType.Smooth
- Part86.TopSurface = Enum.SurfaceType.Smooth
- Part86.Color = Color3.new(0, 1, 1)
- Part86.Position = Vector3.new(-188.830917, 3.46082282, -17.2810669)
- Part86.Orientation = Vector3.new(43.5200005, 153.259995, 102.799995)
- Part86.Color = Color3.new(0, 1, 1)
- BlockMesh87.Parent = Part86
- BlockMesh87.Scale = Vector3.new(0.200000003, 1, 1)
- BlockMesh87.Scale = Vector3.new(0.200000003, 1, 1)
- PointLight88.Parent = Part86
- PointLight88.Color = Color3.new(0.333333, 1, 1)
- PointLight88.Brightness = 100
- PointLight88.Range = 4
- PointLight88.Color = Color3.new(0.333333, 1, 1)
- Part89.Parent = Tool0
- Part89.BrickColor = BrickColor.new("Dark stone grey")
- Part89.Rotation = Vector3.new(107.279999, 46.4899979, -43.4300003)
- Part89.RotVelocity = Vector3.new(1, 1, 1)
- Part89.Velocity = Vector3.new(-0.0508677959, 0.625459671, -0.574591875)
- Part89.FormFactor = Enum.FormFactor.Custom
- Part89.Size = Vector3.new(0.225999996, 0.659999967, 0.350999951)
- Part89.CFrame = CFrame.new(-189.049301, 3.24211931, -17.8087502, 0.500000238, 0.473350883, 0.725215793, 0.707106709, 0.260337144, -0.657437503, -0.499999642, 0.841524065, -0.204540908)
- Part89.BottomSurface = Enum.SurfaceType.Smooth
- Part89.TopSurface = Enum.SurfaceType.Smooth
- Part89.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part89.Position = Vector3.new(-189.049301, 3.24211931, -17.8087502)
- Part89.Orientation = Vector3.new(41.0999985, 105.75, 69.7900009)
- Part89.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh90.Parent = Part89
- BlockMesh90.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh90.Scale = Vector3.new(0.5, 1, 1)
- Part91.Parent = Tool0
- Part91.BrickColor = BrickColor.new("Dark stone grey")
- Part91.Rotation = Vector3.new(149.479996, -8.14999962, -59.6599998)
- Part91.RotVelocity = Vector3.new(1, 1, 1)
- Part91.Velocity = Vector3.new(0.589183807, 0.821229935, -1.41041374)
- Part91.FormFactor = Enum.FormFactor.Custom
- Part91.Size = Vector3.new(0.225999996, 0.659999967, 0.350999951)
- Part91.CFrame = CFrame.new(-188.351913, 3.10368514, -17.3071327, 0.500000238, 0.854347706, -0.141736925, 0.707106709, -0.49723503, -0.502749562, -0.499999642, 0.151151836, -0.852732718)
- Part91.BottomSurface = Enum.SurfaceType.Smooth
- Part91.TopSurface = Enum.SurfaceType.Smooth
- Part91.Color = Color3.new(0.388235, 0.372549, 0.384314)
- Part91.Position = Vector3.new(-188.351913, 3.10368514, -17.3071327)
- Part91.Orientation = Vector3.new(30.1799984, -170.559998, 125.110001)
- Part91.Color = Color3.new(0.388235, 0.372549, 0.384314)
- BlockMesh92.Parent = Part91
- BlockMesh92.Scale = Vector3.new(0.5, 1, 1)
- BlockMesh92.Scale = Vector3.new(0.5, 1, 1)
- Part93.Parent = Tool0
- Part93.BrickColor = BrickColor.new("Bright red")
- Part93.Rotation = Vector3.new(96.8399963, 52.1100006, -35.4899979)
- Part93.RotVelocity = Vector3.new(1, 1, 1)
- Part93.Velocity = Vector3.new(0.261021614, 0.882051468, -1.14307308)
- Part93.FormFactor = Enum.FormFactor.Custom
- Part93.Size = Vector3.new(0.291999996, 0.606999934, 0.602999926)
- Part93.CFrame = CFrame.new(-188.659424, 3.06351542, -17.6754646, 0.500000238, 0.356555551, 0.789219379, 0.707106709, 0.358064115, -0.609745741, -0.499999642, 0.862935543, -0.073090829)
- Part93.BottomSurface = Enum.SurfaceType.Smooth
- Part93.TopSurface = Enum.SurfaceType.Smooth
- Part93.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part93.Position = Vector3.new(-188.659424, 3.06351542, -17.6754646)
- Part93.Orientation = Vector3.new(37.5699997, 95.2900009, 63.1399994)
- Part93.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part94.Name = "Cylinder"
- Part94.Parent = Tool0
- Part94.BrickColor = BrickColor.new("Dusty Rose")
- Part94.Rotation = Vector3.new(-165.279999, -52.9899979, -123.839996)
- Part94.RotVelocity = Vector3.new(1, 1, 1)
- Part94.Velocity = Vector3.new(0.261287451, 0.80811882, -1.06940627)
- Part94.FormFactor = Enum.FormFactor.Custom
- Part94.Size = Vector3.new(0.430000126, 0.310000002, 0.94599998)
- Part94.CFrame = CFrame.new(-188.686478, 3.1101284, -17.6285858, -0.335241258, 0.500000238, -0.798506439, 0.690371871, 0.707106709, 0.152925968, 0.6410923, -0.499999642, -0.582237422)
- Part94.BackSurface = Enum.SurfaceType.Weld
- Part94.BottomSurface = Enum.SurfaceType.Weld
- Part94.FrontSurface = Enum.SurfaceType.Weld
- Part94.LeftSurface = Enum.SurfaceType.Weld
- Part94.RightSurface = Enum.SurfaceType.Weld
- Part94.TopSurface = Enum.SurfaceType.Weld
- Part94.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part94.Position = Vector3.new(-188.686478, 3.1101284, -17.6285858)
- Part94.Orientation = Vector3.new(-8.80000019, -126.099998, 44.3099976)
- Part94.Color = Color3.new(0.639216, 0.294118, 0.294118)
- CylinderMesh95.Parent = Part94
- CylinderMesh95.Scale = Vector3.new(1, 1, 0.400000006)
- CylinderMesh95.Scale = Vector3.new(1, 1, 0.400000006)
- Part96.Name = "Cylinder"
- Part96.Parent = Tool0
- Part96.BrickColor = BrickColor.new("Dusty Rose")
- Part96.Rotation = Vector3.new(-165.279999, -52.9899979, -123.839996)
- Part96.RotVelocity = Vector3.new(1, 1, 1)
- Part96.Velocity = Vector3.new(-0.123081446, 0.968723297, -0.845641851)
- Part96.FormFactor = Enum.FormFactor.Custom
- Part96.Size = Vector3.new(0.430000126, 0.25, 0.399999976)
- Part96.CFrame = CFrame.new(-189.016724, 3.00364685, -18.1194363, -0.335241258, 0.500000238, -0.798506439, 0.690371871, 0.707106709, 0.152925968, 0.6410923, -0.499999642, -0.582237422)
- Part96.BackSurface = Enum.SurfaceType.Weld
- Part96.BottomSurface = Enum.SurfaceType.Weld
- Part96.FrontSurface = Enum.SurfaceType.Weld
- Part96.LeftSurface = Enum.SurfaceType.Weld
- Part96.RightSurface = Enum.SurfaceType.Weld
- Part96.TopSurface = Enum.SurfaceType.Weld
- Part96.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part96.Position = Vector3.new(-189.016724, 3.00364685, -18.1194363)
- Part96.Orientation = Vector3.new(-8.80000019, -126.099998, 44.3099976)
- Part96.Color = Color3.new(0.639216, 0.294118, 0.294118)
- CylinderMesh97.Parent = Part96
- CylinderMesh97.Scale = Vector3.new(1, 1, 0.400000006)
- CylinderMesh97.Scale = Vector3.new(1, 1, 0.400000006)
- Part98.Parent = Tool0
- Part98.BrickColor = BrickColor.new("Bright red")
- Part98.Rotation = Vector3.new(120.639999, 35.2599983, -52.2399979)
- Part98.RotVelocity = Vector3.new(1, 1, 1)
- Part98.Velocity = Vector3.new(0.0314860344, 0.948602676, -0.980088711)
- Part98.FormFactor = Enum.FormFactor.Custom
- Part98.Size = Vector3.new(0.230000004, 0.659999967, 0.352999926)
- Part98.CFrame = CFrame.new(-188.872299, 3.01362443, -17.9548912, 0.500000238, 0.645496249, 0.577350736, 0.707106709, 0.0806101933, -0.702496767, -0.499999642, 0.759497285, -0.416129529)
- Part98.BottomSurface = Enum.SurfaceType.Smooth
- Part98.TopSurface = Enum.SurfaceType.Smooth
- Part98.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part98.Position = Vector3.new(-188.872299, 3.01362443, -17.9548912)
- Part98.Orientation = Vector3.new(44.6299973, 125.779999, 83.5)
- Part98.Color = Color3.new(0.768628, 0.156863, 0.109804)
- Part99.Parent = Tool0
- Part99.BrickColor = BrickColor.new("Toothpaste")
- Part99.Rotation = Vector3.new(132.87999, 19.5900002, -57.9499969)
- Part99.RotVelocity = Vector3.new(1, 1, 1)
- Part99.Velocity = Vector3.new(0.261772394, 0.852422714, -1.11419511)
- Part99.FormFactor = Enum.FormFactor.Custom
- Part99.Size = Vector3.new(0.314999998, 0.378000021, 0.240999937)
- Part99.CFrame = CFrame.new(-188.674423, 3.07739401, -17.6608353, 0.500000238, 0.798506439, 0.335241258, 0.707106709, -0.152925968, -0.690371871, -0.499999642, 0.582237422, -0.6410923)
- Part99.BottomSurface = Enum.SurfaceType.Smooth
- Part99.TopSurface = Enum.SurfaceType.Smooth
- Part99.Color = Color3.new(0, 1, 1)
- Part99.Position = Vector3.new(-188.674423, 3.07739401, -17.6608353)
- Part99.Orientation = Vector3.new(43.6599998, 152.389999, 102.199997)
- Part99.Color = Color3.new(0, 1, 1)
- BlockMesh100.Parent = Part99
- BlockMesh100.Scale = Vector3.new(1, 1, 0.25)
- BlockMesh100.Scale = Vector3.new(1, 1, 0.25)
- Part101.Parent = Tool0
- Part101.BrickColor = BrickColor.new("Black")
- Part101.Rotation = Vector3.new(14.7199993, 52.9899979, 33.8400002)
- Part101.RotVelocity = Vector3.new(1, 1, 1)
- Part101.Velocity = Vector3.new(0.267904997, 1.00243568, -1.27034068)
- Part101.FormFactor = Enum.FormFactor.Custom
- Part101.Size = Vector3.new(0.296999991, 0.378000021, 0.240999937)
- Part101.CFrame = CFrame.new(-188.620117, 2.97555447, -17.7565422, 0.500000238, -0.335241258, 0.798506439, 0.707106709, 0.690371871, -0.152925968, -0.499999642, 0.6410923, 0.582237422)
- Part101.BottomSurface = Enum.SurfaceType.Smooth
- Part101.TopSurface = Enum.SurfaceType.Smooth
- Part101.Color = Color3.new(0.105882, 0.164706, 0.207843)
- Part101.Position = Vector3.new(-188.620117, 2.97555447, -17.7565422)
- Part101.Orientation = Vector3.new(8.80000019, 53.8999977, 45.6899986)
- Part101.Color = Color3.new(0.105882, 0.164706, 0.207843)
- BlockMesh102.Parent = Part101
- BlockMesh102.Scale = Vector3.new(1, 1, 0.25)
- BlockMesh102.Scale = Vector3.new(1, 1, 0.25)
- Part103.Name = "Cylinder"
- Part103.Parent = Tool0
- Part103.BrickColor = BrickColor.new("Dusty Rose")
- Part103.Rotation = Vector3.new(-165.279999, -52.9899979, -123.839996)
- Part103.RotVelocity = Vector3.new(1, 1, 1)
- Part103.Velocity = Vector3.new(0.264873743, 0.879386902, -1.14426064)
- Part103.FormFactor = Enum.FormFactor.Custom
- Part103.Size = Vector3.new(0.430000126, 0.310000002, 0.94599998)
- Part103.CFrame = CFrame.new(-188.662018, 3.05973387, -17.6753941, -0.335241258, 0.500000238, -0.798506439, 0.690371871, 0.707106709, 0.152925968, 0.6410923, -0.499999642, -0.582237422)
- Part103.BackSurface = Enum.SurfaceType.Weld
- Part103.BottomSurface = Enum.SurfaceType.Weld
- Part103.FrontSurface = Enum.SurfaceType.Weld
- Part103.LeftSurface = Enum.SurfaceType.Weld
- Part103.RightSurface = Enum.SurfaceType.Weld
- Part103.TopSurface = Enum.SurfaceType.Weld
- Part103.Color = Color3.new(0.639216, 0.294118, 0.294118)
- Part103.Position = Vector3.new(-188.662018, 3.05973387, -17.6753941)
- Part103.Orientation = Vector3.new(-8.80000019, -126.099998, 44.3099976)
- Part103.Color = Color3.new(0.639216, 0.294118, 0.294118)
- CylinderMesh104.Parent = Part103
- CylinderMesh104.Scale = Vector3.new(1, 1, 0.400000006)
- CylinderMesh104.Scale = Vector3.new(1, 1, 0.400000006)
- Script105.Name = "Damage"
- Script105.Parent = Tool0
- table.insert(cors,sandbox(Script105,function()
- local function Create(ty)
- return function(data)
- local obj = Instance.new(ty)
- for k, v in pairs(data) do
- if type(k) == 'number' then
- v.Parent = obj
- else
- obj[k] = v
- end
- end
- return obj
- end
- end
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- -- Tiny Event Manager; Add: [[Event.EventName = (event)]]; Remove: [[Disconnect("EventName",...)]]
- local Event = {}
- local function Disconnect(...)
- for _,name in pairs{...} do
- if Event[name] then
- Event[name]:disconnect()
- Event[name] = nil
- end
- end
- end
- -- get an object; make it if it doesn't exist
- local function GetMake(parent,name,type)
- local object = parent:FindFirstChild(name)
- if not object then
- object = Create(type){Name=name}
- object.Parent = parent
- end
- return object
- end
- -- wait until child exists; return child
- local function WaitForChild(parent,name)
- while not parent:FindFirstChild(name) do
- parent.ChildAdded:wait()
- end
- return parent:FindFirstChild(name)
- end
- -- get a sibling humanoid of object; by humanoid, not by name
- local function GetHumanoid(object)
- if object and object.Parent then
- for i,v in pairs(object.Parent:GetChildren()) do
- if v:IsA"Humanoid" then
- return v
- end
- end
- end
- return nil
- end
- -- get the parent character from an object; verified by GetHumanoid
- local function GetCharacter(object)
- local humanoid = GetHumanoid(object)
- if humanoid then
- return object.Parent,humanoid
- end
- return nil
- end
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- --------------------------------------------------------------------------------
- local Players = Game:GetService("Players")
- local Debris = Game:GetService("Debris")
- local Tool = script.Parent
- local DamageBin = WaitForChild(Tool,"DamageBin")
- Tool.Equipped:connect(function()
- local Character,Humanoid = GetCharacter(Tool)
- local Player = Players:GetPlayerFromCharacter(Character)
- Event.DamageBin = DamageBin.ChildAdded:connect(function(dtag)
- if dtag:IsA"ObjectValue" then
- local humanoid = dtag.Value
- local damage = tonumber(dtag.Name)
- if humanoid and damage then
- local ctag = Create'ObjectValue'{
- Name = "creator";
- Value = Player;
- }
- ctag.Parent = humanoid
- humanoid:TakeDamage(damage)
- Debris:AddItem(ctag,1)
- Debris:AddItem(dtag,1)
- end
- end
- end)
- end)
- Tool.Unequipped:connect(function()
- Disconnect("DamageBin")
- end)
- end))
- Configuration106.Name = "DamageBin"
- Configuration106.Parent = Tool0
- for i,v in pairs(mas:GetChildren()) do
- v.Parent = game:GetService("Players").LocalPlayer.Character
- pcall(function() v:MakeJoints() end)
- end
- mas:Destroy()
- for i,v in pairs(cors) do
- spawn(function()
- pcall(v)
- end)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement