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