View difference between Paste ID: B2U0KXDi and yaNWXwkE
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,game,owner = owner,game
3
local RealPlayer = Player
4
do
5
    print("FE Compatibility code by Mokiros")
6
    local rp = RealPlayer
7
    script.Parent = rp.Character
8
   
9
    --RemoteEvent for communicating
10
    local Event = Instance.new("RemoteEvent")
11
    Event.Name = "UserInput_Event"
12
 
13
    --Fake event to make stuff like Mouse.KeyDown work
14
    local function fakeEvent()
15
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16
        t.connect = t.Connect
17
        return t
18
    end
19
 
20
    --Creating fake input objects with fake variables
21
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25
    end}
26
    --Merged 2 functions into one by checking amount of arguments
27
    CAS.UnbindAction = CAS.BindAction
28
 
29
    --This function will trigger the events that have been :Connect()'ed
30
    local function te(self,ev,...)
31
        local t = m[ev]
32
        if t and t._fakeEvent then
33
            for _,f in pairs(t.Functions) do
34
                f(...)
35
            end
36
        end
37
    end
38
    m.TrigEvent = te
39
    UIS.TrigEvent = te
40
 
41
    Event.OnServerEvent:Connect(function(plr,io)
42
        if plr~=rp then return end
43
        m.Target = io.Target
44
        m.Hit = io.Hit
45
        if not io.isMouse then
46
            local b = io.UserInputState == Enum.UserInputState.Begin
47
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
            end
50
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local Mouse = Player:GetMouse()
66
    local UIS = game:GetService("UserInputService")
67
    local input = function(io,a)
68
        if a then return end
69
        --Since InputObject is a client-side instance, we create and pass table instead
70
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71
    end
72
    UIS.InputBegan:Connect(input)
73
    UIS.InputEnded:Connect(input)
74
 
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
 
85
    ----Sandboxed game object that allows the usage of client-side methods and services
86
    --Real game object
87
    local _rg = game
88
 
89
    --Metatable for fake service
90
    local fsmt = {
91
        __index = function(self,k)
92
            local s = rawget(self,"_RealService")
93
            if s then return s[k] end
94
        end,
95
        __newindex = function(self,k,v)
96
            local s = rawget(self,"_RealService")
97
            if s then s[k]=v end
98
        end,
99
        __call = function(self,...)
100
            local s = rawget(self,"_RealService")
101
            if s then return s(...) end
102
        end
103
    }
104
    local function FakeService(t,RealService)
105
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106
        return setmetatable(t,fsmt)
107
    end
108
 
109
    --Fake game object
110
    local g = {
111
        GetService = function(self,s)
112
            return self[s]
113
        end,
114
        Players = FakeService({
115
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116
        },"Players"),
117
        UserInputService = FakeService(UIS,"UserInputService"),
118
        ContextActionService = FakeService(CAS,"ContextActionService"),
119
    }
120
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121
    g.service = g.GetService
122
   
123
    g.RunService = FakeService({
124
        RenderStepped = _rg:GetService("RunService").Heartbeat,
125
        BindToRenderStep = function(self,name,_,fun)
126
 
127
        end,
128
        UnbindFromRenderStep = function(self,name)
129
            self._btrs[name]:Disconnect()
130
        end,
131
    },"RunService")
132
 
133
    setmetatable(g,{
134
        __index=function(self,s)
135
            return _rg:GetService(s) or typeof(_rg[s])=="function"
136
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137
        end,
138
        __newindex = fsmt.__newindex,
139
        __call = fsmt.__call
140
    })
141
    --Changing owner to fake player object to support owner:GetMouse()
142
    game,owner = g,g.Players.LocalPlayer
143
end
144
145
wait(0.2)
146
147
Player = owner
148
PlayerGui = Player.PlayerGui
149
Cam = workspace.CurrentCamera
150
Backpack = Player.Backpack
151
Character = Player.Character
152
Humanoid = Character.Humanoid
153
RootPart = Character["HumanoidRootPart"]
154
Torso = Character["Torso"]
155
Head = Character["Head"]
156
RightArm = Character["Right Arm"]
157
LeftArm = Character["Left Arm"]
158
RightLeg = Character["Right Leg"]
159
LeftLeg = Character["Left Leg"]
160
RootJoint = RootPart["RootJoint"]
161
Neck = Torso["Neck"]
162
RightShoulder = Torso["Right Shoulder"]
163
LeftShoulder = Torso["Left Shoulder"]
164
RightHip = Torso["Right Hip"]
165
LeftHip = Torso["Left Hip"]
166
local sick = Instance.new("Sound",Character)
167
sick.SoundId = "rbxassetid://142603362"
168
sick.Looped = true
169
sick.Pitch = 1
170
sick.Volume = 1
171
sick:Play()
172
173
IT = Instance.new
174
CF = CFrame.new
175
VT = Vector3.new
176
RAD = math.rad
177
C3 = Color3.new
178
UD2 = UDim2.new
179
BRICKC = BrickColor.new
180
ANGLES = CFrame.Angles
181
EULER = CFrame.fromEulerAnglesXYZ
182
COS = math.cos
183
ACOS = math.acos
184
SIN = math.sin
185
ASIN = math.asin
186
ABS = math.abs
187
MRANDOM = math.random
188
FLOOR = math.floor
189
Class_Name = "₩₳ⱤĐɆ₦.exe"
190
Editor_Name = "JkBananaPill_H2O"
191
192
193
--//=================================\\
194
--|| 	      USEFUL VALUES
195
--\\=================================//
196
197
Animation_Speed = 3
198
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
199
local Speed = 15
200
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
201
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
202
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
203
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
204
local DAMAGEMULTIPLIER = 1
205
local ANIM = "Idle"
206
local ATTACK = false
207
local EQUIPPED = false
208
local HOLD = false
209
local COMBO = 1
210
local Rooted = false
211
local SINE = 0
212
local KEYHOLD = false
213
local CHANGE = 2 / Animation_Speed
214
local WALKINGANIM = false
215
local VALUE1 = false
216
local VALUE2 = false
217
local ROBLOXIDLEANIMATION = IT("Animation")
218
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
219
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
220
--ROBLOXIDLEANIMATION.Parent = Humanoid
221
local WEAPONGUI = IT("ScreenGui", PlayerGui)
222
WEAPONGUI.Name = "Weapon GUI"
223
local Effects = IT("Folder", Character)
224
Effects.Name = "Effects"
225
local ANIMATOR = Humanoid.Animator
226
local ANIMATE = Character.Animate
227
local UNANCHOR = true
228
local PLAYMAINANIM = true
229
local BOLTSOUNDS = {168586621,168586586,178452241}
230
231
--//=================================\\
232
--\\=================================//
233
local Player = game.Players.localPlayer
234
function RemoveOutlines(part)
235
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
236
end
237
local Create = LoadLibrary("RbxUtility").Create
238
239
CFuncs = {	
240
	["Part"] = {
241
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
242
			local Part = Create("Part"){
243
				Parent = Parent,
244
				Reflectance = Reflectance,
245
				Transparency = Transparency,
246
				CanCollide = false,
247
				Locked = true,
248
				BrickColor = BrickColor.new(tostring(BColor)),
249
				Name = Name,
250
				Size = Size,
251
				Material = Material,
252
			}
253
			RemoveOutlines(Part)
254
			return Part
255
		end;
256
	};
257
	["Sound"] = {
258
		Create = function(id, par, vol, pit) 
259
			coroutine.resume(coroutine.create(function()
260
				local S = Create("Sound"){
261
					Volume = vol,
262
					Pitch = pit or 1,
263
					SoundId = id,
264
					Parent = par or workspace,
265
				}
266
				wait() 
267
				S:play() 
268
				game:GetService("Debris"):AddItem(S, 6)
269
			end))
270
		end;
271
	};
272
}
273
274
local toggleTag = true
275
local txt = Instance.new("BillboardGui", Head)
276
txt.Adornee = nil
277
txt.Name = "NameDetect"
278
txt.Size = UDim2.new(4, 0, 1.2, 0)
279
txt.StudsOffset = Vector3.new(-8, 8/1.5, 0)
280
local text = Instance.new("TextLabel", txt)
281
text.Size = UDim2.new(10/2, 0, 7/2, 0)
282
text.FontSize = "Size8"
283
text.TextScaled = true
284
text.TextTransparency = 0
285
text.BackgroundTransparency = 1 
286
text.TextTransparency = 0
287
text.TextStrokeTransparency = 0
288
text.Font = "Garamond"
289
text.TextStrokeColor3 = Color3.new(0,1,1)
290
text.TextColor3 = Color3.new(0,0,0)
291
text.Text = "The Warden Of The City"
292
293
local Char = Character
294
295
function RecolorTextAndRename(name,col1,col2)
296
text.TextStrokeColor3 = col2
297
text.TextColor3 = col1
298
text.Text = name
299
end
300
RecolorTextAndRename("The Banisher Of The City",Color3.new(0,0,0),Color3.new(0,0,1))
301
302
function chatfunc(text)
303
local chat = coroutine.wrap(function()
304
if Character:FindFirstChild("TalkingBillBoard")~= nil then
305
Char:FindFirstChild("TalkingBillBoard"):destroy()
306
end
307
local naeeym2 = Instance.new("BillboardGui",Char)
308
naeeym2.Size = UDim2.new(0,100,0,40)
309
naeeym2.StudsOffset = Vector3.new(0,3,0)
310
naeeym2.Adornee = Char.Head
311
naeeym2.Name = "TalkingBillBoard"
312
local tecks2 = Instance.new("TextLabel",naeeym2)
313
tecks2.BackgroundTransparency = 1
314
tecks2.BorderSizePixel = 0
315
tecks2.Text = ""
316
tecks2.Font = "Antique"
317
tecks2.TextSize = 30
318
tecks2.TextStrokeTransparency = 0
319
tecks2.TextColor3 = Color3.new(.6,0,0)
320
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
321
tecks2.Size = UDim2.new(1,0,0.5,0)
322
local tecks3 = Instance.new("TextLabel",naeeym2)
323
tecks3.BackgroundTransparency = 1
324
tecks3.BorderSizePixel = 0
325
tecks3.Text = ""
326
tecks3.Font = "Antique"
327
tecks3.TextSize = 30
328
tecks3.TextStrokeTransparency = 0
329
tecks3.TextColor3 = BrickColor.new("Hot white").Color
330
tecks3.TextStrokeColor3 = Color3.new(0,0,0)
331
tecks3.Size = UDim2.new(1,0,0.5,0)
332
spawn(function()
333
	while wait() do
334
		tecks3.TextColor3 = BrickColor.random().Color
335
		tecks2.TextColor3 = BrickColor.random().Color
336
	end
337
end)
338
for i = 1,string.len(text),1 do
339
CFuncs["Sound"].Create("http://www.roblox.com/asset/?id=418252437", Char, 1, 1)
340
tecks2.Text = string.sub(text,1,i)
341
tecks3.Text = string.sub(text,1,i)
342
wait(0.01)
343
end
344
wait(2)
345
for i = 1, 50 do
346
Swait()
347
tecks2.Position = tecks2.Position - UDim2.new(math.random(-1,1),math.random(-5,5),.05,math.random(-5,5))
348
tecks2.Rotation = tecks2.Rotation - .8
349
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
350
tecks2.TextTransparency = tecks2.TextTransparency + .04
351
tecks3.Position = tecks2.Position - UDim2.new(math.random(-1,1),math.random(-5,5),.05,math.random(-5,5))
352
tecks3.Rotation = tecks2.Rotation + .8
353
tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
354
tecks3.TextTransparency = tecks2.TextTransparency + .04
355
end
356
naeeym2:Destroy()
357
end)
358
chat()
359
end
360
function onChatted(msg)
361
chatfunc(msg)
362
end
363
Player.Chatted:connect(onChatted)
364
365
--//=================================\\
366
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
367
--\\=================================//
368
369
ArtificialHB = Instance.new("BindableEvent", script)
370
ArtificialHB.Name = "ArtificialHB"
371
372
script:WaitForChild("ArtificialHB")
373
374
frame = Frame_Speed
375
tf = 0
376
allowframeloss = false
377
tossremainder = false
378
lastframe = tick()
379
script.ArtificialHB:Fire()
380
381
game:GetService("RunService").Heartbeat:connect(function(s, p)
382
	tf = tf + s
383
	if tf >= frame then
384
		if allowframeloss then
385
			script.ArtificialHB:Fire()
386
			lastframe = tick()
387
		else
388
			for i = 1, math.floor(tf / frame) do
389
				script.ArtificialHB:Fire()
390
			end
391
		lastframe = tick()
392
		end
393
		if tossremainder then
394
			tf = 0
395
		else
396
			tf = tf - frame * math.floor(tf / frame)
397
		end
398
	end
399
end)
400
401
--//=================================\\
402
--\\=================================//
403
print(Class_Name.." Loaded")
404
print(Editor_Name.." Edited This")
405
--//=================================\\
406
--|| 	      SOME FUNCTIONS
407
--\\=================================//
408
409
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
410
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
411
end
412
413
function PositiveAngle(NUMBER)
414
	if NUMBER >= 0 then
415
		NUMBER = 0
416
	end
417
	return NUMBER
418
end
419
420
function NegativeAngle(NUMBER)
421
	if NUMBER <= 0 then
422
		NUMBER = 0
423
	end
424
	return NUMBER
425
end
426
427
function Swait(NUMBER)
428
	if NUMBER == 0 or NUMBER == nil then
429
		ArtificialHB.Event:wait()
430
	else
431
		for i = 1, NUMBER do
432
			ArtificialHB.Event:wait()
433
		end
434
	end
435
end
436
437
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
438
	local NEWMESH = IT(MESH)
439
	if MESH == "SpecialMesh" then
440
		NEWMESH.MeshType = MESHTYPE
441
		if MESHID ~= "nil" and MESHID ~= "" then
442
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
443
		end
444
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
445
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
446
		end
447
	end
448
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
449
	NEWMESH.Scale = SCALE
450
	NEWMESH.Parent = PARENT
451
	return NEWMESH
452
end
453
454
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
455
	local NEWPART = IT("Part")
456
	NEWPART.formFactor = FORMFACTOR
457
	NEWPART.Reflectance = REFLECTANCE
458
	NEWPART.Transparency = TRANSPARENCY
459
	NEWPART.CanCollide = false
460
	NEWPART.Locked = true
461
	NEWPART.Anchored = true
462
	if ANCHOR == false then
463
		NEWPART.Anchored = false
464
	end
465
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
466
	NEWPART.Name = NAME
467
	NEWPART.Size = SIZE
468
	NEWPART.Position = Torso.Position
469
	NEWPART.Material = MATERIAL
470
	NEWPART:BreakJoints()
471
	NEWPART.Parent = PARENT
472
	return NEWPART
473
end
474
475
	local function weldBetween(a, b)
476
	    local weldd = Instance.new("ManualWeld")
477
	    weldd.Part0 = a
478
	    weldd.Part1 = b
479
	    weldd.C0 = CFrame.new()
480
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
481
	    weldd.Parent = a
482
	    return weldd
483
	end
484
485
486
function QuaternionFromCFrame(cf)
487
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
488
	local trace = m00 + m11 + m22
489
	if trace > 0 then 
490
		local s = math.sqrt(1 + trace)
491
		local recip = 0.5 / s
492
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
493
	else
494
		local i = 0
495
		if m11 > m00 then
496
			i = 1
497
		end
498
		if m22 > (i == 0 and m00 or m11) then
499
			i = 2
500
		end
501
		if i == 0 then
502
			local s = math.sqrt(m00 - m11 - m22 + 1)
503
			local recip = 0.5 / s
504
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
505
		elseif i == 1 then
506
			local s = math.sqrt(m11 - m22 - m00 + 1)
507
			local recip = 0.5 / s
508
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
509
		elseif i == 2 then
510
			local s = math.sqrt(m22 - m00 - m11 + 1)
511
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
512
		end
513
	end
514
end
515
 
516
function QuaternionToCFrame(px, py, pz, x, y, z, w)
517
	local xs, ys, zs = x + x, y + y, z + z
518
	local wx, wy, wz = w * xs, w * ys, w * zs
519
	local xx = x * xs
520
	local xy = x * ys
521
	local xz = x * zs
522
	local yy = y * ys
523
	local yz = y * zs
524
	local zz = z * zs
525
	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))
526
end
527
 
528
function QuaternionSlerp(a, b, t)
529
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
530
	local startInterp, finishInterp;
531
	if cosTheta >= 0.0001 then
532
		if (1 - cosTheta) > 0.0001 then
533
			local theta = ACOS(cosTheta)
534
			local invSinTheta = 1 / SIN(theta)
535
			startInterp = SIN((1 - t) * theta) * invSinTheta
536
			finishInterp = SIN(t * theta) * invSinTheta
537
		else
538
			startInterp = 1 - t
539
			finishInterp = t
540
		end
541
	else
542
		if (1 + cosTheta) > 0.0001 then
543
			local theta = ACOS(-cosTheta)
544
			local invSinTheta = 1 / SIN(theta)
545
			startInterp = SIN((t - 1) * theta) * invSinTheta
546
			finishInterp = SIN(t * theta) * invSinTheta
547
		else
548
			startInterp = t - 1
549
			finishInterp = t
550
		end
551
	end
552
	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
553
end
554
555
function Clerp(a, b, t)
556
	local qa = {QuaternionFromCFrame(a)}
557
	local qb = {QuaternionFromCFrame(b)}
558
	local ax, ay, az = a.x, a.y, a.z
559
	local bx, by, bz = b.x, b.y, b.z
560
	local _t = 1 - t
561
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
562
end
563
564
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
565
	local frame = IT("Frame")
566
	frame.BackgroundTransparency = TRANSPARENCY
567
	frame.BorderSizePixel = BORDERSIZEPIXEL
568
	frame.Position = POSITION
569
	frame.Size = SIZE
570
	frame.BackgroundColor3 = COLOR
571
	frame.BorderColor3 = BORDERCOLOR
572
	frame.Name = NAME
573
	frame.Parent = PARENT
574
	return frame
575
end
576
577
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
578
	local label = IT("TextLabel")
579
	label.BackgroundTransparency = 1
580
	label.Size = UD2(1, 0, 1, 0)
581
	label.Position = UD2(0, 0, 0, 0)
582
	label.TextColor3 = TEXTCOLOR
583
	label.TextStrokeTransparency = STROKETRANSPARENCY
584
	label.TextTransparency = TRANSPARENCY
585
	label.FontSize = TEXTFONTSIZE
586
	label.Font = TEXTFONT
587
	label.BorderSizePixel = BORDERSIZEPIXEL
588
	label.TextScaled = false
589
	label.Text = TEXT
590
	label.Name = NAME
591
	label.Parent = PARENT
592
	return label
593
end
594
595
function NoOutlines(PART)
596
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
597
end
598
599
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
600
	local NEWWELD = IT(TYPE)
601
	NEWWELD.Part0 = PART0
602
	NEWWELD.Part1 = PART1
603
	NEWWELD.C0 = C0
604
	NEWWELD.C1 = C1
605
	NEWWELD.Parent = PARENT
606
	return NEWWELD
607
end
608
609
local S = IT("Sound")
610
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
611
	local NEWSOUND = nil
612
	coroutine.resume(coroutine.create(function()
613
		NEWSOUND = S:Clone()
614
		NEWSOUND.Parent = PARENT
615
		NEWSOUND.Volume = VOLUME
616
		NEWSOUND.Pitch = PITCH
617
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
618
		NEWSOUND:play()
619
		if DOESLOOP == true then
620
			NEWSOUND.Looped = true
621
		else
622
			repeat wait(1) until NEWSOUND.Playing == false
623
			NEWSOUND:remove()
624
		end
625
	end))
626
	return NEWSOUND
627
end
628
629
630
local EyeSizes={
631
	NumberSequenceKeypoint.new(0,2,0),
632
	NumberSequenceKeypoint.new(1,0,0)
633
}
634
local EyeTrans={
635
	NumberSequenceKeypoint.new(0,0.5,0),
636
	NumberSequenceKeypoint.new(1,1,0)
637
}
638
local PE=Instance.new("ParticleEmitter",nil)
639
PE.LightEmission=.8
640
PE.Color = ColorSequence.new(BRICKC("Dark blue").Color,BRICKC("Cyan").Color)
641
PE.Size=NumberSequence.new(EyeSizes)
642
PE.Transparency=NumberSequence.new(EyeTrans)
643
PE.Lifetime=NumberRange.new(0.35,1)
644
PE.Rotation=NumberRange.new(0,360)
645
PE.Rate=100
646
PE.VelocitySpread = 10000
647
PE.Acceleration = Vector3.new(0,85,0)
648
PE.Drag = 5
649
PE.Speed = NumberRange.new(0.1,5)
650
PE.Texture="http://www.roblox.com/asset/?id=1460745664"
651
PE.ZOffset = 0.5
652
PE.Name = "PE"
653
PE.Enabled = false
654
655
function Fire(art)
656
	local PARTICLES = PE:Clone()
657
	PARTICLES.Parent = art
658
	PARTICLES.Enabled = true
659
	return PARTICLES
660
end
661
662
function CFrameFromTopBack(at, top, back)
663
	local right = top:Cross(back)
664
	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)
665
end
666
667
--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})
668
function WACKYEFFECT(Table)
669
	local TYPE = (Table.EffectType or "Sphere")
670
	local SIZE = (Table.Size or VT(1,1,1))
671
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
672
	local TRANSPARENCY = (Table.Transparency or 0)
673
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
674
	local CFRAME = (Table.CFrame or Torso.CFrame)
675
	local MOVEDIRECTION = (Table.MoveToPos or nil)
676
	local ROTATION1 = (Table.RotationX or 0)
677
	local ROTATION2 = (Table.RotationY or 0)
678
	local ROTATION3 = (Table.RotationZ or 0)
679
	local MATERIAL = (Table.Material or "Neon")
680
	local COLOR = (Table.Color or C3(1,1,1))
681
	local TIME = (Table.Time or 45)
682
	local SOUNDID = (Table.SoundID or nil)
683
	local SOUNDPITCH = (Table.SoundPitch or nil)
684
	local SOUNDVOLUME = (Table.SoundVolume or nil)
685
	coroutine.resume(coroutine.create(function()
686
		local PLAYSSOUND = false
687
		local SOUND = nil
688
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Dark blue"), "Effect", VT(1,1,1), true)
689
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
690
			PLAYSSOUND = true
691
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
692
		end
693
		EFFECT.Color = COLOR
694
		local MSH = nil
695
		if TYPE == "Sphere" then
696
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
697
		elseif TYPE == "Block" or TYPE == "Box" then
698
			MSH = IT("BlockMesh",EFFECT)
699
			MSH.Scale = SIZE
700
		elseif TYPE == "Wave" then
701
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
702
		elseif TYPE == "Ring" then
703
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
704
		elseif TYPE == "Slash" then
705
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
706
		elseif TYPE == "Round Slash" then
707
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
708
		elseif TYPE == "Swirl" then
709
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
710
		elseif TYPE == "Skull" then
711
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
712
		elseif TYPE == "Crystal" then
713
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
714
		end
715
		if MSH ~= nil then
716
			local MOVESPEED = nil
717
			if MOVEDIRECTION ~= nil then
718
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
719
			end
720
			local GROWTH = SIZE - ENDSIZE
721
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
722
			if TYPE == "Block" then
723
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
724
			else
725
				EFFECT.CFrame = CFRAME
726
			end
727
			for LOOP = 1, TIME+1 do
728
				Swait()
729
				MSH.Scale = MSH.Scale - GROWTH/TIME
730
				if TYPE == "Wave" then
731
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
732
				end
733
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
734
				if TYPE == "Block" then
735
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
736
				else
737
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
738
				end
739
				if MOVEDIRECTION ~= nil then
740
					local ORI = EFFECT.Orientation
741
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
742
					EFFECT.Orientation = ORI
743
				end
744
			end
745
			if PLAYSSOUND == false then
746
				EFFECT:remove()
747
			else
748
				repeat wait(1) until SOUND.Playing == false
749
				EFFECT:remove()
750
			end
751
		else
752
			if PLAYSSOUND == false then
753
				EFFECT:remove()
754
			else
755
				repeat Swait() until SOUND.Playing == false
756
				EFFECT:remove()
757
			end
758
		end
759
	end))
760
end
761
762
function MakeForm(PART,TYPE)
763
	if TYPE == "Cyl" then
764
		local MSH = IT("CylinderMesh",PART)
765
	elseif TYPE == "Ball" then
766
		local MSH = IT("SpecialMesh",PART)
767
		MSH.MeshType = "Sphere"
768
	elseif TYPE == "Wedge" then
769
		local MSH = IT("SpecialMesh",PART)
770
		MSH.MeshType = "Wedge"
771
	end
772
end
773
774
Debris = game:GetService("Debris")
775
776
function CastProperRay(StartPos, EndPos, Distance, Ignore)
777
	local DIRECTION = CF(StartPos,EndPos).lookVector
778
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
779
end
780
781
local HATWELD = nil
782
function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
783
	PLAYMAINANIM = false
784
	if WhichPose == "Cast1" then
785
		for i=0, Time, 0.1 / Animation_Speed do
786
			Swait()
787
			if Magic == true then
788
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Cyan".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
789
			end
790
			if Gyro ~= nil and Gyro ~= false then
791
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
792
			end
793
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
794
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
795
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
796
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
797
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
798
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
799
		end
800
	elseif WhichPose == "Cast2" then
801
		for i=0, Time, 0.1 / Animation_Speed do
802
			Swait()
803
			if Magic == true then
804
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Cyan".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
805
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Cyan".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
806
			end
807
			if Gyro ~= nil and Gyro ~= false then
808
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
809
			end
810
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
811
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
812
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
813
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
814
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
815
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
816
		end
817
	elseif WhichPose == "RightArmUp" then
818
		for i=0, Time, 0.1 / Animation_Speed do
819
			Swait()
820
			if Magic == true then
821
				WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Cyan".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
822
			end
823
			if Gyro ~= nil and Gyro ~= false then
824
				Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
825
			end
826
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
827
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
828
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
829
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
830
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
831
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
832
		end
833
	elseif WhichPose == "Taunt" then
834
		for i=0, Time, 0.1 / Animation_Speed do
835
			Swait()
836
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
837
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
838
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
839
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
840
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
841
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
842
		end
843
		HATWELD.Part0 = RightArm
844
		HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
845
		CreateSound(137473066,Torso,10,1,false)
846
		for i=0, Time*2, 0.1 / Animation_Speed do
847
			Swait()
848
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
849
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
850
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
851
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
852
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
853
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
854
		end
855
		for i=0, Time, 0.1 / Animation_Speed do
856
			Swait()
857
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
858
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
859
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
860
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
861
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
862
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
863
			HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
864
		end
865
		HATWELD.Part0 = Head
866
		HATWELD.C0 = CF(0,0.35,0)
867
	elseif WhichPose == "Prepare key" then
868
		for i=0, Time, 0.1 / Animation_Speed do
869
			Swait()
870
			if Gyro ~= nil and Gyro ~= false then
871
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
872
			end
873
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
874
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
875
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
876
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
877
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
878
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
879
		end
880
	elseif WhichPose == "Turn key" then
881
		for i=0, Time, 0.1 / Animation_Speed do
882
			Swait()
883
			if Gyro ~= nil and Gyro ~= false then
884
				Gyro.cframe = CF(RootPart.Position,Tors.Position)
885
			end
886
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
887
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
888
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
889
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
890
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
891
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
892
		end
893
	end
894
	PLAYMAINANIM = true
895
end
896
897
--Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
898
function Lightning(Table)
899
	local Color = Table.Color or C3(1,1,1)
900
	local StartPos = Table.Start or Torso.Position
901
	local EndPos = Table.End or Mouse.Hit.p
902
	local SegmentLength = Table.SegmentL or 2
903
	local Thickness = Table.Thickness or 0.1
904
	local Dissapear = Table.DoesFade or false
905
	local Parent = Table.Ignore or Character
906
	local MaxDist = Table.MaxDist or 400
907
	local Branches = Table.Branches or false
908
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
909
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
910
	local LIGHTNINGMODEL = IT("Model",Effects)
911
	LIGHTNINGMODEL.Name = "Lightning"
912
	local LastBolt = nil
913
	for E = 1, DISTANCE do
914
		local ExtraSize = (DISTANCE-E)/15
915
		local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Dark blue"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
916
		PART.Color = Color
917
		MakeForm(PART,"Cyl")
918
		if LastBolt == nil then
919
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
920
		else
921
			PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
922
		end
923
		LastBolt = PART
924
		if Branches == true then
925
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
926
			if CHOICE == 1 then
927
				local LASTBRANCH = nil
928
				for i = 1, MRANDOM(2,5) do
929
					local ExtraSize2 = ((DISTANCE-E)/25)/i
930
					local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Dark blue"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
931
					PART.Color = Color
932
					MakeForm(PART,"Cyl")
933
					if LASTBRANCH == nil then
934
						PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
935
					else
936
						PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
937
					end
938
					LASTBRANCH = PART
939
				end
940
			end
941
		end
942
	end
943
	if Dissapear == true then
944
		coroutine.resume(coroutine.create(function()
945
			for i = 1, 10 do
946
				Swait()
947
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
948
					if c.ClassName == "Part" then
949
						c.Transparency = i/10
950
					end
951
				end
952
			end
953
			LIGHTNINGMODEL:remove()
954
		end))
955
	elseif Dissapear == false then
956
		Debris:AddItem(LIGHTNINGMODEL,0.1)
957
	end
958
	return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
959
end
960
961
--//=================================\\
962
--||	     WEAPON CREATION
963
--\\=================================//
964
965
for i = 1, 15 do
966
	local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/15.2, "Dark stone grey", "FaceGradient", VT(1.01,0.58,1.01),false)
967
	FACE.Color = C3(0,0,0)
968
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
969
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/35,0), CF(0, 0, 0))
970
end
971
local HAT1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(2,0.2,2),false)
972
MakeForm(HAT1,"Cyl")
973
HATWELD = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT1, CF(0,0.35,0), CF(0, 0, 0))
974
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(2.01,0.15,2.01),false)
975
BELT.Color = C3(15/255,15/255,15/255)
976
MakeForm(BELT,"Cyl")
977
CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, BELT, CF(0,0,0), CF(0, 0, 0))
978
local HAT2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.3,2.2,1.3),false)
979
MakeForm(HAT2,"Cyl")
980
CreateWeldOrSnapOrMotor("Weld", HAT1, HAT1, HAT2, CF(0,1.1,0), CF(0, 0, 0))
981
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.31,0.2,1.31),false)
982
BELT.Color = C3(15/255,15/255,15/255)
983
MakeForm(BELT,"Cyl")
984
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0,0), CF(0, 0, 0))
985
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Cyan", "Gem", VT(0.25,0.25,0.1),false)
986
MakeForm(GEM,"Ball")
987
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,-BELT.Size.X/2), CF(0, 0, 0))
988
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Cyan", "Gem", VT(0.25,0.25,0.1),false)
989
MakeForm(GEM,"Ball")
990
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(0,0,BELT.Size.X/2), CF(0, 0, 0))
991
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Cyan", "Gem", VT(0.1,0.25,0.25),false)
992
MakeForm(GEM,"Ball")
993
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(-BELT.Size.X/2,0,0), CF(0, 0, 0))
994
local GEM = CreatePart(3, Character, "Neon", 0, 0, "Cyan", "Gem", VT(0.1,0.25,0.25),false)
995
MakeForm(GEM,"Ball")
996
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, GEM, CF(BELT.Size.X/2,0,0), CF(0, 0, 0))
997
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.31,0.1,1.31),false)
998
BELT.Color = C3(15/255,15/255,15/255)
999
MakeForm(BELT,"Cyl")
1000
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0.7,0), CF(0, 0, 0))
1001
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.31,0.1,1.31),false)
1002
BELT.Color = C3(15/255,15/255,15/255)
1003
MakeForm(BELT,"Cyl")
1004
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,-0.7,0), CF(0, 0, 0))
1005
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.31,0.1,1.31),false)
1006
BELT.Color = C3(15/255,15/255,15/255)
1007
MakeForm(BELT,"Cyl")
1008
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,0.35,0), CF(0, 0, 0))
1009
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.31,0.1,1.31),false)
1010
BELT.Color = C3(15/255,15/255,15/255)
1011
MakeForm(BELT,"Cyl")
1012
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,-0.35,0), CF(0, 0, 0))
1013
local BELT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dark blue", "Hat", VT(1.3,0.5,1.3),false)
1014
MakeForm(BELT,"Ball")
1015
CreateWeldOrSnapOrMotor("Weld", HAT2, HAT2, BELT, CF(0,HAT2.Size.Y/2,0), CF(0, 0, 0))
1016
Humanoid.DisplayDistanceType = "None"
1017
1018
local Particle = IT("ParticleEmitter",nil)
1019
Particle.Enabled = false
1020
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1021
Particle.LightEmission = 0.5
1022
Particle.Rate = 150
1023
Particle.ZOffset = 0.2
1024
Particle.Rotation = NumberRange.new(-180, 180)
1025
Particle.RotSpeed = NumberRange.new(-180, 180)
1026
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
1027
Particle.Color = ColorSequence.new(C3(0,0,255),C3(0,255,255))
1028
local Particle2 = IT("ParticleEmitter",nil)
1029
Particle2.Enabled = false
1030
Particle2.Texture = "http://www.roblox.com/asset/?id=1369397597"
1031
Particle2.Color = ColorSequence.new(C3(0,0,255),C3(0,0,255))
1032
Particle2.LightEmission = 0
1033
Particle2.RotSpeed = NumberRange.new(0, 180)
1034
Particle2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
1035
Particle2.LightEmission = 1
1036
Particle2.Rate = 20
1037
Particle2.RotSpeed = NumberRange.new(-20, 20)
1038
local Particle3 = IT("ParticleEmitter",nil)
1039
Particle3.Enabled = false
1040
Particle3.Texture = "http://www.roblox.com/asset/?id=1546470121"
1041
Particle3.Color = ColorSequence.new(C3(0,0,255),C3(0,0,255))
1042
Particle3.LightEmission = 0
1043
Particle3.RotSpeed = NumberRange.new(0, 180)
1044
Particle3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.7),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
1045
Particle3.LightEmission = 1
1046
Particle3.Rate = 20
1047
Particle3.RotSpeed = NumberRange.new(-20, 20)
1048
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
1049
function ParticleEmitter(Table)
1050
	local PRTCL = Particle:Clone()
1051
	local Speed = Table.Speed or 5
1052
	local Drag = Table.Drag or 0
1053
	local Size1 = Table.Size1 or 1
1054
	local Size2 = Table.Size2 or 5
1055
	local Lifetime1 = Table.Lifetime1 or 1
1056
	local Lifetime2 = Table.Lifetime2 or 1.5
1057
	local Parent = Table.Parent or Torso
1058
	local Emit = Table.Emit or 100
1059
	local Offset = Table.Offset or 360
1060
	local Acel = Table.Acel or VT(0,0,0)
1061
	local Enabled = Table.Enabled or false
1062
	PRTCL.Parent = Parent
1063
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1064
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1065
	PRTCL.Speed = NumberRange.new(Speed)
1066
	PRTCL.VelocitySpread = Offset
1067
	PRTCL.Drag = Drag
1068
	PRTCL.Acceleration = Acel
1069
	if Enabled == false then
1070
		PRTCL:Emit(Emit)
1071
		Debris:AddItem(PRTCL,Lifetime2)
1072
	else
1073
		PRTCL.Enabled = true
1074
	end
1075
	return PRTCL
1076
end
1077
function ParticleEmitter2(Table)
1078
	local PRTCL2 = Particle2:Clone()
1079
	local LockedToPart = Table.LTP or true
1080
	local Speed = Table.Speed or 0
1081
	local Drag = Table.Drag or 0
1082
	local Size1 = Table.Size1 or 1
1083
	local Size2 = Table.Size2 or 2
1084
	local Lifetime1 = Table.Lifetime1 or 1
1085
	local Lifetime2 = Table.Lifetime2 or 1
1086
	local Parent = Table.Parent or Torso
1087
	local Emit = Table.Emit or 100
1088
	local Offset = Table.Offset or 360
1089
	local Acel = Table.Acel or VT(0,0,0)
1090
	local Enabled = Table.Enabled or false
1091
	PRTCL2.Parent = Parent
1092
	PRTCL2.Size = NumberSequence.new(Size1,Size2)
1093
	PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1094
	PRTCL2.Speed = NumberRange.new(Speed)
1095
	PRTCL2.VelocitySpread = Offset
1096
	PRTCL2.Drag = Drag
1097
	PRTCL2.Acceleration = Acel
1098
		PRTCL2.Parent = Parent
1099
		PRTCL2.Size = NumberSequence.new(Size1,Size2)
1100
		PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1101
		PRTCL2.Speed = NumberRange.new(Speed)
1102
		PRTCL2.VelocitySpread = Offset
1103
		PRTCL2.Drag = Drag
1104
		PRTCL2.Acceleration = Acel
1105
		PRTCL2.LockedToPart = true
1106
	if Enabled == false then
1107
		PRTCL2:Emit(Emit)
1108
		Debris:AddItem(PRTCL2,Lifetime2)
1109
	else
1110
		PRTCL2.Enabled = true
1111
	end
1112
	return PRTCL2
1113
end
1114
function ParticleEmitter3(Table)
1115
	local PRTCL3 = Particle2:Clone()
1116
	local Speed = Table.Speed or 0
1117
	local Drag = Table.Drag or 0
1118
	local Size1 = Table.Size1 or 1
1119
	local Size2 = Table.Size2 or 2
1120
	local Lifetime1 = Table.Lifetime1 or 1
1121
	local Lifetime2 = Table.Lifetime2 or 1
1122
	local Parent = Table.Parent or Torso
1123
	local Emit = Table.Emit or 100
1124
	local Offset = Table.Offset or 0
1125
	local Acel = Table.Acel or VT(0,0,0)
1126
	local Enabled = Table.Enabled or false
1127
	PRTCL3.Parent = Parent
1128
	PRTCL3.Size = NumberSequence.new(Size1,Size2)
1129
	PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1130
	PRTCL3.Speed = NumberRange.new(Speed)
1131
	PRTCL3.VelocitySpread = Offset
1132
	PRTCL3.Drag = Drag
1133
	PRTCL3.Acceleration = Acel
1134
		PRTCL3.Parent = Parent
1135
		PRTCL3.Size = NumberSequence.new(Size1,Size2)
1136
		PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1137
		PRTCL3.Speed = NumberRange.new(Speed)
1138
		PRTCL3.VelocitySpread = Offset
1139
		PRTCL3.Drag = Drag
1140
		PRTCL3.Acceleration = Acel
1141
	if Enabled == false then
1142
		PRTCL3:Emit(Emit)
1143
		Debris:AddItem(PRTCL3,Lifetime2)
1144
	else
1145
		PRTCL3.Enabled = true
1146
	end
1147
	return PRTCL3
1148
end
1149
1150
local Weapon1 = IT("Model")
1151
Weapon1.Name = "Pistol"
1152
1153
local Handle = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
1154
local LeftArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
1155
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1156
MakeForm(Part,"Wedge")
1157
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
1158
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
1159
MakeForm(Part,"Wedge")
1160
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
1161
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
1162
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1163
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
1164
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1165
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
1166
MakeForm(Part,"Cyl")
1167
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1168
for i = 1, 8 do
1169
	local Piece = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
1170
	CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
1171
end
1172
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
1173
MakeForm(Part,"Cyl")
1174
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1175
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
1176
MakeForm(Part,"Ball")
1177
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1178
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
1179
MakeForm(Part,"Wedge")
1180
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
1181
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
1182
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1183
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
1184
MakeForm(Part,"Cyl")
1185
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1186
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
1187
MakeForm(Part,"Cyl")
1188
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1189
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
1190
MakeForm(Part,"Cyl")
1191
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1192
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
1193
MakeForm(Part,"Wedge")
1194
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
1195
local LASTPART = Handle
1196
for i = 1, 10 do
1197
	if LASTPART == Handle then
1198
		local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
1199
		LASTPART = Part
1200
		CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1201
	else
1202
		local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
1203
		CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
1204
		LASTPART = Part
1205
	end
1206
end
1207
1208
local Barrel = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
1209
MakeForm(Barrel,"Cyl")
1210
CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1211
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
1212
MakeForm(Part,"Cyl")
1213
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
1214
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
1215
MakeForm(Part,"Wedge")
1216
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
1217
local Hole = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
1218
MakeForm(Hole,"Cyl")
1219
CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
1220
local Part = CreatePart(3, Weapon1, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
1221
local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1222
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
1223
local Part = CreatePart(3, Weapon1, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
1224
local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
1225
CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
1226
coroutine.resume(coroutine.create(function()
1227
	while wait() do
1228
		GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
1229
		GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
1230
	end
1231
end))
1232
--PARTICLES REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
1233
--[[
1234
	YEAH BOIIIIIIIII
1235
	PARTICLE TIME
1236
--]]
1237
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)})
1238
--ParticleEmitter3({Speed = 0, Drag = 0, Size1 = 20, Size2 = 25, Lifetime1 = 0.3, Lifetime2 = 1, Parent = Barrel, Emit = 100, Offset = 0, Enabled = true, Acel = VT(0,0,0)})
1239
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)})
1240
ParticleEmitter2({Speed = 0, Drag = 0, Size1 = .5, Size2 = 1, Lifetime1 = 1, Lifetime2 = 1, Parent = Hole, Emit = 20, Offset = 360, Enabled = true, Acel = VT(0,0,0)})
1241
ParticleEmitter2({Speed = 0, Drag = 0, Size1 = 3, Size2 = 1, Lifetime1 = 1, Lifetime2 = 2, Parent = Handle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,0,0)})
1242
--Trails
1243
local A1 = Instance.new("Attachment",Barrel)
1244
local A2 = Instance.new("Attachment",Barrel)
1245
local Trail = Instance.new("Trail",Barrel)
1246
A1.Position = Vector3.new(0,1,0)
1247
A2.Position = Vector3.new(0,-0.8,0)
1248
Trail.Attachment0 = A1
1249
Trail.Attachment1 = A2
1250
Trail.LightEmission = 1
1251
Trail.Color = ColorSequence.new(Color3.new(0,0,255),Color3.new(0,255,255))
1252
Trail.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
1253
for _, c in pairs(Weapon1:GetDescendants()) do
1254
	if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1255
		c.Material = "Glass"
1256
		c.Color = C3(0,0,0)
1257
	elseif c.ClassName == "Part" and c.Name == "Eye" then
1258
		c.Color = C3(0,0,1)
1259
		c.Material = "Neon"
1260
	end
1261
end
1262
1263
local TOBANISH = {}
1264
1265
Weapon1.Parent = Character
1266
for _, c in pairs(Weapon1:GetChildren()) do
1267
	if c.ClassName == "Part" then
1268
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1269
	end
1270
end
1271
1272
local SKILLTEXTCOLOR = C3(0,0,1)
1273
local SKILLFONT = "Antique"
1274
local SKILLTEXTSIZE = 7
1275
1276
Humanoid.Died:connect(function()
1277
	ATTACK = true
1278
end)
1279
1280
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")
1281
--[[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")
1282
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")
1283
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")
1284
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")
1285
--]]
1286
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
1287
--[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
1288
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
1289
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
1290
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
1291
--]]
1292
function printbye(Name)
1293
	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, "}
1294
	warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
1295
		
1296
end
1297
1298
workspace.ChildAdded:connect(function(instance)
1299
    for BANISH = 1, #TOBANISH do
1300
		if TOBANISH[BANISH] ~= nil then
1301
			if instance.Name == TOBANISH[BANISH] then
1302
				coroutine.resume(coroutine.create(function()
1303
					printbye(instance.Name)
1304
					instance:ClearAllChildren()
1305
					Debris:AddItem(instance,0.0005)
1306
				end))
1307
			end
1308
		end
1309
	end
1310
end)
1311
1312
local Char = Character
1313
local Eye = CreatePart(3, Char, "Neon", 0, 0, "Really blue", "Eye", VT(0.6,0.1,1)/2,false)
1314
MakeForm(Eye,"Ball")
1315
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
1316
local Eye = CreatePart(3, Char, "Neon", 0, 0, "Really blue", "Eye", VT(0.6,0.1,1)/2,false)
1317
MakeForm(Eye,"Ball")
1318
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
1319
local Eye = CreatePart(3, Char, "Neon", 0, 0, "Really blue", "Eye", VT(0.1,1,1)/2,false)
1320
MakeForm(Eye,"Ball")
1321
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
1322
local Eye = CreatePart(3, Char, "Neon", 0, 0, "Really blue", "Eye", VT(0.1,1,1)/2,false)
1323
MakeForm(Eye,"Ball")
1324
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
1325
1326
local top = Instance.new("Shirt")
1327
top.ShirtTemplate = "rbxassetid://1533327933"
1328
top.Parent = Character
1329
top.Name = "Cloth"
1330
local bottom = Instance.new("Pants")
1331
bottom.PantsTemplate = "rbxassetid://1689251873"
1332
bottom.Parent = Character
1333
bottom.Name = "Cloth"
1334
for _, c in pairs(Character:GetChildren()) do
1335
	if c.ClassName == "Part" and c.Name ~= "FaceGradient" and c.Name ~= "Hat" and c.Name ~= "Gem" then
1336
		c.Material = "Neon"
1337
		if c:FindFirstChildOfClass("ParticleEmitter") then
1338
			c:FindFirstChildOfClass("ParticleEmitter"):remove()
1339
		end
1340
		c.Color = C3(1,1,1)
1341
		if c == Head then
1342
			if c:FindFirstChild("face") then
1343
				c.face:remove()
1344
			end
1345
		end
1346
	elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
1347
		c:remove()
1348
	elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1349
		c:remove()
1350
	end
1351
end
1352
local BODY = {}
1353
for _, c in pairs(Character:GetDescendants()) do
1354
	if c:IsA("BasePart") and c.Name ~= "Handle" then
1355
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
1356
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1357
		end
1358
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
1359
	elseif c:IsA("JointInstance") then
1360
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
1361
	end
1362
end
1363
for e = 1, #BODY do
1364
	if BODY[e] ~= nil then
1365
		local STUFF = BODY[e]
1366
		local PART = STUFF[1]
1367
		local PARENT = STUFF[2]
1368
		local MATERIAL = STUFF[3]
1369
		local COLOR = STUFF[4]
1370
		local TRANSPARENCY = STUFF[5]
1371
		if PART.ClassName == "Part" and PART ~= RootPart then
1372
			PART.Material = MATERIAL
1373
			PART.Color = COLOR
1374
			PART.Transparency = TRANSPARENCY
1375
		end
1376
		PART.AncestryChanged:Connect(function()
1377
			PART.Parent = PARENT
1378
		end)
1379
	end
1380
end
1381
function refit()
1382
	Character.Parent = workspace
1383
	for e = 1, #BODY do
1384
		if BODY[e] ~= nil then
1385
			local STUFF = BODY[e]
1386
			local PART = STUFF[1]
1387
			local PARENT = STUFF[2]
1388
			local MATERIAL = STUFF[3]
1389
			local COLOR = STUFF[4]
1390
			local TRANSPARENCY = STUFF[5]
1391
			if PART.ClassName == "Part" and PART ~= RootPart then
1392
				PART.Material = MATERIAL
1393
				PART.Color = COLOR
1394
				PART.Transparency = TRANSPARENCY
1395
			end
1396
			if PART.Parent ~= PARENT then
1397
				Humanoid:remove()
1398
				PART.Parent = PARENT
1399
				Humanoid = IT("Humanoid",Character)
1400
			end
1401
		end
1402
	end
1403
end
1404
local SKILLTEXTCOLOR = BRICKC"".Color
1405
local SKILLFONT = "Bodoni"
1406
local SKILLTEXTSIZE = 7
1407
1408
Humanoid.Died:connect(function()
1409
	refit()
1410
end)
1411
1412
1413
--//=================================\\
1414
--||			DAMAGING
1415
--\\=================================//
1416
1417
function ApplyAoE(POSITION,RANGE,FLING,BURN)
1418
	local CHILDREN = workspace:GetDescendants()
1419
	for index, CHILD in pairs(CHILDREN) do
1420
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1421
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1422
			if HUM then
1423
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1424
				if TORSO then
1425
					if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
1426
						CHILD:BreakJoints()
1427
						if FLING ~= 0 then
1428
							for _, c in pairs(CHILD:GetChildren()) do
1429
								if c:IsA("BasePart") and c.Transparency == 0 then
1430
									if BURN == true then
1431
										Fire(c)
1432
									end
1433
									local bv = Instance.new("BodyVelocity") 
1434
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1435
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1436
									bv.Parent = c
1437
									Debris:AddItem(bv,0.05)
1438
								end
1439
							end
1440
						end
1441
					end
1442
				end
1443
			end
1444
		end
1445
	end
1446
end
1447
1448
function MagicSphere(SIZE, WAIT, CFRAME, COLOR, GROW)
1449
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1, 1, 1), true)
1450
	local mesh = IT("SpecialMesh", wave)
1451
	mesh.MeshType = "Sphere"
1452
	mesh.Scale = SIZE
1453
	mesh.Offset = VT(0, 0, 0)
1454
	wave.CFrame = CFRAME
1455
	coroutine.resume(coroutine.create(function(PART)
1456
		for i = 1, WAIT do
1457
			Swait()
1458
			mesh.Scale = mesh.Scale + GROW
1459
			wave.Transparency = wave.Transparency + 1 / WAIT
1460
			if wave.Transparency > 0.99 then
1461
				wave:remove()
1462
			end
1463
		end
1464
	end))
1465
end
1466
1467
function CastWarpOutlines(TARGET)
1468
	coroutine.resume(coroutine.create(function()
1469
		local T = TARGET:GetChildren()
1470
		for i = 1, #T do
1471
			local child = T[i]
1472
			if child.ClassName == "Part" or child.ClassName == "MeshPart" then
1473
				do
1474
					local clone = child:Clone()
1475
					clone.Parent = Effects
1476
					clone.Anchored = true
1477
					clone.CanCollide = false
1478
					clone:ClearAllChildren()
1479
					clone.CFrame = child.CFrame
1480
					if clone.Name == "Head" then
1481
						clone.Size = VT(clone.Size.Y, clone.Size.Y, clone.Size.Y)
1482
					end
1483
					if clone.ClassName == "MeshPart" then
1484
						clone.TextureID = ""
1485
					end
1486
					clone.Color = C3(1, 0, 0)
1487
					clone.Material = "Neon"
1488
					coroutine.resume(coroutine.create(function()
1489
						for i = 1, 100 do
1490
							Swait()
1491
							clone.Transparency = clone.Transparency + 0.01
1492
							clone.Size = clone.Size + VT(0.001, 0.001, 0.001)
1493
						end
1494
						clone:remove()
1495
					end))
1496
				end
1497
			end
1498
		end
1499
	end))
1500
end
1501
1502
local Delete = IT("Model", Character)
1503
Delete.Name = "Those who must be banished."
1504
1505
function killnearest(position, range, maxstrength)
1506
	for i, v in ipairs(workspace:GetChildren()) do
1507
		local body = v:GetChildren()
1508
		for part = 1, #body do
1509
			if (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character and range > (body[part].Position - position).Magnitude and v.ClassName == "Model" then
1510
				CastWarpOutlines(v)
1511
				v:remove()
1512
				if game.Players:FindFirstChild(v.Name) then
1513
					local Value = IT("BoolValue", Delete)
1514
					Value.Name = v.Name
1515
				end
1516
			end
1517
		end
1518
	end
1519
end
1520
1521
function Kill(Char)
1522
	local NewCharacter = IT("Model",Effects)
1523
	NewCharacter.Name = "Ow im ded ;-;"
1524
	for _, c in pairs(Char:GetDescendants()) do
1525
		if c:IsA("BasePart") and c.Transparency == 0 then
1526
			if c.Parent == Char then
1527
				getbloody(c,5)
1528
			end
1529
			c:BreakJoints()
1530
			c.Material = "Glass"
1531
			c.Color = C3(0.5,0,0)
1532
			c.CanCollide = true
1533
			c.Transparency = 0.3
1534
			if c:FindFirstChildOfClass("SpecialMesh") then
1535
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1536
			end
1537
			if c.Name == "Head" then
1538
				c:ClearAllChildren()
1539
				c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
1540
			end
1541
			if c.ClassName == "MeshPart" then
1542
				c.TextureID = ""
1543
			end
1544
			if c:FindFirstChildOfClass("BodyPosition") then
1545
				c:FindFirstChildOfClass("BodyPosition"):remove()
1546
			end
1547
			if c:FindFirstChildOfClass("ParticleEmitter") then
1548
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1549
			end
1550
			c.Parent = NewCharacter
1551
			c.Name = "DeadPart"
1552
			c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
1553
			c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
1554
		end
1555
	end
1556
	Char:remove()
1557
	Debris:AddItem(NewCharacter,5)
1558
end
1559
1560
local asd = Instance.new("ParticleEmitter")
1561
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
1562
asd.LightEmission = .1
1563
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
1564
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
1565
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
1566
asd.Transparency = bbb
1567
asd.Size = aaa
1568
asd.ZOffset = .9
1569
asd.Acceleration = Vector3.new(0, -15, 0)
1570
asd.LockedToPart = false
1571
asd.EmissionDirection = "Back"
1572
asd.Lifetime = NumberRange.new(1, 2)
1573
asd.Rotation = NumberRange.new(-100, 100)
1574
asd.RotSpeed = NumberRange.new(-100, 100)
1575
asd.Speed = NumberRange.new(10)
1576
asd.Enabled = false
1577
asd.VelocitySpread = 999
1578
1579
function getbloody(victim,amount)
1580
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
1581
	PART.CFrame = victim.CFrame
1582
	local HITPLAYERSOUNDS = {"356551938","264486467"}
1583
	Debris:AddItem(PART,5)
1584
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1585
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1586
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
1587
	local prtcl = asd:Clone()
1588
	prtcl.Parent = PART
1589
	prtcl:Emit(amount*10)
1590
end
1591
--//=================================\\
1592
--||	ATTACK FUNCTIONS AND STUFF
1593
--\\=================================//
1594
local LAUGHS = {834001699,834001752,834001797,834001828}
1595
1596
local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
1597
MakeForm(RightHole,"Cyl")
1598
local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Mid gray", "Eye", VT(0.2,0,0.2),false)
1599
MakeForm(LeftHole,"Cyl")
1600
1601
function Deathbound()
1602
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 10, 1, false)
1603
	ATTACK = true
1604
	Rooted = true
1605
	for i=0, 1, 0.1 / Animation_Speed do
1606
		Swait()
1607
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 1 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1608
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1609
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1610
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1611
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1612
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1613
	end
1614
	local DONE = false
1615
	local GATE = nil
1616
	local GATESPIN = true
1617
	coroutine.resume(coroutine.create(function()
1618
		repeat
1619
			Swait()
1620
			if GATE ~= nil then
1621
				GATE.CFrame = GATE.CFrame * ANGLES(RAD(0), RAD(-3), RAD(0))
1622
			end
1623
		until GATESPIN == false
1624
	end))
1625
	coroutine.resume(coroutine.create(function()
1626
		repeat
1627
			Swait()
1628
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.2 - 0.25 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1629
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1630
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1631
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1632
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1633
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1634
		until DONE == true
1635
		Swait(50)
1636
		for i = 1, 35 do
1637
			Swait(4)
1638
			local FIRED = false
1639
			local CHILDREN = workspace:GetDescendants()
1640
			for index, CHILD in pairs(CHILDREN) do
1641
				if CHILD.ClassName == "Model" and CHILD ~= Character then
1642
					local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1643
					if HUM then
1644
						local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1645
						if TORSO then
1646
							if (TORSO.Position - GATE.Position).Magnitude <= GATE.Size.X/2.5 + TORSO.Size.Magnitude/5 then
1647
								local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(TORSO.Position, TORSO.Position + VT(0, -1, 0))).lookVector, 15, Character)
1648
								local CFRAME = CF(HITPOS)*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
1649
								WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = CFRAME*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = 213603013, SoundPitch = 1.5, SoundVolume = 6})
1650
								WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1651
								SpawnTrail(CFRAME.p,CFRAME*CF(0,1000,0).p)		
1652
								Kill(CHILD)
1653
								FIRED = true
1654
								break
1655
							end
1656
						end
1657
					end
1658
				end
1659
			end
1660
			if FIRED == false then
1661
				local CFRAME = GATE.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(2,math.ceil(GATE.Size.X/2.5)))*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
1662
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = CFRAME*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = 213603013, SoundPitch = 1.5, SoundVolume = 6})
1663
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1664
				SpawnTrail(CFRAME.p,CFRAME*CF(0,1000,0).p)
1665
				local HITBOD = Raycast(CFRAME.p, (CF(CFRAME.p, CFRAME.p + VT(0, 1, 0))).lookVector, 1000, Character)
1666
				if HITBOD ~= nil then
1667
					if HITBOD.Parent:FindFirstChildOfClass("Humanoid") then
1668
						killnearest(HITBOD.Parent)
1669
					end
1670
				end
1671
			end
1672
		end
1673
		for i = 1, 45 do
1674
			Swait()
1675
			GATE.Size = GATE.Size - VT(3,0,3)
1676
		end
1677
		GATESPIN = false
1678
		GATE:remove()
1679
	end))
1680
	Swait(15)
1681
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
1682
	GATE = CreatePart(3, Effects, "Neon", 0, 1, "Teal", "Gate", VT(0,0,0))
1683
	local DECAL = IT("Decal",GATE)
1684
	DECAL.Texture = "http://www.roblox.com/asset/?id=647661410"
1685
	DECAL.Face = "Top"
1686
	GATE.CFrame = CF(HITPOS)
1687
	CreateSound(160772554, GATE, 7, 1.3, false)
1688
	for i = 1, 45 do
1689
		Swait()
1690
		GATE.Size = GATE.Size + VT(3,0,3)
1691
	end
1692
	CreateSound(213603013, RightHole, 7, 1, false)
1693
	CreateSound(213603013, LeftHole, 7, 1, false)
1694
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,2,2), Transparency = 0, Transparency2 = 1, CFrame = RightHole.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1695
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,2,2), Transparency = 0, Transparency2 = 1, CFrame = LeftHole.CFrame*CF(0,-1,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1696
	ATTACK = false
1697
	Rooted = false
1698
	DONE = true
1699
end
1700
1701
function Morning_Star()
1702
	ATTACK = true
1703
	Rooted = true
1704
	CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 7, 1, false)
1705
	for i=0, 1, 0.1 / Animation_Speed do
1706
		Swait()
1707
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1708
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1709
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1710
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1711
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1712
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1713
	end	
1714
	coroutine.resume(coroutine.create(function()
1715
		local POS = Mouse.Hit.p
1716
		local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Teal", "Strike", VT(0,2000,0))
1717
		MakeForm(RAY,"Cyl")
1718
		local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Teal", "Strike", VT(0,0,0))
1719
		MakeForm(SPHERE,"Ball")
1720
		local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really blue", "Strike", VT(0,0,0))
1721
		MakeForm(SHIELD,"Ball")
1722
		SHIELD.CFrame = CF(POS)
1723
		RAY.CFrame = CF(POS)
1724
		SPHERE.CFrame = CF(POS)
1725
		CreateSound(144699494, SPHERE, 10, 0.8, false)
1726
		CreateSound(1146688617, SPHERE, 10, 0.8, false)
1727
		for i = 1, 200 do
1728
			Swait()
1729
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(58,125,21), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1730
			RAY.Size = RAY.Size + VT(0.05,0,0.05)
1731
			SPHERE.Size = SPHERE.Size + VT(2,2,2)
1732
			SHIELD.Size = SPHERE.Size + VT(3,3,3)
1733
			ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
1734
		end	
1735
		for i = 1, 45 do
1736
			Swait()
1737
			RAY.Transparency = RAY.Transparency + 1/45
1738
			SPHERE.Transparency = RAY.Transparency 
1739
			SHIELD.Transparency = SPHERE.Transparency + 1/45
1740
		end
1741
		RAY:remove()
1742
		SHIELD:remove()
1743
		SPHERE:remove()
1744
	end))
1745
	for i=0, 1, 0.1 / Animation_Speed do
1746
		Swait()
1747
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0  + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1748
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1749
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1750
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1751
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1752
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1753
	end
1754
	ATTACK = false
1755
	Rooted = false
1756
end
1757
1758
function Teleport()
1759
	ATTACK = true
1760
	Rooted = false
1761
	for i=0, 0.5, 0.1 / Animation_Speed do
1762
		Swait()
1763
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1764
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1765
	end
1766
	for e = 1, #BODY do
1767
		if BODY[e] ~= nil then
1768
			local STUFF = BODY[e]
1769
			local PART = STUFF[1]
1770
			if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
1771
				local PRT = PART:Clone()
1772
				PRT.Anchored = true
1773
				PRT.CanCollide = false
1774
				PRT.Material = "Neon"
1775
				PRT.Color = C3(0,0,1)
1776
				PRT.Name = "WarpEffect"
1777
				PRT.Parent = Effects
1778
				PRT.CFrame = PART.CFrame
1779
				PRT:BreakJoints()
1780
				if PRT:FindFirstChildOfClass("Sound") then
1781
					PRT:FindFirstChildOfClass("Sound"):remove()
1782
				end
1783
				if PRT:FindFirstChildOfClass("Decal") then
1784
					PRT:FindFirstChildOfClass("Decal"):remove()
1785
				end
1786
				coroutine.resume(coroutine.create(function()
1787
					for i = 1, 100 do
1788
						Swait()
1789
						PRT.Transparency = PRT.Transparency + 1/100
1790
					end
1791
					PRT:remove()
1792
				end))
1793
			end
1794
		end
1795
	end
1796
	CreateSound(217767125, Torso, 10, 1)
1797
	local POS = RootPart.Orientation
1798
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
1799
	RootPart.Orientation = POS
1800
	RootJoint.Parent = RootPart
1801
	for i=0, 0.5, 0.1 / Animation_Speed do
1802
		Swait()
1803
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1804
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
1805
	end
1806
	for i=0, 0.1, 0.1 / Animation_Speed do
1807
		Swait()
1808
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
1809
	end
1810
	ATTACK = false
1811
	Rooted = false
1812
end
1813
1814
function turnto(position)
1815
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1816
end
1817
1818
function Banish(Foe)
1819
	if Foe then
1820
		coroutine.resume(coroutine.create(function()
1821
			--if game.Players:FindFirstChild(Foe.Name) then
1822
				table.insert(TOBANISH,Foe.Name)
1823
				printbye(Foe.Name)
1824
			--end
1825
			Foe.Archivable = true
1826
			local CLONE = Foe:Clone()
1827
			Foe:Destroy()
1828
			CLONE.Parent = Effects
1829
			CLONE:BreakJoints()
1830
			local MATERIALS = {"Glass","Neon"}
1831
			for _, c in pairs(CLONE:GetDescendants()) do
1832
				if c:IsA("BasePart") then
1833
					if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
1834
 						CreateSound(340722848, c, 10, 1, false)
1835
					end
1836
					c.Anchored = true
1837
					c.Transparency = c.Transparency + 0.2
1838
					c.Material = MATERIALS[MRANDOM(1,2)]
1839
					c.Color = C3(0,0,255)
1840
					if c.ClassName == "MeshPart" then
1841
						c.TextureID = ""
1842
					end
1843
					if c:FindFirstChildOfClass("SpecialMesh") then
1844
						c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1845
					end
1846
					if c:FindFirstChildOfClass("Decal") then
1847
						c:FindFirstChildOfClass("Decal"):remove()
1848
					end
1849
					c.Name = "Banished"
1850
					c.CanCollide = false
1851
				else
1852
					c:remove()
1853
				end
1854
			end
1855
			local A = false
1856
			for i = 1, 35 do
1857
				if A == false then
1858
					A = true
1859
				elseif A == true then
1860
					A = false
1861
				end
1862
				for _, c in pairs(CLONE:GetDescendants()) do
1863
					if c:IsA("BasePart") then
1864
						c.Anchored = true
1865
						c.Material = MATERIALS[MRANDOM(1,2)]
1866
						c.Transparency = c.Transparency + 0.8/35
1867
						if A == false then
1868
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
1869
						elseif A == true then
1870
							c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)						
1871
						end
1872
					end
1873
				end
1874
				Swait()
1875
			end
1876
			CLONE:remove()
1877
		end))
1878
	end
1879
end
1880
1881
function ApplyAoE(POSITION,RANGE,ISBANISH)
1882
	local CHILDREN = workspace:GetDescendants()
1883
	for index, CHILD in pairs(CHILDREN) do
1884
		if CHILD.ClassName == "Model" and CHILD ~= Character then
1885
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1886
			if HUM then
1887
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1888
				if TORSO then
1889
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
1890
						if ISBANISH == true then
1891
							Banish(CHILD)
1892
						else
1893
							if ISBANISH == "Gravity" then
1894
								HUM.PlatformStand = true
1895
								if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1896
									local grav = Instance.new("BodyPosition",TORSO)
1897
									grav.D = 15
1898
									grav.P = 20000
1899
									grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1900
									grav.position = TORSO.Position
1901
									grav.Name = "V3BanishForce"..Player.Name
1902
								else
1903
									TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
1904
									TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
1905
								end
1906
							else
1907
								HUM.PlatformStand = false
1908
							end
1909
						end
1910
					elseif ISBANISH == "Gravity" then
1911
						if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
1912
							TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
1913
							HUM.PlatformStand = false
1914
						end
1915
					end
1916
				end
1917
			end
1918
		end
1919
	end
1920
end
1921
1922
function SpawnTrail(FROM,TO,BIG)
1923
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Cyan", "Trail", VT(0,0,0))
1924
	MakeForm(TRAIL,"Cyl")
1925
	local DIST = (FROM - TO).Magnitude
1926
	if BIG == true then
1927
		TRAIL.Size = VT(0.5,DIST,0.5)
1928
	else
1929
		TRAIL.Size = VT(0.25,DIST,0.25)
1930
	end
1931
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
1932
	coroutine.resume(coroutine.create(function()
1933
		for i = 1, 5 do
1934
			Swait()
1935
			TRAIL.Transparency = TRAIL.Transparency + 0.1
1936
		end
1937
		TRAIL:remove()
1938
	end))
1939
end
1940
1941
function Banisher_Bullet()
1942
	ATTACK = true
1943
	Rooted = false
1944
	for i=0, 0.4, 0.1 / Animation_Speed do
1945
		Swait()
1946
		turnto(Mouse.Hit.p)
1947
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1948
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1949
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1950
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1951
		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)
1952
		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)
1953
	end
1954
	repeat
1955
		for i=0, 0.2, 0.1 / Animation_Speed do
1956
			Swait()
1957
			turnto(Mouse.Hit.p)
1958
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1959
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1960
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1961
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1962
			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)
1963
			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)
1964
		end
1965
		local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
1966
		SpawnTrail(Hole.Position,POS)
1967
		if HIT ~= nil then
1968
			if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
1969
				Banish(HIT.Parent)
1970
			end
1971
		end
1972
		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(0,0,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1973
		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(0,0,1), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1974
		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(0,0,1), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1975
		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(0,0,1), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
1976
		for i=0, 0.3, 0.1 / Animation_Speed do
1977
			Swait()
1978
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1979
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
1980
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1981
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1982
			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)
1983
			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)
1984
		end
1985
	until KEYHOLD == false
1986
	ATTACK = false
1987
	Rooted = false
1988
end
1989
1990
function Hat()
1991
	ATTACK = true
1992
	Rooted = false
1993
	Pose("Taunt",0.4,1.2,false)
1994
	ATTACK = false
1995
	Rooted = false
1996
end
1997
1998
--//=================================\\
1999
--||	  ASSIGN THINGS TO KEYS
2000
--\\=================================//
2001
2002
function MouseDown(Mouse)
2003
	HOLD = true
2004
	if ATTACK == false then
2005
	end
2006
end
2007
2008
function MouseUp(Mouse)
2009
HOLD = false
2010
end
2011
2012
function KeyDown(Key)
2013
	KEYHOLD = true
2014
	if Key == "z" and ATTACK == false then
2015
		Banisher_Bullet()
2016
	end
2017
	if Key == "q" and ATTACK == false then
2018
		Teleport()
2019
	end
2020
	if Key == "x" and ATTACK == false then
2021
		Morning_Star()
2022
	end
2023
	if Key == "c" and ATTACK == false then
2024
		Deathbound()
2025
	end
2026
	if Key == "t" and ATTACK == false then
2027
		Hat()
2028
	end
2029
end
2030
2031
function KeyUp(Key)
2032
	KEYHOLD = false
2033
end
2034
2035
	Mouse.Button1Down:connect(function(NEWKEY)
2036
		MouseDown(NEWKEY)
2037
	end)
2038
	Mouse.Button1Up:connect(function(NEWKEY)
2039
		MouseUp(NEWKEY)
2040
	end)
2041
	Mouse.KeyDown:connect(function(NEWKEY)
2042
		KeyDown(NEWKEY)
2043
	end)
2044
	Mouse.KeyUp:connect(function(NEWKEY)
2045
		KeyUp(NEWKEY)
2046
	end)
2047
2048
--//=================================\\
2049
--\\=================================//
2050
2051
2052
2053
function unanchor()
2054
	if UNANCHOR == true then
2055
		g = Character:GetChildren()
2056
		for i = 1, #g do
2057
			if g[i].ClassName == "Part" then
2058
				g[i].Anchored = false
2059
			end
2060
		end
2061
	end
2062
end
2063
2064
2065
--//=================================\\
2066
--||	WRAP THE WHOLE SCRIPT UP
2067
--\\=================================//
2068
2069
Humanoid.Changed:connect(function(Jump)
2070
	if Jump == "Jump" and (Disable_Jump == true) then
2071
		Humanoid.Jump = false
2072
	end
2073
end)
2074
2075
while true do
2076
	Swait()
2077
	script.Parent = WEAPONGUI
2078
	Humanoid.Parent = Character
2079
	if Humanoid then
2080
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2081
		IDLEANIMATION:Play()
2082
	end
2083
	if ANIMATE.Parent == Character then
2084
		ANIMATE:Destroy()
2085
	end
2086
	SINE = SINE + CHANGE
2087
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2088
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2089
	Humanoid.HipHeight = 1
2090
	Humanoid.Name = "Warden"
2091
	Humanoid.PlatformStand = false
2092
	if PLAYMAINANIM == true then
2093
		if TORSOVELOCITY < 1 then
2094
			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)
2095
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2096
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2097
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2098
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
2099
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2100
		elseif TORSOVELOCITY > 1 then
2101
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2102
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2103
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-35), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2104
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-35), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2105
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
2106
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(10)), 0.15 / Animation_Speed)
2107
		end
2108
	end
2109
	unanchor()
2110
	Humanoid.MaxHealth = "inf"
2111
	Humanoid.Health = "inf"
2112
	if Rooted == false then
2113
		Disable_Jump = false
2114
		Humanoid.WalkSpeed = Speed
2115
	elseif Rooted == true then
2116
		Disable_Jump = true
2117
		Humanoid.WalkSpeed = 0
2118
	end
2119
	for _, c in pairs(Character:GetChildren()) do
2120
		if c.ClassName == "Part" and c.Name ~= "Eye" then
2121
			c.Material = "Neon"
2122
			if c:FindFirstChildOfClass("ParticleEmitter") then
2123
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
2124
			end
2125
			c.Color = C3(1,1,1)
2126
			if c == Head then
2127
				if c:FindFirstChild("face") then
2128
					c.face:remove()
2129
				end
2130
			end
2131
		elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
2132
			c:remove()
2133
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
2134
			c:remove()
2135
		end
2136
	end
2137
	sick.SoundId = "rbxassetid://1567323605"
2138
	sick.Looped = true
2139
	sick.Pitch = 1
2140
	sick.Volume = 3
2141
	sick:Resume()
2142
	sick.Parent = Torso
2143
	refit()
2144
	if Head:FindFirstChildOfClass("Sound") then
2145
		Head:FindFirstChildOfClass("Sound"):remove()
2146
	end
2147
end
2148
game.Lighting.TimeOfDay = "00:00:00"
2149
game.Lighting.FogEnd = 50
2150
game.Lighting.FogColor = Color3.fromRGB(0,0,0)
2151
2152
--//=================================\\
2153
2154
--\\=================================//
2155
2156
2157
2158
2159
2160
--//====================================================\\--
2161
--||			  		 END OF SCRIPT
2162
--\\====================================================//--