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