vibrantsinger423

m script

Jun 29th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. wait(1)
  2. v3 = Vector3.new
  3. cn = CFrame.new
  4. ca2 = CFrame.Angles
  5. mceil = math.ceil mc = mceil
  6. mran = math.random rn=mran
  7. mrad = math.rad rd=mrad
  8. mdeg = math.deg dg=mdeg
  9. mabs = math.abs abs=mabs
  10. ud = UDim2.new
  11. ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end
  12. mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end
  13. bn = BrickColor.new bc=bn
  14. c3 = Color3.new
  15. deb = game:GetService("Debris")
  16.  
  17. Player = game.Players.LocalPlayer
  18. Char = Player.Character
  19. Torso = Char.Torso
  20. Head = Char.Head
  21. Humanoid = Char.Humanoid
  22. RootPart = Char.HumanoidRootPart
  23. Root  = RootPart.RootJoint
  24. Mouse = Player:GetMouse()
  25.  
  26. LA=Char["Left Arm"]
  27. RA=Char["Right Arm"]
  28. LL=Char["Left Leg"]
  29. RL=Char["Right Leg"]
  30. LAM=Torso["Left Shoulder"]
  31. RAM=Torso["Right Shoulder"]
  32. LLM=Torso["Left Hip"]
  33. RLM=Torso["Right Hip"]
  34. Neck=Torso.Neck
  35. Neck.C0=cn(0,1.5,0)
  36. Neck.C1=cn(0,0,0)
  37.  
  38. name="Timbersaw"
  39.  
  40. pcall(function() Char["Sawsuit"]:Destroy() end)
  41. pcall(function() Player.PlayerGui[name]:Destroy() end)
  42. pcall(function() Char[name]:Destroy() end)
  43. pcall(function() Char.Block:Destroy() end)
  44. pcall(function() Char.Animate:Destroy() end)
  45.  
  46.  
  47. script.Name = name
  48.  
  49. as = {}
  50. so = {"Block","Hit","Shoot"}
  51. as.Cone = "1033714"
  52. as.Blast = "20329976"
  53. as.Diamond = "9756362"
  54. as.Block = "rbxasset://sounds\\metal.ogg"
  55. as.Wind = "rbxasset://168892363"
  56. as.Hit = "10209583"
  57. as.ElectricShock = "157325701"
  58. as.Shoot = "130849509"
  59. as.Chakram = "74322089"
  60. as.Ring = "3270017"
  61.  
  62.  
  63. iNew=function(tab)
  64.     local v=Instance.new(tab[1])
  65.     for Ind,Val in pairs(tab) do
  66.         if Ind~=1 and Ind~=2 then
  67.             v[Ind] = Val
  68.         end
  69.     end
  70.     v.Parent=tab[2]==0 and LastMade or tab[2]
  71.     LastMade=v
  72.     return v
  73. end
  74.  
  75. iPart=function(tab)
  76.     local v=Instance.new(tab.type or "Part")
  77.     if tab.type~="CornerWedgePart" then v.formFactor="Custom" end
  78.     v.TopSurface=10 v.BottomSurface=10 v.RightSurface=10 v.LeftSurface=10 v.FrontSurface=10 v.BackSurface=10
  79.     v.Size=v3(tab[2],tab[3],tab[4])
  80.     v.Locked = true
  81.     v.Material="SmoothPlastic"
  82.     if tab.co then v.BrickColor=bn(tab.co) end
  83.     if tab.tr then v.Transparency=tab.tr end
  84.     if tab.rf then v.Reflectance=tab.rf end
  85.     if tab.cf then v.CFrame=tab.cf end
  86.     if tab.an then v.Anchored=tab.an end
  87.     if tab.mt then v.Material=tab.mt end
  88.     if tab.ca then v.CanCollide=tab.ca end
  89.     v.Parent=tab[1]
  90.     LastMade=v
  91.     return v
  92. end
  93.  
  94. function Raycast(Pos,Dir,Dist,tab)
  95.     return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *Dist),tab)
  96. end
  97.  
  98. function wait2(tim)
  99.     local last = tick()
  100.     repeat wait(0) until (tick()-last)>=tim
  101. end
  102.  
  103. Block=iNew{"NumberValue",Char,Name="Block",Value=0}
  104.  
  105. Root.C0=cn(0,0,0)
  106. Root.C1=cn(0,0,0)
  107.  
  108. for _,force in pairs(Torso:GetChildren()) do if force:IsA("BodyForce") or force:IsA("BodyGyro") or force:IsA("RocketPropulsion") then force:Destroy() end end
  109.  
  110. pcall(function() Torso.LAW:Remove() Torso.RAW:Remove() Torso.LLW:Remove() Torso.RLW:Remove() end)
  111. LAW=iNew{"Weld",Torso,Name="LAW",Part0=Torso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)}
  112. RAW=iNew{"Weld",Torso,Name="RAW",Part0=Torso,C0=cn( 1.5,0.5,0),C1=cn(0,0.5,0)}
  113. LLW=iNew{"Weld",Torso,Name="LLW",Part0=Torso,C0=cn(-0.5, -1,0),C1=cn(0,  1,0)}
  114. RLW=iNew{"Weld",Torso,Name="RLW",Part0=Torso,C0=cn( 0.5, -1,0),C1=cn(0,  1,0)}
  115.  
  116. function Arms(on)
  117.     LAM.Parent=Torso LAM.Part0=Torso
  118.     RAM.Parent=Torso RAM.Part0=Torso
  119.     LAM.Part1=on and nil or LA
  120.     RAM.Part1=on and nil or RA
  121.     LAW.Part1=on and LA  or nil
  122.     RAW.Part1=on and RA  or nil
  123. end
  124.  
  125. function Legs(on)
  126.     LLM.Parent=Torso LLM.Part0=Torso
  127.     RLM.Parent=Torso RLM.Part0=Torso
  128.     LLM.Part1=on and nil or LL
  129.     RLM.Part1=on and nil or RL
  130.     LLW.Part1=on and LL  or nil
  131.     RLW.Part1=on and RL  or nil
  132. end
  133.  
  134. function GetWeld(weld)
  135.     if not weld:FindFirstChild("Angle") then
  136.         local a = Instance.new("Vector3Value", weld)
  137.         a.Name = "Angle"
  138.         local x,y,z=weld.C0:toEulerAnglesXYZ()
  139.         a.Value=v3(mdeg(x),mdeg(y),mdeg(z))
  140.     end
  141.     return weld.C0.p,weld.Angle.Value
  142. end
  143.  
  144. function ClearWeld(weld)
  145.     if weld:FindFirstChild"Angle" then
  146.         weld.Angle:Remove()
  147.     end
  148. end
  149.  
  150. function SetWeld(weld,CC,i, loops, origpos,origangle, nextpos,nextangle,smooth)
  151.     local CO="C"..CC
  152.     smooth = smooth or 1
  153.     if not weld:FindFirstChild("Angle") then
  154.         local a = Instance.new("Vector3Value", weld)
  155.         a.Name = "Angle"
  156.         local x,y,z=weld.C0:toEulerAnglesXYZ()
  157.         a.Value=v3(mdeg(x),mdeg(y),mdeg(z))
  158.     end
  159.  
  160.     local perc
  161.     if smooth == 1 then
  162.         perc = math.sin((math.pi/2)/loops*i)
  163.     else
  164.         perc = i/loops
  165.     end
  166.  
  167.     local tox,toy,toz = 0,0,0
  168.     if origangle.x > nextangle.x then
  169.         tox = -mabs(origangle.x - nextangle.x) *perc
  170.     else
  171.         tox = mabs(origangle.x - nextangle.x) *perc
  172.     end
  173.     if origangle.y > nextangle.y then
  174.         toy = -mabs(origangle.y - nextangle.y) *perc
  175.     else
  176.         toy = mabs(origangle.y - nextangle.y) *perc
  177.     end
  178.     if origangle.z > nextangle.z then
  179.         toz = -mabs(origangle.z - nextangle.z) *perc
  180.     else
  181.         toz = mabs(origangle.z - nextangle.z) *perc
  182.     end
  183.  
  184.     local tox2,toy2,toz2 = 0,0,0
  185.     if origpos.x > nextpos.x then
  186.         tox2 = -mabs(origpos.x - nextpos.x) *perc
  187.     else
  188.         tox2 = mabs(origpos.x - nextpos.x) *perc
  189.     end
  190.     if origpos.y > nextpos.y then
  191.         toy2 = -mabs(origpos.y - nextpos.y) *perc
  192.     else
  193.         toy2 = mabs(origpos.y - nextpos.y) *perc
  194.     end
  195.     if origpos.z > nextpos.z then
  196.         toz2 = -mabs(origpos.z - nextpos.z) *perc
  197.     else
  198.         toz2 = mabs(origpos.z - nextpos.z) *perc
  199.     end
  200.          weld.Angle.Value = v3(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  201.     weld[CO] = cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  202. end
  203.  
  204. function Triangle(p)
  205.     local g, v = 0
  206.     for s = 1, 3 do
  207.         local l = (p[1+(s+1)%3] - p[1+s%3]).magnitude
  208.         g, v = l > g and l or g, l > g and {p[1+(s-1)%3], p[1+(s)%3], p[1+(s+1)%3]} or v
  209.     end
  210.     local d = v[2]+(v[3]-v[2]).unit*((v[3]-v[2]).unit:Dot(v[1]-v[2]))
  211.     local c, b = (d-v[1]).unit, (v[2]-v[3]).unit
  212.     local a = b:Cross(c)
  213.     local w0=iPart{workspace,1,1,1,an=true,tr=0.5,mt="SmoothPlastic",co=cc[2],cf=cn(0,0,0,a.x,b.x,c.x,a.y,b.y,c.y,a.z,b.z,c.z) + (v[1]+v[2])/2} w0.CanCollide = false w0.Name = "unray"
  214.     local w1=iPart{workspace,1,1,1,an=true,tr=0.5,mt="SmoothPlastic",co=cc[2],cf=cn(0,0,0,-a.x,-b.x,c.x,-a.y,-b.y,c.y,-a.z,-b.z,c.z) + (v[1]+v[3])/2} w1.CanCollide = false w1.Name = "unray"
  215.     local m0=iNew{"SpecialMesh",w0,MeshType="Wedge",Scale=v3(0,(v[2]-d).magnitude,(v[1]-d).magnitude)}
  216.     local m1=iNew{"SpecialMesh",w1,MeshType="Wedge",Scale=v3(0,(v[3]-d).magnitude,(v[1]-d).magnitude)}
  217.     return w0,w1
  218. end
  219.  
  220. function Lightning(from,to,times,offset,col,thickness,tra)
  221.     local magz = (from - to).magnitude
  222.     local curpos = from
  223.     local trz = {-offset,offset}
  224.     for i=1,times do
  225.         local li = iPart{workspace,thickness,thickness,magz/times,an=true,tr=tra or 0.4,co=col or "New Yeller"} li.CanCollide = false li.Name = "unray"
  226.         local ofz = v3(trz[mran(1,2)],trz[mran(1,2)],trz[mran(1,2)])
  227.         local trolpos = cn(curpos,to)*cn(0,0,magz/times).p+ofz
  228.         if times == i then
  229.             local magz2 = (curpos - to).magnitude
  230.             li.Size = v3(thickness,thickness,magz2)
  231.             li.CFrame = cn(curpos,to)*cn(0,0,-magz2/2)
  232.         else
  233.             li.CFrame = cn(curpos,trolpos)*cn(0,0,magz/times/2)
  234.         end
  235.         curpos = li.CFrame*cn(0,0,magz/times/2).p
  236.         deb:AddItem(li,0.25)
  237.     end
  238. end
  239.  
  240. function PlaySound(sound,pitch,volume,parent)
  241.     local newSound = iNew{"Sound",parent or Torso,Pitch=pitch,Volume=volume,Name=sound,SoundId=sound}
  242.     newSound:Play()
  243.     deb:AddItem(newSound,6)
  244.     return newSound
  245. end
  246.  
  247. function MeshEffect(par,cf,x,y,z,inc,col,sha,adj)
  248.     local adj = adj or cn(0,0,0)
  249.     local mp=iPart{par,1,1,1,co=col,tr=0.3,ca=false,an=true} mp.CFrame=cf mp.Name="unray"
  250.     local ms
  251.     if sha:sub(1,4)=="http" then
  252.         ms=iNew{"SpecialMesh",mp,MeshId=sha}
  253.     elseif sha=="Block" then
  254.         ms=iNew{"BlockMesh",mp}
  255.     elseif sha=="Cylinder" then
  256.         ms=iNew{"CylinderMesh",mp}
  257.     elseif sha=="Head" or sha=="Sphere" then
  258.         ms=iNew{"SpecialMesh",mp,MeshType=sha}
  259.     end
  260.     deb:AddItem(mp,0.7)
  261.     Spawn(function()
  262.         for i=0,1,inc do
  263.             mp.Transparency=0.3+(1*i)
  264.             mp.CFrame=mp.CFrame*adj
  265.             ms.Scale=v3(x,y,z)*(0.3+(1*i))
  266.             if i>=1 or mp.Transparency >= 1 then mp:Destroy() end
  267.             wait(0)
  268.         end
  269.     end)
  270. end
  271.  
  272. Dmg=true
  273. Dmgv={10,15}
  274. HitDebounce={}
  275. Mult = 1
  276. Damage=function(Hum,Damage)
  277.     local HName = Hum.Parent.Name
  278.     if HitDebounce[HName] and HitDebounce[HName]>tick() then return end
  279.     HitDebounce[HName] = tick()+0.6
  280.     local Dealt = Damage*Mult
  281.     local col = ""
  282.  
  283.     if Hum.Parent:findFirstChild("Block") and Hum.Parent.Block:IsA("NumberValue") and Hum.Parent.Block.Value>0 then
  284.         Hum.Parent.Block.Value=Hum.Parent.Block.Value-1
  285.         col="Bright blue"
  286.         PlaySound(as.Block,1,1,Torso)
  287.     else
  288.         Hum:TakeDamage(Dealt)
  289.         col="Bright red"
  290.         PlaySound(as.Hit,1,1,Torso)
  291.     end
  292.     Knockback(Hum.Parent.Torso,Torso.Position,20,0.2)
  293.     local DoH=iNew{'Model',workspace,Name=col=='Bright blue' and 'Block' or Dealt}
  294.     iNew{'Humanoid',DoH,MaxHealth=0,Health=0,Name=''}
  295.     local Doh=iPart{DoH,1,0.2,1,co=col,an=true} Doh.Name='Head' Doh.CanCollide = false
  296.     iNew{'BlockMesh',Doh}
  297.     local dofs=Hum.Parent.Torso.CFrame*cn(mran2(-1.5,1.5),2.5,mran2(-1,1))
  298.     Doh.CFrame=dofs
  299.     deb:AddItem(Doh,1)
  300. end
  301.  
  302. local Suit = iNew{"Model",Char,Name="Sawsuit"}
  303. cc = {"Black","Dark stone grey","Brown","Olive","Bright red","Bright orange","Bright yellow","Medium stone grey","Bright green","Bright blue","White","Bright purple",
  304. "Really black"}
  305. ButtonColors = {cc[5],cc[7],cc[9],cc[10],cc[12]}
  306. Stand = iPart{Suit,2,2,1,tr=1}
  307. wStand = iNew{"Weld",Suit,Part0=RootPart,Part1=Stand,C0=cn(0,0,0),C1=cn(0,0.5,0.5)}
  308.  
  309. for i=360/12,360,360/12 do
  310.     local Wood = iPart{Suit,1.5,1,0.5,mt="WoodPlanks",co=cc[3]}
  311.     iNew{"Weld",Suit,Part0=Stand,Part1=Wood,C0=cn(0,0,0)*ca(0,i,0)*cn(0,0,-2.5)}
  312.     local Int = iPart{Suit,1.25,0.2,1,co=cc[2]}
  313.     iNew{"Weld",Suit,Part0=Wood,Part1=Int,C0=cn(0,0.5,0.75)}
  314.     local Metal = iPart{Suit,1.5,0.4,0.7,mt="DiamondPlate",co=cc[2]}
  315.     iNew{"Weld",Suit,Part0=Wood,Part1=Metal,C0=cn(0,1.4/2,0)}
  316.     local Wood2 = iPart{Suit,1.5,0.75,0.5,mt="WoodPlanks",co=cc[3]}
  317.     iNew{"Weld",Suit,Part0=Wood,Part1=Wood2,C0=cn(0,-1.75/4,-0.25)*ca(-25,0,0)*cn(0,-1.75/4,0.25)}
  318. end
  319.  
  320. SmokeStack = iPart{Suit,0.4,2,0.4,co=cc[2]}
  321. iNew{"Weld",Suit,Part0=Stand,Part1=SmokeStack,C0=cn(1.75,1.5,1.25)}
  322. iNew{"CylinderMesh",SmokeStack}
  323. StackBall = iPart{Suit,0.8,0.8,0.8,co=cc[2]}
  324. iNew{"Weld",Suit,Part0=SmokeStack,Part1=StackBall,C0=cn(0,1,0)}
  325. iNew{"SpecialMesh",StackBall,MeshType="Sphere"}
  326. StackC = iPart{Suit,1,0.2,1,co=cc[5]}
  327. iNew{"Weld",Suit,Part0=SmokeStack,Part1=StackC,C0=cn(0,1,0)}
  328. iNew{"CylinderMesh",StackC}
  329. Cone = iPart{Suit,0,0,0,co=cc[5]}
  330. iNew{"Weld",Suit,Part0=StackC,Part1=Cone,C0=cn(0,0.5,0)}
  331. iNew{"SpecialMesh",Cone,MeshId=as.Cone,Scale=v3(0.4,1.1,0.4)}
  332. StackC2 = iPart{Suit,0.55,0.2,0.55,co=cc[6]}
  333. iNew{"Weld",Suit,Part0=StackC,Part1=StackC2,C0=cn(0,0.5,0)}
  334. iNew{"CylinderMesh",StackC2,Scale=v3(1,0.5,1)}
  335. Cone2 = iPart{Suit,0,0,0,co=cc[5]}
  336. iNew{"Weld",Suit,Part0=Cone,Part1=Cone2,C0=cn(0,0,0)*ca(180,0,0)}
  337. iNew{"SpecialMesh",Cone2,MeshId=as.Cone,Scale=v3(0.4,1.3,0.4)}
  338. Hole = iPart{Suit,0.6,0.2,0.6,co=cc[2]}
  339. iNew{"Weld",Suit,Part0=Cone2,Part1=Hole,C0=cn(0,-0.5,0)}
  340. iNew{"CylinderMesh",Hole,Scale=v3(1,0.1,1)}
  341. StackTop = iPart{Suit,0.8,0.2,0.8,co=cc[5]}
  342. iNew{"Weld",Suit,Part0=Hole,Part1=StackTop,C0=cn(-0.4,-0,0)*ca(0,0,-30)*cn(0.4,0,0)}
  343. iNew{"CylinderMesh",StackTop,Scale=v3(1,0.5,1)}
  344. iNew{"Smoke",Hole,Color=bn(cc[13]).Color,RiseVelocity=-10,Size=1,Opacity = 0.4}
  345.  
  346. BackCyl = iPart{Suit,0,0,0,co=cc[2],mt="DiamondPlate"}
  347. iNew{"Weld",Suit,Part0=Stand,Part1=BackCyl,C0=cn(0,0.5,2)}
  348. iNew{"SpecialMesh",BackCyl,MeshType="Sphere",Scale=v3(3,4.5,1.25)/0.2}
  349. SeatBack = iPart{Suit,2.25,3,0.3,co=cc[1]}
  350. iNew{"Weld",Suit,Part0=Stand,Part1=SeatBack,C0=cn(0,0.5,1.2)*ca(5,0,0)}
  351. SeatBack2 = iPart{Suit,2.25*0.9,3*0.9,0.2,mt="Fabric",co=cc[6]}
  352. iNew{"Weld",Suit,Part0=SeatBack,Part1=SeatBack2,C0=cn(0,0,-0.25)}
  353. for i=-1,1,2 do
  354.     SeatS = iPart{Suit,0.2,1.5,2,co=cc[1]}
  355.     iNew{"Weld",Suit,Part0=SeatBack,Part1=SeatS,C0=cn((2.05/2)*i,0,0.1)*ca(0,-15*i,0)*cn(0,0,-1)}
  356.     SeatS2 = iPart{Suit,0.2,1.5*0.9,2*0.9,mt="Fabric",co=cc[6]}
  357.     iNew{"Weld",Suit,Part0=SeatS,Part1=SeatS2,C0=cn(-0.1*i,0,0)}
  358. end
  359.  
  360. Levers = {}
  361. for i=-1,1,2 do
  362.     local LevJ = iPart{Suit,0,0,0,tr=0.5}
  363.     local LeverW = iNew{"Weld",Suit,Part0=Stand,Part1=LevJ,C0=cn(i,0.6,-1.5)}
  364.     local Lever = iPart{Suit,0.2,1,0.2,co=cc[8]}
  365.     iNew{"Weld",Suit,Part0=LevJ,Part1=Lever,C0=cn(0,0.5,0)}
  366.     table.insert(Levers,{LeverW})
  367.     iNew{"CylinderMesh",Lever}
  368.     local LeverBall = iPart{Suit,0.5,0.5,0.5,co=cc[6]}
  369.     iNew{"Weld",Suit,Part0=Lever,Part1=LeverBall,C0=cn(0,0.6,0)}
  370.     iNew{"SpecialMesh",LeverBall,MeshType="Sphere"}
  371. end
  372.  
  373. for i=-1,1,1 do
  374.     local Button = iPart{Suit,0.3,0.2,0.3,co=ButtonColors[mran(1,#ButtonColors)]}
  375.     iNew{"Weld",Suit,Part0=Stand,Part1=Button,C0=cn(0.5*i,0.6,-1.5)}
  376.     iNew{"CylinderMesh",Button,Scale=v3(1,0.5,1)}
  377. end
  378.  
  379. Chakram = iPart{Suit,5,5,1,co=cc[2]} Chakram.Name="Chakram"
  380. wChakram = iNew{"Weld",Suit,Part0=Stand,Part1=Chakram,C0=cn(0,-1.4,0)*ca(90,0,0)}
  381. iNew{"SpecialMesh",Chakram,MeshId=as.Chakram,Scale=v3(5.5,5.5,5)}
  382. for i=-1,1,2 do
  383.     Cyl = iPart{Suit,6,0.2,6,co=cc[2]}
  384.     iNew{"Weld",Suit,Part0=Stand,Part1=Cyl,C0=cn(0,-1.4+i/5,0)}
  385.     iNew{"CylinderMesh",Cyl}
  386. end
  387. for i=360/8,360,360/8 do
  388.     local Bolt = iPart{Suit,0.2,0.2,0.2,co=cc[4],mt="DiamondPlate"}
  389.     iNew{"Weld",Suit,Part0=Cyl,Part1=Bolt,C0=cn(0,0.1,0)*ca(0,i,0)*cn(0,0,-2.75)}
  390.     iNew{"SpecialMesh",Bolt,MeshType="Sphere",Scale=v3(1,0.75,1)}
  391. end
  392.  
  393. Ball = iPart{Suit,4.5,3.5,4,co=cc[1]}
  394. wBall = iNew{"Weld",Suit,Part0=Stand,Part1=Ball,C0=cn(0,-1.5,0)}
  395. iNew{"SpecialMesh",Ball,MeshType="Sphere"}
  396. BallM = iPart{Suit,2,3.5*1.1,4*1.1,co=cc[2]}
  397. iNew{"Weld",Suit,Part0=Ball,Part1=BallM,C0=cn(0,0,0)}
  398. iNew{"SpecialMesh",BallM,MeshType="Sphere"}
  399. LArmConnect = iPart{Suit,0.25,1.25,0.5,co=cc[2],mt="DiamondPlate"}
  400. iNew{"Weld",Suit,Part0=Stand,Part1=LArmConnect,C0=cn(-2.275,1.525,0)}
  401. ConnectTop = iPart{Suit,0.5,0.2475,0.5,co=cc[2],mt="DiamondPlate"}
  402. iNew{"Weld",Suit,Part0=LArmConnect,Part1=ConnectTop,C0=cn(0,1.25/2,0)*ca(0,0,90)}
  403. iNew{"CylinderMesh",ConnectTop}
  404. CCyl = iPart{Suit,2,0.25,2,co=cc[4],mt="DiamondPlate"}
  405. iNew{"Weld",Suit,Part0=LArmConnect,Part1=CCyl,C0=cn(-0.25,-0.125,0)*ca(0,0,90)}
  406. iNew{"CylinderMesh",CCyl}
  407. CCyl2 = iPart{Suit,2.5,0.35,2.5,co=cc[5],mt="DiamondPlate"}
  408. iNew{"Weld",Suit,Part0=CCyl,Part1=CCyl2,C0=cn(0,0.3,0)}
  409. iNew{"CylinderMesh",CCyl2}
  410. CCyl3 = iPart{Suit,2,0.25,2,co=cc[2],mt="DiamondPlate"}
  411. iNew{"Weld",Suit,Part0=CCyl2,Part1=CCyl3,C0=cn(0,0.25,0)}
  412. iNew{"CylinderMesh",CCyl3}
  413. CCyl4 = iPart{Suit,1.5,0.25,1.5,co=cc[5],mt="DiamondPlate"}
  414. iNew{"Weld",Suit,Part0=CCyl3,Part1=CCyl4,C0=cn(0,0.25,0)}
  415. iNew{"CylinderMesh",CCyl4}
  416.  
  417. LArm = iPart{Suit,1.25,1.25,1.25,co=cc[1],mt="DiamondPlate"}
  418. wLArm = iNew{"Weld",Suit,Part0=CCyl4,Part1=LArm,C0=ca(-35,0,45)}
  419. iNew{"SpecialMesh",LArm,MeshType="Sphere"}
  420. ArmE = iPart{Suit,0.5,1.5,0.5,co=cc[2]}
  421. iNew{"Weld",Suit,Part0=LArm,Part1=ArmE,C0=cn(0,1.25,0)}
  422. iNew{"CylinderMesh",ArmE}
  423. LArm2 = iPart{Suit,1.25,1.25,1.25,co=cc[1],mt="DiamondPlate"}
  424. wLArm2 = iNew{"Weld",Suit,Part0=ArmE,Part1=LArm2,C0=cn(0,0.75,0)*ca(-80,100,0)}
  425. iNew{"SpecialMesh",LArm2,MeshType="Sphere"}
  426. ArmF = iPart{Suit,1.35,0.25,1.35,co=cc[5],mt="DiamondPlate"}
  427. iNew{"Weld",Suit,Part0=LArm2,Part1=ArmF}
  428. iNew{"CylinderMesh",ArmF}
  429. ArmFM = iPart{Suit,1.25,1,1.25,co=cc[3],mt="WoodPlanks"}
  430. iNew{"Weld",Suit,Part0=ArmF,Part1=ArmFM,C0=cn(0,0.5,0)}
  431. iNew{"CylinderMesh",ArmFM}
  432. ArmF = iPart{Suit,1.35,0.25,1.35,co=cc[5],mt="DiamondPlate"}
  433. iNew{"Weld",Suit,Part0=ArmFM,Part1=ArmF,C0=cn(0,0.5,0)}
  434. iNew{"CylinderMesh",ArmF}
  435. ArmAnt = iPart{Suit,0.4,0.75,0.4,co=cc[5],mt="DiamondPlate"}
  436. iNew{"Weld",Suit,Part0=ArmFM,Part1=ArmAnt,C0=cn(-0.775,-0.25,0)}
  437. iNew{"CylinderMesh",ArmAnt}
  438. ArmAnt2 = iPart{Suit,0.2,0.75,0.2,co=cc[8]}
  439. iNew{"Weld",Suit,Part0=ArmAnt,Part1=ArmAnt2,C0=cn(0,-0.75,0)}
  440. iNew{"CylinderMesh",ArmAnt2}
  441. ArmAnt3 = iPart{Suit,0.35,0.2,0.35,co=cc[2]}
  442. iNew{"Weld",Suit,Part0=ArmAnt,Part1=ArmAnt3,C0=cn(0,0.75/2,0)}
  443. iNew{"CylinderMesh",ArmAnt3,Scale=v3(1,0.1,1)}
  444. ArmAnt4 = iPart{Suit,0.3,0.3,0.3,co=cc[5]}
  445. iNew{"Weld",Suit,Part0=ArmAnt2,Part1=ArmAnt4,C0=cn(0,-0.75/2,0)}
  446. iNew{"CylinderMesh",ArmAnt4}
  447. for i=-1,1,2 do
  448.     local BladeH = iPart{Suit,0.5,1.25,0.2,co=cc[2],mt="DiamondPlate"}
  449.     iNew{"Weld",Suit,Part0=ArmF,Part1=BladeH,C0=cn(0,0.75,i/5)}
  450.     local BladeH2 = iPart{Suit,0.5,0.2,0.5,co=cc[2],mt="DiamondPlate"}
  451.     iNew{"Weld",Suit,Part0=BladeH,Part1=BladeH2,C0=cn(0,1.25/2,0)*ca(90,0,0)}
  452.     iNew{"CylinderMesh",BladeH2,Scale=v3(1,0.99,1)}
  453.     local Bolt = iPart{Suit,0.2,0.2,0.2,co=cc[8]}
  454.     iNew{"Weld",Suit,Part0=BladeH2,Part1=Bolt,C0=cn(0,(0.25/2)*i,0)}
  455.     iNew{"CylinderMesh",Bolt,Scale=v3(1,0.25,1)}
  456.     local Bolt = iPart{Suit,0.2,0.2,0.2,co=cc[8]}
  457.     iNew{"Weld",Suit,Part0=BladeH,Part1=Bolt,C0=cn(0,0,(0.25/2)*i)*ca(90,0,0)}
  458.     iNew{"CylinderMesh",Bolt,Scale=v3(1,0.25,1)}
  459. end
  460. ArmSawP = iPart{Suit,0.8,2,0.2,co=cc[8]}
  461. iNew{"Weld",Suit,Part0=ArmF,Part1=ArmSawP,C0=cn(0,2.25,0)}
  462. for i=-1,1,2 do
  463.     local ArmSawC = iPart{Suit,0.8,0.2,0.8,co=cc[8]}
  464.     iNew{"Weld",Suit,Part0=ArmSawP,Part1=ArmSawC,C0=cn(0,1*i,0)*ca(90,0,0)}
  465.     iNew{"CylinderMesh",ArmSawC,Scale=v3(1,0.99,1)}
  466. end
  467. for i=-1,1,1 do
  468.     local ArmSawC = iPart{Suit,0.3,0.2,0.3,co=cc[8],mt="DiamondPlate"}
  469.     iNew{"Weld",Suit,Part0=ArmSawP,Part1=ArmSawC,C0=cn(0,0.9*i,0.25/2)*ca(90,0,0)}
  470.     iNew{"CylinderMesh",ArmSawC,Scale=v3(1,0.25,1)}
  471. end
  472. Saw0 = iPart{Suit,0,0,0,tr=1}
  473. iNew{"Weld",Suit,Part0=ArmSawP,Part1=Saw0,C0=ca(90,90,0)}
  474.  
  475. Saws = {}
  476. for i=1,28 do
  477.     local Saw = iPart{Suit,0.55,0.2,i%2==0 and 0.55 or 0.8,co=cc[2]} Saw.Name="Saw"
  478.     local wSaw = iNew{"Weld",Suit,Part0=Saw0,Part1=Saw}
  479.     iNew{"BlockMesh",Saw,Scale=v3(1,0.5,1)}
  480.     table.insert(Saws,{Saw,wSaw})
  481. end
  482.  
  483. RArmConnect = iPart{Suit,0.25,1.25,0.5,co=cc[2],mt="DiamondPlate"}
  484. iNew{"Weld",Suit,Part0=Stand,Part1=RArmConnect,C0=cn(2.275,1.525,0)}
  485. ConnectTop = iPart{Suit,0.5,0.2475,0.5,co=cc[2],mt="DiamondPlate"}
  486. iNew{"Weld",Suit,Part0=RArmConnect,Part1=ConnectTop,C0=cn(0,1.25/2,0)*ca(0,0,90)}
  487. iNew{"CylinderMesh",ConnectTop}
  488. CCyl = iPart{Suit,2,0.25,2,co=cc[4],mt="DiamondPlate"}
  489. iNew{"Weld",Suit,Part0=RArmConnect,Part1=CCyl,C0=cn(0.25,-0.125,0)*ca(0,0,-90)}
  490. iNew{"CylinderMesh",CCyl}
  491. CCyl2 = iPart{Suit,2.5,0.35,2.5,co=cc[5],mt="DiamondPlate"}
  492. iNew{"Weld",Suit,Part0=CCyl,Part1=CCyl2,C0=cn(0,0.3,0)}
  493. iNew{"CylinderMesh",CCyl2}
  494. CCyl3 = iPart{Suit,2,0.25,2,co=cc[2],mt="DiamondPlate"}
  495. iNew{"Weld",Suit,Part0=CCyl2,Part1=CCyl3,C0=cn(0,0.25,0)}
  496. iNew{"CylinderMesh",CCyl3}
  497. CCyl4 = iPart{Suit,1.5,0.25,1.5,co=cc[5],mt="DiamondPlate"}
  498. iNew{"Weld",Suit,Part0=CCyl3,Part1=CCyl4,C0=cn(0,0.25,0)}
  499. iNew{"CylinderMesh",CCyl4}
  500.  
  501. RArm = iPart{Suit,1.25,1.25,1.25,co=cc[1],mt="DiamondPlate"}
  502. wRArm = iNew{"Weld",Suit,Part0=CCyl4,Part1=RArm,C0=ca(0,-35,-50)}
  503. iNew{"SpecialMesh",RArm,MeshType="Sphere"}
  504. ArmE = iPart{Suit,0.5,1.5,0.5,co=cc[2]}
  505. iNew{"Weld",Suit,Part0=RArm,Part1=ArmE,C0=cn(0,1.25,0)}
  506. iNew{"CylinderMesh",ArmE}
  507. RArm2 = iPart{Suit,1.25,1.25,1.25,co=cc[1],mt="DiamondPlate"}
  508. wRArm2 = iNew{"Weld",Suit,Part0=ArmE,Part1=RArm2,C0=cn(0,0.75,0)*ca(0,90,-65)}
  509. iNew{"SpecialMesh",RArm2,MeshType="Sphere"}
  510. ArmF = iPart{Suit,1.35,0.25,1.35,co=cc[5],mt="DiamondPlate"}
  511. iNew{"Weld",Suit,Part0=RArm2,Part1=ArmF}
  512. iNew{"CylinderMesh",ArmF}
  513. ArmFM = iPart{Suit,1.25,1,1.25,co=cc[3],mt="WoodPlanks"}
  514. iNew{"Weld",Suit,Part0=ArmF,Part1=ArmFM,C0=cn(0,0.5,0)}
  515. iNew{"CylinderMesh",ArmFM}
  516. ArmF = iPart{Suit,1.35,0.25,1.35,co=cc[5],mt="DiamondPlate"}
  517. iNew{"Weld",Suit,Part0=ArmFM,Part1=ArmF,C0=cn(0,0.5,0)}
  518. iNew{"CylinderMesh",ArmF}
  519. ArmAnt = iPart{Suit,0.4,0.75,0.4,co=cc[5],mt="DiamondPlate"}
  520. iNew{"Weld",Suit,Part0=ArmFM,Part1=ArmAnt,C0=cn(-0.775,-0.25,0)}
  521. iNew{"CylinderMesh",ArmAnt}
  522. ArmAnt2 = iPart{Suit,0.2,0.75,0.2,co=cc[8]}
  523. iNew{"Weld",Suit,Part0=ArmAnt,Part1=ArmAnt2,C0=cn(0,-0.75,0)}
  524. iNew{"CylinderMesh",ArmAnt2}
  525. ArmAnt3 = iPart{Suit,0.35,0.2,0.35,co=cc[2]}
  526. iNew{"Weld",Suit,Part0=ArmAnt,Part1=ArmAnt3,C0=cn(0,0.75/2,0)}
  527. iNew{"CylinderMesh",ArmAnt3,Scale=v3(1,0.1,1)}
  528. ArmAnt4 = iPart{Suit,0.3,0.3,0.3,co=cc[5]}
  529. iNew{"Weld",Suit,Part0=ArmAnt2,Part1=ArmAnt4,C0=cn(0,-0.75/2,0)}
  530. iNew{"CylinderMesh",ArmAnt4}
  531.  
  532. for i=360/12,360,360/12 do
  533.     local ArmP = iPart{Suit,0.45,0.8,0.2,co=cc[8]} ArmP.Name = "Saw"
  534.     iNew{"Weld",Suit,Part0=ArmF,Part1=ArmP,C0=cn(0,0.4,0)*ca(0,i,0)*cn(0,0,0.6)*ca(20,0,0)}
  535. end
  536. for i=360/3,360,360/3 do
  537.     local HookP = iPart{Suit,0.5,0.5,0.2,co=cc[8]} HookP.Name = "Saw"
  538.     iNew{"Weld",Suit,Part0=ArmF,Part1=HookP,C0=cn(0,0.9,0)*ca(0,i,0)*cn(0,0,0.85)*ca(40,0,0)}
  539.     local HookP2 = iPart{Suit,0.5,0.7,0.2,co=cc[8]} HookP2.Name = "Saw"
  540.     iNew{"Weld",Suit,Part0=HookP,Part1=HookP2,C0=cn(0,0.25,0.1)*ca(-75,0,0)*cn(0,0.35,-0.1)}
  541. end
  542. Hole = iPart{Suit,1.1,0.2,1.1,co=cc[13]}
  543. iNew{"Weld",Suit,Part0=ArmF,Part1=Hole,C0=cn(0,0.125,0)}
  544. iNew{"CylinderMesh",Hole,Scale=v3(1,0.1,1)}
  545. LLeg = iPart{Suit,1.5,1.5,1.5,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  546. wLLeg = iNew{"Weld",Suit,Part0=Ball,Part1=LLeg,C0=cn(-1.5,-1.25,-0.25)*ca(25,0,20)}
  547. iNew{"SpecialMesh",LLeg,MeshType="Sphere"}
  548. LegE = iPart{Suit,0.75,1.5,0.75,co=cc[2]} LastMade.CanCollide = false
  549. iNew{"Weld",Suit,Part0=LLeg,Part1=LegE,C0=cn(0,-1.25,0)}
  550. iNew{"CylinderMesh",LegE}
  551. LLeg2 = iPart{Suit,1.25,1.25,1.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  552. wLLeg2 = iNew{"Weld",Suit,Part0=LegE,Part1=LLeg2,C0=cn(0,-0.75,0)*ca(-45,0,0)}
  553. iNew{"SpecialMesh",LLeg2,MeshType="Sphere"}
  554. LegE = iPart{Suit,0.75,1,0.75,co=cc[2]} LastMade.CanCollide = false
  555. iNew{"Weld",Suit,Part0=LLeg2,Part1=LegE,C0=cn(0,-1,0)}
  556. iNew{"CylinderMesh",LegE}
  557. LLeg3 = iPart{Suit,1,1,1,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  558. wLLeg3 = iNew{"Weld",Suit,Part0=LegE,Part1=LLeg3,C0=cn(0,-0.5,0)*ca(0,0,0)}
  559. iNew{"SpecialMesh",LLeg3,MeshType="Sphere"}
  560.  
  561. LFoot = iPart{Suit,1.5,0.5,2.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  562. iNew{"Weld",Suit,Part0=LLeg3,Part1=LFoot,C0=cn(0,-0.5,-0.5)*ca(0,0,0)}
  563. FootT = iPart{Suit,1,0.25,1.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  564. iNew{"Weld",Suit,Part0=LFoot,Part1=FootT,C0=cn(0,0.75/2,0.5)}
  565. FootT2 = iPart{Suit,1,0.25,1,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  566. iNew{"Weld",Suit,Part0=FootT,Part1=FootT2,C0=cn(0,0,-2.25/2+0.5)}
  567. iNew{"CylinderMesh",FootT2}
  568. for i=-1,1,2 do
  569.     local FootWedge = iPart{Suit,1.5/4,0.5,0.75,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  570.     iNew{"Weld",Suit,Part0=LFoot,Part1=FootWedge,C0=cn((0.75-(1.5/4/2))*i,0,-2.25/2-0.75/2)}
  571.     iNew{"SpecialMesh",FootWedge,MeshType="Wedge"}
  572.     local FootPart = iPart{Suit,1.5/4,0.5,0.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  573.     iNew{"Weld",Suit,Part0=LFoot,Part1=FootPart,C0=cn((0.75-(1.5/4)*1.5)*i,0,-2.25/2-0.25/2)}
  574.     local FootPart = iPart{Suit,1.5/4,0.5,1,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  575.     iNew{"Weld",Suit,Part0=LFoot,Part1=FootPart,C0=cn((0.75-(1.5/4)*1.5)*i,0,-2.5/2-1/2-0.125)}
  576.     iNew{"SpecialMesh",FootPart,MeshType="Wedge"}
  577. end
  578. for i=-1,1,1 do
  579.     local Bolt = iPart{Suit,0.3,0.2,0.3,co=cc[2],mt="DiamondPlate"} LastMade.CanCollide = false
  580.     iNew{"Weld",Suit,Part0=FootT2,Part1=Bolt,C0=cn(0.5*i,-0.1,i==0 and -0.9 or -0.75)}
  581.     iNew{"CylinderMesh",Bolt,Scale=v3(1,0.5,1)}
  582. end
  583.  
  584. RLeg = iPart{Suit,1.5,1.5,1.5,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  585. wRLeg = iNew{"Weld",Suit,Part0=Ball,Part1=RLeg,C0=cn(1.5,-1.25,-0.25)*ca(25,0,-20)}
  586. iNew{"SpecialMesh",RLeg,MeshType="Sphere"}
  587. LegE = iPart{Suit,0.75,1.5,0.75,co=cc[2]} LastMade.CanCollide = false
  588. iNew{"Weld",Suit,Part0=RLeg,Part1=LegE,C0=cn(0,-1.25,0)}
  589. iNew{"CylinderMesh",LegE}
  590. RLeg2 = iPart{Suit,1.25,1.25,1.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  591. wRLeg2 = iNew{"Weld",Suit,Part0=LegE,Part1=RLeg2,C0=cn(0,-0.75,0)*ca(-45,0,0)}
  592. iNew{"SpecialMesh",RLeg2,MeshType="Sphere"}
  593. LegE = iPart{Suit,0.75,1,0.75,co=cc[2]} LastMade.CanCollide = false
  594. iNew{"Weld",Suit,Part0=RLeg2,Part1=LegE,C0=cn(0,-1,0)}
  595. iNew{"CylinderMesh",LegE}
  596. RLeg3 = iPart{Suit,1,1,1,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  597. wRLeg3 = iNew{"Weld",Suit,Part0=LegE,Part1=RLeg3,C0=cn(0,-0.5,0)*ca(0,0,0)}
  598. iNew{"SpecialMesh",RLeg3,MeshType="Sphere"}
  599.  
  600. RFoot = iPart{Suit,1.5,0.5,2.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  601. iNew{"Weld",Suit,Part0=RLeg3,Part1=RFoot,C0=cn(0,-0.5,-0.5)*ca(0,0,0)}
  602. FootT = iPart{Suit,1,0.25,1.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  603. iNew{"Weld",Suit,Part0=RFoot,Part1=FootT,C0=cn(0,0.75/2,0.5)}
  604. FootT2 = iPart{Suit,1,0.25,1,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  605. iNew{"Weld",Suit,Part0=FootT,Part1=FootT2,C0=cn(0,0,-2.25/2+0.5)}
  606. iNew{"CylinderMesh",FootT2}
  607. for i=-1,1,2 do
  608.     local FootWedge = iPart{Suit,1.5/4,0.5,0.75,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  609.     iNew{"Weld",Suit,Part0=RFoot,Part1=FootWedge,C0=cn((0.75-(1.5/4/2))*i,0,-2.25/2-0.75/2)}
  610.     iNew{"SpecialMesh",FootWedge,MeshType="Wedge"}
  611.     local FootPart = iPart{Suit,1.5/4,0.5,0.25,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  612.     iNew{"Weld",Suit,Part0=RFoot,Part1=FootPart,C0=cn((0.75-(1.5/4)*1.5)*i,0,-2.25/2-0.25/2)}
  613.     local FootPart = iPart{Suit,1.5/4,0.5,1,co=cc[1],mt="DiamondPlate"} LastMade.CanCollide = false
  614.     iNew{"Weld",Suit,Part0=RFoot,Part1=FootPart,C0=cn((0.75-(1.5/4)*1.5)*i,0,-2.5/2-1/2-0.125)}
  615.     iNew{"SpecialMesh",FootPart,MeshType="Wedge"}
  616. end
  617. for i=-1,1,1 do
  618.     local Bolt = iPart{Suit,0.3,0.2,0.3,co=cc[2],mt="DiamondPlate"} LastMade.CanCollide = false
  619.     iNew{"Weld",Suit,Part0=FootT2,Part1=Bolt,C0=cn(0.5*i,-0.1,i==0 and -0.9 or -0.75)}
  620.     iNew{"CylinderMesh",Bolt,Scale=v3(1,0.5,1)}
  621. end
  622.  
  623. Char:MoveTo(Torso.Position+v3(0,10,0))
  624.  
  625. function AoEFind(Pos,Range)
  626.     local fHumans = {}
  627.     for i,v in pairs(workspace:GetChildren()) do
  628.         local fHum,fTorso,fHead = GetHuman(v)
  629.         if fHum and fTorso and fHead and v.Name~=Player.Name then
  630.             if (fTorso.Position-Pos).magnitude<=Range then
  631.                 table.insert(fHumans,v)
  632.             end
  633.         end
  634.     end
  635.     return fHumans
  636. end
  637.  
  638. HitData = {}
  639. function AoEBreak(Pos,Range,Force,PropDmg)
  640.     local function r(d)
  641.         for i,v in pairs(d:GetChildren()) do
  642.             if v:IsA("BasePart") and v.Name~="Terrain" then
  643.                 if (v.Position-Pos).magnitude<Range then
  644.                     local fHum,fTorso,fHead = GetHuman(v.Parent)
  645.                     if fHum and fTorso and fHead then return end
  646.                     if v:IsDescendantOf(Char) or v.Name=="unray" then return end
  647.                    
  648.                     local broke = false
  649.                     if not HitData[v] then
  650.                         local hh = v:GetMass()/1.5
  651.                         HitData[v] = hh
  652.                     end
  653.                     HitData[v]=HitData[v]-PropDmg
  654.                     if HitData[v]<=0 then
  655.                         v.Anchored = false
  656.                         v:BreakJoints()
  657.                         broke=true
  658.                     end
  659.                     if broke then
  660.                         v.Velocity=cn(Pos,v.Position).lookVector*Force
  661.                     end
  662.                 end
  663.             else
  664.                 r(v)
  665.             end
  666.         end
  667.     end
  668.     r(workspace)
  669. end
  670.  
  671. function GetHuman(model)
  672.     local foundHum
  673.     local foundTorso
  674.     local foundHead
  675.     if #model:GetChildren()==0 then return end
  676.     for i,v in pairs(model:GetChildren()) do
  677.         if v:IsA("Humanoid") then
  678.             foundHum = v
  679.         elseif v.Name == "Torso" then
  680.             foundTorso = v
  681.         elseif v.Name == "Head" then
  682.             foundHead = v
  683.         end
  684.     end
  685.     return foundHum,foundTorso,foundHead
  686. end
  687.  
  688. function Knockback(fTor,face,str,dur)
  689.     local bodyVelo = iNew{"BodyVelocity",fTor,P=1250,maxForce=v3(1,1,1)/0,velocity=cn(face,fTor.Position).lookVector*str}
  690.     deb:AddItem(bodyVelo,dur)
  691. end
  692.  
  693. HitData = {}
  694. function Touched(hit)
  695.     if not Dmg then return end
  696.     if hit.Parent:IsDescendantOf(Char) then return end
  697.     local fHum,fTorso,fHead = GetHuman(hit.Parent)
  698.     if fHum and fTorso and fHead then
  699.         Damage(fHum,mran(Dmgv[1],Dmgv[2]))
  700.     end
  701.    
  702.     if ArmAnim == "Lightning Fist" then
  703.         local BlastPos = (Hole.CFrame).p
  704.         local at = BlastPos+v3(0,-5,0)
  705.         ArmAnim = "Lightning Blast"
  706.         local Prev = Knockback
  707.         MeshEffect(workspace,cn(at),14,14,14,0.05,"New Yeller","Sphere",cn())
  708.         MeshEffect(workspace,cn(at),9,14,9,0.05,"New Yeller",as.Blast,ca(0,mran(-5,5),0))
  709.         for i=360/8,360,360/8 do
  710.             MeshEffect(workspace,cn(at)*ca(0,i,0)*cn(0,2,3)*ca(-90,0,0),1.5,8,1.5,0.05,"New Yeller",as.Diamond,cn(0,1.5,0)*ca(1,0,0))
  711.             if i==360/8 then
  712.                 local fHumans = AoEFind(BlastPos,10)
  713.                 AoEBreak(BlastPos,10,50,mran(35,50))
  714.                 if #fHumans > 0 then
  715.                     for i,v in pairs(fHumans) do
  716.                         local fHum,fTorso,fHead = v.Humanoid,v.Torso,v.Head
  717.                         Damage(fHum,mran(Dmgv[1],Dmgv[2])*2.5)
  718.                         Knockback(fTorso,BlastPos,35,0.25)
  719.                     end
  720.                 end
  721.             end
  722.         end
  723.     end
  724. end
  725.  
  726. for i,v in pairs(Suit:GetChildren()) do
  727.     if v:IsA("BasePart") and (v.Name=="Saw" or v.Name=="Chakram") then
  728.         v.Touched:connect(Touched)
  729.     end
  730. end
  731.  
  732. for i,v in pairs(Torso:children()) do
  733.     if v:IsA("Sound") then
  734.         v:Destroy()
  735.     end
  736. end
  737. for i,v in pairs(Head:children()) do
  738.     if v:IsA("Sound") then
  739.         v:Destroy()
  740.     end
  741. end
  742.  
  743.  
  744. function ReturnPose(AnimationSpeed)
  745.     RePose()
  746.     for i=1,AnimationSpeed do
  747.         if not Walking then
  748.             SetWeld(LAW,0,i,AnimationSpeed,wLA,wLA2,PoseLA,PoseLA2,1)
  749.             SetWeld(RAW,0,i,AnimationSpeed,wRA,wRA2,PoseRA,PoseRA2,1)
  750.             for lever = 1,2 do
  751.                     local x = lever == 1 and -1 or lever == 2 and 1
  752.                     SetWeld(Levers[lever][1],0,i,AnimationSpeed,Levers[lever][2],Levers[lever][3],v3(x,0.6,-1.5),v3(0,0,0),1)
  753.             end
  754.         end
  755.         SetWeld(Root,0,i,AnimationSpeed,wRT,wRT2,PoseRT,PoseRT2,1)
  756.         SetWeld(wStand,0,i,AnimationSpeed,wST,wST2,PoseST,PoseST2,1)
  757.         SetWeld(wBall,0,i,AnimationSpeed,wBA,wBA2,PoseBA,PoseBA2,1)
  758.         SetWeld(wLArm,0,i,AnimationSpeed,wLAR,wLAR2,PoseLAR,PoseLAR2,1)
  759.         SetWeld(wLArm2,0,i,AnimationSpeed,wLARM,wLARM2,PoseLARM,PoseLARM2,1)
  760.         SetWeld(wRArm,0,i,AnimationSpeed,wRAR,wRAR2,PoseRAR,PoseRAR2,1)
  761.         SetWeld(wRArm2,0,i,AnimationSpeed,wRARM,wRARM2,PoseRARM,PoseRARM2,1)
  762.         SetWeld(wLLeg,0,i,AnimationSpeed,wLLE,wLLE2,PoseLLE,PoseLLE2,1)
  763.         SetWeld(wLLeg2,0,i,AnimationSpeed,wLLEG,wLLEG2,PoseLLEG,PoseLLEG2,1)
  764.         SetWeld(wLLeg3,0,i,AnimationSpeed,wLLL,wLLL2,PoseLLL,PoseLLL2,1)
  765.         SetWeld(wRLeg,0,i,AnimationSpeed,wRLE,wRLE2,PoseRLE,PoseRLE2,1)
  766.         SetWeld(wRLeg2,0,i,AnimationSpeed,wRLEG,wRLEG2,PoseRLEG,PoseRLEG2,1)
  767.         SetWeld(wRLeg3,0,i,AnimationSpeed,wRLL,wRLL2,PoseRLL,PoseRLL2,1)
  768.         wait(0)
  769.     end
  770. end
  771.  
  772. function RePose()
  773.     local a,b=GetWeld(LAW)
  774.     local c,d=GetWeld(RAW)
  775.     local ee,ff=GetWeld(Root)
  776.     wLA=a wLA2=b
  777.     wRA=c wRA2=d
  778.     wRT=ee wRT2=ff
  779.     local e,f=GetWeld(wStand)
  780.     local g,h=GetWeld(wBall)
  781.     local i,j=GetWeld(wLArm)
  782.     local k,l=GetWeld(wLArm2)
  783.     local m,n=GetWeld(wRArm)
  784.     local o,p=GetWeld(wRArm2)
  785.     local q,r=GetWeld(wLLeg)
  786.     local s,t=GetWeld(wLLeg2)
  787.     local y,z=GetWeld(wLLeg3)
  788.     local u,v=GetWeld(wRLeg)
  789.     local w,x=GetWeld(wRLeg2)
  790.     local aa,bb=GetWeld(wRLeg3)
  791.     for lever = 1,2 do Levers[lever][2],Levers[lever][3]=GetWeld(Levers[lever][1]) end
  792.     wST=e wST2=f
  793.     wBA=g wBA2=h
  794.     wLAR=i wLAR2=j
  795.     wLARM=k wLARM2=l
  796.     wRAR=m wRAR2=n
  797.     wRARM=o wRARM2=p
  798.     wLLE=q wLLE2=r
  799.     wLLEG=s wLLEG2=t
  800.     wLLL=y wLLL2=z
  801.     wRLE=u wRLE2=v
  802.     wRLEG=w wRLEG2=x
  803.     wRLL=aa wRLL2=bb
  804. end
  805.  
  806.  
  807. Attacks = {}
  808. Attacks[1] = function()
  809.     ArmAnim = "Slash"
  810.     if TorsoAnim == "" then TorsoAnim = ArmAnim end
  811.     RePose()
  812.     for i=1,ASpeed do
  813.         SetWeld(wLArm,0,i,ASpeed,wLAR,wLAR2,PoseLAR,v3(-35,0,-45),1)
  814.         SetWeld(wLArm2,0,i,ASpeed,wLARM,wLARM2,PoseLARM,v3(0,-65,-65),1)
  815.         wait(0)
  816.     end
  817.     Mult = 2
  818.     Trail = true
  819.     RePose()
  820.     for i=1,ASpeed/1.6 do
  821.         if TorsoAnim == ArmAnim then
  822.             SetWeld(Root,0,i,ASpeed/1.6,wRT,wRT2,PoseRT,v3(0,-70,0),1)
  823.             SetWeld(wStand,0,i,ASpeed/1.6,wST,wST2,PoseST,v3(0,-70,0),1)
  824.             SetWeld(wBall,0,i,ASpeed/1.6,wBA,wBA2,PoseBA,v3(0,70,0),1)
  825.         end
  826.         SetWeld(wLArm,0,i,ASpeed/1.6,wLAR,wLAR2,PoseLAR,v3(-140,0,60),1)
  827.         SetWeld(wLArm2,0,i,ASpeed/1.6,wLARM,wLARM2,PoseLARM,v3(0,-45,-25),1)
  828.         wait(0)
  829.     end
  830.     Mult = 1
  831.     Trail = false
  832.     ReturnPose(ASpeed)
  833.     ArmAnim = ""
  834.     TorsoAnim = TorsoAnim~="" and  "" or TorsoAnim
  835. end
  836. Attacks[2] = function()
  837.     ArmAnim = "AoE Slash"
  838.     if TorsoAnim == "" then TorsoAnim = ArmAnim end
  839.     local Ang = MouseAngleY>25 and 25 or MouseAngleY<-35 and -35 or MouseAngleY
  840.     RePose()
  841.     for i=1,ASpeed do
  842.         if TorsoAnim == ArmAnim then
  843.             SetWeld(Root,0,i,ASpeed,wRT,wRT2,PoseRT,v3(0,-70,0),1)
  844.             SetWeld(wStand,0,i,ASpeed,wST,wST2,PoseST,v3(0,-70,0),1)
  845.             SetWeld(wBall,0,i,ASpeed,wBA,wBA2,PoseBA,v3(0,70,0),1)
  846.         end
  847.         SetWeld(wLArm,0,i,ASpeed,wLAR,wLAR2,PoseLAR,v3(-90,0,-Ang),1)
  848.         SetWeld(wLArm2,0,i,ASpeed,wLARM,wLARM2,PoseLARM,v3(-70,90,0),1)
  849.         wait(0)
  850.     end
  851.     Mult = 2
  852.     Trail = true
  853.     RePose()
  854.     for i=1,ASpeed/1.6 do
  855.         if TorsoAnim == ArmAnim then
  856.             SetWeld(Root,0,i,ASpeed/1.6,wRT,wRT2,PoseRT,v3(0,100,0),1)
  857.             SetWeld(wStand,0,i,ASpeed/1.6,wST,wST2,PoseST,v3(0,100,0),1)
  858.             SetWeld(wBall,0,i,ASpeed/1.6,wBA,wBA2,PoseBA,v3(0,-100,0),1)
  859.         end
  860.         SetWeld(wLArm,0,i,ASpeed/1.6,wLAR,wLAR2,PoseLAR,v3(70,0,-Ang),1)
  861.         SetWeld(wLArm2,0,i,ASpeed/1.6,wLARM,wLARM2,PoseLARM,v3(20,90,0),1)
  862.         wait(0)
  863.     end
  864.     Mult = 1
  865.     Trail = false
  866.     ReturnPose(ASpeed)
  867.     ArmAnim = ""
  868.     TorsoAnim = TorsoAnim~="" and  "" or TorsoAnim
  869. end
  870. Attacks[3] = function()
  871.     ArmAnim = "Lightning Fist Start"
  872.     TorsoAnim = ArmAnim
  873.     RePose()
  874.     for i=1,ASpeed*1.5 do
  875.         if TorsoAnim == ArmAnim then
  876.             SetWeld(Root,0,i,ASpeed*1.5,wRT,wRT2,PoseRT,v3(0,-70,0),1)
  877.             SetWeld(wStand,0,i,ASpeed*1.5,wST,wST2,PoseST,v3(0,-70,0),1)
  878.             SetWeld(wBall,0,i,ASpeed*1.5,wBA,wBA2,PoseBA,v3(0,70,0),1)
  879.         end
  880.         SetWeld(wRArm,0,i,ASpeed*1.5,wRAR,wRAR2,PoseRAR,v3(0,50,70),1)
  881.         SetWeld(wRArm2,0,i,ASpeed*1.5,wRARM,wRARM2,PoseRARM,v3(0,0,-140),1)
  882.         wait(0)
  883.     end
  884.     Trail2 = true
  885.    
  886.     PlaySound(as.ElectricShock,0.85,1,Torso)
  887.     RePose()
  888.     for i=1,ASpeed do
  889.         if TorsoAnim == ArmAnim then
  890.             SetWeld(Root,0,i,ASpeed,wRT,wRT2,PoseRT,v3(0,80,0),1)
  891.             SetWeld(wStand,0,i,ASpeed,wST,wST2,PoseST,v3(0,80,0),1)
  892.             SetWeld(wBall,0,i,ASpeed,wBA,wBA2,PoseBA,v3(0,-80,0),1)
  893.         end
  894.         SetWeld(wRArm,0,i,ASpeed,wRAR,wRAR2,PoseRAR,v3(0,35,-70),1)
  895.         SetWeld(wRArm2,0,i,ASpeed,wRARM,wRARM2,PoseRARM,v3(0,0,0),1)
  896.         wait(0)
  897.         if i==ASpeed-1 then ArmAnim = "Lightning Fist" end
  898.     end
  899.     Trail2 = false
  900.     wait(0.5)
  901.     ReturnPose(ASpeed)
  902.     ArmAnim = ""
  903.     TorsoAnim = TorsoAnim~="" and  "" or TorsoAnim
  904. end
  905. Attacks[4] = function()
  906.     ArmAnim = "Shoot"
  907.     TorsoAnim = ArmAnim
  908.     RePose()
  909.     for i=1,ASpeed*1.5 do
  910.         if TorsoAnim == ArmAnim then
  911.             SetWeld(Root,0,i,ASpeed*1.5,wRT,wRT2,PoseRT,v3(0,90,0),1)
  912.             SetWeld(wStand,0,i,ASpeed*1.5,wST,wST2,PoseST,v3(0,90,0),1)
  913.             SetWeld(wBall,0,i,ASpeed*1.5,wBA,wBA2,PoseBA,v3(0,-90,0),1)
  914.         end
  915.         SetWeld(wRArm,0,i,ASpeed*1.5,wRAR,wRAR2,PoseRAR,v3(0,0,MouseAngleY),1)
  916.         SetWeld(wRArm2,0,i,ASpeed*1.5,wRARM,wRARM2,PoseRARM,v3(0,0,0),1)
  917.         wait(0)
  918.     end
  919.     Trail2 = true
  920.    
  921.     PlaySound(as.ElectricShock,0.85,1,Torso)
  922.     RePose()
  923.     for i=1,ASpeed do
  924.         if TorsoAnim == ArmAnim then
  925.             SetWeld(Root,0,i,ASpeed,wRT,wRT2,PoseRT,v3(0,80,0),1)
  926.             SetWeld(wStand,0,i,ASpeed,wST,wST2,PoseST,v3(0,80,0),1)
  927.             SetWeld(wBall,0,i,ASpeed,wBA,wBA2,PoseBA,v3(0,-80,0),1)
  928.         end
  929.         SetWeld(wRArm,0,i,ASpeed,wRAR,wRAR2,PoseRAR,v3(0,35,-70),1)
  930.         SetWeld(wRArm2,0,i,ASpeed,wRARM,wRARM2,PoseRARM,v3(0,0,0),1)
  931.         wait(0)
  932.         if i==ASpeed-1 then ArmAnim = "Lightning Fist" end
  933.     end
  934.     Trail2 = false
  935.     wait(0.5)
  936.     ReturnPose(ASpeed)
  937.     Gyro = false
  938.     ArmAnim = ""
  939.     TorsoAnim = TorsoAnim~="" and  "" or TorsoAnim
  940. end
  941.  
  942. BP = iNew{"BodyPosition",Stand,maxForce=v3(0,0,0)}
  943.  
  944. ArmAnim = ""
  945. LegAnim = ""
  946. TorsoAnim = ""
  947. ASpeed = 12
  948. SawSpeed = 5
  949. Trail = false
  950. Trail2 = false
  951. State = "Idling"
  952. GroundOffset = v3(0,6.75,0)
  953. PoseLA=v3(-1.5,0.5,-0.5) PoseLA2=v3(110,0,14)
  954. PoseRA=v3(1.5,0.5,-0.5) PoseRA2=v3(110,0,-14)
  955. PoseRT=v3(0,0,0) PoseRT2=v3(0,0,0)
  956. PoseST=v3(0,0,0) PoseST2=v3(0,0,0)
  957. PoseBA=v3(0,-1.5,0) PoseBA2=v3(0,0,0)
  958. PoseLAR=v3(0,0,0) PoseLAR2=v3(-35,0,45)
  959. PoseLARM=v3(0,0.75,0) PoseLARM2=v3(-80,100,0)
  960. PoseRAR=v3(0,0,0) PoseRAR2=v3(0,-35,-50)
  961. PoseRARM=v3(0,0.75,0) PoseRARM2=v3(0,90,-65)
  962. PoseLLE=v3(-1.5,-1.25,-0.25) PoseLLE2=v3(20,0,-15)
  963. PoseLLEG=v3(0,-0.75,0) PoseLLEG2=v3(-40,0,15)
  964. PoseLLL=v3(0,-0.5,0) PoseLLL2=v3(20,0,0)
  965. PoseRLE=v3(1.5,-1.25,-0.25) PoseRLE2=v3(20,0,15)
  966. PoseRLEG=v3(0,-0.75,0) PoseRLEG2=v3(-40,0,-15)
  967. PoseRLL=v3(0,-0.5,0) PoseRLL2=v3(20,0,0)
  968.  
  969. Arms() Legs()
  970. ReturnPose(ASpeed)
  971. Arms(0) Legs(0)
  972.  
  973.  
  974. button1 = false
  975. keys = {}
  976. Mouse.Button1Down:connect(function()
  977.     button1 = true
  978.     if ArmAnim == "" then
  979.         Attacks[1]()
  980.     end
  981. end)
  982.  
  983. Mouse.Button1Up:connect(function()
  984.     button1 = false
  985. end)
  986.  
  987. Mouse.KeyDown:connect(function(key)
  988.     keys[key]=true
  989.     if key == "q" then
  990.         if ArmAnim == "" then
  991.             Attacks[2]()
  992.         end
  993.     end
  994.     if key == "e" then
  995.         if ArmAnim == "" then
  996.             Attacks[3]()
  997.         end
  998.     end
  999.     if key == "r" then
  1000.         if ArmAnim == "" then
  1001.             Attacks[4]()
  1002.         end
  1003.     end
  1004.     if key == " " then
  1005.         local hit,at = Raycast(Torso.Position,Torso.Position - (Torso.CFrame*cn(0,3,0)).p,10,Char)
  1006.         if not hit or not at then return end
  1007.         if ArmAnim == "" and TorsoAnim == "" and LegAnim == "" then
  1008.             ArmAnim = "Jump"
  1009.             LegAnim = "JumpS"
  1010.             local PrevOff = GroundOffset
  1011.             GroundOffset = v3(0,6,0)
  1012.             ReturnPose(1)
  1013.             RePose()
  1014.             for i=1,ASpeed do
  1015.                 SetWeld(wLLeg,0,i,ASpeed,wLLE,wLLE2,PoseLLE,v3(15,0,-20),1)
  1016.                 SetWeld(wLLeg2,0,i,ASpeed,wLLEG,wLLEG2,PoseLLEG,v3(-45,-35,20),1)
  1017.                 SetWeld(wLLeg3,0,i,ASpeed,wLLL,wLLL2,PoseLLL,v3(30,35,0),0)
  1018.                 SetWeld(wRLeg,0,i,ASpeed,wRLE,wRLE2,PoseRLE,v3(15,0,20),1)
  1019.                 SetWeld(wRLeg2,0,i,ASpeed,wRLEG,wRLEG2,PoseRLEG,v3(-45,35,-20),1)
  1020.                 SetWeld(wRLeg3,0,i,ASpeed,wRLL,wRLL2,PoseRLL,v3(30,-35,0),0)
  1021.                 wait(0)
  1022.             end
  1023.             LegAnim = "Jump"
  1024.             GroundOffset = v3(0,18,0)
  1025.             RePose()
  1026.             for i=1,ASpeed/1.5 do
  1027.                 SetWeld(wLLeg,0,i,ASpeed/1.5,wLLE,wLLE2,PoseLLE,v3(25,0,-20),1)
  1028.                 SetWeld(wLLeg2,0,i,ASpeed/1.5,wLLEG,wLLEG2,PoseLLEG,v3(-10,-35,20),1)
  1029.                 SetWeld(wLLeg3,0,i,ASpeed,wLLL,wLLL2,PoseLLL,v3(15,35,0),0)
  1030.                 SetWeld(wRLeg,0,i,ASpeed/1.5,wRLE,wRLE2,PoseRLE,v3(25,0,20),1)
  1031.                 SetWeld(wRLeg2,0,i,ASpeed/1.5,wRLEG,wRLEG2,PoseRLEG,v3(-10,35,-20),1)
  1032.                 SetWeld(wRLeg3,0,i,ASpeed,wRLL,wRLL2,PoseRLL,v3(15,-35,0),0)
  1033.                 wait(0)
  1034.             end
  1035.             GroundOffset = PrevOff
  1036.             ReturnPose(ASpeed)
  1037.             ArmAnim = ArmAnim~="" and  "" or ArmAnim
  1038.             LegAnim = LegAnim~="" and  "" or LegAnim
  1039.         end
  1040.     end
  1041. end)
  1042.  
  1043. Mouse.KeyUp:connect(function(key)
  1044.     keys[key]=false
  1045. end)
  1046. Humanoid.Changed:connect(function(prop)
  1047.     if prop == "Health" then
  1048.         if PrevHealth-Humanoid.Health>0 then
  1049.             for i,v in pairs(game:GetService("Players"):GetChildren()) do
  1050.                 if not v:IsA("Player") or not v.Character.Parent then return end
  1051.                 local fHum,fTorso,fHead = GetHuman(v.Character)
  1052.                 if not fHum or not fTorso then return end
  1053.                 if v.Name~=Player.Name then
  1054.                     local Dist = (v.Character.Torso.Position-Torso.Position).magnitude
  1055.                     if Dist<25 then
  1056.                         Damage(v.Character.Humanoid,math.ceil((PrevHealth-Humanoid.Health)*0.75))
  1057.                         Lightning(Hole.Position,fTorso.Position,mran(3,6),5,"New Yeller",0.3,mran2(0.5,0.9))
  1058.                         PlaySound(as.ElectricShock,1,1,Torso)
  1059.                     end
  1060.                 end
  1061.             end
  1062.         end
  1063.     end
  1064. end)
  1065.  
  1066. Spawn(function()
  1067.     while Suit.Parent do
  1068.         for ii,vv in pairs(Saws) do
  1069.             Spawn(function()
  1070.                 for i=0,180,360/(200/SawSpeed) do
  1071.                     vv[2].C0=cn(-1.25/2-0.5,0,0)*ca(0,i,0)*cn(0,0,-1.25/2)
  1072.                     wait(0)
  1073.                 end
  1074.                 for i=-1.25/2,1.25+0.3,(1.25/40)*SawSpeed do
  1075.                     vv[2].C0=cn(-0.5+i,0,1.25/2)
  1076.                     wait(0)
  1077.                 end
  1078.                 for i=180,360,360/(200/SawSpeed) do
  1079.                     vv[2].C0=cn(1.25/2+0.4,0,0)*ca(0,i,0)*cn(0,0,-1.25/2)
  1080.                     wait(0)
  1081.                 end
  1082.                 for i=1.25/2,-1.25-0.3,-(1.25/40)*SawSpeed do
  1083.                     vv[2].C0=cn(0.4+i,0,-1.25/2)
  1084.                     wait(0)
  1085.                 end
  1086.             end)
  1087.             wait(0.08)
  1088.         end
  1089.         wait(0)
  1090.     end
  1091. end)
  1092.  
  1093. Count = 0
  1094. game:GetService("RunService").RenderStepped:connect(function()
  1095.     if Suit.Parent then
  1096.         Count = Count+1
  1097.         local hit,at = Raycast(Stand.Position,Stand.Position - (Stand.CFrame*cn(0,3,0)).p,10,Char)
  1098.         if hit and at then
  1099.             BP.position = at+GroundOffset
  1100.             BP.maxForce = v3(0,1/0,0)
  1101.         else
  1102.             BP.maxForce = v3()
  1103.         end
  1104.         local CurrentPos = ArmSawP.CFrame*cn(0,0,-0.5)
  1105.         if Trail then
  1106.             if LastPos and (ArmSawP.Position-LastPos.p).magnitude > 0.1 then
  1107.                 local h = 4.5
  1108.                 local ft = 0.15
  1109.                 local a,b = Triangle{(LastPos*cn(0,h/2,0)).p,(LastPos*cn(0,-h/2,0)).p,(CurrentPos*cn(0,h/2,0)).p}
  1110.                 if a then deb:AddItem(a,ft) end
  1111.                 if b then deb:AddItem(b,ft) end
  1112.                 local a,b = Triangle{(CurrentPos*cn(0,h/2,0)).p,(CurrentPos*cn(0,-h/2,0)).p,(LastPos*cn(0,-h/2,0)).p}
  1113.                 if a then deb:AddItem(a,ft) end
  1114.                 if b then deb:AddItem(b,ft) end
  1115.                 LastPos = CurrentPos
  1116.             elseif not LastPos then
  1117.                 LastPos = CurrentPos
  1118.             end
  1119.         elseif not Trail then
  1120.             LastPos = nil
  1121.         end
  1122.         if Trail2 then
  1123.             if Count%1==0 then
  1124.                 local sc = 5
  1125.                 local To = Hole.Position+v3(mran(-sc,sc),mran(-sc,sc),mran(-sc,sc))
  1126.                 Lightning(Hole.Position,To,mran(3,6),mran(1,4),"New Yeller",0.2,mran2(0.5,0.9))
  1127.             end
  1128.         end
  1129.         wChakram.C0=cn(0,-1.4,0)*ca(90,0,Count*SawSpeed)
  1130.         MouseAngleX = math.floor(cn(Head.Position,Mouse.Hit.p).lookVector.x*90)
  1131.         MouseAngleY = math.floor(cn(Head.Position,Mouse.Hit.p).lookVector.y*90)
  1132.         SetWeld(Neck,0,1,1,v3(),v3(),v3(0,1.5,-0.1),v3(MouseAngleY<-20 and -20 or MouseAngleY>45 and 45 or MouseAngleY,0,0),1)
  1133.         PrevHealth = Humanoid.Health
  1134.         Walking = v3(Torso.Velocity.x,0,Torso.Velocity.z).magnitude>1 and true or false
  1135.     end
  1136. end)
  1137. while wait(0) do
  1138.         if not Humanoid.PlatformStand and not Humanoid.Sit then
  1139.                 local AnimSpeed = ASpeed/1.5
  1140.                 if Walking then
  1141.                         State = "Walking"
  1142.                         RePose()
  1143.                         Humanoid.WalkSpeed = 12
  1144.                         for i=1,AnimSpeed do
  1145.                                 if TorsoAnim == "" then
  1146.                                         SetWeld(Root,0,i,AnimSpeed,wRT,wRT2,PoseRT,v3(0,-15,0),0)
  1147.                                         SetWeld(wStand,0,i,AnimSpeed,wST,wST2,PoseST,v3(0,-15,0),0)
  1148.                                         SetWeld(wBall,0,i,AnimSpeed,wBA,wBA2,PoseBA,v3(0,15,0),0)
  1149.                                 end
  1150.                                 if ArmAnim == "" then
  1151.                                         SetWeld(wLArm,0,i,AnimSpeed,wLAR,wLAR2,PoseLAR,v3(-90,0,20),1)
  1152.                                         SetWeld(wLArm2,0,i,AnimSpeed,wLARM,wLARM2,PoseLARM,v3(-45,90,0),1)
  1153.                                 end
  1154.                                 if LegAnim == "" then
  1155.                                         SetWeld(wLLeg,0,i,AnimSpeed,wLLE,wLLE2,PoseLLE,v3(80,0,-20),0)
  1156.                                         SetWeld(wLLeg2,0,i,AnimSpeed,wLLEG,wLLEG2,PoseLLEG,v3(-80,0,20),0)
  1157.                                         SetWeld(wLLeg3,0,i,AnimSpeed,wLLL,wLLL2,PoseLLL,v3(0,-15,0),0)
  1158.                                         SetWeld(wRLeg,0,i,AnimSpeed,wRLE,wRLE2,PoseRLE,v3(-35,0,20),0)
  1159.                                         SetWeld(wRLeg2,0,i,AnimSpeed,wRLEG,wRLEG2,PoseRLEG,v3(-0,0,-20),0)
  1160.                                         SetWeld(wRLeg3,0,i,AnimSpeed,wRLL,wRLL2,PoseRLL,v3(35,0,0),0)
  1161.                                 end
  1162.                                 SetWeld(RAW,0,i,AnimSpeed,wRA,wRA2,v3(1.5,0.5,0),PoseRA2,0)
  1163.                                 SetWeld(LAW,0,i,AnimSpeed,wLA,wLA2,v3(-1.5,0.5,-1),PoseLA2,0)
  1164.                                 for lever = 1,2 do
  1165.                                         local x = lever == 1 and -1 or lever == 2 and 1
  1166.                                         SetWeld(Levers[lever][1],0,i,AnimSpeed,Levers[lever][2],Levers[lever][3],v3(x,0.6,-1.5),v3(25*x,0,0),0)
  1167.                                 end
  1168.                                 wait(0)
  1169.                                
  1170.                                 if not Walking then
  1171.                                         break
  1172.                                 end
  1173.                         end
  1174.                         RePose()
  1175.                         Humanoid.WalkSpeed = 22
  1176.                         for i=1,AnimSpeed/2.5 do
  1177.                                 if LegAnim == "" then
  1178.                                         SetWeld(wLLeg,0,i,AnimSpeed/2.5,wLLE,wLLE2,PoseLLE,v3(35,0,-20),0)
  1179.                                         SetWeld(wLLeg2,0,i,AnimSpeed/2.5,wLLEG,wLLEG2,PoseLLEG,v3(-35,0,20),0)
  1180.                                         SetWeld(wLLeg3,0,i,AnimSpeed/2.5,wLLL,wLLL2,PoseLLL,v3(0,-15,0),0)
  1181.                                         SetWeld(wRLeg,0,i,AnimSpeed/2.5,wRLE,wRLE2,PoseRLE,v3(-65,0,20),0)
  1182.                                         SetWeld(wRLeg2,0,i,AnimSpeed/2.5,wRLEG,wRLEG2,PoseRLEG,v3(-45,0,-20),0)
  1183.                                         SetWeld(wRLeg3,0,i,AnimSpeed/2.5,wRLL,wRLL2,PoseRLL,v3(0,15,0),0)
  1184.                                 end
  1185.                                 SetWeld(RAW,0,i,AnimSpeed/2.5,wRA,wRA2,v3(1.5,0.5,0),PoseRA2,0)
  1186.                                 SetWeld(LAW,0,i,AnimSpeed/2.5,wLA,wLA2,v3(-1.5,0.5,-1),PoseLA2,0)
  1187.                                 for lever = 1,2 do
  1188.                                         local x = lever == 1 and -1 or lever == 2 and 1
  1189.                                         SetWeld(Levers[lever][1],0,i,AnimSpeed/2.5,Levers[lever][2],Levers[lever][3],v3(x,0.6,-1.5),v3(25*x,0,0),0)
  1190.                                 end
  1191.                                 wait(0)
  1192.                                
  1193.                                 if not Walking then
  1194.                                         break
  1195.                                 end
  1196.                         end
  1197.                         RePose()
  1198.                         Humanoid.WalkSpeed = 12
  1199.                         for i=1,AnimSpeed do
  1200.                                 if TorsoAnim == "" then
  1201.                                         SetWeld(Root,0,i,AnimSpeed,wRT,wRT2,PoseRT,v3(0,15,0),0)
  1202.                                         SetWeld(wStand,0,i,AnimSpeed,wST,wST2,PoseST,v3(0,15,0),0)
  1203.                                         SetWeld(wBall,0,i,AnimSpeed,wBA,wBA2,PoseBA,v3(0,-15,0),0)
  1204.                                 end
  1205.                                 if LegAnim == "" then
  1206.                                         SetWeld(wRLeg,0,i,AnimSpeed,wRLE,wRLE2,PoseRLE,v3(80,0,20),0)
  1207.                                         SetWeld(wRLeg2,0,i,AnimSpeed,wRLEG,wRLEG2,PoseRLEG,v3(-80,0,-20),0)
  1208.                                         SetWeld(wRLeg3,0,i,AnimSpeed,wRLL,wRLL2,PoseRLL,v3(0,15,0),0)
  1209.                                         SetWeld(wLLeg,0,i,AnimSpeed,wLLE,wLLE2,PoseLLE,v3(-35,0,-20),0)
  1210.                                         SetWeld(wLLeg2,0,i,AnimSpeed,wLLEG,wLLEG2,PoseLLEG,v3(-0,0,20),0)
  1211.                                         SetWeld(wLLeg3,0,i,AnimSpeed,wLLL,wLLL2,PoseLLL,v3(35,-0,0),0)
  1212.                                        
  1213.                                         SetWeld(RAW,0,i,AnimSpeed,wRA,wRA2,v3(1.5,0.5,-1),PoseRA2,0)
  1214.                                         SetWeld(LAW,0,i,AnimSpeed,wLA,wLA2,v3(-1.5,0.5,0),PoseLA2,0)
  1215.                                         for lever = 1,2 do
  1216.                                                 local x = lever == 1 and -1 or lever == 2 and 1
  1217.                                                 SetWeld(Levers[lever][1],0,i,AnimSpeed,Levers[lever][2],Levers[lever][3],v3(x,0.6,-1.5),v3(-25*x,0,0),0)
  1218.                                         end
  1219.                                 end
  1220.                                 wait(0)
  1221.                                
  1222.                                 if not Walking then
  1223.                                         break
  1224.                                 end
  1225.                         end
  1226.                         RePose()
  1227.                         Humanoid.WalkSpeed = 22
  1228.                         for i=1,AnimSpeed/2.5 do
  1229.                                 if LegAnim == "" then
  1230.                                         SetWeld(wRLeg,0,i,AnimSpeed/2.5,wRLE,wRLE2,PoseRLE,v3(35,0,20),0)
  1231.                                         SetWeld(wRLeg2,0,i,AnimSpeed/2.5,wRLEG,wRLEG2,PoseRLEG,v3(-35,0,-20),0)
  1232.                                         SetWeld(wRLeg3,0,i,AnimSpeed/2.5,wRLL,wRLL2,PoseRLL,v3(0,15,0),0)
  1233.                                         SetWeld(wLLeg,0,i,AnimSpeed/2.5,wLLE,wLLE2,PoseLLE,v3(-65,0,-20),0)
  1234.                                         SetWeld(wLLeg2,0,i,AnimSpeed/2.5,wLLEG,wLLEG2,PoseLLEG,v3(-45,0,20),0)
  1235.                                         SetWeld(wLLeg3,0,i,AnimSpeed/2.5,wLLL,wLLL2,PoseLLL,v3(0,-15,0),0)
  1236.                                        
  1237.                                         SetWeld(RAW,0,i,AnimSpeed/2.5,wRA,wRA2,v3(1.5,0.5,-1),PoseRA2,0)
  1238.                                         SetWeld(LAW,0,i,AnimSpeed/2.5,wLA,wLA2,v3(-1.5,0.5,0),PoseLA2,0)
  1239.                                         for lever = 1,2 do
  1240.                                                 local x = lever == 1 and -1 or lever == 2 and 1
  1241.                                                 SetWeld(Levers[lever][1],0,i,AnimSpeed/2.5,Levers[lever][2],Levers[lever][3],v3(x,0.6,-1.5),v3(-25*x,0,0),0)
  1242.                                         end
  1243.                                 end
  1244.                                 wait(0)
  1245.                                
  1246.                                 if not Walking then
  1247.                                         break
  1248.                                 end
  1249.                         end
  1250.                 elseif Torso.Velocity.magnitude < 1 then
  1251.                         if State == "Walking" then
  1252.                                 State = "Idling"
  1253.                                 RePose()
  1254.                                 for i=1,AnimSpeed do
  1255.                                         if TorsoAnim == "" then
  1256.                                                 SetWeld(Root,0,i,ASpeed,wRT,wRT2,PoseRT,PoseRT2,0)
  1257.                                                 SetWeld(wStand,0,i,ASpeed,wST,wST2,PoseST,PoseST2,0)
  1258.                                                 SetWeld(wBall,0,i,AnimSpeed,wBA,wBA2,PoseBA,PoseBA2,0)
  1259.                                         end
  1260.                                         if LegAnim == "" then
  1261.                                                 SetWeld(wLLeg,0,i,AnimSpeed,wLLE,wLLE2,PoseLLE,PoseLLE2,0)
  1262.                                                 SetWeld(wLLeg2,0,i,AnimSpeed,wLLEG,wLLEG2,PoseLLEG,PoseLLEG2,0)
  1263.                                                 SetWeld(wLLeg3,0,i,AnimSpeed,wLLL,wLLL2,PoseLLL,PoseLLL2,0)
  1264.                                                 SetWeld(wRLeg,0,i,AnimSpeed,wRLE,wRLE2,PoseRLE,PoseRLE2,0)
  1265.                                                 SetWeld(wRLeg2,0,i,AnimSpeed,wRLEG,wRLEG2,PoseRLEG,PoseRLEG2,0)
  1266.                                                 SetWeld(wRLeg3,0,i,AnimSpeed,wRLL,wRLL2,PoseRLL,PoseRLL2,0)
  1267.                                         end
  1268.                                         wait(0)
  1269.                                        
  1270.                                         if Walking then
  1271.                                                 break
  1272.                                         end
  1273.                                 end
  1274.                         end
  1275.                 end
  1276.         end
  1277. end
Add Comment
Please, Sign In to add comment