Advertisement
samuelrichter66

eggman in the 18's

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