View difference between Paste ID: Zf0iAVDc and 4i22Egez
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,game,owner = owner,game
3
local RealPlayer = Player
4
do
5
	print("FE Compatibility code by Mokiros")
6
	local rp = RealPlayer
7
	script.Parent = rp.Character
8
	
9
	--RemoteEvent for communicating
10
	local Event = Instance.new("RemoteEvent")
11
	Event.Name = "UserInput_Event"
12
13
	--Fake event to make stuff like Mouse.KeyDown work
14
	local function fakeEvent()
15
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
		t.connect = t.Connect
17
		return t
18
	end
19
20
	--Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
	end}
26
	--Merged 2 functions into one by checking amount of arguments
27
	CAS.UnbindAction = CAS.BindAction
28
29
	--This function will trigger the events that have been :Connect()'ed
30
	local function te(self,ev,...)
31
		local t = m[ev]
32
		if t and t._fakeEvent then
33
			for _,f in pairs(t.Functions) do
34
				f(...)
35
			end
36
		end
37
	end
38
	m.TrigEvent = te
39
	UIS.TrigEvent = te
40
41
	Event.OnServerEvent:Connect(function(plr,io)
42
	    if plr~=rp then return end
43
		m.Target = io.Target
44
		m.Hit = io.Hit
45
		if not io.isMouse then
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 Mouse = Player:GetMouse()
66
	local UIS = game:GetService("UserInputService")
67
	local input = function(io,a)
68
		if a then return end
69
		--Since InputObject is a client-side instance, we create and pass table instead
70
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
	end
72
	UIS.InputBegan:Connect(input)
73
	UIS.InputEnded:Connect(input)
74
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
85
	----Sandboxed game object that allows the usage of client-side methods and services
86
	--Real game object
87
	local _rg = game
88
89
	--Metatable for fake service
90
	local fsmt = {
91
		__index = function(self,k)
92
			local s = rawget(self,"_RealService")
93
			if s then return s[k] end
94
		end,
95
		__newindex = function(self,k,v)
96
			local s = rawget(self,"_RealService")
97
			if s then s[k]=v end
98
		end,
99
		__call = function(self,...)
100
			local s = rawget(self,"_RealService")
101
			if s then return s(...) end
102
		end
103
	}
104
	local function FakeService(t,RealService)
105
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
		return setmetatable(t,fsmt)
107
	end
108
109
	--Fake game object
110
	local g = {
111
		GetService = function(self,s)
112
			return self[s]
113
		end,
114
		Players = FakeService({
115
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
		},"Players"),
117
		UserInputService = FakeService(UIS,"UserInputService"),
118
		ContextActionService = FakeService(CAS,"ContextActionService"),
119
	}
120
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
	g.service = g.GetService
122
	
123
	g.RunService = FakeService({
124
		RenderStepped = _rg:GetService("RunService").Heartbeat,
125
		BindToRenderStep = function(self,name,_,fun)
126
			self._btrs[name] = self.Heartbeat:Connect(fun)
127
		end,
128
		UnbindFromRenderStep = function(self,name)
129
			self._btrs[name]:Disconnect()
130
		end,
131
	},"RunService")
132
133
	setmetatable(g,{
134
		__index=function(self,s)
135
			return _rg:GetService(s) or typeof(_rg[s])=="function"
136
			and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
		end,
138
		__newindex = fsmt.__newindex,
139
		__call = fsmt.__call
140
	})
141
	--Changing owner to fake player object to support owner:GetMouse()
142
	game,owner = g,g.Players.LocalPlayer
143
end
144
--//====================================================\\--
145
--||			   CREATED BY SHACKLUSTER
146
--\\====================================================//--
147
148
wait(0.2)
149
150
Player = game:GetService("Players").LocalPlayer
151
PlayerGui = Player.PlayerGui
152
Cam = workspace.CurrentCamera
153
Backpack = Player.Backpack
154
Character = Player.Character
155
Humanoid = Character.Humanoid
156
Mouse = Player:GetMouse()
157
RootPart = Character["HumanoidRootPart"]
158
Torso = Character["Torso"]
159
Head = Character["Head"]
160
RightArm = Character["Right Arm"]
161
LeftArm = Character["Left Arm"]
162
RightLeg = Character["Right Leg"]
163
LeftLeg = Character["Left Leg"]
164
RootJoint = RootPart["RootJoint"]
165
Neck = Torso["Neck"]
166
RightShoulder = Torso["Right Shoulder"]
167
LeftShoulder = Torso["Left Shoulder"]
168
RightHip = Torso["Right Hip"]
169
LeftHip = Torso["Left Hip"]
170
Humanoid.MaxHealth = "inf"
171
Humanoid.Health = "inf"
172
IT = Instance.new
173
CF = CFrame.new
174
VT = Vector3.new
175
RAD = math.rad
176
C3 = Color3.new
177
UD2 = UDim2.new
178
BRICKC = BrickColor.new
179
ANGLES = CFrame.Angles
180
EULER = CFrame.fromEulerAnglesXYZ
181
COS = math.cos
182
ACOS = math.acos
183
SIN = math.sin
184
ASIN = math.asin
185
ABS = math.abs
186
MRANDOM = math.random
187
FLOOR = math.floor
188
189
--//=================================\\
190
--|| 	      USEFUL VALUES
191
--\\=================================//
192
193
Animation_Speed = 3
194
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
195
local Speed = 16
196
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
197
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
198
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
199
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
200
local DAMAGEMULTIPLIER = 1
201
local ANIM = "Idle"
202
local ATTACK = false
203
local EQUIPPED = false
204
local HOLD = false
205
local COMBO = 1
206
local Rooted = false
207
local SINE = 0
208
local KEYHOLD = false
209
local CHANGE = 2 / Animation_Speed
210
local WALKINGANIM = false
211
local VALUE1 = false
212
local VALUE2 = false
213
local ROBLOXIDLEANIMATION = IT("Animation")
214
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
215
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
216
--ROBLOXIDLEANIMATION.Parent = Humanoid
217
local WEAPONGUI = IT("ScreenGui", PlayerGui)
218
WEAPONGUI.Name = "Weapon GUI"
219
local Weapon = IT("Model")
220
Weapon.Name = "Adds"
221
local Effects = IT("Folder", Weapon)
222
Effects.Name = "Effects"
223
local ANIMATOR = Humanoid.Animator
224
local ANIMATE = Character.Animate
225
local UNANCHOR = true
226
227
--//=================================\\
228
--\\=================================//
229
230
231
--//=================================\\
232
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
233
--\\=================================//
234
235
ArtificialHB = Instance.new("BindableEvent", script)
236
ArtificialHB.Name = "ArtificialHB"
237
238
script:WaitForChild("ArtificialHB")
239
240
frame = Frame_Speed
241
tf = 0
242
allowframeloss = false
243
tossremainder = false
244
lastframe = tick()
245
script.ArtificialHB:Fire()
246
247
game:GetService("RunService").Heartbeat:connect(function(s, p)
248
	tf = tf + s
249
	if tf >= frame then
250
		if allowframeloss then
251
			script.ArtificialHB:Fire()
252
			lastframe = tick()
253
		else
254
			for i = 1, math.floor(tf / frame) do
255
				script.ArtificialHB:Fire()
256
			end
257
		lastframe = tick()
258
		end
259
		if tossremainder then
260
			tf = 0
261
		else
262
			tf = tf - frame * math.floor(tf / frame)
263
		end
264
	end
265
end)
266
267
--//=================================\\
268
--\\=================================//
269
270
--//=================================\\
271
--|| 	      SOME FUNCTIONS
272
--\\=================================//
273
274
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
275
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
276
end
277
278
function PositiveAngle(NUMBER)
279
	if NUMBER >= 0 then
280
		NUMBER = 0
281
	end
282
	return NUMBER
283
end
284
285
function NegativeAngle(NUMBER)
286
	if NUMBER <= 0 then
287
		NUMBER = 0
288
	end
289
	return NUMBER
290
end
291
292
function Swait(NUMBER)
293
	if NUMBER == 0 or NUMBER == nil then
294
		ArtificialHB.Event:wait()
295
	else
296
		for i = 1, NUMBER do
297
			ArtificialHB.Event:wait()
298
		end
299
	end
300
end
301
302
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
303
	local NEWMESH = IT(MESH)
304
	if MESH == "SpecialMesh" then
305
		NEWMESH.MeshType = MESHTYPE
306
		if MESHID ~= "nil" and MESHID ~= "" then
307
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
308
		end
309
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
310
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
311
		end
312
	end
313
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
314
	NEWMESH.Scale = SCALE
315
	NEWMESH.Parent = PARENT
316
	return NEWMESH
317
end
318
319
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
320
	local NEWPART = IT("Part")
321
	NEWPART.formFactor = FORMFACTOR
322
	NEWPART.Reflectance = REFLECTANCE
323
	NEWPART.Transparency = TRANSPARENCY
324
	NEWPART.CanCollide = false
325
	NEWPART.Locked = true
326
	NEWPART.Anchored = true
327
	if ANCHOR == false then
328
		NEWPART.Anchored = false
329
	end
330
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
331
	NEWPART.Name = NAME
332
	NEWPART.Size = SIZE
333
	NEWPART.Position = Torso.Position
334
	NEWPART.Material = MATERIAL
335
	NEWPART:BreakJoints()
336
	NEWPART.Parent = PARENT
337
	return NEWPART
338
end
339
340
	local function weldBetween(a, b)
341
	    local weldd = Instance.new("ManualWeld")
342
	    weldd.Part0 = a
343
	    weldd.Part1 = b
344
	    weldd.C0 = CFrame.new()
345
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
346
	    weldd.Parent = a
347
	    return weldd
348
	end
349
350
351
function QuaternionFromCFrame(cf)
352
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
353
	local trace = m00 + m11 + m22
354
	if trace > 0 then 
355
		local s = math.sqrt(1 + trace)
356
		local recip = 0.5 / s
357
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
358
	else
359
		local i = 0
360
		if m11 > m00 then
361
			i = 1
362
		end
363
		if m22 > (i == 0 and m00 or m11) then
364
			i = 2
365
		end
366
		if i == 0 then
367
			local s = math.sqrt(m00 - m11 - m22 + 1)
368
			local recip = 0.5 / s
369
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
370
		elseif i == 1 then
371
			local s = math.sqrt(m11 - m22 - m00 + 1)
372
			local recip = 0.5 / s
373
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
374
		elseif i == 2 then
375
			local s = math.sqrt(m22 - m00 - m11 + 1)
376
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
377
		end
378
	end
379
end
380
 
381
function QuaternionToCFrame(px, py, pz, x, y, z, w)
382
	local xs, ys, zs = x + x, y + y, z + z
383
	local wx, wy, wz = w * xs, w * ys, w * zs
384
	local xx = x * xs
385
	local xy = x * ys
386
	local xz = x * zs
387
	local yy = y * ys
388
	local yz = y * zs
389
	local zz = z * zs
390
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
391
end
392
 
393
function QuaternionSlerp(a, b, t)
394
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
395
	local startInterp, finishInterp;
396
	if cosTheta >= 0.0001 then
397
		if (1 - cosTheta) > 0.0001 then
398
			local theta = ACOS(cosTheta)
399
			local invSinTheta = 1 / SIN(theta)
400
			startInterp = SIN((1 - t) * theta) * invSinTheta
401
			finishInterp = SIN(t * theta) * invSinTheta
402
		else
403
			startInterp = 1 - t
404
			finishInterp = t
405
		end
406
	else
407
		if (1 + cosTheta) > 0.0001 then
408
			local theta = ACOS(-cosTheta)
409
			local invSinTheta = 1 / SIN(theta)
410
			startInterp = SIN((t - 1) * theta) * invSinTheta
411
			finishInterp = SIN(t * theta) * invSinTheta
412
		else
413
			startInterp = t - 1
414
			finishInterp = t
415
		end
416
	end
417
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
418
end
419
420
function Clerp(a, b, t)
421
	local qa = {QuaternionFromCFrame(a)}
422
	local qb = {QuaternionFromCFrame(b)}
423
	local ax, ay, az = a.x, a.y, a.z
424
	local bx, by, bz = b.x, b.y, b.z
425
	local _t = 1 - t
426
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
427
end
428
429
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
430
	local frame = IT("Frame")
431
	frame.BackgroundTransparency = TRANSPARENCY
432
	frame.BorderSizePixel = BORDERSIZEPIXEL
433
	frame.Position = POSITION
434
	frame.Size = SIZE
435
	frame.BackgroundColor3 = COLOR
436
	frame.BorderColor3 = BORDERCOLOR
437
	frame.Name = NAME
438
	frame.Parent = PARENT
439
	return frame
440
end
441
442
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
443
	local label = IT("TextLabel")
444
	label.BackgroundTransparency = 1
445
	label.Size = UD2(1, 0, 1, 0)
446
	label.Position = UD2(0, 0, 0, 0)
447
	label.TextColor3 = TEXTCOLOR
448
	label.TextStrokeTransparency = STROKETRANSPARENCY
449
	label.TextTransparency = TRANSPARENCY
450
	label.FontSize = TEXTFONTSIZE
451
	label.Font = TEXTFONT
452
	label.BorderSizePixel = BORDERSIZEPIXEL
453
	label.TextScaled = false
454
	label.Text = TEXT
455
	label.Name = NAME
456
	label.Parent = PARENT
457
	return label
458
end
459
460
function NoOutlines(PART)
461
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
462
end
463
464
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
465
	local NEWWELD = IT(TYPE)
466
	NEWWELD.Part0 = PART0
467
	NEWWELD.Part1 = PART1
468
	NEWWELD.C0 = C0
469
	NEWWELD.C1 = C1
470
	NEWWELD.Parent = PARENT
471
	return NEWWELD
472
end
473
474
local S = IT("Sound")
475
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
476
	local NEWSOUND = nil
477
	coroutine.resume(coroutine.create(function()
478
		NEWSOUND = S:Clone()
479
		NEWSOUND.Parent = PARENT
480
		NEWSOUND.Volume = VOLUME
481
		NEWSOUND.Pitch = PITCH
482
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
483
		NEWSOUND:play()
484
		if DOESLOOP == true then
485
			NEWSOUND.Looped = true
486
		else
487
			repeat wait(1) until NEWSOUND.Playing == false
488
			NEWSOUND:remove()
489
		end
490
	end))
491
	return NEWSOUND
492
end
493
494
function CFrameFromTopBack(at, top, back)
495
	local right = top:Cross(back)
496
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
497
end
498
499
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
500
function WACKYEFFECT(Table)
501
	local TYPE = (Table.EffectType or "Sphere")
502
	local SIZE = (Table.Size or VT(1,1,1))
503
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
504
	local TRANSPARENCY = (Table.Transparency or 0)
505
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
506
	local CFRAME = (Table.CFrame or Torso.CFrame)
507
	local MOVEDIRECTION = (Table.MoveToPos or nil)
508
	local ROTATION1 = (Table.RotationX or 0)
509
	local ROTATION2 = (Table.RotationY or 0)
510
	local ROTATION3 = (Table.RotationZ or 0)
511
	local MATERIAL = (Table.Material or "Neon")
512
	local COLOR = (Table.Color or C3(1,1,1))
513
	local TIME = (Table.Time or 45)
514
	local SOUNDID = (Table.SoundID or nil)
515
	local SOUNDPITCH = (Table.SoundPitch or nil)
516
	local SOUNDVOLUME = (Table.SoundVolume or nil)
517
	coroutine.resume(coroutine.create(function()
518
		local PLAYSSOUND = false
519
		local SOUND = nil
520
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
521
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
522
			PLAYSSOUND = true
523
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
524
		end
525
		EFFECT.Color = COLOR
526
		local MSH = nil
527
		if TYPE == "Sphere" then
528
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
529
		elseif TYPE == "Block" then
530
			MSH = IT("BlockMesh",EFFECT)
531
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
532
		elseif TYPE == "Wave" then
533
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
534
		elseif TYPE == "Ring" then
535
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
536
		elseif TYPE == "Slash" then
537
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
538
		elseif TYPE == "Round Slash" then
539
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
540
		elseif TYPE == "Swirl" then
541
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
542
		elseif TYPE == "Skull" then
543
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
544
		elseif TYPE == "Crystal" then
545
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
546
		end
547
		if MSH ~= nil then
548
			local MOVESPEED = nil
549
			if MOVEDIRECTION ~= nil then
550
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
551
			end
552
			local GROWTH = SIZE - ENDSIZE
553
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
554
			if TYPE == "Block" then
555
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
556
			else
557
				EFFECT.CFrame = CFRAME
558
			end
559
			for LOOP = 1, TIME+1 do
560
				Swait()
561
				MSH.Scale = MSH.Scale - GROWTH/TIME
562
				if TYPE == "Wave" then
563
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
564
				end
565
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
566
				if TYPE == "Block" then
567
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
568
				else
569
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
570
				end
571
				if MOVEDIRECTION ~= nil then
572
					local ORI = EFFECT.Orientation
573
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
574
					EFFECT.Orientation = ORI
575
				end
576
			end
577
			if PLAYSSOUND == false then
578
				EFFECT:remove()
579
			else
580
				repeat Swait() until SOUND.Playing == false
581
				EFFECT:remove()
582
			end
583
		else
584
			if PLAYSSOUND == false then
585
				EFFECT:remove()
586
			else
587
				repeat Swait() until SOUND.Playing == false
588
				EFFECT:remove()
589
			end
590
		end
591
	end))
592
end
593
594
function MakeForm(PART,TYPE)
595
	if TYPE == "Cyl" then
596
		local MSH = IT("CylinderMesh",PART)
597
	elseif TYPE == "Ball" then
598
		local MSH = IT("SpecialMesh",PART)
599
		MSH.MeshType = "Sphere"
600
	elseif TYPE == "Wedge" then
601
		local MSH = IT("SpecialMesh",PART)
602
		MSH.MeshType = "Wedge"
603
	end
604
end
605
606
Debris = game:GetService("Debris")
607
608
function CastProperRay(StartPos, EndPos, Distance, Ignore)
609
	local DIRECTION = CF(StartPos,EndPos).lookVector
610
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
611
end
612
613
function CharacterFade(COLOR,TIMER)
614
	coroutine.resume(coroutine.create(function()
615
		local FADE = IT("Model",Effects)
616
		for _, c in pairs(Character:GetChildren()) do
617
			if c.ClassName == "Part" and c ~= RootPart then
618
				local FADER = c:Clone()
619
				FADER.Color = COLOR
620
				FADER.CFrame = c.CFrame
621
				FADER.Parent = FADE
622
				FADER.Anchored = true
623
				FADER.Transparency = 0.25
624
				FADER:BreakJoints()
625
				FADER.Material = "Glass"
626
				FADER:ClearAllChildren()
627
				if FADER.Name == "Head" then
628
					FADER.Size = VT(1,1,1)
629
				end
630
			end
631
		end
632
		local TRANS = 0.75/TIMER
633
		for i = 1, TIMER do
634
			Swait()
635
			for _, c in pairs(FADE:GetChildren()) do
636
				if c.ClassName == "Part" then
637
					c.Transparency = c.Transparency + TRANS
638
				end
639
			end
640
		end
641
		FADE:remove()
642
	end))
643
end
644
645
local PE=Instance.new("ParticleEmitter")
646
PE.LightEmission=0.3
647
PE.Size=NumberSequence.new(0)
648
PE.Transparency=NumberSequence.new(0,1)
649
PE.Rotation=NumberRange.new(0,360)
650
PE.LockedToPart = false
651
PE.Speed = NumberRange.new(0,0,0)
652
PE.ZOffset = 0.3
653
PE.Rate = 999
654
PE.VelocitySpread = 25
655
PE.Name = "Particles"
656
657
function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
658
    local particle = nil
659
    coroutine.resume(coroutine.create(function(PART)
660
        particle = PE:Clone()
661
        Swait()
662
        particle.Rate = 999
663
        particle.Parent = art
664
        particle.Acceleration = accel
665
        if type == "Fire" then
666
            local EyeSizes={
667
                NumberSequenceKeypoint.new(0,size,size/2),
668
                NumberSequenceKeypoint.new(1,size/4,size/8)
669
            }
670
            particle.Size = NumberSequence.new(EyeSizes)
671
        elseif type == "Smoke" then
672
            local EyeSizes={
673
                NumberSequenceKeypoint.new(0,size/5,0),
674
                NumberSequenceKeypoint.new(1,size*2,0.5)
675
            }
676
            particle.Size = NumberSequence.new(EyeSizes)
677
        elseif type == "Solid" then
678
            local EyeSizes={
679
                NumberSequenceKeypoint.new(0,size,0),
680
                NumberSequenceKeypoint.new(1,size,0)
681
            }
682
            particle.Size = NumberSequence.new(EyeSizes)
683
        end
684
        particle.Lifetime=NumberRange.new(lifetime)
685
        particle.Drag = drag
686
        if locked == true then
687
            particle.LockedToPart = true
688
        end
689
        particle.Speed = NumberRange.new(speed*0.8,speed)
690
        particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
691
        particle.Enabled = isenabledbydefault
692
        particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
693
    end))
694
return particle
695
end
696
697
--//=================================\\
698
--||	     RAGDOLL STUFF
699
--\\=================================//
700
701
function recurse(root,callback,i)
702
	i= i or 0
703
	for _,v in pairs(root:GetChildren()) do
704
		i = i + 1
705
		callback(i,v)
706
		
707
		if #v:GetChildren() > 0 then
708
			i = recurse(v,callback,i)
709
		end
710
	end
711
	
712
	return i
713
end
714
715
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
716
	attachmentName = attachmentName.."RigAttachment"
717
	local constraint = Instance.new(className.."Constraint")
718
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
719
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
720
	constraint.Name = "RagdollConstraint"..part1.Name
721
	
722
	for _,propertyData in next,properties or {} do
723
		constraint[propertyData[1]] = propertyData[2]
724
	end
725
	
726
	constraint.Parent = character
727
end
728
729
function getAttachment0(character, attachmentName)
730
	for _,child in next,character:GetChildren() do
731
		local attachment = child:FindFirstChild(attachmentName)
732
		if attachment then
733
			return attachment
734
		end
735
	end
736
end
737
738
function ArtificialHitbox(Part)
739
	local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
740
	HITBOX.CanCollide = true
741
	HITBOX.CFrame = Part.CFrame
742
	weldBetween(Part,HITBOX)
743
end
744
745
function R15Ragdoll(character,KeepArms)
746
	character:BreakJoints()
747
	coroutine.resume(coroutine.create(function()
748
		recurse(character, function(_,v)
749
			if v:IsA("Attachment") then
750
				v.Axis = Vector3.new(0, 1, 0)
751
				v.SecondaryAxis = Vector3.new(0, 0, 1)
752
				v.Rotation = Vector3.new(0, 0, 0)
753
			end
754
		end)
755
		for _,child in next,character:GetChildren() do
756
			if child:IsA("Accoutrement") then
757
				for _,part in next,child:GetChildren() do
758
					if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
759
						local attachment1 = part:FindFirstChildOfClass("Attachment")
760
						local attachment0 = getAttachment0(character,attachment1.Name)
761
						if attachment0 and attachment1 then
762
							local constraint = Instance.new("HingeConstraint")
763
							constraint.Attachment0 = attachment0
764
							constraint.Attachment1 = attachment1
765
							constraint.LimitsEnabled = true
766
							constraint.UpperAngle = 0
767
							constraint.LowerAngle = 0
768
							constraint.Parent = character
769
						end
770
						ArtificialHitbox(part)
771
					elseif part.Name == "HumanoidRootPart" then
772
						part:remove()
773
					end
774
				end
775
			end
776
		end
777
		
778
		ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
779
			{"LimitsEnabled",true};
780
			{"UpperAngle",5};
781
		})
782
		if character:FindFirstChild("Head") then
783
			ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
784
				{"LimitsEnabled",true};
785
				{"UpperAngle",15};
786
			})
787
		end
788
		
789
		local handProperties = {
790
			{"LimitsEnabled", true};
791
			{"UpperAngle",0};
792
			{"LowerAngle",0};
793
		}
794
		ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
795
		ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
796
		
797
		local shinProperties = {
798
			{"LimitsEnabled", true};
799
			{"UpperAngle", 0};
800
			{"LowerAngle", -75};
801
		}
802
		ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
803
		ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
804
		
805
		local footProperties = {
806
			{"LimitsEnabled", true};
807
			{"UpperAngle", 15};
808
			{"LowerAngle", -45};
809
		}
810
		ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
811
		ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
812
		if KeepArms == true then
813
			ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
814
			ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
815
			ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
816
			ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
817
		end
818
		ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
819
		ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
820
		Debris:AddItem(character,5)
821
	end))
822
end
823
824
function Ragdoll(Character2,CharTorso,KeepArms)
825
	coroutine.resume(coroutine.create(function()
826
		Character2:BreakJoints()
827
		local hum = Character2:findFirstChild("Humanoid")
828
		hum:remove()
829
		local function Scan(ch)
830
			local e
831
			for e = 1,#ch do
832
				Scan(ch[e]:GetChildren())
833
				if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
834
					ch[e]:remove()
835
				end
836
			end
837
		end
838
		local NEWHUM = IT("Humanoid")
839
		NEWHUM.Name = "Corpse"
840
		NEWHUM.Health = 0
841
		NEWHUM.MaxHealth = 0
842
		NEWHUM.PlatformStand = true
843
		NEWHUM.Parent = Character2
844
		NEWHUM.DisplayDistanceType = "None"
845
	
846
		local ch = Character2:GetChildren()
847
		local i
848
		for i = 1,#ch do
849
			if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
850
				ch[i]:remove()
851
			end
852
		end
853
	
854
		local Torso2 = Character2.Torso
855
		local movevector = Vector3.new()
856
	
857
		if Torso2 then
858
			movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
859
			local Head = Character2:FindFirstChild("Head")
860
			if Head then
861
				local Neck = Instance.new("Weld")
862
				Neck.Name = "Neck"
863
				Neck.Part0 = Torso2
864
				Neck.Part1 = Head
865
				Neck.C0 = CFrame.new(0, 1.5, 0)
866
				Neck.C1 = CFrame.new()
867
				Neck.Parent = Torso2
868
	
869
			end
870
			local Limb = Character2:FindFirstChild("Right Arm")
871
			if Limb and KeepArms == true then
872
	
873
				Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
874
				local Joint = Instance.new("Glue")
875
				Joint.Name = "RightShoulder"
876
				Joint.Part0 = Torso2
877
				Joint.Part1 = Limb
878
				Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
879
				Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
880
				Joint.Parent = Torso2
881
	
882
				local B = Instance.new("Part")
883
				B.TopSurface = 0
884
				B.BottomSurface = 0
885
				B.formFactor = "Symmetric"
886
				B.Size = Vector3.new(1, 1, 1)
887
				B.Transparency = 1
888
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
889
				B.Parent = Character2
890
				local W = Instance.new("Weld")
891
				W.Part0 = Limb
892
				W.Part1 = B
893
				W.C0 = CFrame.new(0, -0.5, 0)
894
				W.Parent = Limb
895
	
896
			end
897
			local Limb = Character2:FindFirstChild("Left Arm")
898
			if Limb and KeepArms == true then
899
	
900
				Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
901
				local Joint = Instance.new("Glue")
902
				Joint.Name = "LeftShoulder"
903
				Joint.Part0 = Torso2
904
				Joint.Part1 = Limb
905
				Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
906
				Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
907
				Joint.Parent = Torso2
908
	
909
				local B = Instance.new("Part")
910
				B.TopSurface = 0
911
				B.BottomSurface = 0
912
				B.formFactor = "Symmetric"
913
				B.Size = Vector3.new(1, 1, 1)
914
				B.Transparency = 1
915
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
916
				B.Parent = Character2
917
				local W = Instance.new("Weld")
918
				W.Part0 = Limb
919
				W.Part1 = B
920
				W.C0 = CFrame.new(0, -0.5, 0)
921
				W.Parent = Limb
922
	
923
			end
924
			local Limb = Character2:FindFirstChild("Right Leg")
925
			if Limb then
926
	
927
				Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
928
				local Joint = Instance.new("Glue")
929
				Joint.Name = "RightHip"
930
				Joint.Part0 = Torso2
931
				Joint.Part1 = Limb
932
				Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
933
				Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
934
				Joint.Parent = Torso2
935
	
936
				local B = Instance.new("Part")
937
				B.TopSurface = 0
938
				B.BottomSurface = 0
939
				B.formFactor = "Symmetric"
940
				B.Size = Vector3.new(1, 1, 1)
941
				B.Transparency = 1
942
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
943
				B.Parent = Character2
944
				local W = Instance.new("Weld")
945
				W.Part0 = Limb
946
				W.Part1 = B
947
				W.C0 = CFrame.new(0, -0.5, 0)
948
				W.Parent = Limb
949
	
950
			end
951
			local Limb = Character2:FindFirstChild("Left Leg")
952
			if Limb then
953
	
954
				Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
955
				local Joint = Instance.new("Glue")
956
				Joint.Name = "LeftHip"
957
				Joint.Part0 = Torso2
958
				Joint.Part1 = Limb
959
				Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
960
				Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
961
				Joint.Parent = Torso2
962
	
963
				local B = Instance.new("Part")
964
				B.TopSurface = 0
965
				B.BottomSurface = 0
966
				B.formFactor = "Symmetric"
967
				B.Size = Vector3.new(1, 1, 1)
968
				B.Transparency = 1
969
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
970
				B.Parent = Character2
971
				local W = Instance.new("Weld")
972
				W.Part0 = Limb
973
				W.Part1 = B
974
				W.C0 = CFrame.new(0, -0.5, 0)
975
				W.Parent = Limb
976
	
977
			end
978
			--[
979
			local Bar = Instance.new("Part")
980
			Bar.TopSurface = 0
981
			Bar.BottomSurface = 0
982
			Bar.formFactor = "Symmetric"
983
			Bar.Size = Vector3.new(1, 1, 1)
984
			Bar.Transparency = 1
985
			Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
986
			Bar.Parent = Character2
987
			local Weld = Instance.new("Weld")
988
			Weld.Part0 = Torso2
989
			Weld.Part1 = Bar
990
			Weld.C0 = CFrame.new(0, 0.5, 0)
991
			Weld.Parent = Torso2
992
			--]]
993
		end
994
		Character2.Parent = workspace
995
		Debris:AddItem(Character2,5)
996
	
997
		return Character2,Torso2
998
	end))
999
end
1000
1001
--//=================================\\
1002
--||	     WEAPON CREATION
1003
--\\=================================//
1004
1005
local DUST = CreateParticles(RightArm,VT(0,0,0),5,2,"Smoke",false,false,5,0)
1006
DUST.ZOffset = 1
1007
RightArm.Transparency = 1
1008
local BasePart = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(1,2,1),false)
1009
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1010
local Sphere = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(1.4,1.4,1.4),false)
1011
MakeForm(Sphere,"Ball")
1012
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Sphere, CF(0.2,0.8,0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1013
local LaserPart = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0.3,0.3,0.1),false)
1014
MakeForm(LaserPart,"Ball")
1015
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, LaserPart, CF(0,0,-0.65) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1016
local Bump = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.3,0.2),false)
1017
MakeForm(Bump,"Ball")
1018
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, Bump, CF(0,0,0.65) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1019
local BottomLaser = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0.4,0,0.4),false)
1020
MakeForm(BottomLaser,"Cyl")
1021
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, BottomLaser, CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1022
local Part1 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.5,0.5),false)
1023
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part1, CF(0,-0.76,-0.26) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1024
local Part2 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.5,0.5),false)
1025
CreateWeldOrSnapOrMotor("Weld", BasePart, Part1, Part2, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, -0.25, 0))
1026
local Part3 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.5,0.5),false)
1027
CreateWeldOrSnapOrMotor("Weld", BasePart, Part1, Part3, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-90)), CF(0, -0.26, 0))
1028
local Part4 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.56,0.5),false)
1029
CreateWeldOrSnapOrMotor("Weld", BasePart, Part2, Part4, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, -0.26, 0))
1030
local Part5 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.56,0.5),false)
1031
CreateWeldOrSnapOrMotor("Weld", BasePart, Part4, Part5, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-125)), CF(0, -0.26, 0))
1032
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.25,0.5),false)
1033
CreateWeldOrSnapOrMotor("Weld", BasePart, Part4, Part, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, -0.26/2, 0))
1034
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.3,0.5),false)
1035
CreateWeldOrSnapOrMotor("Weld", BasePart, Part2, Part, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-65)), CF(0, -0.31/2, 0))
1036
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(1.4,0,1.4),false)
1037
MakeForm(Part,"Cyl")
1038
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, Part, CF(0.035,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1039
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(1.4,0,1.4),false)
1040
MakeForm(Part,"Cyl")
1041
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, Part, CF(0,-0.035,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
1042
local Sphere = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(0.3,1.6,0.7),false)
1043
MakeForm(Sphere,"Ball")
1044
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Sphere, CF(0.45,0.5,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1045
local BODY = {}
1046
for _, c in pairs(Character:GetDescendants()) do
1047
		if c:IsA("BasePart") then
1048
			table.insert(BODY, {
1049
				c,
1050
				c.Parent,
1051
				c.Material,
1052
				c.Color
1053
			})
1054
		elseif c:IsA("JointInstance") then
1055
			table.insert(BODY, {
1056
				c,
1057
				c.Parent,
1058
				nil,
1059
				nil
1060
			})
1061
		end
1062
	end
1063
for _, c in pairs(Weapon:GetChildren()) do
1064
	if c.ClassName == "Part" then
1065
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1066
	end
1067
end
1068
1069
1070
for _, c in pairs(Character:GetDescendants()) do
1071
	if c:IsA("BasePart") then
1072
		table.insert(BODY, {
1073
			c,
1074
			c.Parent,
1075
			c.Material,
1076
			c.Color
1077
		})
1078
	elseif c:IsA("JointInstance") then
1079
		table.insert(BODY, {
1080
			c,
1081
			c.Parent,
1082
			nil,
1083
			nil
1084
		})
1085
	end
1086
end
1087
1088
for e = 1, #BODY do
1089
	if BODY[e] ~= nil then
1090
		do
1091
			local STUFF = BODY[e]
1092
			local PART = STUFF[1]
1093
			local PARENT = STUFF[2]
1094
			local MATERIAL = STUFF[3]
1095
			local COLOR = STUFF[4]
1096
			PART.AncestryChanged:Connect(function()
1097
				if PART.ClassName == "Part" then
1098
					PART.Material = MATERIAL
1099
					PART.Color = COLOR
1100
				end
1101
				PART.Parent = PARENT
1102
			end)
1103
		end
1104
	end
1105
end
1106
function refit()
1107
	Weapon.Parent = Character
1108
	Character.Parent = workspace
1109
	for e = 1, #BODY do
1110
		if BODY[e] ~= nil then
1111
			local STUFF = BODY[e]
1112
			local PART = STUFF[1]
1113
			local PARENT = STUFF[2]
1114
			local MATERIAL = STUFF[3]
1115
			local COLOR = STUFF[4]
1116
			if PART.Parent ~= PARENT then
1117
				Humanoid:remove()
1118
				if PART.ClassName == "Part" then
1119
					PART.Material = MATERIAL
1120
					PART.Color = COLOR
1121
				end
1122
				PART.Parent = PARENT
1123
				Humanoid = IT("Humanoid", Character)
1124
			end
1125
		end
1126
	end
1127
end
1128
1129
1130
1131
local SKILLTEXTCOLOR = C3(1,0,0)
1132
local SKILLFONT = "SciFi"
1133
local SKILLTEXTSIZE = 5
1134
1135
Weapon.Parent = Character
1136
Humanoid.Died:connect(function()
1137
	refit()
1138
end)
1139
1140
1141
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1142
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1143
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
1144
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
1145
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.74, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
1146
local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
1147
1148
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 1")
1149
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 2")
1150
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 3")
1151
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 4")
1152
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[E]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 5")
1153
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[X]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 6")
1154
1155
--//=================================\\
1156
--||	ATTACK FUNCTIONS AND STUFF
1157
--\\=================================//
1158
1159
function Warp()
1160
	local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 100, Character)
1161
	if HITFLOOR then
1162
		CharacterFade(C3(0.5,0,0),50)
1163
		HITPOS = HITPOS + VT(0,3.5,0)
1164
		local POS = RootPart.Position
1165
		RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
1166
		CreateSound(289556450,Torso,2,MRANDOM(8,13)/10,false)
1167
	end
1168
end
1169
1170
function Dash()
1171
	ATTACK = true
1172
	Rooted = true
1173
	local SOUND = CreateSound(1165167610, Torso, 1, 1, true)
1174
	local LOOP = 0
1175
	repeat
1176
		LOOP = LOOP + 1
1177
		Swait()
1178
		local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, 5, workspace)	
1179
		local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 100, Character)
1180
		if HITFLOOR then
1181
			CharacterFade(C3(0.5,0,0),35)
1182
			HITPOS = HITPOS + VT(0,3.5,0)
1183
			local POS = RootPart.Position
1184
			RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
1185
			RootPart.Velocity = VT(0,0,0)
1186
			RootPart.RotVelocity = VT(0,0,0)
1187
		end
1188
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(75), RAD(0), RAD(0)), 1 / Animation_Speed)
1189
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
1190
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1191
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1192
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1193
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1194
	until KEYHOLD == false
1195
	coroutine.resume(coroutine.create(function()
1196
		for i = 1, 20 do
1197
			Swait()
1198
			SOUND.Volume = SOUND.Volume - 1/20
1199
		end
1200
		SOUND:remove()
1201
	end))
1202
	if LOOP > 50 then
1203
		CreateSound(772085046,Torso,5,MRANDOM(8,13)/10,false)
1204
		for i = 1, 100 do
1205
			Swait()
1206
			RootPart.CFrame = RootPart.CFrame * CF(0,0,-(1-(i/100))/3)
1207
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,0.5,1), Size2 = VT(2,0,2), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RightLeg.CFrame*CF(0,-1,0).p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0.3,0.3), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1208
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,0.5,1), Size2 = VT(2,0,2), Transparency = 0.7, Transparency2 = 1, CFrame = CF(LeftLeg.CFrame*CF(0,-1,0).p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0.3,0.3), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1209
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
1210
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1211
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1212
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1213
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1214
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1215
		end
1216
	end
1217
	ATTACK = false
1218
	Rooted = false
1219
end
1220
1221
function LimbRip()
1222
	ATTACK = true
1223
	Rooted = false
1224
	local TARGET = nil
1225
	local ROOT = nil
1226
	local HUMAN = nil
1227
	local DIST = 4
1228
	Speed = 12
1229
	for i=0, 1, 0.1 / Animation_Speed do
1230
		Swait()
1231
		local CHILDREN = workspace:GetDescendants()
1232
		for index, CHILD in pairs(CHILDREN) do
1233
			if CHILD.ClassName == "Model" and CHILD ~= Character then
1234
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1235
				if HUM then
1236
					local TORSO = CHILD:FindFirstChild("HumanoidRootPart") or CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1237
					if TORSO and HUM.Health > 0 then
1238
						if (TORSO.Position - RightArm.Position).Magnitude <= DIST then
1239
							DIST = (TORSO.Position - RightArm.Position).Magnitude
1240
							ROOT = TORSO
1241
							HUMAN = HUM
1242
							TARGET = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1243
						end
1244
					end
1245
				end
1246
			end
1247
		end
1248
		if ROOT then
1249
			break
1250
		end
1251
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1252
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(-25)), 1 / Animation_Speed)
1253
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1254
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1255
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1256
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1257
	end
1258
	Speed = 16
1259
	if ROOT then
1260
		CreateSound(305685800,Torso,5,1.3,false)
1261
		Rooted = true
1262
		local GORED = false
1263
		coroutine.resume(coroutine.create(function()
1264
			repeat
1265
				Swait()
1266
				ROOT.Anchored = true
1267
			until GORED == true
1268
			ROOT.Anchored = false
1269
		end))
1270
		RootPart.CFrame = ROOT.CFrame*CF(0,0,2.25)
1271
		if TARGET.Name == "Torso" then
1272
			local RARM = TARGET.Parent:FindFirstChild("Right Arm")
1273
			local LARM = TARGET.Parent:FindFirstChild("Left Arm")
1274
			if RARM and LARM then
1275
				for i=0, 1, 0.1 / Animation_Speed do
1276
					Swait()
1277
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1278
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1279
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1280
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1281
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1282
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1283
				end
1284
				for _, c in pairs(TARGET.Parent:GetDescendants()) do
1285
					if c:IsA("JointInstance") then
1286
						if c.Part1 == RARM or c.Part1 == LARM or c.Part0 == RARM or c.Part0 == LARM then
1287
							c:remove()
1288
						end
1289
					end
1290
				end
1291
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
1292
				CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1293
				CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1294
				for i=0, 1, 0.1 / Animation_Speed do
1295
					Swait()
1296
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1297
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1298
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1299
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1300
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1301
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1302
				end
1303
				for i=0, 1, 0.1 / Animation_Speed do
1304
					Swait()
1305
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
1306
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1307
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1308
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1309
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,1.5,0), 1 / Animation_Speed)
1310
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1311
				end
1312
				for i=0, 0.1, 0.1 / Animation_Speed do
1313
					Swait()
1314
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1315
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1316
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1317
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1318
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1319
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1320
				end
1321
				GORED = true
1322
				Ragdoll(TARGET.Parent,Torso)
1323
				if ROOT.Name ~= "Torso" then
1324
					ROOT:remove()
1325
				end
1326
				local RGRAB = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1327
				local LGRAB = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1328
				local bv = Instance.new("BodyVelocity",TARGET) 
1329
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1330
				bv.velocity = TARGET.CFrame.lookVector*75
1331
				Debris:AddItem(bv,0.05)
1332
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
1333
				for i=0, 0.5, 0.1 / Animation_Speed do
1334
					Swait()
1335
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1336
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1337
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1338
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1339
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1340
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1341
				end
1342
				for i=0, 1, 0.1 / Animation_Speed do
1343
					Swait()
1344
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1345
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1346
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
1347
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.6 / Animation_Speed)
1348
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1349
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1350
				end
1351
				local HITBOX = CreatePart(3, RARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
1352
				HITBOX.CFrame = RARM.CFrame
1353
				HITBOX.CanCollide = true
1354
				weldBetween(RARM,HITBOX)
1355
				local HITBOX = CreatePart(3, LARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
1356
				HITBOX.CFrame = LARM.CFrame
1357
				HITBOX.CanCollide = true
1358
				weldBetween(LARM,HITBOX)
1359
				RGRAB:remove()
1360
				LGRAB:remove()
1361
				for i=0, 0.4, 0.1 / Animation_Speed do
1362
					Swait()
1363
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1364
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1365
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(110)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1366
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-110)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1367
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1368
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1369
				end
1370
			end
1371
		elseif TARGET.Name == "UpperTorso" then
1372
			if TARGET.Parent:FindFirstChild("RightUpperArm") and TARGET.Parent:FindFirstChild("LeftUpperArm") then
1373
				for i=0, 0.3, 0.1 / Animation_Speed do
1374
					Swait()
1375
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1376
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1377
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(140), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1378
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1379
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1380
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1381
				end
1382
				local SAWBLADE = CreatePart(3, Weapon, "Neon", 0, 0.5, "Really red", "Part", VT(0,0,0),false)
1383
				local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SAWBLADE, CF(0,-1,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
1384
				local BLADE = true
1385
				CreateMesh("SpecialMesh", SAWBLADE, "FileMesh", "74322089", "", VT(1,1,1), VT(0,0,0))
1386
				coroutine.resume(coroutine.create(function()
1387
					repeat
1388
						Swait()
1389
						WELD.C1 = WELD.C1 * ANGLES(RAD(0), RAD(0), RAD(25))
1390
					until BLADE == false
1391
					SAWBLADE:remove()
1392
				end))
1393
				CreateSound(1165167936, SAWBLADE, 2, 1, true)
1394
				for i=0, 1, 0.1 / Animation_Speed do
1395
					Swait()
1396
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1397
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1398
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(140), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1399
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1400
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1401
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1402
				end
1403
				for i=0, 3, 0.1 / Animation_Speed do
1404
					Swait()
1405
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1406
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1407
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(15), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(-25), RAD(0)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
1408
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1409
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1410
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1411
				end
1412
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
1413
				TARGET.Parent:FindFirstChild("RightUpperArm").RightShoulder:remove()
1414
				for i=0, 1, 0.1 / Animation_Speed do
1415
					Swait()
1416
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0.3) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
1417
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-80)), 1 / Animation_Speed)
1418
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, 0) * ANGLES(RAD(140), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1419
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1420
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1421
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1422
				end
1423
				for i=0, 3, 0.1 / Animation_Speed do
1424
					Swait()
1425
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
1426
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-80)), 1 / Animation_Speed)
1427
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
1428
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1429
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1430
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1431
				end
1432
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
1433
				TARGET.Parent:FindFirstChild("LeftUpperArm").LeftShoulder:remove()
1434
				BLADE = false
1435
				for i=0, 0.5, 0.1 / Animation_Speed do
1436
					Swait()
1437
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
1438
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1439
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1440
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1441
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,1.5,0), 1 / Animation_Speed)
1442
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1443
				end
1444
				for i=0, 0.1, 0.1 / Animation_Speed do
1445
					Swait()
1446
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1447
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1448
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-32), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1449
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1450
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1451
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1452
				end
1453
				GORED = true
1454
				TARGET.Parent:BreakJoints()
1455
				R15Ragdoll(TARGET.Parent)
1456
				if ROOT.Name ~= "Torso" then
1457
					ROOT:remove()
1458
				end
1459
				local bv = Instance.new("BodyVelocity",TARGET) 
1460
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1461
				bv.velocity = TARGET.CFrame.lookVector*75
1462
				Debris:AddItem(bv,0.05)
1463
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
1464
				for i=0, 0.3, 0.1 / Animation_Speed do
1465
					Swait()
1466
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1467
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1468
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-32), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1469
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1470
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1471
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1472
				end
1473
			end
1474
		end
1475
	end
1476
	ATTACK = false
1477
	Rooted = false
1478
end
1479
1480
function Buzzsaw()
1481
	ATTACK = true
1482
	Rooted = false
1483
	local ARMSPEED = 0.1
1484
	local TARGET = nil
1485
	local ROOT = nil
1486
	local HUMAN = nil
1487
	local DIST = 4
1488
	local SAWBLADE = CreatePart(3, Weapon, "Neon", 0, 0.5, "Really red", "Part", VT(0,0,0),false)
1489
	local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SAWBLADE, CF(0,-1,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
1490
	local BLADE = true
1491
	CreateMesh("SpecialMesh", SAWBLADE, "FileMesh", "74322089", "", VT(2,2,1), VT(0,0,0))
1492
	coroutine.resume(coroutine.create(function()
1493
		repeat
1494
			Swait()
1495
			WELD.C1 = WELD.C1 * ANGLES(RAD(0), RAD(0), RAD(25))
1496
		until BLADE == false
1497
		SAWBLADE:remove()
1498
	end))
1499
	CreateSound(1165167936, SAWBLADE, 2, 1, true)
1500
	for i=0, 1, 0.1 / Animation_Speed do
1501
		Swait()
1502
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1503
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1504
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.5, -0.5) * ANGLES(RAD(175), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1505
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1506
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1507
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1508
	end
1509
	for i=0, 2, 0.1 / Animation_Speed do
1510
		Swait()
1511
		local CHILDREN = workspace:GetDescendants()
1512
		for index, CHILD in pairs(CHILDREN) do
1513
			if CHILD.ClassName == "Model" and CHILD ~= Character then
1514
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1515
				if HUM then
1516
					local TORSO = CHILD:FindFirstChild("HumanoidRootPart") or CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1517
					if TORSO and HUM.Health > 0 then
1518
						if (TORSO.Position - RightArm.Position).Magnitude <= DIST then
1519
							DIST = (TORSO.Position - RightArm.Position).Magnitude
1520
							ROOT = TORSO
1521
							HUMAN = HUM
1522
							TARGET = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1523
						end
1524
					end
1525
				end
1526
			end
1527
		end
1528
		if ROOT then
1529
			break
1530
		end
1531
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1532
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1533
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.5, -0.5) * ANGLES(RAD(15), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, ARMSPEED / Animation_Speed)
1534
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1535
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1536
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1537
	end
1538
	if ROOT then
1539
		ARMSPEED = 0.03
1540
		Rooted = true
1541
		RootPart.CFrame = ROOT.CFrame*CF(0,0,2.5)
1542
		repeat
1543
			HUMAN.Health = HUMAN.Health - 0.5
1544
			Swait()
1545
			ROOT.Anchored = true
1546
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1547
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1548
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, ARMSPEED / Animation_Speed)
1549
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1550
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1551
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1552
		until RightArm.Position.Y < Torso.Position.Y-0.15 or HUMAN.Health == 0
1553
		ROOT.Anchored = false
1554
		if HUMAN.Health == 0 then
1555
			if ROOT.Name ~= "Torso" then
1556
				ROOT:remove()
1557
			end
1558
			if TARGET.Name == "Torso" then
1559
				Ragdoll(HUMAN.Parent,Torso,true)
1560
			elseif TARGET.Name == "UpperTorso" then
1561
				R15Ragdoll(HUMAN.Parent,true)
1562
			end
1563
		end
1564
	end
1565
	BLADE = false
1566
	ATTACK = false
1567
	Rooted = false
1568
end
1569
1570
function ReeeEEEEEE()
1571
	ATTACK = true
1572
	Rooted = false
1573
	Speed = 12
1574
	local FX = CreateSound(198165368, Head, 4, 0.5, false)
1575
	repeat
1576
		Swait()
1577
		FX.Parent = Head
1578
		local CHILDREN = workspace:GetDescendants()
1579
		for index, CHILD in pairs(CHILDREN) do
1580
			if CHILD.ClassName == "Model" and CHILD ~= Character then
1581
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1582
				if HUM then
1583
					local TORSO = CHILD:FindFirstChild("Head")
1584
					if TORSO then
1585
						if (TORSO.Position - Head.Position).Magnitude <= 25 then
1586
							WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1587
							TORSO:remove()
1588
							if CHILD:FindFirstChild("Torso") then
1589
								Ragdoll(CHILD,Torso,true)
1590
							elseif CHILD:FindFirstChild("UpperTorso") then
1591
								R15Ragdoll(CHILD,true)
1592
							end
1593
						end
1594
					end
1595
				end
1596
			end
1597
		end
1598
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
1599
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
1600
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(15)) * ANGLES(RAD(0), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1601
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-15)) * ANGLES(RAD(0), RAD(-15), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1602
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-45), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1603
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-45), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1604
	until FX.Playing == false
1605
	Speed = 16
1606
	ATTACK = false
1607
	Rooted = false
1608
end
1609
1610
function Needle()
1611
	ATTACK = true
1612
	Rooted = true
1613
	local GYRO = IT("BodyGyro",RootPart)
1614
	GYRO.D = 2
1615
	GYRO.P = 2000
1616
	GYRO.MaxTorque = VT(0,4000000,0)
1617
	local NEEDGYRO = true
1618
	coroutine.resume(coroutine.create(function()
1619
		repeat
1620
			Swait()
1621
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1622
		until NEEDGYRO == false
1623
		GYRO:Remove()
1624
	end))
1625
	for i=0, 0.3, 0.1 / Animation_Speed do
1626
		Swait()
1627
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1628
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1629
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1630
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1631
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1632
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, 0) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1633
	end
1634
	for i=0, 1, 0.1 / Animation_Speed do
1635
		Swait()
1636
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1637
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(15), RAD(-45)), 1 / Animation_Speed)
1638
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1639
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1640
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1641
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, 0) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1642
	end
1643
	local HIT,POS = CastProperRay(RightArm.CFrame*CF(0,-1,0).p,Mouse.Hit.p,300,Character)
1644
	WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 90655239, SoundPitch = 1, SoundVolume = 2})
1645
	NEEDGYRO = false
1646
	if HIT then
1647
		local NEEDLE = IT("Model",Effects)
1648
		local BASE = CreatePart(3, NEEDLE, "Glass", 0, 0.5, "Pearl", "Part", VT(0.3,0.6,0.3), false)
1649
		MakeForm(BASE,"Cyl")
1650
		BASE.CFrame = CF(POS,RightArm.CFrame*CF(0,-1,0).p) * ANGLES(RAD(90), RAD(0), RAD(0))*CF(0,-0.35,0)
1651
		weldBetween(BASE,HIT)
1652
		local FLUID = CreatePart(3, NEEDLE, "Neon", 0, 0, "Lime green", "Part", VT(0.28,0.58,0.28), false)
1653
		MakeForm(FLUID,"Cyl")
1654
		FLUID.CFrame = BASE.CFrame
1655
		weldBetween(BASE,FLUID)
1656
		local PART = CreatePart(3, NEEDLE, "Metal", 0, 0, "Pearl", "Part", VT(0,0.2,0), false)
1657
		PART.CFrame = BASE.CFrame*CF(0,0.4,0)
1658
		weldBetween(BASE,PART)
1659
		local PART = CreatePart(3, NEEDLE, "Metal", 0, 0, "Pearl", "Part", VT(0.1,0.1,0.1), false)
1660
		PART.CFrame = BASE.CFrame*CF(0,-0.35,0)
1661
		weldBetween(BASE,PART)
1662
		local PART = CreatePart(3, NEEDLE, "Metal", 0, 0, "Pearl", "Part", VT(0.2,0.1,0.2), false)
1663
		PART.CFrame = BASE.CFrame*CF(0,-0.4,0)
1664
		weldBetween(BASE,PART)
1665
		Debris:AddItem(NEEDLE,7)
1666
		if HIT.Parent:FindFirstChildOfClass("Humanoid") then
1667
			local HUMAN = HIT.Parent:FindFirstChildOfClass("Humanoid")
1668
			coroutine.resume(coroutine.create(function()
1669
				for i = 1, 500 do
1670
					HUMAN.Health = HUMAN.Health - MRANDOM(1,6)/5
1671
					if HUMAN.Health == 0 then
1672
						break
1673
					end
1674
					Swait(2)
1675
				end
1676
				if HUMAN.Health == 0 then
1677
					local CHILD = HUMAN.Parent
1678
					if CHILD:FindFirstChild("Torso") then
1679
						CHILD:FindFirstChild("Torso").CFrame = CHILD:FindFirstChild("Torso").CFrame * ANGLES(RAD(2), RAD(0), RAD(0))
1680
						Ragdoll(CHILD,Torso,true)
1681
					elseif CHILD:FindFirstChild("UpperTorso") then
1682
						R15Ragdoll(CHILD,true)
1683
					end
1684
				end
1685
			end))
1686
		end
1687
	end
1688
	for i=0, 1, 0.1 / Animation_Speed do
1689
		Swait()
1690
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1691
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(15), RAD(-45)), 1 / Animation_Speed)
1692
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1693
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1694
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1695
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, 0) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1696
	end
1697
	ATTACK = false
1698
	Rooted = false
1699
end
1700
1701
function ScrewThis()
1702
	ATTACK = true
1703
	Rooted = true
1704
	local SCREW = CreatePart(3, Weapon, "Neon", 0, 1, "Really red", "Part", VT(2, 0.4, 0.4)/2,false)
1705
	SCREW.CanCollide = true
1706
	local WELD = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, SCREW, CF(0,-1,0.2) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
1707
	CreateMesh("SpecialMesh", SCREW, "FileMesh", "70265804", "70265794", VT(1,1,1)/1.5, VT(0,0,0))
1708
	for i=0, 0.4, 0.1 / Animation_Speed do
1709
		Swait()
1710
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1711
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 1 / Animation_Speed)
1712
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1713
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1714
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1715
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1716
	end
1717
	SCREW.Transparency = 0
1718
	for i=0, 0.1, 0.1 / Animation_Speed do
1719
		Swait()
1720
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1721
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
1722
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(60), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1723
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1724
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1725
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1726
	end
1727
	for i=0, 1, 0.1 / Animation_Speed do
1728
		Swait()
1729
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1730
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
1731
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.15, -0.5) * ANGLES(RAD(40), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1732
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.7, 0.5, -0.3) * ANGLES(RAD(120), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1733
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1734
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1735
	end
1736
	for i = 1, 3 do
1737
		for i=0, 0.3, 0.1 / Animation_Speed do
1738
			Swait()
1739
			WELD.C1 = WELD.C1 * ANGLES(RAD(5), RAD(0), RAD(0))
1740
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1741
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
1742
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.15, -0.5) * ANGLES(RAD(40), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1743
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.7, 0.5, -0.3) * ANGLES(RAD(120), RAD(0), RAD(78)) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1744
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1745
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1746
		end
1747
		for i=0, 1, 0.1 / Animation_Speed do
1748
			Swait()
1749
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1750
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
1751
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.15, -0.5) * ANGLES(RAD(40), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1752
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.7, 0.5, -0.3) * ANGLES(RAD(120), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1753
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1754
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1755
		end
1756
	end
1757
	if MRANDOM(1, 5) == 1 then
1758
		DUST:Emit(25)
1759
		WELD:remove()
1760
		CreateSound(328460122, RightArm, 3, 1, false)
1761
		SCREW.Velocity = CF(RightArm.Position,SCREW.Position).lookVector*65
1762
		Debris:AddItem(SCREW,6)
1763
		for i=0, 3, 0.1 / Animation_Speed do
1764
			Swait()
1765
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1766
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
1767
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.15, -0.5) * ANGLES(RAD(40), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1768
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.7, 0.5, -0.3) * ANGLES(RAD(120), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1769
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1770
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1771
		end
1772
		for i = 1, 3 do
1773
			for i=0, 0.35, 0.1 / Animation_Speed do
1774
				Swait()
1775
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1776
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(15)), 1 / Animation_Speed)
1777
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.15, -0.5) * ANGLES(RAD(40), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1778
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.7, 0.5, -0.3) * ANGLES(RAD(120), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1779
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1780
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1781
			end
1782
			for i=0, 0.35, 0.1 / Animation_Speed do
1783
				Swait()
1784
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1785
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-15)), 1 / Animation_Speed)
1786
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.15, -0.5) * ANGLES(RAD(40), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1787
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.7, 0.5, -0.3) * ANGLES(RAD(120), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1788
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1789
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1790
			end
1791
		end
1792
	else
1793
		for i=0, 0.5, 0.1 / Animation_Speed do
1794
			Swait()
1795
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1796
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(60)), 1 / Animation_Speed)
1797
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1798
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1799
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1800
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1801
		end
1802
		WELD:remove()
1803
		for i=0, 0.15, 0.1 / Animation_Speed do
1804
			Swait()
1805
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1806
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(60)), 1 / Animation_Speed)
1807
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1808
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-110)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1809
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1810
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1811
		end
1812
		Debris:AddItem(SCREW,6)
1813
	end
1814
	ATTACK = false
1815
	Rooted = false
1816
end
1817
1818
--//=================================\\
1819
--||	  ASSIGN THINGS TO KEYS
1820
--\\=================================//
1821
1822
function MouseDown(Mouse)
1823
	if ATTACK == false then
1824
	end
1825
end
1826
1827
function MouseUp(Mouse)
1828
HOLD = false
1829
end
1830
1831
function KeyDown(Key)
1832
	KEYHOLD = true
1833
	if Key == "z" and ATTACK == false then
1834
		Warp()
1835
	end
1836
1837
	if Key == "b" and ATTACK == false then
1838
		Dash()
1839
	end
1840
1841
	if Key == "c" and ATTACK == false then
1842
		LimbRip()
1843
	end
1844
1845
	if Key == "v" and ATTACK == false then
1846
		Buzzsaw()
1847
	end
1848
1849
	if Key == "e" and ATTACK == false then
1850
		ReeeEEEEEE()
1851
	end
1852
1853
	if Key == "x" and ATTACK == false then
1854
		Needle()
1855
	end
1856
1857
	if Key == "t" and ATTACK == false then
1858
		ScrewThis()
1859
	end
1860
end
1861
1862
function KeyUp(Key)
1863
	KEYHOLD = false
1864
end
1865
1866
	Mouse.Button1Down:connect(function(NEWKEY)
1867
		MouseDown(NEWKEY)
1868
	end)
1869
	Mouse.Button1Up:connect(function(NEWKEY)
1870
		MouseUp(NEWKEY)
1871
	end)
1872
	Mouse.KeyDown:connect(function(NEWKEY)
1873
		KeyDown(NEWKEY)
1874
	end)
1875
	Mouse.KeyUp:connect(function(NEWKEY)
1876
		KeyUp(NEWKEY)
1877
	end)
1878
1879
--//=================================\\
1880
--\\=================================//
1881
1882
function AntiTimeStop()
1883
	for _, c in pairs(Character:GetChildren()) do
1884
		if c:IsA("BasePart") then
1885
			c.Anchored = false
1886
		end
1887
	end
1888
	for _, c in pairs(Weapon:GetChildren()) do
1889
		if c:IsA("BasePart") then
1890
			c.Anchored = false
1891
		end
1892
	end
1893
end
1894
1895
--//=================================\\
1896
--||	WRAP THE WHOLE SCRIPT UP
1897
--\\=================================//
1898
1899
Humanoid.Changed:connect(function(Jump)
1900
	if Jump == "Jump" and (Disable_Jump == true) then
1901
		Humanoid.Jump = false
1902
	end
1903
end)
1904
1905
local sick = IT("Sound")
1906
1907
while true do
1908
	Swait()
1909
	script.Parent = WEAPONGUI
1910
	ANIMATE.Parent = nil
1911
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1912
	    v:Stop();
1913
	end
1914
	SINE = SINE + CHANGE
1915
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1916
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1917
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1918
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1919
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1920
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1921
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1922
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2- 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(90 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1923
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(90 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1924
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1925
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1926
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1927
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1928
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1929
	end
1930
	if HITFLOOR == nil then
1931
		ANIM = "Midair"
1932
		if ATTACK == false then
1933
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1934
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
1935
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1936
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1937
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.2, -0.6) * ANGLES(RAD(15), RAD(70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1938
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.2, -0.6) * ANGLES(RAD(15), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1939
		end
1940
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1941
		ANIM = "Idle"
1942
		if ATTACK == false then
1943
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1944
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1945
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.35 * SIN(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(10 - 15 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-15), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1946
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.35 * SIN(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(-10 + 15 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1947
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1948
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1949
		end
1950
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1951
		ANIM = "Walk"
1952
		if ATTACK == false then
1953
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(10 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
1954
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-10 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
1955
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-15), RAD(0)) * RIGHTSHOULDERC0, 0.8 / Animation_Speed)
1956
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.8 / Animation_Speed)
1957
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1958
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1959
		end
1960
	end
1961
	Humanoid.MaxHealth = "inf"
1962
	Humanoid.Health = "inf"
1963
	sick.SoundId = "rbxassetid://1696854181"
1964
	sick.Looped = true
1965
	sick.Pitch = 1
1966
	sick.Volume = 2
1967
	sick.Playing = true
1968
	sick.Parent = Effects
1969
	AntiTimeStop()
1970
	refit()
1971
	if Rooted == false then
1972
		Disable_Jump = false
1973
		Humanoid.WalkSpeed = Speed
1974
	elseif Rooted == true then
1975
		Disable_Jump = true
1976
		Humanoid.WalkSpeed = 0
1977
	end
1978
	---Humanoid.Name = "Killbot"
1979
	--end
1980
end
1981
1982
--//=================================\\
1983
--\\=================================//
1984
1985
--//====================================================\\--
1986
--||			  		 END OF SCRIPT
1987
--\\====================================================//--