View difference between Paste ID: N2JUm7EC and cWW9tGty
SHOW: | | - or go back to the newest paste.
1
2
--fireman23332333
3
4
5
if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
6
do
7
	script.Parent = owner.Character
8
	local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
9
	local function NewFakeEvent()
10
		local Bind = Instance.new("BindableEvent")
11
		local Fake;Fake = {Connections = {},
12
		fakeEvent=true;
13
		Connect=function(self,Func)
14
			Bind.Event:connect(Func)
15
			self.Connections[Bind] = true
16
			return setmetatable({Connected = true},{
17
			__index = function (self,Index)
18
				if Index:lower() == "disconnect" then
19
					return function() Fake.Connections[Bind] = false;self.Connected = false end
20
				end
21
				return Fake[Index]
22
			end;
23
			__tostring = function() return "Connection" end;
24
		})
25
		end}
26
		Fake.connect = Fake.Connect;return Fake;
27
	end
28
	local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
29
	local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
30
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
31
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
32
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
33
	local function TriggerEvent(self,Event,...)
34
		local Trigger = Mouse[Event]
35
		if Trigger and Trigger.fakeEvent and Trigger.Connections then
36
			for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
37
		end
38
	end
39
	Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
40
	Event.OnServerEvent:Connect(function(FiredBy,Input)
41
		if FiredBy.Name ~= owner.Name then return end
42
		if Input.MouseEvent then
43
			Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
44
		else
45
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
46
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
47
			for _,Action in pairs(ContextActionService.Actions) do
48
				for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
49
			end
50
			Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
51
			UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
52
		end
53
	end)
54
	InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
55
	Event.Parent = NLS([[
56
		local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
57
		local Input = function(Input,gameProcessedEvent)
58
			if gameProcessedEvent then return end
59
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
60
		end
61
		UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
62
		local Hit,Target
63
		while wait(1/30) do
64
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
65
				Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
66
			end
67
		end
68
	]],owner.Character)
69
end
70
RealGame = game;game = setmetatable({},{
71
	__index = function (self,Index)
72
		local Sandbox = function (Thing)
73
			if Thing:IsA("Player") then
74
				local RealPlayer = Thing
75
				return setmetatable({},{
76
					__index = function (self,Index)
77
						local Type = type(RealPlayer[Index])
78
						if Type == "function" then
79
							if Index:lower() == "getmouse" or Index:lower() == "mouse" then
80
								return function (self)return InternalData["Mouse"] end
81
							end
82
							return function (self,...)return RealPlayer[Index](RealPlayer,...) end
83
						end
84
						return RealPlayer[Index]
85
					end;
86
					__tostring = function(self) return RealPlayer.Name end
87
				})
88
			end
89
		end
90
		if RealGame[Index] then
91
			local Type = type(RealGame[Index])
92
			if Type == "function" then
93
				if Index:lower() == "getservice" or Index:lower() == "service" then
94
					return function (self,Service)
95
						local FakeServices = {
96
							["players"] = function()
97
								return setmetatable({},{
98
									__index = function (self2,Index2)
99
										local RealService = RealGame:GetService(Service)
100
										local Type2 = type(Index2)
101
										if Type2 == "function" then
102
											return function (self,...) return RealService[Index2](RealService,...)end
103
										else
104
											if Index2:lower() == "localplayer" then return Sandbox(owner) end
105
											return RealService[Index2]
106
										end
107
									end;
108
									__tostring = function(self) return RealGame:GetService(Service).Name end
109
								})
110
							end;
111
							["contextactionservice"] = function() return InternalData["ContextActionService"] end;
112
							["userinputservice"] = function() return InternalData["UserInputService"] end;
113
							["runservice"] = function()
114
								return setmetatable({},{
115
									__index = function(self2,Index2)
116
										local RealService = RealGame:GetService(Service)
117
										local Type2 = type(Index2)
118
										if Type2 == "function" then
119
											return function (self,...) return RealService[Index2](RealService,...) end
120
										else
121
											local RunServices = {
122
												["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
123
												["renderstepped"] = function() return RealService["Stepped"] end
124
											}
125
											if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
126
											return RealService[Index2]
127
										end
128
									end
129
								})
130
							end
131
						}
132
						if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
133
						return RealGame:GetService(Service)
134
					end
135
				end
136
				return function (self,...) return RealGame[Index](RealGame,...) end
137
			else
138
				if game:GetService(Index) then return game:GetService(Index) end
139
				return RealGame[Index]
140
			end
141
		end
142
		return nil
143
	end
144
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
145
146
local plr=game.Players.LocalPlayer;ch=plr.Character;
147
local tor=ch.Torso;local head=ch.Head;local ra=ch['Right Arm'];local la=ch['Left Arm'];local rl=ch['Right Leg'];local ll=ch['Left Leg'];
148
local rj=ch.HumanoidRootPart.RootJoint;local neck=tor.Neck;
149
local rm=Instance.new("Weld",tor);rm.C1=CFrame.new(0,0.5,0);rm.C0=CFrame.new(1.5,0.5,0);rm.Part0=tor;rm.Part1=ra;
150
local lm=Instance.new("Weld",tor);lm.C1=CFrame.new(0,0.5,0);lm.C0=CFrame.new(-1.5,0.5,0);lm.Part0=tor;lm.Part1=la;
151
local rlm=Instance.new("Weld",tor);rlm.C1=CFrame.new(0,1,0);rlm.C0=CFrame.new(0.5,-1,0);rlm.Part0=tor;rlm.Part1=rl;
152
local llm=Instance.new("Weld",tor);llm.C1=CFrame.new(0,1,0);llm.C0=CFrame.new(-0.5,-1,0);llm.Part0=tor;llm.Part1=ll;
153
local hum=ch.Humanoid
154
for i,v in pairs(head:GetChildren()) do if v.ClassName=="Sound" then v:Destroy() end end
155
rj.C0=CFrame.new()
156
rj.C1=CFrame.new()
157
tor['Right Shoulder']:Destroy();tor['Left Shoulder']:Destroy();tor['Right Hip']:Destroy();tor['Left Hip']:Destroy();
158
neck.C0=CFrame.new(0,1,0);neck.C1=CFrame.new(0,-0.5,0);
159
rmC0=rm.C0;rmC1=rm.C1;lmC0=lm.C0;lmC1=lm.C1;nC0=neck.C0;nC1=neck.C1;rjC0=rj.C0;rjC1=rj.C1;rlmC0=rlm.C0;rlmC1=rlm.C1;llmC0=llm.C0;llmC1=llm.C1;
160
local defWS=9.5
161
local defJP=50
162
hum.WalkSpeed=defWS
163
ch:WaitForChild("Animate"):Destroy()
164
hum:WaitForChild("Animator"):Destroy()
165
local mouse=plr:GetMouse();local cam=workspace.CurrentCamera;
166
167
for i,v in pairs(ch:GetChildren()) do 
168
	if v:IsA("Part") then
169
		v.CanCollide=false
170
	end
171
end
172
173
local bodyColor=BrickColor.new("Really black")
174
175
local bc=ch:WaitForChild("Body Colors")
176
bc.HeadColor=bodyColor;bc.LeftArmColor=bodyColor;bc.LeftLegColor=bodyColor;bc.RightArmColor=bodyColor;bc.RightLegColor=bodyColor;bc.TorsoColor=bodyColor;
177
head:WaitForChild("face"):Destroy()
178
179
for i,v in pairs(head:GetChildren()) do if v.ClassName=="Sound" then v:Destroy() end end
180
181
function swait(num)
182
if num==0 or num==nil then
183
game:service'RunService'.RenderStepped:wait()
184
else
185
for i=0,num do
186
game:service'RunService'.RenderStepped:wait()
187
end
188
end
189
end
190
191
function doBrick(parent,pos,cf,size,colour,material,transparency,a,cc,bs,bts,fs,ls,rs,ts)
192
local p=Instance.new('Part',parent);p.BrickColor=colour;p.Material=material;p.Transparency=transparency;p.Anchored=a;p.CanCollide=cc;p.FormFactor="Custom";p.Size=size;p.BackSurface=bs;p.BottomSurface=bts;p.FrontSurface=fs;p.LeftSurface=ls;p.RightSurface=rs;p.TopSurface=ts;p.Position=pos;p.CFrame=p.CFrame*cf;
193
return p
194
end
195
196
function doMesh(parent,meshType,meshId,scale)
197
local m=Instance.new('SpecialMesh',parent);m.MeshType=meshType;m.MeshId=meshId;m.Scale=scale
198
return m
199
end
200
201
local hm=Instance.new("Model",ch);hm.Name="HelmetModel"
202
203
local hat=doBrick(hm,Vector3.new(0,0,0),head.CFrame*CFrame.new(0,0.1,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),Vector3.new(1,1,1),BrickColor.new("Cool yellow"),"SmoothPlastic",0,true,false,10,10,10,10,10,10)
204
local hoodMesh=doMesh(hat,"FileMesh","http://www.roblox.com/asset/?id=6552202",Vector3.new(3,3,3))
205
206
local grabPart=Instance.new("Part",ch);grabPart.Anchored=false;grabPart.CanCollide=false;grabPart.Size=Vector3.new(1,1,1);grabPart.Transparency=1;grabPart.Name="GrabPart";
207
--local gpw=Instance.new("Weld",ch);gpw.Part0=grabPart;gpw.Part1=ra;gpw.C1=CFrame.new(0,-1.25,0.6)
208
209
local mainGui=nil
210
211
function displayGrabOptions()
212
	local mainGui=Instance.new("ScreenGui",plr.PlayerGui)
213
	mainGui.Name="OptionsGui"
214
	local grabOption1=Instance.new("TextLabel",mainGui)
215
	grabOption1.BackgroundTransparency=0.25
216
	grabOption1.BackgroundColor3=Color3.new(2.55,1.50,0.50)
217
	grabOption1.BorderSizePixel=0
218
	grabOption1.Size=UDim2.new(0,125,0,40)
219
	grabOption1.Position=UDim2.new(0,-125+1,0.5,40)
220
	grabOption1.Text="F - Release"
221
	grabOption1.Font=Enum.Font.SourceSansLight
222
	grabOption1.FontSize=Enum.FontSize.Size24
223
	grabOption1.TextColor3=Color3.new(1,1,1)
224
	grabOption1.TextStrokeTransparency=0
225
	
226
	grabOption1:TweenPosition(UDim2.new(0,0,0.5,40),"Out","Bounce",0.5,false,nil)
227
	
228
	local grabOption2=Instance.new("TextLabel",mainGui)
229
	grabOption2.BackgroundTransparency=0.25
230
	grabOption2.BackgroundColor3=Color3.new(2.55,1.50,0.50)
231
	grabOption2.BorderSizePixel=0
232
	grabOption2.Size=UDim2.new(0,125,0,40)
233
	grabOption2.Position=UDim2.new(0,-125+1,0.5,(40*2)+1)
234
	grabOption2.Text="E - Soul Punch"
235
	grabOption2.Font=Enum.Font.SourceSansLight
236
	grabOption2.FontSize=Enum.FontSize.Size24
237
	grabOption2.TextColor3=Color3.new(1,1,1)
238
	grabOption2.TextStrokeTransparency=0
239
	
240
	grabOption2:TweenPosition(UDim2.new(0,0,0.5,(40*2)+1),"Out","Bounce",0.6,false,nil)
241
end
242
243
function hideGrabOptions()
244
	if plr.PlayerGui:findFirstChild("OptionsGui",true)~=nil then
245
		plr.PlayerGui.OptionsGui:Destroy()
246
	end
247
end
248
249
for i,v in pairs(hm:GetChildren()) do
250
	if v:IsA("BasePart") then
251
		local w=Instance.new("Weld",hm)
252
		w.Part0=head
253
		w.Part1=v
254
		w.C0=head.CFrame:inverse()
255
		w.C1=v.CFrame:inverse()
256
		v.Anchored=false
257
	end
258
end
259
260
function poseJointC0(joint,JB,cf,speed)
261
joint.C0=joint.C0:lerp(JB*cf,speed)
262
end
263
function poseJointC1(joint,JB,cf,speed)
264
joint.C1=joint.C1:lerp(JB*cf,speed)
265
end
266
267
local RLattacking=false
268
local grabbing=false
269
local grabbingMode=false
270
local grabbedCharacter=nil
271
local grabWeld=nil
272
273
local dmgDebounce=false
274
275
local speed=1
276
277
--[[temp
278
279
poseJointC0(rm,rmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
280
poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
281
poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
282
poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
283
poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(0),math.rad(0)),i*speed)
284
poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
285
					
286
poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
287
poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
288
poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
289
poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
290
poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
291
poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
292
293
swait()
294
]]
295
296
function sound(id,vol,pitch,parent)
297
local s=Instance.new("Sound",parent)
298
s.SoundId="http://www.roblox.com/asset/?id="..id..""
299
s.Volume=vol
300
s.Pitch=pitch
301
game.Debris:AddItem(s,5)
302
s:play()
303
end
304
305
local EP=Instance.new("Model",ch);EP.Name="ExtraParts";
306
307
function magicBrick(pos,cf,size,colour,material,transparency,a,cc,bs,bts,fs,ls,rs,ts,meshType,meshId,scale,scaleAdd,loop,loopTransparency,repeatloop,repeatLoopWait,loopCFrame)
308
	local cw1=coroutine.wrap(function()
309
		for i=1,repeatloop do
310
			local x=doBrick(EP,pos,cf,size,colour,material,transparency,a,cc,bs,bts,fs,ls,rs,ts)
311
			local z=doMesh(x,meshType,meshId,scale)
312
			
313
			local cw2=coroutine.wrap(function()
314
				for i=1,loop do
315
					if loopTransparency then
316
						x.Transparency=i/loop
317
						z.Scale=z.Scale+scaleAdd
318
						x.CFrame=x.CFrame*loopCFrame
319
						wait()
320
					else
321
						z.Scale=z.Scale+scaleAdd
322
						x.CFrame=x.CFrame*loopCFrame
323
					end
324
				end
325
				x:Destroy()
326
			end)
327
			cw2()
328
			swait(repeatLoopWait)
329
		end
330
	end)
331
	cw1()
332
end
333
334
local currentAnim=""
335
local speed=0
336
local doingMove=false
337
local attacking=false
338
339
function anim(x)
340
	if not doingMove then
341
		if x=="jump" then
342
			if currentAnim==x then return end
343
			currentAnim=x
344
			speed=0.45
345
			print(x)
346
			for i=0,0.8,0.1*speed do
347
				if currentAnim~=x then break end
348
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed)
349
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed)
350
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
351
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
352
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(8),math.rad(0),math.rad(0)),i*speed)
353
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
354
				
355
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
356
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
357
				poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.35,0.35),i*speed)
358
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
359
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
360
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
361
				swait()
362
			end
363
			currentAnim=nil
364
		end
365
		if x=="descend" then
366
			if currentAnim==x then return end
367
			currentAnim=x
368
			speed=0.45
369
			print(x)
370
			for i=0,0.67,0.1*speed do
371
				if currentAnim~=x then break end
372
				if grabbingMode then
373
					poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(87)),i*speed)
374
				end
375
				if not grabbingMode then
376
					poseJointC0(rm,rmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed)
377
				end
378
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-13),math.rad(0),math.rad(0)),i*speed)
379
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
380
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)),i*speed)
381
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(-24),math.rad(0),math.rad(0)),i*speed)
382
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(24),math.rad(0),math.rad(0)),i*speed)
383
				
384
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
385
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
386
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
387
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
388
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
389
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
390
				swait()
391
			end
392
			currentAnim=nil
393
		end
394
		if x=="walk" then
395
			if currentAnim==x then return end
396
			currentAnim=x
397
			speed=0.35
398
			print(x)
399
			while true do
400
				if currentAnim~=x then break end
401
				for i=0,0.8,0.1*speed do
402
					if currentAnim~=x then break end
403
					if grabbingMode then
404
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed)
405
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed)
406
					end
407
					if not grabbingMode then
408
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed)
409
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed)
410
					end
411
					poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),i*speed)
412
					poseJointC0(llm,llmC0,CFrame.Angles(math.rad(55),math.rad(0),math.rad(0)),i*speed)
413
					poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(12),math.rad(0)),i*speed)
414
					poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-14),math.rad(-12),math.rad(-10)),i*speed)
415
					
416
					if grabbingMode then
417
						poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
418
						poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
419
					end
420
					if not grabbingMode then
421
						poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed)
422
						poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed)
423
					end
424
					poseJointC1(rlm,rlmC1,CFrame.new(0.05,0,0),i*speed)
425
					poseJointC1(llm,llmC1,CFrame.new(-0.05,0,0),i*speed)
426
					poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
427
					poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
428
					swait()
429
				end
430
				for i=0,0.34,0.1*speed do
431
					if currentAnim~=x then break end
432
					if grabbingMode then
433
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed)
434
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed)
435
					end
436
					if not grabbingMode then
437
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed)
438
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed)
439
					end
440
					poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0)),i*speed)
441
					poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-30),math.rad(0),math.rad(0)),i*speed)
442
					poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),i*speed)
443
					poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-15),math.rad(0),math.rad(0)),i*speed)
444
										
445
					if grabbingMode then
446
						poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
447
						poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
448
					end
449
					if not grabbingMode then
450
						poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed)
451
						poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed)
452
					end
453
					poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.75,0.7),i*speed)
454
					poseJointC1(llm,llmC1,CFrame.new(-0.05,0,0),i*speed)
455
					poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
456
					poseJointC1(rj,rjC1,CFrame.new(0,0.3,0),i*speed)
457
					swait()
458
				end
459
				for i=0,0.8,0.1*speed do
460
					if currentAnim~=x then break end
461
					if grabbingMode then
462
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed)
463
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed)
464
					end
465
					if not grabbingMode then
466
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed)
467
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed)
468
					end
469
					poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(55),math.rad(0),math.rad(0)),i*speed)
470
					poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),i*speed)
471
					poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(-12),math.rad(0)),i*speed)
472
					poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-14),math.rad(12),math.rad(10)),i*speed)
473
										
474
					if grabbingMode then
475
						poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
476
						poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
477
					end
478
					if not grabbingMode then
479
						poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed)
480
						poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed)
481
					end
482
					poseJointC1(rlm,rlmC1,CFrame.new(0.05,0,0),i*speed)
483
					poseJointC1(llm,llmC1,CFrame.new(-0.05,0,0),i*speed)
484
					poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
485
					poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
486
					swait()
487
				end
488
				for i=0,0.34,0.1*speed do
489
					if currentAnim~=x then break end
490
					if grabbingMode then
491
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(135),math.rad(0),math.rad(25)),i*speed)
492
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(-5)),i*speed)
493
					end
494
					if not grabbingMode then
495
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(-25)),i*speed)
496
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(25)),i*speed)
497
					end
498
					poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-30),math.rad(0),math.rad(0)),i*speed)
499
					poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-25),math.rad(0),math.rad(0)),i*speed)
500
					poseJointC0(neck,nC0,CFrame.Angles(math.rad(5),math.rad(0),math.rad(0)),i*speed)
501
					poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-14),math.rad(0),math.rad(0)),i*speed)
502
										
503
					if grabbingMode then
504
						poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
505
						poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
506
					end
507
					if not grabbingMode then
508
						poseJointC1(rm,rmC1,CFrame.new(0,0.45,0),i*speed)
509
						poseJointC1(lm,lmC1,CFrame.new(0,0.45,0),i*speed)
510
					end
511
					poseJointC1(rlm,rlmC1,CFrame.new(0.05,0,0),i*speed)
512
					poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.75,0.7),i*speed)
513
					poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
514
					poseJointC1(rj,rjC1,CFrame.new(0,0.3,0),i*speed)
515
					swait()
516
				end
517
			end
518
		end
519
		if x=="idle" then
520
			if currentAnim==x then return end
521
			currentAnim=x
522
			speed=0.24
523
			print(x)
524
			for i=0,0.45,0.1*speed do
525
				if currentAnim~=x then break end
526
				if grabbingMode then
527
					poseJointC0(rm,rmC0,CFrame.Angles(math.rad(145),math.rad(0),math.rad(45)),speed)
528
					poseJointC0(lm,lmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(-12)),speed)
529
				end
530
				if not grabbingMode then
531
					poseJointC0(rm,rmC0,CFrame.Angles(math.rad(100),math.rad(0),math.rad(45)),speed)
532
					poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(45)),speed)
533
				end
534
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(12)),speed)
535
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23),math.rad(0),math.rad(-6)),speed)
536
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(-4),math.rad(-45),math.rad(0)),speed)
537
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-12),math.rad(45),math.rad(0)),speed)
538
				
539
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),speed)
540
				if grabbingMode then
541
					poseJointC1(lm,lmC1,CFrame.new(0,0,0),speed)
542
				end
543
				if not grabbingMode then
544
					poseJointC1(lm,lmC1,CFrame.new(0,0.75,0),speed)
545
				end
546
				poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.45,0.45),speed)
547
				poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.45,0.35),speed)
548
				poseJointC1(neck,nC1,CFrame.new(0,0,0),speed)
549
				poseJointC1(rj,rjC1,CFrame.new(0,0.45,0),speed)
550
				swait()
551
			end
552
			while true do
553
				if currentAnim~=x then break end
554
				for i=0,0.75,0.1*speed do
555
					if currentAnim~=x then break end
556
					if grabbingMode then
557
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(145),math.rad(0),math.rad(45)),i*speed)
558
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(-12)),i*speed)
559
					end
560
					if not grabbingMode then
561
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(112),math.rad(0),math.rad(45)),i*speed)
562
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(45)),i*speed)
563
					end
564
					poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(12)),i*speed)
565
					poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-24),math.rad(0),math.rad(-6)),i*speed)
566
					poseJointC0(neck,nC0,CFrame.Angles(math.rad(-4),math.rad(-45),math.rad(0)),i*speed)
567
					poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-12),math.rad(45),math.rad(0)),i*speed)
568
					
569
					poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
570
					if grabbingMode then
571
						poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
572
					end
573
					if not grabbingMode then
574
						poseJointC1(lm,lmC1,CFrame.new(0,0.75,0),i*speed)
575
					end
576
					poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.45,0.45),i*speed)
577
					poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.55,0.35),i*speed)
578
					poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
579
					poseJointC1(rj,rjC1,CFrame.new(0,0.55,0),i*speed)
580
					swait()
581
				end
582
				for i=0,0.75,0.1*speed do
583
					if currentAnim~=x then break end
584
					if grabbingMode then
585
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(145),math.rad(0),math.rad(45)),i*speed)
586
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(-12)),i*speed)
587
					end
588
					if not grabbingMode then
589
						poseJointC0(rm,rmC0,CFrame.Angles(math.rad(100),math.rad(0),math.rad(45)),i*speed)
590
						poseJointC0(lm,lmC0,CFrame.Angles(math.rad(99),math.rad(0),math.rad(45)),i*speed)
591
					end
592
					poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(12),math.rad(0),math.rad(12)),i*speed)
593
					poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23),math.rad(0),math.rad(-6)),i*speed)
594
					poseJointC0(neck,nC0,CFrame.Angles(math.rad(-4),math.rad(-45),math.rad(0)),i*speed)
595
					poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-12),math.rad(45),math.rad(0)),i*speed)
596
					
597
					poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
598
					if grabbingMode then
599
						poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
600
					end
601
					if not grabbingMode then
602
						poseJointC1(lm,lmC1,CFrame.new(0,0.75,0),i*speed)
603
					end
604
					poseJointC1(rlm,rlmC1,CFrame.new(0.05,-0.45,0.45),i*speed)
605
					poseJointC1(llm,llmC1,CFrame.new(-0.05,-0.45,0.35),i*speed)
606
					poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
607
					poseJointC1(rj,rjC1,CFrame.new(0,0.45,0),i*speed)
608
					swait()
609
				end
610
			end
611
		end
612
	end
613
	if doingMove then
614
		if x=="spar1" then
615
			if currentAnim==x then return end
616
			currentAnim=x
617
			speed=0.75
618
			print(x)
619
			for i=0,0.5,0.1*speed do
620
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(75),math.rad(0),math.rad(-45)),i*speed)
621
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(-45)),i*speed)
622
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(45)),i*speed)
623
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-12)),i*speed)
624
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),i*speed)
625
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(90),math.rad(12)),i*speed)
626
				
627
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
628
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
629
				poseJointC1(rlm,rlmC1,CFrame.new(0,-0.2,0),i*speed)
630
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
631
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
632
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
633
				swait()
634
			end
635
			attacking=true
636
			RLattacking=true
637
			sound(233856146,1,1,rl)
638
			for i=0,1,0.1*speed do
639
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(80),math.rad(0),math.rad(-45)),i*speed)
640
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(-45)),i*speed)
641
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(106.5)),i*speed)
642
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-45)),i*speed)
643
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(-90),math.rad(0)),i*speed)
644
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(90),math.rad(45)),i*speed)
645
				
646
				poseJointC1(rm,rmC1,CFrame.new(0,0.5,0),i*speed)
647
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
648
				poseJointC1(rlm,rlmC1,CFrame.new(0,0.2,0),i*speed)
649
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
650
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
651
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
652
				swait()
653
			end
654
			attacking=false
655
			RLattacking=false
656
			currentAnim=nil
657
		end
658
		if x=="spar2" then
659
			if currentAnim==x then return end
660
			currentAnim=x
661
			speed=0.75
662
			print(x)
663
			for i=0,0.5,0.1*speed do
664
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(-45)),i*speed)
665
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(45)),i*speed)
666
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(45)),i*speed)
667
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),i*speed)
668
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(25),math.rad(0)),i*speed)
669
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(5),math.rad(-25),math.rad(0)),i*speed)
670
				
671
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
672
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
673
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
674
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
675
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
676
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
677
				swait()
678
			end
679
			attacking=true
680
			RLattacking=true
681
			sound(233856146,1,0.85,rl)
682
			for i=0,1,0.1*speed do
683
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(45)),i*speed)
684
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-45)),i*speed)
685
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(0)),i*speed)
686
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-10),math.rad(0),math.rad(0)),i*speed)
687
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(-23),math.rad(0),math.rad(0)),i*speed)
688
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(23),math.rad(0),math.rad(0)),i*speed)
689
				
690
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
691
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
692
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
693
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
694
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
695
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
696
				swait()
697
			end
698
			attacking=false
699
			RLattacking=false
700
			currentAnim=nil
701
		end
702
		if x=="grab" then
703
			if currentAnim==x then return end
704
			currentAnim=x
705
			speed=0.75
706
			print(x)
707
			for i=0,0.5,0.1*speed do
708
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(5)),i*speed)
709
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
710
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
711
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
712
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
713
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),i*speed)
714
				
715
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
716
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
717
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
718
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
719
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
720
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
721
				swait()
722
			end
723
			attacking=true
724
			grabbing=true
725
			sound(233856146,1,0.95,rl)
726
			for i=0,1,0.1*speed do
727
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(125),math.rad(0),math.rad(-25)),i*speed)
728
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed)
729
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
730
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
731
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(-35),math.rad(0)),i*speed)
732
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
733
				
734
				poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed)
735
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
736
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
737
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
738
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
739
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
740
				swait()
741
			end
742
			attacking=false
743
			grabbing=false
744
			currentAnim=nil
745
		end
746
		if x=="release" then
747
			if currentAnim==x then return end
748
			currentAnim=x
749
			speed=0.75
750
			print(x)
751
			for i=0,0.5,0.1*speed do
752
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(5)),i*speed)
753
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
754
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
755
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
756
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
757
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),i*speed)
758
				
759
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
760
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
761
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
762
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
763
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
764
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
765
				swait()
766
			end
767
			sound(233856146,1,0.95,rl)
768
			grabWeld:Destroy()
769
			local bv=Instance.new("BodyVelocity",grabbedCharacter:WaitForChild("Torso"))
770
			bv.maxForce=Vector3.new(math.huge,math.huge,math.huge)
771
			bv.velocity=head.CFrame.lookVector*50+Vector3.new(0,15,0)
772
			game.Debris:AddItem(bv,0.05)
773
			grabbedCharacter.Humanoid.WalkSpeed=16
774
			grabbedCharacter.Humanoid.JumpPower=50
775
			for i=0,1,0.1*speed do
776
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(125),math.rad(0),math.rad(-25)),i*speed)
777
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed)
778
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
779
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
780
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(-35),math.rad(0)),i*speed)
781
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
782
				
783
				poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed)
784
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
785
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
786
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
787
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
788
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
789
				swait()
790
			end
791
			currentAnim=nil
792
		end
793
		if x=="grabPose" then
794
			if currentAnim==x then return end
795
			currentAnim=x
796
			speed=0.75
797
			print(x)
798
			for i=0,1,0.1*speed do
799
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(125),math.rad(0),math.rad(-25)),i*speed)
800
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed)
801
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
802
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
803
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(13),math.rad(-35),math.rad(0)),i*speed)
804
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
805
				
806
				poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed)
807
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
808
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
809
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
810
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
811
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
812
				swait()
813
			end
814
		end
815
		if x=="airAttack" then
816
			if currentAnim==x then return end
817
			currentAnim=x
818
			speed=0.75
819
			print(x)
820
			for i=0,0.5,0.1*speed do
821
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(45),math.rad(0),math.rad(5)),i*speed)
822
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
823
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
824
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
825
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
826
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),i*speed)
827
				
828
				poseJointC1(rm,rmC1,CFrame.new(0,0,0),i*speed)
829
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
830
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
831
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
832
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
833
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
834
				swait()
835
			end
836
			sound(233856146,1,0.95,rl)
837
			grabWeld:Destroy()
838
			local bv=Instance.new("BodyVelocity",grabbedCharacter:WaitForChild("Torso"))
839
			bv.maxForce=Vector3.new(math.huge,math.huge,math.huge)
840
			bv.velocity=head.CFrame.lookVector*10+Vector3.new(0,30,0)
841
			game.Debris:AddItem(bv,0.05)
842
			local bf=Instance.new("BodyForce",grabbedCharacter:WaitForChild("Torso"))
843
			bf.force=Vector3.new(0,750,0)*grabbedCharacter:WaitForChild("Torso"):GetMass()
844
			game.Debris:AddItem(bf,2.5)
845
			grabbedCharacter.Humanoid.WalkSpeed=16
846
			grabbedCharacter.Humanoid.JumpPower=50
847
			for i=0,1,0.1*speed do
848
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(150),math.rad(0),math.rad(-25)),i*speed)
849
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-15)),i*speed)
850
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(5)),i*speed)
851
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(0),math.rad(0),math.rad(-5)),i*speed)
852
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(17.5),math.rad(-35),math.rad(0)),i*speed)
853
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(45),math.rad(0)),i*speed)
854
				
855
				poseJointC1(rm,rmC1,CFrame.new(0,1,0),i*speed)
856
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
857
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),i*speed)
858
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),i*speed)
859
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
860
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),i*speed)
861
				swait()
862
			end
863
			speed=0.2
864
			hum.WalkSpeed=0
865
			hum.JumpPower=0
866
			magicBrick(Vector3.new(0,0,0),tor.CFrame*CFrame.new(0,0,0),Vector3.new(1,1,1),BrickColor.new("Deep orange"),"Neon",0,true,false,10,10,10,10,10,10,"FileMesh","http://www.roblox.com/asset/?id=6552202",Vector3.new(1,1,1),Vector3.new(10,10,10),5,true,1,0,CFrame.new(0,0,0)*CFrame.Angles(0,0,0))
867
			coroutine.resume(coroutine.create(function()
868
				for i=1,100 do
869
					magicBrick(Vector3.new(0,0,0),ra.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,5),math.random(1,5),math.random(1,5))*CFrame.new(-5/2,-5/2,-5/2),Vector3.new(1,1,1),BrickColor.new("Deep orange"),"Neon",0,true,false,10,10,10,10,10,10,"Brick","",Vector3.new(1,1,1),Vector3.new(-0.2,-0.2,-0.2),15,true,1,0,CFrame.new(0,-1,0)*CFrame.Angles(math.random(),math.random(),math.random()))
870
					magicBrick(Vector3.new(0,0,0),ra.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,5),math.random(1,5),math.random(1,5))*CFrame.new(-5/2,-5/2,-5/2),Vector3.new(1,1,1),BrickColor.new("Really black"),"Neon",0,true,false,10,10,10,10,10,10,"Brick","",Vector3.new(1,1,1),Vector3.new(-0.2,-0.2,-0.2),15,true,1,0,CFrame.new(0,-1,0)*CFrame.Angles(math.random(),math.random(),math.random()))
871
					swait(.1)
872
				end
873
			end))
874
			for i,v in pairs(grabbedCharacter:GetChildren()) do 
875
				if v:IsA("Part") then
876
					v.CanCollide=false
877
				end
878
				if v.ClassName=="Hat" then
879
					for i,v in pairs(v:GetChildren()) do
880
						if v:IsA("BasePart") then
881
							v.CanCollide=false
882
						end
883
					end
884
				end
885
			end
886
			sound(215395388,1,0.87,head)
887
			for i=0,1.25,0.1*speed do
888
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(12)),i*speed)
889
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(90),math.rad(0),math.rad(-12)),i*speed)
890
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),i*speed)
891
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23.5),math.rad(0),math.rad(0)),i*speed)
892
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(85),math.rad(0)),i*speed)
893
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(0),math.rad(-85),math.rad(0)),i*speed)
894
				
895
				poseJointC1(rm,rmC1,CFrame.new(0,-0.65,0),i*speed)
896
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),i*speed)
897
				poseJointC1(rlm,rlmC1,CFrame.new(0,-0.45,0.3),i*speed)
898
				poseJointC1(llm,llmC1,CFrame.new(0,-0.45,0.3),i*speed)
899
				poseJointC1(neck,nC1,CFrame.new(0,0,0),i*speed)
900
				poseJointC1(rj,rjC1,CFrame.new(0,0.45,0),i*speed)
901
				swait()
902
			end
903
			local bv=Instance.new("BodyVelocity",tor)
904
			bv.maxForce=Vector3.new(math.huge,math.huge,math.huge)
905
			bv.velocity=head.CFrame.lookVector*55+Vector3.new(0,60,0)
906
			game.Debris:AddItem(bv,0.1)
907
			for i=0,0.25,0.1*speed do
908
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(110),math.rad(0),math.rad(24)),speed)
909
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-24)),speed)
910
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed)
911
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23.5),math.rad(0),math.rad(0)),speed)
912
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(-12),math.rad(75),math.rad(0)),speed)
913
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-75),math.rad(-75),math.rad(0)),speed)
914
				
915
				poseJointC1(rm,rmC1,CFrame.new(0,-0.45,0),speed)
916
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),speed)
917
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),speed)
918
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),speed)
919
				poseJointC1(neck,nC1,CFrame.new(0,0,0),speed)
920
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),speed)
921
				swait()
922
			end
923
			local didHit=false
924
			coroutine.resume(coroutine.create(function()
925
				if (grabbedCharacter:WaitForChild("Torso").Position-tor.Position).magnitude<=10 then
926
					if not dmgDebounce then
927
						dmgDebounce=true
928
						sound(227194094,1,0.8,ra)
929
						sound(215395468,2.5,0.9,head)
930
						coroutine.resume(coroutine.create(function()
931
							for i=1,3 do
932
								magicBrick(Vector3.new(0,0,0),head.CFrame*CFrame.Angles(math.rad(24),0,0)*CFrame.new(0,0,-8+i*2),Vector3.new(1,1,1),BrickColor.new("Institutional white"),"SmoothPlastic",0,true,false,10,10,10,10,10,10,"FileMesh","http://www.roblox.com/asset/?id=3270017",Vector3.new(3,3,3),Vector3.new(2+i,2+i,0.5),6,true,1,0,CFrame.new(0,0,0)*CFrame.Angles(0,0,0))
933
							end
934
						end))
935
						sound(206082327,2.5,1,grabbedCharacter:WaitForChild("Torso"))
936
						grabbedCharacter.Humanoid:TakeDamage(grabbedCharacter.Humanoid.MaxHealth/5)
937
						grabbedCharacter.Humanoid.PlatformStand=false
938
						local bv=Instance.new("BodyVelocity",grabbedCharacter:WaitForChild("Torso"))
939
						bv.maxForce=Vector3.new(math.huge,math.huge,math.huge)
940
						bv.velocity=head.CFrame.lookVector*100+Vector3.new(0,0,0)
941
						game.Debris:AddItem(bv,0.05)
942
						didHit=true
943
						wait(0.5)
944
						dmgDebounce=false
945
					end
946
				end
947
			end))
948
			for i=0,0.25,0.1*speed do
949
				poseJointC0(rm,rmC0,CFrame.Angles(math.rad(120),math.rad(0),math.rad(-24)),speed)
950
				poseJointC0(lm,lmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(-24)),speed)
951
				poseJointC0(rlm,rlmC0,CFrame.Angles(math.rad(-45),math.rad(0),math.rad(0)),speed)
952
				poseJointC0(llm,llmC0,CFrame.Angles(math.rad(-23.5),math.rad(0),math.rad(0)),speed)
953
				poseJointC0(neck,nC0,CFrame.Angles(math.rad(0),math.rad(-45),math.rad(0)),speed)
954
				poseJointC0(rj,rjC0,CFrame.Angles(math.rad(-35),math.rad(45),math.rad(0)),speed)
955
				
956
				poseJointC1(rm,rmC1,CFrame.new(0,0.35,0),speed)
957
				poseJointC1(lm,lmC1,CFrame.new(0,0,0),speed)
958
				poseJointC1(rlm,rlmC1,CFrame.new(0,0,0),speed)
959
				poseJointC1(llm,llmC1,CFrame.new(0,0,0),speed)
960
				poseJointC1(neck,nC1,CFrame.new(0,0,0),speed)
961
				poseJointC1(rj,rjC1,CFrame.new(0,0,0),speed)
962
				swait()
963
			end
964
			currentAnim=nil
965
		end
966
	end
967
end
968
969
function spar1()
970
	if not doingMove then
971
		doingMove=true
972
		anim("spar1")
973
		doingMove=false
974
	end
975
end
976
977
function spar2()
978
	if not doingMove then
979
		doingMove=true
980
		anim("spar2")
981
		doingMove=false
982
	end
983
end
984
985
function grab()
986
	if not doingMove then
987
		doingMove=true
988
		hum.WalkSpeed=0
989
		anim("grab")
990
		doingMove=false
991
	end
992
end
993
994
function release()
995
	if not doingMove then
996
		doingMove=true
997
		anim("release")
998
		doingMove=false
999
	end
1000
end
1001
1002
function airAttack()
1003
	if not doingMove then
1004
		doingMove=true
1005
		anim("airAttack")
1006
		doingMove=false
1007
	end
1008
end
1009
1010
local currentSparAttack=1
1011
1012
mouse.Button1Down:connect(function()
1013
	if grabbingMode then return end
1014
	if currentSparAttack==1 then
1015
		currentSparAttack=2
1016
		spar1()
1017
	elseif currentSparAttack==2 then
1018
		currentSparAttack=1
1019
		spar2()
1020
	end
1021
end)
1022
1023
mouse.KeyDown:connect(function(k)
1024
	if k=="f" then
1025
		if not grabbingMode then
1026
			grab()
1027
		elseif grabbingMode then
1028
			grabbingMode=false
1029
			release()
1030
			hideGrabOptions()
1031
		end
1032
	end
1033
	if k=="e" then
1034
		if grabbingMode then
1035
			grabbingMode=false
1036
			airAttack()
1037
			hideGrabOptions()
1038
		end
1039
	end
1040
	if k=="v" then
1041
		sound(221920694,1,0.87,workspace)
1042
		coroutine.resume(coroutine.create(function()
1043
			for i=1,50 do
1044
				magicBrick(Vector3.new(0,0,0),tor.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,50),math.random(1,50),math.random(1,50))*CFrame.new(-50/2,-50/2,-50/2),Vector3.new(1,1,1),BrickColor.new("Deep orange"),"Neon",0,true,false,10,10,10,10,10,10,"Sphere","",Vector3.new(3.5,3.5,3.5),Vector3.new(5,5,5),16,true,1,0,CFrame.new(0,-1,0)*CFrame.Angles(math.random(),math.random(),math.random()))
1045
				magicBrick(Vector3.new(0,0,0),tor.CFrame*CFrame.new(0,0,0)*CFrame.new(math.random(1,50),math.random(1,50),math.random(1,50))*CFrame.new(-50/2,-50/2,-50/2),Vector3.new(1,1,1),BrickColor.new("Really black"),"Neon",0,true,false,10,10,10,10,10,10,"Sphere","",Vector3.new(3.5,3.5,3.5),Vector3.new(1,1,1),35,true,1,0,CFrame.new(0,2,0)*CFrame.Angles(math.random(),math.random(),math.random()))
1046
				swait(.1)
1047
			end
1048
		end))
1049
	end
1050
end)
1051
1052
game:GetService("RunService").RenderStepped:connect(function()
1053
	if grabbingMode then
1054
		hum.WalkSpeed=defWS/1.1
1055
		hum.JumpPower=0
1056
	end
1057
	if not grabbingMode then
1058
		hum.WalkSpeed=defWS
1059
		hum.JumpPower=defJP
1060
	end
1061
	if attacking then
1062
		if RLattacking then
1063
			for i,v in pairs(workspace:GetChildren()) do
1064
				if v:findFirstChild("Humanoid",true)~=nil and v~=ch then
1065
					local vTorso=v:WaitForChild("Torso");
1066
					if (vTorso.Position-rl.Position).magnitude<=2.5 then
1067
						if not dmgDebounce then
1068
							dmgDebounce=true
1069
							sound(694048922,5,1,vTorso)
1070
							v.Humanoid:TakeDamage(7.5)
1071
							local bv=Instance.new("BodyVelocity",v:WaitForChild("Torso"))
1072
							bv.maxForce=Vector3.new(math.huge,math.huge,math.huge)
1073
							bv.velocity=head.CFrame.lookVector*25+Vector3.new(0,10,0)
1074
							game.Debris:AddItem(bv,0.05)
1075
							wait(0.5)
1076
							dmgDebounce=false
1077
						end
1078
					end
1079
				end
1080
			end
1081
		end
1082
		if grabbing then
1083
			for i,v in pairs(workspace:GetChildren()) do
1084
				if v:findFirstChild("Humanoid",true)~=nil and v~=ch then
1085
					local vTorso=v:WaitForChild("Torso");
1086
					if (vTorso.Position-ra.Position).magnitude<=3 then
1087
						if not dmgDebounce then
1088
							dmgDebounce=true
1089
							sound(200632821,5,1,vTorso)
1090
							v.Humanoid:TakeDamage(2)
1091
							
1092
							grabbingMode=true	
1093
							grabbedCharacter=vTorso.Parent
1094
							grabbedCharacter.Humanoid.PlatformStand=false
1095
							grabbedCharacter.Humanoid.WalkSpeed=0
1096
							grabbedCharacter.Humanoid.JumpPower=0
1097
							for i,v in pairs(grabbedCharacter:GetChildren()) do 
1098
								if v:IsA("Part") then
1099
									v.CanCollide=false
1100
								end
1101
								if v.ClassName=="Hat" then
1102
									for i,v in pairs(v:GetChildren()) do
1103
										if v:IsA("BasePart") then
1104
											v.CanCollide=false
1105
										end
1106
									end
1107
								end
1108
							end
1109
							grabWeld=Instance.new("Weld",grabPart)
1110
							grabWeld.Part0=vTorso
1111
							grabWeld.Part1=grabPart
1112
							grabWeld.C0=CFrame.Angles(math.rad(90),0,0)
1113
							
1114
							displayGrabOptions()
1115
							
1116
							wait(0.5)
1117
							dmgDebounce=false
1118
						end
1119
					end
1120
				end
1121
			end
1122
		end
1123
	end
1124
	if hum.Jump and not grabbingMode then
1125
		anim("jump")
1126
		swait(1/4)
1127
		hum.Jump=false
1128
	end
1129
	if Vector3.new(0,tor.Velocity.y,0).magnitude>=10 and currentAnim~="jump" and currentAnim~="land" and hum:GetState()==Enum.HumanoidStateType.Freefall and not hum.Jump then
1130
		anim("descend")
1131
	end
1132
	if Vector3.new(tor.Velocity.x,0,tor.Velocity.z).magnitude<5 and currentAnim~="land" and currentAnim~="jump" and currentAnim~="descend" and hum:GetState()~=Enum.HumanoidStateType.Jumping and hum:GetState()~=Enum.HumanoidStateType.Freefall then
1133
		anim("idle")
1134
	elseif Vector3.new(tor.Velocity.x,0,tor.Velocity.z).magnitude>=5 and currentAnim~="land" and currentAnim~="jump" and currentAnim~="descend" and hum:GetState()~=Enum.HumanoidStateType.Jumping and hum:GetState()~=Enum.HumanoidStateType.Freefall then
1135
		anim("walk")
1136
	end
1137
	if grabbingMode then
1138
		grabbedCharacter.Humanoid.PlatformStand=false
1139
		anim("grabPose")
1140
	end 
1141
	grabPart.CFrame=ra:GetRenderCFrame()*CFrame.new(0,-1.25,-0.6)*CFrame.Angles(math.rad(-90),0,0)
1142
end)