View difference between Paste ID: JKmUzMAv and ze5LwVgu
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149-
	--Changing owner to fake player object to support owner:GetMouse()
149+
	
150-
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
150+
151
script.Name = "Banisher Gun V3 / 1"
152
--//====================================================\\--
153
--||			   CREATED BY SHACKLUSTER
154
--\\====================================================//--
155
156
script:ClearAllChildren()
157
wait(0.2)
158
159
Player = game:GetService("Players").LocalPlayer
160
PlayerGui = Player.PlayerGui
161
Cam = workspace.CurrentCamera
162
Backpack = Player.Backpack
163
Character = Player.Character
164
Humanoid = Character.Humanoid
165
Mouse = Player:GetMouse()
166
RootPart = Character["HumanoidRootPart"]
167
Torso = Character["Torso"]
168
Head = Character["Head"]
169
RightArm = Character["Right Arm"]
170
LeftArm = Character["Left Arm"]
171
RightLeg = Character["Right Leg"]
172
LeftLeg = Character["Left Leg"]
173
RootJoint = RootPart["RootJoint"]
174
Neck = Torso["Neck"]
175
RightShoulder = Torso["Right Shoulder"]
176
LeftShoulder = Torso["Left Shoulder"]
177
RightHip = Torso["Right Hip"]
178
LeftHip = Torso["Left Hip"]
179
local TIME = 0
180
local sick = Instance.new("Sound",Torso)
181
182
IT = Instance.new
183
CF = CFrame.new
184
VT = Vector3.new
185
RAD = math.rad
186
C3 = Color3.new
187
UD2 = UDim2.new
188
BRICKC = BrickColor.new
189
ANGLES = CFrame.Angles
190
EULER = CFrame.fromEulerAnglesXYZ
191
COS = math.cos
192
ACOS = math.acos
193
SIN = math.sin
194
ASIN = math.asin
195
ABS = math.abs
196
MRANDOM = math.random
197
FLOOR = math.floor
198
199
--//=================================\\
200
--|| 	      USEFUL VALUES
201
--\\=================================//
202
203
Animation_Speed = 3
204
local FORCERESET = false
205
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
206
local Speed = 16
207
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
208
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
209
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
210
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
211
local DAMAGEMULTIPLIER = 1
212
local ANIM = "Idle"
213
local ATTACK = false
214
local EQUIPPED = false
215
local HOLD = false
216
local COMBO = 1
217
local Rooted = false
218
local SINE = 0
219
local KEYHOLD = false
220
local CHANGE = 2 / Animation_Speed
221
local WALKINGANIM = false
222
local VALUE1 = false
223
local VALUE2 = false
224
local ROBLOXIDLEANIMATION = IT("Animation")
225
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
226
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
227
--ROBLOXIDLEANIMATION.Parent = Humanoid
228
local WEAPONGUI = IT("ScreenGui", PlayerGui)
229
WEAPONGUI.Name = "BanishV3Gui"
230
local Weapon = IT("Model")
231
Weapon.Name = "Adds"
232
local Effects = IT("Folder", Weapon)
233
Effects.Name = "Effects"
234
local ANIMATOR = Humanoid.Animator
235
local ANIMATE = Character:FindFirstChild("Animate")
236
local UNANCHOR = true
237
local TOBANISH = {}
238
script.Parent = PlayerGui
239
240
--//=================================\\
241
--\\=================================//
242
243
244
--//=================================\\
245
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
246
--\\=================================//
247
248
ArtificialHB = Instance.new("BindableEvent", script)
249
ArtificialHB.Name = "ArtificialHB"
250
251
script:WaitForChild("ArtificialHB")
252
253
frame = Frame_Speed
254
tf = 0
255
allowframeloss = false
256
tossremainder = false
257
lastframe = tick()
258
script.ArtificialHB:Fire()
259
260
game:GetService("RunService").Heartbeat:connect(function(s, p)
261
	tf = tf + s
262
	if tf >= frame then
263
		if allowframeloss then
264
			script.ArtificialHB:Fire()
265
			lastframe = tick()
266
		else
267
			for i = 1, math.floor(tf / frame) do
268
				script.ArtificialHB:Fire()
269
			end
270
		lastframe = tick()
271
		end
272
		if tossremainder then
273
			tf = 0
274
		else
275
			tf = tf - frame * math.floor(tf / frame)
276
		end
277
	end
278
end)
279
280
--//=================================\\
281
--\\=================================//
282
283
--//=================================\\
284
--|| 	      SOME FUNCTIONS
285
--\\=================================//
286
287
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
288
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
289
end
290
291
function PositiveAngle(NUMBER)
292
	if NUMBER >= 0 then
293
		NUMBER = 0
294
	end
295
	return NUMBER
296
end
297
298
function NegativeAngle(NUMBER)
299
	if NUMBER <= 0 then
300
		NUMBER = 0
301
	end
302
	return NUMBER
303
end
304
305
function Swait(NUMBER)
306
	if NUMBER == 0 or NUMBER == nil then
307
		ArtificialHB.Event:wait()
308
	else
309
		for i = 1, NUMBER do
310
			ArtificialHB.Event:wait()
311
		end
312
	end
313
end
314
315
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
316
	local NEWMESH = IT(MESH)
317
	if MESH == "SpecialMesh" then
318
		NEWMESH.MeshType = MESHTYPE
319
		if MESHID ~= "nil" and MESHID ~= "" then
320
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
321
		end
322
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
323
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
324
		end
325
	end
326
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
327
	NEWMESH.Scale = SCALE
328
	NEWMESH.Parent = PARENT
329
	return NEWMESH
330
end
331
332
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
333
	local NEWPART = IT("Part")
334
	NEWPART.formFactor = FORMFACTOR
335
	NEWPART.Reflectance = REFLECTANCE
336
	NEWPART.Transparency = TRANSPARENCY
337
	NEWPART.CanCollide = false
338
	NEWPART.Locked = true
339
	NEWPART.Anchored = true
340
	if ANCHOR == false then
341
		NEWPART.Anchored = false
342
	end
343
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
344
	NEWPART.Name = NAME
345
	NEWPART.Size = SIZE
346
	NEWPART.Position = Torso.Position
347
	NEWPART.Material = MATERIAL
348
	NEWPART:BreakJoints()
349
	NEWPART.Parent = PARENT
350
	return NEWPART
351
end
352
353
	local function weldBetween(a, b)
354
	    local weldd = Instance.new("ManualWeld")
355
	    weldd.Part0 = a
356
	    weldd.Part1 = b
357
	    weldd.C0 = CFrame.new()
358
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
359
	    weldd.Parent = a
360
	    return weldd
361
	end
362
363
364
function QuaternionFromCFrame(cf)
365
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
366
	local trace = m00 + m11 + m22
367
	if trace > 0 then 
368
		local s = math.sqrt(1 + trace)
369
		local recip = 0.5 / s
370
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
371
	else
372
		local i = 0
373
		if m11 > m00 then
374
			i = 1
375
		end
376
		if m22 > (i == 0 and m00 or m11) then
377
			i = 2
378
		end
379
		if i == 0 then
380
			local s = math.sqrt(m00 - m11 - m22 + 1)
381
			local recip = 0.5 / s
382
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
383
		elseif i == 1 then
384
			local s = math.sqrt(m11 - m22 - m00 + 1)
385
			local recip = 0.5 / s
386
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
387
		elseif i == 2 then
388
			local s = math.sqrt(m22 - m00 - m11 + 1)
389
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
390
		end
391
	end
392
end
393
 
394
function QuaternionToCFrame(px, py, pz, x, y, z, w)
395
	local xs, ys, zs = x + x, y + y, z + z
396
	local wx, wy, wz = w * xs, w * ys, w * zs
397
	local xx = x * xs
398
	local xy = x * ys
399
	local xz = x * zs
400
	local yy = y * ys
401
	local yz = y * zs
402
	local zz = z * zs
403
	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))
404
end
405
 
406
function QuaternionSlerp(a, b, t)
407
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
408
	local startInterp, finishInterp;
409
	if cosTheta >= 0.0001 then
410
		if (1 - cosTheta) > 0.0001 then
411
			local theta = ACOS(cosTheta)
412
			local invSinTheta = 1 / SIN(theta)
413
			startInterp = SIN((1 - t) * theta) * invSinTheta
414
			finishInterp = SIN(t * theta) * invSinTheta
415
		else
416
			startInterp = 1 - t
417
			finishInterp = t
418
		end
419
	else
420
		if (1 + cosTheta) > 0.0001 then
421
			local theta = ACOS(-cosTheta)
422
			local invSinTheta = 1 / SIN(theta)
423
			startInterp = SIN((t - 1) * theta) * invSinTheta
424
			finishInterp = SIN(t * theta) * invSinTheta
425
		else
426
			startInterp = t - 1
427
			finishInterp = t
428
		end
429
	end
430
	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
431
end
432
433
function Clerp(a, b, t)
434
	local qa = {QuaternionFromCFrame(a)}
435
	local qb = {QuaternionFromCFrame(b)}
436
	local ax, ay, az = a.x, a.y, a.z
437
	local bx, by, bz = b.x, b.y, b.z
438
	local _t = 1 - t
439
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
440
end
441
442
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
443
	local frame = IT("Frame")
444
	frame.BackgroundTransparency = TRANSPARENCY
445
	frame.BorderSizePixel = BORDERSIZEPIXEL
446
	frame.Position = POSITION
447
	frame.Size = SIZE
448
	frame.BackgroundColor3 = COLOR
449
	frame.BorderColor3 = BORDERCOLOR
450
	frame.Name = NAME
451
	frame.Parent = PARENT
452
	return frame
453
end
454
455
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
456
	local label = IT("TextLabel")
457
	label.BackgroundTransparency = 1
458
	label.Size = UD2(1, 0, 1, 0)
459
	label.Position = UD2(0, 0, 0, 0)
460
	label.TextColor3 = TEXTCOLOR
461
	label.TextStrokeTransparency = STROKETRANSPARENCY
462
	label.TextTransparency = TRANSPARENCY
463
	label.FontSize = TEXTFONTSIZE
464
	label.Font = TEXTFONT
465
	label.BorderSizePixel = BORDERSIZEPIXEL
466
	label.TextScaled = false
467
	label.Text = TEXT
468
	label.Name = NAME
469
	label.Parent = PARENT
470
	return label
471
end
472
473
function NoOutlines(PART)
474
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
475
end
476
477
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
478
	local NEWWELD = IT(TYPE)
479
	NEWWELD.Part0 = PART0
480
	NEWWELD.Part1 = PART1
481
	NEWWELD.C0 = C0
482
	NEWWELD.C1 = C1
483
	NEWWELD.Parent = PARENT
484
	return NEWWELD
485
end
486
487
local S = IT("Sound")
488
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
489
	local NEWSOUND = nil
490
	coroutine.resume(coroutine.create(function()
491
		NEWSOUND = S:Clone()
492
		NEWSOUND.Parent = PARENT
493
		NEWSOUND.Volume = VOLUME
494
		NEWSOUND.Pitch = PITCH
495
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
496
		NEWSOUND:play()
497
		if DOESLOOP == true then
498
			NEWSOUND.Looped = true
499
		else
500
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
501
			NEWSOUND:remove()
502
		end
503
	end))
504
	return NEWSOUND
505
end
506
507
function CFrameFromTopBack(at, top, back)
508
	local right = top:Cross(back)
509
	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)
510
end
511
512
--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})
513
function WACKYEFFECT(Table)
514
	local TYPE = (Table.EffectType or "Sphere")
515
	local SIZE = (Table.Size or VT(1,1,1))
516
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
517
	local TRANSPARENCY = (Table.Transparency or 0)
518
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
519
	local CFRAME = (Table.CFrame or Torso.CFrame)
520
	local MOVEDIRECTION = (Table.MoveToPos or nil)
521
	local ROTATION1 = (Table.RotationX or 0)
522
	local ROTATION2 = (Table.RotationY or 0)
523
	local ROTATION3 = (Table.RotationZ or 0)
524
	local MATERIAL = (Table.Material or "Neon")
525
	local COLOR = (Table.Color or C3(1,1,1))
526
	local TIME = (Table.Time or 45)
527
	local SOUNDID = (Table.SoundID or nil)
528
	local SOUNDPITCH = (Table.SoundPitch or nil)
529
	local SOUNDVOLUME = (Table.SoundVolume or nil)
530
	coroutine.resume(coroutine.create(function()
531
		local PLAYSSOUND = false
532
		local SOUND = nil
533
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
534
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
535
			PLAYSSOUND = true
536
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
537
		end
538
		EFFECT.Color = COLOR
539
		local MSH = nil
540
		if TYPE == "Sphere" then
541
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
542
		elseif TYPE == "Block" then
543
			MSH = IT("BlockMesh",EFFECT)
544
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
545
		elseif TYPE == "Wave" then
546
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
547
		elseif TYPE == "Ring" then
548
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
549
		elseif TYPE == "Slash" then
550
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
551
		elseif TYPE == "Round Slash" then
552
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
553
		elseif TYPE == "Swirl" then
554
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
555
		elseif TYPE == "Skull" then
556
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
557
		elseif TYPE == "Crystal" then
558
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
559
		end
560
		if MSH ~= nil then
561
			local MOVESPEED = nil
562
			if MOVEDIRECTION ~= nil then
563
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
564
			end
565
			local GROWTH = SIZE - ENDSIZE
566
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
567
			if TYPE == "Block" then
568
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
569
			else
570
				EFFECT.CFrame = CFRAME
571
			end
572
			for LOOP = 1, TIME+1 do
573
				Swait()
574
				MSH.Scale = MSH.Scale - GROWTH/TIME
575
				if TYPE == "Wave" then
576
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
577
				end
578
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
579
				if TYPE == "Block" then
580
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
581
				else
582
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
583
				end
584
				if MOVEDIRECTION ~= nil then
585
					local ORI = EFFECT.Orientation
586
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
587
					EFFECT.Orientation = ORI
588
				end
589
			end
590
			if PLAYSSOUND == false then
591
				EFFECT:remove()
592
			else
593
				SOUND.Stopped:Connect(function()
594
					EFFECT:remove()
595
				end)
596
			end
597
		else
598
			if PLAYSSOUND == false then
599
				EFFECT:remove()
600
			else
601
				repeat Swait() until SOUND.Playing == false
602
				EFFECT:remove()
603
			end
604
		end
605
	end))
606
end
607
608
function MakeForm(PART,TYPE)
609
	if TYPE == "Cyl" then
610
		local MSH = IT("CylinderMesh",PART)
611
	elseif TYPE == "Ball" then
612
		local MSH = IT("SpecialMesh",PART)
613
		MSH.MeshType = "Sphere"
614
	elseif TYPE == "Wedge" then
615
		local MSH = IT("SpecialMesh",PART)
616
		MSH.MeshType = "Wedge"
617
	end
618
end
619
620
function SpawnTrail(FROM,TO,BIG)
621
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really white", "Trail", VT(0,0,0))
622
	MakeForm(TRAIL,"Cyl")
623
	local DIST = (FROM - TO).Magnitude
624
	if BIG == true then
625
		TRAIL.Size = VT(0.5,DIST,0.5)
626
	else
627
		TRAIL.Size = VT(0.25,DIST,0.25)
628
	end
629
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
630
	coroutine.resume(coroutine.create(function()
631
		for i = 1, 5 do
632
			Swait()
633
			TRAIL.Transparency = TRAIL.Transparency + 0.1
634
		end
635
		TRAIL:remove()
636
	end))
637
end
638
639
Debris = game:GetService("Debris")
640
641
function CastProperRay(StartPos, EndPos, Distance, Ignore)
642
	local DIRECTION = CF(StartPos,EndPos).lookVector
643
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
644
end
645
646
function turnto(position)
647
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
648
end
649
local asd = Instance.new("ParticleEmitter")
650
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
651
asd.LightEmission = .1
652
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
653
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
654
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
655
asd.Transparency = bbb
656
asd.Size = aaa
657
asd.ZOffset = .9
658
asd.Acceleration = Vector3.new(0, -15, 0)
659
asd.LockedToPart = false
660
asd.EmissionDirection = "Back"
661
asd.Lifetime = NumberRange.new(1, 2)
662
asd.Rotation = NumberRange.new(-100, 100)
663
asd.RotSpeed = NumberRange.new(-100, 100)
664
asd.Speed = NumberRange.new(10)
665
asd.Enabled = false
666
asd.VelocitySpread = 999
667
668
function getbloody(victim,amount)
669
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
670
	PART.CFrame = victim.CFrame
671
	local HITPLAYERSOUNDS = {"356551938","264486467"}
672
	Debris:AddItem(PART,5)
673
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
674
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
675
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
676
	local prtcl = asd:Clone()
677
	prtcl.Parent = PART
678
	prtcl:Emit(amount*10)
679
end
680
681
local Particle = IT("ParticleEmitter",nil)
682
Particle.Enabled = false
683
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
684
Particle.LightEmission = 0.5
685
Particle.Rate = 150
686
Particle.ZOffset = 1
687
Particle.Rotation = NumberRange.new(-180, 180)
688
Particle.RotSpeed = NumberRange.new(-180, 180)
689
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
690
Particle.Color = ColorSequence.new(C3(255, 255, 255),C3(0.4,0,0))
691
692
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
693
function ParticleEmitter(Table)
694
	local PRTCL = Particle:Clone()
695
	local Speed = Table.Speed or 5
696
	local Drag = Table.Drag or 0
697
	local Size1 = Table.Size1 or 1
698
	local Size2 = Table.Size2 or 5
699
	local Lifetime1 = Table.Lifetime1 or 1
700
	local Lifetime2 = Table.Lifetime2 or 1.5
701
	local Parent = Table.Parent or Torso
702
	local Emit = Table.Emit or 100
703
	local Offset = Table.Offset or 360
704
	local Acel = Table.Acel or VT(0,0,0)
705
	local Enabled = Table.Enabled or false
706
	PRTCL.Parent = Parent
707
	PRTCL.Size = NumberSequence.new(Size1,Size2)
708
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
709
	PRTCL.Speed = NumberRange.new(Speed)
710
	PRTCL.VelocitySpread = Offset
711
	PRTCL.Drag = Drag
712
	PRTCL.Acceleration = Acel
713
	if Enabled == false then
714
		PRTCL:Emit(Emit)
715
		Debris:AddItem(PRTCL,Lifetime2)
716
	else
717
		PRTCL.Enabled = true
718
	end
719
	return PRTCL
720
end
721
722
--//=================================\\
723
--||	     WEAPON CREATION
724
--\\=================================//
725
726
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really white", "Hood", VT(1,1,1),false)
727
PRT.Color = C3(0,0,0)
728
local HoodWeld = CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.2,0), CF(0, 0, 0))
729
CreateMesh("SpecialMesh", PRT, "FileMesh", "76062497", "", VT(1,1,1)*1.05, VT(0,0,0))
730
local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Really white", "Scarf", VT(1,1,1),false)
731
PRT.Color = C3(0,0,0)
732
CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
733
CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
734
for i = 1, 16 do
735
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/16.2, "Dark stone grey", "FaceGradient", VT(1.01,0.65,1.01),false)
736
	FACE.Color = C3(0,0,0)
737
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
738
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
739
end
740
local LASTPART = Head
741
for i = 1, 20 do
742
	local MATH = (1-(i/25))
743
	if LASTPART == Head then
744
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
745
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
746
		LASTPART = Horn
747
		Horn.Color = C3((i*3-3)/255,0,0)
748
	else
749
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
750
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
751
		LASTPART = Horn
752
		Horn.Color = C3((i*3-3)/255,0,0)
753
	end
754
end
755
local LASTPART = Head
756
for i = 1, 20 do
757
	local MATH = (1-(i/25))
758
	if LASTPART == Head then
759
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
760
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
761
		LASTPART = Horn
762
		Horn.Color = C3((i*3-3)/255,0,0)
763
	else
764
		local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
765
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
766
		LASTPART = Horn
767
		Horn.Color = C3((i*3-3)/255,0,0)
768
	end
769
end
770
local Hair = CreatePart(3, Character, "Fabric", 0, 0, "Really blue", "Hair", VT(1,1,1),false)
771
local HairWeld1 = CreateWeldOrSnapOrMotor("Weld", Hair, Head, Hair, CF(0,0.1,-0.25) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
772
CreateMesh("SpecialMesh", Hair, "FileMesh", "873651376", "", VT(0.025, 0.025, 0.02), VT(0,0,0))
773
local Hair = CreatePart(3, Character, "Fabric", 0, 0, "Really red", "Hair", VT(1,1,1),false)
774
local HairWeld2 = CreateWeldOrSnapOrMotor("Weld", Hair, Head, Hair, CF(0,0.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
775
CreateMesh("SpecialMesh", Hair, "FileMesh", "873651376", "", VT(0.03, 0.015, 0.01), VT(0,0,-0.1))
776
777
local BODY = {}
778
779
for _, c in pairs(Character:GetDescendants()) do
780
	if c:IsA("BasePart") and c.Name ~= "Handle" then
781
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
782
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
783
		end
784
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
785
	elseif c:IsA("JointInstance") then
786
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
787
	end
788
end
789
790
for e = 1, #BODY do
791
	if BODY[e] ~= nil then
792
		local STUFF = BODY[e]
793
		local PART = STUFF[1]
794
		local PARENT = STUFF[2]
795
		local MATERIAL = STUFF[3]
796
		local COLOR = STUFF[4]
797
		local TRANSPARENCY = STUFF[5]
798
		if PART.ClassName == "Part" and PART ~= RootPart then
799
			PART.Material = MATERIAL
800
			PART.Color = COLOR
801
			PART.Transparency = TRANSPARENCY
802
		end
803
		PART.AncestryChanged:Connect(function()
804
			PART.Parent = PARENT
805
		end)
806
	end
807
end
808
809
function refit()
810
	Character.Parent = workspace
811
	for e = 1, #BODY do
812
		if BODY[e] ~= nil then
813
			local STUFF = BODY[e]
814
			local PART = STUFF[1]
815
			local PARENT = STUFF[2]
816
			local MATERIAL = STUFF[3]
817
			local COLOR = STUFF[4]
818
			local TRANSPARENCY = STUFF[5]
819
			if PART.ClassName == "Part" and PART ~= RootPart then
820
				PART.Material = MATERIAL
821
				PART.Color = COLOR
822
				PART.Transparency = TRANSPARENCY
823
			end
824
			if PART.Parent ~= PARENT then
825
				Humanoid:remove()
826
				PART.Parent = PARENT
827
				Humanoid = IT("Humanoid",Character)
828
			end
829
		end
830
	end
831
end
832
833
834
function CreateDebreeRing(FLOOR, POSITION, SIZE, BLOCKSIZE, SWAIT)
835
	if FLOOR ~= nil then
836
		coroutine.resume(coroutine.create(function()
837
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0, 0, 0))
838
			PART.CFrame = CF(POSITION)
839
			for i = 1, 45 do
840
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
841
				RingPiece.Material = FLOOR.Material
842
				RingPiece.Color = FLOOR.Color
843
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i * 8), RAD(0)) * CF(SIZE * 4, 0, 0) * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
844
				Debris:AddItem(RingPiece, SWAIT)
845
			end
846
			PART:remove()
847
		end))
848
	end
849
end
850
function CreateFlyingDebree(FLOOR, POSITION, AMOUNT, BLOCKSIZE, SWAIT, STRENGTH)
851
	if FLOOR ~= nil then
852
		for i = 1, AMOUNT do
853
			do
854
				local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
855
				DEBREE.Material = FLOOR.Material
856
				DEBREE.Color = FLOOR.Color
857
				DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)))
858
				DEBREE.Velocity = VT(MRANDOM(-STRENGTH, STRENGTH), MRANDOM(-STRENGTH, STRENGTH), MRANDOM(-STRENGTH, STRENGTH))
859
				coroutine.resume(coroutine.create(function()
860
					Swait(15)
861
					DEBREE.Parent = workspace
862
					DEBREE.CanCollide = true
863
					Debris:AddItem(DEBREE, SWAIT)
864
				end))
865
			end
866
		end
867
	end
868
end
869
870
local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
871
MakeForm(LeftHole,"Cyl")
872
CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, LeftHole, CF(0, 2.5, 0), CF(0, 0, 0))
873
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really blue", "Eye", VT(0.6,0.1,1)/2,false)
874
MakeForm(Eye,"Ball")
875
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
876
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really blue", "Eye", VT(0.6,0.1,1)/2,false)
877
MakeForm(Eye,"Ball")
878
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
879
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eye", VT(0.1,1,1)/2,false)
880
MakeForm(Eye,"Ball")
881
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
882
local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eye", VT(0.1,1,1)/2,false)
883
MakeForm(Eye,"Ball")
884
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
885
local A = IT("Attachment",Torso)
886
A.Position = VT(1,1.3,0)
887
A.Orientation = VT(-0.098, -89.999, 0.227)
888
local B = IT("Attachment",Torso)
889
B.Position = VT(-1.3,-0.6,0)
890
B.Orientation = VT(-88.911, -68.808, 158.782)
891
local ChainLink = IT("Beam",Torso)
892
ChainLink.Texture = "rbxassetid://73042633"
893
ChainLink.Color = ColorSequence.new(C3(0, 0, 255))
894
ChainLink.TextureSpeed = 1
895
ChainLink.FaceCamera = true
896
ChainLink.Width0 = 1
897
ChainLink.Width1 = 1
898
ChainLink.TextureLength = 3
899
ChainLink.Attachment0 = A
900
ChainLink.Attachment1 = B
901
ChainLink.CurveSize0 = 1.6
902
ChainLink.CurveSize1 = 1.6
903
ChainLink.FaceCamera = true
904
ChainLink.Transparency = NumberSequence.new(0)
905
local ChainLink = IT("Beam",Torso)
906
ChainLink.Texture = "rbxassetid://73042633"
907
ChainLink.Color = ColorSequence.new(C3(0, 0, 255))
908
ChainLink.TextureSpeed = 1
909
ChainLink.FaceCamera = true
910
ChainLink.Width0 = 1
911
ChainLink.Width1 = 1
912
ChainLink.TextureLength = 3
913
ChainLink.Attachment0 = B
914
ChainLink.Attachment1 = A
915
ChainLink.CurveSize0 = 1.6
916
ChainLink.CurveSize1 = 1.6
917
ChainLink.FaceCamera = true
918
ChainLink.Transparency = NumberSequence.new(0)
919
local A = IT("Attachment",Torso)
920
A.Position = VT(1.3,-0.85,0)
921
A.Orientation = VT(-0.098, -89.999, 0.227)
922
local B = IT("Attachment",Torso)
923
B.Position = VT(-1,2,0)
924
B.Orientation = VT(-88.911, -68.808, 158.782)
925
local ChainLink = IT("Beam",Torso)
926
ChainLink.Texture = "rbxassetid://73042633"
927
ChainLink.Color = ColorSequence.new(C3(1,0,0))
928
ChainLink.TextureSpeed = 1
929
ChainLink.FaceCamera = true
930
ChainLink.Width0 = 1
931
ChainLink.Width1 = 1
932
ChainLink.TextureLength = 3
933
ChainLink.Attachment0 = A
934
ChainLink.Attachment1 = B
935
ChainLink.CurveSize0 = 1.3
936
ChainLink.CurveSize1 = 1.3
937
ChainLink.FaceCamera = true
938
ChainLink.Transparency = NumberSequence.new(0)
939
local ChainLink = IT("Beam",Torso)
940
ChainLink.Texture = "rbxassetid://73042633"
941
ChainLink.Color = ColorSequence.new(C3(1,0,0))
942
ChainLink.TextureSpeed = 1
943
ChainLink.FaceCamera = true
944
ChainLink.Width0 = 1
945
ChainLink.Width1 = 1
946
ChainLink.TextureLength = 3
947
ChainLink.Attachment0 = B
948
ChainLink.Attachment1 = A
949
ChainLink.CurveSize0 = 1.3
950
ChainLink.CurveSize1 = 1.3
951
ChainLink.FaceCamera = true
952
ChainLink.Transparency = NumberSequence.new(0)
953
954
local A = IT("Attachment",RightBarrel)
955
A.Position = VT(0,-2.5,0)
956
local B = IT("Attachment",RightBarrel)
957
B.Position = VT(0,2.5,0)
958
local Trail = IT("Trail",RightBarrel)
959
Trail.Attachment0 = A
960
Trail.Attachment1 = B
961
Trail.Lifetime = 0.2
962
Trail.Color = ColorSequence.new(BRICKC"Really white".Color)
963
Trail.Transparency = NumberSequence.new(0, 1)
964
Trail.Enabled = false
965
966
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = RightLeg, Emit = 100, Offset = 360, Enabled = true})
967
PRT.LockedToPart = true
968
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = LeftLeg, Emit = 100, Offset = 360, Enabled = true})
969
PRT.LockedToPart = true
970
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.3, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = true})
971
PRT.LockedToPart = true
972
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = RightArm, Emit = 100, Offset = 360, Enabled = true})
973
PRT.LockedToPart = true
974
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 0.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = LeftArm, Emit = 100, Offset = 360, Enabled = true})
975
PRT.LockedToPart = true
976
for _, c in pairs(Character:GetDescendants()) do
977
	if c and c.Parent then
978
		if c.Name == "Handle" and c.Parent.ClassName == "Accessory" then
979
			local ACCESSORY = c.Parent
980
			c.Parent = Character
981
			if c then
982
				if c:FindFirstChild("HatAttachment") or c:FindFirstChild("FaceFrontAttachment") or c:FindFirstChild("HairAttachment") then
983
					weldBetween(Head,c)
984
				else
985
					weldBetween(Torso,c)
986
				end
987
			end
988
		end
989
	end
990
end
991
local BODY = {}
992
for _, c in pairs(Character:GetDescendants()) do
993
	if c:IsA("BasePart") and c.Name ~= "Handle" then
994
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
995
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
996
		end
997
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
998
	elseif c:IsA("JointInstance") then
999
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
1000
	end
1001
end
1002
function refit()
1003
	Character.Parent = workspace
1004
	for e = 1, #BODY do
1005
		if BODY[e] ~= nil then
1006
			local STUFF = BODY[e]
1007
			local PART = STUFF[1]
1008
			local PARENT = STUFF[2]
1009
			local MATERIAL = STUFF[3]
1010
			local COLOR = STUFF[4]
1011
			local TRANSPARENCY = STUFF[5]
1012
			--local SIZE = STUFF[6]
1013
			local NAME = STUFF[7]
1014
			if PART.ClassName == "Part" and PART ~= RootPart then
1015
				PART.Material = MATERIAL
1016
				PART.Transparency = TRANSPARENCY
1017
				PART.Name = NAME
1018
			end
1019
			if PART.Parent ~= PARENT then
1020
				Humanoid:remove()
1021
				PART.Parent = PARENT
1022
				Humanoid = IT("Humanoid",Character)
1023
			end
1024
		end
1025
	end
1026
end
1027
1028
1029
local Particle = IT("ParticleEmitter",nil)
1030
Particle.Enabled = false
1031
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1032
Particle.LightEmission = 0.5
1033
Particle.Rate = 150
1034
Particle.ZOffset = 0.2
1035
Particle.Rotation = NumberRange.new(-180, 180)
1036
Particle.RotSpeed = NumberRange.new(-180, 180)
1037
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1038
Particle.Color = ColorSequence.new(C3(255,255,255),C3(0.4,0,0))
1039
1040
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1041
function ParticleEmitter(Table)
1042
	local PRTCL = Particle:Clone()
1043
	local Speed = Table.Speed or 5
1044
	local Drag = Table.Drag or 0
1045
	local Size1 = Table.Size1 or 1
1046
	local Size2 = Table.Size2 or 5
1047
	local Lifetime1 = Table.Lifetime1 or 1
1048
	local Lifetime2 = Table.Lifetime2 or 1.5
1049
	local Parent = Table.Parent or Torso
1050
	local Emit = Table.Emit or 100
1051
	local Offset = Table.Offset or 360
1052
	local Acel = Table.Acel or VT(0,0,0)
1053
	local Enabled = Table.Enabled or false
1054
	PRTCL.Parent = Parent
1055
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1056
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1057
	PRTCL.Speed = NumberRange.new(Speed)
1058
	PRTCL.VelocitySpread = Offset
1059
	PRTCL.Drag = Drag
1060
	PRTCL.Acceleration = Acel
1061
	if Enabled == false then
1062
		PRTCL:Emit(Emit)
1063
		Debris:AddItem(PRTCL,Lifetime2)
1064
	else
1065
		PRTCL.Enabled = true
1066
	end
1067
	return PRTCL
1068
end
1069
1070
local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1071
local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1072
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1073
MakeForm(Part,"Wedge")
1074
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1075
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1076
MakeForm(Part,"Wedge")
1077
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1078
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1079
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1080
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1081
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1082
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1083
MakeForm(Part,"Cyl")
1084
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1085
for i = 1, 8 do
1086
	local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1087
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1088
end
1089
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1090
MakeForm(Part,"Cyl")
1091
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1092
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1093
MakeForm(Part,"Ball")
1094
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1095
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1096
MakeForm(Part,"Wedge")
1097
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1098
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1099
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1100
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1101
MakeForm(Part,"Cyl")
1102
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1103
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1104
MakeForm(Part,"Cyl")
1105
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1106
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1107
MakeForm(Part,"Cyl")
1108
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1109
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1110
MakeForm(Part,"Wedge")
1111
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1112
local LASTPART = Handle
1113
for i = 1, 10 do
1114
	if LASTPART == Handle then
1115
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1116
		LASTPART = Part
1117
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1118
	else
1119
		local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1120
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1121
		LASTPART = Part
1122
	end
1123
end
1124
1125
local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1126
MakeForm(Barrel,"Cyl")
1127
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1128
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1129
MakeForm(Part,"Cyl")
1130
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1131
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1132
MakeForm(Part,"Wedge")
1133
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1134
local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1135
MakeForm(Hole,"Cyl")
1136
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1137
local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1138
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1139
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1140
local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1141
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1142
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1143
coroutine.resume(coroutine.create(function()
1144
	while wait() do
1145
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1146
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1147
	end
1148
end))
1149
1150
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)})
1151
--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)})
1152
1153
for _, c in pairs(Weapon:GetDescendants()) do
1154
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1155
		c.Material = "Glass"
1156
		c.Color = C3(255,255,255)
1157
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1158
		c.Color = C3(255,255,255)
1159
		c.Material = "Neon"
1160
	end
1161
end
1162
1163
Weapon.Parent = Character
1164
for _, c in pairs(Weapon:GetChildren()) do
1165
	if c.ClassName == "Part" then
1166
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1167
	end
1168
end
1169
1170
local SKILLTEXTCOLOR = C3(255,255,255)
1171
local SKILLFONT = "Antique"
1172
local SKILLTEXTSIZE = 7
1173
1174
Humanoid.Died:connect(function()
1175
	ATTACK = true
1176
end)
1177
1178
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.13, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
1179
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.60, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
1180
1181
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Bullet", SKILLTEXTCOLOR, 7, "Garamond", 0, 2, 1, "Text 1")
1182
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Smash", SKILLTEXTCOLOR, 7, "Garamond", 0, 2, 1, "Text 2")
1183
1184
function printbye(Name)
1185
	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, "}
1186
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")	
1187
end
1188
1189
workspace.ChildAdded:connect(function(instance)
1190
    for BANISH = 1, #TOBANISH do
1191
		if TOBANISH[BANISH] ~= nil then
1192
			if instance.Name == TOBANISH[BANISH] then
1193
				coroutine.resume(coroutine.create(function()
1194
					printbye(instance.Name)
1195
					instance:ClearAllChildren()
1196
					Debris:AddItem(instance,0.0005)
1197
				end))
1198
			end
1199
		end
1200
	end
1201
end)
1202
1203
--//=================================\\
1204
--||			DAMAGING
1205
--\\=================================//
1206
1207
function Banish(Foe)
1208
	if Foe then
1209
		coroutine.resume(coroutine.create(function()
1210
			--if game.Players:FindFirstChild(Foe.Name) then
1211
				table.insert(TOBANISH,Foe.Name)
1212
				printbye(Foe.Name)
1213
			--end
1214
			Foe.Archivable = true
1215
			local CLONE = Foe:Clone()
1216
			Foe:Destroy()
1217
			CLONE.Parent = Effects
1218
			CLONE:BreakJoints()
1219
			local MATERIALS = {"Glass","Neon"}
1220
			for _, c in pairs(CLONE:GetDescendants()) do
1221
				if c:IsA("BasePart") then
1222
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1223
 						CreateSound(340722848, c, 10, 1, false)
1224
					end
1225
					c.Anchored = true
1226
					c.Transparency = c.Transparency + 0.2
1227
					c.Material = MATERIALS[MRANDOM(1,2)]
1228
					c.Color = C3(255, 255, 255)
1229
					if c.ClassName == "MeshPart" then
1230
						c.TextureID = ""
1231
					end
1232
					if c:FindFirstChildOfClass("SpecialMesh") then
1233
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1234
					end
1235
					if c:FindFirstChildOfClass("Decal") then
1236
						c:FindFirstChildOfClass("Decal"):remove()
1237
					end
1238
					c.Name = "Banished"
1239
					c.CanCollide = false
1240
				else
1241
					c:remove()
1242
				end
1243
			end
1244
			local A = false
1245
			for i = 1, 35 do
1246
				if A == false then
1247
					A = true
1248
				elseif A == true then
1249
					A = false
1250
				end
1251
				for _, c in pairs(CLONE:GetDescendants()) do
1252
					if c:IsA("BasePart") then
1253
						c.Anchored = true
1254
						c.Material = MATERIALS[MRANDOM(1,2)]
1255
						c.Transparency = c.Transparency + 0.8/35
1256
						if A == false then
1257
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1258
						elseif A == true then
1259
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1260
						end
1261
					end
1262
				end
1263
				Swait()
1264
			end
1265
			CLONE:remove()
1266
		end))
1267
	end
1268
end
1269
1270
function ApplyAoE(POSITION,RANGE,ISBANISH)
1271
	local CHILDREN = workspace:GetDescendants()
1272
	for index, CHILD in pairs(CHILDREN) do
1273
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1274
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1275
			if HUM then
1276
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1277
				if TORSO then
1278
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1279
						if ISBANISH == true then
1280
							Banish(CHILD)
1281
						else
1282
							if ISBANISH == "Gravity" then
1283
								HUM.PlatformStand = true
1284
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1285
									local grav = Instance.new("BodyPosition",TORSO)
1286
									grav.D = 15
1287
									grav.P = 20000
1288
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1289
									grav.position = TORSO.Position
1290
									grav.Name = "V3BanishForce"..Player.Name
1291
								else
1292
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1293
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1294
								end
1295
							else
1296
								HUM.PlatformStand = false
1297
							end
1298
						end
1299
					elseif ISBANISH == "Gravity" then
1300
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1301
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1302
							HUM.PlatformStand = false
1303
						end
1304
					end
1305
				end
1306
			end
1307
		end
1308
	end
1309
end
1310
1311
--//=================================\\
1312
--||	ATTACK FUNCTIONS AND STUFF
1313
--\\=================================//
1314
1315
function Extreme_Offset()
1316
	local HITFLOOR, HITPOS = Raycast(Mouse.Hit.p + VT(0, 1, 0), CF(Mouse.Hit.p + VT(0, 1, 0), Mouse.Hit.p - VT(0, 1, 0)).lookVector, 25, Character)
1317
	if HITFLOOR then
1318
		local ORIGINPOS = VT(RootPart.Position.X, HITPOS.Y + 8, RootPart.Position.Z)
1319
		CreateSound("1295446488", Torso, 5, 1)
1320
		for i = 1, 5 do
1321
			WACKYEFFECT({
1322
				Time = MRANDOM(15, 35),
1323
				EffectType = "Round Slash",
1324
				Size = VT(0, 0, 0),
1325
				Size2 = VT(0.3, 0, 0.3),
1326
				Transparency = 0.5,
1327
				Transparency2 = 1,
1328
				CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
1329
				MoveToPos = nil,
1330
				RotationX = MRANDOM(-50, 50) / 10,
1331
				RotationY = MRANDOM(-50, 50) / 10,
1332
				RotationZ = MRANDOM(-50, 50) / 10,
1333
				Material = "Neon",
1334
				Color = C3(1, 1, 1),
1335
				SoundID = nil,
1336
				SoundPitch = nil,
1337
				SoundVolume = nil
1338
			})
1339
		end
1340
		ATTACK = true
1341
		Rooted = true
1342
		UNANCHOR = false
1343
		RootPart.Anchored = true
1344
		RootPart.CFrame = CF(HITPOS + VT(0, 8, 0), ORIGINPOS) * ANGLES(RAD(0), RAD(180), RAD(0))
1345
		for i = 1, 5 do
1346
			WACKYEFFECT({
1347
				Time = MRANDOM(15, 35),
1348
				EffectType = "Round Slash",
1349
				Size = VT(0, 0, 0),
1350
				Size2 = VT(0.3, 0, 0.3),
1351
				Transparency = 0.5,
1352
				Transparency2 = 1,
1353
				CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(-25, 25)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(-25, 25))),
1354
				MoveToPos = nil,
1355
				RotationX = MRANDOM(-50, 50) / 10,
1356
				RotationY = MRANDOM(-50, 50) / 10,
1357
				RotationZ = MRANDOM(-50, 50) / 10,
1358
				Material = "Neon",
1359
				Color = C3(1, 1, 1),
1360
				SoundID = nil,
1361
				SoundPitch = nil,
1362
				SoundVolume = nil
1363
			})
1364
		end
1365
		for i = 0, 0.2, 0.1 / Animation_Speed do
1366
			Swait()
1367
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(150)), 2 / Animation_Speed)
1368
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1369
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1370
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1371
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1372
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 2 / Animation_Speed)
1373
		end
1374
		for i = 0, 1, 0.1 / Animation_Speed do
1375
			Swait()
1376
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 0.02 / Animation_Speed)
1377
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.02 / Animation_Speed)
1378
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.02 / Animation_Speed)
1379
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.02 / Animation_Speed)
1380
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.02 / Animation_Speed)
1381
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 0.02 / Animation_Speed)
1382
		end
1383
		for i = 1, 10 do
1384
			Swait()
1385
			RootPart.CFrame = RootPart.CFrame * CF(0, -0.4, 0)
1386
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(300)), 1.7 / Animation_Speed)
1387
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1.7 / Animation_Speed)
1388
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 1.7 / Animation_Speed)
1389
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.7 / Animation_Speed)
1390
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.7 / Animation_Speed)
1391
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.7 / Animation_Speed)
1392
		end
1393
		for i = 0, 0.2, 0.1 / Animation_Speed do
1394
			Swait()
1395
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
1396
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
1397
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1398
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
1399
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / Animation_Speed)
1400
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.5 / Animation_Speed)
1401
		end
1402
		local HITFLOOR, HITPOS = Raycast(RightArm.Position, CF(RightArm.Position, RightArm.Position + VT(0, -1, 0)).lookVector, 8, Character)
1403
		if HITFLOOR then
1404
			if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1405
				local CHILDREN = HITFLOOR.Parent:GetDescendants()
1406
				for index, CHILD in pairs(CHILDREN) do
1407
					if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
1408
						for i = 1, 5 do
1409
							CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
1410
							CHILD:remove()
1411
						end
1412
					end
1413
				end
1414
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
1415
				SOUNDPART.CFrame = CF(HITPOS)
1416
				Debris:AddItem(SOUNDPART, 5)
1417
				CreateSound("130972023", SOUNDPART, 6, 3)
1418
				CreateSound("182765513", SOUNDPART, 6, 1)
1419
				WACKYEFFECT({
1420
					EffectType = "Ring",
1421
					Size = VT(0, 0, 0),
1422
					Size2 = VT(1, 1, 0),
1423
					Transparency = 0.7,
1424
					Transparency2 = 1,
1425
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
1426
					MoveToPos = nil,
1427
					RotationX = 0,
1428
					RotationY = 0,
1429
					RotationZ = 0,
1430
					Material = "Neon",
1431
					Color = C3(1, 1, 1),
1432
					SoundID = nil,
1433
					SoundPitch = nil,
1434
					SoundVolume = nil
1435
				})
1436
			elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1437
				local CHILDREN = HITFLOOR.Parent.Parent:GetDescendants()
1438
				for index, CHILD in pairs(CHILDREN) do
1439
					if CHILD:IsA("BasePart") and CHILD.Parent:FindFirstChildOfClass("Humanoid") then
1440
						for i = 1, 5 do
1441
							CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 2, 5, MRANDOM(15, 25))
1442
							CHILD:remove()
1443
						end
1444
					end
1445
				end
1446
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
1447
				SOUNDPART.CFrame = CF(HITPOS)
1448
				Debris:AddItem(SOUNDPART, 5)
1449
				CreateSound("130972023", SOUNDPART, 6, 3)
1450
				CreateSound("182765513", SOUNDPART, 6, 1)
1451
				WACKYEFFECT({
1452
					EffectType = "Ring",
1453
					Size = VT(0, 0, 0),
1454
					Size2 = VT(1, 1, 0),
1455
					Transparency = 0.7,
1456
					Transparency2 = 1,
1457
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
1458
					MoveToPos = nil,
1459
					RotationX = 0,
1460
					RotationY = 0,
1461
					RotationZ = 0,
1462
					Material = "Neon",
1463
					Color = C3(1, 1, 1),
1464
					SoundID = nil,
1465
					SoundPitch = nil,
1466
					SoundVolume = nil
1467
				})
1468
			elseif HITFLOOR.Anchored == false then
1469
				if HITFLOOR.Parent ~= workspace then
1470
					local CHILDREN = HITFLOOR.Parent:GetDescendants()
1471
					for index, CHILD in pairs(CHILDREN) do
1472
						if CHILD:IsA("BasePart") and CHILD.Position.Y < HITPOS.Y then
1473
							for i = 1, 5 do
1474
								CreateFlyingDebree(CHILD, CF(CHILD.Position), 1, CHILD.Size / 3, 5, MRANDOM(15, 25))
1475
							end
1476
							CHILD:remove()
1477
						end
1478
					end
1479
				else
1480
					for i = 1, 5 do
1481
						CreateFlyingDebree(HITFLOOR, CF(HITFLOOR.Position), 1, HITFLOOR.Size / 3, 5, MRANDOM(15, 25))
1482
					end
1483
					HITFLOOR:remove()
1484
				end
1485
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
1486
				SOUNDPART.CFrame = CF(HITPOS)
1487
				Debris:AddItem(SOUNDPART, 5)
1488
				CreateSound("130972023", SOUNDPART, 10, 3)
1489
				CreateSound("178452217", SOUNDPART, 6, 1)
1490
				WACKYEFFECT({
1491
					EffectType = "Ring",
1492
					Size = VT(0, 0, 0),
1493
					Size2 = VT(1, 1, 0),
1494
					Transparency = 0.7,
1495
					Transparency2 = 1,
1496
					CFrame = CF(HITPOS) * ANGLES(RAD(90), RAD(0), RAD(0)),
1497
					MoveToPos = nil,
1498
					RotationX = 0,
1499
					RotationY = 0,
1500
					RotationZ = 0,
1501
					Material = "Neon",
1502
					Color = C3(1, 1, 1),
1503
					SoundID = nil,
1504
					SoundPitch = nil,
1505
					SoundVolume = nil
1506
				})
1507
			else
1508
				local SOUNDPART = CreatePart(3, Effects, "Grass", 0, 1, "Really black", "Sound", VT(0, 0, 0))
1509
				SOUNDPART.CFrame = CF(HITPOS)
1510
				Debris:AddItem(SOUNDPART, 5)
1511
				CreateSound("130972023", SOUNDPART, 10, 1)
1512
				CreateSound("130972023", SOUNDPART, 6, 0.7)
1513
				CreateDebreeRing(HITFLOOR, HITPOS, 5, VT(5, 5, 5), 5)
1514
				CreateDebreeRing(HITFLOOR, HITPOS, 8, VT(8, 8, 8), 5)
1515
				ApplyAoE(HITPOS, 15, 45, 75, 75, false)
1516
				ApplyAoE(HITPOS, 25, 25, 35, 35, false)
1517
				for i = 1, 5 do
1518
					CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10, MRANDOM(10, 30) / 10), 5, MRANDOM(75, 150))
1519
				end
1520
				for i = 1, 5 do
1521
					CreateFlyingDebree(HITFLOOR, CF(HITPOS), 1, VT(MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2, MRANDOM(10, 30) / 2), 5, MRANDOM(75, 150))
1522
				end
1523
			end
1524
		end
1525
		for i = 0, 1.2, 0.1 / Animation_Speed do
1526
			Swait()
1527
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(90)), 1.5 / Animation_Speed)
1528
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 1.5 / Animation_Speed)
1529
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1530
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1.5 / Animation_Speed)
1531
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / Animation_Speed)
1532
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-4), RAD(0), RAD(0)), 1.5 / Animation_Speed)
1533
		end
1534
		ATTACK = false
1535
		Rooted = false
1536
		UNANCHOR = true
1537
		RootPart.Anchored = false
1538
	end
1539
end
1540
1541
function Banisher_Bullet()
1542
	ATTACK = true
1543
	Rooted = false
1544
	for i=0, 0.4, 0.1 / Animation_Speed do
1545
		Swait()
1546
		turnto(Mouse.Hit.p)
1547
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1548
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1549
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1550
                LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1551
		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)
1552
		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)
1553
	end
1554
	repeat
1555
		for i=0, 0.2, 0.1 / Animation_Speed do
1556
			Swait()
1557
			turnto(Mouse.Hit.p)
1558
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1559
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1560
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1561
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1562
                         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)
1563
			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)
1564
		end
1565
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
1566
		SpawnTrail(Hole.Position,POS)
1567
		if HIT ~= nil then
1568
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1569
				Banish(HIT.Parent)
1570
			end
1571
		end
1572
		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(255, 255, 255), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1573
		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(255, 255, 255), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1574
		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(255, 255, 255), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1575
		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(255, 255, 255), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1576
		for i=0, 0.3, 0.1 / Animation_Speed do
1577
			Swait()
1578
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1579
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1580
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1581
LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1582
			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)
1583
			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)
1584
		end
1585
	until KEYHOLD == false
1586
	ATTACK = false
1587
	Rooted = false
1588
end
1589
1590
function AttackTemplate()
1591
	ATTACK = true
1592
	Rooted = false
1593
	for i=0, 1, 0.1 / Animation_Speed do
1594
		Swait()
1595
		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)
1596
		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)
1597
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1598
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1599
		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)
1600
		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)
1601
	end
1602
	ATTACK = false
1603
	Rooted = false
1604
end
1605
1606
--//=================================\\
1607
--||	  ASSIGN THINGS TO KEYS
1608
--\\=================================//
1609
1610
function MouseDown(Mouse)
1611
	if ATTACK == false then
1612
	end
1613
end
1614
1615
function MouseUp(Mouse)
1616
HOLD = false
1617
end
1618
1619
function KeyDown(Key)
1620
	KEYHOLD = true
1621
	if Key == "z" and ATTACK == false then
1622
		Banisher_Bullet()
1623
	end
1624
1625
	if Key == "b" and ATTACK == false then
1626
                Extreme_Offset()
1627
	end
1628
1629
	if Key == "c" and ATTACK == false then
1630
	end
1631
1632
	if Key == "v" and ATTACK == false then
1633
	end
1634
1635
	if Key == "x" and ATTACK == false then
1636
	end
1637
end
1638
1639
function KeyUp(Key)
1640
	KEYHOLD = false
1641
end
1642
1643
	Mouse.Button1Down:connect(function(NEWKEY)
1644
		MouseDown(NEWKEY)
1645
	end)
1646
	Mouse.Button1Up:connect(function(NEWKEY)
1647
		MouseUp(NEWKEY)
1648
	end)
1649
	Mouse.KeyDown:connect(function(NEWKEY)
1650
		KeyDown(NEWKEY)
1651
	end)
1652
	Mouse.KeyUp:connect(function(NEWKEY)
1653
		KeyUp(NEWKEY)
1654
	end)
1655
1656
--//=================================\\
1657
--\\=================================//
1658
1659
1660
function unanchor()
1661
	if UNANCHOR == true then
1662
		g = Character:GetChildren()
1663
		for i = 1, #g do
1664
			if g[i].ClassName == "Part" then
1665
				g[i].Anchored = false
1666
			end
1667
		end
1668
	end
1669
end
1670
1671
1672
--//=================================\\
1673
--||	WRAP THE WHOLE SCRIPT UP
1674
--\\=================================//
1675
1676
Humanoid.Changed:connect(function(Jump)
1677
	if Jump == "Jump" and (Disable_Jump == true) then
1678
		Humanoid.Jump = false
1679
	end
1680
end)
1681
1682
local CONNECT = nil
1683
1684
while true do
1685
	Swait()
1686
	ANIMATE.Parent = nil
1687
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1688
		Humanoid = IT("Humanoid",Character)
1689
	end
1690
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1691
	    v:Stop();
1692
	end
1693
	SINE = SINE + CHANGE
1694
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1695
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1696
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1697
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1698
        HairWeld1.C1 = Clerp(HairWeld1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 + 1.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 12)), RAD(4.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1699
	HairWeld2.C1 = Clerp(HairWeld2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 - 1.5 * SIN(SINE / 12) + 2.5 * COS(SINE / 12)), RAD(-4.5 * SIN(SINE / 12))), 1 / Animation_Speed)
1700
	HoodWeld.C1 = Clerp(HoodWeld.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 + 0.75 * SIN(SINE / 12) - 1.75 * COS(SINE / 12)), RAD(2.75 * SIN(SINE / 12))), 1 / Animation_Speed)
1701
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1702
		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)
1703
		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)
1704
		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)
1705
		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)
1706
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1707
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1708
		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)
1709
		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)
1710
		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)
1711
	end
1712
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1713
		ANIM = "Jump"
1714
		if ATTACK == false then
1715
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1716
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1717
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1718
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1719
			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)
1720
			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)
1721
	    end
1722
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1723
		ANIM = "Fall"
1724
		if ATTACK == false then
1725
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1726
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1727
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1728
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(10), RAD(10)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1729
			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)
1730
			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)
1731
		end
1732
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1733
		ANIM = "Idle"
1734
		if ATTACK == false then
1735
			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)
1736
			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)
1737
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(180), RAD(65), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1738
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(35), RAD(20), RAD(10)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1739
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 22), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1740
		        LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 22), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1741
		end
1742
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1743
		ANIM = "Walk"
1744
		if ATTACK == false then
1745
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1746
			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)
1747
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(180), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1748
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0 + 0.025 * COS(SINE / 22), -1) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(90 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1749
			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)
1750
			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)
1751
		end
1752
	end
1753
	unanchor()
1754
	Humanoid.MaxHealth = "inf"
1755
	Humanoid.Health = "inf"
1756
	if Rooted == false then
1757
		Disable_Jump = false
1758
		Humanoid.WalkSpeed = Speed
1759
	elseif Rooted == true then
1760
		Disable_Jump = true
1761
		Humanoid.WalkSpeed = 0
1762
	end
1763
	sick.Parent = Torso
1764
	sick:resume()
1765
	sick.Volume = 5
1766
	sick.Pitch = 1
1767
	sick.SoundId = "rbxassetid://2512501939"
1768
	sick.Name = "BanishV3Music"
1769
end
1770
1771
--//=================================\\
1772
--\\=================================//
1773
1774
1775
1776
1777
1778
--//====================================================\\--
1779
--||			  		 END OF SCRIPT
1780
--\\====================================================//--