Advertisement
marioisdabomb

barrel

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