View difference between Paste ID: 0p9ExjDp and z3L1vZqJ
SHOW: | | - or go back to the newest paste.
1-
local Player = game:GetService("Players").MasterPiece9876
1+
local Player = game:GetService("Players").MasterBossJ
2
3
4
local Mouse,mouse,UserInputService,ContextActionService
5
do
6
	script.Parent = Player.Character
7
	local CAS = {Actions={}}
8
	local Event = Instance.new("RemoteEvent")
9
	Event.Name = "UserInput_Event"
10
	Event.Parent = Player.Character
11
	local fakeEvent = function()
12
		local t = {_fakeEvent=true}
13
		t.Connect = function(self,f)self.Function=f end
14
		t.connect = t.Connect
15
		return t
16
	end
17
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
18
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
19
	function CAS:BindAction(name,fun,touch,...)
20
		CAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
21
	end
22
	function CAS:UnbindAction(name)
23
		CAS.Actions[name] = nil
24
	end
25
	local function te(self,ev,...)
26
		local t = m[ev]
27
		if t and t._fakeEvent and t.Function then
28
			t.Function(...)
29
		end
30
	end
31
	m.TrigEvent = te
32
	UIS.TrigEvent = te
33
	Event.OnServerEvent:Connect(function(plr,io)
34
	    if plr~=Player then return end
35
		if io.isMouse then
36
			m.Target = io.Target
37
			m.Hit = io.Hit
38
		elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
39
	        if io.UserInputState == Enum.UserInputState.Begin then
40
				m:TrigEvent("Button1Down")
41
			else
42
				m:TrigEvent("Button1Up")
43
			end
44
		else
45
			for n,t in pairs(CAS.Actions) do
46
				for _,k in pairs(t.Keys) do
47
					if k==io.KeyCode then
48
						t.Function(t.Name,io.UserInputState,io)
49
					end
50
				end
51
			end
52
	        if io.UserInputState == Enum.UserInputState.Begin then
53
	            m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
54
				UIS:TrigEvent("InputBegan",io,false)
55
			else
56
				m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
57
				UIS:TrigEvent("InputEnded",io,false)
58
	        end
59
	    end
60
	end)
61
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
62
end
63
64
---------Replace All "Goldenknight577" With Your Name.
65
--Remove "Mouse =" or "local mouse =" at the start.
66
--Replace Kermat161 At The Top Of The Script With You Name.
67
-----------------------------Script In The Line's.
68
69
70
script.Name = "Banisher Gun V3 / 1"
71
--//====================================================\\--
72
--||			   CREATED BY MasterPiece9876
73
--\\====================================================//--
74
75
script:ClearAllChildren()
76
wait(0.2)
77
78
Player = game:GetService("Players").MasterPiece9876
79
PlayerGui = Player.PlayerGui
80
Cam = workspace.CurrentCamera
81
Backpack = Player.Backpack
82
Character = Player.Character
83
Humanoid = Character.Humanoid
84
RootPart = Character["HumanoidRootPart"]
85
Torso = Character["Torso"]
86
Head = Character["Head"]
87
RightArm = Character["Right Arm"]
88
LeftArm = Character["Left Arm"]
89
RightLeg = Character["Right Leg"]
90
LeftLeg = Character["Left Leg"]
91
RootJoint = RootPart["RootJoint"]
92
Neck = Torso["Neck"]
93
RightShoulder = Torso["Right Shoulder"]
94
LeftShoulder = Torso["Left Shoulder"]
95
RightHip = Torso["Right Hip"]
96
LeftHip = Torso["Left Hip"]
97
local TIME = 0
98
local sick = Instance.new("Sound",Torso)
99
100
IT = Instance.new
101
CF = CFrame.new
102
VT = Vector3.new
103
RAD = math.rad
104
C3 = Color3.new
105
UD2 = UDim2.new
106
BRICKC = BrickColor.new
107
ANGLES = CFrame.Angles
108
EULER = CFrame.fromEulerAnglesXYZ
109
COS = math.cos
110
ACOS = math.acos
111
SIN = math.sin
112
ASIN = math.asin
113
ABS = math.abs
114
MRANDOM = math.random
115
FLOOR = math.floor
116
117
--//=================================\\
118
--|| 	      USEFUL VALUES
119
--\\=================================//
120
121
Animation_Speed = 3
122
local FORCERESET = false
123
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
124
local Speed = 21
125
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
126
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
127
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
128
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
129
local DAMAGEMULTIPLIER = 1
130
local ANIM = "Idle"
131
local ATTACK = false
132
local LEFTWINGS = {}
133
local RIGHTWINGS = {}
134
local WHITELIST = {}
135
local EQUIPPED = false
136
local HOLD = false
137
local COMBO = 1
138
local Rooted = false
139
local SINE = 0
140
local KEYHOLD = false
141
local CHANGE = 2 / Animation_Speed
142
local WALKINGANIM = false
143
local VALUE1 = false
144
local VALUE2 = false
145
local ROBLOXIDLEANIMATION = IT("Animation")
146
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
147
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
148
--ROBLOXIDLEANIMATION.Parent = Humanoid
149
local WEAPONGUI = IT("ScreenGui", PlayerGui)
150
WEAPONGUI.Name = "BanishV3Gui"
151
local Weapon = IT("Model")
152
Weapon.Name = "Adds"
153
local Effects = IT("Folder", Weapon)
154
Effects.Name = "Effects"
155
local ANIMATOR = Humanoid.Animator
156
local ANIMATE = Character:FindFirstChild("Animate")
157
local UNANCHOR = true
158
local TOBANISH = {}
159
script.Parent = PlayerGui
160
161
--//=================================\\
162
--\\=================================//
163
164
165
--//=================================\\
166
--|| pizzacruster'S ARTIFICIAL HEARTBEAT
167
--\\=================================//
168
169
ArtificialHB = Instance.new("BindableEvent", script)
170
ArtificialHB.Name = "ArtificialHB"
171
172
script:WaitForChild("ArtificialHB")
173
174
frame = Frame_Speed
175
tf = 0
176
allowframeloss = false
177
tossremainder = false
178
lastframe = tick()
179
script.ArtificialHB:Fire()
180
181
game:GetService("RunService").Heartbeat:connect(function(s, p)
182
	tf = tf + s
183
	if tf >= frame then
184
		if allowframeloss then
185
			script.ArtificialHB:Fire()
186
			lastframe = tick()
187
		else
188
			for i = 1, math.floor(tf / frame) do
189
				script.ArtificialHB:Fire()
190
			end
191
		lastframe = tick()
192
		end
193
		if tossremainder then
194
			tf = 0
195
		else
196
			tf = tf - frame * math.floor(tf / frame)
197
		end
198
	end
199
end)
200
201
--//=================================\\
202
--\\=================================//
203
204
--//=================================\\
205
--|| 	      SOME FUNCTIONS
206
--\\=================================//
207
208
local Create = LoadLibrary("RbxUtility").Create
209
210
function RemoveOutlines(part)
211
  part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
212
end
213
214
CFuncs = {	
215
	["Part"] = {
216
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
217
			local Part = Create("Part"){
218
				Parent = Parent,
219
				Reflectance = Reflectance,
220
				Transparency = Transparency,
221
				CanCollide = false,
222
				Locked = true,
223
				BrickColor = BrickColor.new(tostring(BColor)),
224
				Name = Name,
225
				Size = Size,
226
				Material = Material,
227
			}
228
			RemoveOutlines(Part)
229
			return Part
230
		end;
231
	};
232
	
233
	["Mesh"] = {
234
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
235
			local Msh = Create(Mesh){
236
				Parent = Part,
237
				Offset = OffSet,
238
				Scale = Scale,
239
			}
240
			if Mesh == "SpecialMesh" then
241
				Msh.MeshType = MeshType
242
				Msh.MeshId = MeshId
243
			end
244
			return Msh
245
		end;
246
	};
247
	
248
	["Mesh"] = {
249
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
250
			local Msh = Create(Mesh){
251
				Parent = Part,
252
				Offset = OffSet,
253
				Scale = Scale,
254
			}
255
			if Mesh == "SpecialMesh" then
256
				Msh.MeshType = MeshType
257
				Msh.MeshId = MeshId
258
			end
259
			return Msh
260
		end;
261
	};
262
	
263
	["Weld"] = {
264
		Create = function(Parent, Part0, Part1, C0, C1)
265
			local Weld = Create("Weld"){
266
				Parent = Parent,
267
				Part0 = Part0,
268
				Part1 = Part1,
269
				C0 = C0,
270
				C1 = C1,
271
			}
272
			return Weld
273
		end;
274
	};
275
276
	["Sound"] = {
277
		Create = function(id, par, vol, pit) 
278
			coroutine.resume(coroutine.create(function()
279
				local S = Create("Sound"){
280
					Volume = vol,
281
                                        Name = "EffectSoundo",
282
					Pitch = pit or 1,
283
					SoundId = id,
284
					Parent = par or workspace,
285
				}
286
				wait() 
287
				S:play() 
288
				game:GetService("Debris"):AddItem(S, 10)
289
			end))
290
		end;
291
	};
292
293
	["TimeSound"] = {
294
		Create = function(id, par, vol, pit, timepos) 
295
			coroutine.resume(coroutine.create(function()
296
				local S = Create("Sound"){
297
					Volume = vol,
298
                                        Name = "EffectSoundo",
299
					Pitch = pit or 1,
300
					SoundId = id,
301
                                        TimePosition = timepos,
302
					Parent = par or workspace,
303
				}
304
				wait() 
305
				S:play() 
306
				game:GetService("Debris"):AddItem(S, 10)
307
			end))
308
		end;
309
	};
310
		["EchoSound"] = {
311
		Create = function(id, par, vol, pit, timepos,delays,echodelay,fedb,dryl) 
312
			coroutine.resume(coroutine.create(function()
313
				local Sas = Create("Sound"){
314
					Volume = vol,
315
                    Name = "EffectSoundo",
316
					Pitch = pit or 1,
317
					SoundId = id,
318
                    TimePosition = timepos,
319
					Parent = par or workspace,
320
				}
321
				local E = Create("EchoSoundEffect"){
322
					Delay = echodelay,
323
                    Name = "Echo",
324
					Feedback = fedb,
325
                    DryLevel = dryl,
326
					Parent = Sas,
327
				}
328
				wait() 
329
				Sas:play() 
330
				game:GetService("Debris"):AddItem(Sas, delays)
331
			end))
332
		end;
333
	};
334
335
["LongSound"] = {
336
		Create = function(id, par, vol, pit) 
337
			coroutine.resume(coroutine.create(function()
338
				local S = Create("Sound"){
339
					Volume = vol,
340
					Pitch = pit or 1,
341
					SoundId = id,
342
					Parent = par or workspace,
343
				}
344
				wait() 
345
				S:play() 
346
				game:GetService("Debris"):AddItem(S, 60)
347
			end))
348
		end;
349
	};
350
	
351
	["ParticleEmitter"] = {
352
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
353
			local fp = Create("ParticleEmitter"){
354
				Parent = Parent,
355
				Color = ColorSequence.new(Color1, Color2),
356
				LightEmission = LightEmission,
357
				Size = Size,
358
				Texture = Texture,
359
				Transparency = Transparency,
360
				ZOffset = ZOffset,
361
				Acceleration = Accel,
362
				Drag = Drag,
363
				LockedToPart = LockedToPart,
364
				VelocityInheritance = VelocityInheritance,
365
				EmissionDirection = EmissionDirection,
366
				Enabled = Enabled,
367
				Lifetime = LifeTime,
368
				Rate = Rate,
369
				Rotation = Rotation,
370
				RotSpeed = RotSpeed,
371
				Speed = Speed,
372
				VelocitySpread = VelocitySpread,
373
			}
374
			return fp
375
		end;
376
	};
377
378
	CreateTemplate = {
379
	
380
	};
381
}
382
383
local EyeSizes={
384
	NumberSequenceKeypoint.new(0,2,0),
385
	NumberSequenceKeypoint.new(1,0,0)
386
}
387
local EyeTrans={
388
	NumberSequenceKeypoint.new(0,0.5,0),
389
	NumberSequenceKeypoint.new(1,1,0)
390
}
391
local PE=Instance.new("ParticleEmitter",nil)
392
PE.LightEmission=.8
393
PE.Color = ColorSequence.new(BRICKC("Crimson").Color,BRICKC("Really red").Color)
394
PE.Size=NumberSequence.new(EyeSizes)
395
PE.Transparency=NumberSequence.new(EyeTrans)
396
PE.Lifetime=NumberRange.new(0.35,1)
397
PE.Rotation=NumberRange.new(0,360)
398
PE.Rate=100
399
PE.VelocitySpread = 10000
400
PE.Acceleration = Vector3.new(0,85,0)
401
PE.Drag = 5
402
PE.Speed = NumberRange.new(0.1,5)
403
PE.Texture="http://www.roblox.com/asset/?id=1460745664"
404
PE.ZOffset = 0.5
405
PE.Name = "PE"
406
PE.Enabled = false
407
408
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
409
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
410
end
411
412
function PositiveAngle(NUMBER)
413
	if NUMBER >= 0 then
414
		NUMBER = 0
415
	end
416
	return NUMBER
417
end
418
419
function NegativeAngle(NUMBER)
420
	if NUMBER <= 0 then
421
		NUMBER = 0
422
	end
423
	return NUMBER
424
end
425
426
function Swait(NUMBER)
427
	if NUMBER == 0 or NUMBER == nil then
428
		ArtificialHB.Event:wait()
429
	else
430
		for i = 1, NUMBER do
431
			ArtificialHB.Event:wait()
432
		end
433
	end
434
end
435
436
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
437
	local NEWMESH = IT(MESH)
438
	if MESH == "SpecialMesh" then
439
		NEWMESH.MeshType = MESHTYPE
440
		if MESHID ~= "nil" and MESHID ~= "" then
441
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
442
		end
443
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
444
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
445
		end
446
	end
447
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
448
	NEWMESH.Scale = SCALE
449
	NEWMESH.Parent = PARENT
450
	return NEWMESH
451
end
452
453
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
454
	local NEWPART = IT("Part")
455
	NEWPART.formFactor = FORMFACTOR
456
	NEWPART.Reflectance = REFLECTANCE
457
	NEWPART.Transparency = TRANSPARENCY
458
	NEWPART.CanCollide = false
459
	NEWPART.Locked = true
460
	NEWPART.Anchored = true
461
	if ANCHOR == false then
462
		NEWPART.Anchored = false
463
	end
464
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
465
	NEWPART.Name = NAME
466
	NEWPART.Size = SIZE
467
	NEWPART.Position = Torso.Position
468
	NEWPART.Material = MATERIAL
469
	NEWPART:BreakJoints()
470
	NEWPART.Parent = PARENT
471
	return NEWPART
472
end
473
474
	local function weldBetween(a, b)
475
	    local weldd = Instance.new("ManualWeld")
476
	    weldd.Part0 = a
477
	    weldd.Part1 = b
478
	    weldd.C0 = CFrame.new()
479
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
480
	    weldd.Parent = a
481
	    return weldd
482
	end
483
484
485
function QuaternionFromCFrame(cf)
486
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
487
	local trace = m00 + m11 + m22
488
	if trace > 0 then 
489
		local s = math.sqrt(1 + trace)
490
		local recip = 0.5 / s
491
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
492
	else
493
		local i = 0
494
		if m11 > m00 then
495
			i = 1
496
		end
497
		if m22 > (i == 0 and m00 or m11) then
498
			i = 2
499
		end
500
		if i == 0 then
501
			local s = math.sqrt(m00 - m11 - m22 + 1)
502
			local recip = 0.5 / s
503
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
504
		elseif i == 1 then
505
			local s = math.sqrt(m11 - m22 - m00 + 1)
506
			local recip = 0.5 / s
507
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
508
		elseif i == 2 then
509
			local s = math.sqrt(m22 - m00 - m11 + 1)
510
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
511
		end
512
	end
513
end
514
 
515
function QuaternionToCFrame(px, py, pz, x, y, z, w)
516
	local xs, ys, zs = x + x, y + y, z + z
517
	local wx, wy, wz = w * xs, w * ys, w * zs
518
	local xx = x * xs
519
	local xy = x * ys
520
	local xz = x * zs
521
	local yy = y * ys
522
	local yz = y * zs
523
	local zz = z * zs
524
	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))
525
end
526
 
527
function QuaternionSlerp(a, b, t)
528
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
529
	local startInterp, finishInterp;
530
	if cosTheta >= 0.0001 then
531
		if (1 - cosTheta) > 0.0001 then
532
			local theta = ACOS(cosTheta)
533
			local invSinTheta = 1 / SIN(theta)
534
			startInterp = SIN((1 - t) * theta) * invSinTheta
535
			finishInterp = SIN(t * theta) * invSinTheta
536
		else
537
			startInterp = 1 - t
538
			finishInterp = t
539
		end
540
	else
541
		if (1 + cosTheta) > 0.0001 then
542
			local theta = ACOS(-cosTheta)
543
			local invSinTheta = 1 / SIN(theta)
544
			startInterp = SIN((t - 1) * theta) * invSinTheta
545
			finishInterp = SIN(t * theta) * invSinTheta
546
		else
547
			startInterp = t - 1
548
			finishInterp = t
549
		end
550
	end
551
	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
552
end
553
554
function Clerp(a, b, t)
555
	local qa = {QuaternionFromCFrame(a)}
556
	local qb = {QuaternionFromCFrame(b)}
557
	local ax, ay, az = a.x, a.y, a.z
558
	local bx, by, bz = b.x, b.y, b.z
559
	local _t = 1 - t
560
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
561
end
562
563
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
564
	local frame = IT("Frame")
565
	frame.BackgroundTransparency = TRANSPARENCY
566
	frame.BorderSizePixel = BORDERSIZEPIXEL
567
	frame.Position = POSITION
568
	frame.Size = SIZE
569
	frame.BackgroundColor3 = COLOR
570
	frame.BorderColor3 = BORDERCOLOR
571
	frame.Name = NAME
572
	frame.Parent = PARENT
573
	return frame
574
end
575
576
function Fire(art)
577
	local PARTICLES = PE:Clone()
578
	PARTICLES.Parent = art
579
	PARTICLES.Enabled = true
580
	return PARTICLES
581
end
582
583
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
584
	local label = IT("TextLabel")
585
	label.BackgroundTransparency = 1
586
	label.Size = UD2(1, 0, 1, 0)
587
	label.Position = UD2(0, 0, 0, 0)
588
	label.TextColor3 = TEXTCOLOR
589
	label.TextStrokeTransparency = STROKETRANSPARENCY
590
	label.TextTransparency = TRANSPARENCY
591
	label.FontSize = TEXTFONTSIZE
592
	label.Font = TEXTFONT
593
	label.BorderSizePixel = BORDERSIZEPIXEL
594
	label.TextScaled = false
595
	label.Text = TEXT
596
	label.Name = NAME
597
	label.Parent = PARENT
598
	return label
599
end
600
601
function NoOutlines(PART)
602
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
603
end
604
605
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
606
	local NEWWELD = IT(TYPE)
607
	NEWWELD.Part0 = PART0
608
	NEWWELD.Part1 = PART1
609
	NEWWELD.C0 = C0
610
	NEWWELD.C1 = C1
611
	NEWWELD.Parent = PARENT
612
	return NEWWELD
613
end
614
615
local S = IT("Sound")
616
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
617
	local NEWSOUND = nil
618
	coroutine.resume(coroutine.create(function()
619
		NEWSOUND = S:Clone()
620
		NEWSOUND.Parent = PARENT
621
		NEWSOUND.Volume = VOLUME
622
		NEWSOUND.Pitch = PITCH
623
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
624
		NEWSOUND:play()
625
		if DOESLOOP == true then
626
			NEWSOUND.Looped = true
627
		else
628
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
629
			NEWSOUND:remove()
630
		end
631
	end))
632
	return NEWSOUND
633
end
634
635
function CFrameFromTopBack(at, top, back)
636
	local right = top:Cross(back)
637
	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)
638
end
639
640
function CreateParta(parent,transparency,reflectance,material,brickcolor)
641
local p = Instance.new("Part")
642
p.TopSurface = 0
643
p.BottomSurface = 0
644
p.Parent = parent
645
p.Size = Vector3.new(0.1,0.1,0.1)
646
p.Transparency = transparency
647
p.Reflectance = reflectance
648
p.CanCollide = false
649
p.Locked = true
650
p.BrickColor = brickcolor
651
p.Material = material
652
return p
653
end
654
655
--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})
656
function WACKYEFFECT(Table)
657
	local TYPE = (Table.EffectType or "Sphere")
658
	local SIZE = (Table.Size or VT(1,1,1))
659
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
660
	local TRANSPARENCY = (Table.Transparency or 0)
661
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
662
	local CFRAME = (Table.CFrame or Torso.CFrame)
663
	local MOVEDIRECTION = (Table.MoveToPos or nil)
664
	local ROTATION1 = (Table.RotationX or 0)
665
	local ROTATION2 = (Table.RotationY or 0)
666
	local ROTATION3 = (Table.RotationZ or 0)
667
	local MATERIAL = (Table.Material or "Neon")
668
	local COLOR = (Table.Color or C3(1,1,1))
669
	local TIME = (Table.Time or 45)
670
	local SOUNDID = (Table.SoundID or nil)
671
	local SOUNDPITCH = (Table.SoundPitch or nil)
672
	local SOUNDVOLUME = (Table.SoundVolume or nil)
673
	coroutine.resume(coroutine.create(function()
674
		local PLAYSSOUND = false
675
		local SOUND = nil
676
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
677
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
678
			PLAYSSOUND = true
679
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
680
		end
681
		EFFECT.Color = COLOR
682
		local MSH = nil
683
		if TYPE == "Sphere" then
684
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
685
		elseif TYPE == "Block" then
686
			MSH = IT("BlockMesh",EFFECT)
687
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
688
		elseif TYPE == "Wave" then
689
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
690
		elseif TYPE == "Ring" then
691
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
692
		elseif TYPE == "Slash" then
693
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
694
		elseif TYPE == "Round Slash" then
695
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
696
		elseif TYPE == "Swirl" then
697
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
698
		elseif TYPE == "Skull" then
699
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
700
		elseif TYPE == "Crystal" then
701
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
702
		end
703
		if MSH ~= nil then
704
			local MOVESPEED = nil
705
			if MOVEDIRECTION ~= nil then
706
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
707
			end
708
			local GROWTH = SIZE - ENDSIZE
709
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
710
			if TYPE == "Block" then
711
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
712
			else
713
				EFFECT.CFrame = CFRAME
714
			end
715
			for LOOP = 1, TIME+1 do
716
				Swait()
717
				MSH.Scale = MSH.Scale - GROWTH/TIME
718
				if TYPE == "Wave" then
719
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
720
				end
721
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
722
				if TYPE == "Block" then
723
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
724
				else
725
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
726
				end
727
				if MOVEDIRECTION ~= nil then
728
					local ORI = EFFECT.Orientation
729
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
730
					EFFECT.Orientation = ORI
731
				end
732
			end
733
			if PLAYSSOUND == false then
734
				EFFECT:remove()
735
			else
736
				SOUND.Stopped:Connect(function()
737
					EFFECT:remove()
738
				end)
739
			end
740
		else
741
			if PLAYSSOUND == false then
742
				EFFECT:remove()
743
			else
744
				repeat Swait() until SOUND.Playing == false
745
				EFFECT:remove()
746
			end
747
		end
748
	end))
749
end
750
751
function MakeForm(PART,TYPE)
752
	if TYPE == "Cyl" then
753
		local MSH = IT("CylinderMesh",PART)
754
	elseif TYPE == "Ball" then
755
		local MSH = IT("SpecialMesh",PART)
756
		MSH.MeshType = "Sphere"
757
	elseif TYPE == "Wedge" then
758
		local MSH = IT("SpecialMesh",PART)
759
		MSH.MeshType = "Wedge"
760
	end
761
end
762
763
function SpawnTrail(FROM,TO,BIG)
764
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Lime green", "Trail", VT(0,0,0))
765
	MakeForm(TRAIL,"Cyl")
766
	local DIST = (FROM - TO).Magnitude
767
	if BIG == true then
768
		TRAIL.Size = VT(0.5,DIST,0.5)
769
	else
770
		TRAIL.Size = VT(0.25,DIST,0.25)
771
	end
772
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
773
	coroutine.resume(coroutine.create(function()
774
		for i = 1, 5 do
775
			Swait()
776
			TRAIL.Transparency = TRAIL.Transparency + 0.1
777
		end
778
		TRAIL:remove()
779
	end))
780
end
781
782
Debris = game:GetService("Debris")
783
784
function CastProperRay(StartPos, EndPos, Distance, Ignore)
785
	local DIRECTION = CF(StartPos,EndPos).lookVector
786
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
787
end
788
789
function turnto(position)
790
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
791
end
792
793
function sphere(bonuspeed,type,pos,scale,value,color)
794
local type = type
795
local rng = Instance.new("Part", Character)
796
        rng.Anchored = true
797
if ModeOfGlitch ~= 9 then
798
        rng.BrickColor = color
799
elseif ModeOfGlitch == 9 then
800
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
801
end
802
        rng.CanCollide = false
803
        rng.FormFactor = 3
804
        rng.Name = "Ring"
805
        rng.Material = "Neon"
806
        rng.Size = Vector3.new(1, 1, 1)
807
        rng.Transparency = 0
808
        rng.TopSurface = 0
809
        rng.BottomSurface = 0
810
        rng.CFrame = pos
811
        local rngm = Instance.new("SpecialMesh", rng)
812
        rngm.MeshType = "Sphere"
813
rngm.Scale = scale
814
if rainbowmode == true then
815
rng.Color = Color3.new(r/255,g/255,b/255)
816
end
817
if ModeOfGlitch == 9 then
818
coroutine.resume(coroutine.create(function()
819
while true do
820
Swait()
821
if rng.Parent ~= nil then
822
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
823
else
824
break
825
end
826
end
827
end))
828
end
829
local scaler2 = 1
830
if type == "Add" then
831
scaler2 = 1*value
832
elseif type == "Divide" then
833
scaler2 = 1/value
834
end
835
coroutine.resume(coroutine.create(function()
836
for i = 0,10/bonuspeed,0.1 do
837
Swait()
838
if rainbowmode == true then
839
rng.Color = Color3.new(r/255,g/255,b/255)
840
end
841
if type == "Add" then
842
scaler2 = scaler2 - 0.01*value/bonuspeed
843
elseif type == "Divide" then
844
scaler2 = scaler2 - 0.01/value*bonuspeed
845
end
846
if chaosmode == true then
847
rng.BrickColor = BrickColor.random()
848
end
849
rng.Transparency = rng.Transparency + 0.01*bonuspeed
850
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, scaler2*bonuspeed)
851
end
852
rng:Destroy()
853
end))
854
end
855
856
function sphere2(bonuspeed,type,pos,scale,value,value2,value3,color)
857
local type = type
858
local rng = Instance.new("Part", Character)
859
        rng.Anchored = true
860
if ModeOfGlitch ~= 9 then
861
        rng.BrickColor = color
862
elseif ModeOfGlitch == 9 then
863
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
864
end
865
        rng.CanCollide = false
866
        rng.FormFactor = 3
867
        rng.Name = "Ring"
868
        rng.Material = "Neon"
869
        rng.Size = Vector3.new(1, 1, 1)
870
        rng.Transparency = 0
871
        rng.TopSurface = 0
872
        rng.BottomSurface = 0
873
        rng.CFrame = pos
874
        local rngm = Instance.new("SpecialMesh", rng)
875
        rngm.MeshType = "Sphere"
876
rngm.Scale = scale
877
local scaler2 = 1
878
local scaler2b = 1
879
local scaler2c = 1
880
if type == "Add" then
881
scaler2 = 1*value
882
scaler2b = 1*value2
883
scaler2c = 1*value3
884
elseif type == "Divide" then
885
scaler2 = 1/value
886
scaler2b = 1/value2
887
scaler2c = 1/value3
888
end
889
if ModeOfGlitch == 9 then
890
coroutine.resume(coroutine.create(function()
891
while true do
892
Swait()
893
if rng.Parent ~= nil then
894
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
895
else
896
break
897
end
898
end
899
end))
900
end
901
coroutine.resume(coroutine.create(function()
902
for i = 0,10/bonuspeed,0.1 do
903
Swait()
904
if type == "Add" then
905
scaler2 = scaler2 - 0.01*value/bonuspeed
906
scaler2b = scaler2b - 0.01*value/bonuspeed
907
scaler2c = scaler2c - 0.01*value/bonuspeed
908
elseif type == "Divide" then
909
scaler2 = scaler2 - 0.01/value*bonuspeed
910
scaler2b = scaler2b - 0.01/value*bonuspeed
911
scaler2c = scaler2c - 0.01/value*bonuspeed
912
end
913
rng.Transparency = rng.Transparency + 0.01*bonuspeed
914
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2b*bonuspeed, scaler2c*bonuspeed)
915
end
916
rng:Destroy()
917
end))
918
end
919
920
function CreateMesh2(parent,meshtype,x1,y1,z1)
921
local mesh = Instance.new("SpecialMesh",parent)
922
mesh.MeshType = meshtype
923
mesh.Scale = Vector3.new(x1*10,y1*10,z1*10)
924
return mesh
925
end
926
927
function sphereMK(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
928
local type = type
929
local rng = Instance.new("Part", Character)
930
        rng.Anchored = true
931
if ModeOfGlitch ~= 9 then
932
        rng.BrickColor = color
933
elseif ModeOfGlitch == 9 then
934
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
935
end
936
        rng.CanCollide = false
937
        rng.FormFactor = 3
938
        rng.Name = "Ring"
939
        rng.Material = "Neon"
940
        rng.Size = Vector3.new(1, 1, 1)
941
        rng.Transparency = 0
942
        rng.TopSurface = 0
943
        rng.BottomSurface = 0
944
        rng.CFrame = pos
945
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
946
        local rngm = Instance.new("SpecialMesh", rng)
947
        rngm.MeshType = "Sphere"
948
rngm.Scale = VT(x1,y1,z1)
949
if rainbowmode == true then
950
rng.Color = Color3.new(r/255,g/255,b/255)
951
end
952
if ModeOfGlitch == 9 then
953
coroutine.resume(coroutine.create(function()
954
while true do
955
Swait()
956
if rng.Parent ~= nil then
957
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
958
else
959
break
960
end
961
end
962
end))
963
end
964
local scaler2 = 1
965
local speeder = FastSpeed
966
if type == "Add" then
967
scaler2 = 1*value
968
elseif type == "Divide" then
969
scaler2 = 1/value
970
end
971
coroutine.resume(coroutine.create(function()
972
for i = 0,10/bonuspeed,0.1 do
973
Swait()
974
if rainbowmode == true then
975
rng.Color = Color3.new(r/255,g/255,b/255)
976
end
977
if type == "Add" then
978
scaler2 = scaler2 - 0.01*value/bonuspeed
979
elseif type == "Divide" then
980
scaler2 = scaler2 - 0.01/value*bonuspeed
981
end
982
if chaosmode == true then
983
rng.BrickColor = BrickColor.random()
984
end
985
speeder = speeder - 0.01*FastSpeed*bonuspeed
986
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
987
rng.Transparency = rng.Transparency + 0.01*bonuspeed
988
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
989
end
990
rng:Destroy()
991
end))
992
end
993
994
function sphereMKCharge(bonuspeed,FastSpeed,type,pos,x1,y1,z1,value,color,outerpos)
995
local type = type
996
local rng = Instance.new("Part", char)
997
        rng.Anchored = true
998
if ModeOfGlitch ~= 9 then
999
        rng.BrickColor = color
1000
elseif ModeOfGlitch == 9 then
1001
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
1002
end
1003
        rng.CanCollide = false
1004
        rng.FormFactor = 3
1005
        rng.Name = "Ring"
1006
        rng.Material = "Neon"
1007
        rng.Size = Vector3.new(1, 1, 1)
1008
        rng.Transparency = 1
1009
        rng.TopSurface = 0
1010
        rng.BottomSurface = 0
1011
        rng.CFrame = pos
1012
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*outerpos
1013
        local rngm = Instance.new("SpecialMesh", rng)
1014
        rngm.MeshType = "Sphere"
1015
rngm.Scale = vt(x1,y1,z1)
1016
if rainbowmode == true then
1017
rng.Color = Color3.new(r/255,g/255,b/255)
1018
end
1019
if ModeOfGlitch == 9 then
1020
coroutine.resume(coroutine.create(function()
1021
while true do
1022
swait()
1023
if rng.Parent ~= nil then
1024
rng.Color = Color3.new(kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000,kan.PlaybackLoudness/1000)
1025
else
1026
break
1027
end
1028
end
1029
end))
1030
end
1031
local scaler2 = 1
1032
local speeder = FastSpeed
1033
if type == "Add" then
1034
scaler2 = 1*value
1035
elseif type == "Divide" then
1036
scaler2 = 1/value
1037
end
1038
coroutine.resume(coroutine.create(function()
1039
for i = 0,10/bonuspeed,0.1 do
1040
swait()
1041
if rainbowmode == true then
1042
rng.Color = Color3.new(r/255,g/255,b/255)
1043
end
1044
if type == "Add" then
1045
scaler2 = scaler2 - 0.01*value/bonuspeed
1046
elseif type == "Divide" then
1047
scaler2 = scaler2 - 0.01/value*bonuspeed
1048
end
1049
if chaosmode == true then
1050
rng.BrickColor = BrickColor.random()
1051
end
1052
speeder = speeder - 0.01*FastSpeed*bonuspeed
1053
rng.CFrame = rng.CFrame + rng.CFrame.lookVector*speeder*bonuspeed
1054
rng.Transparency = rng.Transparency - 0.01*bonuspeed
1055
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2*bonuspeed, 0)
1056
end
1057
rng:Destroy()
1058
end))
1059
end
1060
1061
function slash(bonuspeed,rotspeed,rotatingop,typeofshape,type,typeoftrans,pos,scale,value,color)
1062
local type = type
1063
local rotenable = rotatingop
1064
local rng = Instance.new("Part", Character)
1065
        rng.Anchored = true
1066
        rng.BrickColor = color
1067
        rng.CanCollide = false
1068
        rng.FormFactor = 3
1069
        rng.Name = "Ring"
1070
        rng.Material = "Neon"
1071
        rng.Size = Vector3.new(1, 1, 1)
1072
        rng.Transparency = 0
1073
if typeoftrans == "In" then
1074
rng.Transparency = 1
1075
end
1076
        rng.TopSurface = 0
1077
        rng.BottomSurface = 0
1078
        rng.CFrame = pos
1079
        local rngm = Instance.new("SpecialMesh", rng)
1080
        rngm.MeshType = "FileMesh"
1081
if typeofshape == "Normal" then
1082
rngm.MeshId = "rbxassetid://662586858"
1083
elseif typeofshape == "Round" then
1084
rngm.MeshId = "rbxassetid://662585058"
1085
end
1086
rngm.Scale = scale
1087
local scaler2 = 1/10
1088
if type == "Add" then
1089
scaler2 = 1*value/10
1090
elseif type == "Divide" then
1091
scaler2 = 1/value/10
1092
end
1093
local randomrot = math.random(1,2)
1094
coroutine.resume(coroutine.create(function()
1095
for i = 0,10/bonuspeed,0.1 do
1096
Swait()
1097
if type == "Add" then
1098
scaler2 = scaler2 - 0.01*value/bonuspeed/10
1099
elseif type == "Divide" then
1100
scaler2 = scaler2 - 0.01/value*bonuspeed/10
1101
end
1102
if rotenable == true then
1103
if randomrot == 1 then
1104
rng.CFrame = rng.CFrame*CFrame.Angles(0,math.rad(rotspeed*bonuspeed/2),0)
1105
elseif randomrot == 2 then
1106
rng.CFrame = rng.CFrame*CFrame.Angles(0,math.rad(-rotspeed*bonuspeed/2),0)
1107
end
1108
end
1109
if typeoftrans == "Out" then
1110
rng.Transparency = rng.Transparency + 0.01*bonuspeed
1111
elseif typeoftrans == "In" then
1112
rng.Transparency = rng.Transparency - 0.01*bonuspeed
1113
end
1114
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed/10, 0, scaler2*bonuspeed/10)
1115
end
1116
rng:Destroy()
1117
end))
1118
end
1119
1120
--//=================================\\
1121
--||	     WEAPON CREATION
1122
--\\=================================//
1123
1124
1125
local Back = CreatePart(3, Character, "Granite", 0, 0, "Really black", "Wing", VT(1,1,0.35),false)
1126
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Back, CF(0, 0.5, 1.2) * ANGLES(RAD(0),RAD(0),RAD(45)), CF(0, 0, 0))
1127
1128
local ANGLE = 35
1129
for i = 1, 5 do
1130
	local Wing = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Wing", VT(0.15,2+(i/2),0.15),false)
1131
	local WingWeld = CreateWeldOrSnapOrMotor("Weld", Wing, Torso, Wing, CF(0, 1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(90)) * ANGLES(RAD(ANGLE), RAD(0), RAD(0)) * CF(0,3+(i/10),0) , CF(0, 0, 0))
1132
	local Wing2 = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Wing", VT(0.25,1,0.25),false)
1133
	CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing2, CF(0, 2+(i/2), 0) * ANGLES(RAD(25), RAD(0), RAD(0)), CF(0, 1, 0))
1134
	ANGLE = ANGLE - 15
1135
	table.insert(LEFTWINGS,WingWeld)
1136
end
1137
ANGLE = 35
1138
for i = 1, 5 do
1139
	local Wing = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Wing", VT(0.15,2+(i/2),0.15),false)
1140
	local WingWeld = CreateWeldOrSnapOrMotor("Weld", Wing, Torso, Wing, CF(0, 1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(ANGLE), RAD(0), RAD(0)) * CF(0,3+(i/10),0) , CF(0, 0, 0))
1141
	local Wing2 = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Wing", VT(0.25,1,0.25),false)
1142
	CreateWeldOrSnapOrMotor("Weld", Wing, Wing, Wing2, CF(0, 2+(i/2), 0) * ANGLES(RAD(25), RAD(0), RAD(0)), CF(0, 1, 0))
1143
	ANGLE = ANGLE - 15
1144
	table.insert(RIGHTWINGS,WingWeld)
1145
end
1146
1147
local LASTPART = Head
1148
for i = 1, 20 do
1149
	local MATH = (1-(i/25))
1150
	if LASTPART == Head then
1151
		local Horn = CreatePart(3, Character, "Neon", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1152
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
1153
		LASTPART = Horn
1154
		Horn.Color = C3(0,1,0)
1155
	else
1156
		local Horn = CreatePart(3, Character, "Neon", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1157
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
1158
		LASTPART = Horn
1159
		Horn.Color = C3(0,1,0)
1160
	end
1161
end
1162
local LASTPART = Head
1163
for i = 1, 20 do
1164
	local MATH = (1-(i/25))
1165
	if LASTPART == Head then
1166
		local Horn = CreatePart(3, Character, "Neon", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1167
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
1168
		LASTPART = Horn
1169
		Horn.Color = C3(0,1,0)
1170
	else
1171
		local Horn = CreatePart(3, Character, "Neon", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1172
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
1173
		LASTPART = Horn
1174
		Horn.Color = C3(0,1,0)
1175
	end
1176
end
1177
1178
local naeeym2 = Instance.new("BillboardGui",Character)
1179
naeeym2.AlwaysOnTop = true
1180
naeeym2.Size = UDim2.new(5,35,2,35)
1181
naeeym2.StudsOffset = Vector3.new(0,1,0)
1182
naeeym2.Adornee = Character.Head
1183
naeeym2.Name = "Name"
1184
local tecks2 = Instance.new("TextLabel",naeeym2)
1185
tecks2.BackgroundTransparency = 1
1186
tecks2.TextScaled = true
1187
tecks2.BorderSizePixel = 0
1188
tecks2.Text = "VIRUS"
1189
tecks2.Font = "Antique"
1190
tecks2.TextSize = 100
1191
tecks2.TextStrokeTransparency = 0
1192
tecks2.TextColor3 = Color3.new(0,0,0)
1193
tecks2.TextStrokeColor3 = Color3.new(0,0.8,0)
1194
tecks2.Size = UDim2.new(1,0,0.5,0)
1195
tecks2.Parent = naeeym2
1196
1197
function WarnFunc(text)
1198
	local chat = coroutine.wrap(function()
1199
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
1200
		Character:FindFirstChild("TalkingBillBoard"):destroy()
1201
	end
1202
	local Bill = Instance.new("BillboardGui",Character)
1203
	Bill.Size = UDim2.new(0,100,0,40)
1204
	Bill.StudsOffset = Vector3.new(0,35,0)
1205
	Bill.Adornee = Character.Head
1206
	Bill.Name = "TalkingBillBoard"
1207
	local Hehe = Instance.new("TextLabel",Bill)
1208
	Hehe.BackgroundTransparency = 1
1209
	Hehe.BorderSizePixel = 0
1210
	Hehe.Text = ""
1211
	Hehe.Font = "Antique"
1212
	Hehe.TextSize = 120
1213
	Hehe.TextStrokeTransparency = 0
1214
	Hehe.Size = UDim2.new(1,0,0.5,0)
1215
	coroutine.resume(coroutine.create(function()
1216
		while Hehe ~= nil do
1217
			Swait()	
1218
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
1219
			Hehe.Rotation = math.random(-5,5)
1220
			Hehe.TextColor3 = Color3.new(255,0,0)
1221
			Hehe.TextStrokeColor3 = Color3.new(0,0,0)
1222
		end
1223
	end))
1224
	for i = 1,string.len(text),1 do
1225
		Swait()
1226
		Hehe.Text = string.sub(text,1,i)
1227
	end
1228
	Swait(90)--Re[math.random(1, 93)]
1229
	for i = 0, 1, .025 do
1230
		Swait()
1231
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
1232
		Hehe.TextStrokeTransparency = i
1233
		Hehe.TextTransparency = i
1234
	end
1235
	Bill:Destroy()
1236
	end)
1237
chat()
1238
end
1239
1240
function chatfunc(text)
1241
	local chat = coroutine.wrap(function()
1242
	if Character:FindFirstChild("TalkingBillBoard")~= nil then
1243
		Character:FindFirstChild("TalkingBillBoard"):destroy()
1244
	end
1245
	local Bill = Instance.new("BillboardGui",Character)
1246
	Bill.Size = UDim2.new(0,100,0,40)
1247
	Bill.StudsOffset = Vector3.new(0,3,0)
1248
	Bill.Adornee = Character.Head
1249
	Bill.Name = "TalkingBillBoard"
1250
	local Hehe = Instance.new("TextLabel",Bill)
1251
	Hehe.BackgroundTransparency = 1
1252
	Hehe.BorderSizePixel = 0
1253
	Hehe.Text = ""
1254
	Hehe.Font = "Bodoni"
1255
	Hehe.TextSize = 40
1256
	Hehe.TextStrokeTransparency = 0
1257
	Hehe.Size = UDim2.new(1,0,0.5,0)
1258
	coroutine.resume(coroutine.create(function()
1259
		while Hehe ~= nil do
1260
			Swait()	
1261
			Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))	
1262
			Hehe.Rotation = math.random(-2.5,2.5)
1263
			Hehe.TextColor3 = Color3.new(MRANDOM(55,255),0,0)
1264
			Hehe.TextStrokeColor3 = Color3.new(0,0,0)
1265
		end
1266
	end))
1267
	for i = 1,string.len(text),1 do
1268
		Swait()
1269
		Hehe.Text = string.sub(text,1,i)
1270
	end
1271
	Swait(90)--Re[math.random(1, 93)]
1272
	for i = 0, 1, .025 do
1273
		Swait()
1274
		Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
1275
		Hehe.TextStrokeTransparency = i
1276
		Hehe.TextTransparency = i
1277
	end
1278
	Bill:Destroy()
1279
	end)
1280
chat()
1281
end
1282
1283
function Blink()
1284
	coroutine.resume(coroutine.create(function()
1285
		if EYE ~= nil then
1286
			for i = 1, 5 do
1287
				Swait()
1288
				EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
1289
				EYE2.Mesh.Scale = EYE.Mesh.Scale
1290
			end
1291
			for i = 1, 7 do
1292
				Swait()
1293
				EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
1294
				EYE2.Mesh.Scale = EYE.Mesh.Scale
1295
			end
1296
			EYE.Mesh.Scale = VT(1,1,1)
1297
			EYE2.Mesh.Scale = EYE.Mesh.Scale
1298
		end
1299
	end))
1300
end
1301
1302
for i = 1, 35 do
1303
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
1304
	FACE.Color = C3(0,0,0)
1305
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1306
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
1307
end
1308
local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eyeball", VT(0.15,0.15,0.15),false)
1309
MakeForm(EYE,"Ball")
1310
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
1311
local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Lime green", "Eyeball2", VT(0.15,0.15,0.15),false)
1312
MakeForm(EYE2,"Ball")
1313
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
1314
1315
        shirt = Instance.new("Shirt", Character)--Cloths--
1316
        shirt.Name = "Shirt"
1317
        pants = Instance.new("Pants", Character)
1318
        pants.Name = "Pants"
1319
        Character.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=691135228"
1320
        Character.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=691102036"
1321
local BC = Character["Body Colors"]
1322
BC.HeadColor = BrickColor.new("Lime green")
1323
BC.LeftArmColor = BrickColor.new("Lime green")
1324
BC.LeftLegColor = BrickColor.new("Really black")
1325
BC.RightArmColor = BrickColor.new("Really black")
1326
BC.RightLegColor = BrickColor.new("Lime green")
1327
BC.TorsoColor = BrickColor.new("Really black")
1328
1329
local Particle = IT("ParticleEmitter",nil)
1330
Particle.Enabled = false
1331
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1332
Particle.LightEmission = 0.5
1333
Particle.Rate = 150
1334
Particle.ZOffset = 0.2
1335
Particle.Rotation = NumberRange.new(-180, 180)
1336
Particle.RotSpeed = NumberRange.new(-180, 180)
1337
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1338
Particle.Color = ColorSequence.new(C3(0,0.2,0),C3(0,0,0))
1339
1340
local A = IT("Attachment",Torso)
1341
A.Position = VT(1,1.3,0)
1342
A.Orientation = VT(-0.098, -89.999, 0.227)
1343
local B = IT("Attachment",Torso)
1344
B.Position = VT(-1.3,-0.6,0)
1345
B.Orientation = VT(-88.911, -68.808, 158.782)
1346
local ChainLink = IT("Beam",Torso)
1347
ChainLink.Texture = "rbxassetid://73042633"
1348
ChainLink.Color = ColorSequence.new(C3(0,0,0))
1349
ChainLink.TextureSpeed = 1
1350
ChainLink.FaceCamera = true
1351
ChainLink.Width0 = 1
1352
ChainLink.Width1 = 1
1353
ChainLink.TextureLength = 3
1354
ChainLink.Attachment0 = A
1355
ChainLink.Attachment1 = B
1356
ChainLink.CurveSize0 = 1.6
1357
ChainLink.CurveSize1 = 1.6
1358
ChainLink.FaceCamera = true
1359
ChainLink.Transparency = NumberSequence.new(0)
1360
local ChainLink = IT("Beam",Torso)
1361
ChainLink.Texture = "rbxassetid://73042633"
1362
ChainLink.Color = ColorSequence.new(C3(0,0,0))
1363
ChainLink.TextureSpeed = 1
1364
ChainLink.FaceCamera = true
1365
ChainLink.Width0 = 1
1366
ChainLink.Width1 = 1
1367
ChainLink.TextureLength = 3
1368
ChainLink.Attachment0 = B
1369
ChainLink.Attachment1 = A
1370
ChainLink.CurveSize0 = 1.6
1371
ChainLink.CurveSize1 = 1.6
1372
ChainLink.FaceCamera = true
1373
ChainLink.Transparency = NumberSequence.new(0)
1374
local A = IT("Attachment",Torso)
1375
A.Position = VT(1.3,-0.85,0)
1376
A.Orientation = VT(-0.098, -89.999, 0.227)
1377
local B = IT("Attachment",Torso)
1378
B.Position = VT(-1,2,0)
1379
B.Orientation = VT(-88.911, -68.808, 158.782)
1380
local ChainLink = IT("Beam",Torso)
1381
ChainLink.Texture = "rbxassetid://73042633"
1382
ChainLink.Color = ColorSequence.new(C3(0,1,0))
1383
ChainLink.TextureSpeed = 1
1384
ChainLink.FaceCamera = true
1385
ChainLink.Width0 = 1
1386
ChainLink.Width1 = 1
1387
ChainLink.TextureLength = 3
1388
ChainLink.Attachment0 = A
1389
ChainLink.Attachment1 = B
1390
ChainLink.CurveSize0 = 1.3
1391
ChainLink.CurveSize1 = 1.3
1392
ChainLink.FaceCamera = true
1393
ChainLink.Transparency = NumberSequence.new(0)
1394
local ChainLink = IT("Beam",Torso)
1395
ChainLink.Texture = "rbxassetid://73042633"
1396
ChainLink.Color = ColorSequence.new(C3(0,1,0))
1397
ChainLink.TextureSpeed = 1
1398
ChainLink.FaceCamera = true
1399
ChainLink.Width0 = 1
1400
ChainLink.Width1 = 1
1401
ChainLink.TextureLength = 3
1402
ChainLink.Attachment0 = B
1403
ChainLink.Attachment1 = A
1404
ChainLink.CurveSize0 = 1.3
1405
ChainLink.CurveSize1 = 1.3
1406
ChainLink.FaceCamera = true
1407
ChainLink.Transparency = NumberSequence.new(0)
1408
1409
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1410
function ParticleEmitter(Table)
1411
	local PRTCL = Particle:Clone()
1412
	local Speed = Table.Speed or 5
1413
	local Drag = Table.Drag or 0
1414
	local Size1 = Table.Size1 or 1
1415
	local Size2 = Table.Size2 or 5
1416
	local Lifetime1 = Table.Lifetime1 or 1
1417
	local Lifetime2 = Table.Lifetime2 or 1.5
1418
	local Parent = Table.Parent or Torso
1419
	local Emit = Table.Emit or 100
1420
	local Offset = Table.Offset or 360
1421
	local Acel = Table.Acel or VT(0,0,0)
1422
	local Enabled = Table.Enabled or false
1423
	PRTCL.Parent = Parent
1424
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1425
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1426
	PRTCL.Speed = NumberRange.new(Speed)
1427
	PRTCL.VelocitySpread = Offset
1428
	PRTCL.Drag = Drag
1429
	PRTCL.Acceleration = Acel
1430
	if Enabled == false then
1431
		PRTCL:Emit(Emit)
1432
		Debris:AddItem(PRTCL,Lifetime2)
1433
	else
1434
		PRTCL.Enabled = true
1435
	end
1436
	return PRTCL
1437
end
1438
1439
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1440
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1441
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1442
MakeForm(Part,"Wedge")
1443
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1444
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1445
MakeForm(Part,"Wedge")
1446
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1447
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1448
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1449
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1450
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1451
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1452
MakeForm(Part,"Cyl")
1453
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1454
for i = 1, 8 do
1455
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1456
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1457
end
1458
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1459
MakeForm(Part,"Cyl")
1460
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1461
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1462
MakeForm(Part,"Ball")
1463
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1464
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1465
MakeForm(Part,"Wedge")
1466
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1467
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1468
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1469
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1470
MakeForm(Part,"Cyl")
1471
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1472
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1473
MakeForm(Part,"Cyl")
1474
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1475
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1476
MakeForm(Part,"Cyl")
1477
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1478
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1479
MakeForm(Part,"Wedge")
1480
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1481
local LASTPART = Handle
1482
for i = 1, 10 do
1483
	if LASTPART == Handle then
1484
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1485
		LASTPART = Part
1486
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1487
	else
1488
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1489
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1490
		LASTPART = Part
1491
	end
1492
end
1493
1494
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1495
MakeForm(Barrel,"Cyl")
1496
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1497
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1498
MakeForm(Part,"Cyl")
1499
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1500
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1501
MakeForm(Part,"Wedge")
1502
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1503
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1504
MakeForm(Hole,"Cyl")
1505
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1506
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1507
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1508
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1509
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1510
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1511
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1512
coroutine.resume(coroutine.create(function()
1513
	while wait() do
1514
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1515
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1516
	end
1517
end))
1518
1519
ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.3, Size2 = 0, Lifetime1 = 1, Lifetime2 = 1.4, Parent = EYE2, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
1520
ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
1521
--ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
1522
1523
for _, c in pairs(Weapon:GetDescendants()) do
1524
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1525
		c.Material = "Glass"
1526
		c.Color = C3(0,0,0)
1527
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1528
		c.Color = C3(0,0.2,0)
1529
		c.Material = "Neon"
1530
	end
1531
end
1532
1533
Weapon.Parent = Character
1534
for _, c in pairs(Weapon:GetChildren()) do
1535
	if c.ClassName == "Part" then
1536
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1537
	end
1538
end
1539
1540
local SKILLTEXTCOLOR = C3(0,0.2,0)
1541
local SKILLFONT = "Antique"
1542
local SKILLTEXTSIZE = 7
1543
1544
Humanoid.Died:connect(function()
1545
	ATTACK = true
1546
end)
1547
1548
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1549
--[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1550
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
1551
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
1552
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
1553
]]
1554
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
1555
--[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
1556
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
1557
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
1558
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
1559
]]
1560
function printbye(Name)
1561
	local MESSAGES = {"You made the wrong choice, ","Your existance is an insult, ","You need to DIE DIE DIE, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
1562
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1563
end
1564
1565
workspace.ChildAdded:connect(function(instance)
1566
    for BANISH = 1, #TOBANISH do
1567
		if TOBANISH[BANISH] ~= nil then
1568
			if instance.Name == TOBANISH[BANISH] then
1569
				coroutine.resume(coroutine.create(function()
1570
					printbye(instance.Name)
1571
					instance:ClearAllChildren()
1572
					Debris:AddItem(instance,0.0005)
1573
				end))
1574
			end
1575
		end
1576
	end
1577
end)
1578
1579
--//=================================\\
1580
--||			DAMAGING
1581
--\\=================================//
1582
1583
function Banish(Foe)
1584
	if Foe then
1585
		coroutine.resume(coroutine.create(function()
1586
			--if game.Players:FindFirstChild(Foe.Name) then
1587
				table.insert(TOBANISH,Foe.Name)
1588
				printbye(Foe.Name)
1589
			--end
1590
			Foe.Archivable = true
1591
			local CLONE = Foe:Clone()
1592
			Foe:Destroy()
1593
			CLONE.Parent = Effects
1594
			CLONE:BreakJoints()
1595
			local MATERIALS = {"Glass","Neon"}
1596
			for _, c in pairs(CLONE:GetDescendants()) do
1597
				if c:IsA("BasePart") then
1598
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1599
 						CreateSound(340722848, c, 10, 1, false)
1600
					end
1601
					c.Anchored = true
1602
					c.Transparency = c.Transparency + 0.2
1603
					c.Material = MATERIALS[MRANDOM(1,2)]
1604
					c.Color = C3(0,0.2,0)
1605
					if c.ClassName == "MeshPart" then
1606
						c.TextureID = ""
1607
					end
1608
					if c:FindFirstChildOfClass("SpecialMesh") then
1609
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1610
					end
1611
					if c:FindFirstChildOfClass("Decal") then
1612
						c:FindFirstChildOfClass("Decal"):remove()
1613
					end
1614
					c.Name = "Banished"
1615
					c.CanCollide = false
1616
				else
1617
					c:remove()
1618
				end
1619
			end
1620
			local A = false
1621
			for i = 1, 35 do
1622
				if A == false then
1623
					A = true
1624
				elseif A == true then
1625
					A = false
1626
				end
1627
				for _, c in pairs(CLONE:GetDescendants()) do
1628
					if c:IsA("BasePart") then
1629
						c.Anchored = true
1630
						c.Material = MATERIALS[MRANDOM(1,2)]
1631
						c.Transparency = c.Transparency + 0.8/35
1632
						if A == false then
1633
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1634
						elseif A == true then
1635
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1636
						end
1637
					end
1638
				end
1639
				Swait()
1640
			end
1641
			CLONE:remove()
1642
		end))
1643
	end
1644
end
1645
1646
function ApplyAoE(POSITION,RANGE,ISBANISH)
1647
	local CHILDREN = workspace:GetDescendants()
1648
	for index, CHILD in pairs(CHILDREN) do
1649
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1650
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1651
			if HUM then
1652
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1653
				if TORSO then
1654
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1655
						if ISBANISH == true then
1656
							Banish(CHILD)
1657
						else
1658
							if ISBANISH == "Gravity" then
1659
								HUM.PlatformStand = true
1660
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1661
									local grav = Instance.new("BodyPosition",TORSO)
1662
									grav.D = 15
1663
									grav.P = 20000
1664
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1665
									grav.position = TORSO.Position
1666
									grav.Name = "V3BanishForce"..Player.Name
1667
								else
1668
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1669
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1670
								end
1671
							else
1672
								HUM.PlatformStand = false
1673
							end
1674
						end
1675
					elseif ISBANISH == "Gravity" then
1676
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1677
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1678
							HUM.PlatformStand = false
1679
						end
1680
					end
1681
				end
1682
			end
1683
		end
1684
	end
1685
end
1686
1687
local EyeSizes={
1688
	NumberSequenceKeypoint.new(0,1,0),
1689
	NumberSequenceKeypoint.new(1,0,0)
1690
}
1691
local EyeTrans={
1692
	NumberSequenceKeypoint.new(0,0.8,0),
1693
	NumberSequenceKeypoint.new(1,1,0)
1694
}
1695
local PE=Instance.new("ParticleEmitter",nil)
1696
PE.LightEmission=.8
1697
PE.Color = ColorSequence.new(BRICKC("Dark green").Color)
1698
PE.Size=NumberSequence.new(EyeSizes)
1699
PE.Transparency=NumberSequence.new(EyeTrans)
1700
PE.Lifetime=NumberRange.new(0.35,1.5)
1701
PE.Rotation=NumberRange.new(0,360)
1702
PE.Rate=999
1703
PE.VelocitySpread = 10000
1704
PE.Acceleration = Vector3.new(0,0,0)
1705
PE.Drag = 5
1706
PE.Speed = NumberRange.new(0,0,0)
1707
PE.Texture="http://www.roblox.com/asset/?id=1351966707"
1708
PE.ZOffset = -0
1709
PE.Name = "PE"
1710
PE.Enabled = false
1711
1712
function particles(art)
1713
	local PARTICLES = PE:Clone()
1714
	PARTICLES.Parent = art
1715
end
1716
1717
function ManualDamage(Humanoid,Damage,TorsoPart)
1718
	local defence = Instance.new("BoolValue",Humanoid.Parent)
1719
	defence.Name = ("HitBy"..Player.Name)
1720
	game:GetService("Debris"):AddItem(defence, 0.001)
1721
	Damage = Damage * DAMAGEMULTIPLIER
1722
	if Humanoid.Health ~= 0 then
1723
		local CritChance = MRANDOM(1,100)
1724
		if Damage > Humanoid.Health then
1725
			Damage = math.ceil(Humanoid.Health)
1726
			if Damage == 0 then
1727
				Damage = 0.1
1728
			end
1729
		end
1730
		Humanoid.Health = Humanoid.Health - Damage
1731
	end
1732
end
1733
1734
function ManualAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
1735
	local CHILDREN = workspace:GetDescendants()
1736
	for index, CHILD in pairs(CHILDREN) do
1737
		if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
1738
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1739
			if HUM then
1740
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1741
				if TORSO then
1742
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1743
						if INSTAKILL == true then
1744
							CHILD:BreakJoints()
1745
						else
1746
							local DMG = MRANDOM(MINDMG,MAXDMG)
1747
							ManualDamage(HUM,DMG,TORSO)
1748
						end
1749
						if FLING > 0 then
1750
							for _, c in pairs(CHILD:GetChildren()) do
1751
								if c:IsA("BasePart") then
1752
									local bv = Instance.new("BodyVelocity") 
1753
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1754
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1755
									bv.Parent = c
1756
									Debris:AddItem(bv,0.05)
1757
								end
1758
							end
1759
						end
1760
					end
1761
				end
1762
			end
1763
		end
1764
	end
1765
end
1766
1767
function KillChildren(v)
1768
	v:BreakJoints()
1769
	for _, c in pairs(v:GetChildren()) do
1770
		if c:IsA("BasePart") then
1771
			if c.Transparency < 1 then
1772
				if c:FindFirstChildOfClass("Decal") then
1773
					c:FindFirstChildOfClass("Decal"):remove()
1774
				end
1775
				particles(c)
1776
				c.PE.Enabled = true
1777
				c.Parent = Effects
1778
				c.CanCollide = false
1779
				c.Material = "Neon"
1780
				c.Color = C3(1,0,0)
1781
				c.Transparency = 1
1782
				local grav = Instance.new("BodyPosition",c)
1783
				grav.P = 20000
1784
				grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1785
				grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
1786
				grav.Name = "GravityForce"
1787
				coroutine.resume(coroutine.create(function()
1788
					for i = 1, 20 do
1789
						Swait()
1790
						c.Transparency = c.Transparency + 1/20
1791
					end
1792
					c.PE.Enabled = false
1793
					Debris:AddItem(c,2)
1794
				end))
1795
			end
1796
		end
1797
	end
1798
end
1799
1800
function SmiteAoE(POSITION,RANGE)
1801
	local CHILDREN = workspace:GetDescendants()
1802
	for index, CHILD in pairs(CHILDREN) do
1803
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1804
			local LISTED = false
1805
			for LIST = 1, #WHITELIST do
1806
				if WHITELIST[LIST] ~= nil then
1807
					if CHILD.Name == WHITELIST[LIST] then
1808
						LISTED = true
1809
					end
1810
				end
1811
			end
1812
			if LISTED == false then
1813
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1814
				if HUM then
1815
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1816
					if TORSO then
1817
						if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
1818
							KillChildren(CHILD)
1819
						end
1820
					end
1821
				end
1822
			end
1823
		end
1824
	end
1825
end
1826
1827
function Damagefunc(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
1828
  if hit.Parent == nil then
1829
    return
1830
  end
1831
  local h = hit.Parent:FindFirstChildOfClass("Humanoid")
1832
  for _, v in pairs(hit.Parent:children()) do
1833
    if v:IsA("Humanoid") then
1834
      h = v
1835
    end
1836
  end
1837
  if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Head") ~= nil then
1838
    if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
1839
      return
1840
    end
1841
    local c = Create("ObjectValue")({
1842
      Name = "creator",
1843
      Value = game:GetService("Players")MasterPiece9876,
1844
      Parent = h
1845
    })
1846
    game:GetService("Debris"):AddItem(c, 0.5)
1847
    if HitSound ~= nil and HitPitch ~= nil then
1848
      CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
1849
    end
1850
    local Damage = math.random(minim, maxim)
1851
    local blocked = false
1852
    local block = hit.Parent:findFirstChild("Block")
1853
    if block ~= nil and block.className == "IntValue" and block.Value > 0 then
1854
      blocked = true
1855
      block.Value = block.Value - 1
1856
      print(block.Value)
1857
    end
1858
    if blocked == false then
1859
      HitHealth = h.Health
1860
      h.MaxHealth = 100
1861
      h.Health = h.Health - Damage
1862
      if HitHealth ~= h.Health and HitHealth ~= 0 and 0 >= h.Health and h.Parent.Name ~= "Hologram" then
1863
        print("gained kill")
1864
      end
1865
      ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color)
1866
    else
1867
      h.Health = h.Health - Damage / 2
1868
      ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color)
1869
    end
1870
    if Type == "Knockdown" then
1871
      local hum = hit.Parent.Humanoid
1872
      hum.PlatformStand = true
1873
      coroutine.resume(coroutine.create(function(HHumanoid)
1874
        Swait(1)
1875
        HHumanoid.PlatformStand = false
1876
      end), hum)
1877
      local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
1878
      local bodvol = Create("BodyVelocity")({
1879
        velocity = angle * knockback,
1880
        P = 5000,
1881
        maxForce = Vector3.new(8000, 8000, 8000),
1882
        Parent = hit
1883
      })
1884
      local rl = Create("BodyAngularVelocity")({
1885
        P = 3000,
1886
        maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
1887
        angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
1888
        Parent = hit
1889
      })
1890
      game:GetService("Debris"):AddItem(bodvol, 0.5)
1891
      game:GetService("Debris"):AddItem(rl, 0.5)
1892
    elseif Type == "Normal" then
1893
      local vp = Create("BodyVelocity")({
1894
        P = 500,
1895
        maxForce = Vector3.new(math.huge, 0, math.huge),
1896
        velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
1897
      })
1898
      if knockback > 0 then
1899
        vp.Parent = hit.Parent.Head
1900
      end
1901
      game:GetService("Debris"):AddItem(vp, 0.5)
1902
    elseif Type == "Up" then
1903
      local bodyVelocity = Create("BodyVelocity")({
1904
        velocity = Vector3.new(0, 20, 0),
1905
        P = 5000,
1906
        maxForce = Vector3.new(8000, 8000, 8000),
1907
        Parent = hit
1908
      })
1909
      game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
1910
      local bodyVelocity = Create("BodyVelocity")({
1911
        velocity = Vector3.new(0, 20, 0),
1912
        P = 5000,
1913
        maxForce = Vector3.new(8000, 8000, 8000),
1914
        Parent = hit
1915
      })
1916
      game:GetService("Debris"):AddItem(bodyVelocity, 1)
1917
    elseif Type == "Leech" then
1918
      local hum = hit.Parent.Humanoid
1919
      if hum ~= nil then
1920
        for i = 0, 2 do
1921
          Effects.Sphere.Create(BrickColor.new("Bright red"), hit.Parent.Torso.CFrame * cn(0, 0, 0) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
1922
        end
1923
        Humanoid.Health = Humanoid.Health + 10
1924
      end
1925
    elseif Type == "UpKnock" then
1926
      local hum = hit.Parent.Humanoid
1927
      hum.PlatformStand = true
1928
      if hum ~= nil then
1929
        hitr = true
1930
      end
1931
      coroutine.resume(coroutine.create(function(HHumanoid)
1932
        Swait(5)
1933
        HHumanoid.PlatformStand = false
1934
        hitr = false
1935
      end), hum)
1936
      local bodyVelocity = Create("BodyVelocity")({
1937
        velocity = Vector3.new(0, 20, 0),
1938
        P = 5000,
1939
        maxForce = Vector3.new(8000, 8000, 8000),
1940
        Parent = hit
1941
      })
1942
      game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
1943
      local bodyVelocity = Create("BodyVelocity")({
1944
        velocity = Vector3.new(0, 20, 0),
1945
        P = 5000,
1946
        maxForce = Vector3.new(8000, 8000, 8000),
1947
        Parent = hit
1948
      })
1949
      game:GetService("Debris"):AddItem(bodyVelocity, 1)
1950
    elseif Type == "Snare" then
1951
      local bp = Create("BodyPosition")({
1952
        P = 2000,
1953
        D = 100,
1954
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
1955
        position = hit.Parent.Torso.Position,
1956
        Parent = hit.Parent.Torso
1957
      })
1958
      game:GetService("Debris"):AddItem(bp, 1)
1959
    elseif Type == "Slashnare" then
1960
      Effects.Block.Create(BrickColor.new("Pastel Blue"), hit.Parent.Torso.CFrame * cn(0, 0, 0), 15*4, 15*4, 15*4, 3*4, 3*4, 3*4, 0.07)
1961
      for i = 1, math.random(4, 5) do
1962
        Effects.Sphere.Create(BrickColor.new("Teal"), hit.Parent.Torso.CFrame * cn(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
1963
      end
1964
      local bp = Create("BodyPosition")({
1965
        P = 2000,
1966
        D = 100,
1967
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
1968
        position = hit.Parent.Torso.Position,
1969
        Parent = hit.Parent.Torso
1970
      })
1971
      game:GetService("Debris"):AddItem(bp, 1)
1972
    elseif Type == "Spike" then
1973
      CreateBigIceSword(hit.Parent.Torso.CFrame)
1974
      local bp = Create("BodyPosition")({
1975
        P = 2000,
1976
        D = 100,
1977
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
1978
        position = hit.Parent.Torso.Position,
1979
        Parent = hit.Parent.Torso
1980
      })
1981
      game:GetService("Debris"):AddItem(bp, 1)
1982
    elseif Type == "Freeze" then
1983
      local BodPos = Create("BodyPosition")({
1984
        P = 50000,
1985
        D = 1000,
1986
        maxForce = Vector3.new(math.huge, math.huge, math.huge),
1987
        position = hit.Parent.Torso.Position,
1988
        Parent = hit.Parent.Torso
1989
      })
1990
      local BodGy = Create("BodyGyro")({
1991
        maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
1992
        P = 20000,
1993
        Parent = hit.Parent.Torso,
1994
        cframe = hit.Parent.Torso.CFrame
1995
      })
1996
      hit.Parent.Torso.Anchored = true
1997
      coroutine.resume(coroutine.create(function(Part)
1998
        Swait(1.5)
1999
        Part.Anchored = false
2000
      end), hit.Parent.Torso)
2001
      game:GetService("Debris"):AddItem(BodPos, 3)
2002
      game:GetService("Debris"):AddItem(BodGy, 3)
2003
    end
2004
    local debounce = Create("BoolValue")({
2005
      Name = "DebounceHit",
2006
      Parent = hit.Parent,
2007
      Value = true
2008
    })
2009
    game:GetService("Debris"):AddItem(debounce, Delay)
2010
    c = Instance.new("ObjectValue")
2011
    c.Name = "creator"
2012
    c.Value = Player
2013
    c.Parent = h
2014
    game:GetService("Debris"):AddItem(c, 0.5)
2015
  end
2016
end
2017
function ShowDamage(Pos, Text, Time, Color)
2018
  local Rate = 0.03333333333333333
2019
  local Pos = Pos or Vector3.new(0, 0, 0)
2020
  local Text = Text or ""
2021
  local Time = Time or 2
2022
  local Color = Color or Color3.new(1, 0, 1)
2023
  local EffectPart = CreatePart(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
2024
  EffectPart.Anchored = true
2025
  local BillboardGui = Create("BillboardGui")({
2026
    Size = UDim2.new(3, 0, 3, 0),
2027
    Adornee = EffectPart,
2028
    Parent = EffectPart
2029
  })
2030
  local TextLabel = Create("TextLabel")({
2031
    BackgroundTransparency = 1,
2032
    Size = UDim2.new(1, 0, 1, 0),
2033
    Text = Text,
2034
    TextColor3 = Color,
2035
    TextScaled = true,
2036
    Font = Enum.Font.ArialBold,
2037
    Parent = BillboardGui
2038
  })
2039
  game.Debris:AddItem(EffectPart, Time + 0.1)
2040
  EffectPart.Parent = game:GetService("Workspace")
2041
  delay(0, function()
2042
    local Frames = Time / Rate
2043
    for Frame = 1, Frames do
2044
      wait(Rate)
2045
      local Percent = Frame / Frames
2046
      EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
2047
      TextLabel.TextTransparency = Percent
2048
    end
2049
    if EffectPart and EffectPart.Parent then
2050
      EffectPart:Destroy()
2051
    end
2052
  end)
2053
end
2054
function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
2055
  for _, c in pairs(workspace:children()) do
2056
    local hum = c:findFirstChildOfClass("Humanoid")
2057
    if hum ~= nil then
2058
      local head = c:findFirstChild("Head")
2059
      if head ~= nil then
2060
        local targ = head.Position - Part.Position
2061
        local mag = targ.magnitude
2062
        if magni >= mag and c.Name ~= Player.Name then
2063
          Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "rbxassetid://231917784", 1)
2064
        end
2065
      end
2066
    end
2067
  end
2068
end
2069
2070
function block(bonuspeed,type,pos,scale,value,value2,value3,color,color3)
2071
local type = type
2072
local rng = Instance.new("Part", char)
2073
        rng.Anchored = true
2074
        rng.BrickColor = color
2075
        rng.Color = color3
2076
        rng.CanCollide = false
2077
        rng.FormFactor = 3
2078
        rng.Name = "Ring"
2079
        rng.Material = "Neon"
2080
        rng.Size = Vector3.new(1, 1, 1)
2081
        rng.Transparency = 0
2082
        rng.TopSurface = 0
2083
        rng.BottomSurface = 0
2084
        rng.CFrame = pos
2085
        local rngm = Instance.new("SpecialMesh", rng)
2086
        rngm.MeshType = "Brick"
2087
rngm.Scale = scale
2088
local scaler2 = 1
2089
local scaler2b = 1
2090
local scaler2c = 1
2091
if type == "Add" then
2092
scaler2 = 1*value
2093
scaler2b = 1*value2
2094
scaler2c = 1*value3
2095
elseif type == "Divide" then
2096
scaler2 = 1/value
2097
scaler2b = 1/value2
2098
scaler2c = 1/value3
2099
end
2100
coroutine.resume(coroutine.create(function()
2101
for i = 0,10/bonuspeed,0.1 do
2102
swait()
2103
if type == "Add" then
2104
scaler2 = scaler2 - 0.01*value/bonuspeed
2105
scaler2b = scaler2b - 0.01*value/bonuspeed
2106
scaler2c = scaler2c - 0.01*value/bonuspeed
2107
elseif type == "Divide" then
2108
scaler2 = scaler2 - 0.01/value*bonuspeed
2109
scaler2b = scaler2b - 0.01/value*bonuspeed
2110
scaler2c = scaler2c - 0.01/value*bonuspeed
2111
end
2112
rng.CFrame = rng.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
2113
rng.Transparency = rng.Transparency + 0.01*bonuspeed
2114
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2b*bonuspeed, scaler2c*bonuspeed)
2115
end
2116
rng:Destroy()
2117
end))
2118
end
2119
2120
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
2121
	PLAYMAINANIM = false
2122
	if WhichPose == "Cast1" then
2123
		for i=0, Time, 0.1 / Animation_Speed do
2124
			Swait()
2125
			if Magic == true then
2126
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2127
			end
2128
			if Gyro ~= nil and Gyro ~= false then
2129
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
2130
			end
2131
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
2132
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
2133
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2134
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2135
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2136
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2137
		end
2138
	elseif WhichPose == "Cast2" then
2139
		for i=0, Time, 0.1 / Animation_Speed do
2140
			Swait()
2141
			if Magic == true then
2142
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2143
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2144
			end
2145
			if Gyro ~= nil and Gyro ~= false then
2146
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
2147
			end
2148
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
2149
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
2150
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2151
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2152
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2153
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2154
		end
2155
	elseif WhichPose == "RightArmUp" then
2156
		for i=0, Time, 0.1 / Animation_Speed do
2157
			Swait()
2158
			if Magic == true then
2159
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2160
			end
2161
			if Gyro ~= nil and Gyro ~= false then
2162
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
2163
			end
2164
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
2165
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
2166
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2167
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2168
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2169
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2170
		end
2171
	elseif WhichPose == "Taunt" then
2172
		for i=0, Time, 0.1 / Animation_Speed do
2173
			Swait()
2174
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
2175
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
2176
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2177
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2178
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2179
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2180
		end
2181
		HATWELD.Part0 = RightArm
2182
		HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
2183
		CreateSound(221057812,Torso,10,1,false)
2184
		for i=0, Time*2, 0.1 / Animation_Speed do
2185
			Swait()
2186
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
2187
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
2188
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2189
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2190
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2191
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2192
		end
2193
		for i=0, Time, 0.1 / Animation_Speed do
2194
			Swait()
2195
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
2196
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
2197
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2198
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2199
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2200
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2201
			HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
2202
		end
2203
		HATWELD.Part0 = Head
2204
		HATWELD.C0 = CF(0,0.35,0)
2205
	elseif WhichPose == "Prepare key" then
2206
		for i=0, Time, 0.1 / Animation_Speed do
2207
			Swait()
2208
			if Gyro ~= nil and Gyro ~= false then
2209
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
2210
			end
2211
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
2212
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
2213
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2214
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2215
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2216
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2217
		end
2218
	elseif WhichPose == "Turn key" then
2219
		for i=0, Time, 0.1 / Animation_Speed do
2220
			Swait()
2221
			if Gyro ~= nil and Gyro ~= false then
2222
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
2223
			end
2224
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
2225
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
2226
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
2227
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
2228
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
2229
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
2230
		end
2231
	end
2232
	PLAYMAINANIM = true
2233
end
2234
2235
function ApplyAoE(POSITION,RANGE,FLING,BURN)
2236
	local CHILDREN = workspace:GetDescendants()
2237
	for index, CHILD in pairs(CHILDREN) do
2238
		if CHILD.ClassName == "Model" and CHILD ~= Character then
2239
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2240
			if HUM then
2241
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2242
				if TORSO then
2243
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
2244
						CHILD:BreakJoints()
2245
						if FLING ~= 0 then
2246
							for _, c in pairs(CHILD:GetChildren()) do
2247
								if c:IsA("BasePart") and c.Transparency == 0 then
2248
									if BURN == true then
2249
										Fire(c)
2250
									end
2251
									local bv = Instance.new("BodyVelocity") 
2252
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2253
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
2254
									bv.Parent = c
2255
									Debris:AddItem(bv,0.05)
2256
								end
2257
							end
2258
						end
2259
					end
2260
				end
2261
			end
2262
		end
2263
	end
2264
end
2265
2266
function recurse(root,callback,i)
2267
	i= i or 0
2268
	for _,v in pairs(root:GetChildren()) do
2269
		i = i + 1
2270
		callback(i,v)
2271
		
2272
		if #v:GetChildren() > 0 then
2273
			i = recurse(v,callback,i)
2274
		end
2275
	end
2276
	
2277
	return i
2278
end
2279
2280
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
2281
	attachmentName = attachmentName.."RigAttachment"
2282
	local constraint = Instance.new(className.."Constraint")
2283
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
2284
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
2285
	constraint.Name = "RagdollConstraint"..part1.Name
2286
	
2287
	for _,propertyData in next,properties or {} do
2288
		constraint[propertyData[1]] = propertyData[2]
2289
	end
2290
	
2291
	constraint.Parent = character
2292
end
2293
2294
function getAttachment0(character, attachmentName)
2295
	for _,child in next,character:GetChildren() do
2296
		local attachment = child:FindFirstChild(attachmentName)
2297
		if attachment then
2298
			return attachment
2299
		end
2300
	end
2301
end
2302
2303
function ArtificialHitbox(Part)
2304
	local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
2305
	HITBOX.CanCollide = true
2306
	HITBOX.CFrame = Part.CFrame
2307
	weldBetween(Part,HITBOX)
2308
end
2309
2310
function R15Ragdoll(character,KeepArms)
2311
	character:BreakJoints()
2312
	coroutine.resume(coroutine.create(function()
2313
		recurse(character, function(_,v)
2314
			if v:IsA("Attachment") then
2315
				v.Axis = Vector3.new(0, 1, 0)
2316
				v.SecondaryAxis = Vector3.new(0, 0, 1)
2317
				v.Rotation = Vector3.new(0, 0, 0)
2318
			end
2319
		end)
2320
		for _,child in next,character:GetChildren() do
2321
			if child:IsA("Accoutrement") then
2322
				for _,part in next,child:GetChildren() do
2323
					if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
2324
						local attachment1 = part:FindFirstChildOfClass("Attachment")
2325
						local attachment0 = getAttachment0(character,attachment1.Name)
2326
						if attachment0 and attachment1 then
2327
							local constraint = Instance.new("HingeConstraint")
2328
							constraint.Attachment0 = attachment0
2329
							constraint.Attachment1 = attachment1
2330
							constraint.LimitsEnabled = true
2331
							constraint.UpperAngle = 0
2332
							constraint.LowerAngle = 0
2333
							constraint.Parent = character
2334
						end
2335
						ArtificialHitbox(part)
2336
					elseif part.Name == "HumanoidRootPart" then
2337
						part:remove()
2338
					end
2339
				end
2340
			end
2341
		end
2342
		
2343
		ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
2344
			{"LimitsEnabled",true};
2345
			{"UpperAngle",5};
2346
		})
2347
		if character:FindFirstChild("Head") then
2348
			ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
2349
				{"LimitsEnabled",true};
2350
				{"UpperAngle",15};
2351
			})
2352
		end
2353
		
2354
		local handProperties = {
2355
			{"LimitsEnabled", true};
2356
			{"UpperAngle",0};
2357
			{"LowerAngle",0};
2358
		}
2359
		ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
2360
		ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
2361
		
2362
		local shinProperties = {
2363
			{"LimitsEnabled", true};
2364
			{"UpperAngle", 0};
2365
			{"LowerAngle", -75};
2366
		}
2367
		ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
2368
		ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
2369
		
2370
		local footProperties = {
2371
			{"LimitsEnabled", true};
2372
			{"UpperAngle", 15};
2373
			{"LowerAngle", -45};
2374
		}
2375
		ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
2376
		ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
2377
		if KeepArms == true then
2378
			ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
2379
			ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
2380
			ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
2381
			ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
2382
		end
2383
		ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
2384
		ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
2385
		Debris:AddItem(character,5)
2386
	end))
2387
end
2388
2389
function Ragdoll(Character2,CharTorso,KeepArms)
2390
	coroutine.resume(coroutine.create(function()
2391
		Character2:BreakJoints()
2392
		local hum = Character2:findFirstChild("Humanoid")
2393
		hum:remove()
2394
		local function Scan(ch)
2395
			local e
2396
			for e = 1,#ch do
2397
				Scan(ch[e]:GetChildren())
2398
				if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
2399
					ch[e]:remove()
2400
				end
2401
			end
2402
		end
2403
		local NEWHUM = IT("Humanoid")
2404
		NEWHUM.Name = "Corpse"
2405
		NEWHUM.Health = 0
2406
		NEWHUM.MaxHealth = 0
2407
		NEWHUM.PlatformStand = true
2408
		NEWHUM.Parent = Character2
2409
		NEWHUM.DisplayDistanceType = "None"
2410
	
2411
		local ch = Character2:GetChildren()
2412
		local i
2413
		for i = 1,#ch do
2414
			if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
2415
				ch[i]:remove()
2416
			end
2417
		end
2418
	
2419
		local Torso2 = Character2.Torso
2420
		local movevector = Vector3.new()
2421
	
2422
		if Torso2 then
2423
			movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
2424
			local Head = Character2:FindFirstChild("Head")
2425
			if Head then
2426
				local Neck = Instance.new("Weld")
2427
				Neck.Name = "Neck"
2428
				Neck.Part0 = Torso2
2429
				Neck.Part1 = Head
2430
				Neck.C0 = CFrame.new(0, 1.5, 0)
2431
				Neck.C1 = CFrame.new()
2432
				Neck.Parent = Torso2
2433
	
2434
			end
2435
			local Limb = Character2:FindFirstChild("Right Arm")
2436
			if Limb and KeepArms == true then
2437
	
2438
				Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
2439
				local Joint = Instance.new("Glue")
2440
				Joint.Name = "RightShoulder"
2441
				Joint.Part0 = Torso2
2442
				Joint.Part1 = Limb
2443
				Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
2444
				Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
2445
				Joint.Parent = Torso2
2446
	
2447
				local B = Instance.new("Part")
2448
				B.TopSurface = 0
2449
				B.BottomSurface = 0
2450
				B.formFactor = "Symmetric"
2451
				B.Size = Vector3.new(1, 1, 1)
2452
				B.Transparency = 1
2453
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
2454
				B.Parent = Character2
2455
				local W = Instance.new("Weld")
2456
				W.Part0 = Limb
2457
				W.Part1 = B
2458
				W.C0 = CFrame.new(0, -0.5, 0)
2459
				W.Parent = Limb
2460
	
2461
			end
2462
			local Limb = Character2:FindFirstChild("Left Arm")
2463
			if Limb and KeepArms == true then
2464
	
2465
				Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
2466
				local Joint = Instance.new("Glue")
2467
				Joint.Name = "LeftShoulder"
2468
				Joint.Part0 = Torso2
2469
				Joint.Part1 = Limb
2470
				Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2471
				Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2472
				Joint.Parent = Torso2
2473
	
2474
				local B = Instance.new("Part")
2475
				B.TopSurface = 0
2476
				B.BottomSurface = 0
2477
				B.formFactor = "Symmetric"
2478
				B.Size = Vector3.new(1, 1, 1)
2479
				B.Transparency = 1
2480
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
2481
				B.Parent = Character2
2482
				local W = Instance.new("Weld")
2483
				W.Part0 = Limb
2484
				W.Part1 = B
2485
				W.C0 = CFrame.new(0, -0.5, 0)
2486
				W.Parent = Limb
2487
	
2488
			end
2489
			local Limb = Character2:FindFirstChild("Right Leg")
2490
			if Limb then
2491
	
2492
				Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
2493
				local Joint = Instance.new("Glue")
2494
				Joint.Name = "RightHip"
2495
				Joint.Part0 = Torso2
2496
				Joint.Part1 = Limb
2497
				Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
2498
				Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
2499
				Joint.Parent = Torso2
2500
	
2501
				local B = Instance.new("Part")
2502
				B.TopSurface = 0
2503
				B.BottomSurface = 0
2504
				B.formFactor = "Symmetric"
2505
				B.Size = Vector3.new(1, 1, 1)
2506
				B.Transparency = 1
2507
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
2508
				B.Parent = Character2
2509
				local W = Instance.new("Weld")
2510
				W.Part0 = Limb
2511
				W.Part1 = B
2512
				W.C0 = CFrame.new(0, -0.5, 0)
2513
				W.Parent = Limb
2514
	
2515
			end
2516
			local Limb = Character2:FindFirstChild("Left Leg")
2517
			if Limb then
2518
	
2519
				Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
2520
				local Joint = Instance.new("Glue")
2521
				Joint.Name = "LeftHip"
2522
				Joint.Part0 = Torso2
2523
				Joint.Part1 = Limb
2524
				Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2525
				Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2526
				Joint.Parent = Torso2
2527
	
2528
				local B = Instance.new("Part")
2529
				B.TopSurface = 0
2530
				B.BottomSurface = 0
2531
				B.formFactor = "Symmetric"
2532
				B.Size = Vector3.new(1, 1, 1)
2533
				B.Transparency = 1
2534
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
2535
				B.Parent = Character2
2536
				local W = Instance.new("Weld")
2537
				W.Part0 = Limb
2538
				W.Part1 = B
2539
				W.C0 = CFrame.new(0, -0.5, 0)
2540
				W.Parent = Limb
2541
	
2542
			end
2543
			--[
2544
			local Bar = Instance.new("Part")
2545
			Bar.TopSurface = 0
2546
			Bar.BottomSurface = 0
2547
			Bar.formFactor = "Symmetric"
2548
			Bar.Size = Vector3.new(1, 1, 1)
2549
			Bar.Transparency = 1
2550
			Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
2551
			Bar.Parent = Character2
2552
			local Weld = Instance.new("Weld")
2553
			Weld.Part0 = Torso2
2554
			Weld.Part1 = Bar
2555
			Weld.C0 = CFrame.new(0, 0.5, 0)
2556
			Weld.Parent = Torso2
2557
			--]]
2558
		end
2559
		Character2.Parent = workspace
2560
		Debris:AddItem(Character2,5)
2561
	
2562
		return Character2,Torso2
2563
	end))
2564
end
2565
2566
--//=================================\\
2567
--||	ATTACK FUNCTIONS AND STUFF
2568
--\\=================================//
2569
2570
function LimbRip()
2571
	ATTACK = true
2572
	Rooted = false
2573
	local TARGET = nil
2574
	local ROOT = nil
2575
	local HUMAN = nil
2576
	local DIST = 4
2577
	Speed = 12
2578
	for i=0, 1, 0.1 / Animation_Speed do
2579
		Swait()
2580
		local CHILDREN = workspace:GetDescendants()
2581
		for index, CHILD in pairs(CHILDREN) do
2582
			if CHILD.ClassName == "Model" and CHILD ~= Character then
2583
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
2584
				if HUM then
2585
					local TORSO = CHILD:FindFirstChild("HumanoidRootPart") or CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2586
					if TORSO and HUM.Health > 0 then
2587
						if (TORSO.Position - RightArm.Position).Magnitude <= DIST then
2588
							DIST = (TORSO.Position - RightArm.Position).Magnitude
2589
							ROOT = TORSO
2590
							HUMAN = HUM
2591
							TARGET = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
2592
						end
2593
					end
2594
				end
2595
			end
2596
		end
2597
		if ROOT then
2598
			break
2599
		end
2600
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
2601
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(-25)), 1 / Animation_Speed)
2602
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2603
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2604
		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)
2605
		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)
2606
	end
2607
	Speed = 16
2608
	if ROOT then
2609
		CreateSound(305685800,Torso,5,1.3,false)
2610
		Rooted = true
2611
		local GORED = false
2612
		coroutine.resume(coroutine.create(function()
2613
			repeat
2614
				Swait()
2615
				ROOT.Anchored = true
2616
			until GORED == true
2617
			ROOT.Anchored = false
2618
		end))
2619
		RootPart.CFrame = ROOT.CFrame*CF(0,0,2.25)
2620
		if TARGET.Name == "Torso" then
2621
			local RARM = TARGET.Parent:FindFirstChild("Right Arm")
2622
			local LARM = TARGET.Parent:FindFirstChild("Left Arm")
2623
			if RARM and LARM then
2624
				for i=0, 1, 0.1 / Animation_Speed do
2625
					Swait()
2626
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2627
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2628
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2629
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2630
					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)
2631
					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)
2632
				end
2633
				for _, c in pairs(TARGET.Parent:GetDescendants()) do
2634
					if c:IsA("JointInstance") then
2635
						if c.Part1 == RARM or c.Part1 == LARM or c.Part0 == RARM or c.Part0 == LARM then
2636
							c:remove()
2637
						end
2638
					end
2639
				end
2640
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
2641
				CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2642
				CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2643
				for i=0, 1, 0.1 / Animation_Speed do
2644
					Swait()
2645
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2646
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2647
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2648
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2649
					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)
2650
					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)
2651
				end
2652
				for i=0, 1, 0.1 / Animation_Speed do
2653
					Swait()
2654
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
2655
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
2656
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2657
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2658
					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)
2659
					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)
2660
				end
2661
				for i=0, 0.1, 0.1 / Animation_Speed do
2662
					Swait()
2663
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
2664
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
2665
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2666
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2667
					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)
2668
					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)
2669
				end
2670
				GORED = true
2671
				Ragdoll(TARGET.Parent,Torso)
2672
				if ROOT.Name ~= "Torso" then
2673
					ROOT:remove()
2674
				end
2675
				local RGRAB = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2676
				local LGRAB = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
2677
				local bv = Instance.new("BodyVelocity",TARGET) 
2678
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2679
				bv.velocity = TARGET.CFrame.lookVector*75
2680
				Debris:AddItem(bv,0.05)
2681
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
2682
				for i=0, 0.5, 0.1 / Animation_Speed do
2683
					Swait()
2684
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
2685
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
2686
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2687
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2688
					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)
2689
					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)
2690
				end
2691
				for i=0, 1, 0.1 / Animation_Speed do
2692
					Swait()
2693
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2694
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
2695
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
2696
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.6 / Animation_Speed)
2697
					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)
2698
					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)
2699
				end
2700
				local HITBOX = CreatePart(3, RARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
2701
				HITBOX.CFrame = RARM.CFrame
2702
				HITBOX.CanCollide = true
2703
				weldBetween(RARM,HITBOX)
2704
				local HITBOX = CreatePart(3, LARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
2705
				HITBOX.CFrame = LARM.CFrame
2706
				HITBOX.CanCollide = true
2707
				weldBetween(LARM,HITBOX)
2708
				RGRAB:remove()
2709
				LGRAB:remove()
2710
				for i=0, 0.4, 0.1 / Animation_Speed do
2711
					Swait()
2712
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2713
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
2714
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(110)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2715
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-110)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2716
					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)
2717
					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)
2718
				end
2719
			end
2720
		elseif TARGET.Name == "UpperTorso" then
2721
			if TARGET.Parent:FindFirstChild("RightUpperArm") and TARGET.Parent:FindFirstChild("LeftUpperArm") then
2722
				for i=0, 0.3, 0.1 / Animation_Speed do
2723
					Swait()
2724
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
2725
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
2726
					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)
2727
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2728
					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)
2729
					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)
2730
				end
2731
				local SAWBLADE = CreatePart(3, Weapon, "Neon", 0, 0.5, "Really red", "Part", VT(0,0,0),false)
2732
				local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SAWBLADE, CF(0,-1,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
2733
				local BLADE = true
2734
				CreateMesh("SpecialMesh", SAWBLADE, "FileMesh", "74322089", "", VT(1,1,1), VT(0,0,0))
2735
				coroutine.resume(coroutine.create(function()
2736
					repeat
2737
						Swait()
2738
						WELD.C1 = WELD.C1 * ANGLES(RAD(0), RAD(0), RAD(25))
2739
					until BLADE == false
2740
					SAWBLADE:remove()
2741
				end))
2742
				CreateSound(1165167936, SAWBLADE, 2, 1, true)
2743
				for i=0, 1, 0.1 / Animation_Speed do
2744
					Swait()
2745
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
2746
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
2747
					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)
2748
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2749
					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)
2750
					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)
2751
				end
2752
				for i=0, 3, 0.1 / Animation_Speed do
2753
					Swait()
2754
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
2755
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
2756
					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)
2757
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2758
					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)
2759
					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)
2760
				end
2761
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
2762
				TARGET.Parent:FindFirstChild("RightUpperArm").RightShoulder:remove()
2763
				for i=0, 1, 0.1 / Animation_Speed do
2764
					Swait()
2765
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0.3) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
2766
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-80)), 1 / Animation_Speed)
2767
					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)
2768
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2769
					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)
2770
					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)
2771
				end
2772
				for i=0, 3, 0.1 / Animation_Speed do
2773
					Swait()
2774
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(1, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
2775
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-80)), 1 / Animation_Speed)
2776
					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)
2777
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2778
					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)
2779
					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)
2780
				end
2781
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
2782
				TARGET.Parent:FindFirstChild("LeftUpperArm").LeftShoulder:remove()
2783
				BLADE = false
2784
				for i=0, 0.5, 0.1 / Animation_Speed do
2785
					Swait()
2786
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
2787
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
2788
					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)
2789
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2790
					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)
2791
					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)
2792
				end
2793
				for i=0, 0.1, 0.1 / Animation_Speed do
2794
					Swait()
2795
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
2796
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
2797
					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)
2798
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2799
					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)
2800
					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)
2801
				end
2802
				GORED = true
2803
				TARGET.Parent:BreakJoints()
2804
				R15Ragdoll(TARGET.Parent)
2805
				if ROOT.Name ~= "Torso" then
2806
					ROOT:remove()
2807
				end
2808
				local bv = Instance.new("BodyVelocity",TARGET) 
2809
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2810
				bv.velocity = TARGET.CFrame.lookVector*75
2811
				Debris:AddItem(bv,0.05)
2812
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
2813
				for i=0, 0.3, 0.1 / Animation_Speed do
2814
					Swait()
2815
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
2816
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
2817
					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)
2818
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2819
					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)
2820
					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)
2821
				end
2822
			end
2823
		end
2824
	end
2825
	ATTACK = false
2826
	Rooted = false
2827
end
2828
2829
function SHATTER()
2830
	ATTACK = true
2831
	Rooted = true
2832
	Cooldown2 = true
2833
local MAINRUINCOLOR = BrickColor.new("Dark green")
2834
	for i=0, 0.6, 0.1 / Animation_Speed do
2835
		Swait()
2836
		WACKYEFFECT({Time = 10, EffectType = "Block", Size = VT(4,4,4), Size2 = VT(0,0,0), Transparency = 0.7, Transparency2 = 1, CFrame = Barrel.CFrame*CF(0,3,0) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0.2,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2837
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2838
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2839
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.9, 0) * ANGLES(RAD(165), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2840
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.9, 0) * ANGLES(RAD(165), RAD(0), RAD(17.5)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2841
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2842
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2843
	end
2844
CFuncs["Sound"].Create("rbxassetid://1718412034", RootPart, 15, 1)
2845
CFuncs["EchoSound"].Create("rbxassetid://1718412034", Character, 5, 1,0,10,0.15,0.5,1)
2846
	for i=0, 3, 0.1 / Animation_Speed do
2847
		Swait()
2848
		WACKYEFFECT({Time = 10, EffectType = "Block", Size = VT(MRANDOM(2,8),MRANDOM(2,8),MRANDOM(2,8)), Size2 = VT(0,0,0), Transparency = 0.7, Transparency2 = 1, CFrame = Barrel.CFrame*CF(0,3,0) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0.2,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2849
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2850
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2851
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.9, 0) * ANGLES(RAD(165), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2852
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.9, 0) * ANGLES(RAD(165), RAD(0), RAD(17.5)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2853
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2854
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2855
	end
2856
	for i=0, 0.25, 0.1 / Animation_Speed do
2857
		Swait()
2858
		WACKYEFFECT({Time = 10, EffectType = "Block", Size = VT(MRANDOM(2,6),MRANDOM(2,6),MRANDOM(2,6)), Size2 = VT(0,0,0), Transparency = 0.7, Transparency2 = 1, CFrame = Barrel.CFrame*CF(0,3,0) * ANGLES(RAD(0), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(MRANDOM(0,0.2)/0,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2859
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.25, -0.5 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
2860
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2861
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(50), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2862
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(50), RAD(0), RAD(17.5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2863
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(35), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2864
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(35), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
2865
	end
2866
sphere2(2,"Add",RootPart.CFrame,VT(1,1,1),1,1,1,BrickColor.new("Dark green"),BrickColor.new("Lime green").Color)
2867
sphere2(2,"Add",RootPart.CFrame,VT(1,1,1),2,2,2,BrickColor.new("Lime green"),BrickColor.new("Dark green").Color)
2868
sphere2(2,"Add",RootPart.CFrame,VT(1,1,1),4,4,4,BrickColor.new("Dark green"),BrickColor.new("Lime green").Color)
2869
sphere2(2,"Add",RootPart.CFrame,VT(1,1,1),8,8,8,BrickColor.new("Lime green"),BrickColor.new("Dark green").Color)
2870
CFuncs["Sound"].Create("rbxassetid://1841058541", RootPart, 10,1)
2871
CFuncs["Sound"].Create("rbxassetid://2095993595", Character, 5,0.8)
2872
CFuncs["Sound"].Create("rbxassetid://1841058541", Character, 5,1)
2873
Humanoid.CameraOffset = VT(0,0,0)
2874
for i = 0, 24 do
2875
slash(math.random(10,30)/10,5,true,"Round","Add","Out",RootPart.CFrame*CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))),VT(0.01,0.01,0.01),math.random(500,1500)/250,BrickColor.new("Dark green"))
2876
end
2877
local distam = 0
2878
coroutine.resume(coroutine.create(function()
2879
for i = 0, 99 do
2880
	wait()
2881
distam = distam + 1.5
2882
local xa = CreateParta(Character,1,1,"SmoothPlastic",BrickColor.new("Dark green"))
2883
xa.Anchored = true
2884
xa.CFrame = RootPart.CFrame*CFrame.new(math.random(-distam,distam),math.random(-distam,distam),math.random(-distam,distam))
2885
game:GetService("Debris"):AddItem(xa, 5)
2886
coroutine.resume(coroutine.create(function()
2887
local eff = Instance.new("ParticleEmitter",xa)
2888
eff.Texture = "rbxassetid://2092248396"
2889
eff.LightEmission = 1
2890
eff.Color = ColorSequence.new(BrickColor.new("Lime green").Color)
2891
eff.Rate = 500000
2892
eff.Lifetime = NumberRange.new(1,3)
2893
eff.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,30,0),NumberSequenceKeypoint.new(0.2,5,0),NumberSequenceKeypoint.new(0.8,5,0),NumberSequenceKeypoint.new(1,0,0)})
2894
eff.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(0.1,0,0),NumberSequenceKeypoint.new(0.8,0,0),NumberSequenceKeypoint.new(1,1,0)})
2895
eff.Speed = NumberRange.new(50,500)
2896
eff.Drag = 5
2897
eff.Rotation = NumberRange.new(-500,500)
2898
eff.VelocitySpread = 9000
2899
eff.RotSpeed = NumberRange.new(-50,50)
2900
wait(0.25)
2901
eff.Enabled = false
2902
end))
2903
CFuncs["Sound"].Create("rbxassetid://675172759", xa, 7,math.random(100,200)/200)
2904
sphere2(5,"Add",xa.CFrame,VT(1,1,1),0.5,0.5,0.5,BrickColor.new("Lime green"),BrickColor.new("Dark green").Color)
2905
sphere2(5,"Add",xa.CFrame,VT(1,1,1),1,1,1,BrickColor.new("Dark green"),BrickColor.new("Lime green").Color)
2906
sphere2(5,"Add",xa.CFrame,VT(1,1,1),0.5,0.5,0.5,BrickColor.new("Lime green"),BrickColor.new("Dark green").Color)
2907
sphere2(5,"Add",xa.CFrame,VT(1,1,1),1,1,1,BrickColor.new("Dark green"),BrickColor.new("Lime green").Color)
2908
sphere2(5,"Add",xa.CFrame,VT(1,1,1),0.5,0.5,0.5,BrickColor.new("Lime green"),BrickColor.new("Dark green").Color)
2909
sphere2(5,"Add",xa.CFrame,VT(1,1,1),1,1,1,BrickColor.new("Dark green"),BrickColor.new("Lime green").Color)
2910
SmiteAoE(xa.Position, 30)
2911
end
2912
end))
2913
ATTACK = false
2914
Rooted = false
2915
wait(3)
2916
Cooldown2 = false
2917
end
2918
2919
function Shot()
2920
	ATTACK = true
2921
	Rooted = false
2922
	for i=0, 0.1, 0.1 / Animation_Speed do
2923
		Swait()
2924
		turnto(Mouse.Hit.p)
2925
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed*3)
2926
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5))), 1)			
2927
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2928
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(12), RAD(0), RAD(0))* LEFTSHOULDERC0, 0.4 / Animation_Speed)
2929
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2930
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(-78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2931
	end
2932
	repeat
2933
		for i=0, 0.1, 0.1 / Animation_Speed do
2934
			Swait()
2935
			turnto(Mouse.Hit.p)
2936
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed*3)
2937
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5))), 1)			
2938
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2939
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(12), RAD(0), RAD(0))* LEFTSHOULDERC0, 0.4 / Animation_Speed)
2940
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2941
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(-78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2942
		end
2943
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
2944
		SpawnTrail(Hole.Position,POS)
2945
		if HIT ~= nil then
2946
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2947
				Banish(HIT.Parent)
2948
			end
2949
		end
2950
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,0.2,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2951
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0.2,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2952
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0.2,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2953
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0.2,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2954
		for i=0, 0.1, 0.1 / Animation_Speed do
2955
			Swait()
2956
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed*3)
2957
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5))), 1)			
2958
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(110), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2959
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(42), RAD(0), RAD(0))* LEFTSHOULDERC0, 0.4 / Animation_Speed)
2960
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2961
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(-78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2962
		end
2963
	until KEYHOLD == false
2964
	ATTACK = false
2965
	Rooted = false
2966
end
2967
2968
function Tuk()
2969
	ATTACK = true
2970
	Rooted = true
2971
	        CreateSound("1238240145", Torso, 6, 0.9)
2972
		CreateSound(363808674, Torso, 6, 1, false)
2973
		for i=0, 0.6, 0.1 / Animation_Speed do
2974
			Swait()
2975
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2976
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
2977
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2978
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2979
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2980
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2981
		end
2982
		CreateSound(363808674, Torso, 6, 1, false)
2983
		for i=0, 0.6, 0.1 / Animation_Speed do
2984
			Swait()
2985
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2986
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
2987
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2988
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2989
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2990
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2991
		end
2992
		CreateSound(363808674, Torso, 6, 1, false)
2993
		for i=0, 0.6, 0.1 / Animation_Speed do
2994
			Swait()
2995
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2996
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
2997
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2998
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2999
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3000
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3001
		end
3002
		CreateSound(363808674, Torso, 6, 1, false)
3003
		for i=0, 0.6, 0.1 / Animation_Speed do
3004
			Swait()
3005
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3006
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
3007
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3008
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3009
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3010
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3011
		end
3012
		CreateSound(363808674, Torso, 6, 1, false)
3013
		for i=0, 0.6, 0.1 / Animation_Speed do
3014
			Swait()
3015
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3016
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
3017
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3018
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3019
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3020
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3021
		end
3022
		CreateSound(363808674, Torso, 6, 1, false)
3023
		for i=0, 0.6, 0.1 / Animation_Speed do
3024
			Swait()
3025
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3026
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
3027
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
3028
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
3029
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3030
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3031
		end
3032
	ATTACK = false
3033
	Rooted = false
3034
end
3035
3036
--//=================================\\
3037
--||	  ASSIGN THINGS TO KEYS
3038
--\\=================================//
3039
3040
function MouseDown(Mouse)
3041
	if ATTACK == false then
3042
	end
3043
end
3044
3045
function MouseUp(Mouse)
3046
HOLD = false
3047
end
3048
3049
function KeyDown(Key)
3050
	KEYHOLD = true
3051
	if Key == "z" and ATTACK == false then
3052
		Shot()
3053
	end
3054
3055
	if Key == "t" and ATTACK == false then
3056
                Tuk()
3057
	end
3058
3059
	if Key == "c" and ATTACK == false then
3060
                LimbRip()
3061
	end
3062
3063
	if Key == "v" and ATTACK == false then
3064
	end
3065
3066
	if Key == "x" and ATTACK == false then
3067
                SHATTER()
3068
	end
3069
end
3070
3071
function KeyUp(Key)
3072
	KEYHOLD = false
3073
end
3074
3075
	Mouse.Button1Down:connect(function(NEWKEY)
3076
		MouseDown(NEWKEY)
3077
	end)
3078
	Mouse.Button1Up:connect(function(NEWKEY)
3079
		MouseUp(NEWKEY)
3080
	end)
3081
	Mouse.KeyDown:connect(function(NEWKEY)
3082
		KeyDown(NEWKEY)
3083
	end)
3084
	Mouse.KeyUp:connect(function(NEWKEY)
3085
		KeyUp(NEWKEY)
3086
	end)
3087
3088
--//=================================\\
3089
--\\=================================//
3090
3091
3092
function unanchor()
3093
	if UNANCHOR == true then
3094
		g = Character:GetChildren()
3095
		for i = 1, #g do
3096
			if g[i].ClassName == "Part" then
3097
				g[i].Anchored = false
3098
			end
3099
		end
3100
	end
3101
end
3102
3103
3104
--//=================================\\
3105
--||	WRAP THE WHOLE SCRIPT UP
3106
--\\=================================//
3107
3108
Humanoid.Changed:connect(function(Jump)
3109
	if Jump == "Jump" and (Disable_Jump == true) then
3110
		Humanoid.Jump = false
3111
	end
3112
end)
3113
3114
local CONNECT = nil
3115
3116
while true do
3117
	Swait()
3118
	ANIMATE.Parent = nil
3119
	if Character:FindFirstChildOfClass("Humanoid") == nil then
3120
		Humanoid = IT("Humanoid",Character)
3121
	end
3122
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
3123
	    v:Stop();
3124
	end
3125
	SINE = SINE + CHANGE
3126
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
3127
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3128
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
3129
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
3130
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
3131
		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)
3132
		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)
3133
		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(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3134
		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(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3135
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
3136
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3137
		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)
3138
		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)
3139
		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)
3140
	end
3141
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3142
		ANIM = "Jump"
3143
		if ATTACK == false then
3144
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3145
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3146
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3147
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3148
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3149
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3150
	    end
3151
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3152
		ANIM = "Fall"
3153
		if ATTACK == false then
3154
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3155
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5))), 1)
3156
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3157
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3158
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3159
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3160
		end
3161
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
3162
		ANIM = "Idle"
3163
		if ATTACK == false then
3164
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed*3)
3165
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5))), 1)			
3166
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(40), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3167
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(15), RAD(-45)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
3168
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
3169
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 24), 0) * ANGLES(RAD(0), RAD(-78), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
3170
		end
3171
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
3172
		ANIM = "Walk"
3173
		if ATTACK == false then
3174
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
3175
                        Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5)), RAD(MRANDOM(-5.5,5.5))), 1)
3176
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3177
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
3178
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
3179
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
3180
		end
3181
	end
3182
	unanchor()
3183
	Humanoid.MaxHealth = "inf"
3184
	Humanoid.Health = "inf"
3185
	if Rooted == false then
3186
		Disable_Jump = false
3187
		Humanoid.WalkSpeed = Speed
3188
	elseif Rooted == true then
3189
		Disable_Jump = true
3190
		Humanoid.WalkSpeed = 0
3191
	end
3192
			for LW = 1, #LEFTWINGS do
3193
		if LEFTWINGS[LW] ~= nil then
3194
			LEFTWINGS[LW].C1 = Clerp(LEFTWINGS[LW].C1, CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(2.5 * SIN(SINE / 12)), RAD(0), RAD(-3 + 3 * SIN(SINE / 12))), 1 / Animation_Speed)
3195
		end
3196
	end
3197
	for RW = 1, #RIGHTWINGS do
3198
		if RIGHTWINGS[RW] ~= nil then
3199
			RIGHTWINGS[RW].C1 = Clerp(RIGHTWINGS[RW].C1, CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(2.5 * SIN(SINE / 12)), RAD(0), RAD(3 - 3 * SIN(SINE / 12))), 1 / Animation_Speed)
3200
		end
3201
	end
3202
	sick.Parent = Torso
3203
	sick:resume()
3204
	sick.Volume = 10
3205
	sick.Pitch = 1.02
3206
	sick.SoundId = "rbxassetid://544338900
3207
	sick.Name = "Dead"
3208
end
3209
3210
--//=================================\\
3211
--\\=================================//
3212
3213
3214
3215
3216
3217
--//====================================================\\--
3218
--||			  		 END OF SCRIPT
3219
--\\====================================================//--