View difference between Paste ID: 5D8Gvt7X and TNCCmLzp
SHOW: | | - or go back to the newest paste.
1
--]]
2-
--||			   CREATED BY SHACKLUSTER
2+
--https://github.com/Mokiros/roblox-FE-compatibility
3-
--\\====================================================//--
3+
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
4
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
5
local RealPlayer = Player
6
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
7
8
9
wait(0.2)
10
11
Player = game:GetService("Players").LocalPlayer
12
PlayerGui = Player.PlayerGui
13
Cam = workspace.CurrentCamera
14
Backpack = Player.Backpack
15
Character = Player.Character
16
Humanoid = Character.Humanoid
17
Mouse = Player:GetMouse()
18
RootPart = Character["HumanoidRootPart"]
19
Torso = Character["Torso"]
20
Head = Character["Head"]
21
RightArm = Character["Right Arm"]
22
LeftArm = Character["Left Arm"]
23
RightLeg = Character["Right Leg"]
24
LeftLeg = Character["Left Leg"]
25
RootJoint = RootPart["RootJoint"]
26
Neck = Torso["Neck"]
27
RightShoulder = Torso["Right Shoulder"]
28
LeftShoulder = Torso["Left Shoulder"]
29
RightHip = Torso["Right Hip"]
30
LeftHip = Torso["Left Hip"]
31
local sick = Instance.new("Sound",Character)
32
33
IT = Instance.new
34
CF = CFrame.new
35
VT = Vector3.new
36
RAD = math.rad
37
C3 = Color3.new
38
UD2 = UDim2.new
39
BRICKC = BrickColor.new
40
ANGLES = CFrame.Angles
41
EULER = CFrame.fromEulerAnglesXYZ
42
COS = math.cos
43
ACOS = math.acos
44
SIN = math.sin
45
ASIN = math.asin
46
ABS = math.abs
47
MRANDOM = math.random
48
FLOOR = math.floor
49
50
--//=================================\\
51
--|| 	      USEFUL VALUES
52
--\\=================================//
53
54
Animation_Speed = 3
55
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
56
local Speed = 46
57
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
58
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
59
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
60
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
61
local DAMAGEMULTIPLIER = 1
62
local ANIM = "Idle"
63
local ATTACK = false
64
local EQUIPPED = false
65
local HOLD = false
66
local COMBO = 1
67
local Rooted = false
68
local SINE = 0
69
local KEYHOLD = false
70
local CHANGE = 2 / Animation_Speed
71
local WALKINGANIM = false
72
local VALUE1 = false
73
local VALUE2 = false
74
local ROBLOXIDLEANIMATION = IT("Animation")
75
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
76
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
77
--ROBLOXIDLEANIMATION.Parent = Humanoid
78
local WEAPONGUI = IT("ScreenGui", PlayerGui)
79
WEAPONGUI.Name = "ReaperGUI"
80
local Effects = IT("Folder", Character)
81
Effects.Name = "Effects"
82
local ANIMATOR = Humanoid.Animator
83
local ANIMATE = Character.Animate
84
local UNANCHOR = true
85
86
--//=================================\\
87
--\\=================================//
88
89
90
--//=================================\\
91
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
92
--\\=================================//
93
94
ArtificialHB = Instance.new("BindableEvent", script)
95
ArtificialHB.Name = "ArtificialHB"
96
97
script:WaitForChild("ArtificialHB")
98
99
frame = Frame_Speed
100
tf = 0
101
allowframeloss = false
102
tossremainder = false
103
lastframe = tick()
104
script.ArtificialHB:Fire()
105
106
game:GetService("RunService").Heartbeat:connect(function(s, p)
107
	tf = tf + s
108
	if tf >= frame then
109
		if allowframeloss then
110
			script.ArtificialHB:Fire()
111
			lastframe = tick()
112
		else
113
			for i = 1, math.floor(tf / frame) do
114
				script.ArtificialHB:Fire()
115
			end
116
		lastframe = tick()
117
		end
118
		if tossremainder then
119
			tf = 0
120
		else
121
			tf = tf - frame * math.floor(tf / frame)
122
		end
123
	end
124
end)
125
126
--//=================================\\
127
--\\=================================//
128
129
--//=================================\\
130
--|| 	      SOME FUNCTIONS
131
--\\=================================//
132
133
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
134
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
135
end
136
137
function PositiveAngle(NUMBER)
138
	if NUMBER >= 0 then
139
		NUMBER = 0
140
	end
141
	return NUMBER
142
end
143
144
function NegativeAngle(NUMBER)
145
	if NUMBER <= 0 then
146
		NUMBER = 0
147
	end
148
	return NUMBER
149
end
150
151
function Swait(NUMBER)
152
	if NUMBER == 0 or NUMBER == nil then
153
		ArtificialHB.Event:wait()
154
	else
155
		for i = 1, NUMBER do
156
			ArtificialHB.Event:wait()
157
		end
158
	end
159
end
160
161
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
162
	local NEWMESH = IT(MESH)
163
	if MESH == "SpecialMesh" then
164
		NEWMESH.MeshType = MESHTYPE
165
		if MESHID ~= "nil" and MESHID ~= "" then
166
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
167
		end
168
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
169
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
170
		end
171
	end
172
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
173
	NEWMESH.Scale = SCALE
174
	NEWMESH.Parent = PARENT
175
	return NEWMESH
176
end
177
178
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
179
	local NEWPART = IT("Part")
180
	NEWPART.formFactor = FORMFACTOR
181
	NEWPART.Reflectance = REFLECTANCE
182
	NEWPART.Transparency = TRANSPARENCY
183
	NEWPART.CanCollide = false
184
	NEWPART.Locked = true
185
	NEWPART.Anchored = true
186
	if ANCHOR == false then
187
		NEWPART.Anchored = false
188
	end
189
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
190
	NEWPART.Name = NAME
191
	NEWPART.Size = SIZE
192
	NEWPART.Position = Torso.Position
193
	NEWPART.Material = MATERIAL
194
	NEWPART:BreakJoints()
195
	NEWPART.Parent = PARENT
196
	return NEWPART
197
end
198
199
	local function weldBetween(a, b)
200
	    local weldd = Instance.new("ManualWeld")
201
	    weldd.Part0 = a
202
	    weldd.Part1 = b
203
	    weldd.C0 = CFrame.new()
204
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
205
	    weldd.Parent = a
206
	    return weldd
207
	end
208
209
210
function QuaternionFromCFrame(cf)
211
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
212
	local trace = m00 + m11 + m22
213
	if trace > 0 then 
214
		local s = math.sqrt(1 + trace)
215
		local recip = 0.5 / s
216
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
217
	else
218
		local i = 0
219
		if m11 > m00 then
220
			i = 1
221
		end
222
		if m22 > (i == 0 and m00 or m11) then
223
			i = 2
224
		end
225
		if i == 0 then
226
			local s = math.sqrt(m00 - m11 - m22 + 1)
227
			local recip = 0.5 / s
228
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
229
		elseif i == 1 then
230
			local s = math.sqrt(m11 - m22 - m00 + 1)
231
			local recip = 0.5 / s
232
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
233
		elseif i == 2 then
234
			local s = math.sqrt(m22 - m00 - m11 + 1)
235
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
236
		end
237
	end
238
end
239
 
240
function QuaternionToCFrame(px, py, pz, x, y, z, w)
241
	local xs, ys, zs = x + x, y + y, z + z
242
	local wx, wy, wz = w * xs, w * ys, w * zs
243
	local xx = x * xs
244
	local xy = x * ys
245
	local xz = x * zs
246
	local yy = y * ys
247
	local yz = y * zs
248
	local zz = z * zs
249
	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))
250
end
251
 
252
function QuaternionSlerp(a, b, t)
253
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
254
	local startInterp, finishInterp;
255
	if cosTheta >= 0.0001 then
256
		if (1 - cosTheta) > 0.0001 then
257
			local theta = ACOS(cosTheta)
258
			local invSinTheta = 1 / SIN(theta)
259
			startInterp = SIN((1 - t) * theta) * invSinTheta
260
			finishInterp = SIN(t * theta) * invSinTheta
261
		else
262
			startInterp = 1 - t
263
			finishInterp = t
264
		end
265
	else
266
		if (1 + cosTheta) > 0.0001 then
267
			local theta = ACOS(-cosTheta)
268
			local invSinTheta = 1 / SIN(theta)
269
			startInterp = SIN((t - 1) * theta) * invSinTheta
270
			finishInterp = SIN(t * theta) * invSinTheta
271
		else
272
			startInterp = t - 1
273
			finishInterp = t
274
		end
275
	end
276
	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
277
end
278
279
function Clerp(a, b, t)
280
	local qa = {QuaternionFromCFrame(a)}
281
	local qb = {QuaternionFromCFrame(b)}
282
	local ax, ay, az = a.x, a.y, a.z
283
	local bx, by, bz = b.x, b.y, b.z
284
	local _t = 1 - t
285
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
286
end
287
288
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
289
	local frame = IT("Frame")
290
	frame.BackgroundTransparency = TRANSPARENCY
291
	frame.BorderSizePixel = BORDERSIZEPIXEL
292
	frame.Position = POSITION
293
	frame.Size = SIZE
294
	frame.BackgroundColor3 = COLOR
295
	frame.BorderColor3 = BORDERCOLOR
296
	frame.Name = NAME
297
	frame.Parent = PARENT
298
	return frame
299
end
300
301
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
302
	local label = IT("TextLabel")
303
	label.BackgroundTransparency = 1
304
	label.Size = UD2(1, 0, 1, 0)
305
	label.Position = UD2(0, 0, 0, 0)
306
	label.TextColor3 = TEXTCOLOR
307
	label.TextStrokeTransparency = STROKETRANSPARENCY
308
	label.TextTransparency = TRANSPARENCY
309
	label.FontSize = TEXTFONTSIZE
310
	label.Font = TEXTFONT
311
	label.BorderSizePixel = BORDERSIZEPIXEL
312
	label.TextScaled = false
313
	label.Text = TEXT
314
	label.Name = NAME
315
	label.Parent = PARENT
316
	return label
317
end
318
319
function NoOutlines(PART)
320
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
321
end
322
323
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
324
	local NEWWELD = IT(TYPE)
325
	NEWWELD.Part0 = PART0
326
	NEWWELD.Part1 = PART1
327
	NEWWELD.C0 = C0
328
	NEWWELD.C1 = C1
329
	NEWWELD.Parent = PARENT
330
	return NEWWELD
331
end
332
333
local S = IT("Sound")
334
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
335
	local NEWSOUND = nil
336
	coroutine.resume(coroutine.create(function()
337
		NEWSOUND = S:Clone()
338
		NEWSOUND.Parent = PARENT
339
		NEWSOUND.Volume = VOLUME
340
		NEWSOUND.Pitch = PITCH
341
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
342
		NEWSOUND:play()
343
		if DOESLOOP == true then
344
			NEWSOUND.Looped = true
345
		else
346
			local REPOSITION = NEWSOUND.AncestryChanged:Connect(function()
347
				NEWSOUND.Parent = PARENT
348
			end)
349
			repeat wait(1) until NEWSOUND.Playing == false
350
			REPOSITION:disconnect()
351
			NEWSOUND:remove()
352
		end
353
	end))
354
	return NEWSOUND
355
end
356
357
function CFrameFromTopBack(at, top, back)
358
	local right = top:Cross(back)
359
	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)
360
end
361
362
--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})
363
function WACKYEFFECT(Table)
364
	local TYPE = (Table.EffectType or "Sphere")
365
	local SIZE = (Table.Size or VT(1,1,1))
366
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
367
	local TRANSPARENCY = (Table.Transparency or 0)
368
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
369
	local CFRAME = (Table.CFrame or Torso.CFrame)
370
	local MOVEDIRECTION = (Table.MoveToPos or nil)
371
	local ROTATION1 = (Table.RotationX or 0)
372
	local ROTATION2 = (Table.RotationY or 0)
373
	local ROTATION3 = (Table.RotationZ or 0)
374
	local MATERIAL = (Table.Material or "Neon")
375
	local COLOR = (Table.Color or C3(1,1,1))
376
	local TIME = (Table.Time or 45)
377
	local SOUNDID = (Table.SoundID or nil)
378
	local SOUNDPITCH = (Table.SoundPitch or nil)
379
	local SOUNDVOLUME = (Table.SoundVolume or nil)
380
	coroutine.resume(coroutine.create(function()
381
		local PLAYSSOUND = false
382
		local SOUND = nil
383
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
384
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
385
			PLAYSSOUND = true
386
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
387
		end
388
		EFFECT.Color = COLOR
389
		local MSH = nil
390
		if TYPE == "Sphere" then
391
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
392
		elseif TYPE == "Block" then
393
			MSH = IT("BlockMesh",EFFECT)
394
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
395
		elseif TYPE == "Wave" then
396
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
397
		elseif TYPE == "Ring" then
398
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
399
		elseif TYPE == "Slash" then
400
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
401
		elseif TYPE == "Round Slash" then
402
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
403
		elseif TYPE == "Swirl" then
404
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
405
		elseif TYPE == "Skull" then
406
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
407
		elseif TYPE == "Crystal" then
408
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
409
		end
410
		if MSH ~= nil then
411
			local MOVESPEED = nil
412
			if MOVEDIRECTION ~= nil then
413
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
414
			end
415
			local GROWTH = SIZE - ENDSIZE
416
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
417
			if TYPE == "Block" then
418
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
419
			else
420
				EFFECT.CFrame = CFRAME
421
			end
422
			for LOOP = 1, TIME+1 do
423
				Swait()
424
				MSH.Scale = MSH.Scale - GROWTH/TIME
425
				if TYPE == "Wave" then
426
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
427
				end
428
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
429
				if TYPE == "Block" then
430
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
431
				else
432
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
433
				end
434
				if MOVEDIRECTION ~= nil then
435
					local ORI = EFFECT.Orientation
436
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
437
					EFFECT.Orientation = ORI
438
				end
439
			end
440
			EFFECT.Transparency = 1
441
			if PLAYSSOUND == false then
442
				EFFECT:remove()
443
			else
444
				repeat Swait() until SOUND.Playing == false
445
				EFFECT:remove()
446
			end
447
		else
448
			if PLAYSSOUND == false then
449
				EFFECT:remove()
450
			else
451
				repeat Swait() until SOUND.Playing == false
452
				EFFECT:remove()
453
			end
454
		end
455
	end))
456
end
457
458
function Shatter(Part)
459
	if Part.Transparency < 1 then
460
		local SOUNDPART = CreatePart(3, Effects, "Glass", 0, Part.Transparency + 0.1, Part.BrickColor, "OOF", VT(0,0,0))
461
		Debris:AddItem(SOUNDPART,5)
462
		CreateSound("626807593", SOUNDPART, 3, MRANDOM(8,12)/10, false)
463
		local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
464
		local SIZESET = SIZE/4
465
		local XOffset = Part.Size.X*1.5/SIZESET
466
		local YOffset = Part.Size.Y*1.5/SIZESET
467
		local ZOffset = Part.Size.Z*1.5/SIZESET
468
		for x = 1, math.ceil(XOffset) do
469
			for y = 1, math.ceil(YOffset) do
470
				for z = 1, math.ceil(ZOffset) do
471
					local SHARD = CreatePart(3, Effects, "Glass", 0, 0.15, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
472
					SHARD.CanCollide = true
473
					SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-Part.Size.X/4),(Part.Size.Y/2-Part.Size.Y/4),(Part.Size.Z/2-Part.Size.Z/4))
474
					SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
475
					Debris:AddItem(SHARD,MRANDOM(10,25)/10)
476
					for _, c in pairs(Part:GetChildren()) do
477
						if c.ClassName == "ParticleEmitter" or c.ClassName == "PointLight" or c.ClassName == "Fire" then
478
							c:Clone().Parent = SHARD
479
						end
480
					end
481
				end
482
			end
483
		end
484
	end
485
	Part:remove()
486
end
487
488
--Lightning({Material = "Neon", FadeIn = false, Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 15, Thicken = false})
489
function Lightning(Table)
490
	local Color = Table.Color or C3(1,1,1)
491
	local StartPos = Table.Start or Torso.Position
492
	local EndPos = Table.End or Mouse.Hit.p
493
	local SegmentLength = Table.SegmentL or 2
494
	local Thickness = Table.Thickness or 0.1
495
	local Dissapear = Table.DoesFade or false
496
	local Parent = Table.Ignore or Character
497
	local MaxDist = Table.MaxDist or 400
498
	local Branches = Table.Branches or false
499
	local Thicken = Table.Thicken or false
500
	local FadeTime = Table.FadeTime or 15
501
	local FadeIn = Table.FadeIn or false
502
	local Material = Table.Material or "Neon"
503
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
504
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/((SegmentLength/SegmentLength)/1.5))
505
	local LIGHTNINGMODEL = IT("Model",Effects)
506
	LIGHTNINGMODEL.Name = "Lightning"
507
	local LastBolt = nil
508
	for E = 1, DISTANCE do
509
		local ExtraSize = 0
510
		if Thicken == true then
511
			ExtraSize = (DISTANCE-E)/15
512
		end
513
		local TRANSPARENCY = 0
514
		if FadeIn == true then
515
			TRANSPARENCY = 1-(E/(DISTANCE/1.5))
516
			if TRANSPARENCY < 0 then
517
				TRANSPARENCY = 0
518
			end
519
		end
520
		local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
521
		PART.Color = Color
522
		MakeForm(PART,"Cyl")
523
		if LastBolt == nil then
524
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
525
		else
526
			PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,DISTANCE-E).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
527
		end
528
		LastBolt = PART
529
		if Branches == true and E < (DISTANCE-5) then
530
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
531
			if CHOICE == 1 then
532
				local LASTBRANCH = nil
533
				for i = 1, MRANDOM(2,5) do
534
					local ExtraSize2 = 0
535
					if Thicken == true then
536
						ExtraSize = ((DISTANCE-E)/25)/i
537
					end
538
					local PART = CreatePart(3, LIGHTNINGMODEL, Material, 0, TRANSPARENCY, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
539
					PART.Color = Color
540
					MakeForm(PART,"Cyl")
541
					if LASTBRANCH == nil then
542
						PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
543
					else
544
						PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
545
					end
546
					LASTBRANCH = PART
547
				end
548
			end
549
		end
550
	end
551
	if Dissapear == true then
552
		coroutine.resume(coroutine.create(function()
553
			for i = 1, FadeTime do
554
				Swait()
555
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
556
					if c.ClassName == "Part" then
557
						c.Transparency = c.Transparency + (i/FadeTime)/10
558
					end
559
				end
560
			end
561
			LIGHTNINGMODEL:remove()
562
		end))
563
	elseif Dissapear == false then
564
		Debris:AddItem(LIGHTNINGMODEL,0.1)
565
	end
566
	return {Hit = HIT,Pos = HITPOS,End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
567
end
568
569
function MakeForm(PART,TYPE)
570
	if TYPE == "Cyl" then
571
		local MSH = IT("CylinderMesh",PART)
572
	elseif TYPE == "Ball" then
573
		local MSH = IT("SpecialMesh",PART)
574
		MSH.MeshType = "Sphere"
575
	elseif TYPE == "Wedge" then
576
		local MSH = IT("SpecialMesh",PART)
577
		MSH.MeshType = "Wedge"
578
	end
579
end
580
581
Debris = game:GetService("Debris")
582
583
function CastProperRay(StartPos, EndPos, Distance, Ignore)
584
	local DIRECTION = CF(StartPos,EndPos).lookVector
585
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
586
end
587
588
function turnto(position)
589
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
590
end
591
592
--//=================================\\
593
--||	     WEAPON CREATION
594-
local BONE = script.SpinePart
594+
595-
BONE.Parent = nil
595+
596
local BASECOLOR = C3(50/255, 25/255, 25/255)
597
598
Head:ClearAllChildren()
599
600
for _, c in pairs(Character:GetChildren()) do
601
	if script:FindFirstChild(c.Name) then
602
		local Part = script[c.Name]
603
		Part.Parent = Character
604
		Part.Base.Anchored = false
605
		Part:SetPrimaryPartCFrame(c.CFrame)
606
		weldBetween(c,Part.Base)
607
		c.Transparency = 1
608
		for _, e in pairs(Part:GetChildren()) do
609
			if e:IsA("BasePart") then
610
				e.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
611
			end
612
		end
613
	end
614
end
615
616
local SCYTHE = script.ThrowScythe
617
SCYTHE.Parent = nil
618
619
local GUN = script.Gun
620
GUN.Parent = Character
621
GUN.Grip.Anchored = false
622
GUN:SetPrimaryPartCFrame(RightArm.CFrame*CF(0,-1,0))
623
local GRIP = weldBetween(RightArm,GUN.Grip)
624
625
local TAIL = {}
626-
local SIZE = BONE.Size
626+
627
local SIZE = Scythe.Size
628-
	local PART = BONE:Clone()
628+
629
	local PART = Scythe:Clone()
630
	PART.Anchored = false
631
	PART.Parent = Character
632
	PART.Size = SIZE*((19-i)/10)/1.25
633
	if LASTPART == Torso then
634
		local WELD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, PART, CF(0,-1.2,0.16), CF(0, 0, 0))
635
		LASTPART = PART
636
		table.insert(TAIL,WELD)
637
	else
638
		local WELD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, PART, CF(0,-PART.Size.Y,0), CF(0, 0, 0))
639
		LASTPART = PART
640
		table.insert(TAIL,WELD)
641
	end
642
end
643
RightLeg:remove()
644
LeftLeg:remove()
645
Torso.Transparency = 1
646
Head.Transparency = 1
647
648
Humanoid.DisplayDistanceType = "None"
649
650
Humanoid.HipHeight = 2
651
652
local SKILLFONT = "Antique"
653
local SKILLTEXTSIZE = 7
654
655
Humanoid.Died:connect(function()
656
	workspace:ClearAllChildren()
657
end)
658
659
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")
660
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")
661
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")
662
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")
663
--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")
664
665
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", BASECOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
666
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", BASECOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
667
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", BASECOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
668
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", BASECOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
669
--local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X]", BASECOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
670
671
--//=================================\\
672
--||			DAMAGING
673
--\\=================================//
674
675
function ApplyDamage(Humanoid,Damage)
676
	Damage = Damage * DAMAGEMULTIPLIER
677
	if Humanoid.Health ~= 0 then
678
		Humanoid.Health = Humanoid.Health - Damage
679
	end
680
end
681
682
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,OPTION)
683
	local CHILDREN = workspace:GetDescendants()
684
	for index, CHILD in pairs(CHILDREN) do
685
		if CHILD.ClassName == "Model" and CHILD ~= Character then
686
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
687
			if HUM then
688
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
689
				if TORSO then
690
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
691
						if INSTAKILL == true then
692
							CHILD:BreakJoints()
693
							if OPTION ~= nil then
694
								Kill(CHILD,OPTION)
695
							end
696
						else
697
							local DMG = MRANDOM(MINDMG,MAXDMG)
698
							ApplyDamage(HUM,DMG)
699
						end
700
						if FLING ~= 0 then
701
							for _, c in pairs(CHILD:GetChildren()) do
702
								if c:IsA("BasePart") then
703
									local bv = Instance.new("BodyVelocity") 
704
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
705
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
706
									bv.Parent = c
707
									Debris:AddItem(bv,0.05)
708
								end
709
							end
710
						end
711
					end
712
				end
713
			end
714
		end
715
	end
716
end
717
718
function Kill(Victim,Fire)
719
	coroutine.resume(coroutine.create(function()
720
		local NIL = script.TotalNil:Clone()
721
		NIL.Parent = Victim
722
		NIL.Disabled = false
723
		if Fire ~= true then
724
			Victim:BreakJoints()
725
			for _, c in pairs(Victim:GetChildren()) do
726
				if c:IsA("BasePart") then
727
					c.Anchored = true
728
				end
729
			end
730
			for _, c in pairs(Victim:GetChildren()) do
731
				if c:IsA("BasePart") then
732
					Shatter(c)
733
				end
734
			end
735
		else
736
			Victim:BreakJoints()
737
			local FIRES = {}
738
			for _, e in pairs(Victim:GetDescendants()) do
739
				if e:IsA("BasePart") and e.Name ~= "HumanoidRootPart" and e.Parent.ClassName ~= "Folder" then
740
					e.Transparency = 1
741
					e:ClearAllChildren()
742
					local FIRE = script.HellFire:Clone()
743
					FIRE.Parent = e
744
					FIRE.Enabled = true
745
					table.insert(FIRES,FIRE)
746
				elseif e.ClassName == "Decal" then
747
					e:remove()
748
				end	
749
			end
750
			for i = 1, 50 do
751
				Victim:BreakJoints()
752
				wait()
753
			end
754
			for i = 1, #FIRES do
755
				FIRES[i].Enabled = false
756
			end
757
			wait(1.1)
758
			Victim:remove()
759
		end
760
	end))
761
end
762
763
--//=================================\\
764
--||	ATTACK FUNCTIONS AND STUFF
765
--\\=================================//
766
767
function Bullet()
768
	ATTACK = true
769
	Rooted = false
770
	local GYRO = IT("BodyGyro",RootPart)
771
	GYRO.D = 750
772
	GYRO.P = 20000
773
	GYRO.MaxTorque = VT(0,40000000,0)
774
	local LOCKED = true
775
	local SHOT = false
776
	coroutine.resume(coroutine.create(function()
777
		for i=0, 1, 0.1 / Animation_Speed do
778
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
779
			Swait()
780
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
781
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
782
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
783
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
784
		end
785
		LOCKED = false
786
		SHOT = true
787
		repeat
788
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
789
			Swait()
790
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
791
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
792
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
793
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
794
		until HOLD == false and SHOT == false
795
		for i=0, 0.3, 0.1 / Animation_Speed do
796
			Swait()
797
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
798
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
799
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
800
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
801
		end
802
		for i=0, 0.3, 0.1 / Animation_Speed do
803
			Swait()
804
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
805
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
806
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(100), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-15 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
807
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
808
		end
809
		GYRO:remove()
810
		ATTACK = false
811
		Rooted = false
812
	end))
813
	repeat wait() until LOCKED == false
814
	repeat
815
		SHOT = true
816
		wait(0.2)
817
		SHOT = false
818
		local BULLET = Lightning({Material = "Glass", FadeIn = true, Color = C3(1,0,0), Start = GUN.Barrel.CFrame*CF(0, 1, 0.045).p, End = Mouse.Hit.p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
819
		local HIT = BULLET.Hit
820
		local HITPOS = BULLET.End
821
		if HIT then
822
			if HIT.Parent:FindFirstChildOfClass("Humanoid") then
823
				Kill(HIT.Parent)
824
			end
825
		end
826
		WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 2, SoundVolume = 1})
827
		WACKYEFFECT({Time = 15, EffectType = "Skull", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = GUN.Barrel.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 2})
828
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(1,1.2,1), Transparency = 0, Transparency2 = 1, CFrame = GUN.Barrel.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
829
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(2,1,2), Transparency = 0, Transparency2 = 1, CFrame = GUN.Barrel.CFrame*CF(0, 1, 0.045) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 145080998, SoundPitch = 1, SoundVolume = 2})
830
	until HOLD == false
831
end
832
833
function ScytheThrow()
834
	ATTACK = true
835
	Rooted = false
836
	local GYRO = IT("BodyGyro",RootPart)
837
	GYRO.D = 750
838
	GYRO.P = 20000
839
	GYRO.MaxTorque = VT(0,40000000,0)
840
	local BLADE = SCYTHE:Clone()
841
	CreateSound(402981977, BLADE, 3, MRANDOM(12,15)/10, false)
842
	BLADE.Parent = Effects
843
	BLADE.Anchored = false
844
	BLADE.CFrame = LeftArm.CFrame* CF(0, 3.4, 0.529) * ANGLES(RAD(0), RAD(180),RAD(0))
845
	local WELD = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, BLADE, CF(0, -2.2, 0) * ANGLES(RAD(180), RAD(90),RAD(0)), CF(0, 0, 0))
846
	for i=1, 25 do
847
		GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
848
		Swait()
849
		BLADE.Transparency = BLADE.Transparency - 1/25
850
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(35 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
851
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-35 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
852
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
853
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-45), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-55 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
854
	end
855
	for _, c in pairs(BLADE:GetDescendants()) do
856
		if c.ClassName == "ParticleEmitter" then
857
			c.Enabled = true
858
		end
859
	end
860
	for i=0, 0.5, 0.1 / Animation_Speed do
861
		GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
862
		Swait()
863
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(35 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
864
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-35 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
865
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
866
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-45), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-55 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
867
	end
868
	for i=0, 0.1, 0.1 / Animation_Speed do
869
		GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
870
		Swait()
871
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-35 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
872
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(35 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
873
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
874
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
875
	end
876
	coroutine.resume(coroutine.create(function()
877
		WELD:remove()
878
		BLADE.Anchored = true
879
		BLADE.Orientation = VT(0,BLADE.Orientation.Y,90)
880
		local DISSAPEAR = false
881
		local TOPOS = nil
882
		local TARGET = nil
883
		coroutine.resume(coroutine.create(function()
884
			local ORI = BLADE.Orientation.Y
885
			repeat
886
				wait()
887
				ORI = BLADE.Orientation.Y
888
				if TOPOS == nil then
889
					BLADE.CFrame = CF(BLADE.Position) * ANGLES(RAD(0), RAD(ORI - 15), RAD(90))
890
				else
891
					BLADE.CFrame = CF(CF(BLADE.Position,TOPOS)*CF(0,0,-1).p) * ANGLES(RAD(0), RAD(ORI - 15), RAD(90))
892
					if TARGET ~= nil then
893
						if (BLADE.Position - TARGET.Position).Magnitude < 5 then
894
							Kill(TARGET.Parent,true)
895
							TARGET = nil
896
						end
897
					end
898
					if (BLADE.Position - TOPOS).Magnitude < 5 then
899
						TOPOS = nil
900
					end
901
				end
902
				ORI = BLADE.Orientation.Y
903
			until DISSAPEAR == true
904
			for i = 1, 35 do
905
				wait()
906
				ORI = BLADE.Orientation.Y
907
				BLADE.CFrame = CF(BLADE.Position) * ANGLES(RAD(0), RAD(ORI - 15), RAD(90))
908
				BLADE.Transparency = BLADE.Transparency + 1/35
909
				ORI = BLADE.Orientation.Y
910
			end
911
			for _, c in pairs(BLADE:GetDescendants()) do
912
				if c.ClassName == "ParticleEmitter" then
913
					c.Enabled = false
914
				end
915
			end
916
			Debris:AddItem(BLADE,5)
917
		end))
918
		TOPOS = RootPart.CFrame*CF(0,-3,-15).p
919
		for i = 1, 7 do
920
			wait(1)
921
			local DISTANCE = 100
922
			local HUMAN = nil
923
			for _, c in pairs(workspace:GetChildren()) do
924
				if c.ClassName == "Model" and c:FindFirstChildOfClass("Humanoid") and c ~= Character then
925
					local HUM = c:FindFirstChildOfClass("Humanoid")
926
					local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
927
					if TORSO and HUM.Health > 0 then
928
						if (TORSO.Position - BLADE.Position).Magnitude < DISTANCE then
929
							DISTANCE = (TORSO.Position - BLADE.Position).Magnitude
930
							TARGET = TORSO
931
							HUMAN = HUM
932
						end
933
					end
934
				end
935
			end
936
			if TARGET then
937
				TOPOS = CF(TARGET.Position,BLADE.Position)*CF(0,0,15).p
938
				local HITFLOOR,HITPOS = Raycast(BLADE.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
939
				if HITFLOOR then
940
					WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(35,1,35), Transparency = 0.8, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = HITPOS+VT(0,0.45,0), RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 233856115, SoundPitch = 1, SoundVolume = 7})
941
				end
942
			end
943
			repeat wait(1) until TOPOS == nil
944
		end
945
		DISSAPEAR = true
946
	end))
947
	for i=0, 0.4, 0.1 / Animation_Speed do
948
		GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
949
		Swait()
950
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-35 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
951
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(35 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
952
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
953
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
954
	end
955
	GYRO:remove()
956
	ATTACK = false
957
	Rooted = false
958
end
959
960
function FingerMagic()
961
	ATTACK = true
962
	Rooted = false
963
	for i=0, 0.1, 0.1 / Animation_Speed do
964
		Swait()
965
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
966
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
967
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
968
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
969
	end
970
	for i=0, 1, 0.1 / Animation_Speed do
971
		Swait()
972
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
973
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
974
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
975
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
976
	end
977
	WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
978
	for i = 1, 5 do
979
		WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(1,1,1), Size2 = VT(0,7,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 2, SoundVolume = 1})
980
	end
981
	CreateSound(217767125, LeftArm, 10, 1, false)
982
	coroutine.resume(coroutine.create(function()
983
		local EXPLODED = false
984
		for i = 1, 3 do
985
			coroutine.resume(coroutine.create(function()
986
				local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
987
				if HITFLOOR then
988
					local CFRAME = CF(HITPOS) * ANGLES(RAD(0), RAD((360/3)*i), RAD(0))
989
					for i = 1, 35 do
990
						wait()
991
						for _, c in pairs(workspace:GetChildren()) do
992
							if EXPLODED == false and c.ClassName == "Model" and c:FindFirstChildOfClass("Humanoid") and c ~= Character then
993
								local HUM = c:FindFirstChildOfClass("Humanoid")
994
								local TORSO = c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")
995
								if TORSO and HUM.Health > 0 then
996
									if (TORSO.Position - CFRAME.p).Magnitude < 10 then
997
										EXPLODED = true
998
										coroutine.resume(coroutine.create(function()
999
											for i = 1, 15 do
1000
												ApplyAoE(CFRAME*CF(0,10,0).p,30+(i*4),0,0,-35,false)
1001
												wait(0.2)
1002
												WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15+(i*2),5,15+(i*2)), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
1003
												WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
1004
												WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(12,12,12)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.7,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 1})
1005
											end
1006
											WACKYEFFECT({Time = 50, EffectType = "Block", Size = VT(15,15,15)+VT(i*2,i*2,i*2), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 304999618, SoundPitch = 1, SoundVolume = 1})
1007
											wait(1)
1008
											WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(100,100,100)*5, Transparency = 0.4, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = 461105534, SoundPitch = 1, SoundVolume = 10})
1009
											local PART = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1010
											PART.CFrame = CFRAME*CF(0,10,0)
1011
											Debris:AddItem(PART,10)
1012
											local PARTICLES = script.Explode:Clone()
1013
											PARTICLES.Parent = PART
1014
											PARTICLES:Emit(500)
1015
											ApplyAoE(CFRAME*CF(0,10,0).p,45*2,0,0,350,true)
1016
											WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(90,90,90)*2, Transparency = 0.8, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
1017
											WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(0), RAD(90), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1018
											WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CFRAME*CF(0,10,0)*ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1019
										end))
1020
									end
1021
								end
1022
							end
1023
						end
1024
						if EXPLODED == true then
1025
							break
1026
						end
1027
						CFRAME = CFRAME * ANGLES(RAD(0), RAD(10), RAD(0)) * CF(0,0,-3)
1028
						WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(10,15,10), Size2 = VT(0,35,0), Transparency = 1, Transparency2 = 0.9, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
1029
						WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(15,15,15), Size2 = VT(0,25,0), Transparency = 1, Transparency2 = 0.6, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
1030
					end
1031
				end
1032
			end))
1033
		end
1034
	end))
1035
	for i=0, 1, 0.1 / Animation_Speed do
1036
		Swait()
1037
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1038
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(0 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1039
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1040
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15 + 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(170), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1041
	end
1042
	ATTACK = false
1043
	Rooted = false
1044
end
1045
1046
function PainlessRain()
1047
	ATTACK = true
1048
	Rooted = true
1049
	local SPOTS = {}
1050
	local BULLETS = 0
1051
	repeat
1052
		BULLETS = BULLETS + 1
1053
		for i = 1, 15 do
1054
			Swait()
1055
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1056
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
1057
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
1058
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1059
		end
1060
		WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.6, CFrame = GUN.Body.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Maroon".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
1061
	until KEYHOLD == false
1062
	for i = 1, BULLETS do
1063
		for i=0, 0.5, 0.1 / Animation_Speed do
1064
			Swait()
1065
			GRIP.C1 = Clerp(GRIP.C1, CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1066
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1067
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1068
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1069
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1070
		end
1071
		local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 150, Character)
1072
		table.insert(SPOTS,HITPOS)
1073
		CreateSound(145080998, GUN.Barrel, 2, 1, false)
1074
		Lightning({Material = "Neon", FadeIn = false, Color = C3(1,0,0), Start = GUN.Barrel.CFrame*CF(0, 1, 0.045).p, End = GUN.Barrel.CFrame*CF(0, 1000, 0.045).p, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 22, Thicken = false})
1075
		for i=0, 0.35, 0.1 / Animation_Speed do
1076
			Swait()
1077
			GRIP.C1 = Clerp(GRIP.C1, CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1078
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(65 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1079
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-65 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1080
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1081
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1082
		end
1083
	end
1084
	coroutine.resume(coroutine.create(function()
1085
		for i = 1, #SPOTS do
1086
			wait(0.1)
1087
			coroutine.resume(coroutine.create(function()
1088
				local SPOT = SPOTS[i]
1089
				local BOLT = Lightning({Material = "Neon", FadeIn = true, Color = C3(1,0,0), Start = SPOT+VT(0,150,0), End = SPOT, SegmentL = 1, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 125, Thicken = true})
1090
				local POSITION = BOLT.Pos
1091
				ApplyAoE(POSITION,75/2,0,0,350,true)
1092
				WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(50,150,50), Transparency = 0.3, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 3})
1093
				WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(75,5,75), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = 165970126, SoundPitch = 1, SoundVolume = 4})
1094
				WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(15,0,15), Size2 = VT(35,15,35), Transparency = 0, Transparency2 = 1, CFrame = CF(POSITION), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 7})
1095
			end))
1096
		end
1097
	end))
1098
	ATTACK = false
1099
	Rooted = false
1100
end
1101
1102
function ShadowRush()
1103
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
1104
	if HITFLOOR then
1105
		ATTACK = true
1106
		Rooted = true
1107
		local A = false
1108
		coroutine.resume(coroutine.create(function()
1109
			for i=0, 0.2, 0.1 / Animation_Speed do
1110
				Swait()
1111
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1112
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1113
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.75 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1114
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1115
			end
1116
			A = true
1117
			repeat
1118
				Swait()
1119
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1120
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1121
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1122
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1123
			until ATTACK == false
1124
		end))
1125
		repeat wait() until A == true
1126
		local ZONE = CreatePart(3, Effects, "Neon", 0, 1, C3(0,0,0), "Shade Zone", VT(15,0,15))
1127
		ZONE.Color = C3(0,0,0)
1128
		MakeForm(ZONE,"Cyl")
1129
		ZONE.CFrame = CF(HITPOS)
1130
		local AURA = CreateSound(1393698948, ZONE, 0, 0.5, true)
1131
		for i =1, 45 do
1132
			Swait()
1133
			AURA.Volume = AURA.Volume + 10/45
1134
			ZONE.Transparency = ZONE.Transparency - 1/45
1135
			ZONE.Size = ZONE.Size + VT(0.3,0,0.3)
1136
		end
1137
		local SIZE = ZONE.Size
1138
		local BARRAGE = true
1139
		local ZAPS = {224339201,168586621,168586586}
1140
		coroutine.resume(coroutine.create(function()
1141
			local LOOP = 0
1142
			repeat
1143
				Swait()
1144
				Lightning({Ignore = workspace, Material = "Neon", FadeIn = true, Color = C3(0,0,0), Start = GUN.Barrel.CFrame*CF(0, 1, 0.045).p, End = ZONE.Position, SegmentL = 1, Thickness = 0.05, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 20, Thicken = false})
1145
				AURA.Parent = ZONE
1146
				LOOP = LOOP + 1
1147
				if MRANDOM(1,15) == 1 then
1148
					CreateSound(ZAPS[MRANDOM(1,#ZAPS)], ZONE, 5, MRANDOM(8,12)/10, false)
1149
					local CFRAME = ZONE.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,-4,MRANDOM(10,15))
1150
					Lightning({Ignore = workspace, Material = "Neon", FadeIn = true, Color = C3(0.5,0,0.15), Start = CFRAME.p+VT(0,90,0), End = CFRAME.p, SegmentL = 1, Thickness = 0.05, DoesFade = true, MaxDist = 100, Branches = true, FadeTime = 20, Thicken = true})
1151
					--WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(0,135,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ZONE.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(0,math.ceil(ZONE.Size.X/2.1))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1152
				end
1153
				ZONE.Size = SIZE + VT(1 * COS(LOOP / 12),0,1 * COS(LOOP / 12))
1154
			until BARRAGE == false
1155
			for i = 1, 35 do
1156
				Swait()
1157
				--Lightning({Ignore = workspace, Material = "Neon", FadeIn = true, Color = C3(0,0,0), Start = GUN.Barrel.CFrame*CF(0, 1, 0.045).p, End = ZONE.Position, SegmentL = 1, Thickness = 0.05, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false, FadeTime = 20, Thicken = false})
1158
				AURA.Parent = ZONE
1159
				LOOP = LOOP + 1
1160
				if MRANDOM(1,15) == 1 then
1161
					CreateSound(ZAPS[MRANDOM(1,#ZAPS)], ZONE, 5, MRANDOM(8,12)/10, false)
1162
					local CFRAME = ZONE.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,-4,MRANDOM(10,15))
1163
					Lightning({Ignore = workspace, Material = "Neon", FadeIn = true, Color = C3(0.5,0,0.15), Start = CFRAME.p+VT(0,90,0), End = CFRAME.p, SegmentL = 1, Thickness = 0.05, DoesFade = true, MaxDist = 100, Branches = true, FadeTime = 20, Thicken = true})
1164
					--WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(5,0,5), Size2 = VT(0,135,0), Transparency = 0, Transparency2 = 1, CFrame = CF(ZONE.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(0,math.ceil(ZONE.Size.X/2.1))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1165
				end
1166
				ZONE.Size = SIZE + VT(1 * COS(LOOP / 12),0,1 * COS(LOOP / 12))
1167
			end
1168
			for i =1, 45 do
1169
				Swait()
1170
				AURA.Volume = AURA.Volume - 10/45
1171
				ZONE.Transparency = ZONE.Transparency + 1/45
1172
				ZONE.Size = ZONE.Size - VT(0.3,0,0.3)
1173
			end
1174
			Debris:AddItem(ZONE,10)
1175
		end))
1176
		repeat
1177
			wait(0.25)
1178
			coroutine.resume(coroutine.create(function()
1179
				local BLOD = CreatePart(3, Effects, "Neon", 0, 0, C3(0,0,0), "Shade Blod", VT(10,0,10))
1180
				BLOD.Color = C3(0,0,0)
1181
				MakeForm(BLOD,"Cyl")
1182
				local DIRECTION = CF(ZONE.Position,ZONE.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,1).p)
1183
				BLOD.CFrame = DIRECTION
1184
				for i = 1, 40 do
1185
					Swait()
1186
					BLOD.CFrame = BLOD.CFrame * CF(0,0,-0.6)
1187
				end
1188
				local TOPOS = VT(Mouse.Hit.p.X,BLOD.Position.Y,Mouse.Hit.p.Z)
1189
				BLOD.CFrame = CF(BLOD.Position,TOPOS)
1190
				local DISTANCE = 15
1191
				for i = 1, 500 do
1192
					Swait()
1193
					BLOD.CFrame = BLOD.CFrame * CF(0,0,-1)
1194
					DISTANCE = (BLOD.Position-TOPOS).Magnitude
1195
					if DISTANCE <= 2 then
1196
						break
1197
					end
1198
				end	
1199
				ApplyAoE(BLOD.Position,15,0,0,50,true,true)
1200
				WACKYEFFECT({Time = 45, EffectType = "Wave", Size = BLOD.Size/1.5, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(BLOD.Position), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(2,4), RotationZ = 0, Material = "Neon", Color = BLOD.Color, SoundID = 304999618, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 7})
1201
				Lightning({Ignore = workspace, Material = "Neon", FadeIn = false, Color = C3(0.5/2,0,0.15/2), Start = BLOD.Position, End = BLOD.Position+VT(0,15,0), SegmentL = 1, Thickness = 0.05, DoesFade = true, MaxDist = 45, Branches = false, FadeTime = 20, Thicken = true})
1202
				for i = 1, 45 do
1203
					Swait()
1204
					BLOD.Size = BLOD.Size + VT(0.25,0,0.25)
1205
					BLOD.Transparency = BLOD.Transparency + 1/45
1206
				end
1207
				BLOD:remove()
1208
			end))
1209
		until KEYHOLD == false
1210
		BARRAGE = false
1211
		ATTACK = false
1212
		Rooted = false
1213
	end
1214
end
1215
1216
function AttackTemplate()
1217
	ATTACK = true
1218
	Rooted = false
1219
	for i=0, 1, 0.1 / Animation_Speed do
1220
		Swait()
1221
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1222
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1223
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1224
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1225
	end
1226
	ATTACK = false
1227
	Rooted = false
1228
end
1229
1230
--//=================================\\
1231
--||			 MISC
1232
--\\=================================//
1233
1234
function TAUNT1()
1235
	ATTACK = true
1236
	Rooted = false
1237
	CreateSound(865772398, Torso, 6, 1, false)
1238
	for i=0, 0.1, 0.1 / Animation_Speed do
1239
		Swait()
1240
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1241
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1242
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1243
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1244
	end
1245
	for i=0, 1, 0.1 / Animation_Speed do
1246
		Swait()
1247
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1248
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1249
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1250
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -0.4) * ANGLES(RAD(-25-3 * COS(SINE / 6)), RAD(25), RAD(90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1251
	end
1252
	for i=0, 1, 0.1 / Animation_Speed do
1253
		Swait()
1254
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1255
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1256
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1257
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25-3 * COS(SINE / 6)), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1258
	end
1259
	ATTACK = false
1260
	Rooted = false
1261
end
1262
1263
function TAUNT2()
1264
	ATTACK = true
1265
	Rooted = false
1266
	for i=0, 1, 0.1 / Animation_Speed do
1267
		Swait()
1268
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1269
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1270
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1271
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-45), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1272
	end
1273
	ATTACK = false
1274
	Rooted = false
1275
end
1276
1277
function EMOTE()
1278
	ATTACK = true
1279
	Rooted = false
1280
	local LOOP = 0
1281
	for i=0, 0.1, 0.1 / Animation_Speed do
1282
		Swait()
1283
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1284
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1285
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1286
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1287
	end
1288
	for i=0, 3, 0.1 / Animation_Speed do
1289
		Swait()
1290
		LOOP = LOOP + 1
1291
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1292
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1293
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1294
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(LOOP / 5))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1295
	end
1296
	for i=0, 0.1, 0.1 / Animation_Speed do
1297
		Swait()
1298
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1299
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1300
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1301
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1302
	end
1303
	ATTACK = false
1304
	Rooted = false
1305
end
1306
1307
--//=================================\\
1308
--||	  ASSIGN THINGS TO KEYS
1309
--\\=================================//
1310
1311
function MouseDown(Mouse)
1312
	HOLD = true
1313
	if ATTACK == false then
1314
		Bullet()
1315
	end
1316
end
1317
1318
function MouseUp(Mouse)
1319
HOLD = false
1320
end
1321
1322
function KeyDown(Key)
1323
	KEYHOLD = true
1324
	if Key == "z" and ATTACK == false then
1325
		ScytheThrow()
1326
	end
1327
1328
	if Key == "b" and ATTACK == false then
1329
		FingerMagic()
1330
	end
1331
1332
	if Key == "c" and ATTACK == false then
1333
		PainlessRain()
1334
	end
1335
1336
	if Key == "v" and ATTACK == false then
1337
		ShadowRush()
1338
	end
1339
1340
	if Key == "x" and ATTACK == false then
1341
	end
1342
1343
	if Key == "t" and ATTACK == false then
1344
		TAUNT1()
1345
	end
1346
1347
	if Key == "p" and ATTACK == false then
1348
		EMOTE()
1349
	end
1350
end
1351
1352
function KeyUp(Key)
1353
	KEYHOLD = false
1354
end
1355
1356
	Mouse.Button1Down:connect(function(NEWKEY)
1357
		MouseDown(NEWKEY)
1358
	end)
1359
	Mouse.Button1Up:connect(function(NEWKEY)
1360
		MouseUp(NEWKEY)
1361
	end)
1362
	Mouse.KeyDown:connect(function(NEWKEY)
1363
		KeyDown(NEWKEY)
1364
	end)
1365
	Mouse.KeyUp:connect(function(NEWKEY)
1366
		KeyUp(NEWKEY)
1367
	end)
1368
1369
--//=================================\\
1370
--\\=================================//
1371
1372
function unanchor()
1373
	if UNANCHOR == true then
1374
		for _, c in pairs(Character:GetDescendants()) do
1375
			if c:IsA("BasePart") and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1376
				c.Anchored = false
1377
			end
1378
		end
1379
	end
1380
end
1381
1382
--//=================================\\
1383
--||	WRAP THE WHOLE SCRIPT UP
1384
--\\=================================//
1385
1386
Humanoid.Changed:connect(function(Jump)
1387
	if Jump == "Jump" and (Disable_Jump == true) then
1388
		Humanoid.Jump = false
1389
	end
1390
end)
1391
1392
sick.AncestryChanged:Connect(function()
1393
	sick.Parent = Character
1394
end)
1395
1396
while true do
1397
	Swait()
1398
	script.Parent = WEAPONGUI
1399
	ANIMATE.Parent = nil
1400
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1401
	    v:Stop();
1402
	end
1403
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1404
		Humanoid = IT("Humanoid",Character)
1405
	end
1406
	Humanoid.HipHeight = 5
1407
	SINE = SINE + CHANGE
1408
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1409
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1410
	if ATTACK == false then
1411
		if TORSOVELOCITY < 1 then
1412
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1413
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1414
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1415
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-5), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1416
		elseif TORSOVELOCITY > 1 then
1417
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1418
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1419
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.6) * ANGLES(RAD(165), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1420
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1421
		end
1422
	end
1423
	for E = 1, #TAIL do
1424
		TAIL[E].Parent.Parent = Character
1425
		TAIL[E].C1 = Clerp(TAIL[E].C1,CF(0, 0, 0) * ANGLES(RAD(-2 * COS(SINE / 48) + 1 * SIN(SINE / 12)), RAD(0), RAD(1 * SIN(SINE / 24))), 1 / Animation_Speed)
1426
	end
1427
	unanchor()
1428
	Humanoid.MaxHealth = "inf"
1429
	Humanoid.Health = "inf"
1430
	if Rooted == false then
1431
		Disable_Jump = false
1432
		Humanoid.WalkSpeed = Speed
1433
	elseif Rooted == true then
1434
		Disable_Jump = true
1435
		Humanoid.WalkSpeed = 0
1436
	end
1437
	for _, c in pairs(Character:GetChildren()) do
1438
		if c.ClassName == "Part" and c.Name ~= "Eye" then
1439
			c.Material = "Neon"
1440
			if c:FindFirstChildOfClass("ParticleEmitter") then
1441
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1442
			end
1443
			c.Color = C3(0,0,0)
1444
			if c == Head then
1445
				if c:FindFirstChild("face") then
1446
					c.face:remove()
1447
				end
1448
			end
1449
		elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
1450
			c:remove()
1451
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1452
			c:remove()
1453
		end
1454
	end
1455
	sick.SoundId = "rbxassetid://292773785"
1456
	sick.Looped = true
1457
	sick.Pitch = 1
1458
	sick.Volume = 1.5
1459
	sick.Playing = true
1460
	sick.Parent = Character
1461
	--refit()
1462
	Humanoid.Name = "Grim"
1463
	Humanoid.PlatformStand = false
1464
end
1465
1466
--//=================================\\
1467
--\\=================================//
1468
1469
1470
1471
1472
1473
--//====================================================\\--
1474
--||			  		 END OF SCRIPT
1475
--\\====================================================//--