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