Advertisement
HoneyBadger69

Untitled

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