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