View difference between Paste ID: vWZE3c8V and ARYSbCKA
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||            GUNJOURER BY SHACKLUSTER
3
--\\====================================================//--
4
5
-- This script has been converted to FE by iPxter
6
7-
Player = game:GetService("Players").LocalPlayer
7+
8
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
9
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
10
do
11
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
12
	script.Parent = Player.Character
13-
Mouse = Player:GetMouse()
13+
14
	--RemoteEvent for communicating
15
	local Event = Instance.new("RemoteEvent")
16
	Event.Name = "UserInput_Event"
17
18
	--Fake event to make stuff like Mouse.KeyDown work
19
	local function fakeEvent()
20
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
21
		t.connect = t.Connect
22
		return t
23
	end
24
25
	--Creating fake input objects with fake variables
26
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
27
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
28
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
29
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
30
	end}
31
	--Merged 2 functions into one by checking amount of arguments
32
	CAS.UnbindAction = CAS.BindAction
33
34
	--This function will trigger the events that have been :Connect()'ed
35
	local function te(self,ev,...)
36
		local t = m[ev]
37
		if t and t._fakeEvent and t.Function then
38
			t.Function(...)
39
		end
40
	end
41
	m.TrigEvent = te
42
	UIS.TrigEvent = te
43
44
	Event.OnServerEvent:Connect(function(plr,io)
45
	    if plr~=Player then return end
46
		if io.isMouse then
47
			m.Target = io.Target
48
			m.Hit = io.Hit
49
		else
50
			local b = io.UserInputState == Enum.UserInputState.Begin
51
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
52
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
53
			end
54
			for _,t in pairs(CAS.Actions) do
55
				for _,k in pairs(t.Keys) do
56
					if k==io.KeyCode then
57
						t.Function(t.Name,io.UserInputState,io)
58
					end
59
				end
60
			end
61
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
62
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
63
	    end
64
	end)
65
	Event.Parent = NLS([==[
66
	local Player = game:GetService("Players").LocalPlayer
67
	local Event = script:WaitForChild("UserInput_Event")
68
69
	local UIS = game:GetService("UserInputService")
70
	local input = function(io,a)
71
		if a then return end
72
		--Since InputObject is a client-side instance, we create and pass table instead
73
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
74
	end
75
	UIS.InputBegan:Connect(input)
76
	UIS.InputEnded:Connect(input)
77
78
	local Mouse = Player:GetMouse()
79
	local h,t
80
	--Give the server mouse data 30 times every second, but only if the values changed
81
	--If player is not moving their mouse, client won't fire events
82
	while wait(1/30) do
83
		if h~=Mouse.Hit or t~=Mouse.Target then
84
			h,t=Mouse.Hit,Mouse.Target
85
			Event:FireServer({isMouse=true,Target=t,Hit=h})
86
		end
87
	end]==],Player.Character)
88
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
89
end
90
91
wait(0.2)
92
93
Player = owner
94
PlayerGui = Player.PlayerGui
95
Cam = workspace.CurrentCamera
96
Backpack = Player.Backpack
97
Character = Player.Character
98
Humanoid = Character.Humanoid
99
RootPart = Character["HumanoidRootPart"]
100
Torso = Character["Torso"]
101
Head = Character["Head"]
102
RightArm = Character["Right Arm"]
103
LeftArm = Character["Left Arm"]
104
RightLeg = Character["Right Leg"]
105
LeftLeg = Character["Left Leg"]
106
RootJoint = RootPart["RootJoint"]
107
Neck = Torso["Neck"]
108
RightShoulder = Torso["Right Shoulder"]
109
LeftShoulder = Torso["Left Shoulder"]
110
RightHip = Torso["Right Hip"]
111
LeftHip = Torso["Left Hip"]
112
113
IT = Instance.new
114
CF = CFrame.new
115
VT = Vector3.new
116
RAD = math.rad
117
C3 = Color3.new
118
UD2 = UDim2.new
119
BRICKC = BrickColor.new
120
ANGLES = CFrame.Angles
121
EULER = CFrame.fromEulerAnglesXYZ
122
COS = math.cos
123
ACOS = math.acos
124
SIN = math.sin
125
ASIN = math.asin
126
ABS = math.abs
127
MRANDOM = math.random
128
FLOOR = math.floor
129
130
--//=================================\\
131
--|| 	      USEFUL VALUES
132
--\\=================================//
133
134
Animation_Speed = 3
135
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
136
local Speed = 35
137
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
138
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
139
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
140
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
141
local DAMAGEMULTIPLIER = 1
142
local ANIM = "Idle"
143
local ATTACK = false
144
local EQUIPPED = false
145
local HOLD = false
146
local COMBO = 1
147
local Rooted = false
148
local SINE = 0
149
local KEYHOLD = false
150
local CHANGE = 2 / Animation_Speed
151
local WALKINGANIM = false
152
local VALUE1 = false
153
local VALUE2 = false
154
local ROBLOXIDLEANIMATION = IT("Animation")
155
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
156
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
157
--ROBLOXIDLEANIMATION.Parent = Humanoid
158
local WEAPONGUI = IT("ScreenGui", PlayerGui)
159
WEAPONGUI.Name = "GUNJOURER_GUI_SHACKLUSTER"
160
local Effects = IT("Folder", Character)
161
Effects.Name = "Effects"
162
local ANIMATOR = Humanoid.Animator
163
local ANIMATE = Character.Animate
164
local UNANCHOR = true
165
local TRIPWIRE = false
166
167
--//=================================\\
168
--\\=================================//
169
170
171
--//=================================\\
172
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
173
--\\=================================//
174
175
ArtificialHB = Instance.new("BindableEvent", script)
176
ArtificialHB.Name = "ArtificialHB"
177
178
script:WaitForChild("ArtificialHB")
179
180
frame = Frame_Speed
181
tf = 0
182
allowframeloss = false
183
tossremainder = false
184
lastframe = tick()
185
script.ArtificialHB:Fire()
186
187
game:GetService("RunService").Heartbeat:connect(function(s, p)
188
	tf = tf + s
189
	if tf >= frame then
190
		if allowframeloss then
191
			ArtificialHB:Fire()
192
			lastframe = tick()
193
		else
194
			for i = 1, math.floor(tf / frame) do
195
				ArtificialHB:Fire()
196
			end
197
			lastframe = tick()
198
		end
199
		if tossremainder then
200
			tf = 0
201
		else
202
			tf = tf - frame * math.floor(tf / frame)
203
		end
204
	end
205
end)
206
207
--//=================================\\
208
--\\=================================//
209
210
--//=================================\\
211
--|| 	      SOME FUNCTIONS
212
--\\=================================//
213
214
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
215
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
216
end
217
218
function PositiveAngle(NUMBER)
219
	if NUMBER >= 0 then
220
		NUMBER = 0
221
	end
222
	return NUMBER
223
end
224
225
function NegativeAngle(NUMBER)
226
	if NUMBER <= 0 then
227
		NUMBER = 0
228
	end
229
	return NUMBER
230
end
231
232
function Swait(NUMBER)
233
	if NUMBER == 0 or NUMBER == nil then
234
		ArtificialHB.Event:wait()
235
	else
236
		for i = 1, NUMBER do
237
			ArtificialHB.Event:wait()
238
		end
239
	end
240
end
241
242
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
243
	local NEWMESH = IT(MESH)
244
	if MESH == "SpecialMesh" then
245
		NEWMESH.MeshType = MESHTYPE
246
		if MESHID ~= "nil" and MESHID ~= "" then
247
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
248
		end
249
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
250
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
251
		end
252
	end
253
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
254
	NEWMESH.Scale = SCALE
255
	NEWMESH.Parent = PARENT
256
	return NEWMESH
257
end
258
259
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
260
	local NEWPART = IT("Part")
261
	NEWPART.formFactor = FORMFACTOR
262
	NEWPART.Reflectance = REFLECTANCE
263
	NEWPART.Transparency = TRANSPARENCY
264
	NEWPART.CanCollide = false
265
	NEWPART.Locked = true
266
	NEWPART.Anchored = true
267
	if ANCHOR == false then
268
		NEWPART.Anchored = false
269
	end
270
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
271
	NEWPART.Name = NAME
272
	NEWPART.Size = SIZE
273
	NEWPART.Position = Torso.Position
274
	NEWPART.Material = MATERIAL
275
	NEWPART:BreakJoints()
276
	NEWPART.Parent = PARENT
277
	return NEWPART
278
end
279
280
	local function weldBetween(a, b)
281
	    local weldd = Instance.new("ManualWeld")
282
	    weldd.Part0 = a
283
	    weldd.Part1 = b
284
	    weldd.C0 = CFrame.new()
285
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
286
	    weldd.Parent = a
287
	    return weldd
288
	end
289
290
291
function QuaternionFromCFrame(cf)
292
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
293
	local trace = m00 + m11 + m22
294
	if trace > 0 then 
295
		local s = math.sqrt(1 + trace)
296
		local recip = 0.5 / s
297
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
298
	else
299
		local i = 0
300
		if m11 > m00 then
301
			i = 1
302
		end
303
		if m22 > (i == 0 and m00 or m11) then
304
			i = 2
305
		end
306
		if i == 0 then
307
			local s = math.sqrt(m00 - m11 - m22 + 1)
308
			local recip = 0.5 / s
309
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
310
		elseif i == 1 then
311
			local s = math.sqrt(m11 - m22 - m00 + 1)
312
			local recip = 0.5 / s
313
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
314
		elseif i == 2 then
315
			local s = math.sqrt(m22 - m00 - m11 + 1)
316
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
317
		end
318
	end
319
end
320
 
321
function QuaternionToCFrame(px, py, pz, x, y, z, w)
322
	local xs, ys, zs = x + x, y + y, z + z
323
	local wx, wy, wz = w * xs, w * ys, w * zs
324
	local xx = x * xs
325
	local xy = x * ys
326
	local xz = x * zs
327
	local yy = y * ys
328
	local yz = y * zs
329
	local zz = z * zs
330
	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))
331
end
332
 
333
function QuaternionSlerp(a, b, t)
334
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
335
	local startInterp, finishInterp;
336
	if cosTheta >= 0.0001 then
337
		if (1 - cosTheta) > 0.0001 then
338
			local theta = ACOS(cosTheta)
339
			local invSinTheta = 1 / SIN(theta)
340
			startInterp = SIN((1 - t) * theta) * invSinTheta
341
			finishInterp = SIN(t * theta) * invSinTheta
342
		else
343
			startInterp = 1 - t
344
			finishInterp = t
345
		end
346
	else
347
		if (1 + cosTheta) > 0.0001 then
348
			local theta = ACOS(-cosTheta)
349
			local invSinTheta = 1 / SIN(theta)
350
			startInterp = SIN((t - 1) * theta) * invSinTheta
351
			finishInterp = SIN(t * theta) * invSinTheta
352
		else
353
			startInterp = t - 1
354
			finishInterp = t
355
		end
356
	end
357
	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
358
end
359
360
function Clerp(a, b, t)
361
	local qa = {QuaternionFromCFrame(a)}
362
	local qb = {QuaternionFromCFrame(b)}
363
	local ax, ay, az = a.x, a.y, a.z
364
	local bx, by, bz = b.x, b.y, b.z
365
	local _t = 1 - t
366
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
367
end
368
369
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
370
	local frame = IT("Frame")
371
	frame.BackgroundTransparency = TRANSPARENCY
372
	frame.BorderSizePixel = BORDERSIZEPIXEL
373
	frame.Position = POSITION
374
	frame.Size = SIZE
375
	frame.BackgroundColor3 = COLOR
376
	frame.BorderColor3 = BORDERCOLOR
377
	frame.Name = NAME
378
	frame.Parent = PARENT
379
	return frame
380
end
381
382
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
383
	local label = IT("TextLabel")
384
	label.BackgroundTransparency = 1
385
	label.Size = UD2(1, 0, 1, 0)
386
	label.Position = UD2(0, 0, 0, 0)
387
	label.TextColor3 = TEXTCOLOR
388
	label.TextStrokeTransparency = STROKETRANSPARENCY
389
	label.TextTransparency = TRANSPARENCY
390
	label.FontSize = TEXTFONTSIZE
391
	label.Font = TEXTFONT
392
	label.BorderSizePixel = BORDERSIZEPIXEL
393
	label.TextScaled = false
394
	label.Text = TEXT
395
	label.Name = NAME
396
	label.Parent = PARENT
397
	return label
398
end
399
400
function NoOutlines(PART)
401
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
402
end
403
404
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
405
	local NEWWELD = IT(TYPE)
406
	NEWWELD.Part0 = PART0
407
	NEWWELD.Part1 = PART1
408
	NEWWELD.C0 = C0
409
	NEWWELD.C1 = C1
410
	NEWWELD.Parent = PARENT
411
	return NEWWELD
412
end
413
414
local S = IT("Sound")
415
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
416
	local NEWSOUND = nil
417
	coroutine.resume(coroutine.create(function()
418
		NEWSOUND = S:Clone()
419
		NEWSOUND.Parent = PARENT
420
		NEWSOUND.Volume = VOLUME
421
		NEWSOUND.Pitch = PITCH
422
		NEWSOUND.SoundId = "rbxassetid://"..ID
423
		NEWSOUND:play()
424
		if DOESLOOP == true then
425
			NEWSOUND.Looped = true
426
		else
427
			repeat wait(1) until NEWSOUND.Playing == false
428
			NEWSOUND:remove()
429
		end
430
	end))
431
	return NEWSOUND
432
end
433
434
function CFrameFromTopBack(at, top, back)
435
	local right = top:Cross(back)
436
	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)
437
end
438
439
--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, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
440
function WACKYEFFECT(Table)
441
	local TYPE = (Table.EffectType or "Sphere")
442
	local SIZE = (Table.Size or VT(1,1,1))
443
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
444
	local TRANSPARENCY = (Table.Transparency or 0)
445
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
446
	local CFRAME = (Table.CFrame or Torso.CFrame)
447
	local MOVEDIRECTION = (Table.MoveToPos or nil)
448
	local ROTATION1 = (Table.RotationX or 0)
449
	local ROTATION2 = (Table.RotationY or 0)
450
	local ROTATION3 = (Table.RotationZ or 0)
451
	local MATERIAL = (Table.Material or "Neon")
452
	local COLOR = (Table.Color or C3(1,1,1))
453
	local TIME = (Table.Time or 45)
454
	local SOUNDID = (Table.SoundID or nil)
455
	local SOUNDPITCH = (Table.SoundPitch or nil)
456
	local SOUNDVOLUME = (Table.SoundVolume or nil)
457
	local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
458
	local BOOMERANG = (Table.Boomerang or 0)
459
	local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
460
	coroutine.resume(coroutine.create(function()
461
		local PLAYSSOUND = false
462
		local SOUND = nil
463
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
464
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
465
			PLAYSSOUND = true
466
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
467
		end
468
		EFFECT.Color = COLOR
469
		local MSH = nil
470
		if TYPE == "Sphere" then
471
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
472
		elseif TYPE == "Block" or TYPE == "Box" then
473
			MSH = IT("BlockMesh",EFFECT)
474
			MSH.Scale = SIZE
475
		elseif TYPE == "Wave" then
476
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
477
		elseif TYPE == "Ring" then
478
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
479
		elseif TYPE == "Slash" then
480
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
481
		elseif TYPE == "Round Slash" then
482
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
483
		elseif TYPE == "Swirl" then
484
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0,0,0))
485
		elseif TYPE == "Skull" then
486
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
487
		elseif TYPE == "Crystal" then
488
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
489
		end
490
		if MSH ~= nil then
491
			local BOOMR1 = 1+BOOMERANG/50
492
			local BOOMR2 = 1+SIZEBOOMERANG/50
493
			local MOVESPEED = nil
494
			if MOVEDIRECTION ~= nil then
495
				if USEBOOMERANGMATH == true then
496
					MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
497
				else
498
					MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
499
				end
500
			end
501
			local GROWTH = nil
502
			if USEBOOMERANGMATH == true then
503
				GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
504
			else
505
				GROWTH = (SIZE - ENDSIZE)
506
			end
507
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
508
			if TYPE == "Block" then
509
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
510
			else
511
				EFFECT.CFrame = CFRAME
512
			end
513
			if USEBOOMERANGMATH == true then
514
				for LOOP = 1, TIME+1 do
515
					Swait()
516
					MSH.Scale = MSH.Scale - (VT((GROWTH.X)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Y)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Z)*((1 - (LOOP/TIME)*BOOMR2)))*BOOMR2)/TIME
517
					if TYPE == "Wave" then
518
						MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
519
					end
520
					EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
521
					if TYPE == "Block" then
522
						EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
523
					else
524
						EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
525
					end
526
					if MOVEDIRECTION ~= nil then
527
						local ORI = EFFECT.Orientation
528
						EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-(MOVESPEED)*((1 - (LOOP/TIME)*BOOMR1)))
529
						EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
530
					end
531
				end
532
			else
533
				for LOOP = 1, TIME+1 do
534
					Swait()
535
					MSH.Scale = MSH.Scale - GROWTH/TIME
536
					if TYPE == "Wave" then
537
						MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
538
					end
539
					EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
540
					if TYPE == "Block" then
541
						EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
542
					else
543
						EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
544
					end
545
					if MOVEDIRECTION ~= nil then
546
						local ORI = EFFECT.Orientation
547
						EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
548
						EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
549
					end
550
				end
551
			end
552
			EFFECT.Transparency = 1
553
			if PLAYSSOUND == false then
554
				EFFECT:remove()
555
			else
556
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
557
				EFFECT:remove()
558
			end
559
		else
560
			if PLAYSSOUND == false then
561
				EFFECT:remove()
562
			else
563
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
564
				EFFECT:remove()
565
			end
566
		end
567
	end))
568
end
569
570
function MakeForm(PART,TYPE)
571
	if TYPE == "Cyl" then
572
		local MSH = IT("CylinderMesh",PART)
573
	elseif TYPE == "Ball" then
574
		local MSH = IT("SpecialMesh",PART)
575
		MSH.MeshType = "Sphere"
576
	elseif TYPE == "Wedge" then
577
		local MSH = IT("SpecialMesh",PART)
578
		MSH.MeshType = "Wedge"
579
	end
580
end
581
582
Debris = game:GetService("Debris")
583
584
function CastProperRay(StartPos, EndPos, Distance, Ignore)
585
	local DIRECTION = CF(StartPos,EndPos).lookVector
586
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
587
end
588
589
function OhnoItsAShotgun()
590
	local SHOOTgun = CreatePart(3, Effects, "Fabric", 0, 1, BRICKC("Black"), "OhNoItsAShotgun", VT(0.25, 0.5, 5), true)
591
	CreateMesh("SpecialMesh", SHOOTgun, "FileMesh", "3835506", "", VT(0.9, 1.13, 1), VT(0,-0.3,0))
592
	return SHOOTgun
593
end
594
595
function CamShake(SHAKE,TIMER)
596
	coroutine.resume(coroutine.create(function()
597
		local FADER = SHAKE/TIMER
598
		for i = 1, TIMER do
599
			wait()
600
			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)
601
		end
602
		Humanoid.CameraOffset = VT(0,0,0)
603
	end))
604
end
605
606
--//=================================\\
607
--||	    GUIS AND MISC
608
--\\=================================//
609
610
local SKILLTEXTCOLOR = C3(1,1,1)
611
local SKILLFONT = "SciFi"
612
local SKILLTEXTSIZE = 4
613
614
local ATTACKS = {"Conjour - C","Aerial Bombardament - V","Point Blank - B","Tripwire - F","Mend - M"}
615
616
for i = 1, #ATTACKS do
617
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
618
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
619
	SKILLTEXT.TextXAlignment = "Right"
620
	SKILLTEXT.Rotation = i*3
621
end
622
623
local BMUSIC = IT("Sound",RootPart)
624
local VOLUME = 3
625
local PITCH = 1
626
local SONGID = 554435540
627
628
local HEALTHBAR = CreateFrame(WEAPONGUI, 0.5, 1, UD2(1-0.20, 0, 0.75, 0), UD2(0.20, 0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Health Bar") 
629
local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 0, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), BRICKC"Shamrock".Color, C3(0, 0, 0),"Health Cover")
630
local HEALTHTEXT = CreateLabel(HEALTHBAR, Humanoid.Health.."/"..Humanoid.MaxHealth, SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "HP")
631
Character.Health:remove()
632
HEALTHBAR.Rotation = (#ATTACKS*3)+3
633
local WHOAMI = CreateFrame(WEAPONGUI, 1, 1, UD2(1-0.26, 0, 0.69, 0), UD2(0.26, 0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Ban") 
634
WHOAMI.Rotation = (#ATTACKS*3)+3
635
CreateLabel(WHOAMI, "Gunjourer", SKILLTEXTCOLOR, SKILLTEXTSIZE+4, SKILLFONT, 0, 2, 0, "Yes")
636
637
Humanoid.MaxHealth = 450
638
Humanoid.Health = 450
639
640
Humanoid.Died:Connect(function()
641
	RootPart:remove()
642
	CreateSound(160718677, Head, 4, 1, false)
643
	BMUSIC:remove()
644
	Effects:remove()
645
	WEAPONGUI:remove()
646
end)
647
local GRUNTS = {1146556975,1146556706,1278006076}
648
649
--//=================================\\
650
--||			DAMAGING
651
--\\=================================//
652
653
function ApplyDamage(Humanoid,Damage)
654
	Damage = Damage * DAMAGEMULTIPLIER
655
	if Humanoid.Health < 2000 then
656
		if Humanoid.Health - Damage > 0 then
657
			Humanoid.Health = Humanoid.Health - Damage
658
		else
659
			Humanoid.Parent:BreakJoints()
660
		end
661
	else
662
		Humanoid.Parent:BreakJoints()
663
	end
664
end
665
666
function PAW_HAHA(LOC,AIMTO,OUCH)
667
	WACKYEFFECT({Time = 25, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(1.4,1.4,1.4), Transparency = 0, Transparency2 = 1, CFrame = CF(LOC), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New Yeller".Color, SoundID = 138083993, SoundPitch = MRANDOM(8,12)/13, SoundVolume = 2})
668
	for i = 1, 4 do
669
		local POS1 = CF(LOC,AIMTO)*CF(0,0,-45).p
670
		local AIMPOS = CF(LOC,POS1) * CF(0,0,-45) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,0,MRANDOM(5,75)/10).p
671
		local HIT,POS = CastProperRay(LOC,AIMPOS,1000,Character)
672
		local DISTANCE = (POS - LOC).Magnitude
673
		if HIT then
674
			local HUM = nil
675
			if HIT.Parent:FindFirstChildOfClass("Humanoid") then
676
				HUM = HIT.Parent:FindFirstChildOfClass("Humanoid")
677
			elseif HIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
678
				HUM = HIT.Parent.Parent:FindFirstChildOfClass("Humanoid")
679
			end
680
			if HUM then
681
				ApplyDamage(HUM,OUCH+MRANDOM(-3,3))
682
			end
683
		end
684
		WACKYEFFECT({Time = 20, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New Yeller".Color, SoundID = nil, SoundPitch = 1, SoundVolume = 4})
685
		WACKYEFFECT({Time = 20, EffectType = "Box", Size = VT(0,0,DISTANCE), Size2 = VT(0.7,0.7,DISTANCE), Transparency = 0.6, Transparency2 = 1, CFrame = CF(LOC,POS)*CF(0,0,-DISTANCE/2), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New Yeller".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
686
	end
687
end
688
689
--//=================================\\
690
--||	ATTACK FUNCTIONS AND STUFF
691
--\\=================================//
692
693
function Conjour()
694
	local SHOOT = OhnoItsAShotgun()
695
	local CFRAME = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,MRANDOM(15,25)/3,MRANDOM(15,25)/3)
696
	local ORI = 90
697
	SHOOT.CFrame = CF(CFRAME.p,Mouse.Hit.p) * ANGLES(RAD(0), RAD(ORI), RAD(0))
698
	local GOODRIDDANCE = false
699
	CreateSound(233856115, SHOOT, 2, (MRANDOM(8,12)/10)+0.3, false)
700
	coroutine.resume(coroutine.create(function()
701
		repeat
702
			SHOOT.CFrame = Clerp(SHOOT.CFrame,CF(CFRAME.p,Mouse.Hit.p) * ANGLES(RAD(ORI), RAD(0), RAD(0)),0.25)
703
			Swait()
704
		until GOODRIDDANCE == true
705
		SHOOT.CFrame = SHOOT.CFrame * ANGLES(RAD(45), RAD(0), RAD(0))
706
		SHOOT.CanCollide = true
707
		SHOOT.Anchored = false
708
		SHOOT.Parent = workspace
709
		local bv = Instance.new("BodyVelocity",SHOOT) 
710
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
711
		bv.velocity = CF(SHOOT.Position,SHOOT.CFrame*CF(0,2.5,2).p).lookVector*45
712
		Debris:AddItem(bv,0.1)
713
		wait(5)
714
		for i = 1, 45 do
715
			Swait()
716
			SHOOT.Transparency = SHOOT.Transparency + 1/45
717
		end
718
		SHOOT:remove()
719
	end))
720
	for i = 1, 15 do
721
		Swait()
722
		SHOOT.Transparency = SHOOT.Transparency - 1/15
723
		ORI = ORI - 3
724
	end
725
	for i = 1, 15 do
726
		Swait()
727
		ORI = ORI - 3
728
	end
729
	wait(MRANDOM(2,8)/10)
730
	PAW_HAHA(SHOOT.CFrame*CF(0,0,-SHOOT.Size.Z/2).p,Mouse.Hit.p,14)
731
	CamShake(4,4)
732
	GOODRIDDANCE = true
733
end
734
function Aerial_Bombardament()
735
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
736
	if HITFLOOR then
737
		ATTACK = true
738
		Rooted = true
739
		local bv = Instance.new("BodyVelocity") 
740
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
741
		bv.velocity = CF(RootPart.Position,RootPart.CFrame*CF(0,1.5,-2).p).lookVector*175
742
		bv.Parent = RootPart
743
		local GYRO = IT("BodyGyro",RootPart)
744
		GYRO.D = 2
745
		GYRO.P = 20000
746
		GYRO.MaxTorque = VT(0,4000000,0)
747
		GYRO.CFrame = CF(RootPart.Position,RootPart.CFrame*CF(0,0,-5).p)
748
		CreateSound(145486992,Torso,10,0.85,false)
749
		for i=0, 0.05, 0.1 / Animation_Speed do
750
			Swait()
751
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(65), RAD(0), RAD(-10)), 1 / Animation_Speed)
752
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(10)), 1 / Animation_Speed)
753
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(50), RAD(-20), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
754
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(20), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
755
			if ANIM == "Fall" or ANIM == "Jump" then
756
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
757
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
758
			else
759
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-5), RAD(80), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1 / Animation_Speed)
760
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
761
			end
762
		end
763
		bv:Remove()
764
		local E = 360/15
765
		for i = 1, 15 do
766
			Swait()
767
			WACKYEFFECT({Time = 10, EffectType = "Wave", Size = VT(8,1,8), Size2 = VT(2,15,2), Transparency = 0.9, Transparency2 = 1, CFrame = CF(RootPart.Position,HITPOS) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
768
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i*E), RAD(0), RAD(0)), 2 / Animation_Speed)
769
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
770
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(5), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
771
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-5), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
772
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(-35), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
773
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
774
		end
775
		WACKYEFFECT({EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(20,20,20), Transparency = 0.5, Transparency2 = 1, CFrame = CF(Torso.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(17/255,17/255,17/255), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
776
		for i = 1, 15 do
777
			coroutine.resume(coroutine.create(function()
778
				Conjour()
779
			end))
780
		end
781
		local LANDED = nil
782
		local POS = nil
783
		coroutine.resume(coroutine.create(function()
784
			repeat
785
				Swait()
786
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
787
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
788
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
789
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
790
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
791
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
792
			until LANDED ~= nil
793
		end))
794
		repeat
795
			Swait()
796
			local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4.2, Character)
797
			if HITFLOOR then
798
				LANDED = HITFLOOR
799
				POS = HITPOS
800
			end
801
		until LANDED ~= nil
802
		GYRO:remove()
803
		CamShake(6,3)
804
		CreateSound(765590102, Torso, 2, (MRANDOM(8,12)/10)+0.3, false)
805
		ATTACK = false
806
		Rooted = false
807
	end
808
end
809
function Point_Blank()
810
	ATTACK = true
811
	Rooted = true
812
	local HIT = nil
813
	local HUMAN = nil
814
	local ROOT = nil
815
	CreateSound(145486992,Torso,10,0.85,false)
816
	for i=0, 0.5, 0.1 / Animation_Speed do
817
		Swait()
818
		if HIT ~= nil then
819
			break
820
		end
821
		for index, CHILD in pairs(workspace:GetDescendants()) do
822
			if CHILD.ClassName == "Model" and CHILD ~= Character then
823
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
824
				if HUM then
825
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
826
					if TORSO and HUM.Health > 0 then
827
						if (TORSO.Position - RootPart.CFrame*CF(0,0,-2).p).Magnitude <= 2 then
828
							ROOT = TORSO
829
							HUMAN = HUM
830
							HIT = CHILD
831
						end
832
					end
833
				end
834
			end
835
		end
836
		RootPart.CFrame = Clerp(RootPart.CFrame, RootPart.CFrame, 0.07) * CF(0,0,-1)
837
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.75) * ANGLES(RAD(45), RAD(0), RAD(0)), 1 / Animation_Speed)
838
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
839
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
840
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(135), RAD(0), RAD(12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
841
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
842
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-5), RAD(-80), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
843
	end
844
	if HIT then
845
		local bv = Instance.new("BodyVelocity") 
846
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
847
		bv.velocity = CF(RootPart.Position,RootPart.CFrame*CF(0,1.5,2).p).lookVector*75
848
		bv.Parent = RootPart
849
		Debris:AddItem(bv,0.1)
850
		coroutine.resume(coroutine.create(function()
851
			local GUNS = {}
852
			for i = 1, 4 do
853
				local SHOOT = OhnoItsAShotgun()
854
				local CFRAME = CF(ROOT.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,MRANDOM(15,25)/3,MRANDOM(15,25)/3)
855
				SHOOT.CFrame = CF(CFRAME.p,ROOT.Position)
856
				CreateSound(233856115, SHOOT, 2, (MRANDOM(8,12)/10)+0.3, false)
857
				table.insert(GUNS,SHOOT)
858
			end
859
			for i = 1, 25 do
860
				Swait()
861
				for E = 1, #GUNS do
862
					GUNS[E].Transparency = GUNS[E].Transparency - 1/25
863
				end
864
			end
865
			wait(0.1)
866
			CamShake(8,15)
867
			for E = 1, #GUNS do
868
				local SHOOT = GUNS[E]
869
				coroutine.resume(coroutine.create(function()
870
					PAW_HAHA(SHOOT.CFrame*CF(0,0,-SHOOT.Size.Z/2).p,SHOOT.CFrame*CF(0,0,-15).p,17)
871
					SHOOT.CFrame = SHOOT.CFrame * ANGLES(RAD(45), RAD(0), RAD(0))
872
					SHOOT.CanCollide = true
873
					SHOOT.Anchored = false
874
					SHOOT.Parent = workspace
875
					local bv = Instance.new("BodyVelocity",SHOOT) 
876
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
877
					bv.velocity = CF(SHOOT.Position,SHOOT.CFrame*CF(0,2.5,2).p).lookVector*45
878
					Debris:AddItem(bv,0.1)
879
					wait(5)
880
					for i = 1, 45 do
881
						Swait()
882
						SHOOT.Transparency = SHOOT.Transparency + 1/45
883
					end
884
				end))
885
				wait()
886
			end
887
		end))
888
		CreateSound(GRUNTS[MRANDOM(1,#GRUNTS)], Torso, 6, 1.1, false)
889
		for i=0, 1, 0.1 / Animation_Speed do
890
			Swait()
891
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
892
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
893
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
894
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
895
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
896
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
897
		end
898
	end
899
	ATTACK = false
900
	Rooted = false
901
end
902
function Tripwire()
903
	ATTACK = true
904
	Rooted = true
905
	TRIPWIRE = true
906
	coroutine.resume(coroutine.create(function()
907
		repeat
908
			Swait()
909
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
910
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
911
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-100)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
912
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(5), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
913
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
914
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
915
		until ATTACK == false
916
	end))
917
	local SHOOT = OhnoItsAShotgun()
918
	local CFRAME = CF(-1.5,0,1.5) * ANGLES(RAD(0), RAD(45), RAD(0))
919
	SHOOT.CFrame = Torso.CFrame*CFRAME
920
	coroutine.resume(coroutine.create(function()
921
		repeat
922
			SHOOT.CFrame = Clerp(SHOOT.CFrame,Torso.CFrame*CFRAME,0.1)
923
			Swait()
924
		until HOLD == true
925
		TRIPWIRE = false
926
		local LOC = SHOOT.CFrame*CF(0,3,0).p
927
		for i = 1, 15 do
928
			Swait()
929
			SHOOT.Transparency = SHOOT.Transparency - 1/15
930
			SHOOT.CFrame = Clerp(SHOOT.CFrame,CF(LOC,Mouse.Hit.p),0.3)
931
		end
932
		SHOOT.Transparency = 0
933
		for i = 1, 2 do
934
			Swait()
935
			SHOOT.CFrame = Clerp(SHOOT.CFrame,CF(LOC,Mouse.Hit.p),0.5)
936
		end
937
		PAW_HAHA(SHOOT.CFrame*CF(0,0,-SHOOT.Size.Z/2).p,Mouse.Hit.p,10)
938
		CamShake(8,9)
939
		SHOOT.CFrame = SHOOT.CFrame * ANGLES(RAD(45), RAD(0), RAD(0))
940
		SHOOT.CanCollide = true
941
		SHOOT.Anchored = false
942
		SHOOT.Parent = workspace
943
		local bv = Instance.new("BodyVelocity",SHOOT) 
944
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
945
		bv.velocity = CF(SHOOT.Position,SHOOT.CFrame*CF(0,2.5,2).p).lookVector*45
946
		Debris:AddItem(bv,0.1)
947
		wait(5)
948
		for i = 1, 45 do
949
			Swait()
950
			SHOOT.Transparency = SHOOT.Transparency + 1/45
951
		end
952
	end))
953
	CreateSound(233856115, SHOOT, 1.2, (MRANDOM(8,12)/10)-0.3, false)
954
	for i = 1, 15 do
955
		Swait()
956
		SHOOT.Transparency = SHOOT.Transparency - 1/150
957
	end
958
	ATTACK = false
959
	Rooted = false
960
end
961
function Mend()
962
	if Humanoid.Health < Humanoid.MaxHealth - 150 then
963
		ATTACK = true
964
		Rooted = true
965
		for i=0, 0.25, 0.1 / Animation_Speed do
966
			Swait()
967
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
968
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
969
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
970
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
971
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.2, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
972
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
973
		end
974
		local LOOP = 0
975
		repeat
976
			LOOP = LOOP + 1
977
			Swait()
978
			Humanoid.Health = Humanoid.Health + 1
979
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
980
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
981
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.4) * ANGLES(RAD(55), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
982
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, -0.7 - 0.4 * SIN(LOOP / 4)) * ANGLES(RAD(50 + 25 * COS(LOOP / 4)), RAD(0), RAD(65)) * LEFTSHOULDERC0, 1 / Animation_Speed)
983
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
984
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
985
		until KEYHOLD == false or Humanoid.Health == Humanoid.MaxHealth
986
		for i=0, 0.15, 0.1 / Animation_Speed do
987
			Swait()
988
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
989
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-25)), 1 / Animation_Speed)
990
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
991
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
992
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.2, -1) * ANGLES(RAD(-25), RAD(90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
993
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.5) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
994
		end
995
		ATTACK = false
996
		Rooted = false
997
	end
998
end
999
function Taunt()
1000
	ATTACK = true
1001
	Rooted = true
1002
	local L = CreateSound(1278007556,Head,8,1.1,false)
1003
	L.EmitterSize = 25
1004
	for i = 1, 20 do
1005
		Swait()
1006
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
1007
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1008
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-110)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1009
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3, -0.35) * ANGLES(RAD(0), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1010
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1011
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1012
	end
1013
	for i = 1, 40 do
1014
		Swait()
1015
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.17, -0.075 + 0.1 * SIN(i / 3)) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1016
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-3), RAD(15 * SIN(i / 1.5)), RAD(0)), 1 / Animation_Speed)
1017
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(-5), RAD(120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1018
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.6 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(15), RAD(5), RAD(-120)) * ANGLES(RAD(0), RAD(180), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1019
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1020
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(i / 3), 0) * ANGLES(RAD(5), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1021
	end
1022
	ATTACK = false
1023
	Rooted = false
1024
end
1025
function DoubleJump()
1026
	ATTACK = true
1027
	Rooted = false
1028
	Torso.Velocity = Vector3.new(Torso.Velocity.X,125,Torso.Velocity.Z)
1029
	CreateSound(159882477, Head, 4, 1, false)
1030
	CreateSound(1112042117, Torso, 2, 1, false)
1031
	local E = 360/12
1032
	for i=1, 12 do
1033
		Swait()
1034
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i*E), RAD(0), RAD(0)), 2.5 / Animation_Speed)
1035
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1036
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1037
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1038
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1039
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1040
	end
1041
	ATTACK = false
1042
	Rooted = false
1043
end
1044
1045
--//=================================\\
1046
--||	  ASSIGN THINGS TO KEYS
1047
--\\=================================//
1048
1049
function MouseDown(Mouse)
1050
	HOLD = true
1051
	if ATTACK == false then
1052
	end
1053
end
1054
1055
function MouseUp(Mouse)
1056
HOLD = false
1057
end
1058
1059
local READYTODOUBLE = false
1060
local DOUBLED = false
1061
1062
function KeyDown(Key)
1063
	KEYHOLD = true
1064
	if Key == "c" and ATTACK == false then
1065
		Conjour()
1066
	end
1067
1068
	if Key == "v" and ATTACK == false then
1069
		Aerial_Bombardament()
1070
	end
1071
1072
	if Key == "b" and ATTACK == false then
1073
		Point_Blank()
1074
	end
1075
1076
	if Key == "f" and ATTACK == false and TRIPWIRE == false and ANIM == "Idle" then
1077
		Tripwire()
1078
	end
1079
1080
	if Key == "m" and ATTACK == false then
1081
		Mend()
1082
	end
1083
1084
	if Key == "t" and ATTACK == false then
1085
		Taunt()
1086
	end
1087
1088
	if string.byte(Key) == 32 and READYTODOUBLE == true and ATTACK == false and Humanoid.Jump == true and DOUBLED == false then
1089
		READYTODOUBLE = false
1090
		DOUBLED = true
1091
		DoubleJump()
1092
	end
1093
end
1094
1095
function KeyUp(Key)
1096
	KEYHOLD = false
1097
end
1098
1099
	Mouse.Button1Down:connect(function(NEWKEY)
1100
		MouseDown(NEWKEY)
1101
	end)
1102
	Mouse.Button1Up:connect(function(NEWKEY)
1103
		MouseUp(NEWKEY)
1104
	end)
1105
	Mouse.KeyDown:connect(function(NEWKEY)
1106
		KeyDown(NEWKEY)
1107
	end)
1108
	Mouse.KeyUp:connect(function(NEWKEY)
1109
		KeyUp(NEWKEY)
1110
	end)
1111
1112
--//=================================\\
1113
--\\=================================//
1114
1115
function unanchor()
1116
	for _, c in pairs(Character:GetChildren()) do
1117
		if c:IsA("BasePart") and c ~= RootPart then
1118
			c.Anchored = false
1119
		end
1120
	end
1121
	if UNANCHOR == true then
1122
		RootPart.Anchored = false
1123
	else
1124
		RootPart.Anchored = true
1125
	end
1126
end
1127
1128
--//=================================\\
1129
--||	WRAP THE WHOLE SCRIPT UP
1130
--\\=================================//
1131
1132
Humanoid.Changed:connect(function(Jump)
1133
	if Jump == "Jump" and (Disable_Jump == true) then
1134
		Humanoid.Jump = false
1135
	elseif Jump == "Jump" and (Disable_Jump == false) and DOUBLED == false then
1136
		wait(0.1)
1137
		READYTODOUBLE = true
1138
	end
1139
end)
1140
1141
while true do
1142
	Swait()
1143
	script.Parent = WEAPONGUI
1144
	ANIMATE.Parent = nil
1145
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1146
	    v:Stop();
1147
	end
1148
	SINE = SINE + CHANGE
1149
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1150
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1151
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1152
	local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
1153
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1154
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.1 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1155
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1156
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.25 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10+50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
1157
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.25 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-10+50 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
1158
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1159
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1160
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1161
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
1162
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed)
1163
	end
1164
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1165
		ANIM = "Jump"
1166
		if ATTACK == false then
1167
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1168
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1169
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1170
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1171
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1172
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1173
		end
1174
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1175
		ANIM = "Fall"
1176
		if ATTACK == false then
1177
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1178
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1179
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1180
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1181
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1182
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1183
		end
1184
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1185
		ANIM = "Idle"
1186
		DOUBLED = false
1187
		READYTODOUBLE = false
1188
		if ATTACK == false then
1189
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.1, -0.1 + 0.05 * SIN(SINE / 12)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
1190
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(7 * COS(SINE / 24)), RAD(0)), 1 / Animation_Speed)
1191
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5 + 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(0), RAD(-100)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1192
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.3 + 0.05 * SIN(SINE / 12), -0.35) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(20), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1193
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-10), RAD(80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1194
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
1195
		end
1196
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1197
		ANIM = "Walk"
1198
		DOUBLED = false
1199
		READYTODOUBLE = false
1200
		if ATTACK == false then
1201
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(15), RAD(0), RAD(-7 * COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
1202
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(7 * COS(SINE / (WALKSPEEDVALUE)))), 1 / Animation_Speed)
1203
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(-5), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1204
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(5), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1205
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1206
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1207
		end
1208
	end
1209
	unanchor()
1210
	if Rooted == false then
1211
		Disable_Jump = false
1212
		Humanoid.WalkSpeed = Speed
1213
	elseif Rooted == true then
1214
		Disable_Jump = true
1215
		Humanoid.WalkSpeed = 0
1216
	end
1217
	BMUSIC.SoundId = "rbxassetid://"..SONGID
1218
	BMUSIC.Looped = true
1219
	BMUSIC.Pitch = PITCH
1220
	BMUSIC.Volume = VOLUME
1221
	BMUSIC.Playing = true
1222
	if BMUSIC.Parent ~= RootPart then
1223
		BMUSIC = IT("Sound",RootPart)
1224
	end
1225
	Humanoid.Name = "NONHUM"
1226
	HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", 0.1, 0.1)
1227
	HEALTHTEXT.Text = math.ceil(Humanoid.Health).."/"..Humanoid.MaxHealth
1228
end