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