View difference between Paste ID: ZRyfs4GB and 1NV2BCYW
SHOW: | | - or go back to the newest paste.
1
script.Name = "Banisher Gun V3 / 1"
2
--//====================================================\\--
3
--||	CREATED BY SHACKLUSTER Edit By NameClan
4
--\\====================================================//--
5
6
script:ClearAllChildren()
7
wait(0.2)
8
-- This script has been converted to FE by iPxter
9
10
11
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
12-
Player = game:GetService("Players").LocalPlayer
12+
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
13
do
14
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
15
	script.Parent = Player.Character
16
17
	--RemoteEvent for communicating
18-
Mouse = Player:GetMouse()
18+
	local Event = Instance.new("RemoteEvent")
19
	Event.Name = "UserInput_Event"
20
21
	--Fake event to make stuff like Mouse.KeyDown work
22
	local function fakeEvent()
23
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
24
		t.connect = t.Connect
25
		return t
26
	end
27
28
	--Creating fake input objects with fake variables
29
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
30
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
31
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
32
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
33
	end}
34
	--Merged 2 functions into one by checking amount of arguments
35
	CAS.UnbindAction = CAS.BindAction
36
37
	--This function will trigger the events that have been :Connect()'ed
38
	local function te(self,ev,...)
39
		local t = m[ev]
40
		if t and t._fakeEvent and t.Function then
41
			t.Function(...)
42
		end
43
	end
44
	m.TrigEvent = te
45
	UIS.TrigEvent = te
46
47
	Event.OnServerEvent:Connect(function(plr,io)
48
	    if plr~=Player then return end
49
		if io.isMouse then
50
			m.Target = io.Target
51
			m.Hit = io.Hit
52
		else
53
			local b = io.UserInputState == Enum.UserInputState.Begin
54
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
55
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
56
			end
57
			for _,t in pairs(CAS.Actions) do
58
				for _,k in pairs(t.Keys) do
59
					if k==io.KeyCode then
60
						t.Function(t.Name,io.UserInputState,io)
61
					end
62
				end
63
			end
64
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
65
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
66
	    end
67
	end)
68
	Event.Parent = NLS([==[
69
	local Player = game:GetService("Players").LocalPlayer
70
	local Event = script:WaitForChild("UserInput_Event")
71
72
	local UIS = game:GetService("UserInputService")
73
	local input = function(io,a)
74
		if a then return end
75
		--Since InputObject is a client-side instance, we create and pass table instead
76
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
77
	end
78
	UIS.InputBegan:Connect(input)
79
	UIS.InputEnded:Connect(input)
80
81
	local Mouse = Player:GetMouse()
82
	local h,t
83
	--Give the server mouse data 30 times every second, but only if the values changed
84
	--If player is not moving their mouse, client won't fire events
85
	while wait(1/30) do
86
		if h~=Mouse.Hit or t~=Mouse.Target then
87
			h,t=Mouse.Hit,Mouse.Target
88
			Event:FireServer({isMouse=true,Target=t,Hit=h})
89
		end
90
	end]==],Player.Character)
91
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
92
end
93
94
local LIGHTHITSOUNDS = {"1177780949","1177781153","1177784554"}
95
local FireSound = "904051531"
96
local LAUGHS = {834001699,834001752,834001797,834001828}
97
Player = owner
98
PlayerGui = Player.PlayerGui
99
Cam = workspace.CurrentCamera
100
Backpack = Player.Backpack
101
Character = Player.Character
102
Humanoid = Character.Humanoid
103
RootPart = Character["HumanoidRootPart"]
104
Torso = Character["Torso"]
105
Head = Character["Head"]
106
RightArm = Character["Right Arm"]
107
LeftArm = Character["Left Arm"]
108
RightLeg = Character["Right Leg"]
109
LeftLeg = Character["Left Leg"]
110
local sick = Instance.new("Sound",Character)
111
q = Character:GetChildren()
112
for u = 1, #q do
113
if q[u].ClassName == "Accessory" then
114
q[u]:Destroy()
115
elseif q[u].ClassName == "CharacterMesh" then
116
q[u]:Destroy()
117
end
118
end
119
Head.face:Destroy()
120
Head.Mesh:Destroy()
121
newmesh = Instance.new("SpecialMesh")
122
newmesh.Scale = Vector3.new(1.1,1.1,1.1)
123
newmesh.MeshId = "http://www.roblox.com/asset/?id=0"
124
newmesh.TextureId = "http://www.roblox.com/asset/?id=0"
125
newmesh.Parent = Head
126
127
	local function weldBetween(a, b)
128
	    local weldd = Instance.new("ManualWeld")
129
	    weldd.Part0 = a
130
	    weldd.Part1 = b
131
	    weldd.C0 = CFrame.new()
132
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
133
	    weldd.Parent = a
134
	    return weldd
135
	end
136
RootJoint = RootPart["RootJoint"]
137
Neck = Torso["Neck"]
138
RightShoulder = Torso["Right Shoulder"]
139
LeftShoulder = Torso["Left Shoulder"]
140
RightHip = Torso["Right Hip"]
141
LeftHip = Torso["Left Hip"]
142
local TIME = 0
143
local sick = Instance.new("Sound",Torso)
144
145
IT = Instance.new
146
CF = CFrame.new
147
VT = Vector3.new
148
RAD = math.rad
149
C3 = Color3.new
150
UD2 = UDim2.new
151
BRICKC = BrickColor.new
152
ANGLES = CFrame.Angles
153
EULER = CFrame.fromEulerAnglesXYZ
154
COS = math.cos
155
ACOS = math.acos
156
SIN = math.sin
157
ASIN = math.asin
158
ABS = math.abs
159
MRANDOM = math.random
160
FLOOR = math.floor
161
162
163
it = Instance.new
164
165
    function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
166
        local fp=it("Part")
167
        fp.formFactor=formfactor
168
        fp.Parent=parent
169
        fp.Reflectance=reflectance
170
        fp.Transparency=transparency
171
        fp.CanCollide=false
172
        fp.Locked=true
173
        fp.BrickColor=BrickColor.new(tostring(brickcolor))
174
        fp.Name=name
175
        fp.Size=size
176
        fp.Position=Character.Torso.Position
177
        fp.Material=material
178
        fp:BreakJoints()
179
        return fp
180
    end
181
    
182
    function mesh(Mesh,part,meshtype,meshid,offset,scale)
183
        local mesh=it(Mesh)
184
        mesh.Parent=part
185
        if Mesh=="SpecialMesh" then
186
            mesh.MeshType=meshtype
187
            mesh.MeshId=meshid
188
        end
189
        mesh.Offset=offset
190
        mesh.Scale=scale
191
        return mesh
192
    end
193
    
194
    function weld(parent,part0,part1,c0,c1)
195
        local weld=it("Weld")
196
        weld.Parent=parent
197
        weld.Part0=part0
198
        weld.Part1=part1
199
        weld.C0=c0
200
        weld.C1=c1
201
        return weld
202
    end
203
204
q = "Really black"
205
Claw1=part(Enum.FormFactor.Custom,Character,Enum.Material.SmoothPlastic,0,0,q,"Claw",Vector3.new(0.400000006, 0.400000036, 0.400000006))
206
Claw1weld=weld(Character,RightArm,Claw1,CFrame.new(0.25, -2.3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00980377197, -0.0303750038, 0.719708443, -5, 3.10001451e-005, 3.09999632e-005, 3.10008145e-005, 0, 0, 0, -4, -1))
207
mesh("SpecialMesh",Claw1,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=10681506",Vector3.new(0, 0, 0),Vector3.new(-1,-1.8,-1))
208
Claw2=part(Enum.FormFactor.Custom,Character,Enum.Material.SmoothPlastic,0,0,q,"Claw",Vector3.new(0.400000006, 0.400000036, 0.400000006))
209
Claw2weld=weld(Character,LeftArm,Claw2,CFrame.new(-0.25, -2.3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00980377197, -0.0303750038, 0.719708443, 5, 3.10001451e-005, 3.09999632e-005, 3.10008145e-005, 0, 0, 0, -4, -1))
210
mesh("SpecialMesh",Claw2,Enum.MeshType.FileMesh,"http://www.roblox.com/asset/?id=10681506",Vector3.new(0, 0, 0),Vector3.new(-1,-1.8,-1))
211
212
--//=================================\\
213
--|| 	      USEFUL VALUES
214
--\\=================================//
215
216
Animation_Speed = 3
217
local FORCERESET = false
218
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
219
local Speed = 16
220
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
221
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
222
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
223
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
224
local DAMAGEMULTIPLIER = 1
225
local ANIM = "Idle"
226
local ATTACK = false
227
local EQUIPPED = false
228
local HOLD = false
229
local COMBO = 1
230
local COMBO2 = 1
231
local Rooted = false
232
local SINE = 0
233
local STAGGERHITANIM = false
234
local STAGGERANIM = false
235
local KEYHOLD = false
236
local CHANGE = 2 / Animation_Speed
237
local WALKINGANIM = false
238
local VALUE1 = false
239
local NOWALK = false
240
local VALUE2 = false
241
local INTRO = false
242
local TRANSFORMED = false
243
local ROBLOXIDLEANIMATION = IT("Animation")
244
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
245
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
246
--ROBLOXIDLEANIMATION.Parent = Humanoid
247
local WEAPONGUI = IT("ScreenGui", PlayerGui)
248
WEAPONGUI.Name = "BanishV3Gui"
249
local Weapon = IT("Model")
250
Weapon.Name = "Adds"
251
local Effects = IT("Folder", Weapon)
252
Effects.Name = "Effects"
253
local ANIMATOR = Humanoid.Animator
254
local ANIMATE = Character:FindFirstChild("Animate")
255
local UNANCHOR = true
256
local TOBANISH = {}
257
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
258
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
259
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
260
local HITBLOCKSOUNDS = {"199148933", "199148947"}
261
script.Parent = PlayerGui
262
263
--//=================================\\
264
--\\=================================//
265
266
267
--//=================================\\
268
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
269
--\\=================================//
270
271
272
Class_Name = "Beserker"
273
Weapon_Name = "Claws"
274
275
Custom_Colors = {
276
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
277
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
278
279
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
280
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
281
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
282
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
283
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
284
285
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
286
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
287
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
288
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
289
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
290
}
291
292
Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
293
Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
294
Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
295
Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
296
Ability_Background_Transparency = 0  --Transparency for the background of the abilities.
297
Stat_Background_Transparency = 0 --Transparency for the background of the stats.
298
299
Player_Size = 1 --Size of the player.
300
Animation_Speed = 2
301
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
302
303
Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
304
Enable_Stats = false --Enables or disables stats.
305
Put_Stats_In_Character = false --Places stats in Character.
306
Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
307
Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
308
Enable_Stagger = false --Enables or disables staggering.
309
Enable_Stun = false --Enables or disables the stun mechanic.
310
Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
311
Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
312
313
Start_Equipped = false --Starts the player equipped with their weapon.
314
Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
315
Can_Equip_Or_Unequip = true --Enables or disables the ability to unequip or equip your weapon.
316
Disable_Animator = true --Disables the Animator in the humanoid.
317
Disable_Animate = true --Disables the Animate script in the character.
318
Disable_Moving_Arms = false --Keeps the arms from moving around.
319
Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
320
Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
321
Disable_Jump = false --Disables jumping.
322
Use_HopperBin = true --Uses a hopperbin to do things.
323
324
Player_Size = 1 --Size of the player.
325
Animation_Speed = 2
326
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
327
328
Cooldown_1 = 0 --Cooldowns for abilites.
329
Cooldown_2 = 0
330
Cooldown_3 = 0
331
Cooldown_4 = 0
332
Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
333
Skill_2_Mana_Cost = 0
334
Skill_3_Mana_Cost = 0
335
Skill_4_Mana_Cost = 0
336
Max_Mana = 0 --Maximum amount of mana you can have.
337
Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
338
Mana_Name = "Mana" --Name for the mana bar.
339
Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
340
Max_Stun = 1 --Maximum amount of stun you can have.
341
Recover_Mana = 0 --How much mana you gain.
342
Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
343
Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
344
Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
345
Recover_Secondary_Mana = 0 --How much secondary mana you gain.
346
Lose_Stun = 0 --How much stun you lose.
347
Stun_Wait = 0 --Delay between losing stun.
348
Mana_Wait = 0 --Delay between gaining mana.
349
Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
350
Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
351
Constant_Update = false --Removes the delay between updating the Weapon GUI.
352
Show_Stats = false --Hides or shows stats.
353
Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
354
355
ArtificialHB = Instance.new("BindableEvent", script)
356
ArtificialHB.Name = "ArtificialHB"
357
358
script:WaitForChild("ArtificialHB")
359
360
frame = Frame_Speed
361
tf = 0
362
allowframeloss = false
363
tossremainder = false
364
lastframe = tick()
365
script.ArtificialHB:Fire()
366
367
game:GetService("RunService").Heartbeat:connect(function(s, p)
368
	tf = tf + s
369
	if tf >= frame then
370
		if allowframeloss then
371
			script.ArtificialHB:Fire()
372
			lastframe = tick()
373
		else
374
			for i = 1, math.floor(tf / frame) do
375
				script.ArtificialHB:Fire()
376
			end
377
		lastframe = tick()
378
		end
379
		if tossremainder then
380
			tf = 0
381
		else
382
			tf = tf - frame * math.floor(tf / frame)
383
		end
384
	end
385
end)
386
387
--//=================================\\
388
--\\=================================//
389
390
--//=================================\\
391
--|| 	      SOME FUNCTIONS
392
--\\=================================//
393
394
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
395
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
396
end
397
398
function PositiveAngle(NUMBER)
399
	if NUMBER >= 0 then
400
		NUMBER = 0
401
	end
402
	return NUMBER
403
end
404
405
function NegativeAngle(NUMBER)
406
	if NUMBER <= 0 then
407
		NUMBER = 0
408
	end
409
	return NUMBER
410
end
411
412
function Swait(NUMBER)
413
	if NUMBER == 0 or NUMBER == nil then
414
		ArtificialHB.Event:wait()
415
	else
416
		for i = 1, NUMBER do
417
			ArtificialHB.Event:wait()
418
		end
419
	end
420
end
421
422
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
423
	local NEWMESH = IT(MESH)
424
	if MESH == "SpecialMesh" then
425
		NEWMESH.MeshType = MESHTYPE
426
		if MESHID ~= "nil" and MESHID ~= "" then
427
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
428
		end
429
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
430
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
431
		end
432
	end
433
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
434
	NEWMESH.Scale = SCALE
435
	NEWMESH.Parent = PARENT
436
	return NEWMESH
437
end
438
439
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
440
	local NEWPART = IT("Part")
441
	NEWPART.formFactor = FORMFACTOR
442
	NEWPART.Reflectance = REFLECTANCE
443
	NEWPART.Transparency = TRANSPARENCY
444
	NEWPART.CanCollide = false
445
	NEWPART.Locked = true
446
	NEWPART.Anchored = true
447
	if ANCHOR == false then
448
		NEWPART.Anchored = false
449
	end
450
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
451
	NEWPART.Name = NAME
452
	NEWPART.Size = SIZE
453
	NEWPART.Position = Torso.Position
454
	NEWPART.Material = MATERIAL
455
	NEWPART:BreakJoints()
456
	NEWPART.Parent = PARENT
457
	return NEWPART
458
end
459
460
	local function weldBetween(a, b)
461
	    local weldd = Instance.new("ManualWeld")
462
	    weldd.Part0 = a
463
	    weldd.Part1 = b
464
	    weldd.C0 = CFrame.new()
465
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
466
	    weldd.Parent = a
467
	    return weldd
468
	end
469
470
471
function QuaternionFromCFrame(cf)
472
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
473
	local trace = m00 + m11 + m22
474
	if trace > 0 then 
475
		local s = math.sqrt(1 + trace)
476
		local recip = 0.5 / s
477
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
478
	else
479
		local i = 0
480
		if m11 > m00 then
481
			i = 1
482
		end
483
		if m22 > (i == 0 and m00 or m11) then
484
			i = 2
485
		end
486
		if i == 0 then
487
			local s = math.sqrt(m00 - m11 - m22 + 1)
488
			local recip = 0.5 / s
489
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
490
		elseif i == 1 then
491
			local s = math.sqrt(m11 - m22 - m00 + 1)
492
			local recip = 0.5 / s
493
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
494
		elseif i == 2 then
495
			local s = math.sqrt(m22 - m00 - m11 + 1)
496
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
497
		end
498
	end
499
end
500
 
501
function QuaternionToCFrame(px, py, pz, x, y, z, w)
502
	local xs, ys, zs = x + x, y + y, z + z
503
	local wx, wy, wz = w * xs, w * ys, w * zs
504
	local xx = x * xs
505
	local xy = x * ys
506
	local xz = x * zs
507
	local yy = y * ys
508
	local yz = y * zs
509
	local zz = z * zs
510
	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))
511
end
512
 
513
function QuaternionSlerp(a, b, t)
514
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
515
	local startInterp, finishInterp;
516
	if cosTheta >= 0.0001 then
517
		if (1 - cosTheta) > 0.0001 then
518
			local theta = ACOS(cosTheta)
519
			local invSinTheta = 1 / SIN(theta)
520
			startInterp = SIN((1 - t) * theta) * invSinTheta
521
			finishInterp = SIN(t * theta) * invSinTheta
522
		else
523
			startInterp = 1 - t
524
			finishInterp = t
525
		end
526
	else
527
		if (1 + cosTheta) > 0.0001 then
528
			local theta = ACOS(-cosTheta)
529
			local invSinTheta = 1 / SIN(theta)
530
			startInterp = SIN((t - 1) * theta) * invSinTheta
531
			finishInterp = SIN(t * theta) * invSinTheta
532
		else
533
			startInterp = t - 1
534
			finishInterp = t
535
		end
536
	end
537
	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
538
end
539
540
function Clerp(a, b, t)
541
	local qa = {QuaternionFromCFrame(a)}
542
	local qb = {QuaternionFromCFrame(b)}
543
	local ax, ay, az = a.x, a.y, a.z
544
	local bx, by, bz = b.x, b.y, b.z
545
	local _t = 1 - t
546
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
547
end
548
549
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
550
	local frame = IT("Frame")
551
	frame.BackgroundTransparency = TRANSPARENCY
552
	frame.BorderSizePixel = BORDERSIZEPIXEL
553
	frame.Position = POSITION
554
	frame.Size = SIZE
555
	frame.BackgroundColor3 = COLOR
556
	frame.BorderColor3 = BORDERCOLOR
557
	frame.Name = NAME
558
	frame.Parent = PARENT
559
	return frame
560
end
561
562
563
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
564
	local label = IT("TextLabel")
565
	label.BackgroundTransparency = 1
566
	label.Size = UD2(1, 0, 1, 0)
567
	label.Position = UD2(0, 0, 0, 0)
568
	label.TextColor3 = TEXTCOLOR
569
	label.TextStrokeTransparency = STROKETRANSPARENCY
570
	label.TextTransparency = TRANSPARENCY
571
	label.FontSize = TEXTFONTSIZE
572
	label.Font = TEXTFONT
573
	label.BorderSizePixel = BORDERSIZEPIXEL
574
	label.TextScaled = false
575
	label.Text = TEXT
576
	label.Name = NAME
577
	label.Parent = PARENT
578
	return label
579
end
580
581
function NoOutlines(PART)
582
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
583
end
584
585
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
586
	local NEWWELD = IT(TYPE)
587
	NEWWELD.Part0 = PART0
588
	NEWWELD.Part1 = PART1
589
	NEWWELD.C0 = C0
590
	NEWWELD.C1 = C1
591
	NEWWELD.Parent = PARENT
592
	return NEWWELD
593
end
594
595
local S = IT("Sound")
596
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
597
	local NEWSOUND = nil
598
	coroutine.resume(coroutine.create(function()
599
		NEWSOUND = S:Clone()
600
		NEWSOUND.Parent = PARENT
601
		NEWSOUND.Volume = VOLUME
602
		NEWSOUND.Pitch = PITCH
603
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
604
		NEWSOUND:play()
605
		if DOESLOOP == true then
606
			NEWSOUND.Looped = true
607
		else
608
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
609
			NEWSOUND:remove()
610
		end
611
	end))
612
	return NEWSOUND
613
end
614
615
function CFrameFromTopBack(at, top, back)
616
	local right = top:Cross(back)
617
	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)
618
end
619
620
--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})
621
function WACKYEFFECT(Table)
622
	local TYPE = (Table.EffectType or "Sphere")
623
	local SIZE = (Table.Size or VT(1,1,1))
624
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
625
	local TRANSPARENCY = (Table.Transparency or 0)
626
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
627
	local CFRAME = (Table.CFrame or Torso.CFrame)
628
	local MOVEDIRECTION = (Table.MoveToPos or nil)
629
	local ROTATION1 = (Table.RotationX or 0)
630
	local ROTATION2 = (Table.RotationY or 0)
631
	local ROTATION3 = (Table.RotationZ or 0)
632
	local MATERIAL = (Table.Material or "Neon")
633
	local COLOR = (Table.Color or C3(1,1,1))
634
	local TIME = (Table.Time or 45)
635
	local SOUNDID = (Table.SoundID or nil)
636
	local SOUNDPITCH = (Table.SoundPitch or nil)
637
	local SOUNDVOLUME = (Table.SoundVolume or nil)
638
	coroutine.resume(coroutine.create(function()
639
		local PLAYSSOUND = false
640
		local SOUND = nil
641
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
642
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
643
			PLAYSSOUND = true
644
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
645
		end
646
		EFFECT.Color = COLOR
647
		local MSH = nil
648
		if TYPE == "Sphere" then
649
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
650
		elseif TYPE == "Block" then
651
			MSH = IT("BlockMesh",EFFECT)
652
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
653
		elseif TYPE == "Wave" then
654
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
655
		elseif TYPE == "Ring" then
656
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
657
		elseif TYPE == "Slash" then
658
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
659
		elseif TYPE == "Round Slash" then
660
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
661
		elseif TYPE == "Swirl" then
662
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
663
		elseif TYPE == "Skull" then
664
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
665
		elseif TYPE == "Crystal" then
666
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
667
		end
668
		if MSH ~= nil then
669
			local MOVESPEED = nil
670
			if MOVEDIRECTION ~= nil then
671
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
672
			end
673
			local GROWTH = SIZE - ENDSIZE
674
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
675
			if TYPE == "Block" then
676
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
677
			else
678
				EFFECT.CFrame = CFRAME
679
			end
680
			for LOOP = 1, TIME+1 do
681
				Swait()
682
				MSH.Scale = MSH.Scale - GROWTH/TIME
683
				if TYPE == "Wave" then
684
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
685
				end
686
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
687
				if TYPE == "Block" then
688
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
689
				else
690
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
691
				end
692
				if MOVEDIRECTION ~= nil then
693
					local ORI = EFFECT.Orientation
694
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
695
					EFFECT.Orientation = ORI
696
				end
697
			end
698
			if PLAYSSOUND == false then
699
				EFFECT:remove()
700
			else
701
				SOUND.Stopped:Connect(function()
702
					EFFECT:remove()
703
				end)
704
			end
705
		else
706
			if PLAYSSOUND == false then
707
				EFFECT:remove()
708
			else
709
				repeat Swait() until SOUND.Playing == false
710
				EFFECT:remove()
711
			end
712
		end
713
	end))
714
end
715
716
function MakeForm(PART,TYPE)
717
	if TYPE == "Cyl" then
718
		local MSH = IT("CylinderMesh",PART)
719
	elseif TYPE == "Ball" then
720
		local MSH = IT("SpecialMesh",PART)
721
		MSH.MeshType = "Sphere"
722
	elseif TYPE == "Wedge" then
723
		local MSH = IT("SpecialMesh",PART)
724
		MSH.MeshType = "Wedge"
725
	end
726
end
727
728
local asd = Instance.new("ParticleEmitter")
729
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
730
asd.LightEmission = .1
731
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
732
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
733
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
734
asd.Transparency = bbb
735
asd.Size = aaa
736
asd.ZOffset = .9
737
asd.Acceleration = Vector3.new(0, -15, 0)
738
asd.LockedToPart = false
739
asd.EmissionDirection = "Back"
740
asd.Lifetime = NumberRange.new(1, 2)
741
asd.Rotation = NumberRange.new(-100, 100)
742
asd.RotSpeed = NumberRange.new(-100, 100)
743
asd.Speed = NumberRange.new(10)
744
asd.Enabled = false
745
asd.VelocitySpread = 999
746
747
function getbloody(victim,amount)
748
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
749
	PART.CFrame = victim.CFrame
750
	local HITPLAYERSOUNDS = {"356551938","264486467"}
751
	Debris:AddItem(PART,5)
752
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
753
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
754
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
755
	local prtcl = asd:Clone()
756
	prtcl.Parent = PART
757
	prtcl:Emit(amount*10)
758
end
759
760
local Particle = IT("ParticleEmitter",nil)
761
Particle.Enabled = false
762
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
763
Particle.LightEmission = 0.5
764
Particle.Rate = 150
765
Particle.ZOffset = 1
766
Particle.Rotation = NumberRange.new(-180, 180)
767
Particle.RotSpeed = NumberRange.new(-180, 180)
768
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
769
Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
770
771
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
772
function ParticleEmitter(Table)
773
	local PRTCL = Particle:Clone()
774
	local Speed = Table.Speed or 5
775
	local Drag = Table.Drag or 0
776
	local Size1 = Table.Size1 or 1
777
	local Size2 = Table.Size2 or 5
778
	local Lifetime1 = Table.Lifetime1 or 1
779
	local Lifetime2 = Table.Lifetime2 or 1.5
780
	local Parent = Table.Parent or Torso
781
	local Emit = Table.Emit or 100
782
	local Offset = Table.Offset or 360
783
	local Acel = Table.Acel or VT(0,0,0)
784
	local Enabled = Table.Enabled or false
785
	PRTCL.Parent = Parent
786
	PRTCL.Size = NumberSequence.new(Size1,Size2)
787
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
788
	PRTCL.Speed = NumberRange.new(Speed)
789
	PRTCL.VelocitySpread = Offset
790
	PRTCL.Drag = Drag
791
	PRTCL.Acceleration = Acel
792
	if Enabled == false then
793
		PRTCL:Emit(Emit)
794
		Debris:AddItem(PRTCL,Lifetime2)
795
	else
796
		PRTCL.Enabled = true
797
	end
798
	return PRTCL
799
end
800
801
function SpawnTrail(FROM,TO,BIG)
802
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
803
	MakeForm(TRAIL,"Cyl")
804
	local DIST = (FROM - TO).Magnitude
805
	if BIG == true then
806
		TRAIL.Size = VT(0.5,DIST,0.5)
807
	else
808
		TRAIL.Size = VT(0.25,DIST,0.25)
809
	end
810
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
811
	coroutine.resume(coroutine.create(function()
812
		for i = 1, 5 do
813
			Swait()
814
			TRAIL.Transparency = TRAIL.Transparency + 0.1
815
		end
816
		TRAIL:remove()
817
	end))
818
end
819
820
Debris = game:GetService("Debris")
821
822
function CastProperRay(StartPos, EndPos, Distance, Ignore)
823
	local DIRECTION = CF(StartPos,EndPos).lookVector
824
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
825
end
826
827
function turnto(position)
828
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
829
end
830
831
--//=================================\\
832
--||	      RESIZE PLAYER
833
--\\=================================//
834
835
if Player_Size ~= 1 then
836
RootPart.Size = RootPart.Size * Player_Size
837
Torso.Size = Torso.Size * Player_Size
838
Head.Size = Head.Size * Player_Size
839
RightArm.Size = RightArm.Size * Player_Size
840
LeftArm.Size = LeftArm.Size * Player_Size
841
RightLeg.Size = RightLeg.Size * Player_Size
842
LeftLeg.Size = LeftLeg.Size * Player_Size
843
RootJoint.Parent = RootPart
844
Neck.Parent = Torso
845
RightShoulder.Parent = Torso
846
LeftShoulder.Parent = Torso
847
RightHip.Parent = Torso
848
LeftHip.Parent = Torso
849
	
850
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
851
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
852
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
853
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
854
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
855
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
856
	if Disable_Moving_Arms == false then
857
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
858
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
859
	else
860
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
861
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
862
	end
863
	RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
864
	LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
865
	RightHip.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
866
	LeftHip.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
867
end
868
869
870
--//=================================\\
871
--\\=================================//
872
873
--//=================================\\
874
--||	     WEAPON CREATION
875
--\\=================================//
876
877
local PRT = CreatePart(3, char, "Fabric", 0, 0, "", "The Mask", VT(1,1,1),false)
878
PRT.Color = C3(0,0,0)
879
local MaskWeld = CreateWeldOrSnapOrMotor("Weld", hed, hed, PRT, CF(0,0.2,0), CF(0, 0.15, 0))
880
CreateMesh("SpecialMesh", PRT, "FileMesh", "62146989", "145633085", VT(1.1,1.1,1.1)*1.05, VT(0,0,0))
881
882
function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
883
	local TORSO = Torso
884
	local HUM = Humanoid
885
	if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
886
		coroutine.wrap(function()
887
			VT = Vector3.new
888
			MRANDOM = math.random
889
			local A = TIME
890
			local B = INTENSITY
891
			local C = true
892
			local HUMANOID = Humanoid
893
			local TIMER = A or 35
894
			local SHAKE = B or 5
895
			local FADE = C or true
896
			if HUMANOID then
897
				local FADER = SHAKE / TIMER
898
				for i = 1, TIMER do
899
					wait()
900
					HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
901
				end
902
				HUMANOID.CameraOffset = VT(0, 0, 0)
903
			end
904
905
		end)()
906
	end
907
end
908
909
910
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Hood", VT(1,1,1),false)
911
PRT.Color = C3(0,0,0)
912
local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
913
CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
914
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really black", "Scarf", VT(1,1,1),false)
915
PRT.Color = C3(0,0,0)
916
917
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1.1,1,0.525),false)
918
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(-0.75, 0.51, 0) * ANGLES(RAD(180), RAD(-90), RAD(0)), CF(0, 0, 0))
919
MakeForm(Part,"Wedge")
920
921
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1,1,1.2),false)
922
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
923
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
924
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), CF(0, 0, 0))
925
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
926
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), CF(0, 0, 0))
927
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Dark stone grey", "Metal", VT(0.8,0.8,1.225),false)
928
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
929
local Eon = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eon", VT(0.5,0.5,1.25),false)
930
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, Eon, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
931
932
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1.1,1,0.525),false)
933
CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, Part, CF(-0.75, 0.51, 0) * ANGLES(RAD(180), RAD(-90), RAD(0)), CF(0, 0, 0))
934
MakeForm(Part,"Wedge")
935
936
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1,1,1.2),false)
937
CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
938
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
939
CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), CF(0, 0, 0))
940
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
941
CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), CF(0, 0, 0))
942
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Dark stone grey", "Metal", VT(0.8,0.8,1.225),false)
943
CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
944
local Eon = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eon", VT(0.5,0.5,1.25),false)
945
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Eon, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
946
947
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1.1,1,0.525),false)
948
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Part, CF(-0.75, 0.51, 0) * ANGLES(RAD(180), RAD(-90), RAD(0)), CF(0, 0, 0))
949
MakeForm(Part,"Wedge")
950
951
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(1,1,1.2),false)
952
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
953
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
954
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), CF(0, 0, 0))
955
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Stone grey", "Metal", VT(0.3,1.7,1.15),false)
956
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), CF(0, 0, 0))
957
local Part = CreatePart(3, Weapon, "DiamondPlate", 0, 0, "Dark stone grey", "Metal", VT(0.8,0.8,1.225),false)
958
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
959
local Eon = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eon", VT(0.5,0.5,1.25),false)
960
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Eon, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
961
962
--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})
963
function WACKYEFFECT(Table)
964
	local TYPE = (Table.EffectType or "Sphere")
965
	local SIZE = (Table.Size or VT(1,1,1))
966
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
967
	local TRANSPARENCY = (Table.Transparency or 0)
968
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
969
	local CFRAME = (Table.CFrame or Torso.CFrame)
970
	local MOVEDIRECTION = (Table.MoveToPos or nil)
971
	local ROTATION1 = (Table.RotationX or 0)
972
	local ROTATION2 = (Table.RotationY or 0)
973
	local ROTATION3 = (Table.RotationZ or 0)
974
	local MATERIAL = (Table.Material or "Neon")
975
	local COLOR = (Table.Color or C3(1,1,1))
976
	local TIME = (Table.Time or 45)
977
	local SOUNDID = (Table.SoundID or nil)
978
	local SOUNDPITCH = (Table.SoundPitch or nil)
979
	local SOUNDVOLUME = (Table.SoundVolume or nil)
980
	coroutine.resume(coroutine.create(function()
981
		local PLAYSSOUND = false
982
		local SOUND = nil
983
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Really red"), "Effect", VT(1,1,1), true)
984
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
985
			PLAYSSOUND = true
986
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
987
		end
988
		EFFECT.Color = COLOR
989
		local MSH = nil
990
		if TYPE == "Sphere" then
991
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
992
		elseif TYPE == "Block" then
993
			MSH = IT("BlockMesh",EFFECT)
994
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
995
		elseif TYPE == "Wave" then
996
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
997
		elseif TYPE == "Ring" then
998
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
999
		elseif TYPE == "Slash" then
1000
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1001
		elseif TYPE == "Round Slash" then
1002
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1003
		elseif TYPE == "Swirl" then
1004
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1005
		elseif TYPE == "Skull" then
1006
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1007
		elseif TYPE == "Crystal" then
1008
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1009
		end
1010
		if MSH ~= nil then
1011
			local MOVESPEED = nil
1012
			if MOVEDIRECTION ~= nil then
1013
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1014
			end
1015
			local GROWTH = SIZE - ENDSIZE
1016
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1017
			if TYPE == "Block" then
1018
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1019
			else
1020
				EFFECT.CFrame = CFRAME
1021
			end
1022
			for LOOP = 1, TIME+1 do
1023
				Swait()
1024
				MSH.Scale = MSH.Scale - GROWTH/TIME
1025
				if TYPE == "Wave" then
1026
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1027
				end
1028
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1029
				if TYPE == "Block" then
1030
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1031
				else
1032
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1033
				end
1034
				if MOVEDIRECTION ~= nil then
1035
					local ORI = EFFECT.Orientation
1036
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1037
					EFFECT.Orientation = ORI
1038
				end
1039
			end
1040
			if PLAYSSOUND == false then
1041
				EFFECT:remove()
1042
			else
1043
				SOUND.Stopped:Connect(function()
1044
					EFFECT:remove()
1045
				end)
1046
			end
1047
		else
1048
			if PLAYSSOUND == false then
1049
				EFFECT:remove()
1050
			else
1051
				repeat Swait() until SOUND.Playing == false
1052
				EFFECT:remove()
1053
			end
1054
		end
1055
	end))
1056
end
1057
1058
1059
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
1060
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
1061
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
1062
	wave.CFrame = CFRAME
1063
	coroutine.resume(coroutine.create(function(PART)
1064
		for i = 1, WAIT do
1065
			Swait()
1066
			mesh.Scale = mesh.Scale + GROW
1067
			if DOESROT == true then
1068
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
1069
			end
1070
			wave.Transparency = wave.Transparency + 0.5 / WAIT
1071
			if wave.Transparency > 0.99 then
1072
				wave:remove()
1073
			end
1074
		end
1075
	end))
1076
end
1077
1078
function CreateWave(SIZE, WAIT, CFRAME, DOESROT, ROT, COLOR, GROW)
1079
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
1080
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
1081
	wave.CFrame = CFRAME
1082
	coroutine.resume(coroutine.create(function(PART)
1083
		for i = 1, WAIT do
1084
			Swait()
1085
			mesh.Scale = mesh.Scale + GROW
1086
			mesh.Offset = VT(0, 0, -(mesh.Scale.X / 8))
1087
			if DOESROT == true then
1088
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
1089
			end
1090
			wave.Transparency = wave.Transparency + 0.5 / WAIT
1091
			if wave.Transparency > 0.99 then
1092
				wave:remove()
1093
			end
1094
		end
1095
	end))
1096
end
1097
1098
--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})
1099
function WACKYEFFECT(Table)
1100
	local TYPE = (Table.EffectType or "Sphere")
1101
	local SIZE = (Table.Size or VT(1,1,1))
1102
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1103
	local TRANSPARENCY = (Table.Transparency or 0)
1104
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1105
	local CFRAME = (Table.CFrame or Torso.CFrame)
1106
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1107
	local ROTATION1 = (Table.RotationX or 0)
1108
	local ROTATION2 = (Table.RotationY or 0)
1109
	local ROTATION3 = (Table.RotationZ or 0)
1110
	local MATERIAL = (Table.Material or "Neon")
1111
	local COLOR = (Table.Color or C3(1,1,1))
1112
	local TIME = (Table.Time or 45)
1113
	local SOUNDID = (Table.SoundID or nil)
1114
	local SOUNDPITCH = (Table.SoundPitch or nil)
1115
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1116
	coroutine.resume(coroutine.create(function()
1117
		local PLAYSSOUND = false
1118
		local SOUND = nil
1119
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1120
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1121
			PLAYSSOUND = true
1122
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1123
		end
1124
		EFFECT.Color = COLOR
1125
		local MSH = nil
1126
		if TYPE == "Sphere" then
1127
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1128
		elseif TYPE == "Block" then
1129
			MSH = IT("BlockMesh",EFFECT)
1130
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
1131
		elseif TYPE == "Wave" then
1132
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1133
		elseif TYPE == "Ring" then
1134
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1135
		elseif TYPE == "Slash" then
1136
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1137
		elseif TYPE == "Round Slash" then
1138
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1139
		elseif TYPE == "Swirl" then
1140
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
1141
		elseif TYPE == "Skull" then
1142
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1143
		elseif TYPE == "Crystal" then
1144
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1145
		end
1146
		if MSH ~= nil then
1147
			local MOVESPEED = nil
1148
			if MOVEDIRECTION ~= nil then
1149
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
1150
			end
1151
			local GROWTH = SIZE - ENDSIZE
1152
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1153
			if TYPE == "Block" then
1154
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1155
			else
1156
				EFFECT.CFrame = CFRAME
1157
			end
1158
			for LOOP = 1, TIME+1 do
1159
				Swait()
1160
				MSH.Scale = MSH.Scale - GROWTH/TIME
1161
				if TYPE == "Wave" then
1162
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
1163
				end
1164
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1165
				if TYPE == "Block" then
1166
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1167
				else
1168
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1169
				end
1170
				if MOVEDIRECTION ~= nil then
1171
					local ORI = EFFECT.Orientation
1172
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1173
					EFFECT.Orientation = ORI
1174
				end
1175
			end
1176
			if PLAYSSOUND == false then
1177
				EFFECT:remove()
1178
			else
1179
				SOUND.Stopped:Connect(function()
1180
					EFFECT:remove()
1181
				end)
1182
			end
1183
		else
1184
			if PLAYSSOUND == false then
1185
				EFFECT:remove()
1186
			else
1187
				repeat Swait() until SOUND.Playing == false
1188
				EFFECT:remove()
1189
			end
1190
		end
1191
	end))
1192
end
1193
1194
function Slice(KIND, SIZE, WAIT, CFRAME, COLOR, GROW)
1195
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
1196
	local mesh
1197
	if KIND == "Base" then
1198
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0, SIZE / 10, SIZE / 10), VT(0, 0, 0))
1199
	elseif KIND == "Thin" then
1200
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
1201
	elseif KIND == "Round" then
1202
		mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE / 10, 0, SIZE / 10), VT(0, 0, 0))
1203
	end
1204
	wave.CFrame = CFRAME
1205
	coroutine.resume(coroutine.create(function(PART)
1206
		for i = 1, WAIT do
1207
			Swait()
1208
			mesh.Scale = mesh.Scale + GROW / 10
1209
			wave.Transparency = wave.Transparency + 0.5 / WAIT
1210
			if wave.Transparency > 0.99 then
1211
				wave:remove()
1212
			end
1213
		end
1214
	end))
1215
end
1216
1217
function CreateRing(SIZE, DOESROT, ROT, WAIT, CFRAME, COLOR, GROW)
1218
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0, 0, 0))
1219
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "559831844", "", SIZE, VT(0, 0, 0))
1220
	wave.CFrame = CFRAME
1221
	coroutine.resume(coroutine.create(function(PART)
1222
		for i = 1, WAIT do
1223
			Swait()
1224
			mesh.Scale = mesh.Scale + GROW
1225
			if DOESROT == true then
1226
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, ROT, 0)
1227
			end
1228
			wave.Transparency = wave.Transparency + 0.5 / WAIT
1229
			if wave.Transparency > 0.99 then
1230
				wave:remove()
1231
			end
1232
		end
1233
	end))
1234
end
1235
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
1236
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
1237
	local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0, 0, 0))
1238
	wave.CFrame = CFRAME
1239
	coroutine.resume(coroutine.create(function(PART)
1240
		for i = 1, WAIT do
1241
			Swait()
1242
			mesh.Scale = mesh.Scale + GROW
1243
			wave.Transparency = wave.Transparency + 1 / WAIT
1244
			if wave.Transparency > 0.99 then
1245
				wave:remove()
1246
			end
1247
		end
1248
	end))
1249
end
1250
1251
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
1252
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
1253
	local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0, 0, 0))
1254
	wave.CFrame = CFRAME
1255
	coroutine.resume(coroutine.create(function(PART)
1256
		for i = 1, WAIT do
1257
			Swait()
1258
			mesh.Scale = mesh.Scale + GROW
1259
			wave.Transparency = wave.Transparency + 1 / WAIT
1260
			if wave.Transparency > 0.99 then
1261
				wave:remove()
1262
			end
1263
		end
1264
	end))
1265
end
1266
1267
1268
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1269
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1270
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1271
MakeForm(Part,"Wedge")
1272
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1273
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1274
MakeForm(Part,"Wedge")
1275
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1276
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1277
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1278
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1279
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1280
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1281
MakeForm(Part,"Cyl")
1282
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1283
for i = 1, 8 do
1284
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1285
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1286
end
1287
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1288
MakeForm(Part,"Cyl")
1289
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1290
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1291
MakeForm(Part,"Ball")
1292
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1293
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1294
MakeForm(Part,"Wedge")
1295
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1296
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1297
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1298
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1299
MakeForm(Part,"Cyl")
1300
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1301
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1302
MakeForm(Part,"Cyl")
1303
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1304
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1305
MakeForm(Part,"Cyl")
1306
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1307
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1308
MakeForm(Part,"Wedge")
1309
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1310
local LASTPART = Handle
1311
for i = 1, 10 do
1312
	if LASTPART == Handle then
1313
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1314
		LASTPART = Part
1315
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1316
	else
1317
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1318
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1319
		LASTPART = Part
1320
	end
1321
end
1322
1323
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1324
MakeForm(Barrel,"Cyl")
1325
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1326
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1327
MakeForm(Part,"Cyl")
1328
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1329
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1330
MakeForm(Part,"Wedge")
1331
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1332
local Hole2 = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1333
MakeForm(Hole2,"Cyl")
1334
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole2, CF(0, 0.98, 0), CF(0, 0, 0))
1335
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1336
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1337
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1338
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1339
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1340
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1341
coroutine.resume(coroutine.create(function()
1342
	while wait() do
1343
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1344
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1345
	end
1346
end))
1347
1348
ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole2, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
1349
--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)})
1350
1351
for _, c in pairs(Weapon:GetDescendants()) do
1352
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1353
		c.Material = "Glass"
1354
		c.Color = C3(0,0,0)
1355
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1356
		c.Color = C3(1,0,0)
1357
		c.Material = "Neon"
1358
	end
1359
end
1360
1361
Weapon.Parent = Character
1362
for _, c in pairs(Weapon:GetChildren()) do
1363
	if c.ClassName == "Part" then
1364
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1365
	end
1366
end
1367
1368
function ParticleEmitter(Table)
1369
	local PRTCL = Particle:Clone()
1370
	local Speed = Table.Speed or 5
1371
	local Drag = Table.Drag or 0
1372
	local Size1 = Table.Size1 or 1
1373
	local Size2 = Table.Size2 or 5
1374
	local Lifetime1 = Table.Lifetime1 or 1
1375
	local Lifetime2 = Table.Lifetime2 or 1.5
1376
	local Parent = Table.Parent or Torso
1377
	local Emit = Table.Emit or 100
1378
	local Offset = Table.Offset or 360
1379
	local Acel = Table.Acel or VT(0,0,0)
1380
	local Enabled = Table.Enabled or false
1381
	PRTCL.Parent = Parent
1382
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1383
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1384
	PRTCL.Speed = NumberRange.new(Speed)
1385
	PRTCL.VelocitySpread = Offset
1386
	PRTCL.Drag = Drag
1387
	PRTCL.Acceleration = Acel
1388
	if Enabled == false then
1389
		PRTCL:Emit(Emit)
1390
		Debris:AddItem(PRTCL,Lifetime2)
1391
	else
1392
		PRTCL.Enabled = true
1393
	end
1394
	return PRTCL
1395
end
1396
1397
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1398
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1399
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1400
MakeForm(Part,"Wedge")
1401
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1402
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1403
MakeForm(Part,"Wedge")
1404
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1405
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1406
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1407
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1408
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1409
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1410
MakeForm(Part,"Cyl")
1411
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1412
for i = 1, 8 do
1413
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1414
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1415
end
1416
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1417
MakeForm(Part,"Cyl")
1418
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1419
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1420
MakeForm(Part,"Ball")
1421
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1422
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1423
MakeForm(Part,"Wedge")
1424
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1425
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1426
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1427
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1428
MakeForm(Part,"Cyl")
1429
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1430
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1431
MakeForm(Part,"Cyl")
1432
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1433
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1434
MakeForm(Part,"Cyl")
1435
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1436
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1437
MakeForm(Part,"Wedge")
1438
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1439
local LASTPART = Handle
1440
for i = 1, 10 do
1441
	if LASTPART == Handle then
1442
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1443
		LASTPART = Part
1444
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1445
	else
1446
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1447
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1448
		LASTPART = Part
1449
	end
1450
end
1451
1452
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1453
MakeForm(Barrel,"Cyl")
1454
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1455
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1456
MakeForm(Part,"Cyl")
1457
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1458
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1459
MakeForm(Part,"Wedge")
1460
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1461
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1462
MakeForm(Hole,"Cyl")
1463
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1464
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1465
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1466
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1467
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1468
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1469
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1470
coroutine.resume(coroutine.create(function()
1471
	while wait() do
1472
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1473
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1474
	end
1475
end))
1476
1477
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)})
1478
--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)})
1479
1480
for _, c in pairs(Weapon:GetDescendants()) do
1481
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1482
		c.Material = "Glass"
1483
		c.Color = C3(0,0,0)
1484
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1485
		c.Color = C3(1,0,0)
1486
		c.Material = "Neon"
1487
	end
1488
end
1489
1490
Weapon.Parent = Character
1491
for _, c in pairs(Weapon:GetChildren()) do
1492
	if c.ClassName == "Part" then
1493
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1494
	end
1495
end
1496
1497
local SKILLTEXTCOLOR = C3(1,0,0)
1498
local SKILLFONT = "Antique"
1499
local SKILLTEXTSIZE = 7
1500
1501
Humanoid.Died:connect(function()
1502
	ATTACK = true
1503
end)
1504
1505
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")
1506
--[[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")
1507
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")
1508
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")
1509
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")
1510
]]
1511
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
1512
--[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
1513
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
1514
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
1515
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
1516
]]
1517
function printbye(Name)
1518
	local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","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, "}
1519
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1520
end
1521
1522
workspace.ChildAdded:connect(function(instance)
1523
    for BANISH = 1, #TOBANISH do
1524
		if TOBANISH[BANISH] ~= nil then
1525
			if instance.Name == TOBANISH[BANISH] then
1526
				coroutine.resume(coroutine.create(function()
1527
					printbye(instance.Name)
1528
					instance:ClearAllChildren()
1529
					Debris:AddItem(instance,0.0005)
1530
				end))
1531
			end
1532
		end
1533
	end
1534
end)
1535
1536
--//=================================\\
1537
--||			DAMAGING
1538
--\\=================================//
1539
1540
function Banish(Foe)
1541
	if Foe then
1542
		coroutine.resume(coroutine.create(function()
1543
			--if game.Players:FindFirstChild(Foe.Name) then
1544
				table.insert(TOBANISH,Foe.Name)
1545
				printbye(Foe.Name)
1546
			--end
1547
			Foe.Archivable = true
1548
			local CLONE = Foe:Clone()
1549
			Foe:Destroy()
1550
			CLONE.Parent = Effects
1551
			CLONE:BreakJoints()
1552
			local MATERIALS = {"Glass","Neon"}
1553
			for _, c in pairs(CLONE:GetDescendants()) do
1554
				if c:IsA("BasePart") then
1555
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1556
 						CreateSound(340722848, c, 10, 1, false)
1557
					end
1558
					c.Anchored = true
1559
					c.Transparency = c.Transparency + 0.2
1560
					c.Material = MATERIALS[MRANDOM(1,2)]
1561
					c.Color = C3(1,0,0)
1562
					if c.ClassName == "MeshPart" then
1563
						c.TextureID = ""
1564
					end
1565
					if c:FindFirstChildOfClass("SpecialMesh") then
1566
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1567
					end
1568
					if c:FindFirstChildOfClass("Decal") then
1569
						c:FindFirstChildOfClass("Decal"):remove()
1570
					end
1571
					c.Name = "Banished"
1572
					c.CanCollide = false
1573
				else
1574
					c:remove()
1575
				end
1576
			end
1577
			local A = false
1578
			for i = 1, 35 do
1579
				if A == false then
1580
					A = true
1581
				elseif A == true then
1582
					A = false
1583
				end
1584
				for _, c in pairs(CLONE:GetDescendants()) do
1585
					if c:IsA("BasePart") then
1586
						c.Anchored = true
1587
						c.Material = MATERIALS[MRANDOM(1,2)]
1588
						c.Transparency = c.Transparency + 0.8/35
1589
						if A == false then
1590
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1591
						elseif A == true then
1592
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1593
						end
1594
					end
1595
				end
1596
				Swait()
1597
			end
1598
			CLONE:remove()
1599
		end))
1600
	end
1601
end
1602
1603
function ApplyAoE(POSITION,RANGE,ISBANISH)
1604
	local CHILDREN = workspace:GetDescendants()
1605
	for index, CHILD in pairs(CHILDREN) do
1606
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1607
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1608
			if HUM then
1609
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1610
				if TORSO then
1611
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1612
						if ISBANISH == true then
1613
							Banish(CHILD)
1614
						else
1615
							if ISBANISH == "Gravity" then
1616
								HUM.PlatformStand = true
1617
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1618
									local grav = Instance.new("BodyPosition",TORSO)
1619
									grav.D = 15
1620
									grav.P = 20000
1621
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1622
									grav.position = TORSO.Position
1623
									grav.Name = "V3BanishForce"..Player.Name
1624
								else
1625
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1626
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1627
								end
1628
							else
1629
								HUM.PlatformStand = false
1630
							end
1631
						end
1632
					elseif ISBANISH == "Gravity" then
1633
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1634
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1635
							HUM.PlatformStand = false
1636
						end
1637
					end
1638
				end
1639
			end
1640
		end
1641
	end
1642
end
1643
1644
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1645
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1646
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1647
	local BODYGYRO = IT("BodyGyro", STATPART)
1648
	local BODYPOSITION = IT("BodyPosition", STATPART)
1649
	BODYPOSITION.P = 2000
1650
	BODYPOSITION.D = 100
1651
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1652
	if LABELTYPE == "Normal" then
1653
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1654
	elseif LABELTYPE == "Debuff" then
1655
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1656
	elseif LABELTYPE == "Interruption" then
1657
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1658
	end
1659
	game:GetService("Debris"):AddItem(STATPART ,5)
1660
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1661
	BILLBOARDGUI.Adornee = STATPART
1662
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1663
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1664
	BILLBOARDGUI.AlwaysOnTop = false
1665
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1666
	TEXTLABEL.BackgroundTransparency = 1
1667
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1668
	TEXTLABEL.Text = TEXT
1669
	TEXTLABEL.Font = "SourceSans"
1670
	TEXTLABEL.FontSize="Size42"
1671
	TEXTLABEL.TextColor3 = COLOR
1672
	TEXTLABEL.TextStrokeTransparency = 0
1673
	TEXTLABEL.TextScaled = true
1674
	TEXTLABEL.TextWrapped = true
1675
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1676
		wait(0.2)
1677
		for i=1, 5 do
1678
			wait()
1679
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1680
		end
1681
		wait(1.2)
1682
		for i=1, 5 do
1683
			wait()
1684
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1685
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1686
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1687
		end
1688
		THEPART.Parent = nil
1689
	end),STATPART, BODYPOSITION, TEXTLABEL)
1690
end
1691
1692
function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
1693
	if LOCATION:FindFirstChild("Stats") ~= nil then
1694
		if LOCATION.Stats:FindFirstChild("Block") ~= nil then
1695
			if LOCATION.Stats:FindFirstChild("Block").Value == true then
1696
				return
1697
			end
1698
		end
1699
		if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
1700
			local NewStatChange = IT("NumberValue")
1701
			NewStatChange.Value = AMOUNT
1702
			if STAT == "Defense" then
1703
				NewStatChange.Name = "ChangeDefense"
1704
			elseif STAT == "Damage" then
1705
				NewStatChange.Name = "ChangeDamage"
1706
			elseif STAT == "Movement" then
1707
				NewStatChange.Name = "ChangeMovement"
1708
			end
1709
			if SHOWTHESTAT == true then
1710
				if AMOUNT < 0 then
1711
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
1712
				elseif AMOUNT > 0 then
1713
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
1714
				end
1715
			end
1716
			if DURATION ~= nil and DURATION ~= 0 then
1717
				local StatDuration = IT("NumberValue")
1718
				StatDuration.Name = "Duration"
1719
				StatDuration.Value = DURATION
1720
				StatDuration.Parent = NewStatChange
1721
			end
1722
			NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
1723
		end
1724
	end
1725
end
1726
1727
--Usage: DamageFunction(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, hit, false, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
1728
function DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1729
	if HIT.Parent == nil then
1730
		return
1731
	end
1732
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
1733
	for _, v in pairs(HIT.Parent:GetChildren()) do
1734
		if v:IsA("Humanoid") then
1735
			HITHUMANOID = v
1736
		end
1737
	end
1738
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
1739
		StaggerHit.Value = true
1740
		if Play_Hitbox_Hit_Sound == true then
1741
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
1742
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
1743
			end
1744
		end
1745
		return
1746
	end
1747
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
1748
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
1749
	end
1750
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
1751
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
1752
	end
1753
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
1754
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
1755
			if HIT.Parent.DebounceHit.Value == true then
1756
				return
1757
			end
1758
		end
1759
		if AntiTeamKill.Value == true then
1760
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
1761
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
1762
					return
1763
				end
1764
			end
1765
		end
1766
		if HITEVENWHENDEAD == false then
1767
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
1768
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
1769
					return
1770
				end
1771
			end
1772
		end
1773
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1774
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
1775
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
1776
			end
1777
		end
1778
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1779
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
1780
				if STAGGER == true and Enable_Stagger == true then
1781
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
1782
				end
1783
			end
1784
		end
1785
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1786
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
1787
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
1788
					HASBEENBLOCKED = true
1789
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
1790
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
1791
						if RANGED ~= true then
1792
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
1793
								CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
1794
							end
1795
						end
1796
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
1797
						BlockDebounce.Name = "BlockDebounce"
1798
						BlockDebounce.Value = true
1799
						if RANGED ~= true then
1800
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
1801
						else
1802
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
1803
						end
1804
					end
1805
					if RANGED ~= true and Enable_Stagger == true then
1806
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
1807
						Stagger.Value = true
1808
					end
1809
					return
1810
				end
1811
			end
1812
		end
1813
		if DECREASETHESTAT ~= nil then
1814
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
1815
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1816
			end
1817
		end
1818
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
1819
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1820
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
1821
				if CanPenetrateArmor.Value == true then
1822
					DAMAGE = DAMAGE
1823
				else
1824
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
1825
				end
1826
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
1827
				DAMAGE = DAMAGE
1828
			end
1829
		end
1830
		if CanCrit.Value == true then
1831
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
1832
			if CRITCHANCENUMBER == 1 then
1833
				DAMAGE = DAMAGE * 2
1834
			end
1835
		end
1836
		DAMAGE = math.floor(DAMAGE)
1837
		if HASBEENBLOCKED == false then
1838
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1839
		end
1840
		if DAMAGE <= 3 and HASBEENBLOCKED == false then
1841
			if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
1842
				StaggerHit.Value = true
1843
			end
1844
			if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
1845
				CreateSound(HITARMORSOUND, HIT, 1, HITARMORSOUNDPITCH)
1846
			end
1847
		elseif DAMAGE > 3 and HASBEENBLOCKED == false then
1848
			if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
1849
				CreateSound(HITPLAYERSOUND, HIT, 1, HITPLAYERSOUNDPITCH)
1850
			end
1851
		end
1852
		if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
1853
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1854
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1855
				CreateSound("296102734", HIT, 1, 1)
1856
			else
1857
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
1858
			end
1859
		elseif DAMAGE >= 20 and HASBEENBLOCKED == false then
1860
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1861
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1862
				CreateSound("296102734", HIT, 1, 1)
1863
			else
1864
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
1865
			end
1866
		elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
1867
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1868
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1869
				CreateSound("296102734", HIT, 1, 1)
1870
			else
1871
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(225/255, 225/255, 225/255))
1872
			end
1873
		end
1874
		if TYPE == "Normal" then
1875
			local vp = IT("BodyVelocity")
1876
			vp.P=500
1877
			vp.maxForce = VT(math.huge, 0, math.huge)
1878
			if KNOCKBACKTYPE == 1 then
1879
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
1880
			elseif KNOCKBACKTYPE == 2 then
1881
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
1882
			end
1883
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
1884
				vp.Parent = HIT--.Parent.Torso
1885
			end
1886
			game:GetService("Debris"):AddItem(vp, 0.5)
1887
		end
1888
		HASBEENBLOCKED = false
1889
		RecentEnemy.Value = HIT.Parent
1890
		local DebounceHit = IT("BoolValue", HIT.Parent)
1891
		DebounceHit.Name = "DebounceHit"
1892
		DebounceHit.Value = true
1893
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
1894
	end
1895
end
1896
1897
--Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
1898
function MagnitudeDamage(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
1899
	for _, c in pairs(workspace:GetChildren()) do
1900
		local HUMANOID = c:FindFirstChild("Humanoid")
1901
		local HEAD = nil
1902
		if HUMANOID ~= nil then
1903
			for _, d in pairs(c:GetChildren()) do
1904
				if d.ClassName == "Model" and RANGED ~= true then
1905
					HEAD = d:FindFirstChild("Hitbox")
1906
					if HEAD ~= nil then
1907
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
1908
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1909
							if Play_Hitbox_Hit_Sound == true then
1910
								local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1911
								HitRefpart.Anchored = true
1912
								HitRefpart.CFrame = CF(HEAD.Position)
1913
								CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
1914
							end
1915
							if Enable_Stagger_Hit == true then
1916
								StaggerHit.Value = true
1917
							end
1918
						end
1919
					end
1920
				elseif d:IsA"BasePart" then
1921
					HEAD = d
1922
					if HEAD ~= nil then
1923
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
1924
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1925
							DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
1926
						end
1927
					end
1928
				end
1929
			end
1930
		end
1931
	end
1932
end
1933
1934
--Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
1935
function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
1936
	if Player.Neutral == true then
1937
		IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1938
	end
1939
	for _, c in pairs(workspace:GetChildren()) do
1940
		local HUMANOID = c:FindFirstChild("Humanoid")
1941
		local THEHEAD = nil
1942
		if HUMANOID ~= nil then
1943
			if c:FindFirstChild("Torso") ~= nil then
1944
				THEHEAD = c:FindFirstChild("Torso")
1945
			elseif c:FindFirstChild("UpperTorso") ~= nil then
1946
				THEHEAD = c:FindFirstChild("UpperTorso")
1947
			end
1948
			if THEHEAD ~= nil then
1949
				local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
1950
				print("yes 1")
1951
				if APPLYTOOTHERSINSTEAD == true then
1952
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1953
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
1954
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
1955
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1956
							end
1957
						end
1958
					end
1959
				elseif APPLYTOOTHERSINSTEAD == false then
1960
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
1961
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
1962
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
1963
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1964
							end
1965
						end
1966
					end
1967
				end
1968
			end
1969
		end
1970
	end
1971
end
1972
1973
1974
1975
function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
1976
	local dmg = math.random(min,max)
1977
	for i,v in ipairs(workspace:GetChildren()) do
1978
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
1979
		local body = v:GetChildren()
1980
			for part = 1, #body do
1981
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1982
					if(body[part].Position - position).Magnitude < radius then
1983
						if v.ClassName == "Model" then
1984
							if v:FindFirstChildOfClass("Humanoid") then
1985
								if CanBeDodgedByJumping == true then
1986
									if body[part].Position.Y < position.Y+5 then
1987
										ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
1988
									end
1989
								else
1990
									ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
1991
								end
1992
								local bv = Instance.new("BodyVelocity") 
1993
								bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1994
								bv.velocity = RootPart.CFrame.lookVector*maxstrength
1995
								bv.Parent = body[part]
1996
								Debris:AddItem(bv,0.2)
1997
							end
1998
						end
1999
					end
2000
				end
2001
			end
2002
		end
2003
		if v:FindFirstChild("HitBy"..Player.Name) then
2004
			v:FindFirstChild("HitBy"..Player.Name):remove()
2005
		end
2006
	end
2007
end
2008
2009
function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
2010
	local defence = Instance.new("BoolValue",Humanoid.Parent)
2011
	defence.Name = ("HitBy"..Player.Name)
2012
	game:GetService("Debris"):AddItem(defence, 0.5)
2013
		Humanoid.Health = Humanoid.Health - Damage
2014
		if Humanoid.Parent:FindFirstChild("Head") then
2015
				StatLabel("Normal", Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
2016
			end
2017
		end
2018
	
2019
2020
--//=================================\\
2021
--||	ATTACK FUNCTIONS AND STUFF
2022
--\\=================================//
2023
2024
function Oblivion()
2025
	ATTACK = true
2026
	Rooted = true
2027
	for i=0, 2, 0.1 / Animation_Speed do
2028
		Swait()
2029
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2030
		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.15 / Animation_Speed)
2031
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.5) * ANGLES(RAD(35), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2032
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.75, -0.5) * ANGLES(RAD(35), RAD(0), RAD(65)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2033
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2034
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2035
	end
2036
	for i=0, 0.5, 0.1 / Animation_Speed do
2037
		Swait()
2038
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2039
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2040
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75,0) * ANGLES(RAD(0), RAD(0), RAD(85)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2041
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2042
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
2043
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(15)), 0.5 / Animation_Speed)
2044
	end
2045
	for i = 1, 75 do
2046
		Swait()
2047
		MagicSphere(VT(0.5,0.5,5),50,CF(Torso.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,Torso.Position),"Really red",VT(-0.005,-0.005,0.03),0)
2048
	end
2049
	CreateSound(LIGHTHITSOUNDS[MRANDOM(1,#LIGHTHITSOUNDS)], Torso, 10, 0.5)
2050
	CreateSound(LIGHTHITSOUNDS[MRANDOM(1,#LIGHTHITSOUNDS)], Torso, 10, 0.5)
2051
	AoEDamage(Torso.Position,45,45,58,0,false,2,2,false,true)
2052
	MagicSphere(VT(0,0,0),25,Torso.CFrame,"Really red",VT(5,5,5))
2053
	MagicSphere(VT(0,0,0),50,Torso.CFrame,"Lime green",VT(2.5,2.5,2.5))
2054
	MagicSphere(VT(0,0.2,0),30,Torso.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),"Really black",VT(6,0,6))
2055
	MagicSphere(VT(0,0.2,0),30,Torso.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),"Pearl",VT(6,0,6))
2056
	ATTACK = false
2057
	Rooted = false
2058
end
2059
2060
function kiss()
2061
	ATTACK = true
2062
	Rooted = false
2063
	local HASGRABBED = false
2064
	local GRABTARGET = nil
2065
	local TORS = nil
2066
	local WELD = nil
2067
	for i=0, 1, 0.1 / Animation_Speed do
2068
		Swait()
2069
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.25, -0.25 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(22.5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2070
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-17.5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2071
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2072
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2073
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(22.5), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2074
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(22.5), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2075
	end
2076
	local GRAB1 = RightArm.Touched:Connect(function(hit)
2077
		if hit.Parent:FindFirstChild("Humanoid") then
2078
			if hit.Parent.Humanoid.Health ~= 0 then
2079
				UNANCHOR = false
2080
				RootPart.Anchored = true
2081
				TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
2082
				TORS.CFrame = RootPart.CFrame * CF(0,0,-1.8) * ANGLES(RAD(0),RAD(180),RAD(0))
2083
           		WELD = weldBetween(RootPart,TORS)
2084
				HASGRABBED = true
2085
				Rooted = true
2086
			end
2087
		end
2088
	end)
2089
	local GRAB2 = LeftArm.Touched:Connect(function(hit)
2090
		if hit.Parent:FindFirstChild("Humanoid") then
2091
			if hit.Parent.Humanoid.Health ~= 0 then
2092
				UNANCHOR = false
2093
				RootPart.Anchored = true
2094
				TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
2095
				TORS.CFrame = RootPart.CFrame * CF(0,0,-1.8) * ANGLES(RAD(0),RAD(180),RAD(0))
2096
           		WELD = weldBetween(RootPart,TORS)
2097
				HASGRABBED = true
2098
				Rooted = true
2099
			end
2100
		end
2101
	end)
2102
	for i=0, 1, 0.1 / Animation_Speed do
2103
		Swait()
2104
		if HASGRABBED == true then
2105
			break
2106
		end
2107
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.25, -0.25 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(22.5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2108
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-17.5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2109
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(110), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2110
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -1) * ANGLES(RAD(110), RAD(0), RAD(35)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2111
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(22.5), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2112
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(22.5), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2113
	end
2114
	GRAB1:disconnect()
2115
	GRAB2:disconnect()
2116
	if HASGRABBED == true then
2117
		TORS.Anchored = false
2118
		GRABTARGET = TORS.Parent
2119
                HED = GRABTARGET:FindFirstChild("Head")
2120
		for i=0, 2, 0.1 / Animation_Speed do
2121
			Swait()
2122
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2123
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2124
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2125
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2126
			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.15 / Animation_Speed)
2127
			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.15 / Animation_Speed)
2128
		end
2129
						local heart = CreatePart(1, HED, "SmoothPlastic", 0, 0, "Really red", "Heart", VT(1,1,1), false)
2130
                                                local msh = CreateMesh("SpecialMesh", heart, "FileMesh", "431221914", "", VT(0.3, 0.3, 0.3), VT(0,0,0))
2131
                                                CreateWeldOrSnapOrMotor("Weld", HED, heart, HED,CF(0, -2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2132
		local ECH = 0
2133
2134
		for i=0, 8, 0.1 / Animation_Speed do
2135
			Swait()
2136
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.25, -0.25 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(22.5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2137
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-17.5 - 2.5 * SIN(SINE / 12)), RAD(25 * SIN(SINE / 3)), RAD(0)), 0.5 / Animation_Speed)
2138
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -1) * ANGLES(RAD(110), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2139
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0.5, -1) * ANGLES(RAD(110), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2140
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(22.5), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2141
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(22.5), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2142
		end
2143
		WELD:remove()
2144
	end
2145
	UNANCHOR = true
2146
	ATTACK = false
2147
	Rooted = false
2148
end
2149
2150
function Kick()
2151
	ATTACK = true
2152
	Rooted = false
2153
	VALUE1 = true
2154
	NOWALK = true
2155
	if COMBO2 == 1 then
2156
		COMBO2 = 2
2157
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
2158
		for i=0, 0.5, 0.1 / Animation_Speed do
2159
			Swait()
2160
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(45)), 2 / Animation_Speed)
2161
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-45)), 2 / Animation_Speed)
2162
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2163
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2164
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(45), RAD(90), RAD(0)) * ANGLES(RAD(-38), RAD(0), RAD(0)), 2 / Animation_Speed)
2165
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2166
		end
2167
	elseif COMBO2 == 2 then
2168
		COMBO2 = 1
2169
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
2170
		for i=0, 0.5, 0.1 / Animation_Speed do
2171
			Swait()
2172
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-45)), 2 / Animation_Speed)
2173
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 2 / Animation_Speed)
2174
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2175
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2176
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2177
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(45), RAD(-90), RAD(0)) * ANGLES(RAD(-38), RAD(0), RAD(0)), 2 / Animation_Speed)
2178
		end
2179
	end
2180
	NOWALK = false
2181
	VALUE1 = false
2182
	ATTACK = false
2183
	Rooted = false
2184
end
2185
2186
function StaggerHitAnimation()
2187
	ATTACK = true
2188
	if Weapon:FindFirstChild("Hitbox") ~= nil then
2189
		for i = 1, MRANDOM(2, 4) do
2190
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2191
		end
2192
	end
2193
	for i = 0, 1, 0.1 / Animation_Speed do
2194
		Swait()
2195
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
2196
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2197
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30), RAD(0), RAD(60)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2198
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(20), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2199
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.9 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
2200
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.3 / Animation_Speed)
2201
		if Stagger.Value == true or Stun.Value == true then
2202
			break
2203
		end
2204
	end
2205
	ATTACK = false
2206
end
2207
2208
function Shot()
2209
	ATTACK = true
2210
	Rooted = false
2211
	for i=0, 0.5, 0.1 / Animation_Speed do
2212
		Swait()
2213
		turnto(Mouse.Hit.p)
2214
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2215
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.5 / Animation_Speed)
2216
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2217
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0.5) * ANGLES(RAD(83), RAD(-30), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2218
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2219
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2220
	end
2221
	repeat
2222
		for i=0, 0.5, 0.1 / Animation_Speed do
2223
			Swait()
2224
			turnto(Mouse.Hit.p)
2225
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2226
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.5 / Animation_Speed)
2227
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2228
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0.5) * ANGLES(RAD(83), RAD(-30), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2229
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2230
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2231
		end
2232
		local HIT,POS = CastProperRay(Hole2.Position, Mouse.Hit.p, 1000, Character)
2233
		SpawnTrail(Hole2.Position,POS)
2234
		if HIT ~= nil then
2235
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2236
				Banish(HIT.Parent)
2237
			end
2238
		end
2239
			local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
2240
		SpawnTrail(Hole.Position,POS)
2241
		if HIT ~= nil then
2242
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
2243
				Banish(HIT.Parent)
2244
			end
2245
		end
2246
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = Hole2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2247
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2248
		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,Hole2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2249
		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,Hole2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2250
	CreateSound("159882477", Head, 6, 1)
2251
		for i=0, 0.5, 0.1 / Animation_Speed do
2252
			Swait()
2253
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 22)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2254
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.5 / Animation_Speed)
2255
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2256
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2257
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2258
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2259
		end
2260
				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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
2261
		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(1,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2262
		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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2263
		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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
2264
	until KEYHOLD == false
2265
	ATTACK = false
2266
	Rooted = false
2267
end
2268
2269
function Punch()
2270
	ATTACK = true
2271
	Rooted = false
2272
	for i=0, 0.2, 0.1 / Animation_Speed do
2273
		Swait()
2274
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2275
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2276
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0+ 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(150), RAD(35), RAD(-5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2277
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0 + 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(130), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2278
		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)), 1 / Animation_Speed)
2279
		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)), 1 / Animation_Speed)
2280
	end
2281
	VALUE1 = true
2282
	if COMBO == 1 then
2283
		COMBO = 2
2284
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
2285
		for i=0, 0.3, 0.1 / Animation_Speed do
2286
			Swait()
2287
			RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.1)
2288
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 2 / Animation_Speed)
2289
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(65)), 2 / Animation_Speed)
2290
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2291
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(25)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2292
			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)), 2 / Animation_Speed)
2293
			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)), 2 / Animation_Speed)
2294
		end
2295
	elseif COMBO == 2 then
2296
		COMBO = 1
2297
		CreateSound("199150686", Torso, 1, MRANDOM(11,13)/10)
2298
		for i=0, 0.3, 0.1 / Animation_Speed do
2299
			Swait()
2300
			RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.1)
2301
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(85)), 2 / Animation_Speed)
2302
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-80)), 2 / Animation_Speed)
2303
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2304
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2305
			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)), 2 / Animation_Speed)
2306
			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)), 2 / Animation_Speed)
2307
		end
2308
	end
2309
	VALUE1 = false
2310
	ATTACK = false
2311
	Rooted = false
2312
end
2313
2314
function AttackTemplate()
2315
	ATTACK = true
2316
	Rooted = false
2317
	for i=0, 1, 0.1 / Animation_Speed do
2318
		Swait()
2319
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2320
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2321
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2322
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2323
		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.15 / Animation_Speed)
2324
		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.15 / Animation_Speed)
2325
	end
2326
	ATTACK = false
2327
	Rooted = false
2328
end
2329
2330
function Nuke()
2331
	ATTACK = true
2332
	Rooted = true
2333
	local CHARGE = false
2334
	local BLASTS = {468991944, 468991990}
2335
	coroutine.resume(coroutine.create(function()
2336
		repeat
2337
			Swait()
2338
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-45)), 2 / Animation_Speed)
2339
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(45)), 2 / Animation_Speed)
2340
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2341
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2342
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2343
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(45), RAD(-90), RAD(0)) * ANGLES(RAD(-38), RAD(0), RAD(0)), 2 / Animation_Speed)
2344
		until CHARGE == true
2345
		for i = 0, 0.4, 0.1 / Animation_Speed do
2346
			Swait()
2347
			WACKYEFFECT({
2348
				Time = 15,
2349
				EffectType = "Sphere",
2350
				Size = VT(60, 60, 60),
2351
				Size2 = VT(0, 0, 0),
2352
				Transparency = 1,
2353
				Transparency2 = 0.7,
2354
				CFrame = CF(RootPart.Position),
2355
				MoveToPos = nil,
2356
				RotationX = 0,
2357
				RotationY = 0,
2358
				RotationZ = 0,
2359
				Material = "Neon",
2360
				Color = C3(0, 0, 0),
2361
				SoundID = nil,
2362
				SoundPitch = nil,
2363
				SoundVolume = nil
2364
			})
2365
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(45)), 2 / Animation_Speed)
2366
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-45)), 2 / Animation_Speed)
2367
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
2368
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(25), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
2369
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.8 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(45), RAD(90), RAD(0)) * ANGLES(RAD(-38), RAD(0), RAD(0)), 2 / Animation_Speed)
2370
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2371
		end
2372
		coroutine.resume(coroutine.create(function()
2373
			local POS = RootPart.Position
2374
			wait(0.2)
2375
			for i = 1, 5 do
2376
				WACKYEFFECT({
2377
					Time = 65,
2378
					EffectType = "Sphere",
2379
					Size = VT(2, 2, 2),
2380
					Size2 = VT(0, 0, 500),
2381
					Transparency = 1,
2382
					Transparency2 = 0,
2383
					CFrame = CF(POS),
2384
					MoveToPos = nil,
2385
					RotationX = MRANDOM(-2, 2),
2386
					RotationY = MRANDOM(-12, 12),
2387
					RotationZ = MRANDOM(-2, 2),
2388
					Material = "Neon",
2389
					Color = C3(1, 0, 0),
2390
					SoundID = nil,
2391
					SoundPitch = nil,
2392
					SoundVolume = nil
2393
				})
2394
			end
2395
			wait(1)
2396
			SHAKECAM(POS, 9999999999, 25, 25)
2397
			ApplyAoE(POS, 450, true)
2398
			WACKYEFFECT({
2399
				Time = 85,
2400
				EffectType = "Sphere",
2401
				Size = VT(120, 120, 120),
2402
				Size2 = VT(350, 350, 350),
2403
				Transparency = 0,
2404
				Transparency2 = 1,
2405
				CFrame = CF(POS),
2406
				MoveToPos = nil,
2407
				RotationX = 0,
2408
				RotationY = 0,
2409
				RotationZ = 0,
2410
				Material = "Neon",
2411
				Color = C3(1, 1, 1),
2412
				SoundID = nil,
2413
				SoundPitch = 1,
2414
				SoundVolume = 10
2415
			})
2416
			for i = 1, 20 do
2417
				WACKYEFFECT({
2418
					Time = 85,
2419
					EffectType = "Sphere",
2420
					Size = VT(120, 120, 120),
2421
					Size2 = VT(120, 120, 144) + VT(i * 3, i * 3, i * 3),
2422
					Transparency = 0.8,
2423
					Transparency2 = 1,
2424
					CFrame = CF(POS),
2425
					MoveToPos = nil,
2426
					RotationX = 0,
2427
					RotationY = 0,
2428
					RotationZ = 0,
2429
					Material = "Neon",
2430
					Color = C3(0, 1, 0),
2431
					SoundID = nil,
2432
					SoundPitch = 1,
2433
					SoundVolume = 10
2434
				})
2435
				WACKYEFFECT({
2436
					Time = 100,
2437
					EffectType = "Wave",
2438
					Size = VT(25, 2, 25),
2439
					Size2 = VT(400, 0, 400) * 1.2,
2440
					Transparency = 0,
2441
					Transparency2 = 1,
2442
					CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
2443
					MoveToPos = nil,
2444
					RotationX = 0,
2445
					RotationY = 0,
2446
					RotationZ = 0,
2447
					Material = "Neon",
2448
					Color = C3(0, 0, 0),
2449
					SoundID = nil,
2450
					SoundPitch = nil,
2451
					SoundVolume = nil
2452
				})
2453
			end
2454
			local HITFLOOR, HITPOS = Raycast(POS, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
2455
			for i = 1, 5 do
2456
				CreateSound(438666077, Effects, 15, 1 - i / 15, false)
2457
				WACKYEFFECT({
2458
					Time = 120,
2459
					EffectType = "Wave",
2460
					Size = VT(150, 2, 150),
2461
					Size2 = VT(300 + i * 170, 0, 300 + i * 170) * 1.2,
2462
					Transparency = 0,
2463
					Transparency2 = 1,
2464
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
2465
					MoveToPos = nil,
2466
					RotationX = 0,
2467
					RotationY = 0,
2468
					RotationZ = 0,
2469
					Material = "Neon",
2470
					Color = C3(1, 0, 0),
2471
					SoundID = nil,
2472
					SoundPitch = nil,
2473
					SoundVolume = nil
2474
				})
2475
			end
2476
		end))
2477
		for i = 0, 1, 0.1 / Animation_Speed do
2478
			Swait()
2479
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2480
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2481
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0+ 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(150), RAD(35), RAD(-5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2482
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0 + 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(130), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2483
		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)), 1 / Animation_Speed)
2484
		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)), 1 / Animation_Speed)
2485
		end
2486
		ATTACK = false
2487
		Rooted = false
2488
	end))
2489
	for i = 1, 30 do
2490
		wait(0.01)
2491
		local POS = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * CF(0, 0, MRANDOM(10, 150))
2492
		local HITFLOOR, HITPOS = Raycast(POS.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
2493
		if HITFLOOR then
2494
			ApplyAoE(HITPOS, 65, true)
2495
			local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
2496
			WACKYEFFECT({
2497
				Time = 25,
2498
				EffectType = "Sphere",
2499
				Size = VT(22, 22, 22),
2500
				Size2 = VT(85, 85, 85),
2501
				Transparency = 0,
2502
				Transparency2 = 1,
2503
				CFrame = CF(HITPOS),
2504
				MoveToPos = nil,
2505
				RotationX = 0,
2506
				RotationY = 0,
2507
				RotationZ = 0,
2508
				Material = "Neon",
2509
				Color = C3(0, 0, 0),
2510
				SoundID = BLASTS[MRANDOM(1, #BLASTS)],
2511
				SoundPitch = MRANDOM(9, 12) / 10,
2512
				SoundVolume = 10
2513
			})
2514
			for e = 1, 3 do
2515
				WACKYEFFECT({
2516
					EffectType = "Wave",
2517
					Size = VT(25, 0, 25),
2518
					Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
2519
					Transparency = 0,
2520
					Transparency2 = 1,
2521
					CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
2522
					MoveToPos = nil,
2523
					RotationX = 0,
2524
					RotationY = 3,
2525
					RotationZ = 0,
2526
					Material = "Neon",
2527
					Color = C3(0, 1, 0),
2528
					SoundID = nil,
2529
					SoundPitch = nil,
2530
					SoundVolume = nil
2531
				})
2532
				WACKYEFFECT({
2533
					Time = 35,
2534
					EffectType = "Sphere",
2535
					Size = VT(22, 45, 22),
2536
					Size2 = VT(25, 45 + e * 75, 25),
2537
					Transparency = 0,
2538
					Transparency2 = 1,
2539
					CFrame = CF(HITPOS) * TURN,
2540
					MoveToPos = nil,
2541
					RotationX = 0,
2542
					RotationY = 0,
2543
					RotationZ = 0,
2544
					Material = "Neon",
2545
					Color = C3(1, 1, 1),
2546
					SoundID = nil,
2547
					SoundPitch = MRANDOM(9, 12) / 10,
2548
					SoundVolume = 10
2549
				})
2550
			end
2551
		end
2552
	end
2553
	CHARGE = true
2554
end
2555
2556
function Taunt()
2557
    CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 10, 1, false)
2558
	ATTACK = true
2559
	Rooted = true
2560
	for i=0, 0.3, 0.1 / Animation_Speed do
2561
		Swait()
2562
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2563
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2564
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2565
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-180)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2566
		if HITFLOOR then
2567
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2568
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2569
		elseif HITFLOOR == nil then
2570
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 2 / Animation_Speed)
2571
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 2 / Animation_Speed)
2572
		end
2573
	end
2574
	for i = 1, 8 do
2575
		for i=0, 0.2, 0.1 / Animation_Speed do
2576
			Swait()
2577
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2578
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2579
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.15, 0) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2580
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-180)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 0.7 / Animation_Speed)
2581
			if HITFLOOR then
2582
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2583
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2584
			elseif HITFLOOR == nil then
2585
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 2 / Animation_Speed)
2586
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 2 / Animation_Speed)
2587
			end
2588
		end
2589
    	CreateSound(FireSound, Gun1, 5, 1, false)
2590
		for i=0, 0.2, 0.1 / Animation_Speed do
2591
			Swait()
2592
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2593
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2594
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.7 / Animation_Speed)
2595
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, 0) * ANGLES(RAD(0), RAD(0), RAD(-180)) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2596
			if HITFLOOR then
2597
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2598
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
2599
			elseif HITFLOOR == nil then
2600
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 2 / Animation_Speed)
2601
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 2 / Animation_Speed)
2602
			end
2603
		end
2604
		CreateSound(FireSound, Gun2, 5, 1, false)
2605
	end
2606
	ATTACK = false
2607
	Rooted = false
2608
end
2609
--//=================================\\
2610
--||	  ASSIGN THINGS TO KEYS
2611
--\\=================================//
2612
2613
function MouseDown(Mouse)
2614
	if ATTACK == false then
2615
	end
2616
end
2617
2618
function MouseUp(Mouse)
2619
HOLD = falseW
2620
end
2621
2622
function KeyDown(Key)
2623
	KEYHOLD = true
2624
	if Key == "z" and ATTACK == false then
2625
		Shot()
2626
	end
2627
2628
	if Key == "b" and ATTACK == false then
2629
                Kick()
2630
	end
2631
2632
	if Key == "n" and ATTACK == false then
2633
                Punch()
2634
	end
2635
2636
	if Key == "t" and ATTACK == false then
2637
                Taunt()
2638
	end
2639
2640
    if Key == "c" and ATTACK == false then
2641
                 kiss()
2642
	end
2643
2644
	if Key == "v" and ATTACK == false then
2645
                 Oblivion()
2646
	end
2647
2648
	if Key == "x" and ATTACK == false then
2649
                 Nuke()
2650
	end
2651
end
2652
2653
function KeyUp(Key)
2654
	KEYHOLD = false
2655
end
2656
2657
	Mouse.Button1Down:connect(function(NEWKEY)
2658
		MouseDown(NEWKEY)
2659
	end)
2660
	Mouse.Button1Up:connect(function(NEWKEY)
2661
		MouseUp(NEWKEY)
2662
	end)
2663
	Mouse.KeyDown:connect(function(NEWKEY)
2664
		KeyDown(NEWKEY)
2665
	end)
2666
	Mouse.KeyUp:connect(function(NEWKEY)
2667
		KeyUp(NEWKEY)
2668
	end)
2669
2670
--//=================================\\
2671
--\\=================================//
2672
2673
2674
function unanchor()
2675
	if UNANCHOR == true then
2676
		g = Character:GetChildren()
2677
		for i = 1, #g do
2678
			if g[i].ClassName == "Part" then
2679
				g[i].Anchored = false
2680
			end
2681
		end
2682
	end
2683
end
2684
2685
2686
--//=================================\\
2687
--||	WRAP THE WHOLE SCRIPT UP
2688
--\\=================================//
2689
2690
Humanoid.Changed:connect(function(Jump)
2691
	if Jump == "Jump" and (Disable_Jump == true) then
2692
		Humanoid.Jump = false
2693
	end
2694
end)
2695
2696
local CONNECT = nil
2697
2698
while true do
2699
	Swait()
2700
	ANIMATE.Parent = nil
2701
	if Character:FindFirstChildOfClass("Humanoid") == nil then
2702
		Humanoid = IT("Humanoid",Character)
2703
	end
2704
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
2705
	    v:Stop();
2706
	end
2707
	SINE = SINE + CHANGE
2708
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2709
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2710
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
2711
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
2712
	if ANIM == "Walk" and TORSOVELOCITY > 1 and NOWALK == false then
2713
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2714
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * 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)
2715
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
2716
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
2717
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or NOWALK == true then
2718
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2719
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2720
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2721
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2722
	end
2723
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
2724
		ANIM = "Jump"
2725
		if ATTACK == false then
2726
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2727
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2728
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2729
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2730
			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)
2731
			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)
2732
	    end
2733
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
2734
		ANIM = "Fall"
2735
		if ATTACK == false then
2736
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2737
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2738
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2739
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
2740
			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)
2741
			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)
2742
		end
2743
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2744
		ANIM = "Idle"
2745
		if ATTACK == false then
2746
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.15 / Animation_Speed)
2747
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
2748
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0+ 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(150), RAD(35), RAD(-5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2749
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0 + 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(130), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2750
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2751
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-76), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2752
		end
2753
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2754
		ANIM = "Walk"
2755
		if ATTACK == false then
2756
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.15 * COS(SINE / 12)) * ANGLES(RAD(5), RAD(0), RAD(25)), 0.15 / Animation_Speed)
2757
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
2758
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0+ 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(150), RAD(35), RAD(-5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2759
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35, 0 + 0.15 * COS(SINE / 12), -0.2) * ANGLES(RAD(130), RAD(0), RAD(5)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2760
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
2761
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.5+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-115), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
2762
		end
2763
	end
2764
	unanchor()
2765
	Humanoid.MaxHealth = "inf"
2766
	Humanoid.Health = "inf"
2767
	if Rooted == false then
2768
		Disable_Jump = false
2769
		Humanoid.WalkSpeed = Speed
2770
	elseif Rooted == true then
2771
		Disable_Jump = true
2772
		Humanoid.WalkSpeed = 0
2773
end
2774
2775
	sick.Parent = Torso
2776
	sick:resume()
2777
	sick.Volume = 1
2778
	sick.Pitch = 1
2779
	sick.SoundId = "rbxassetid://733456981"
2780
	sick.Name = "Un sen"
2781
end
2782
--//=================================\\
2783
--\\=================================//
2784
2785
2786
--//====================================================\\--
2787
--||			  		 END OF SCRIPT
2788
--\\====================================================//--