Advertisement
lafur

Untitled

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