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