Advertisement
tvnvntjyvtny2222

Untitled

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