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