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