View difference between Paste ID: J7WdC4be and 8pRN1uvB
SHOW: | | - or go back to the newest paste.
1-
--[[Aerx Tabs, by PointCoded and nguyenjimbo and The Plutonium Creators]]--
1+
local p = game.Players.LocalPlayer
2
local char = p.Character
3-
local RunService = game:service'RunService'
3+
local mouse = p:GetMouse()
4-
local Camera = Workspace.CurrentCamera or nil
4+
local larm = char["Left Arm"]
5-
local Lighting = game.Lighting
5+
local rarm = char["Right Arm"]
6-
local Version = "Doge"
6+
local lleg = char["Left Leg"]
7-
local AdminSourceCl = script:Clone()
7+
local rleg = char["Right Leg"
8-
local Pserver = false
8+
]local hed = char.Head
9-
local asm = false
9+
local torso = char.Torso
10
local hum = char.Humanoid
11
local cam = game.Workspace.CurrentCamera
12
local root = char.HumanoidRootPart
13-
--[[Customization]]--
13+
local deb = false
14-
local OutlineColor = BrickColor.new("Really red")
14+
local shot = 0
15
local debris=game:service"Debris"
16
local l = game:GetService("Lighting")
17
local rs = game:GetService("RunService").RenderStepped
18
ptz = {0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1}
19
math.randomseed(os.time())
20
for i,v in pairs(char:children()) do
21
    if v:IsA("Hat") then
22-
local Player = game.Players.LocalPlayer
22+
23-
local LocalPlayer = Player
23+
24-
local UserInterface = game:service'UserInputService'
24+
25-
local RF = game.ReplicatedStorage:findFirstChild("GKAttachment") or nil
25+
for i,v in pairs (hed:GetChildren()) do
26-
local bannedlist = {"Kazhar","MrDCL","Trollmon123"};
26+
        if v:IsA("Sound") then
27-
local changecamonpossess = false
27+
                v:Destroy()
28-
local Debris = game:service'Debris'
28+
29-
local Mouse = Player:GetMouse() or nil
29+
30-
local Players = game.Players
30+
31-
local chatAdornee = Player.Character.Head
31+
32-
local RbxUtility = LoadLibrary("RbxUtility")
32+
----------------------------------------------------
33-
local CMDS = {};
33+
Debounces = {
34-
local InsertService = game:service'InsertService'
34+
CanAttack = true;
35-
local math = {
35+
NoIdl = false;
36-
    abs = math.abs,
36+
Slashing = false;
37-
    acos = math.acos,
37+
Slashed = false;
38-
    asin = math.asin,
38+
RPunch = false;
39-
    atan = math.atan,
39+
RPunched = false;
40-
    atan2 = math.atan2,
40+
LPunch = false;
41-
    ceil = math.ceil,
41+
LPunched = false;
42-
    cos = math.cos,
42+
43-
    cosh = math.cosh,
43+
local Touche = {char.Name, }
44-
    deg = math.deg,
44+
----------------------------------------------------
45-
    exp = math.exp,
45+
hed.face.Texture = "rbxassetid://110112292"
46-
    floor = math.floor,
46+
char["Body Colors"].HeadColor = BrickColor.new("Pastel brown")
47-
    fmod = math.fmod,
47+
char["Body Colors"].TorsoColor = BrickColor.new("Pastel brown")
48-
    frexp = math.frexp,
48+
char["Body Colors"].LeftArmColor = BrickColor.new("Pastel brown")
49-
    huge = math.huge,
49+
char["Body Colors"].RightArmColor = BrickColor.new("Pastel brown")
50-
    ldexp = math.ldexp,
50+
----------------------------------------------------
51-
    log = math.log,
51+
ypcall(function()
52-
    log10 = math.log10,
52+
char.Shirt:Destroy()
53-
    max = math.max,
53+
char.Pants:Destroy()
54-
    min = math.min,
54+
shirt = Instance.new("Shirt", char)
55-
    modf = math.modf,
55+
shirt.Name = "Shirt"
56-
    phi = 1.618033988749895,
56+
pants = Instance.new("Pants", char)
57-
    pi = math.pi,
57+
pants.Name = "Pants"
58-
    pow = math.pow,
58+
char.Shirt.ShirtTemplate = "rbxassetid://246438816"
59-
    rad = math.rad,
59+
char.Pants.PantsTemplate = "rbxassetid://267068334"
60-
    random = math.random,
60+
61-
    randomseed = math.randomseed,
61+
----------------------------------------------------
62-
    sin = math.sin,
62+
function lerp(a, b, t) -- Linear interpolation
63-
    sinh = math.sinh,
63+
        return a + (b - a)*t
64-
    sqrt = math.sqrt,
64+
65-
    tan = math.tan,
65+
66-
    tanh = math.tanh,
66+
function slerp(a, b, t) --Spherical interpolation
67-
    tau = 2 * math.pi
67+
        dot = a:Dot(b)
68
        if dot > 0.99999 or dot < -0.99999 then
69-
 rainbow = false
69+
                return t <= 0.5 and a or b
70
        else
71-
while Pserver == true do
71+
                r = math.acos(dot)
72
                return (a*math.sin((1 - t)*r) + b*math.sin(t*r)) / math.sin(r)
73-
	PserverEnable()
73+
74-
        wait(0.2)
74+
75
76
function matrixInterpolate(a, b, t)
77-
while asm == true do
77+
        local ax, ay, az, a00, a01, a02, a10, a11, a12, a20, a21, a22 = a:components()
78-
wait(0.2)
78+
        local bx, by, bz, b00, b01, b02, b10, b11, b12, b20, b21, b22 = b:components()
79-
Removemessages()
79+
        local v0 = lerp(Vector3.new(ax, ay, az), Vector3.new(bx , by , bz), t) -- Position
80-
wait(0.2)
80+
        local v1 = slerp(Vector3.new(a00, a01, a02), Vector3.new(b00, b01, b02), t) -- Vector  right
81
        local v2 = slerp(Vector3.new(a10, a11, a12), Vector3.new(b10, b11, b12), t) -- Vector  up
82
        local v3 = slerp(Vector3.new(a20, a21, a22), Vector3.new(b20, b21, b22), t) -- Vector  back
83-
function Removemessages()
83+
        local t = v1:Dot(v2)
84-
for _,Child in pairs(game.Workspace:GetChildren()) do
84+
        if not (t < 0 or t == 0 or t > 0) then         -- Failsafe
85-
		if Child:IsA("Message") then
85+
                return CFrame.new()
86-
			Child:Destroy()
86+
87
        return CFrame.new(
88
        v0.x, v0.y, v0.z,
89
        v1.x, v1.y, v1.z,
90
        v2.x, v2.y, v2.z,
91-
function PserverEnable ()
91+
        v3.x, v3.y, v3.z)
92
end
93-
coroutine.resume(coroutine.create(function()
93+
----------------------------------------------------
94-
while wait() do
94+
function genWeld(a,b)
95-
for _,v in pairs(game.Players:GetChildren()) do
95+
    local w = Instance.new("Weld",a)
96-
if v.Name ~= "nguyenjimbo" and v.Name ~= "PointCoded"
96+
    w.Part0 = a
97-
and not v:IsFriendsWith(100084918) then
97+
    w.Part1 = b
98-
v:remove()
98+
    return w
99
end
100
function weld(a, b)
101
    local weld = Instance.new("Weld")
102-
end))
102+
    weld.Name = "W"
103
    weld.Part0 = a
104
    weld.Part1 = b
105
    weld.C0 = a.CFrame:inverse() * b.CFrame
106
    weld.Parent = a
107
    return weld;
108
end
109
----------------------------------------------------
110
function Lerp(c1,c2,al)
111
local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
112
local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
113-
 if script.ClassName == "LocalScript" then if game.PlaceId == 178350907 then script.Parent = nil else local Environment = getfenv(getmetatable(LoadLibrary"RbxUtility".Create).__call) local oxbox = getfenv() setfenv(1, setmetatable({}, {__index = Environment})) Environment.coroutine.yield() oxbox.script:Destroy() end end
113+
for i,v in pairs(com1) do
114-
if script ~= true then
114+
com1[i] = v+(com2[i]-v)*al
115-
print("Unremoveable Test Completed! Works! This script is immune to g/nol/all or g/nos/all!")
115+
116
return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
117-
print("Unremoveable Test Failed! This script is removable by g/nol/all or g/nos/all!")
117+
118
----------------------------------------------------
119-
TaskScheduler = {};
119+
newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
120-
 
120+
local wld = Instance.new("Weld", wp1)
121-
local currentTime = 0
121+
wld.Part0 = wp0
122-
local pairs = pairs
122+
wld.Part1 = wp1
123-
local rbx_coroutine_create = coroutine.create
123+
wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
124-
local rbx_coroutine_resume = coroutine.resume
124+
125-
local rbx_Wait = Wait
125+
----------------------------------------------------
126-
local rbx_ypcall = ypcall
126+
function weld5(part0, part1, c0, c1)
127-
local threads, swapThreads = {}, {}
127+
    weeld=Instance.new("Weld", part0)
128-
local function StartCoroutine(func, delay, ...)
128+
    weeld.Part0=part0
129-
        if delay > 0 then
129+
    weeld.Part1=part1
130-
                rbx_Wait(delay)
130+
    weeld.C0=c0
131
    weeld.C1=c1
132-
        local success, message = rbx_ypcall(func, ...)
132+
    return weeld
133-
        if not success then
133+
134-
                print("Error in a TaskScheduler coroutine: "..message)
134+
----------------------------------------------------
135
function HasntTouched(plrname)
136
local ret = true
137-
function TaskScheduler.GetCurrentTime()
137+
for _, v in pairs(Touche) do
138-
        return currentTime
138+
if v == plrname then
139
ret = false
140
end
141
end
142
return ret
143-
function TaskScheduler.MainLoop(stepTime)
143+
144-
        currentTime = currentTime + stepTime
144+
----------------------------------------------------
145-
        threads, swapThreads = swapThreads, threads
145+
newWeld(torso, larm, -1.5, 0.5, 0)
146-
        local threshold = -0.5 * stepTime
146+
larm.Weld.C1 = CFrame.new(0, 0.5, 0)
147-
        for thread, resumeTime in pairs(swapThreads) do
147+
newWeld(torso, rarm, 1.5, 0.5, 0)
148-
                local remainingTime = currentTime - resumeTime
148+
rarm.Weld.C1 = CFrame.new(0, 0.5, 0)
149-
                if remainingTime >= threshold then
149+
newWeld(torso, hed, 0, 1.5, 0)
150-
                        swapThreads[thread] = nil
150+
newWeld(torso, lleg, -0.5, -1, 0)
151-
                        local success, message = coroutine.resume(thread, remainingTime, currentTime)
151+
lleg.Weld.C1 = CFrame.new(0, 1, 0)
152-
                        if not success then
152+
newWeld(torso, rleg, 0.5, -1, 0)
153-
                                print("Error in a TaskScheduler custom thread: "..message)
153+
rleg.Weld.C1 = CFrame.new(0, 1, 0)
154
newWeld(root, torso, 0, -1, 0)
155
torso.Weld.C1 = CFrame.new(0, -1, 0)
156
157-
        threads, swapThreads = swapThreads, threads
157+
----------------------------------------------------//Mesh setting
158-
        for thread, resumeTime in pairs(swapThreads) do
158+
local cmeshes = {}
159-
                threads[thread], swapThreads[thread] = resumeTime, nil
159+
local ll,rl,la,ra,t = Instance.new('CharacterMesh',char),Instance.new('CharacterMesh',char),Instance.new('CharacterMesh',char),Instance.new('CharacterMesh',char),Instance.new('CharacterMesh',char)
160
ll.BodyPart = 'LeftLeg'
161
rl.BodyPart = 'RightLeg'
162-
-- TODO: add stack trace info to scheduling functions?
162+
la.BodyPart = 'LeftArm'
163-
function TaskScheduler.Schedule(t, f, ...)
163+
ra.BodyPart = 'RightArm'
164-
        coroutine.resume(coroutine.create(StartCoroutine), f, t, ...)
164+
t.BodyPart = 'Torso'
165
ll.MeshId,ll.OverlayTextureId,rl.MeshId,rl.OverlayTextureId = 68241558,14769524,68241677,14769524
166-
function TaskScheduler.Start(f, ...)
166+
ra.MeshId,ra.OverlayTextureId,la.MeshId,la.OverlayTextureId = 68241658,14769524,68241543,70284482
167-
        coroutine.resume(coroutine.create(StartCoroutine), f, 0, ...)
167+
t.MeshId,t.OverlayTextureId=68241695,31100020
168
----------------------------------------------------
169-
function TaskScheduler.ScheduleCustomThread(t, f)
169+
z = Instance.new("Sound", char)
170-
        threads[coroutine.create(f)] = currentTime + t
170+
z.SoundId = "rbxassetid://0"--282572614 -- 157060424 -- 303570180
171
z.Looped = true
172-
function TaskScheduler.Wait(duration)
172+
z.Volume = 1
173-
        duration = tonumber(duration) or 0
173+
wait(.1)
174-
        threads[coroutine.running()] = currentTime + duration
174+
z:Play()
175-
        local remainingTime, currentTime = coroutine.yield()
175+
----------------------------------------------------
176-
        return remainingTime + duration, currentTime
176+
local Transforming = true
177
hum.WalkSpeed = 45
178-
local success, player = Players.LocalPlayer
178+
local fx = Instance.new("Part",torso)
179-
if success and player then
179+
fx.Anchored = true
180-
        RunService.RenderStepped:connect(function()
180+
fx.Material = "Neon"
181-
                TaskScheduler.MainLoop(1 / 60)
181+
fx.CanCollide = false
182
fx.Locked = true
183
fx.Transparency = 1
184-
        RunService.Stepped:connect(function()
184+
fx.Material = "Brick"
185-
                TaskScheduler.MainLoop(1 / 30)
185+
fx.Size = Vector3.new(1,1,1)
186
fx.TopSurface = "SmoothNoOutlines"
187
fx.BottomSurface = "SmoothNoOutlines"
188-
 
188+
fx.BrickColor = BrickColor.new("crim")
189-
ChatBubble = {};
189+
fxm = Instance.new("SpecialMesh",fx)
190-
 
190+
fxm.MeshId = "http://www.roblox.com/asset/?id=9756362"
191-
local FONT_CUSTOM_A_SRC, FONT_CUSTOM_A, TextAlignment, LoadFixedFont, LoadFont, DrawTextNetwork, DrawMultilineTextNetwork, ConfigureChatBubble,
191+
fxm.Scale = Vector3.new(1,1,1)
192-
 
192+
for i = 1, 20 do rs:wait()
193-
CreateChatBubble, WrapText, chat_bubbles
193+
        fx.Transparency = fx.Transparency - (1/20)
194-
FONT_CUSTOM_A_SRC = "03E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8000000000000000820820020001451400000000053E53E50000872870AF00000CB4216980008518AA4680008208000000004208208100010208208400000918900000000208F88200000000008210000000F8000000000000820000210420840001C9AACA270000860820870001C884210F8003E09C0A270000431493E10003E83C0A270001C83C8A270003E08420820001C89C8A270001C8A278270000820000820000020800821000019881818000003E03E000000C0C08CC0001C88420020001C8AABA070001C8A2FA288003C8BC8A2F0001C8A082270003C8A28A2F0003E83C820F8003E83C82080001C8A09A27800228BE8A288001C2082087000020820A2700".."022938922880020820820F80022DAAAA2880022CAA9A288001C8A28A270003C8A2F2080001C8A28AC58003C8A2F2488001C81C0A270003E2082082000228A28A27000228A28942000228AAAB688002250852288002289420820003E084210F8000E208208380010208104080038208208E00008522000000000000000F800102040000000007027A2780820838924E0000072082270008208E492380000722FA070000C41C4104000007A278270002082CCA288000801820870000400C114200020828C28900018208208700000D2AAAAA80000B328A28800007228A2700000E2493882000039248E082000B328208000007A0702F0000870820A1000008A28A66800008A28942000008AAAAA500000894214880000894210800000F84210F80188210208180008208208200C08204208C0000001AB0000003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F80".."03E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F80".."03E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F80"
194+
        fx.CFrame = torso.CFrame
195-
FONT_CUSTOM_A = {}
195+
        fxm.Scale = fxm.Scale + Vector3.new(0.001,0.001,0.001)
196-
 
196+
        rs:wait()
197-
ChatBubble.THEME = {}
197+
198-
ChatBubble.THEME.COOL = {
198+
------
199-
        Name = "Cool",
199+
----------------------------------------------------
200-
        Background = Color3.new(0, 3 / 2, 0.2),
200+
GroundWave1 = function()
201-
        Foreground = Color3.new(2 / 3, 1, 1)
201+
	local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
202
	local Colors = {"Crimson", "Crimson"}
203-
ChatBubble.THEME.AQUA = {
203+
		local wave = Instance.new("Part", torso)
204-
        Name = "Aqua",
204+
		wave.BrickColor = BrickColor.new('Lime green')
205-
        Background = Color3.new(0, 1 / 3, 0.5),
205+
		wave.Anchored = true
206-
        Foreground = Color3.new(2 / 3, 1, 1)
206+
		wave.CanCollide = false
207
		wave.Locked = true
208-
ChatBubble.THEME.CLASSIC = {
208+
		wave.Size = Vector3.new(1, 1, 1)
209-
        Name = "Classic",
209+
		wave.TopSurface = "Smooth"
210-
        Background = Color3.new(0, 0, 0),
210+
		wave.BottomSurface = "Smooth"
211-
        Foreground = Color3.new(1, 1, 1)
211+
		wave.Transparency = 0.35
212
		wave.CFrame = HandCF
213-
 
213+
		wm = Instance.new("SpecialMesh", wave)
214-
ChatBubble.THEME.KAYAVEN = {
214+
		wm.MeshId = "rbxassetid://3270017"
215-
        Name = "Kayaven",
215+
		coroutine.wrap(function()
216-
        Background = Color3.new(0, 0, 0),
216+
		for i = 1, 30, 1 do
217-
        Foreground = Color3.new(0, 1, 0)
217+
		wm.Scale = Vector3.new(10 + i*20.4, 10 + i*20.4, 1)
218
		wave.Size = wm.Scale
219-
ChatBubble.THEME.CRIMSON = {
219+
		wave.CFrame = HandCF
220-
        Name = "Crimson",
220+
		wave.Transparency = i/10
221-
        Background = Color3.new(0, 0, 0),
221+
		wait()
222-
        Foreground = Color3.new(0.9, 0, 0)
222+
223
		wait()
224-
ChatBubble.THEME.WHITE = {
224+
		wave:Destroy()
225-
        Name = "White",
225+
	end)()
226-
        Background = Color3.new(1, 1, 1),
226+
227-
        Foreground = Color3.new(1, 1, 1)
227+
----------------------------------------------------
228
GroundWave = function()
229-
ChatBubble.THEME.GRAPE = {
229+
        if Transforming == true then
230-
        Name = "Grape",
230+
                local wave = Instance.new("Part", torso)
231-
        Background = Color3.new(0.25, 0, 0.25),
231+
                wave.BrickColor = BrickColor.new("Crimson")
232-
        Foreground = Color3.new(1, 2 / 3, 1)
232+
                wave.Anchored = true
233
                wave.CanCollide = false
234-
ChatBubble.THEME.LIBERATION = {
234+
                wave.Locked = true
235-
        Name = "Liberation",
235+
                wave.Size = Vector3.new(1, 1, 1)
236-
        Background = Color3.new(1 / 6, 3 / 7, 3 / 7),
236+
                wave.TopSurface = "Smooth"
237-
        Foreground = Color3.new(1, 1, 1)
237+
                wave.BottomSurface = "Smooth"
238
                wave.Transparency = 0.35
239-
ChatBubble.THEME.PASSION = {
239+
                wave.CFrame = fx.CFrame
240-
        Name = "Passion",
240+
                wm = Instance.new("SpecialMesh", wave)
241-
        Background = Color3.new(0.5, 0, 0),
241+
                wm.MeshType = "Sphere"
242-
        Foreground = Color3.new(1, 1, 1)
242+
                wm.Scale = Vector3.new(1,1,1)
243
                coroutine.wrap(function()
244-
ChatBubble.THEME.PURPLE = {
244+
                for i = 1, 18, 1 do
245-
        Name = "Purple",
245+
                wm.Scale = Vector3.new(2 + i*2, 2 + i*2, 2 + i*2)
246-
        Background = Color3.new(0.25, 0, 0.25),
246+
                --wave.Size = wm.Scale
247-
        Foreground = Color3.new(1, 1, 1)
247+
                wave.CFrame = fx.CFrame
248
                wave.Transparency = i/14
249-
ChatBubble.THEME.Black = {
249+
		wait()
250-
        Name = "Black",
250+
251-
        Background = Color3.new(0, 0, 0),
251+
                wait()
252-
        Foreground = Color3.new(1, 1, 1)
252+
                wave:Destroy()
253
        end)()
254
        elseif Transforming == false then
255-
ChatBubble.THEME.RAINBOW = {
255+
        wait()
256-
        Name = "Rainbow",
256+
257-
        Background = function(bubble_info)
257+
258-
                local billboard, frame = bubble_info[5], bubble_info[6]
258+
259-
                TaskScheduler.Start(function()
259+
for i = 1, 100 do rs:wait()
260-
                        while billboard:IsDescendantOf(Workspace) do
260+
        fx.CFrame = torso.CFrame
261-
                                local red, green, blue = Utility.GetRainbowRGB(tick())
261+
262-
                                frame.BackgroundColor3 = Color3.new(0.6 * red, 0.6 * green, 0.65 * blue)
262+
263-
                                RunService.Stepped:wait()
263+
Spawn(function()
264
	while wait(1) do
265-
                end)
265+
		GroundWave()
266-
        end,
266+
267-
        Foreground = Color3.new(1, 1, 1)
267+
268
269-
ChatBubble.THEME.TEAL = {
269+
270-
        Name = "Teal",
270+
271-
        Background = Color3.new(0, 1 / 3, 0.5),
271+
Transforming = false
272-
        Foreground = Color3.new(1, 1, 1)
272+
273
for i = 1, 20 do rs:wait()
274-
 
274+
        fx.Transparency = fx.Transparency + (1/20)
275-
function ChatBubble.GetTheme()
275+
        fx.CFrame = torso.CFrame
276-
        return ChatBubble.theme_info
276+
        fxm.Scale = fxm.Scale + Vector3.new(0.5,0.5,0.5)
277
        rs:wait()
278-
function ChatBubble.SetTheme(theme_info)
278+
279-
        if type(theme_info) == "string" then
279+
280-
                theme_info = string.lower(theme_info)
280+
local HandCF = CFrame.new(root.Position - Vector3.new(0,3,0)) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
281-
                for key, info in pairs(ChatBubble.THEME) do
281+
        local wave = Instance.new("Part", torso)
282-
                        if info.Name:lower() == theme_info:lower() then
282+
        wave.BrickColor = BrickColor.new("Crimson")
283-
                                ChatBubble.SetTheme(info)
283+
        wave.Anchored = true
284-
                                break
284+
        wave.CanCollide = false
285
        wave.Locked = true
286
        wave.Size = Vector3.new(1, 1, 1)
287-
                return
287+
        wave.TopSurface = "Smooth"
288
        wave.BottomSurface = "Smooth"
289-
        ChatBubble.theme_info = theme_info
289+
        wave.Transparency = 0.35
290-
        ChatBubble.background_color = theme_info.Background
290+
        wave.CFrame = HandCF
291-
        ChatBubble.font = LoadFont(ChatBubble.FONT_DEFAULT, theme_info.Foreground)
291+
        wm = Instance.new("SpecialMesh", wave)
292-
        print("Theme has been set to "..theme_info.Name.." in ChatBubble")
292+
        wm.MeshId = "rbxassetid://3270017"
293
        coroutine.wrap(function()
294-
 
294+
        for i = 1, 14, 1 do
295-
do
295+
        wm.Scale = Vector3.new(10 + i*10.1, 10 + i*10.1, 10)
296-
local floor = math.floor
296+
        wave.Size = wm.Scale
297-
local max = math.max
297+
        wave.CFrame = HandCF
298-
local asc = string.byte
298+
        wave.Transparency = i/14
299-
local chr = string.char
299+
        wait()
300-
local find = string.find
300+
301-
local gmatch = string.gmatch
301+
        wait()
302-
local sub = string.sub
302+
        wave:Destroy()
303-
local insert = table.insert
303+
304-
local type = type
304+
hum.WalkSpeed = 50
305-
local unpack = unpack
305+
----------------------------------------------------
306-
 
306+
Blast = function()
307-
local PopIntegerBit
307+
	local Colors = {"Crimson", "Crimson"}
308-
 
308+
		local wave = Instance.new("Part", torso)
309-
TextAlignment = setmetatable({
309+
		wave.BrickColor = BrickColor.new(Colors[math.random(1,#Colors)])
310-
        [0] = 0,
310+
		wave.Anchored = true
311-
        [1] = 1,
311+
		wave.CanCollide = false
312-
        [2] = 2,
312+
		wave.Locked = true
313-
        Left = 0,
313+
		wave.Size = Vector3.new(1, 1, 1)
314-
        Center = 1,
314+
		wave.TopSurface = "Smooth"
315-
        Right = 2
315+
		wave.BottomSurface = "Smooth"
316-
}, {
316+
		wave.Transparency = 0.35
317-
        __call = function(self, ...)
317+
		wave.CFrame = rarm.CFrame
318-
                local argc = #{...}
318+
		wm = Instance.new("SpecialMesh", wave)
319-
                if argc == 0 then
319+
		wm.MeshType = "Sphere"
320-
                        return 0
320+
		wm.Scale = Vector3.new(1,1,1)
321-
                else
321+
		z = Instance.new("Sound",wave)
322-
                        local arg = (...)
322+
		z.SoundId = "rbxassetid://237035051"
323-
                        local value = rawget(self, arg)
323+
		z.Volume = 1
324-
                        if value then
324+
		z.Pitch = .9
325-
                                return value
325+
		z:Play()
326-
                        else
326+
		coroutine.wrap(function()
327-
                                local arg_type = type(arg)
327+
		for i = 1, 30, 1 do
328-
                                error("Invalid value" .. ((arg_type == "number") and (" " .. arg) or ((arg_type == "string") and (" \"" .. arg .. "\"") or
328+
		wave.Size = Vector3.new(1 + i*4, 1 + i*4, 1 + i*4)
329-
 
329+
		--wave.Size = wm.Scale
330-
"")) .. " for enum TextAlignment")
330+
		wave.CFrame = rarm.CFrame
331
		wave.Transparency = (1/14)
332
		rs:wait()
333
		end
334-
})
334+
		rs:wait()
335-
 
335+
		wave:Destroy()
336-
function PopIntegerBit(value, bit)
336+
		z:Destroy()
337-
        if value >= bit then
337+
	end)()
338-
                return 1, value - bit
338+
339
----------------------------------------------------
340-
                return 0, value
340+
rarm.Touched:connect(function(ht)
341
    hit = ht.Parent
342
    if ht and hit:IsA("Model") then
343-
function MusicList()
343+
            if hit:FindFirstChild("Humanoid") then
344-
	
344+
                if hit.Name ~= p.Name then
345
                    if Debounces.RPunch == true and Debounces.RPunched == false then
346-
function LoadFixedFont(dest, src, height, width)
346+
                            Debounces.RPunched = true
347-
        local n = #src / 64 - 1
347+
                                hit:FindFirstChild("Humanoid"):TakeDamage(math.huge)
348-
        local bit_index = 0
348+
                                    if Debounces.ks==true then
349-
        local symbol_bits = width * height
349+
                                    z = Instance.new("Sound",hed)
350-
        for i = 0, 255 do
350+
                                    z.SoundId = "rbxassetid://169380525"
351-
                local char_data = {}
351+
                                                                        z.Pitch = ptz[math.random(1,#ptz)]
352-
                for j = 1, height do
352+
                                    z.Volume = 1
353-
                        char_data[j] = {}
353+
                                    z:Play()
354
                                    end
355-
                dest[i] = char_data
355+
                            wait(.2)
356
                            Debounces.RPunched = false
357-
        for i = 1, #src do
357+
358-
                local buffer = tonumber(sub(src, i, i), 16)
358+
359-
                for j = 1, 4 do
359+
360-
                        local code = floor(bit_index / symbol_bits)
360+
    elseif ht and hit:IsA("Hat") then
361-
                        local row = floor(bit_index / width) % height + 1
361+
        if hit.Parent.Name ~= p.Name then
362-
                        local column = bit_index % width + 1
362+
            if hit.Parent:FindFirstChild("Humanoid") then
363-
                        dest[code][row][column], buffer = PopIntegerBit(buffer, 8)
363+
                   if Debounces.RPunch == true and Debounces.RPunched == false then
364-
                        buffer = buffer * 2
364+
                            Debounces.RPunched = true
365-
                        bit_index = bit_index + 1
365+
                            hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.huge)
366
                                    if Debounces.ks==true then
367
                                    z = Instance.new("Sound",hed)
368
                                    z.SoundId = "rbxassetid://169380525"
369-
function LoadFont(font_data, color)
369+
                                                                        z.Pitch = ptz[math.random(1,#ptz)]
370-
        local font_obj = {}
370+
                                    z.Volume = 1
371-
        for character, char_data in pairs(font_data) do
371+
                                    z:Play()
372-
                local code = character
372+
                                    end
373-
                if type(code) ~= "number" then
373+
                            wait(.2)
374-
                        code = asc(character)
374+
                Debounces.RPunched = false
375
                                end
376-
                local height = #char_data
376+
377-
                local width = #char_data[1]
377+
378-
                local pixel_h = 1 / height
378+
379-
                local pixel_w = 1 / width
379+
380-
                local pixel_size = UDim2.new(pixel_w, 0, pixel_h, 0)
380+
larm.Touched:connect(function(ht)
381-
                local frame = Instance.new("Frame")
381+
    hit = ht.Parent
382-
                frame.BackgroundTransparency = 1
382+
    if ht and hit:IsA("Model") then
383-
                frame.Name = ""
383+
            if hit:FindFirstChild("Humanoid") then
384-
                for y = 1, height do
384+
                if hit.Name ~= p.Name then
385-
                        local row = char_data[y]
385+
                    if Debounces.LPunch == true and Debounces.LPunched == false then
386-
                        for x = 1, width do
386+
                            Debounces.LPunched = true
387-
                                local opacity = row[x]
387+
                                hit:FindFirstChild("Humanoid"):TakeDamage(math.huge)
388-
                                if opacity ~= 0 then
388+
                                    if Debounces.ks2==true then
389-
                                        local pixel = Instance.new("Frame", frame)
389+
                                    z = Instance.new("Sound",hed)
390-
                                        pixel.BackgroundColor3 = color
390+
                                    z.SoundId = "rbxassetid://169380525"
391-
                                        pixel.BorderSizePixel = 0
391+
                                                                        z.Pitch = ptz[math.random(1,#ptz)]
392-
                                        pixel.Name = ""
392+
                                    z.Volume = 1
393-
                                        pixel.Position = UDim2.new(x * pixel_w, 0, y * pixel_h, 0) - pixel_size
393+
                                    z:Play()
394-
                                        pixel.Size = pixel_size -- + UDim2.new(0, 0, 0, 1) -- correction
394+
                                    end
395-
                                        -- ^ never mind that correction, fixed by changing font size to 12x16 instead of 13x17
395+
                            wait(.2)
396-
                                        if opacity then
396+
                        Debounces.LPunched = false
397-
                                                pixel.BackgroundTransparency = 1 - opacity
397+
398-
                                        end
398+
399
            end
400
    elseif ht and hit:IsA("Hat") then
401
        if hit.Parent.Name ~= p.Name then
402-
                font_obj[code] = {frame, height, width}
402+
            if hit.Parent:FindFirstChild("Humanoid") then
403
                   if Debounces.LPunch == true and Debounces.LPunched == false then
404-
        return font_obj
404+
                            Debounces.LPunched = true
405
                            hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.huge)
406-
function DrawTextNetwork(text, font, size, delay_offset)
406+
                                    if Debounces.ks2==true then
407-
        if #text == 0 then
407+
                                    z = Instance.new("Sound",hed)
408-
                text = " "
408+
                                    z.SoundId = "rbxassetid://169380525"
409
                                                                        z.Pitch = ptz[math.random(1,#ptz)]
410-
        local frame = Instance.new("Frame")
410+
                                    z.Volume = 1
411-
        frame.BackgroundTransparency = 1
411+
                                    z:Play()
412-
        frame.BorderSizePixel = 0
412+
                                    end
413-
        local objects = {}
413+
                            wait(.2)
414-
        local length = #text
414+
                Debounces.LPunched = false
415-
        local height = 0
415+
416-
        local width = 0
416+
417-
        for i = 1, length do
417+
418-
                local character = sub(text, i, i)
418+
419-
                local code = asc(character)
419+
420-
                local char_data = assert(font[code] or FONT_SYMBOL_MISSING, "FONT ERROR: '" .. character .. "' (" .. code .. ") not found")
420+
----------------------------------------------------
421-
                local char_proto, char_h, char_w = unpack(char_data)
421+
mod4 = Instance.new("Model",char)
422-
                objects[i] = char_data
422+
423-
                height = max(char_h, height)
423+
ptez = {0.7, 0.8, 0.9, 1}
424-
                width = width + char_w
424+
425
function FindNearestTorso(Position,Distance,SinglePlayer)
426-
        local offset = 0
426+
    if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end
427-
        local punctuation_delay = 0
427+
        local List = {}
428-
        for i = 1, length do
428+
        for i,v in pairs(workspace:GetChildren())do
429-
                delay(delay_offset + (i + punctuation_delay - 1) / 30, function()
429+
            if v:IsA("Model")then
430-
                        local char_data = objects[i]
430+
                if v:findFirstChild("Torso")then
431-
                        local char_proto, char_h, char_w = unpack(char_data)
431+
                    if v ~= char then
432-
                        local char_obj = char_proto:Clone()
432+
                        if(v.Torso.Position -Position).magnitude <= Distance then
433-
                        char_obj.Position = UDim2.new(offset / width, 0, 0, 0)
433+
                            table.insert(List,v)
434-
                        char_obj.Size = UDim2.new(char_w / width, 0, 1, 0)
434+
435-
                        char_obj.Parent = frame
435+
436-
                        offset = offset + char_w
436+
437-
                end)
437+
438-
                local character = sub(text, i, i)
438+
439-
                if character == "." then
439+
    return List
440-
                        punctionation_delay = punctuation_delay + 3
440+
441-
                elseif character == "?" or character == "!" then
441+
442-
                        punctionation_delay = punctuation_delay + 2
442+
function Punch()
443-
                elseif character == ";" or character == "~" then
443+
    part=Instance.new('Part',mod4)
444-
                        punctionation_delay = punctuation_delay + 1
444+
    part.Anchored=true
445
    part.CanCollide=false
446
    part.FormFactor='Custom'
447-
        local ratio = (height == 0) and (0) or (width / height)
447+
    part.Size=Vector3.new(.2,.2,.2)
448-
        frame.Size = UDim2.new(size.X.Scale * ratio, size.X.Offset * ratio, size.Y.Scale, size.Y.Offset)
448+
    part.CFrame=root.CFrame*CFrame.new(0,1.5,-2.4)*CFrame.Angles(math.rad(0),0,0)
449-
        return frame, height, width, (length + punctuation_delay) / 30
449+
    part.Transparency=.7
450
    part.BrickColor=BrickColor.new('Crimson')
451-
function DrawMultilineTextNetwork(text, font, size, delay_offset, ...)
451+
    mesh=Instance.new('SpecialMesh',part)
452-
        local align = TextAlignment(...)
452+
    mesh.MeshId='http://www.roblox.com/asset/?id=3270017'
453-
        local frame = Instance.new("Frame")
453+
    mesh.Scale=Vector3.new(3,3,3)
454-
        frame.BackgroundTransparency = 1
454+
    part2=Instance.new('Part',mod4)
455-
        frame.BorderSizePixel = 0
455+
    part2.Anchored=true
456-
        local height = 0
456+
    part2.CanCollide=false
457-
        local width = 0
457+
    part2.FormFactor='Custom'
458-
        local objects = {}
458+
    part2.Size=Vector3.new(.2,.2,.2)
459-
        for line in gmatch(text .. "\n", "([^\n]*)\n") do
459+
    part2.CFrame=root.CFrame*CFrame.new(0,1.5,-2.4)*CFrame.Angles(math.rad(90),0,0)
460-
                local line_obj, line_h, line_w, line_delay = DrawTextNetwork(line, font, size, delay_offset)
460+
    part2.Transparency=.7
461-
                insert(objects, {line_obj, line_h, line_w})
461+
    part2.BrickColor=BrickColor.new('Crimson')
462-
                height = height + line_h
462+
    mesh2=Instance.new('SpecialMesh',part2)
463-
                width = max(line_w, width)
463+
    mesh2.MeshId='http://www.roblox.com/asset/?id=20329976'
464-
                delay_offset = delay_offset + line_delay
464+
    mesh2.Scale=Vector3.new(3,1.5,3)
465
    for i,v in pairs(FindNearestTorso(torso.CFrame.p,4))do
466-
        local offset = 0
466+
        if v:FindFirstChild('Humanoid') then
467-
        for index, line_data in ipairs(objects) do
467+
            v.Humanoid:TakeDamage(math.huge)
468-
                local line_obj, line_h, line_w = unpack(line_data)
468+
469-
                local align_offset
469+
470-
                if align == TextAlignment.Left then
470+
    coroutine.resume(coroutine.create(function()
471-
                        align_offset = 0
471+
        for i=0,0.62,0.4 do
472-
                elseif align == TextAlignment.Center then
472+
473-
                        align_offset = 0.5 - line_w / width / 2
473+
            part.CFrame=part.CFrame
474-
                elseif align == TextAlignment.Right then
474+
            part.Transparency=i
475-
                        align_offset = 1 - line_w / width
475+
            mesh.Scale=mesh.Scale+Vector3.new(0.4,0.4,0.4)
476
            part2.CFrame=part2.CFrame
477-
                line_obj.Position = UDim2.new(align_offset, 0, offset / height, 0)
477+
            part2.Transparency=i
478-
                line_obj.Parent = frame
478+
            mesh2.Scale=mesh2.Scale+Vector3.new(0.4,0.2,0.4)
479-
                offset = offset + line_h
479+
480
        part.Parent=nil
481-
        local line_count = #objects
481+
        part2.Parent=nil
482-
        local ratio = (height == 0) and (0) or (line_count * width / height)
482+
    end))
483-
        frame.Size = UDim2.new(size.X.Scale * ratio, size.X.Offset * ratio, size.Y.Scale * line_count, size.Y.Offset * line_count)
483+
484-
        return frame, height, width
484+
----------------------------------------------------
485
rarm.Touched:connect(function(ht)
486
    hit = ht.Parent
487-
 
487+
    if ht and hit:IsA("Model") then
488-
LoadFixedFont(FONT_CUSTOM_A, FONT_CUSTOM_A_SRC, 8, 6)
488+
            if hit:FindFirstChild("Humanoid") then
489-
ChatBubble.FONT_DEFAULT = FONT_CUSTOM_A
489+
                if hit.Name ~= p.Name then
490-
ChatBubble.SetTheme("Rainbow")
490+
                    if Debounces.RPunch == true and Debounces.RPunched == false then
491-
 
491+
                            Debounces.RPunched = true
492-
chat_bubbles = {}
492+
                                hit:FindFirstChild("Humanoid"):TakeDamage(math.huge)
493-
 
493+
                                    if Debounces.ks==true then
494-
function CreateChatBubble(bubble_info)
494+
                                    z = Instance.new("Sound",hed)
495-
        local creation_time, text, backup = bubble_info[1], bubble_info[2], bubble_info[8]
495+
                                    z.SoundId = "rbxassetid://169380525"
496-
        local billboard, frame, label
496+
									z.Pitch = ptz[math.random(1,#ptz)]
497-
        if backup and false then
497+
                                    z.Volume = 1
498-
                billboard = backup:Clone()
498+
                                    z:Play()
499-
                frame = billboard.Frame
499+
                                    end
500-
                label = frame.Label
500+
                            wait(.2)
501-
                bubble_info[5] = billboard
501+
                            Debounces.RPunched = false
502-
                bubble_info[6] = frame
502+
503-
                bubble_info[7] = label
503+
504-
                billboard.Parent = Workspace
504+
505
    elseif ht and hit:IsA("Hat") then
506-
                label = DrawMultilineTextNetwork(text, bubble_info[9], UDim2.new(0, 12, 0, 16), creation_time - time(), "Center")
506+
        if hit.Parent.Name ~= p.Name then
507-
                label.Name = "Label"
507+
            if hit.Parent:FindFirstChild("Humanoid") then
508-
                label.Position = UDim2.new(0, 16, 0, 16)
508+
                   if Debounces.RPunch == true and Debounces.RPunched == false then
509-
                billboard = Instance.new("BillboardGui", Workspace)
509+
                            Debounces.RPunched = true
510-
                billboard.Adornee = chatAdornee
510+
                            hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.huge)
511-
                billboard.AlwaysOnTop = true
511+
                                    if Debounces.ks==true then
512-
                billboard.Size = UDim2.new(label.Size.X.Scale, label.Size.X.Offset + 32, label.Size.Y.Scale, label.Size.Y.Offset + 32)
512+
                                    z = Instance.new("Sound",hed)
513-
                billboard.SizeOffset = Vector2.new(0, 0)
513+
                                    z.SoundId = "rbxassetid://169380525"
514-
                billboard.StudsOffset = Vector3.new(0, 1, 0)
514+
									z.Pitch = ptz[math.random(1,#ptz)]
515-
                frame = Instance.new("Frame", billboard)
515+
                                    z.Volume = 1
516-
                bubble_info[5] = billboard
516+
                                    z:Play()
517-
                bubble_info[6] = frame
517+
                                    end
518-
                bubble_info[7] = label
518+
                            wait(.2)
519-
                local background_color = bubble_info[10]
519+
                Debounces.RPunched = false
520-
                if type(background_color) == "function" then
520+
				end
521-
                        background_color(bubble_info)
521+
522-
                else
522+
523-
                        frame.BackgroundColor3 = background_color
523+
524
end)
525-
                frame.BackgroundTransparency = 0.3
525+
larm.Touched:connect(function(ht)
526-
                frame.BorderSizePixel = 0
526+
    hit = ht.Parent
527-
                frame.ClipsDescendants = true
527+
    if ht and hit:IsA("Model") then
528-
                frame.Name = "Frame"
528+
            if hit:FindFirstChild("Humanoid") then
529-
                frame.Size = UDim2.new(1, 0, 0, 0)
529+
                if hit.Name ~= p.Name then
530-
                label.Parent = frame
530+
                    if Debounces.LPunch == true and Debounces.LPunched == false then
531-
                -- bubble_info[8] = billboard:Clone()
531+
                            Debounces.LPunched = true
532
                                hit:FindFirstChild("Humanoid"):TakeDamage(math.huge)
533
                                    if Debounces.ks2==true then
534-
local tween_time = 0.3
534+
                                    z = Instance.new("Sound",hed)
535-
function ConfigureChatBubble(bubble_info)
535+
                                    z.SoundId = "rbxassetid://169380525"
536-
        local creation_time, destruction_time, billboard, frame = bubble_info[1], bubble_info[3], bubble_info[5], bubble_info[6]
536+
									z.Pitch = ptz[math.random(1,#ptz)]
537-
        if not billboard or billboard.Parent ~= workspace then
537+
                                    z.Volume = 1
538-
                CreateChatBubble(bubble_info)
538+
                                    z:Play()
539-
                billboard, frame = bubble_info[5], bubble_info[6]
539+
                                    end
540
                            wait(.2)
541-
        if billboard.Adornee ~= chatAdornee then
541+
                            Debounces.LPunched = false
542-
                billboard.Adornee = chatAdornee
542+
543
                end
544-
        local current_time = time()
544+
545-
        local elapsed_time = current_time - creation_time
545+
    elseif ht and hit:IsA("Hat") then
546-
        local remaining_time = destruction_time - current_time
546+
        if hit.Parent.Name ~= p.Name then
547-
        if remaining_time < 0 then
547+
            if hit.Parent:FindFirstChild("Humanoid") then
548-
                bubble_info[4] = false
548+
                   if Debounces.LPunch == true and Debounces.LPunched == false then
549-
                billboard:Destroy()
549+
                            Debounces.LPunched = true
550-
                return false
550+
                            hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.huge)
551-
        elseif remaining_time < tween_time then
551+
                                    if Debounces.ks2==true then
552-
                local tween_progress = math.sin(remaining_time * math.pi / (tween_time * 2))
552+
                                    z = Instance.new("Sound",hed)
553-
                frame.Size = UDim2.new(1, 0, tween_progress, 0)
553+
                                    z.SoundId = "rbxassetid://169380525"
554-
        elseif elapsed_time < tween_time then
554+
									z.Pitch = ptz[math.random(1,#ptz)]
555-
                local tween_progress = math.sin(elapsed_time * math.pi / (tween_time * 2))
555+
                                    z.Volume = 1
556-
                frame.Size = UDim2.new(1, 0, tween_progress, 0)
556+
                                    z:Play()
557-
        elseif frame.Size ~= UDim2.new(1, 0, 1, 0) then
557+
                                    end
558-
                frame.Size = UDim2.new(1, 0, 1, 0)
558+
                            wait(.2)
559
                Debounces.LPunched = false
560-
        return true
560+
				end
561
            end
562-
function ChatBubble.MainLoop()
562+
563-
        local offset = 0
563+
564-
        local removing = {}
564+
565-
        for index, bubble_info in ipairs(chat_bubbles) do
565+
----------------------------------------------------
566-
                if not ConfigureChatBubble(bubble_info) then
566+
local player = game.Players.LocalPlayer
567-
                        removing[#removing + 1] = index - #removing
567+
local pchar = player.Character
568-
                else
568+
local mouse = player:GetMouse()
569-
                        local billboard, frame = bubble_info[5], bubble_info[6]
569+
local cam = workspace.CurrentCamera
570-
                        local billboard_h = billboard.Size.Y.Offset
570+
571-
                        local bubble_h = frame.Size.Y.Scale * billboard_h
571+
local rad = math.rad
572-
                        offset = 8 + offset + bubble_h
572+
573-
                        billboard.SizeOffset = Vector2.new(0, offset / billboard_h - 0.5)
573+
local keysDown = {}
574
local flySpeed = 0
575
local MAX_FLY_SPEED = 150
576-
        for index, bubble_index in ipairs(removing) do
576+
577-
                table.remove(chat_bubbles, bubble_index)
577+
local canFly = false
578
local flyToggled = false
579-
        RunService.Stepped:wait()
579+
580
local forward, side = 0, 0
581-
function WrapText(text, character_limit, line_length_limit)
581+
local lastForward, lastSide = 0, 0
582-
        if #text > character_limit then
582+
583-
                text = string.sub(text, 1, character_limit - 3) .. "..."
583+
local floatBP = Instance.new("BodyPosition")
584
floatBP.maxForce = Vector3.new(0, math.huge, 0)
585-
        local text_length = #text
585+
local flyBV = Instance.new("BodyVelocity")
586-
        local line_length = 0
586+
flyBV.maxForce = Vector3.new(9e9, 9e9, 9e9)
587-
        local i = 0
587+
local turnBG = Instance.new("BodyGyro")
588-
        while i <= text_length do
588+
turnBG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
589-
                i = i + 1
589+
590-
                local character = string.sub(text, i, i)
590+
mouse.KeyDown:connect(function(key)
591-
                if character == "\t" then
591+
        keysDown[key] = true
592-
                        local tabulation_size = 4 - line_length % 4
592+
593-
                        line_length = line_length + tabulation_size
593+
        if key == "f" then
594-
                        if line_length >= line_length_limit then
594+
                flyToggled = not flyToggled
595-
                                tabulation_size = line_length - line_length_limit
595+
596-
                                line_length = 0
596+
        if not flyToggled then
597-
                                text_length = text_length + tabulation_size
597+
                stanceToggle = "Normal"
598-
                                text = string.sub(text, 1, i - 1) .. string.rep(" ", tabulation_size) .. "\n" .. string.sub(text, i + 1)
598+
                floatBP.Parent = nil
599-
                                i = i + tabulation_size + 1
599+
                flyBV.Parent = nil
600-
                        else
600+
                turnBG.Parent = nil
601-
                                text_length = text_length + tabulation_size - 1
601+
                root.Velocity = Vector3.new()
602-
                                text = string.sub(text, 1, i - 1) .. string.rep(" ", tabulation_size) .. string.sub(text, i + 1)
602+
                pchar.Humanoid.PlatformStand = false
603-
                                i = i + tabulation_size - 1
603+
604
end
605-
                elseif character == "\n" then
605+
606-
                        line_length = 0
606+
607-
                else
607+
mouse.KeyUp:connect(function(key)
608-
                        line_length = line_length + 1
608+
        keysDown[key] = nil
609-
                        if line_length >= line_length_limit then
609+
610-
                                local k = i - line_length + 1
610+
611-
                                local success = false
611+
local function updateFly()
612-
                                for j = i, k, -1 do
612+
613-
                                        if string.match(string.sub(text, j, j), "[ \t]") then
613+
        if not flyToggled then return end
614-
                                                text = string.sub(text, 1, j - 1) .. "\n" .. string.sub(text, j + 1)
614+
615-
                                                text_length = text_length + 1
615+
        lastForward = forward
616-
                                                success = true
616+
        lastSide = side
617-
                                                break
617+
618-
                                        end
618+
        forward = 0
619
        side = 0
620-
                                if not success then
620+
621-
                                        text = string.sub(text, 1, i) .. "\n" .. string.sub(text, i + 1)
621+
        if keysDown.w then
622-
                                        text_length = text_length + 1
622+
                forward = forward + 1
623
        end
624-
                                i = i + 1
624+
        if keysDown.s then
625-
                                line_length = 0
625+
                forward = forward - 1
626
        end
627
        if keysDown.a then
628
                side = side - 1
629-
        if #text > character_limit then
629+
630-
                text = string.sub(text, 1, character_limit - 3) .. "..."
630+
        if keysDown.d then
631
                side = side + 1
632-
        return text
632+
633
634-
function ChatBubble.Create(text, theme)
634+
        canFly = (forward ~= 0 or side ~= 0)
635-
        local text = WrapText(text, 200, 30)
635+
636-
        local creation_time = time()
636+
        if canFly then
637-
        local bubble_info = {creation_time, text, creation_time + 6 + #text / 15, true}
637+
                stanceToggle = "Floating"
638-
        local previousTheme
638+
                turnBG.Parent = root
639-
        if theme then
639+
                floatBP.Parent = nil
640-
                previousTheme = ChatBubble.GetTheme()
640+
                flyBV.Parent = root
641-
                ChatBubble.SetTheme(theme)
641+
642
                flySpeed = flySpeed + 1 + (flySpeed / MAX_FLY_SPEED)
643-
        bubble_info[9] = ChatBubble.font
643+
                if flySpeed > MAX_FLY_SPEED then flySpeed = MAX_FLY_SPEED end
644-
        bubble_info[10] = ChatBubble.background_color
644+
645-
        if previousTheme then
645+
                floatBP.position = root.Position
646-
                ChatBubble.SetTheme(previousTheme)
646+
                floatBP.Parent = root
647
648-
        table.insert(chat_bubbles, 1, bubble_info)
648+
                flySpeed = flySpeed - 1
649
                if flySpeed < 0 then flySpeed = 0 end
650-
TaskScheduler.Start(function()
650+
651-
        while true do
651+
652-
                ChatBubble.MainLoop()
652+
        local camCF = cam.CoordinateFrame
653
        local in_forward = canFly and forward or lastForward
654
        local in_side = canFly and side or lastSide
655-
 
655+
656-
PyramidCharacter = {};
656+
        flyBV.velocity = ((camCF.lookVector * in_forward) + (camCF * CFrame.new(in_side,
657-
 
657+
in_forward * 0.2, 0).p) - camCF.p) * flySpeed
658-
local stock_triangle = Instance.new("WedgePart")
658+
659-
stock_triangle.Anchored = true
659+
        turnBG.cframe = camCF * CFrame.Angles(-rad(forward * (flySpeed / MAX_FLY_SPEED)), 0,
660-
stock_triangle.BottomSurface = "Smooth"
660+
0)
661-
stock_triangle.FormFactor = "Custom"
661+
662-
stock_triangle.Locked = true
662+
663-
stock_triangle.TopSurface = "Smooth"
663+
game:service'RunService'.RenderStepped:connect(function()
664-
local stock_triangle_mesh = Instance.new("SpecialMesh", stock_triangle)
664+
        if flyToggled then
665-
stock_triangle_mesh.MeshType = "Wedge"
665+
                pchar.Humanoid.PlatformStand = true
666-
local triangles = {}
666+
667-
function PyramidCharacter.CreateTriangle(v1, v2, v3, properties, parent, index)
667+
        updateFly()
668-
        local triangleInfo = triangles[index]
668+
669-
        local side1 = (v1 - v2).magnitude
669+
-------------------------------
670-
        local side2 = (v2 - v3).magnitude
670+
mouse.KeyDown:connect(function(key)
671-
        local side3 = (v3 - v1).magnitude
671+
	if key == "q" then
672-
        local sqrside1 = side1 * side1
672+
		if Debounces.CanAttack == true then
673-
        local sqrside2 = side2 * side2
673+
			Debounces.CanAttack = false
674-
        local sqrside3 = side3 * side3
674+
			Debounces.NoIdl = true
675-
        if sqrside3 + sqrside1 == sqrside2 then
675+
			Debounces.on = true
676-
                v1, v2, v3 = v1, v2, v3
676+
			function FindNearestTorso(Position,Distance,SinglePlayer)
677-
        elseif sqrside1 + sqrside2 == sqrside3 then
677+
				if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end
678-
                v1, v2, v3 = v2, v3, v1
678+
					local List = {}
679-
        elseif sqrside2 + sqrside3 == sqrside1 then
679+
					for i,v in pairs(workspace:GetChildren())do
680-
                v1, v2, v3 = v3, v1, v2
680+
						if v:IsA("Model")then
681-
        elseif sqrside1 >= sqrside2 and sqrside1 >= sqrside3 then
681+
							if v:findFirstChild("Torso")then
682-
                v1, v2, v3 = v1, v2, v3
682+
								if v ~= char then
683-
        elseif sqrside2 >= sqrside3 and sqrside2 >= sqrside1 then
683+
									if(v.Torso.Position -Position).magnitude <= Distance then
684-
                v1, v2, v3 = v2, v3, v1
684+
										table.insert(List,v)
685
									end
686-
                v1, v2, v3 = v3, v1, v2
686+
								end
687
							end
688-
        local model, part1, part2, mesh1, mesh2
688+
						end
689-
        if triangleInfo then
689+
690-
                model, part1, part2, mesh1, mesh2 = unpack(triangleInfo)
690+
				return List
691-
                if not (model.Parent == parent and part1.Parent == model and part2.Parent == model and mesh1.Parent == part1 and mesh2.Parent == part2) then
691+
			end
692-
                        if model.Parent then
692+
	z = Instance.new("Sound",hed)
693-
                                model:Destroy()
693+
	z.SoundId = "rbxassetid://232213955"
694-
                        end                    
694+
	z.Pitch = 1
695-
                        model = nil
695+
	z.Volume = 1
696
	wait(0.2)
697
	z:Play()
698-
                triangleInfo = {}
698+
	sp = Instance.new("Part",rarm)
699-
                triangles[index] = triangleInfo
699+
	sp.Anchored = true
700
	sp.CanCollide = false
701-
        if not model then
701+
	sp.Locked = true
702-
                model = Instance.new("Model")
702+
	sp.Transparency = 0
703-
                part1 = stock_triangle:Clone()
703+
	sp.Material = "Neon"
704-
                part2 = stock_triangle:Clone()
704+
	sp.Size = Vector3.new(1,1,1)
705-
                mesh1 = part1.Mesh
705+
	sp.TopSurface = "SmoothNoOutlines"
706-
                mesh2 = part2.Mesh
706+
	sp.BottomSurface = "SmoothNoOutlines"
707-
                part1.Parent = model
707+
	sp.BrickColor = BrickColor.new("Crimson")
708-
                part2.Parent = model
708+
	spm = Instance.new("SpecialMesh",sp)
709-
                triangleInfo[1] = model
709+
	spm.MeshId = "http://www.roblox.com/asset/?id=9756362"
710-
                triangleInfo[2] = part1
710+
	spm.Scale = Vector3.new(21,21,21)
711-
                triangleInfo[3] = part2
711+
	sp2 = Instance.new("Part", rarm)
712-
                triangleInfo[4] = mesh1
712+
	sp2.Name = "Energy"
713-
                triangleInfo[5] = mesh2
713+
	sp2.BrickColor = BrickColor.new("Crimson")
714
	sp2.Size = Vector3.new(1, 1, 1)
715-
        for key, value in pairs(properties) do
715+
	sp2.Shape = "Ball"
716-
                part1[key] = value
716+
	sp2.CanCollide = false
717-
                part2[key] = value
717+
	sp2.Anchored = true
718
	sp2.Locked = true
719-
        local cframe = CFrame.new(v1, v2)
719+
	sp2.TopSurface = 0
720-
        local relpos = cframe:pointToObjectSpace(v3)
720+
	sp2.BottomSurface = 0
721-
        cframe = cframe * CFrame.fromEulerAnglesXYZ(0, 0, -math.atan2(relpos.x, relpos.y))
721+
	sp2.Transparency = 1
722-
        local rel1 = cframe:pointToObjectSpace(v1)
722+
	spm2 = Instance.new("SpecialMesh",sp2)
723-
        local rel2 = cframe:pointToObjectSpace(v2)
723+
	spm2.MeshId = "rbxassetid://9982590"
724-
        local rel3 = cframe:pointToObjectSpace(v3)
724+
	spm2.Scale = Vector3.new(2,2,2)
725-
        local height = rel3.y
725+
	for i = 1, 20 do
726-
        local width1 = rel3.z
726+
		spm.Scale = spm.Scale - Vector3.new(1,1,1)
727-
        local width2 = rel2.z - rel3.z
727+
		sp.CFrame = root.CFrame*CFrame.new(0,1,-2)
728-
        local relcenter1 = Vector3.new(0, height / 2, width1 / 2)
728+
		rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62,0)*CFrame.Angles(math.rad(-6),math.rad(-6),math.rad(8)), 0.4)
729-
        local center1 = cframe:pointToWorldSpace(relcenter1)
729+
		larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62,0)*CFrame.Angles(math.rad(-6),math.rad(6),math.rad(-8)), 0.4)
730-
        local relcenter2 = Vector3.new(0, height / 2, width2 / 2 + width1)
730+
		hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(0),0), 0.4)
731-
        local center2 = cframe:pointToWorldSpace(relcenter2)
731+
		torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(0), math.rad(0)), 0.4)
732-
        height = math.abs(height)
732+
		lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-8)), 0.4)
733-
        width1 = math.abs(width1)
733+
		rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(8)), 0.4)
734-
        width2 = math.abs(width2)
734+
		if Debounces.on == false then break end
735-
        if not part1.Anchored then
735+
		rs:wait()
736-
                part1.Anchored = true
736+
737
	for i = 1, 100, 20 do rs:wait()
738-
        part1.Size = Vector3.new(0.2, height, width1)
738+
		sp.CFrame = root.CFrame*CFrame.new(0,1,-2)
739-
        part1.CFrame = cframe * CFrame.fromEulerAnglesXYZ(0, math.pi, 0) - cframe.p + center1  
739+
740-
        mesh1.Scale = Vector3.new(0, height / part1.Size.y, width1 / part1.Size.z)
740+
	for i = 1, 20 do
741-
        if not part2.Anchored then
741+
		sp.CFrame = root.CFrame*CFrame.new(0,1,-2)
742-
                part2.Anchored = true
742+
		rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(8)), 0.4)
743
		larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62,.2)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.4)
744-
        part2.Size = Vector3.new(0.2, height, width1)
744+
		hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(10),math.rad(-30),0), 0.4)
745-
        part2.CFrame = cframe - cframe.p + center2
745+
		torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(40), math.rad(0)), 0.4)
746-
        mesh2.Scale = Vector3.new(0, height / part1.Size.y, width2 / part2.Size.z)
746+
		lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-8)), 0.4)
747-
        model.Parent = parent
747+
		rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(8)), 0.4)
748-
        return model
748+
		if Debounces.on == false then break end
749
		rs:wait()
750-
PyramidCharacter.head_properties = {BrickColor = BrickColor.new(Color3.new(1, 1, 1)), Transparency = 0.5}
750+
751-
PyramidCharacter.head_radius = math.pi
751+
	sp.Transparency = 1
752-
PyramidCharacter.center = CFrame.new(0, 10, 0)
752+
	for i = 1, 20 do
753-
PyramidCharacter.point1 = Vector3.new()
753+
		rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(8)), 0.4)
754-
PyramidCharacter.point2 = Vector3.new()
754+
		larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.2,0.62,-.2)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.4)
755-
PyramidCharacter.point3 = Vector3.new()
755+
		hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.4)
756-
PyramidCharacter.point4 = Vector3.new()
756+
		torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(-50), math.rad(0)), 0.4)
757-
PyramidCharacter.core_mesh_scale = Vector3.new(0.833, 0.833, 0.833)
757+
		lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-8)), 0.4)
758-
PyramidCharacter.visible = false
758+
		rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(8)), 0.4)
759-
function PyramidCharacter.Teleport(location)
759+
		if Debounces.on == false then break end
760-
        PyramidCharacter.point1 = location
760+
		rs:wait()
761-
        PyramidCharacter.point2 = location
761+
762-
        PyramidCharacter.point3 = location
762+
	wait(1)
763-
        PyramidCharacter.point4 = location
763+
	sp.Transparency = 0
764
	sp2.Transparency = 0.84
765-
local stock_core = Instance.new("Part")
765+
	for i = 1, 20 do
766-
stock_core.Anchored = true
766+
		--spm.Scale = spm.Scale - Vector3.new(1,1,1)
767-
stock_core.BottomSurface = "Smooth"
767+
		sp.CFrame = rarm.CFrame*CFrame.new(0,-1,0)
768-
stock_core.Color = Color3.new(1, 1, 1)
768+
		sp2.CFrame = sp.CFrame * CFrame.new(0,0,0) * CFrame.Angles(math.rad(-i), math.rad(-i), math.rad(i))
769-
stock_core.FormFactor = "Custom"
769+
		rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(110),math.rad(-6),math.rad(140)), 0.4)
770-
stock_core.Locked = true
770+
		larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(80),math.rad(6),math.rad(-40)), 0.2)
771-
stock_core.Name = "CubePyramid"
771+
		hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(0),math.rad(30),0), 0.2)
772-
stock_core.Size = Vector3.new(0.5, 0.5, 0.5)
772+
		torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(-30), math.rad(0)), 0.3)
773-
stock_core.TopSurface = "Smooth"
773+
		lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(20), 0, math.rad(-14)), 0.2)
774-
PyramidCharacter.stock_core = stock_core
774+
		rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-16), 0, math.rad(8)), 0.2)
775-
PyramidCharacter.core = stock_core:Clone()
775+
		if Debounces.on == false then break end
776-
PyramidCharacter.Archivable = false
776+
		rs:wait()
777-
PyramidCharacter.core_mesh = Instance.new("BlockMesh", core)
777+
778-
PyramidCharacter.core_lights = {}
778+
	for i = 1, 2880, 50 do
779-
PyramidCharacter.coreLightCount = 1
779+
		rs:wait()
780-
for index = 1, PyramidCharacter.coreLightCount do
780+
		sp.CFrame = rarm.CFrame*CFrame.new(0,-1,0)
781-
        PyramidCharacter.core_lights[index] = Instance.new("PointLight", core)
781+
		sp2.CFrame = rarm.CFrame * CFrame.new(0,-1,0) * CFrame.Angles(math.rad(-i/10), math.rad(-i/10), math.rad(i/10))
782
		rs:wait()
783-
PyramidCharacter.camera_distance = (Camera.Focus.p - Camera.CoordinateFrame.p).magnitude
783+
784-
PyramidCharacter.camera_position = Vector3.new()
784+
	sp:Destroy()
785-
Camera.Changed:connect(function(property)
785+
	sp2:Destroy()
786-
        if PyramidCharacter.visible then
786+
	local X = Instance.new("Part",char)
787-
                if property == "CoordinateFrame" then
787+
	local O = Instance.new("ObjectValue",X)
788-
                        local cframe, focus = Camera.CoordinateFrame, Camera.Focus
788+
	O.Name = "creator"
789-
                        local eventTime = time()
789+
	X.Locked = true
790-
                        local connection
790+
	X.Name = "Shell"
791-
                        connection = Camera.Changed:connect(function()
791+
	X.Anchored = false
792-
                                connection:disconnect()
792+
	X.CanCollide = false
793-
                                if eventTime == time() and Camera.Focus ~= focus then
793+
	X.Transparency = 0
794-
                                        local camera_distance = PyramidCharacter.camera_distance
794+
	X.Reflectance = 0
795-
                                        Camera.Focus = Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance)
795+
	X.BottomSurface = 0
796-
                                        PyramidCharacter.camera_position = (Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance)).p
796+
	X.TopSurface = 0
797
	X.Shape = 0
798-
                        end)
798+
	local V = Instance.new("ObjectValue",X)
799-
                        coroutine.yield()
799+
	V.Value = char
800-
                        if Camera.Focus == focus then
800+
	V.Name = "creator"
801-
                                PyramidCharacter.camera_distance = (focus.p - cframe.p).magnitude
801+
	X.BrickColor = BrickColor.new("Crimson")
802-
                        else
802+
	X.Size = Vector3.new(2,2,2)
803-
                                local camera_distance = PyramidCharacter.camera_distance
803+
	X.Material = "Neon"
804-
                                Camera.Focus = Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance)
804+
	local Z = Instance.new("SpecialMesh",X)
805-
                                PyramidCharacter.camera_position = (Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance)).p
805+
	Z.MeshType = "Sphere"
806
	Z.Scale = Vector3.new(0.5,0.5,1)
807-
                        if connection.connected then
807+
	X.CFrame = rarm.CFrame*CFrame.new(-3,0,0)
808-
                                connection:disconnect()
808+
	local bv = Instance.new("BodyVelocity",X)
809
	bv.maxForce = Vector3.new(99999,99999,99999)
810
	X.CFrame = CFrame.new(X.Position,mouse.Hit.p)
811
	bv.velocity = X.CFrame.lookVector*65
812
813-
function PyramidCharacter.Animate()
813+
	Explode = X.Touched:connect(function(hit)
814-
        local total_time = time()
814+
		if hit ~= char and hit.Name ~= "Shell" then
815-
        local core = PyramidCharacter.core
815+
			local cf = X.CFrame
816-
        local frame = PyramidCharacter.frame
816+
			bv:Destroy()
817-
        if PyramidCharacter.visible then
817+
			X.Anchored = true
818-
                local core_mesh = PyramidCharacter.core_mesh
818+
			Z:Remove()
819-
                local core_lights = PyramidCharacter.core_lights
819+
			Explode:disconnect()
820-
                if not frame or frame.Parent ~= core then
820+
			X.Size = Vector3.new(3,3,3)
821-
                        frame = Instance.new("Model")
821+
			X.Touched:connect(function(hit) end)
822-
                        frame.Archivable = false
822+
			X.CanCollide = false
823-
                        frame.Parent = core
823+
			local part3 = Instance.new("Part", rarm)
824-
                        PyramidCharacter.frame = frame
824+
			part3.Anchored=true
825
			part3.CanCollide=false
826-
                if core.Parent ~= Workspace then
826+
			part3.Locked = true
827-
                        core = PyramidCharacter.stock_core:Clone()
827+
			part3.TopSurface = "SmoothNoOutlines"
828-
                        PyramidCharacter.core = core
828+
			part3.BottomSurface = "SmoothNoOutlines"
829-
                        core.Archivable = false
829+
			part3.FormFactor='Custom'
830-
                        core.Parent = Workspace
830+
			part3.Size=Vector3.new(1,1, 1)
831-
                        chatAdornee = core
831+
			part3.CFrame=X.CFrame
832
			part3.Transparency=0
833-
                if core_mesh.Parent ~= core then
833+
			part3.BrickColor=BrickColor.new("Crimson")
834-
                        core_mesh = Instance.new("BlockMesh", core)
834+
			local mesh3 = Instance.new("SpecialMesh",part3)
835-
                        PyramidCharacter.core_mesh = core_mesh
835+
			mesh3.MeshId = "http://www.roblox.com/asset/?id=9756362"
836
			mesh3.Scale = Vector3.new(1,1,1)
837-
                for index, core_light in ipairs(core_lights) do
837+
			--debris:AddItem(X,8)
838-
                        if core_light.Parent ~= core then
838+
			local part4 = Instance.new("Part", rarm)
839-
                                core_light = Instance.new("PointLight", core)
839+
			part4.Material = "Neon"
840-
                                core_lights[index] = core_light
840+
			part4.Anchored=true
841
			part4.CanCollide=false
842-
                        local vertexColor = Vector3.new(Utility.GetRainbowRGB(total_time)) * 0.25 + Vector3.new(1, 1, 1) * 0.75
842+
			part4.Locked = true
843-
                        core_light.Color = Color3.new(vertexColor.X, vertexColor.Y, vertexColor.Z)
843+
			part4.TopSurface = "SmoothNoOutlines"
844-
                        core_light.Brightness = 0.85 + 0.15 * math.random()
844+
			part4.BottomSurface = "SmoothNoOutlines"
845-
                        if core_light.Range ~= 30 then
845+
			part4.FormFactor='Custom'
846-
                                core_light.Range = 30
846+
			part4.Size=Vector3.new(1,1, 1)
847
			part4.CFrame=X.CFrame
848-
                        if not core_light.Shadows then
848+
			part4.Transparency=0
849-
                                core_light.Shadows = true
849+
			part4.BrickColor=BrickColor.new("Crimson")
850
			local mesh4 = Instance.new("SpecialMesh",part4)
851
			mesh4.MeshId = "http://www.roblox.com/asset/?id=9756362"
852-
                if core_mesh.Offset ~= Vector3.new(0, 0, 0) then
852+
			mesh4.Scale = Vector3.new(.5,.5,.5)
853-
                        core_mesh.Offset = Vector3.new(0, 0, 0)
853+
			local part7 = Instance.new("Part", rarm)
854
			part7.Material = "Neon"
855-
                if not core.Anchored then
855+
			part7.Anchored=true
856-
                        core.Anchored = true
856+
			part7.CanCollide=false
857
			part7.Locked = true
858-
                if core.Transparency ~= 0 then
858+
			part7.TopSurface = "SmoothNoOutlines"
859-
                        core.Transparency = 0
859+
			part7.BottomSurface = "SmoothNoOutlines"
860
			part7.FormFactor='Custom'
861-
                local core_mesh_scale = PyramidCharacter.core_mesh_scale
861+
			part7.Size=Vector3.new(1,1, 1)
862-
                local transition_speed = (math.sin(total_time * math.tau) + 1) / 16
862+
			part7.CFrame=X.CFrame
863-
                core_mesh_scale = core_mesh_scale * (1 - transition_speed) + Vector3.new(math.random() * 0.5 + 0.5, math.random() * 0.5 + 0.5, math.random()
863+
			part7.Transparency=0
864-
 
864+
			part7.BrickColor=BrickColor.new("Crimson")
865-
* 0.5 + 0.5) * transition_speed
865+
			local mesh7 = Instance.new("SpecialMesh",part7)
866-
                core_mesh.Scale = core_mesh_scale * 2
866+
			mesh7.MeshId = "http://www.roblox.com/asset/?id=9756362"
867-
                local center = CFrame.new(PyramidCharacter.camera_position) * CFrame.Angles(0, total_time * math.tau, 0)
867+
			mesh7.Scale = Vector3.new(0.1, 0.1, 0.1)
868-
                local cframe1 = CFrame.new(PyramidCharacter.head_radius, 0, 0)
868+
		--[[X.Touched:connect(function(ht)
869-
                local cframe2 = CFrame.Angles(math.tau / -3, 0, 0)
869+
				hit = ht.Parent
870-
                local cframe3 = CFrame.Angles(0, math.tau / 3, 0)
870+
			if ht and hit:IsA("Model") then
871-
                local cframe4 = center * cframe3              
871+
					if hit:FindFirstChild("Humanoid") then
872-
                local desired1 = center * CFrame.new(0, PyramidCharacter.head_radius, 0)
872+
						if hit.Name ~= p.Name then
873-
                local desired2 = center * cframe2 * cframe1
873+
							hit:FindFirstChild("Humanoid"):TakeDamage(math.random(4,6))
874-
                local desired3 = cframe4 * cframe2 * cframe1
874+
							wait(.3)
875-
                local desired4 = cframe4 * cframe3 * cframe2 * cframe1
875+
						end
876-
                local point1 = (PyramidCharacter.point1 * 3 + desired1.p) / 4
876+
877-
                local point2 = (PyramidCharacter.point2 * 3 + desired2.p) / 4
877+
			elseif ht and hit:IsA("Hat") then
878-
                local point3 = (PyramidCharacter.point3 * 3 + desired3.p) / 4
878+
				if hit.Parent.Name ~= p.Name then
879-
                local point4 = (PyramidCharacter.point4 * 3 + desired4.p) / 4
879+
					if hit.Parent:FindFirstChild("Humanoid") then
880-
                PyramidCharacter.point1 = point1
880+
						hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.random(4,6))
881-
                PyramidCharacter.point2 = point2
881+
						wait(.3)
882-
                PyramidCharacter.point3 = point3
882+
883-
                PyramidCharacter.point4 = point4
883+
				end
884-
                local head_properties = PyramidCharacter.head_properties
884+
			end
885-
                PyramidCharacter.CreateTriangle(point1, point2, point3, head_properties, frame, 1).Archivable = false
885+
		end)
886-
                PyramidCharacter.CreateTriangle(point2, point3, point4, head_properties, frame, 2).Archivable = false
886+
		part3.Touched:connect(function(ht)
887-
                PyramidCharacter.CreateTriangle(point3, point4, point1, head_properties, frame, 3).Archivable = false
887+
				hit = ht.Parent
888-
                PyramidCharacter.CreateTriangle(point4, point1, point2, head_properties, frame, 4).Archivable = false
888+
			if ht and hit:IsA("Model") then
889-
                core.CFrame = CFrame.new((point1 + point2 + point3 + point4) / 4) * CFrame.Angles(total_time * math.tau, total_time * math.tau / 2,
889+
					if hit:FindFirstChild("Humanoid") then
890-
 
890+
						if hit.Name ~= p.Name then
891-
total_time * math.tau / 3)
891+
							hit:FindFirstChild("Humanoid"):TakeDamage(math.random(4,6))
892-
                PyramidCharacter.center = center
892+
							wait(.3)
893
						end
894-
                if core.Parent then
894+
895-
                        core:Destroy()
895+
			elseif ht and hit:IsA("Hat") then
896
				if hit.Parent.Name ~= p.Name then
897-
                if frame and frame.Parent then
897+
					if hit.Parent:FindFirstChild("Humanoid") then
898-
                        frame:Destroy()
898+
						hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.random(4,6))
899
						wait(.3)
900-
                PyramidCharacter.frame = nil
900+
901
				end
902
			end
903-
function PyramidCharacter.MainLoop()
903+
		end)]]--
904-
        PyramidCharacter.Animate()
904+
		for i,v in pairs(FindNearestTorso(X.CFrame.p,140))do
905-
        RunService.Stepped:wait()
905+
			if v:FindFirstChild('Humanoid') then
906
				v.Humanoid:TakeDamage(math.huge)
907-
TaskScheduler.Start(function()
907+
				v.Humanoid.PlatformStand = true
908-
        while true do
908+
				v:FindFirstChild("Torso").Velocity = hed.CFrame.lookVector * 100
909-
                PyramidCharacter.MainLoop()
909+
			end
910
		end
911
912-
 
912+
		local acos = math.acos
913-
RBXInstance = {};
913+
		local sqrt = math.sqrt
914-
 
914+
		local Vec3 = Vector3.new
915-
RBXInstance.init_metatable = {}
915+
		local fromAxisAngle = CFrame.fromAxisAngle
916-
function RBXInstance.init_metatable:__call(data)
916+
917-
        local instance = Instance.new(self[1])
917+
		local function toAxisAngle(CFr)
918-
        for key, value in pairs(data) do
918+
			local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components()
919-
                if type(key) == "number" then
919+
			local Angle = math.acos((R00+R11+R22-1)/2)
920-
                        value.Parent = instance
920+
			local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
921-
                else
921+
			A = A == 0 and 0.00001 or A
922-
                        instance[key] = value
922+
			local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
923
			B = B == 0 and 0.00001 or B
924
			local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
925-
        return instance
925+
			C = C == 0 and 0.00001 or C
926
			local x = (R21-R12)/sqrt(A)
927-
function RBXInstance.new(className)
927+
			local y = (R02-R20)/sqrt(B)
928-
        return setmetatable({className}, RBXInstance.init_metatable)
928+
			local z = (R10-R01)/sqrt(C)
929
			return Vec3(x,y,z),Angle
930-
 
930+
931-
Utility = {};
931+
932-
 
932+
		function ApplyTrig(Num,Func)
933-
function Utility.CleanLighting()
933+
			local Min,Max = Func(0),Func(1)
934-
        Lighting.Ambient = Color3.new(0, 0, 0)
934+
			local i = Func(Num)
935-
        Lighting.Brightness = 1
935+
			return (i-Min)/(Max-Min)
936-
        Lighting.ColorShift_Bottom = Color3.new(0, 0, 0)
936+
937-
        Lighting.ColorShift_Top = Color3.new(0, 0, 0)
937+
938-
        Lighting.FogColor = Color3.new(0.75294125080109, 0.75294125080109, 0.75294125080109)
938+
		function LerpCFrame(CFrame1,CFrame2,Num)
939-
        Lighting.FogEnd = 100000
939+
			local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2)
940-
        Lighting.FogStart = 0
940+
			return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num
941-
        Lighting.GeographicLatitude = 41.733299255371095
941+
942-
        Lighting.GlobalShadows = true
942+
943-
        Lighting.OutdoorAmbient = Color3.new(0.5, 0.5, 0.5)
943+
		function Crater(Torso,Radius)
944-
        Lighting.Outlines = false
944+
			Spawn(function()
945-
        Lighting.ShadowColor = Color3.new(0.70196080207825, 0.70196080207825, 0.72156864404678)
945+
				local Ray = Ray.new(Torso.Position,Vector3.new(0,-1,0)*10)
946-
        Lighting.TimeOfDay = "14:00:00"
946+
				local Ignore = {}
947-
        for index, child in ipairs(Lighting:GetChildren()) do
947+
				for i,v in pairs(game:GetService("Players"):GetPlayers()) do
948-
                if child:IsA("Sky") then
948+
					if v.Character ~= nil then
949-
                        child:Destroy()
949+
						Ignore[#Ignore+1] = v.Character
950
					end
951
				end
952
				local Hit,Pos,SurfaceNorm = Workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
953-
 
953+
				if Hit == nil then return end
954-
function Utility.GetProperty(object, field)
954+
					local Parts = {}
955-
        return object[field]
955+
					for i = 1,360,10 do
956
						local P = Instance.new("Part",Torso.Parent)
957-
 
957+
						P.Anchored = true
958-
function Utility.CaseInsensitivePattern(pattern)
958+
						P.FormFactor = "Custom"
959-
        return string.gsub(pattern, "(%%?)(.)", Utility.CaseInsensitivePatternReplaceFunc)
959+
						P.BrickColor = Hit.BrickColor
960
						P.Material = Hit.Material
961-
function Utility.CaseInsensitivePatternReplaceFunc(percent, letter)
961+
						P.TopSurface = "Smooth"
962-
        if percent ~= "" or not letter:match("%a") then
962+
						P.BottomSurface = "Smooth"
963-
                return percent .. letter
963+
						P.Size = Vector3.new(5,10,10)*(math.random(80,100)/100)
964
						P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,7,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))
965-
                return "[" .. string.lower(letter) .. string.upper(letter) .. "]"
965+
						Parts[#Parts+1] = {P,P.CFrame,((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,1,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius)*CFrame.Angles(math.rad(math.random(-50,-20)),math.rad(math.random(-15,15)),math.rad(math.random(-15,15))),P.Size}
966
						if math.random(0,5) == 0 then -- rubble
967
							local P = Instance.new("Part",Torso.Parent)
968-
function Utility.FindHumanoidClosestToRay(ray, exlusionList)
968+
							P.Anchored = true
969-
        local view = CFrame.new(ray.Origin, ray.Origin + ray.Direction)
969+
							P.FormFactor = "Custom"
970-
        local inverseView = view:inverse()
970+
							P.BrickColor = Hit.BrickColor
971-
        local objects = Workspace:GetChildren()
971+
							P.Material = Hit.Material
972-
        local numObjects = #objects
972+
							P.TopSurface = "Smooth"
973-
        local minDistance = math.huge
973+
							P.BottomSurface = "Smooth"
974-
        local closestHumanoid, closestTorso, closestTorsoPosition
974+
							P.Size = Vector3.new(2,2,2)*(math.random(80,100)/100)
975-
        for index, object in ipairs(objects) do
975+
							P.CFrame = ((CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))-Vector3.new(0,2.5,0))*CFrame.Angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))
976-
                for index, child in ipairs(object:GetChildren()) do
976+
							Parts[#Parts+1] = {P,P.CFrame,(CFrame.new(Pos,Pos+SurfaceNorm)*CFrame.Angles(math.rad(90),0,0))*CFrame.Angles(0,math.rad(i),0)*CFrame.new(0,0,-Radius-8)*CFrame.Angles(math.rad(math.random(-90,90)),math.rad(math.random(-90,90)),math.rad(math.random(-90,90))),P.Size}
977-
                        numObjects = numObjects + 1
977+
							end
978-
                        objects[numObjects] = child
978+
						end
979
						for i = 0,1,0.05 do
980-
                if object.ClassName == "Humanoid" and object.Health > 0 then
980+
							for i2,v in pairs(Parts) do
981-
                        local torso = object.Torso
981+
								v[1].CFrame = LerpCFrame(v[2],v[3],ApplyTrig(i,math.cos))
982-
                        if torso and not (exlusionList and exlusionList[torso]) then
982+
							end
983-
                                local torsoPosition = torso.Position
983+
							wait(0.02)
984-
                                local relativePosition = inverseView * torsoPosition
984+
						end
985-
                                local distanceZ = -relativePosition.Z
985+
						for i,v in pairs(Parts) do
986-
                                if distanceZ > 0 then
986+
							if v[1].Size.X > 2.1 then
987-
                                        local distance = (inverseView * torsoPosition * Vector3.new(1, 1, 0)).magnitude / distanceZ
987+
								v[1].CFrame = v[1].CFrame+Vector3.new(0,2,0)
988-
                                        if distance < 0.25 and distance < minDistance then
988+
							end
989-
                                                closestHumanoid = object
989+
							v[1].Anchored = false
990-
                                                closestTorso = torso
990+
						end
991-
                                                closestTorsoPosition = torsoPosition
991+
						for i = 0,1,0.05 do
992-
                                                minDistance = distance
992+
							for i2,v in pairs(Parts) do
993-
                                        end
993+
								v[1].Transparency = i
994
								if i == 1 then
995
									v[1]:Destroy()
996
								elseif i >= 0.25 then
997
									v[1].CanCollide = false
998-
        return closestHumanoid, closestTorso, closestTorsoPosition, minDistance
998+
								end
999
							end
1000-
function Utility.FindLocalHead()
1000+
						wait(0.02)
1001-
        if Player then
1001+
						end
1002-
                local head, position, view
1002+
					Parts = nil
1003-
                pcall(function()
1003+
					end)
1004-
                        position = Camera.Focus.p
1004+
				end
1005-
                        view = Camera.CoordinateFrame
1005+
1006-
                end)
1006+
				ROW = function(out, trans, s, wt, t, ang, plus)
1007-
                pcall(function()
1007+
					for i = 1, 360, 360/t do
1008-
                        for _, child in ipairs(Workspace:GetChildren()) do
1008+
						local c = Instance.new("Part", game.Workspace)
1009-
                                if Players:GetPlayerFromCharacter(child) == Player then
1009+
						c.FormFactor = 3
1010-
                                        for _, child in ipairs(child:GetChildren()) do
1010+
						c.TopSurface = 0
1011-
                                                if tostring(child) == "Head" and pcall(assert, pcall(Game.IsA, child, "BasePart")) then
1011+
						c.BottomSurface = 0
1012-
                                                        head = child
1012+
						c.Size = s
1013-
                                                        break
1013+
						c.Anchored = true
1014-
                                                end
1014+
						c.CanCollide = wt
1015-
                                        end
1015+
						c.Material=workspace.Base.Material
1016-
                                        break
1016+
						c.Transparency = trans
1017
						c.BrickColor = workspace.Base.BrickColor
1018
						c.CFrame = CFrame.new(X.CFrame.x,0,X.CFrame.z) * CFrame.Angles(0, math.rad(i +  plus), 0) *     CFrame.new(0, 0, out) * ang
1019-
                        if not head and view then
1019+
						c.Locked=true
1020-
                                local min_distance = math.huge
1020+
						game.Debris:AddItem(c,15)
1021-
                                local objects = Workspace:GetChildren()
1021+
1022-
                                for _, object in ipairs(objects) do
1022+
				end
1023-
                                        local success, is_part = pcall(Game.IsA, object, "BasePart")
1023+
1024-
                                        if success and is_part then
1024+
				Part = function(x,y,z,color,tr,cc,an,parent)
1025-
                                                pcall(function()
1025+
					local p = Instance.new('Part',parent or Weapon)
1026-
                                                        local distance = (view:pointToObjectSpace(object.Position) * Vector3.new(1, 1, 0)).magnitude
1026+
					p.formFactor = 'Custom'
1027-
                                                        if distance < min_distance and distance < 1 then
1027+
					p.Size = Vector3.new(x,y,z)
1028-
                                                                min_distance = distance
1028+
					p.BrickColor = BrickColor.new(color)
1029-
                                                                head = object
1029+
					p.CanCollide = cc
1030-
                                                        elseif tostring(object) == "Head" and tostring(object.Parent):lower():match("^" .. tostring(Player):lower()) then
1030+
					p.Transparency = tr
1031-
                                                                min_distance = 0
1031+
					p.Anchored = an
1032-
                                                                head = object
1032+
					p.TopSurface,p.BottomSurface = 0,0
1033-
                                                        end
1033+
					p.Locked=true
1034-
                                                end)
1034+
					p:BreakJoints()
1035-
                                                if min_distance < 5e-4 then
1035+
				return p end
1036-
                                                        break
1036+
1037-
                                                end
1037+
			Mesh = function(par,num,x,y,z)
1038-
                                        end
1038+
			local msh = _
1039-
                                                pcall(function()
1039+
			if num == 1 then msh = Instance.new("CylinderMesh",par)
1040-
                                                if not object:IsA("Camera") then
1040+
			elseif num == 2 then msh = Instance.new("SpecialMesh",par) msh.MeshType = 3
1041-
                                                        for _, child in ipairs(object:GetChildren()) do
1041+
			elseif num == 3 then msh = Instance.new("BlockMesh",par)
1042-
                                                                objects[#objects + 1] = child
1042+
			elseif num == 4 then msh = Instance.new("SpecialMesh",par) msh.MeshType = "Torso"
1043-
                                                        end
1043+
			elseif type(num) == 'string' then msh = Instance.new("SpecialMesh",par) msh.MeshId = num
1044-
                                                end
1044+
			end msh.Scale = Vector3.new(x,y,z)
1045-
                                        end)
1045+
			return msh end
1046
1047
			function explosion(col1,col2,cfr,sz,rng,dmg)
1048-
                end)
1048+
				local a= Part(1,1,1,col1,.5,false,true,workspace)
1049-
                return head, position, view
1049+
				local a2= Part(1,1,1,col2,.5,false,true,workspace)
1050
				local a3= Part(1,1,1,col2,.5,false,true,workspace)
1051
				v1,v2,v3=sz.x,sz.y,sz.z
1052-
function Utility.GetBuildingTools()
1052+
				local m= Mesh(a,'http://www.roblox.com/asset/?id=1185246',v1,v2,v3)
1053-
        local backpack = Player:FindFirstChild("Backpack")
1053+
				local m2= Mesh(a2,3,v1/3,v2/3,v3/3)
1054-
        if backpack then
1054+
				local m3= Mesh(a3,3,v1/3,v2/3,v3/3)
1055-
                local moveTool = Instance.new("HopperBin")
1055+
				a.CFrame=cfr
1056-
                local cloneTool = Instance.new("HopperBin")
1056+
				a2.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random())
1057-
                local deleteTool = Instance.new("HopperBin")
1057+
				a3.CFrame=cfr*CFrame.Angles(math.random(),math.random(),math.random())
1058-
                moveTool.BinType = Enum.BinType.GameTool
1058+
1059-
                cloneTool.BinType = Enum.BinType.Clone
1059+
				Spawn(function()
1060-
                deleteTool.BinType = Enum.BinType.Hammer
1060+
					while wait() do
1061-
                moveTool.Parent = backpack
1061+
						if a.Transparency >= 1 then a:Destroy() a2:Destroy() a3:Destroy() break end
1062-
                cloneTool.Parent = backpack
1062+
							m.Scale=m.Scale+Vector3.new(.1,0.1,0.1)
1063-
                deleteTool.Parent = backpack
1063+
							m2.Scale=m2.Scale+Vector3.new(.1,0.1,0.1)
1064
							m3.Scale=m3.Scale+Vector3.new(.1,0.1,0.1)
1065
							a.Transparency=a.Transparency+0.05
1066-
function Utility.Rejoin()
1066+
							a2.Transparency=a2.Transparency+0.05
1067-
        Workspace.Parent:service'TeleportService':Teleport(Game.PlaceId)
1067+
							a3.Transparency=a3.Transparency+0.05
1068
						end
1069-
 
1069+
					end)
1070-
function Utility.BlockRobloxFilter(text)
1070+
				end
1071-
        return string.gsub(text, ".", "%1\143")
1071+
1072
				Crater(X,20)
1073-
 
1073+
				ROW(12, 0, Vector3.new(34.5, 30, 3), true, 8, CFrame.Angles(math.rad(math.random (30,60)), 0, math.rad    (math.random(-30,30))), 0)
1074-
function Utility.GetTimestamp()
1074+
				z = Instance.new("Sound",X)
1075-
        local unix_time = tick()
1075+
				z.SoundId = "rbxassetid://231917744"
1076-
        local time_secs = math.floor(unix_time % 60)
1076+
				z.Pitch = .5
1077-
        local time_mins = math.floor(unix_time / 60 % 60)
1077+
				z.Volume = 10
1078-
        local time_hours = math.floor(unix_time / 3600 % 24)
1078+
				z1 = Instance.new("Sound",X)
1079-
        return string.format("%02i:%02i:%02i", time_hours, time_mins, time_secs)
1079+
				z1.SoundId = "rbxassetid://231917744"
1080
				z1.Pitch = .5
1081-
 
1081+
				z1.Volume = 10
1082-
function Utility.GetRainbowRGB(hue)
1082+
				z2 = Instance.new("Sound",X)
1083-
        local section = hue % 1 * 3
1083+
				z2.SoundId = "rbxassetid://231917744"
1084-
        local secondary = 0.5 * math.pi * (section % 1)
1084+
				z2.Pitch = .5
1085-
        if section < 1 then
1085+
				z2.Volume = 10
1086-
                return 1, 1 - math.cos(secondary), 1 - math.sin(secondary)
1086+
				z3 = Instance.new("Sound",X)
1087-
        elseif section < 2 then
1087+
				z3.SoundId = "rbxassetid://245537790"
1088-
                return 1 - math.sin(secondary), 1, 1 - math.cos(secondary)
1088+
				z3.Pitch = .7
1089
				z3.Volume = 1
1090-
                return 1 - math.cos(secondary), 1 - math.sin(secondary), 1
1090+
				z4 = Instance.new("Sound",X)
1091
				z4.SoundId = "rbxassetid://245537790"
1092
				z4.Pitch = .7
1093-
 
1093+
				z4.Volume = 1
1094-
function Utility.SetProperty(object, field, value)
1094+
				wait(0.1)
1095-
        object[field] = value
1095+
				z:Play()
1096
				z1:Play()
1097-
 
1097+
				z2:Play()
1098-
function Utility.CleanWorkspace()
1098+
				z3:Play()
1099-
        for index, child in ipairs(Workspace:GetChildren()) do
1099+
				z4:Play()
1100-
                if not (Players:GetPlayerFromCharacter(child) or child.ClassName == "Camera" or child:IsA("Script") or child.ClassName == "Terrain") then
1100+
1101-
                        pcall(child.Destroy, child)
1101+
				local part=Instance.new('Part',rarm)
1102
				part.Anchored=true
1103
				part.CanCollide=false
1104-
        Workspace.Terrain:Clear()
1104+
				part.Locked = true
1105-
        local base = Instance.new("Part")
1105+
				part.FormFactor='Custom'
1106-
        base.Anchored = true
1106+
				part.Size=Vector3.new(1,1,1)
1107-
        base.BrickColor = BrickColor.new("Earth green")
1107+
				part.CFrame=X.CFrame*CFrame.new(0,0,0)
1108-
        base.Locked = true
1108+
				part.Transparency=0
1109-
        base.Name = "Base"
1109+
				part.BrickColor=BrickColor.new('Lime green')
1110-
        base.Size = Vector3.new(512, 1.2, 512)
1110+
				local mesh=Instance.new('SpecialMesh',part)
1111-
        base.Parent = Workspace
1111+
				mesh.MeshId='http://www.roblox.com/asset/?id=20329976'
1112
				mesh.Scale=Vector3.new(2,2,2)
1113-
 
1113+
				local part2=part:clone()
1114-
function Utility.CleanWorkspaceAndScripts()
1114+
				part2.Parent = rarm
1115-
        for index, child in ipairs(Workspace:GetChildren()) do
1115+
				part2.BrickColor=BrickColor.new("Lime green")
1116-
                if not (Players:GetPlayerFromCharacter(child) or child.ClassName == "Camera" or child.ClassName == "Terrain") then
1116+
				local part5=part:clone()
1117-
                        pcall(child.Destroy, child)
1117+
				part5.Parent = rarm
1118
				part5.BrickColor=BrickColor.new("Lime green")
1119
				local part6=part:clone()
1120-
        Workspace.Terrain:Clear()
1120+
				part6.Parent = rarm
1121-
        local base = Instance.new("Part")
1121+
				part6.BrickColor=BrickColor.new("Black")
1122-
        base.Anchored = true
1122+
				local mesh2=mesh:clone()
1123-
        base.BrickColor = BrickColor.new("Earth green")
1123+
				mesh2.Parent=part2
1124-
        base.Locked = true
1124+
				mesh2.Scale=Vector3.new(3, 3, 3)
1125-
        base.Name = "Base"
1125+
				local mesh5=mesh:clone()
1126-
        base.Size = Vector3.new(512, 1.2, 512)
1126+
				mesh5.Parent=part5
1127-
        base.Parent = Workspace
1127+
				mesh5.Scale=Vector3.new(3, 3, 3)
1128
				local mesh6=mesh:clone()
1129-
 
1129+
				mesh6.Parent=part6
1130-
function Utility.CreateDummy(cframe, name, parent)
1130+
				mesh6.Scale=Vector3.new(3, 3, 3)
1131-
        local model = Instance.new("Model")
1131+
				local blast = Instance.new("Part", rarm)
1132-
        model.Archivable = false
1132+
				blast.BrickColor = BrickColor.new("Lime green")
1133-
        model.Name = name
1133+
				blast.Anchored = true
1134-
        local humanoid = Instance.new("Humanoid", model)
1134+
				blast.CanCollide = false
1135-
        local head = Instance.new("Part", model)
1135+
				blast.Locked = true
1136-
        local face = Instance.new("Decal", head)
1136+
				blast.Size = Vector3.new(1, 1, 1)
1137-
        local head_mesh = Instance.new("SpecialMesh", head)
1137+
				blast.TopSurface = "Smooth"
1138-
        local torso = Instance.new("Part", model)
1138+
				blast.BottomSurface = "Smooth"
1139-
        local right_arm = Instance.new("Part", model)
1139+
				blast.Transparency = 0
1140-
        local left_arm = Instance.new("Part", model)
1140+
				blast.CFrame = HandCF
1141-
        local right_leg = Instance.new("Part", model)
1141+
				local bm = Instance.new("SpecialMesh", blast)
1142-
        local left_leg = Instance.new("Part", model)
1142+
				bm.Scale = Vector3.new(5,1,5)
1143-
        local neck = Instance.new("Motor", torso)
1143+
				bm.MeshId = "rbxassetid://156292343"
1144-
        local right_shoulder = Instance.new("Motor", torso)
1144+
				local blast2 = Instance.new("Part", rarm)
1145-
        local left_shoulder = Instance.new("Motor", torso)
1145+
				blast2.BrickColor = BrickColor.new("Lime green")
1146-
        local right_hip = Instance.new("Motor", torso)
1146+
				blast2.Anchored = true
1147-
        local left_hip = Instance.new("Motor", torso)
1147+
				blast2.CanCollide = false
1148-
        head.BrickColor = BrickColor.Yellow()
1148+
				blast2.Locked = true
1149-
        head.CFrame = cframe * CFrame.new(0, 1.5, 0)
1149+
				blast2.Size = Vector3.new(1, 1, 1)
1150-
        head.FormFactor = "Symmetric"
1150+
				blast2.TopSurface = "Smooth"
1151-
        head.Locked = true
1151+
				blast2.BottomSurface = "Smooth"
1152-
        head.Name = "Head"
1152+
				blast2.Transparency = 0
1153-
        head.Size = Vector3.new(2, 1, 1)
1153+
				blast2.CFrame = HandCF
1154-
        head.TopSurface = "Smooth"
1154+
				local bm2 = Instance.new("SpecialMesh", blast2)
1155-
        face.Texture = "rbxasset://textures/face.png"
1155+
				bm2.Scale = Vector3.new(3,1,3)
1156-
        head_mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
1156+
				bm2.MeshId = "rbxassetid://156292343"
1157-
        torso.BrickColor = BrickColor.Blue()
1157+
				local blast3 = Instance.new("Part", rarm)
1158-
        torso.CFrame = cframe
1158+
				blast3.BrickColor = BrickColor.new("Lime green")
1159-
        torso.FormFactor = "Symmetric"
1159+
				blast3.Anchored = true
1160-
        torso.LeftSurface = "Weld"
1160+
				blast3.CanCollide = false
1161-
        torso.Locked = true
1161+
				blast3.Locked = true
1162-
        torso.RightSurface = "Weld"
1162+
				blast3.Size = Vector3.new(1, 1, 1)
1163-
        torso.Name = "Torso"
1163+
				blast3.TopSurface = "Smooth"
1164-
        torso.Size = Vector3.new(2, 2, 1)
1164+
				blast3.BottomSurface = "Smooth"
1165-
        right_arm.BrickColor = BrickColor.Yellow()
1165+
				blast3.Transparency = 0
1166-
        right_arm.CanCollide = false
1166+
				blast3.CFrame = HandCF
1167-
        right_arm.CFrame = cframe * CFrame.new(1.5, 0, 0)
1167+
				local bm3 = Instance.new("SpecialMesh", blast3)
1168-
        right_arm.FormFactor = "Symmetric"
1168+
				bm3.Scale = Vector3.new(3,1,3)
1169-
        right_arm.Locked = true
1169+
				bm3.MeshId = "rbxassetid://3270017"
1170-
        right_arm.Name = "Right Arm"
1170+
				for i = 1,120 do rs:wait()
1171-
        right_arm.Size = Vector3.new(1, 2, 1)
1171+
					X.Transparency = X.Transparency + (1/120)
1172-
        left_arm.BrickColor = BrickColor.Yellow()
1172+
					part.Transparency = part.Transparency + (1/120)
1173-
        left_arm.CanCollide = false
1173+
					part2.Transparency = part2.Transparency + (1/120)
1174-
        left_arm.CFrame = cframe * CFrame.new(-1.5, 0, 0)
1174+
					part3.Transparency = part3.Transparency + (1/120)
1175-
        left_arm.FormFactor = "Symmetric"
1175+
					part4.Transparency = part4.Transparency + (1/120)
1176-
        left_arm.Locked = true
1176+
					part5.Transparency = part5.Transparency + (1/120)
1177-
        left_arm.Name = "Left Arm"
1177+
					part6.Transparency = part6.Transparency + (1/120)
1178-
        left_arm.Size = Vector3.new(1, 2, 1)
1178+
					part7.Transparency = part7.Transparency + (1/120)
1179-
        right_leg.BrickColor = BrickColor.new("Br. yellowish green")
1179+
					blast.Transparency = blast.Transparency + (1/120)
1180-
        right_leg.BottomSurface = "Smooth"
1180+
					blast2.Transparency = blast2.Transparency + (1/120)
1181-
        right_leg.CanCollide = false
1181+
					blast3.Transparency = blast3.Transparency + (1/120)
1182-
        right_leg.CFrame = cframe * CFrame.new(0.5, -2, 0)
1182+
					X.Size = X.Size + Vector3.new(.8,.8,.8)
1183-
        right_leg.FormFactor = "Symmetric"
1183+
					--part3.Size = part3.Size + Vector3.new(3,3,3)
1184-
        right_leg.Locked = true
1184+
					mesh.Scale = mesh.Scale + Vector3.new(1,.2,1)
1185-
        right_leg.Name = "Right Leg"
1185+
					mesh2.Scale = mesh2.Scale + Vector3.new(1.1,.2,1.1)
1186-
        right_leg.Size = Vector3.new(1, 2, 1)
1186+
					mesh3.Scale = mesh3.Scale + Vector3.new(3,3,3)
1187-
        right_leg.TopSurface = "Smooth"
1187+
					mesh4.Scale = mesh4.Scale + Vector3.new(1.7,1.7,1.7)
1188-
        left_leg.BrickColor = BrickColor.new("Br. yellowish green")
1188+
					mesh5.Scale = mesh5.Scale + Vector3.new(1.6,.2,1.6)
1189-
        left_leg.BottomSurface = "Smooth"
1189+
					mesh6.Scale = mesh6.Scale + Vector3.new(2,.2,2)
1190-
        left_leg.CanCollide = false
1190+
					mesh7.Scale = mesh7.Scale + Vector3.new(4,4,4)
1191-
        left_leg.CFrame = cframe * CFrame.new(-0.5, -2, 0)
1191+
					bm.Scale = bm.Scale + Vector3.new(6,6,.2)
1192-
        left_leg.FormFactor = "Symmetric"
1192+
					bm2.Scale = bm2.Scale + Vector3.new(4,4,.2)
1193-
        left_leg.Locked = true
1193+
					bm3.Scale = bm3.Scale + Vector3.new(4,4,.2)
1194-
        left_leg.Name = "Left Leg"
1194+
					X.CFrame = cf
1195-
        left_leg.Size = Vector3.new(1, 2, 1)
1195+
					part.CFrame=X.CFrame * CFrame.Angles(0,math.rad(i*2),0)
1196-
        left_leg.TopSurface = "Smooth"
1196+
					part2.CFrame=X.CFrame * CFrame.Angles(0,math.rad(-i*2),0)
1197-
        neck.C0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
1197+
					part3.CFrame=X.CFrame
1198-
        neck.C1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
1198+
					part4.CFrame=X.CFrame
1199-
        neck.Name = "Neck"
1199+
					part7.CFrame=X.CFrame
1200-
        neck.Part0 = torso
1200+
					part5.CFrame=X.CFrame * CFrame.Angles(0,math.rad(i*2.6),0)
1201-
        neck.Part1 = head
1201+
					part6.CFrame=X.CFrame * CFrame.Angles(0,math.rad(-i*2.4),0)
1202-
        right_shoulder.C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1202+
					blast.CFrame=X.CFrame * CFrame.Angles(math.rad(90), math.rad(0), math.rad(0))
1203-
        right_shoulder.C1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1203+
					blast2.CFrame=X.CFrame * CFrame.Angles(math.rad(-i*4), math.rad(i*4), math.rad(0))
1204-
        right_shoulder.MaxVelocity = 0.15
1204+
					blast3.CFrame=X.CFrame * CFrame.Angles(math.rad(180+i*4), math.rad(90-i*4), math.rad(0))
1205-
        right_shoulder.Name = "Right Shoulder"
1205+
					rs:wait()
1206-
        right_shoulder.Part0 = torso
1206+
1207-
        right_shoulder.Part1 = right_arm
1207+
					X:Destroy()
1208-
        left_shoulder.C0 = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1208+
					part:Destroy()
1209-
        left_shoulder.C1 = CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1209+
					part2:Destroy()
1210-
        left_shoulder.MaxVelocity = 0.15
1210+
					part3:Destroy()
1211-
        left_shoulder.Name = "Left Shoulder"
1211+
					part4:Destroy()
1212-
        left_shoulder.Part0 = torso
1212+
					part5:Destroy()
1213-
        left_shoulder.Part1 = left_arm
1213+
					part6:Destroy()
1214-
        right_hip.C0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1214+
					blast:Destroy()
1215-
        right_hip.C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
1215+
					blast2:Destroy()
1216-
        right_hip.MaxVelocity = 0.1
1216+
					blast3:Destroy()
1217-
        right_hip.Name = "Right Hip"
1217+
					z:Destroy()
1218-
        right_hip.Part0 = torso
1218+
					z1:Destroy()
1219-
        right_hip.Part1 = right_leg
1219+
					z2:Destroy()
1220-
        left_hip.C0 = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1220+
					z3:Destroy()
1221-
        left_hip.C1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
1221+
					z4:Destroy()
1222-
        left_hip.MaxVelocity = 0.1
1222+
				end
1223-
        left_hip.Name = "Left Hip"
1223+
			end)
1224-
        left_hip.Part0 = torso
1224+
			for i = 1, 20 do
1225-
        left_hip.Part1 = left_leg
1225+
				rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(70),math.rad(-6),math.rad(-20)), 0.2)
1226-
        humanoid.Died:connect(function()
1226+
				larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(-6),math.rad(6),math.rad(-8)), 0.2)
1227-
                wait(5)
1227+
				hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(0),math.rad(0),0), 0.2)
1228-
                model:Destroy()
1228+
				torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(30), math.rad(0)), 0.4)
1229
				lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), 0, math.rad(-8)), 0.2)
1230-
        model.Parent = parent
1230+
				rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-6), 0, math.rad(8)), 0.2)
1231-
        return model  
1231+
				if Debounces.on == false then break end
1232
				rs:wait()
1233-
 
1233+
			end
1234-
Serializer = {};
1234+
			if Debounces.CanAttack == false then
1235-
 
1235+
				Debounces.CanAttack = true
1236-
Serializer.NAN = math.abs(0 / 0)
1236+
				Debounces.NoIdl = false
1237-
 
1237+
				Debounces.on = false
1238-
function Serializer.DecodeFloatArray(metadata_size, lookup, data, index)
1238+
			end
1239-
        local metadata_bytes = math.ceil(metadata_size * 0.25)
1239+
1240-
        local metadata = {string.byte(data, index, index + metadata_bytes - 1)}
1240+
1241-
        local components = {}
1241+
1242-
        local start_index = index
1242+
----------------------------------------------------
1243-
        index = index + metadata_bytes
1243+
mouse.KeyDown:connect(function(key)
1244-
        for byte_index, byte in ipairs(metadata) do
1244+
	if key == "e" then
1245-
                local last_offset = 3
1245+
		if Debounces.CanAttack == true then
1246-
                if byte_index == metadata_bytes then
1246+
		Debounces.CanAttack = false
1247-
                        last_offset = (metadata_size - 1) % 4
1247+
		Debounces.on = true
1248
		Debounces.NoIdl = true
1249-
                for value_offset = 0, last_offset do
1249+
pt = {1, 1.1, 1.2, 1.3, 1.4, 1.5}
1250-
                        local value_code = byte * 0.25 ^ value_offset % 4
1250+
z = Instance.new("Sound", rarm)
1251-
                        value_code = value_code - value_code % 1
1251+
z.SoundId = "http://www.roblox.com/asset/?id=206083107"--160867463, 161006212
1252-
                        if value_code == 0 then
1252+
z.Volume = .6
1253-
                                table.insert(components, Serializer.DecodeFloat32(string.byte(data, index, index + 3)))
1253+
z.Pitch = pt[math.random(1,#pt)]
1254-
                                index = index + 4
1254+
z.Looped = false
1255-
                        else
1255+
z:Play()
1256-
                                table.insert(components, lookup[value_code])
1256+
Debounces.RPunch = true
1257
Debounces.LPunch = true
1258
Debounces.ks = true
1259
Debounces.ks2 = true
1260-
        return components, index - start_index
1260+
for i = 1, 3 do
1261
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(20)), 0.92)
1262-
function Serializer.EncodeFloatArray(values, common)
1262+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(50)), 0.92)
1263-
        local lookup = {[common[1]] = 1, [common[2]] = 2, [common[3]] = 3}
1263+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1264-
        local value_count = #values
1264+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1265-
        local metadata_bytes = math.ceil(value_count * 0.25)
1265+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1266-
        local metadata = {}
1266+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1267-
        local buffer = {}
1267+
if Debounces.on == false then break end
1268-
        for byte_index = 1, metadata_bytes do
1268+
1269-
                local last_offset = 3
1269+
1270-
                if byte_index == metadata_bytes then
1270+
z2 = Instance.new("Sound", larm)
1271-
                        last_offset = (value_count - 1) % 4
1271+
z2.SoundId = "http://www.roblox.com/asset/?id=206083107"
1272
z2.Volume = .6
1273-
                local metadata_byte = 0
1273+
z2.Pitch = pt[math.random(1,#pt)]
1274-
                local offset_multiplier = 1
1274+
z2.Looped = false
1275-
                local byte_offset = (byte_index - 1) * 4 + 1
1275+
z2:Play()
1276-
                for value_offset = 0, last_offset do
1276+
for i = 1, 3 do
1277-
                        local value_index = byte_offset + value_offset
1277+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1278-
                        local value = values[value_index]
1278+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(120),math.rad(20),math.rad(-20)), 0.92)
1279-
                        local code = lookup[value] or 0
1279+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1280-
                        metadata_byte = metadata_byte + code * offset_multiplier
1280+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1281-
                        offset_multiplier = offset_multiplier * 4
1281+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1282-
                        if code == 0 then
1282+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1283-
                                table.insert(buffer, Serializer.EncodeFloat32(value))
1283+
if Debounces.on == false then break end
1284
wait()
1285
end
1286-
                metadata[byte_index] = string.char(metadata_byte)
1286+
z3 = Instance.new("Sound", rarm)
1287
z3.SoundId = "http://www.roblox.com/asset/?id=206083107"
1288-
        return table.concat(metadata) .. table.concat(buffer)
1288+
z3.Volume = 0.6
1289
z3.Pitch = pt[math.random(1,#pt)]
1290-
 
1290+
z3.Looped = false
1291-
function Serializer.DecodeColor3(data, index)
1291+
z3:Play()
1292-
        local components, size = Serializer.DecodeFloatArray(3, {0, 0.5, 1}, data, index)
1292+
for i = 1, 3 do
1293-
        return Color3.new(unpack(components)), size
1293+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(-20),math.rad(20)), 0.92)
1294
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(0),math.rad(50)), 0.92)
1295-
function Serializer.DecodeFloat32(b0, b1, b2, b3)
1295+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1296-
        local b2_low = b2 % 128
1296+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1297-
        local mantissa = b0 + (b1 + b2_low * 256) * 256
1297+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1298-
        local exponent = (b2 - b2_low) / 128 + b3 % 128 * 2
1298+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1299-
        local number
1299+
if Debounces.on == false then break end
1300-
        if mantissa == 0 then
1300+
1301-
                if exponent == 0 then
1301+
1302-
                        number = 0
1302+
z4 = Instance.new("Sound", larm)
1303-
                elseif exponent == 0xFF then
1303+
z4.SoundId = "http://www.roblox.com/asset/?id=206083107"
1304-
                        number = math.huge
1304+
z4.Volume = .6
1305-
                else
1305+
z4.Pitch = pt[math.random(1,#pt)]
1306-
                        number = 2 ^ (exponent - 127)
1306+
z4.Looped = false
1307
z4:Play()
1308-
        elseif exponent == 255 then
1308+
for i = 1, 3 do
1309-
                number = Serializer.NAN
1309+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1310
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(-20)), 0.92)
1311-
                number = (1 + mantissa / 8388608) * 2 ^ (exponent - 127)
1311+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1312
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1313-
        if b3 >= 128 then
1313+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1314-
                return -number
1314+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1315
if Debounces.on == false then break end
1316-
                return number
1316+
1317
end
1318
z5 = Instance.new("Sound", rarm)
1319-
function Serializer.EncodeColor3(color3)
1319+
z5.SoundId = "http://www.roblox.com/asset/?id=206083107"
1320-
        return Serializer.EncodeFloatArray({color3.r, color3.g, color3.b}, {0, 0.5, 1})
1320+
z5.Volume = .6
1321
z5.Pitch = pt[math.random(1,#pt)]
1322-
function Serializer.EncodeFloat32(number)
1322+
z5.Looped = false
1323-
        if number == 0 then
1323+
z5:Play()
1324-
                if 1 / number > 0 then
1324+
for i = 1, 3 do
1325-
                        return "\0\0\0\0"
1325+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(110),math.rad(30),math.rad(20)), 0.9)
1326-
                else
1326+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(50)), 0.9)
1327-
                        return "\0\0\0\128"
1327+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.9)
1328
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.9)
1329-
        elseif number ~= number then
1329+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.9)
1330-
            if string.sub(tostring(number), 1, 1) == "-" then
1330+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.9)
1331-
                    return "\255\255\255\255"
1331+
if Debounces.on == false then break end
1332-
                else
1332+
1333-
                    return "\255\255\255\127"
1333+
1334
z6 = Instance.new("Sound", larm)
1335-
        elseif number == math.huge then
1335+
z6.SoundId = "http://www.roblox.com/asset/?id=206083107"
1336-
                return "\0\0\128\127"
1336+
z6.Volume = .6
1337-
        elseif number == -math.huge then
1337+
z6.Pitch = pt[math.random(1,#pt)]
1338-
                return "\0\0\128\255"
1338+
z6.Looped = false
1339
z6:Play()
1340-
                local b3 = 0
1340+
for i = 1, 3 do
1341-
                if number < 0 then
1341+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1342-
                        number = -number
1342+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(-20)), 0.92)
1343-
                        b3 = 128
1343+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1344
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1345-
                local mantissa, exponent = math.frexp(number)
1345+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1346-
                exponent = exponent + 126
1346+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1347-
                if exponent < 0 then
1347+
if Debounces.on == false then break end
1348-
                        return "\0\0\0" .. string.char(b3)
1348+
1349-
                elseif exponent >= 255 then
1349+
1350-
                        return "\0\0\128" .. string.char(b3 + 0x7F)
1350+
z7 = Instance.new("Sound", rarm)
1351-
                else
1351+
z7.SoundId = "http://www.roblox.com/asset/?id=206083107"--160867463, 161006212
1352-
                        local fraction = mantissa * 16777216 - 8388608 + 0.5
1352+
z7.Volume = .6
1353-
                        fraction = fraction - fraction % 1
1353+
z7.Pitch = pt[math.random(1,#pt)]
1354-
                        local exponent_low = exponent % 2
1354+
z7.Looped = false
1355-
                        local b0 = fraction % 256
1355+
z7:Play()
1356-
                        local b1 = fraction % 65536
1356+
for i = 1, 3 do
1357-
                        local b2 = (fraction - b1) / 65536 + exponent_low * 128
1357+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(20)), 0.92)
1358-
                        b1 = (b1 - b0) / 256
1358+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(50)), 0.92)
1359-
                        b3 = b3 + (exponent - exponent_low) / 2
1359+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1360-
                        return string.char(b0, b1, b2, b3)
1360+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1361
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1362
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1363
if Debounces.on == false then break end
1364-
 
1364+
1365-
LuaEnum = {};
1365+
1366-
 
1366+
z8 = Instance.new("Sound", larm)
1367-
LuaEnum.enum_metatable = {
1367+
z8.SoundId = "http://www.roblox.com/asset/?id=206083107"
1368-
        __call = function(self, value)
1368+
z8.Volume = .6
1369-
                local valueType = type(value)
1369+
z8.Pitch = pt[math.random(1,#pt)]
1370-
                if valueType == "table" and getmetatable(value) == LuaEnum.enum_item_metatable then
1370+
z8.Looped = false
1371-
                        return value
1371+
z8:Play()
1372-
                else
1372+
for i = 1, 3 do
1373-
                        return self[value]
1373+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1374
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(120),math.rad(20),math.rad(-20)), 0.92)
1375-
        end,
1375+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1376-
        __index = function(self, key)
1376+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1377-
                local enumItem = self.ItemsByName[key] or self.ItemsByValue[key]
1377+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1378-
                if enumItem == nil then
1378+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1379-
                        local default = self.Default
1379+
if Debounces.on == false then break end
1380-
                        if default then
1380+
1381-
                                Logger.printf("Warning", "%s is not a valid EnumItem, returning default (%s)", Utility.ToString(key), tostring(default))
1381+
1382-
                                enumItem = default
1382+
z9 = Instance.new("Sound", rarm)
1383-
                        else
1383+
z9.SoundId = "http://www.roblox.com/asset/?id=206083107"
1384-
                                Logger.errorf(2, "%s is not a valid EnumItem", Utility.ToString(key))
1384+
z9.Volume = 0.6
1385
z9.Pitch = pt[math.random(1,#pt)]
1386
z9.Looped = false
1387-
                return enumItem
1387+
z9:Play()
1388-
        end,
1388+
for i = 1, 3 do
1389-
        __tostring = function(self)
1389+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(-20),math.rad(20)), 0.92)
1390-
                return self.Name
1390+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(0),math.rad(50)), 0.92)
1391
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1392
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1393-
LuaEnum.enum_item_metatable = {
1393+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1394-
        __tostring = function(self)
1394+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1395-
                return self.Enum.Name .. "." .. self.Name
1395+
if Debounces.on == false then break end
1396
wait()
1397
end
1398-
LuaEnum.init_metatable = {
1398+
z10 = Instance.new("Sound", larm)
1399-
        __call = function(self, items)
1399+
z10.SoundId = "http://www.roblox.com/asset/?id=206083107"
1400-
                local enumItemsByName = {}
1400+
z10.Volume = .6
1401-
                local enumItemsByValue = {}
1401+
z10.Pitch = pt[math.random(1,#pt)]
1402-
                local enum = {
1402+
z10.Looped = false
1403-
                        ItemsByName = enumItemsByName,
1403+
z10:Play()
1404-
                        ItemsByValue = enumItemsByValue,
1404+
for i = 1, 3 do
1405-
                        Name = self[1]
1405+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1406-
                }
1406+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(-20)), 0.92)
1407-
                local default = items.Default
1407+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1408-
                if default ~= nil then
1408+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1409-
                        items.Default = nil
1409+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1410
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1411-
                for value, name in pairs(items) do
1411+
if Debounces.on == false then break end
1412-
                        local enumItem = setmetatable({
1412+
1413-
                                Enum = enum,
1413+
1414-
                                Name = name,
1414+
z11 = Instance.new("Sound", rarm)
1415-
                                Value = value
1415+
z11.SoundId = "http://www.roblox.com/asset/?id=206083107"
1416-
                        }, LuaEnum.enum_item_metatable)
1416+
z11.Volume = .6
1417-
                        enumItemsByName[name] = enumItem
1417+
z11.Pitch = pt[math.random(1,#pt)]
1418-
                        enumItemsByValue[value] = enumItem
1418+
z11.Looped = false
1419-
                        if name == default or value == default then
1419+
z11:Play()
1420-
                                enum.Default = enumItem
1420+
for i = 1, 3 do
1421
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(110),math.rad(30),math.rad(20)), 0.9)
1422
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(50)), 0.9)
1423-
                return setmetatable(enum, LuaEnum.enum_metatable)
1423+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.9)
1424
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.9)
1425
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.9)
1426-
function LuaEnum.new(name)
1426+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.9)
1427-
        return setmetatable({name}, LuaEnum.init_metatable)
1427+
if Debounces.on == false then break end
1428
wait()
1429-
 
1429+
1430-
Logger = {};
1430+
z12 = Instance.new("Sound", larm)
1431-
 
1431+
z12.SoundId = "http://www.roblox.com/asset/?id=206083107"
1432-
Logger.entries = {0}
1432+
z12.Volume = .6
1433-
Logger.MessageType = LuaEnum.new "MessageType" {
1433+
z12.Pitch = pt[math.random(1,#pt)]
1434-
        "Output",
1434+
z12.Looped = false
1435-
        "Info",
1435+
z12:Play()
1436-
        "Warning",
1436+
for i = 1, 3 do
1437-
        "Severe",
1437+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1438-
        "Error",
1438+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(120),math.rad(20),math.rad(-20)), 0.92)
1439-
        Default = "Severe"
1439+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1440
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1441-
Logger.MESSAGE_TYPE_SETTINGS = {
1441+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1442-
        { -- Output
1442+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1443-
                Font = "Arial",
1443+
if Debounces.on == false then break end
1444-
                TextColor3 = Color3.new(0, 0, 0)
1444+
1445-
        },
1445+
1446-
        { -- Info
1446+
z13 = Instance.new("Sound", rarm)
1447-
                Font = "Arial",
1447+
z13.SoundId = "http://www.roblox.com/asset/?id=206083107"
1448-
                TextColor3 = Color3.new(0, 0, 1)
1448+
z13.Volume = 0.6
1449-
        },
1449+
z13.Pitch = pt[math.random(1,#pt)]
1450-
        { -- Warning
1450+
z13.Looped = false
1451-
                Font = "ArialBold",
1451+
z13:Play()
1452-
                TextColor3 = Color3.new(1, 0.5, 0)
1452+
for i = 1, 3 do
1453-
        },
1453+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(-20),math.rad(20)), 0.92)
1454-
        { -- Severe/Error
1454+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(0),math.rad(50)), 0.92)
1455-
                Font = "ArialBold",
1455+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1456-
                TextColor3 = Color3.new(1, 0, 0)
1456+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1457-
        }
1457+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1458
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1459-
Logger.MAX_ENTRIES = 160
1459+
if Debounces.on == false then break end
1460-
Logger.WARNING_TRACE_ITEM_COUNT = 5
1460+
1461-
Logger.rbxPrint = getfenv(RbxUtility.CreateSignal).print
1461+
1462-
function Logger.error(level, message)
1462+
z14 = Instance.new("Sound", larm)
1463-
        message = message .. "\n" .. Logger.StackTraceToString(Logger.GenerateStackTrace(level + 1))
1463+
z14.SoundId = "http://www.roblox.com/asset/?id=206083107"
1464-
        Logger.AddEntry {Logger.MessageType.Error, message}
1464+
z14.Volume = .6
1465-
        error(level + 1, message)
1465+
z14.Pitch = pt[math.random(1,#pt)]
1466
z14.Looped = false
1467-
function Logger.errorf(level, messageFormat, ...)
1467+
z14:Play()
1468-
        Logger.error(level + 1, string.format(messageFormat, ...))
1468+
for i = 1, 3 do
1469
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1470-
function Logger.print(messageType, message, level)
1470+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(-20)), 0.92)
1471-
        messageType = Logger.MessageType(messageType)
1471+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1472-
        local entry = {messageType, message}
1472+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1473-
        Logger.rbxPrint(Logger.EntryToString(entry))
1473+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1474-
        Logger.AddEntry(entry)
1474+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1475-
        if level ~= false and messageType.Value >= Logger.MessageType.Warning.Value then
1475+
if Debounces.on == false then break end
1476-
                local maxItems
1476+
1477-
                if messageType.Value >= Logger.MessageType.Severe.Value then
1477+
1478-
                        maxItems = math.huge
1478+
z15 = Instance.new("Sound", rarm)
1479-
                else
1479+
z15.SoundId = "http://www.roblox.com/asset/?id=206083107"
1480-
                        maxItems = Logger.WARNING_TRACE_ITEM_COUNT
1480+
z15.Volume = .6
1481
z15.Pitch = pt[math.random(1,#pt)]
1482-
                local trace = Logger.GenerateStackTrace((level or 1) + 1, math.huge, 10, maxItems + 1)
1482+
z15.Looped = false
1483-
                local traceLength = #trace
1483+
z15:Play()
1484-
                local stackTraceMessage
1484+
for i = 1, 3 do
1485-
                local suffix = ""
1485+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(110),math.rad(30),math.rad(20)), 0.9)
1486-
                if traceLength > maxItems then
1486+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(50)), 0.9)
1487-
                        trace[traceLength] = nil
1487+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.9)
1488-
                        suffix = "\n..."
1488+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.9)
1489
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.9)
1490-
                Logger.print("Info", "Stack trace:\n" .. Logger.StackTraceToString(trace) .. suffix .. "\nStack end", false)
1490+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.9)
1491
if Debounces.on == false then break end
1492
wait()
1493-
function Logger.printf(messageType, messageFormat, ...)
1493+
1494-
        Logger.print(messageType, string.format(messageFormat, ...), 2)
1494+
z16 = Instance.new("Sound", larm)
1495
z16.SoundId = "http://www.roblox.com/asset/?id=206083107"
1496-
function Logger.AddEntry(entry)
1496+
z16.Volume = .6
1497-
        local entries = Logger.entries
1497+
z16.Pitch = pt[math.random(1,#pt)]
1498-
        if entries[1] >= Logger.MAX_ENTRIES then
1498+
z16.Looped = false
1499-
                local first = entries[2]
1499+
z16:Play()
1500-
                local nextFirst = first[2]
1500+
for i = 1, 3 do
1501-
                first[1] = nil
1501+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1502-
                first[2] = nil
1502+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(-20)), 0.92)
1503-
                entries[1] = entries[1] - 1
1503+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1504-
                entries[2] = nextFirst
1504+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1505-
                if not nextFirst then
1505+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1506-
                        entries[3] = nil
1506+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1507
if Debounces.on == false then break end
1508
wait()
1509-
        local last = entries[3]
1509+
1510-
        local node = {entry}
1510+
z17 = Instance.new("Sound", rarm)
1511-
        if last then
1511+
z17.SoundId = "http://www.roblox.com/asset/?id=206083107"--160867463, 161006212
1512-
                entries[3] = node
1512+
z17.Volume = .6
1513-
                last[2] = node
1513+
z17.Pitch = pt[math.random(1,#pt)]
1514
z17.Looped = false
1515-
                entries[2] = node
1515+
z17:Play()
1516-
                entries[3] = node
1516+
for i = 1, 3 do
1517
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(20)), 0.92)
1518-
        entries[1] = entries[1] + 1
1518+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(50)), 0.92)
1519
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1520-
function Logger.NodeIterator(list, node)
1520+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1521-
        if node then
1521+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1522-
                node = node[2]
1522+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1523
if Debounces.on == false then break end
1524-
                node = list[2]
1524+
1525
end
1526-
        if node then
1526+
z18 = Instance.new("Sound", larm)
1527-
                return node, node[1]
1527+
z18.SoundId = "http://www.roblox.com/asset/?id=206083107"
1528
z18.Volume = .6
1529
z18.Pitch = pt[math.random(1,#pt)]
1530-
function Logger.EntryToString(entry)
1530+
z18.Looped = false
1531-
        local messageType, message = entry[1], tostring(entry[2])
1531+
z18:Play()
1532-
        if messageType and messageType.Value >= Logger.MessageType.Info.Value then
1532+
for i = 1, 3 do
1533-
                return messageType.Name .. ": " .. message
1533+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1534
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(120),math.rad(20),math.rad(-20)), 0.92)
1535-
                return message
1535+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1536
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1537
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1538-
function Logger.GenerateStackTrace(level, maxLevel, maxTailCalls, maxTraceItems)
1538+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1539-
        level = level + 2
1539+
if Debounces.on == false then break end
1540-
        if maxLevel == nil then
1540+
1541-
                maxLevel = math.huge
1541+
1542
z19 = Instance.new("Sound", rarm)
1543-
                maxLevel = maxLevel + 2
1543+
z19.SoundId = "http://www.roblox.com/asset/?id=206083107"
1544
z19.Volume = 0.6
1545-
        maxTailCalls = maxTailCalls or 10
1545+
z19.Pitch = pt[math.random(1,#pt)]
1546-
        maxTraceItems = maxTraceItems or math.huge
1546+
z19.Looped = false
1547-
        local trace = {}
1547+
z19:Play()
1548-
        local numTailCalls = 0
1548+
for i = 1, 3 do
1549-
        while level <= maxLevel and numTailCalls <= maxTailCalls and #trace < maxTraceItems do
1549+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(-20),math.rad(20)), 0.92)
1550-
                local success, errorMessage = xpcall(function() error("-", level + 1) end, function(...) return ... end)
1550+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(0),math.rad(50)), 0.92)
1551-
                if errorMessage == "-" then
1551+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-50),0), 0.92)
1552-
                        numTailCalls = numTailCalls + 1
1552+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(50), 0), 0.92)
1553-
                else
1553+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-50), math.rad(-15)), 0.92)
1554-
                        if numTailCalls > 0 then
1554+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-50), math.rad(15)), 0.92)
1555-
                                local traceSize = #trace
1555+
if Debounces.on == false then break end
1556-
                                if traceSize > 0 then
1556+
1557-
                                        trace[#trace][3] = numTailCalls
1557+
1558
z20 = Instance.new("Sound", larm)
1559-
                                numTailCalls = 0
1559+
z20.SoundId = "http://www.roblox.com/asset/?id=206083107"
1560
z20.Volume = .6
1561-
                        local script, line = string.match(errorMessage, "(.*):(%d+)")
1561+
z20.Pitch = pt[math.random(1,#pt)]
1562-
                        trace[#trace + 1] = {script, tonumber(line), 0}
1562+
z20.Looped = false
1563
z20:Play()
1564-
                level = level + 1
1564+
for i = 1, 3 do
1565
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-50)), 0.92)
1566-
        return trace
1566+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(60),math.rad(20),math.rad(-20)), 0.92)
1567
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(50),0), 0.92)
1568-
function Logger.StackTraceToString(trace)
1568+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(math.rad(0), math.rad(-50), 0), 0.92)
1569-
        local buffer = {}
1569+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.6, -1, 0) * CFrame.Angles(math.rad(10), math.rad(50), math.rad(-15)), 0.92)
1570-
        for _, data in ipairs(trace) do
1570+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.6, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(50), math.rad(15)), 0.92)
1571-
                buffer[#buffer + 1] = string.format("Script %q, line %d", data[1], data[2])
1571+
if Debounces.on == false then break end
1572-
                local numTailCalls = data[3]
1572+
1573-
                if numTailCalls == 1 then
1573+
1574-
                        buffer[#buffer + 1] = "... 1 tail call"
1574+
z:Destroy()
1575-
                elseif numTailCalls > 1 then
1575+
z2:Destroy()
1576-
                        buffer[#buffer + 1] = string.format("... %d tail calls", numTailCalls)
1576+
z3:Destroy()
1577
z4:Destroy()
1578
z5:Destroy()
1579-
        return table.concat(buffer, "\n")
1579+
z6:Destroy()
1580
z7:Destroy()
1581-
function Logger.MessageOutFunc(message, messageType)
1581+
z8:Destroy()
1582-
        if AdvancedGUI and AdvancedGUI.Print then
1582+
z9:Destroy()
1583-
                local messageTypeValue
1583+
z10:Destroy()
1584-
                if messageType == Enum.MessageType.MessageOutput then
1584+
z11:Destroy()
1585-
                        local tagName, untaggedMessage = string.match(message, "(%a+): (.*)")
1585+
z12:Destroy()
1586-
                        if tagName == "Info" or tagName == "Warning" or tagName == "Severe" then
1586+
z13:Destroy()
1587-
                                messageTypeValue = Logger.MessageType[tagName].Value
1587+
z14:Destroy()
1588-
                                message = untaggedMessage
1588+
z15:Destroy()
1589-
                        else
1589+
z16:Destroy()
1590-
                                messageTypeValue = Logger.MessageType.Output.Value
1590+
z17:Destroy()
1591
z18:Destroy()
1592-
                else
1592+
z19:Destroy()
1593-
                        messageTypeValue = messageType.Value + 1
1593+
z20:Destroy()
1594
Debounces.LPunch = false
1595-
                AdvancedGUI.PrintFormat(Logger.MESSAGE_TYPE_SETTINGS[messageTypeValue], message)
1595+
Debounces.RPunch = false
1596
Debounces.ks = false
1597
Debounces.ks2 = false
1598-
function print(...)
1598+
if Debounces.CanAttack == false then
1599-
        local args = {...}
1599+
Debounces.CanAttack = true
1600-
        local buffer = {}
1600+
Debounces.on = false
1601-
        for index = 1, select("#", ...) do
1601+
Debounces.NoIdl = false
1602-
                buffer[index] = tostring(args[index])
1602+
1603
end
1604-
        local message = table.concat(buffer, "\t")
1604+
1605-
        Logger.print("Output", message)
1605+
1606
-------------------------------
1607-
 
1607+
mouse.KeyDown:connect(function(key)
1608-
CharacterAppearance = {};
1608+
	if key == "t" then
1609-
 
1609+
		if Debounces.CanAttack == true then
1610-
CharacterAppearance.defaultAppearanceId = 2
1610+
			Debounces.CanAttack = false
1611-
CharacterAppearance.stock = {}
1611+
			Debounces.NoIdl = true
1612-
function CharacterAppearance.Create(properties)
1612+
			Debounces.on = true
1613-
        local id = properties.Id
1613+
			Debounces.ks = true
1614-
        local bodyColors = Instance.new("BodyColors")
1614+
    kik = rleg.Touched:connect(function(ht)
1615-
        bodyColors.HeadColor = properties.HeadColor
1615+
        hit = ht.Parent
1616-
        bodyColors.TorsoColor = properties.TorsoColor
1616+
            if ht and hit:IsA("Model") then
1617-
        bodyColors.RightArmColor = properties.RightArmColor
1617+
                    if hit:FindFirstChild("Humanoid") then
1618-
        bodyColors.LeftArmColor = properties.LeftArmColor
1618+
                        if hit.Name ~= p.Name then
1619-
        bodyColors.RightLegColor = properties.RightLegColor
1619+
                            --[[if Debounces.Slashing == true and Debounces.Slashed == false then
1620-
        bodyColors.LeftLegColor = properties.LeftLegColor
1620+
                                    Debounces.Slashed = true]]--
1621-
        local characterObjects = {bodyColors}
1621+
                                    if Debounces.ks==true then
1622-
        local headObjects = {} 
1622+
                                    z = Instance.new("Sound",hed)
1623-
        local data = {
1623+
                                    z.SoundId = "rbxassetid://169380525"
1624-
                characterObjects = characterObjects,
1624+
                                    z.Volume = 1
1625-
                headObjects = headObjects,
1625+
                                    z:Play()
1626-
                tshirt = properties.TShirt
1626+
                                    Debounces.ks=false
1627-
        }
1627+
                                    end
1628-
        for _, assetId in ipairs(properties.CharacterAssets) do
1628+
                                    hit:FindFirstChild("Humanoid"):TakeDamage(math.huge)
1629-
                TaskScheduler.Start(CharacterAppearance.LoadAsset, characterObjects, assetId)
1629+
                                    hit:FindFirstChild("Torso").Velocity = hit:FindFirstChild("Torso").CFrame.lookVector * -300
1630
                            --Debounces.Slashed = false
1631-
        for _, assetId in ipairs(properties.HeadAssets) do
1631+
                        --end
1632-
                TaskScheduler.Start(CharacterAppearance.LoadAsset, headObjects, assetId)
1632+
1633
                end
1634-
        CharacterAppearance.stock[id] = data
1634+
            elseif ht and hit:IsA("Hat") then
1635
                if hit.Parent.Name ~= p.Name then
1636-
function CharacterAppearance.GetDefaultAppearance()
1636+
                    if hit.Parent:FindFirstChild("Humanoid") then
1637-
        return CharacterAppearance.stock[CharacterAppearance.defaultAppearanceId]
1637+
                           --[[if Debounces.Slashing == true and Debounces.Slashed == false then
1638
                                    Debounces.Slashed = true]]--
1639-
function CharacterAppearance.LoadAsset(objects, assetId)
1639+
                                    hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.huge)
1640-
        local asset = InsertService:LoadAsset(assetId)
1640+
                                    hit:FindFirstChild("Torso").Velocity = hit:FindFirstChild("Torso").CFrame.lookVector * -300
1641-
        for _, child in ipairs(asset:GetChildren()) do
1641+
                            --Debounces.Slashed = false
1642-
                child.Archivable = true
1642+
                        --end
1643-
                table.insert(objects, child:Clone())
1643+
1644
                end
1645
            end
1646-
CharacterAppearance.Create {
1646+
1647-
        Id = 1,
1647+
			for i = 1,20 do
1648-
        HeadColor = BrickColor.new("Institutional white"),
1648+
				rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(8)), 0.4)
1649-
        TorsoColor = BrickColor.new("Institutional white"),
1649+
				larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.4)
1650-
        RightArmColor = BrickColor.new("Institutional white"),
1650+
				hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(0),math.rad(0),0), 0.4)
1651-
        LeftArmColor = BrickColor.new("Institutional white"),
1651+
				torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(90), math.rad(90)), 0.4)
1652-
        RightLegColor = BrickColor.new("Institutional white"),
1652+
				lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-90)), 0.4)
1653-
        LeftLegColor = BrickColor.new("Institutional white"),
1653+
				rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(10)), 0.4)
1654-
        CharacterAssets = {
1654+
				if Debounces.on == false then break end
1655-
                90825058, 90825211,
1655+
				rs:wait()
1656-
                27112056, 27112052,
1656+
			end
1657-
                27112039, 27112025,
1657+
			kik:disconnect()
1658-
                27112068, 38322996
1658+
			if Debounces.CanAttack == false then
1659-
        },
1659+
				Debounces.CanAttack = true
1660-
        HeadAssets = {
1660+
				Debounces.NoIdl = false
1661-
                20722130,
1661+
				Debounces.on = false
1662-
                8330576
1662+
1663-
        }
1663+
1664
    end
1665-
CharacterAppearance.Create {
1665+
1666-
        Id = 2,
1666+
----------------------------------------------------
1667-
        HeadColor = BrickColor.new("Institutional white"),
1667+
mouse.KeyDown:connect(function(key)
1668-
        TorsoColor = BrickColor.new("Institutional white"),
1668+
	if key == "y" then
1669-
        RightArmColor = BrickColor.new("Institutional white"),
1669+
		if Debounces.CanAttack == true then
1670-
        LeftArmColor = BrickColor.new("Institutional white"),
1670+
            Debounces.CanAttack = false
1671-
        RightLegColor = BrickColor.new("Institutional white"),
1671+
            Debounces.on = true
1672-
        LeftLegColor = BrickColor.new("Institutional white"),
1672+
            Debounces.NoIdl = true
1673-
        CharacterAssets = {
1673+
				for i = 1, 15 do
1674-
                90825058, 90825211,
1674+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,.6,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(30)), 0.2)
1675-
                11748356, 1029025,
1675+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,.6,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-90)), 0.6)
1676-
                1235488, 27112056,
1676+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.2)
1677-
                27112052, 27112039,
1677+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.4)
1678-
                27112025, 27112068
1678+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-10)), 0.2)
1679-
        },
1679+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(10)), 0.2)
1680-
        HeadAssets = {
1680+
                    if Debounces.on == false then break end
1681-
                20722130
1681+
                    rs:wait(2.7)
1682-
        }
1682+
1683
				x = Instance.new("Sound",char)
1684-
CharacterAppearance.Create {
1684+
				x.SoundId = "rbxassetid://345052019"
1685-
        Id = 3,
1685+
				x.Pitch = 0.8
1686-
        HeadColor = BrickColor.new("Pastel brown"),
1686+
				x.Volume = 1
1687-
        TorsoColor = BrickColor.new("Pastel brown"),
1687+
				x:Play()
1688-
        RightArmColor = BrickColor.new("Pastel brown"),
1688+
				wait(1.5)
1689-
        LeftArmColor = BrickColor.new("Pastel brown"),
1689+
				Debounces.on = false
1690-
        RightLegColor = BrickColor.new("White"),
1690+
				Debounces.Here = false
1691-
        LeftLegColor = BrickColor.new("White"),
1691+
				shot = shot + 1
1692-
        CharacterAssets = {
1692+
local rng = Instance.new("Part", larm)
1693-
                134289125, 48474356,
1693+
rng.Anchored = true
1694-
                100339040, 46302558,
1694+
rng.BrickColor = BrickColor.new("Crimson")
1695-
                153955895
1695+
rng.CanCollide = false
1696-
        },
1696+
rng.FormFactor = 3
1697-
        HeadAssets = {},
1697+
rng.Name = "Ring"
1698-
        TShirt = "rbxassetid://148856353"
1698+
rng.Size = Vector3.new(1, 1, 1)
1699
rng.Transparency = 0.35
1700-
CharacterAppearance.Create {
1700+
rng.TopSurface = 0
1701-
        Id = 4,
1701+
rng.BottomSurface = 0
1702-
        HeadColor = BrickColor.new("Pastel brown"),
1702+
rng2 = rng:clone()
1703-
        TorsoColor = BrickColor.new("Pastel brown"),
1703+
rng3 = rng2:clone()
1704-
        RightArmColor = BrickColor.new("Pastel brown"),
1704+
rng4 = rng2:clone()
1705-
        LeftArmColor = BrickColor.new("Pastel brown"),
1705+
local rngm = Instance.new("SpecialMesh", rng)
1706-
        RightLegColor = BrickColor.new("White"),
1706+
rngm.MeshId = "http://www.roblox.com/asset?id=156292355"
1707-
        LeftLegColor = BrickColor.new("White"),
1707+
rngm.Scale = Vector3.new(10, 10, 1)
1708-
        CharacterAssets = {
1708+
rngm2 = rngm:clone()
1709-
                129458426, 96678344, 184489190
1709+
rngm2.Scale = Vector3.new(6, 6, 4)
1710-
        },
1710+
rngm3=rngm2:clone()
1711-
        HeadAssets = {},
1711+
rngm3.Parent = rng3
1712-
        TShirt = "rbxassetid://160146697"
1712+
rngm3.Scale = Vector3.new(9, 9, 2)
1713
rngm4 = rngm2:clone()
1714-
 
1714+
rngm4.Parent = rng4
1715-
GraphicalEffects = {};
1715+
rngm4.Scale = Vector3.new(7, 7, 2)
1716-
 
1716+
local bem = Instance.new("Part", larm)
1717-
local MESH_IDS = {"rbxassetid://15310891"}
1717+
bem.Anchored = true
1718-
local SOUND_IDS = {"rbxassetid://2248511", "rbxassetid://1369158"}
1718+
bem.BrickColor = BrickColor.new("Crimson")
1719-
local TEXTURE_IDS = {"rbxassetid://36527089", "rbxassetid://122610943", "rbxassetid://126561317", "rbxassetid://127033719"}
1719+
bem.CanCollide = false
1720-
local preloadConnections = {}
1720+
bem.FormFactor = 3
1721-
local reloadingPreloads = false
1721+
bem.Name = "Beam" .. shot
1722-
function GraphicalEffects.InitPreloads()
1722+
bem.Size = Vector3.new(1, 1, 1)
1723-
        local preload_part = Instance.new("Part")
1723+
bem.Transparency = 0.35
1724-
        GraphicalEffects.preload_part = preload_part
1724+
bem.TopSurface = 0
1725-
        preload_part.Anchored = true
1725+
bem.BottomSurface = 0
1726-
        preload_part.Archivable = false
1726+
local bemm = Instance.new("SpecialMesh", bem)
1727-
        preload_part.BottomSurface = "Smooth"
1727+
bemm.MeshType = 4
1728-
        preload_part.CanCollide = false
1728+
bemm.Scale = Vector3.new(1, 10, 10)
1729-
        preload_part.CFrame = CFrame.new(math.huge, math.huge, math.huge)
1729+
local out = Instance.new("Part", larm)
1730-
        preload_part.FormFactor = "Custom"
1730+
out.Anchored = true
1731-
        preload_part.Locked = true
1731+
out.BrickColor = BrickColor.new("Crimson")
1732-
        preload_part.Name = "Asset Preloader"
1732+
out.CanCollide = false
1733-
        preload_part.Size = Vector3.new(0.2, 0.2, 0.2)
1733+
out.FormFactor = 3
1734-
        preload_part.TopSurface = "Smooth"
1734+
out.Name = "Out"
1735-
        preload_part.Transparency = 1
1735+
out.Size = Vector3.new(4, 4, 4)
1736-
        preloadConnections[preload_part] = preload_part.AncestryChanged:connect(GraphicalEffects.PreloadsAncestryChanged)
1736+
out.Transparency = 0.35
1737-
        for _, mesh_id in ipairs(MESH_IDS) do
1737+
out.TopSurface = 0
1738-
                local mesh = Instance.new("SpecialMesh")
1738+
out.BottomSurface = 0
1739-
                mesh.MeshType = "FileMesh"
1739+
local outm = Instance.new("SpecialMesh", out)
1740-
                mesh.MeshId = mesh_id
1740+
outm.MeshId = "http://www.roblox.com/asset/?id=1033714"
1741-
                preloadConnections[mesh] = mesh.AncestryChanged:connect(GraphicalEffects.PreloadsAncestryChanged)
1741+
outm.Scale = Vector3.new(10, 10, 10)
1742-
                mesh.Parent = preload_part
1742+
local bnd = Instance.new("Part", larm)
1743
bnd.Anchored = true
1744-
        for _, sound_id in ipairs(SOUND_IDS) do
1744+
bnd.BrickColor = BrickColor.new("Crimson")
1745-
                local sound = Instance.new("Sound")
1745+
bnd.CanCollide = false
1746-
                sound.SoundId = sound_id
1746+
bnd.FormFactor = 3
1747-
                sound.Volume = 0
1747+
bnd.Name = "Bend"
1748-
                preloadConnections[sound] = sound.AncestryChanged:connect(GraphicalEffects.PreloadsAncestryChanged)
1748+
bnd.Size = Vector3.new(1, 1, 1)
1749-
                sound.Parent = preload_part
1749+
bnd.Transparency = 1
1750
bnd.TopSurface = 0
1751-
        for _, texture_id in ipairs(TEXTURE_IDS) do
1751+
bnd.BottomSurface = 0
1752-
                local decal = Instance.new("Decal")
1752+
local bndm = Instance.new("SpecialMesh", bnd)
1753-
                decal.Texture = texture_id
1753+
bndm.MeshType = 3
1754-
                preloadConnections[decal] = decal.AncestryChanged:connect(GraphicalEffects.PreloadsAncestryChanged)
1754+
bndm.Scale = Vector3.new(8, 8, 8)
1755-
                decal.Parent = preload_part
1755+
out.CFrame = larm.CFrame * CFrame.new(0, -2.7, 0)
1756
bem.CFrame = out.CFrame * CFrame.new(0, -2.5, 0) * CFrame.Angles(0, 0, math.rad(90))
1757-
        preload_part.Parent = Workspace
1757+
bnd.CFrame = bem.CFrame * CFrame.new(0, 0, 0)
1758
rng.CFrame = out.CFrame * CFrame.Angles(math.rad(90), 0, 0)
1759-
function GraphicalEffects.PreloadsAncestryChanged(child, parent)
1759+
rng3.CFrame = rng.CFrame * CFrame.new(0, -.5, 0)
1760-
        if not reloadingPreloads and parent ~= GraphicalEffects.preload_part and parent ~= Workspace then
1760+
rng4.CFrame = rng.CFrame * CFrame.new(0, -1, 0)
1761-
                reloadingPreloads = true
1761+
Debounces.Shewt = true
1762-
                for _, connection in pairs(preloadConnections) do
1762+
1763-
                        connection:disconnect()
1763+
for i = 1, 20, 0.2 do
1764-
                        preloadConnections[_] = nil
1764+
rngm.Scale = Vector3.new(50 + i*5, 50 + i*5, 1)
1765
rngm3.Scale = Vector3.new(30 + i*25, 30 + i*25, 1)
1766-
                wait(1)
1766+
rngm4.Scale = Vector3.new(27 + i*30, 27 + i*30, 1)
1767-
                reloadingPreloads = false
1767+
rng.Transparency = i/30
1768-
                GraphicalEffects.InitPreloads()
1768+
rng3.Transparency = 1/34
1769
rng4.Transparency = i/36
1770
wait()
1771-
GraphicalEffects.InitPreloads()
1771+
1772-
-- Hyper beam
1772+
1773-
function GraphicalEffects.FireSpaceHyperBeam(target, power, duration, radius, height, deviation)
1773+
rng:Destroy()
1774-
        local stepTime, gameTime = 1 / 30, TaskScheduler.GetCurrentTime()
1774+
1775-
        local frames = duration * 30
1775+
if Debounces.Shewt == true then
1776-
        local beamColorOffset = 0.75 * tick() -- math.random()
1776+
larm:WaitForChild("Beam" .. shot).Touched:connect(function(ht)
1777-
        local blastPressure = power * 62500 + 250000
1777+
hit = ht.Parent
1778-
        local beamPart = Instance.new("Part")
1778+
if hit:IsA("Model") and hit:findFirstChild("Humanoid") then
1779-
        local beamMesh = Instance.new("SpecialMesh", beamPart)
1779+
if HasntTouched(hit.Name) == true and deb == false then
1780-
        local explosion = Instance.new("Explosion")
1780+
deb = true
1781-
        local sound = Instance.new("Sound", beamPart)
1781+
1782-
        beamPart.Anchored = true
1782+
hit:FindFirstChild("Humanoid").PlatformStand = true
1783-
        beamPart.CanCollide = false
1783+
hit:FindFirstChild("Torso").Velocity = char.Head.CFrame.lookVector * 200
1784-
        beamPart.CFrame = CFrame.new(target, target + Vector3.new(deviation * (math.random() - 0.5), deviation * (math.random() - 0.5), height))
1784+
hit:FindFirstChild("Humanoid"):TakeDamage(math.huge)
1785-
        beamPart.FormFactor = "Custom"
1785+
1786-
        beamPart.Locked = true
1786+
table.insert(Touche, hit.Name)
1787-
        beamPart.Size = Vector3.new(0.2, 0.2, 0.2)
1787+
deb = false
1788-
        beamMesh.MeshId = "rbxassetid://15310891"
1788+
1789-
        beamMesh.MeshType = "FileMesh"
1789+
elseif hit:IsA("Hat") and hit.Parent:findFirstChild("Humanoid") then
1790-
        beamMesh.TextureId = "rbxassetid://36527089"
1790+
if HasntTouched(hit.Parent.Name) == true and deb == false then
1791-
        local beamGlowPart1 = beamPart:Clone()
1791+
deb = true
1792-
        local beamGlowMesh1 = beamMesh:Clone()
1792+
1793-
        local beamGlowPart2 = beamPart:Clone()
1793+
hit.Parent:FindFirstChild("Humanoid").PlatformStand = true
1794-
        local beamGlowMesh2 = beamMesh:Clone()
1794+
hit.Parent:FindFirstChild("Torso").Velocity = char.Head.CFrame.lookVector * 200
1795-
        local beamLight = Instance.new("PointLight", beamPart)
1795+
1796-
        beamLight.Range = power * 2
1796+
hit.Parent:FindFirstChild("Humanoid").PlatformStand = false
1797-
        beamLight.Shadows = true
1797+
1798-
        explosion.BlastPressure = blastPressure
1798+
table.insert(Touche, hit.Parent.Name)
1799-
        explosion.BlastRadius = power
1799+
deb = false
1800-
        explosion.Position = target
1800+
for i, v in pairs(Touche) do
1801-
        sound.SoundId = "rbxassetid://2248511"
1801+
print(v)
1802-
        sound.Volume = 1
1802+
1803-
        local explosionHitConnection = explosion.Hit:connect(function(part, distance)
1803+
1804-
                if not part.Anchored and part:GetMass() < power * power then
1804+
1805-
                        pcall(part.BreakJoints, part)
1805+
1806-
                        part.Color = Color3.new(Utility.GetRainbowRGB(1.5 * gameTime + beamColorOffset))
1806+
1807
for i = 0, 260, 8 do
1808
bem.Size = Vector3.new(i, 10, 10)
1809-
        beamPart.Transparency = 0.5
1809+
out.CFrame = larm.CFrame * CFrame.new(0, -2.7, 0)
1810-
        beamPart.Archivable = false
1810+
bem.CFrame = larm.CFrame * CFrame.new(0, -4.2 -(i/2), 0) * CFrame.Angles(0, 0, math.rad(90))
1811-
        beamGlowPart1.Transparency = 0.75
1811+
bnd.CFrame = bem.CFrame * CFrame.new(-i/2, 0, 1.2)
1812-
        beamGlowPart2.Transparency = 0.75
1812+
bnd.Size = Vector3.new(1,1,1)
1813-
        beamGlowMesh1.Parent = beamGlowPart1
1813+
bndm.Scale = Vector3.new(8,8,8)
1814-
        beamGlowPart1.Parent = beamPart
1814+
if i % 10 == 0 then
1815-
        beamGlowMesh2.Parent = beamGlowPart2
1815+
local newRng = rng2:Clone()
1816-
        beamGlowPart2.Parent = beamPart
1816+
newRng.Parent = larm
1817-
        beamPart.Parent = workspace
1817+
newRng.CFrame = larm.CFrame * CFrame.new(0, -4.2-i, 0) * CFrame.Angles(math.rad(90), 0, 0)
1818-
        explosion.Parent = workspace
1818+
local newRngm = rngm2:clone()
1819-
        for frame = 1, frames do
1819+
newRngm.Parent=newRng
1820-
                local progress = frame / frames
1820+
1821-
                local alpha = 1 - math.sin(0.5 * math.pi * progress)
1821+
for i = 1, 10, 0.2 do
1822-
                local scale = 0.4 * alpha
1822+
newRngm.Scale = Vector3.new(50 + i*30, 50 + i*30, 3)
1823-
                local glowScale1 = alpha * (0.5 + 0.5 * math.sin(math.tau * (8 * gameTime + beamColorOffset)))
1823+
newRng.Transparency = i/10
1824-
                local glowScale2 = alpha * (0.5 + 0.5 * math.cos(math.tau * (8 * gameTime + beamColorOffset)))
1824+
1825-
                local vertexColor =  Vector3.new(Utility.GetRainbowRGB(1.5 * gameTime + beamColorOffset))
1825+
1826-
                beamLight.Brightness = 1 - progress
1826+
1827-
                beamLight.Color = Color3.new(vertexColor.x, vertexColor.y, vertexColor.z)
1827+
newRng:Destroy()
1828-
                beamMesh.Scale = Vector3.new(radius * scale, 9000, radius * scale)
1828+
1829-
                beamMesh.VertexColor = vertexColor
1829+
1830-
                beamGlowMesh1.Scale = Vector3.new(1.2 * radius * glowScale1, 9000, 1.2 * radius * glowScale1)
1830+
1831-
                beamGlowMesh1.VertexColor = vertexColor
1831+
1832-
                beamGlowMesh2.Scale = Vector3.new(1.2 * radius * glowScale2, 9000, 1.2 * radius * glowScale2)
1832+
1833-
                beamGlowMesh2.VertexColor = vertexColor
1833+
Debounces.Shewt = false
1834-
                RunService.Stepped:wait()
1834+
bem:Destroy()
1835-
                gameTime = TaskScheduler.GetCurrentTime()
1835+
out:Destroy()
1836-
                if frame <= 2 then
1836+
bnd:Destroy()
1837-
                        local explosion = Instance.new("Explosion")
1837+
Debounces.Ready = false
1838-
                        explosion.BlastPressure = (1 - progress) * blastPressure
1838+
for i, v in pairs(Touche) do
1839-
                        explosion.BlastRadius = (1 - progress) * power
1839+
table.remove(Touche, i)
1840-
                        explosion.Position = target
1840+
1841-
                        explosion.Parent = Workspace
1841+
1842-
                        if frame == 2 then
1842+
table.insert(Touche, char.Name)
1843-
                                sound:Play()
1843+
Debounces.NoIdl = false
1844
if Debounces.CanAttack == false then
1845
Debounces.CanAttack = true
1846
end
1847-
        pcall(beamPart.Destroy, beamPart)
1847+
1848-
        explosionHitConnection:disconnect()
1848+
1849
end)
1850-
function GraphicalEffects.SpaceHyperBeam(target, power, duration, radius, height, deviation)
1850+
----------------------------------------------------
1851-
        TaskScheduler.Start(GraphicalEffects.FireSpaceHyperBeam, target, power or 12, duration or 1.5, radius or 6, height or 600, deviation or 20)
1851+
Charging = false
1852
mouse.KeyDown:connect(function(key)
1853-
 
1853+
	if key == "r" then
1854-
function GraphicalEffects.CrystalRing(data)
1854+
		if Charging == false then
1855-
        data = data or {}
1855+
			Charging = true
1856-
        local crystal_count = data.crystal_count or 10
1856+
			if Debounces.CanAttack == true then
1857-
        local crystal_color = data.crystal_color or BrickColor.new("Bright red")
1857+
				Debounces.CanAttack = false
1858-
        local crystal_scale = data.crystal_scale or Vector3.new(2 / 3, 2, 2 / 3)
1858+
				Debounces.NoIdl = true
1859-
        local fade_out_color = data.fade_out_color or BrickColor.new("Really black")
1859+
				Debounces.on = true
1860-
        local radius = radius or 1.25 * crystal_count / math.pi
1860+
				for i = 1,20 do
1861-
        local spawn_duration = data.spawn_duration or 0.065
1861+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.65,-.4)*CFrame.Angles(math.rad(130),math.rad(0),math.rad(-40)), 0.2)
1862-
        local full_spawn_duration = spawn_duration * crystal_count
1862+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.2,0.65,-.4)*CFrame.Angles(math.rad(130),math.rad(0),math.rad(40)), 0.2)
1863-
        local float_duration = data.float_duration or 5
1863+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(0),0), 0.2)
1864-
        local wave_amplitude = data.wave_amplitude or 0.5
1864+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-10), math.rad(0), 0), 0.2)
1865-
        local wave_period = data.wave_period or 1
1865+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, .4, -0.8) * CFrame.Angles(math.rad(-6), math.rad(0), math.rad(0)), 0.2)
1866-
        local appear_duration = data.appear_duration or 0.1
1866+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, .4, -0.8) * CFrame.Angles(math.rad(-6), math.rad(0), math.rad(0)), 0.2)
1867-
        local disappear_duration = data.disappear_duration or 0.5
1867+
					if Debounces.on == false then break end
1868-
        local base_part = data.base_part
1868+
					rs:wait()
1869-
        local offset_cframe
1869+
				end
1870-
        if data.position then
1870+
				--[[for i = 1,20 do
1871-
                offset_cframe = CFrame.new(data.position)
1871+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.65,0)*CFrame.Angles(math.rad(-20),math.rad(-20),math.rad(50)), 0.4)
1872-
                if base_part then
1872+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.65,0)*CFrame.Angles(math.rad(-20),math.rad(20),math.rad(-50)), 0.4)
1873-
                        offset_cframe = base_part.CFrame:toObjectSpace(offset_cframe)
1873+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,.1)*CFrame.Angles(math.rad(34),math.rad(0),0), 0.4)
1874
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(15), math.rad(0), math.rad(0)), 0.4)
1875
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), 0, math.rad(-10)), 0.4)
1876-
                offset_cframe = CFrame.new()
1876+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), 0, math.rad(10)), 0.4)
1877
					if Debounces.on == false then break end
1878-
        local crystal_template = Instance.new("Part")
1878+
					rs:wait()
1879-
        crystal_template.Anchored = true
1879+
				end]]--
1880-
        crystal_template.Locked = true
1880+
pt=Instance.new('Part',torso)
1881-
        crystal_template.CanCollide = false
1881+
pt.Anchored=true
1882-
        crystal_template.BottomSurface = "Smooth"
1882+
pt.CanCollide=false
1883-
        crystal_template.TopSurface = "Smooth"
1883+
pt.Locked = true
1884-
        crystal_template.BrickColor = crystal_color
1884+
pt.FormFactor='Custom'
1885-
        crystal_template.FormFactor = "Symmetric"
1885+
pt.Size=Vector3.new(1,1,1)
1886-
        crystal_template.Size = Vector3.new(1, 1, 1)
1886+
pt.CFrame=root.CFrame*CFrame.new(0,-1,0)
1887-
        local crystal_light = Instance.new("PointLight", crystal_template)
1887+
pt.Transparency=.6
1888-
        crystal_light.Brightness = 0.1 / crystal_count
1888+
pt.BrickColor=BrickColor.new('Crimson')
1889-
        crystal_light.Color = crystal_color.Color
1889+
msh=Instance.new('SpecialMesh',pt)
1890-
        crystal_light.Name = "Light"
1890+
msh.MeshId='http://www.roblox.com/asset/?id=20329976'
1891-
        crystal_light.Range = radius
1891+
msh.Scale=Vector3.new(9.5,9.5,9.5)
1892-
        crystal_light.Shadows = true
1892+
pt2=pt:clone()
1893-
        local crystal_mesh = Instance.new("SpecialMesh", crystal_template)
1893+
pt2.Parent = torso
1894-
        crystal_mesh.MeshId = "rbxassetid://9756362"
1894+
pt2.CFrame=root.CFrame*CFrame.new(0,-1,0)
1895-
        crystal_mesh.MeshType = "FileMesh"
1895+
pt2.BrickColor=BrickColor.new("Crimson")
1896-
        crystal_mesh.Name = "Mesh"
1896+
msh2=msh:clone()
1897-
        crystal_mesh.Scale = crystal_scale
1897+
msh2.Parent=pt2
1898-
        local crystal_model = Instance.new("Model")
1898+
msh2.Scale=Vector3.new(9.5,9.5,9.5)
1899-
        crystal_model.Archivable = false
1899+
1900-
        crystal_model.Name = "Crystal Model"
1900+
custommath={25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39,-40,-41,-42,-43,-44,-45,-46,-47,-48,-49,-50,-51,-52,-53,-54,-55,-56,-57,-58,-59,-60,-61,-62,-63,-64,-65,-66,-67,-68,-69,-70,-71,-72,-73,-74,-75,-76,-77,-78,-79,-80,-81,-82,-83,-84,-85,-86,-87,-88,-89,-90,-91,-92,-93,-94,-95,-96,-97,-98,-99,-100}
1901-
        crystal_model.Parent = Workspace
1901+
1902-
        local crystals = {}
1902+
bl = Instance.new("Part", char)
1903-
        local lights = {}
1903+
bl.Locked = true
1904-
        local meshes = {}
1904+
bl.Name = "Shell"
1905-
        for index = 1, crystal_count do
1905+
bl.BrickColor = BrickColor.new("Crimson")
1906-
                local crystal = crystal_template:Clone()
1906+
bl.Anchored = true
1907-
                crystal.Parent = crystal_model
1907+
bl.CanCollide = false
1908-
                crystals[index] = crystal
1908+
bl.Transparency = 0
1909-
                lights[index] = crystal.Light
1909+
bl.Reflectance = 0
1910-
                meshes[index] = crystal.Mesh
1910+
bl.BottomSurface = 0
1911
bl.TopSurface = 0
1912-
        local start_time = tick()
1912+
bl.Shape = 0
1913-
        repeat
1913+
blm = Instance.new("SpecialMesh",bl)
1914-
                local base_cframe = offset_cframe
1914+
blm.MeshType = "Sphere"
1915-
                if base_part then
1915+
blm.Scale = Vector3.new(9.5,9.5,9.5)
1916-
                        base_cframe = base_part.CFrame * base_cframe
1916+
blm.MeshId = "rbxassetid://9982590"
1917
1918-
                local elapsed_time = tick() - start_time
1918+
	coroutine.resume(coroutine.create(function()
1919-
                for index, crystal in ipairs(crystals) do
1919+
        for i=1, math.huge, 4 do
1920-
                        local crystal_time = elapsed_time - index * spawn_duration
1920+
			if Charging == true then
1921-
                        local disappear_time = crystal_time - float_duration
1921+
				rs:wait()
1922-
                        local offset
1922+
				bl.CFrame = root.CFrame * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-i/10), math.rad(-i/10), math.rad(i/10))
1923-
                        if crystal_time < 0 then
1923+
				blm.Scale = blm.Scale + Vector3.new(9.5,9.5,9.5)
1924-
                                offset = 0
1924+
				bl.Transparency = bl.Transparency + 0.1
1925-
                        elseif crystal_time < appear_duration then
1925+
				pt.CFrame = root.CFrame*CFrame.new(0,-1,0) * CFrame.Angles(0,math.rad(i*2),0)
1926-
                                offset = radius * crystal_time / appear_duration
1926+
				pt2.CFrame = root.CFrame*CFrame.new(0,-1,0) * CFrame.Angles(0,math.rad(-i*2),0)
1927-
                        else
1927+
				msh.Scale = msh.Scale + Vector3.new(9.5,0,9.5)
1928-
                                offset = radius
1928+
				msh2.Scale = msh2.Scale + Vector3.new(9.5,0,9.5)
1929
				elseif Charging == false then break
1930-
                        local wave_offset
1930+
			end
1931-
                        if disappear_time >= 0 then
1931+
1932-
                                local disappear_progress = disappear_time / disappear_duration
1932+
    end))
1933-
                                if disappear_progress > 1 then
1933+
1934-
                                        if crystal.Parent then
1934+
repeat
1935-
                                                crystal:Destroy()
1935+
    local p = Instance.new('Part',torso)
1936-
                                        end
1936+
    p.formFactor = 'Custom'
1937-
                                else
1937+
    p.Size = Vector3.new(1,1,1)
1938-
                                        local inverse_progress = 1 - disappear_progress
1938+
    p.BrickColor = BrickColor.new('Crimson')
1939-
                                        local light = lights[index]
1939+
    p.CanCollide = false
1940-
                                        local mesh = meshes[index]
1940+
    p.Transparency = 0
1941-
                                        crystal.BrickColor = fade_out_color
1941+
    p.Anchored = true
1942-
                                        light.Brightness = 2 * inverse_progress
1942+
    p.Locked=true
1943-
                                        light.Range = 2 * radius
1943+
    p.Material = workspace.Base.Material
1944-
                                        mesh.Scale = crystal_scale * inverse_progress
1944+
    s = math.random(1,40)/10
1945
    local m = Instance.new("BlockMesh",p)
1946-
                                wave_offset = 0
1946+
    m.Scale = Vector3.new(s,s,s)
1947-
                        else
1947+
    p.CFrame = torso.CFrame*CFrame.new(custommath[math.random(1,#custommath)]/10,-math.random(5,7),custommath[math.random(1,#custommath)]/10)*CFrame.Angles(math.random(),math.random(),math.random())
1948-
                                wave_offset = wave_amplitude * math.sin(math.tau * (elapsed_time - index / crystal_count * 3) / wave_period)
1948+
	--[[coroutine.wrap(function()
1949
		wait(2)
1950-
                        local rotation_angle = (tick() * 0.5 + (index - 1) / crystal_count) % 1 * math.tau
1950+
		while Charging == true do
1951-
                        crystal.CFrame = base_cframe * CFrame.Angles(0, rotation_angle, 0) * CFrame.new(0, wave_offset, -offset)
1951+
		wait(2)
1952
		GroundWave1()
1953-
                RunService.Stepped:wait()
1953+
		wait(2)
1954-
        until elapsed_time >= float_duration + full_spawn_duration + disappear_duration
1954+
1955-
        if crystal_model.Parent then
1955+
	end)()]]--
1956-
                crystal_model:Destroy()
1956+
	Spawn(function()
1957
		while rs:wait() do
1958
			if Charging == true then
1959-
 
1959+
				rarm.Weld.C0 = CFrame.new(1.5,0.65,0)*CFrame.Angles(math.rad(math.random(-36,-20)),math.rad(math.random(-30,-20)),math.rad(math.random(30,50)))
1960-
GraphicalEffects.magicCircleData = {}
1960+
				larm.Weld.C0 = CFrame.new(-1.5,0.65,0)*CFrame.Angles(math.rad(math.random(-36,-20)),math.rad(math.random(20,30)),math.rad(math.random(-50,-30)))
1961-
GraphicalEffects.MAGIC_CIRCLE_DEFAULT_OFFSET = 6.25
1961+
				hed.Weld.C0 = CFrame.new(0,1.5,.1)*CFrame.Angles(math.rad(math.random(26,34)),math.rad(math.random(-5,5)),math.rad(0))
1962-
function GraphicalEffects.AnimateMagicCircle(data)
1962+
				torso.Weld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), math.rad(math.random(-4,4)), math.rad(0))
1963-
        local frame, direction, magic_circle_model, magic_circle_part, magic_circle_light, magic_circle_decal_back, magic_circle_decal_front, duration,
1963+
				lleg.Weld.C0 = CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(math.random(-10,-6)), math.rad(math.random(10,20)), math.rad(math.random(-20,-10)))
1964-
 
1964+
				rleg.Weld.C0 = CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(math.random(-10,-6)), math.rad(math.random(-20,-10)), math.rad(math.random(10,20)))
1965-
stay, magic_circle_adornee_func, magic_circle_offset = unpack(data)
1965+
			elseif Charging == false then break
1966-
        frame = frame + 1
1966+
			end
1967-
        data[1] = frame
1967+
1968-
        local transparency = (frame / duration) ^ stay
1968+
	end)
1969-
        local opacity = 1 - transparency
1969+
	Spawn(function()
1970-
        if frame == duration then
1970+
        while rs:wait() do
1971-
                pcall(Game.Destroy, magic_circle_model)
1971+
            if p.Transparency >= 1 then p:Destroy() break end
1972-
                GraphicalEffects.magicCircleData[data] = nil
1972+
            p.CFrame = p.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2))+Vector3.new(0,0.2,0)
1973
            p.Transparency = p.Transparency+0.01
1974-
                if magic_circle_model.Parent ~= Workspace then
1974+
1975-
                        pcall(Utility.SetProperty, magic_circle_model, "Parent", Workspace)
1975+
1976
    wait(.3)
1977-
                local magic_circle_adornee = magic_circle_adornee_func()
1977+
until Charging == false
1978-
                magic_circle_position = magic_circle_adornee.Position + direction * magic_circle_offset
1978+
			end
1979-
                local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction) * CFrame.Angles(0, 0, math.tau * frame /
1979+
1980-
 
1980+
1981-
25)
1981+
1982-
                magic_circle_part.CFrame = magic_circle_cframe
1982+
----------------------------------------------------
1983-
                magic_circle_light.Brightness = opacity
1983+
mouse.KeyUp:connect(function(key)
1984-
                magic_circle_decal_back.Transparency = transparency
1984+
	if key == "r" then
1985-
                magic_circle_decal_front.Transparency = transparency
1985+
		if Charging == true then
1986
			Charging = false
1987
				pt:Destroy()
1988-
function GraphicalEffects.CreateMagicCircle(target, magic_circle_scale, magic_circle_image, light_color, duration, stay, magic_circle_adornee_func,
1988+
				pt2:Destroy()
1989-
 
1989+
				bl:Destroy()
1990-
magic_circle_offset)
1990+
			if Debounces.CanAttack == false then
1991-
        local magic_circle_adornee = magic_circle_adornee_func()
1991+
				Debounces.CanAttack = true
1992-
        if magic_circle_adornee then
1992+
				Debounces.NoIdl = false
1993-
                local origin = magic_circle_adornee.Position
1993+
				Debounces.on = false
1994-
                local direction = (target - origin).unit
1994+
			end
1995-
                local magic_circle_position = origin + direction * magic_circle_offset
1995+
1996-
                local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction)
1996+
1997-
                local magic_circle_model = Instance.new("Model")
1997+
1998-
                local magic_circle_part = Instance.new("Part", magic_circle_model)
1998+
----------------------------------------------------
1999-
                local magic_circle_mesh = Instance.new("BlockMesh", magic_circle_part)
1999+
mouse.KeyDown:connect(function(key)
2000-
                local magic_circle_light = Instance.new("PointLight", magic_circle_part)
2000+
	if key == "g" then
2001-
                local magic_circle_decal_back = Instance.new("Decal", magic_circle_part)
2001+
		if Debounces.CanAttack == true then
2002-
                local magic_circle_decal_front = Instance.new("Decal", magic_circle_part)
2002+
			Debounces.CanAttack = false
2003-
                magic_circle_model.Archivable = false
2003+
			Debounces.NoIdl = true
2004-
                magic_circle_part.Anchored = true
2004+
			Debounces.on = true
2005-
                magic_circle_part.BottomSurface = "Smooth"
2005+
				local shell = Instance.new("Part",torso)
2006-
                magic_circle_part.CanCollide = false
2006+
				shell.BrickColor = BrickColor.new("Crimson")
2007-
                magic_circle_part.CFrame = magic_circle_cframe
2007+
				shell.Anchored = true
2008-
                magic_circle_part.FormFactor = "Custom"
2008+
				shell.CanCollide = false
2009-
                magic_circle_part.Locked = true
2009+
				shell.Locked = true
2010-
                magic_circle_part.Size = Vector3.new(0.2, 0.2, 0.2)
2010+
				shell.TopSurface = "SmoothNoOutlines"
2011-
                magic_circle_part.TopSurface = "Smooth"
2011+
				shell.BottomSurface = "SmoothNoOutlines"
2012-
                magic_circle_part.Transparency = 1
2012+
				shell.Size = Vector3.new(1,1,1)
2013-
                magic_circle_mesh.Scale = Vector3.new(60, 60, 0) * magic_circle_scale
2013+
				shellm = Instance.new("SpecialMesh",shell)
2014-
                magic_circle_light.Color = light_color
2014+
				shellm.MeshType = "Sphere"
2015-
                magic_circle_light.Range = 16 * magic_circle_scale
2015+
				shellm.Scale = Vector3.new(1,1,1)
2016-
                magic_circle_light.Shadows = true
2016+
				local shell2 = Instance.new("Part",torso)
2017-
                magic_circle_decal_back.Face = "Back"
2017+
				shell2.BrickColor = BrickColor.new("Crimson")
2018-
                magic_circle_decal_back.Texture = magic_circle_image
2018+
				shell2.Anchored = true
2019-
                magic_circle_decal_front.Face = "Front"
2019+
				shell2.CanCollide = false
2020-
                magic_circle_decal_front.Texture = magic_circle_image
2020+
				shell2.Locked = true
2021-
                magic_circle_model.Parent = Workspace
2021+
				shell2.TopSurface = "SmoothNoOutlines"
2022-
                local data = {0, direction, magic_circle_model, magic_circle_part, magic_circle_light, magic_circle_decal_back, magic_circle_decal_front,
2022+
				shell2.BottomSurface = "SmoothNoOutlines"
2023-
 
2023+
				shell2.Size = Vector3.new(1,1,1)
2024-
duration, stay, magic_circle_adornee_func, magic_circle_offset}
2024+
				shellm2 = Instance.new("SpecialMesh",shell2)
2025-
                GraphicalEffects.magicCircleData[data] = true
2025+
				shellm2.MeshType = "Sphere"
2026-
                return data
2026+
				shellm2.Scale = Vector3.new(1,1,1)
2027
2028
function FindNearestTorso(Position,Distance,SinglePlayer)
2029-
 
2029+
    if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end
2030-
GraphicalEffects.missileData = {}
2030+
        local List = {}
2031-
GraphicalEffects.missileParts = {}
2031+
        for i,v in pairs(workspace:GetChildren())do
2032-
function GraphicalEffects.AnimateMissile(data)
2032+
            if v:IsA("Model")then
2033-
        local frame, missilePart, targetPart, timeCreated, direction, touchedConnection, explodeRequested, bodyGyro, swooshSound, magicCircleData, lifeTime,
2033+
                if v:findFirstChild("Torso")then
2034-
 
2034+
                    if v ~= char then
2035-
pointOnPart, flipped = unpack(data)
2035+
                        if(v.Torso.Position -Position).magnitude <= Distance then
2036-
        frame = frame + 1
2036+
                            table.insert(List,v)
2037-
        data[1] = frame
2037+
2038-
        if flipped then
2038+
2039-
                direction = -direction
2039+
2040
            end
2041-
        if frame <= 10 then
2041+
2042-
                if frame == 2 then
2042+
    return List
2043-
                        swooshSound:Play()
2043+
2044
2045-
                missilePart.Anchored = true
2045+
Shell = function()
2046-
                local progress = frame / 10
2046+
local X = Instance.new("Part",char)
2047-
                missilePart.Size = Vector3.new(1, 1, progress * 4)
2047+
local O = Instance.new("ObjectValue",X)
2048-
                local magicCirclePart = magicCircleData[4]
2048+
        O.Name = "creator"
2049-
                local magicCirclePosition = magicCirclePart.Position
2049+
        X.Locked = true
2050-
                local missileOffset = 2 * progress * direction
2050+
		X.Name = "Shell"
2051-
                local missilePosition = magicCirclePosition + missileOffset
2051+
        X.Anchored = false
2052-
                missilePart.CFrame = CFrame.new(missilePosition, missilePosition + direction)
2052+
        X.CanCollide = false
2053-
                --missilePart.Transparency = 0.5 * (1 - progress)
2053+
        X.Transparency = 0
2054-
                if frame == 10 then
2054+
        X.Reflectance = 0
2055-
                        touchedConnection = missilePart.Touched:connect(function(hit)
2055+
        X.BottomSurface = 0
2056-
                                if hit.CanCollide and hit.Parent and not GraphicalEffects.missileParts[hit] then
2056+
        X.TopSurface = 0
2057-
                                        touchedConnection:disconnect()
2057+
        X.Shape = 0
2058-
                                        data[7] = true
2058+
        local V = Instance.new("ObjectValue",X)
2059
        V.Value = char
2060-
                        end)
2060+
        V.Name = "creator"
2061-
                        data[6] = touchedConnection
2061+
        X.BrickColor = BrickColor.new("Crimson")
2062
        X.Size = Vector3.new(1,1,1)
2063
        --X.Material = "Neon"
2064-
                missilePart.Anchored = false
2064+
        local Z = Instance.new("SpecialMesh",X)
2065-
                local missilePosition = missilePart.Position
2065+
        Z.MeshType = "Sphere"
2066-
                local targetPosition = targetPart.CFrame * pointOnPart
2066+
        Z.Scale = Vector3.new(1,1,1)
2067-
                local distanceVector = targetPosition - missilePosition
2067+
        X.CFrame = rarm.CFrame*CFrame.new(0,-6,0)
2068-
                local elapsedTime = time() - timeCreated
2068+
        local bv = Instance.new("BodyVelocity",X)
2069-
                local targetParent = targetPart.Parent
2069+
        bv.maxForce = Vector3.new(99999,99999,99999)
2070-
                if explodeRequested or (targetParent and distanceVector.magnitude < 10) or elapsedTime > lifeTime then
2070+
        X.CFrame = CFrame.new(X.Position,root.CFrame.lookVector*10)
2071-
                        GraphicalEffects.missileData[data] = nil
2071+
        bv.velocity = root.CFrame.lookVector*65
2072-
                        GraphicalEffects.missileParts[missilePart] = nil
2072+
Explode = X.Touched:connect(function(hit)
2073-
                        touchedConnection:disconnect()
2073+
        if hit ~= char and hit.Name ~= "Shell" and hit:IsA("Part") or hit:IsA("BasePart}") then
2074-
                        if missilePart.Parent then
2074+
        local cf = X.CFrame
2075-
                                missilePart:Destroy()
2075+
        bv:Destroy()
2076-
                                local explosion = Instance.new("Explosion")
2076+
        X.Anchored = true
2077-
                                explosion.BlastRadius = 12.5
2077+
        Z:Remove()
2078-
                                explosion.Position = missilePosition
2078+
        Explode:disconnect()
2079-
                                local explosionHitConnection = explosion.Hit:connect(function(hit, distance)
2079+
        X.Size = Vector3.new(3,3,3)
2080-
                                        local missileData = GraphicalEffects.missileParts[hit]
2080+
        X.Touched:connect(function(hit) end)
2081-
                                        if missileData and distance < 3 then
2081+
        X.CanCollide = false
2082-
                                                missileData[7] = true
2082+
		for i,v in pairs(FindNearestTorso(X.CFrame.p,40))do
2083-
                                        else
2083+
			if v:FindFirstChild('Humanoid') then
2084-
                                                pcall(hit.BreakJoints, hit)
2084+
				v.Humanoid:TakeDamage(math.huge)
2085-
                                        end
2085+
			end
2086-
                                end)
2086+
2087-
                                explosion.Parent = Workspace
2087+
			for i = 1, (40) do rs:wait()
2088-
                                TaskScheduler.Schedule(1, explosionHitConnection.disconnect, explosionHitConnection)
2088+
				X.Transparency = X.Transparency + (1/40)
2089
				X.Size = X.Size + Vector3.new(1,1,1)
2090-
                else
2090+
				X.CFrame = cf
2091-
                        local targetInWorkspace = targetPart:IsDescendantOf(Workspace)
2091+
			end
2092-
                        if targetInWorkspace then
2092+
		X:Destroy()
2093-
                                direction = distanceVector.unit
2093+
2094-
                                data[5] = direction
2094+
	end)
2095
end
2096-
                        local speed = 14 + elapsedTime * 10
2096+
				Shell()
2097-
                        local gyroD
2097+
				for i = 1, 10 do
2098-
                        if elapsedTime < 42.5 and targetInWorkspace then
2098+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2099-
                                gyroD = 1000 - elapsedTime * 15
2099+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2100-
                        else
2100+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2101-
                                gyroD = 100
2101+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2102-
                                bodyGyro.maxTorque = Vector3.new(0, 0, 0)
2102+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(0),0), 0.7)
2103-
                                if elapsedTime + 7.5 < lifeTime then
2103+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(0), 0), 0.7)
2104-
                                        data[11] = elapsedTime + 7.5
2104+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-20)), 0.7)
2105
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(20)), 0.7)
2106
					if Debounces.on == false then break end
2107-
                        bodyGyro.D = gyroD
2107+
					rs:wait()
2108-
                        bodyGyro.cframe = CFrame.new(Vector3.new(), direction)
2108+
				end
2109-
                        missilePart.Velocity = missilePart.CFrame.lookVector * speed
2109+
				Shell()
2110
				shell.Transparency = 1
2111
				for i = 1, 10 do
2112
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2113-
function GraphicalEffects.ShootMissile(targetPart, pointOnPart, direction, magic_circle_adornee_func, magic_circle_offset, flipped)
2113+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2114-
        if not magic_circle_offset then
2114+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.7)
2115-
                magic_circle_offset = GraphicalEffects.MAGIC_CIRCLE_DEFAULT_OFFSET
2115+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2116
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(-50),0), 0.7)
2117-
        local targetPosition = targetPart.Position
2117+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(50), 0), 0.7)
2118-
        local headPosition = chatAdornee.Position
2118+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.7)
2119-
        local origin = CFrame.new(headPosition, headPosition + direction) + direction * magic_circle_offset
2119+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.7)
2120-
        local missilePart = Instance.new("Part")
2120+
					if Debounces.on == false then break end
2121-
        local antiGravityForce = Instance.new("BodyForce", missilePart)
2121+
					rs:wait()
2122-
        local bodyGyro = Instance.new("BodyGyro", missilePart)
2122+
				end
2123-
        local explosionSound = Instance.new("Sound", missilePart)
2123+
				Shell()
2124-
        local swooshSound = Instance.new("Sound", missilePart)
2124+
				shell.Transparency = 0
2125-
        antiGravityForce.force = Vector3.new(0, 196.2 * 4, 0)
2125+
				shell2.Transparency = 1
2126-
        bodyGyro.D = 1000
2126+
				for i = 1, 10 do
2127-
        bodyGyro.maxTorque = Vector3.new(1, 1, 1)
2127+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2128-
        explosionSound.PlayOnRemove = true
2128+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2129-
        explosionSound.SoundId = "rbxasset://sounds/collide.wav"
2129+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2130-
        explosionSound.Volume = 1
2130+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.7)
2131-
        missilePart.Anchored = true
2131+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(50),0), 0.7)
2132-
        missilePart.BackSurface = "Studs"
2132+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-50), 0), 0.7)
2133-
        missilePart.BottomSurface = "Studs"
2133+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.7)
2134-
        missilePart.BrickColor = BrickColor.Red()
2134+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.7)
2135-
        missilePart.CFrame = origin
2135+
					if Debounces.on == false then break end
2136-
        missilePart.FormFactor = "Custom"
2136+
					rs:wait()
2137-
        missilePart.FrontSurface = "Studs"
2137+
				end
2138-
        missilePart.LeftSurface = "Studs"
2138+
				Shell()
2139-
        missilePart.Locked = true
2139+
				shell2.Transparency = 0
2140-
        missilePart.RightSurface = "Studs"
2140+
				shell.Transparency = 1
2141-
        missilePart.Size = Vector3.new(1, 1, 0.2)
2141+
				for i = 1, 10 do
2142-
        missilePart.TopSurface = "Studs"
2142+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2143-
        --missilePart.Transparency = 0.5
2143+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2144-
        swooshSound.Looped = true
2144+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.7)
2145-
        swooshSound.SoundId = "rbxasset://sounds/Rocket whoosh 01.wav"
2145+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2146-
        swooshSound.Volume = 0.7
2146+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(-50),0), 0.7)
2147-
        local magicCircleData = GraphicalEffects.CreateMagicCircle(headPosition + direction * 1000, 0.875, "rbxassetid://127033719", Color3.new(1, 1, 1),
2147+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(50), 0), 0.7)
2148-
 
2148+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.7)
2149-
40, 4, magic_circle_adornee_func or function() return chatAdornee end, magic_circle_offset)
2149+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.7)
2150-
        local data = {0, missilePart, targetPart, time(), direction, false, false, bodyGyro, swooshSound, magicCircleData, 50, pointOnPart, flipped}
2150+
					if Debounces.on == false then break end
2151-
        missilePart.Parent = Workspace
2151+
					rs:wait()
2152-
        GraphicalEffects.missileData[data] = true
2152+
				end
2153-
        GraphicalEffects.missileParts[missilePart] = data
2153+
				Shell()
2154
				shell.Transparency = 0
2155-
 
2155+
				shell2.Transparency = 1
2156-
function GraphicalEffects.CubicInterpolate(y0, y1, y2, y3, mu)
2156+
				for i = 1, 10 do
2157-
        local a0, a1, a2, a3, mu2
2157+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2158-
        mu2 = mu * mu
2158+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2159-
        a0 = y3 - y2 - y0 + y1
2159+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2160-
        a1 = y0 - y1 - a0
2160+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.7)
2161-
        a2 = y2 - y0
2161+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(50),0), 0.7)
2162-
        a3 = y1
2162+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-50), 0), 0.7)
2163-
        return a0 * mu * mu2 + a1 * mu2 + a2 * mu + a3
2163+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.7)
2164
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.7)
2165-
function GraphicalEffects.JointCrap(model, cycletime)
2165+
					if Debounces.on == false then break end
2166-
        if model then
2166+
					rs:wait()
2167-
                local cycletime = cycletime or (0.75 * (1 + math.random() * 4))
2167+
				end
2168-
                local offsetradius = 0.75
2168+
				Shell()
2169-
                local rotationoffset = math.pi
2169+
				shell2.Transparency = 0
2170-
                local joints = {}
2170+
				shell.Transparency = 1
2171-
                local stack = model:GetChildren()
2171+
				for i = 1, 10 do
2172-
                while #stack ~= 0 do
2172+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2173-
                        local object = stack[#stack]
2173+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2174-
                        table.remove(stack)
2174+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.7)
2175-
                        for index, child in ipairs(object:GetChildren()) do
2175+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2176-
                                table.insert(stack, child)
2176+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(-50),0), 0.7)
2177
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(50), 0), 0.7)
2178-
                        if object:IsA("JointInstance") then
2178+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.7)
2179-
                                table.insert(joints, object)
2179+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.7)
2180
					if Debounces.on == false then break end
2181
					rs:wait()
2182-
                local rot0 = {}
2182+
				end
2183-
                local rot1 = {}
2183+
				Shell()
2184-
                local rot2 = {}
2184+
				shell.Transparency = 0
2185-
                local rot3 = {}
2185+
				shell2.Transparency = 1
2186-
                local rot4 = {}
2186+
				for i = 1, 10 do
2187-
                for index, joint in ipairs(joints) do
2187+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2188-
                        local pos = Vector3.new(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5).unit * offsetradius
2188+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2189-
                        local rot = Vector3.new(math.random(), math.random(), math.random()) * rotationoffset
2189+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2190-
                        rot0[index] = {joint.C0, joint.C1}
2190+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(50),0), 0.5)
2191-
                        rot = Vector3.new(rot.x % (math.tau), rot.y % (math.tau), rot.z % (math.tau))
2191+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.7)
2192-
                        rot2[index] = {pos, rot}
2192+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-50), 0), 0.7)
2193-
                        pos = Vector3.new(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5).unit * offsetradius
2193+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.7)
2194-
                        rot = rot + Vector3.new(math.random(), math.random(), math.random()) * rotationoffset
2194+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.7)
2195-
                        rot = Vector3.new(rot.x % (math.tau), rot.y % (math.tau), rot.z % (math.tau))
2195+
					if Debounces.on == false then break end
2196-
                        rot3[index] = {pos, rot}
2196+
					rs:wait()
2197-
                        pos = Vector3.new(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5).unit * offsetradius
2197+
				end
2198-
                        rot = rot + Vector3.new(math.random(), math.random(), math.random()) * rotationoffset
2198+
				Shell()
2199-
                        rot = Vector3.new(rot.x % (math.tau), rot.y % (math.tau), rot.z % (math.tau))
2199+
				shell2.Transparency = 0
2200-
                        rot4[index] = {pos, rot}
2200+
				shell.Transparency = 1
2201
				for i = 1, 10 do
2202-
                while model.Parent do
2202+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2203-
                        for i, j in ipairs(joints) do
2203+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2204-
                                local pos = Vector3.new(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5).unit * offsetradius
2204+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.7)
2205-
                                local rot = rot4[i][2] + Vector3.new(math.random(), math.random(), math.random()) * rotationoffset
2205+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2206-
                                rot = Vector3.new(rot.x % (math.tau), rot.y % (math.tau), rot.z % (math.tau))
2206+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(-50),0), 0.7)
2207-
                                rot1[i], rot2[i], rot3[i], rot4[i] = rot2[i], rot3[i], rot4[i], {pos, rot}
2207+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(50), 0), 0.7)
2208
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.7)
2209-
                        local start = tick()
2209+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.7)
2210-
                        while true do
2210+
					if Debounces.on == false then break end
2211-
                                local ctime = tick()
2211+
					rs:wait()
2212-
                                local elapsed = ctime - start
2212+
				end
2213-
                                if elapsed > cycletime then
2213+
				Shell()
2214-
                                        break
2214+
				shell.Transparency = 0
2215
				shell2.Transparency = 1
2216-
                                local progress = elapsed / cycletime
2216+
				for i = 1, 10 do
2217-
                                for index, joint in ipairs(joints) do
2217+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2218-
                                        local v0, v1, v2, v3, v4 = rot0[index], rot1[index], rot2[index], rot3[index], rot4[index]
2218+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2219-
                                        local p1, p2, p3, p4, r1, r2, r3, r4 = v1[1], v2[1], v3[1], v4[1], v1[2], v2[2], v3[2], v4[2]
2219+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2220-
                                        local px = GraphicalEffects.CubicInterpolate(p1.x, p2.x, p3.x, p4.x, progress)
2220+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.7)
2221-
                                        local py = GraphicalEffects.CubicInterpolate(p1.y, p2.y, p3.y, p4.y, progress)
2221+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(50),0), 0.7)
2222-
                                        local pz = GraphicalEffects.CubicInterpolate(p1.z, p2.z, p3.z, p4.z, progress)
2222+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-50), 0), 0.7)
2223-
                                        local rx = GraphicalEffects.CubicInterpolate(r1.x, r2.x, r3.x, r4.x, progress)
2223+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.7)
2224-
                                        local ry = GraphicalEffects.CubicInterpolate(r1.y, r2.y, r3.y, r4.y, progress)
2224+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.7)
2225-
                                        local rz = GraphicalEffects.CubicInterpolate(r1.z, r2.z, r3.z, r4.z, progress)
2225+
					if Debounces.on == false then break end
2226-
                                        local cframe = CFrame.new(px, py, pz) * CFrame.Angles(rx, ry, rz)
2226+
					rs:wait()
2227-
                                        joint.C0 = v0[1] * cframe
2227+
				end
2228-
                                        joint.C1 = v0[2] * cframe:inverse()
2228+
				Shell()
2229
				shell2.Transparency = 0
2230-
                                RunService.Stepped:wait()
2230+
				shell.Transparency = 1
2231
				for i = 1, 10 do
2232
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2233
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2234
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.7)
2235-
 
2235+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2236-
GraphicalEffects.LASER_WIDTH = 0.15
2236+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(-50),0), 0.7)
2237-
GraphicalEffects.LASER_MAGIC_CIRCLE_DISTANCE = 6.25
2237+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(50), 0), 0.7)
2238-
GraphicalEffects.laser_data = {}
2238+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.7)
2239-
--GraphicalEffects.fragmentation = {}
2239+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.7)
2240-
function GraphicalEffects.AnimateLaserOfDeath(data)
2240+
					if Debounces.on == false then break end
2241-
        local frame, directionOrientation, direction, magic_circle_model, laser_part, laser_mesh, magic_circle_part, magic_circle_light,
2241+
					rs:wait()
2242-
 
2242+
				end
2243-
magic_circle_decal_back, magic_circle_decal_front, sound, laser_scale, fragmentation_size, duration, laser_lights, laser_effects, stay, light_effects =
2243+
				Shell()
2244-
 
2244+
				shell.Transparency = 0
2245-
unpack(data)
2245+
				shell2.Transparency = 1
2246-
        local laser_color = laser_part.Color
2246+
				for i = 1, 10 do
2247-
        frame = frame + 1
2247+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2248-
        data[1] = frame
2248+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2249-
        local transparency = (frame / duration) ^ stay
2249+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2250-
        local opacity = 1 - transparency
2250+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.7)
2251-
        if frame == 2 then
2251+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(50),0), 0.7)
2252-
                sound:Play()
2252+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-50), 0), 0.7)
2253
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.7)
2254-
        if frame == duration then
2254+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.7)
2255-
                pcall(Game.Destroy, magic_circle_model)
2255+
					if Debounces.on == false then break end
2256-
                GraphicalEffects.laser_data[data] = nil
2256+
					rs:wait()
2257
				end
2258-
                if magic_circle_model.Parent ~= Workspace then
2258+
				Shell()
2259-
                        pcall(Utility.SetProperty, magic_circle_model, "Parent", Workspace)
2259+
				shell2.Transparency = 0
2260
				shell.Transparency = 1
2261-
                local laser_distance = 0
2261+
				for i = 1, 10 do
2262-
                local origin = chatAdornee.CFrame
2262+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2263-
                if not light_effects then
2263+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2264-
                        direction = (origin * directionOrientation - origin.p).unit
2264+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.7)
2265
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.7)
2266-
                local magic_circle_position = origin.p + direction * GraphicalEffects.LASER_MAGIC_CIRCLE_DISTANCE
2266+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(-50),0), 0.7)
2267-
                local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction) * CFrame.Angles(0, 0, math.tau * frame /
2267+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(50), 0), 0.7)
2268-
 
2268+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(-20)), 0.7)
2269-
25)
2269+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(20)), 0.7)
2270-
                local loop_scale = (laser_scale - 1) / 10
2270+
					if Debounces.on == false then break end
2271-
                for x_offset = -loop_scale, loop_scale, 2 do
2271+
					rs:wait()
2272-
                        for y_offset = -loop_scale, loop_scale, 2 do
2272+
				end
2273-
                                local origin_position = magic_circle_cframe * Vector3.new(x_offset, y_offset, 0)
2273+
				Shell()
2274-
                                for index = 1, 8 do
2274+
				shell.Transparency = 0
2275-
                                        local part, position
2275+
				shell2.Transparency = 1
2276-
                                        for ray_index = 1, 10 do
2276+
				for i = 1, 10 do
2277-
                                                local ray = Ray.new(origin_position + direction * (999 * (ray_index - 1)), direction * 999)
2277+
					shell.CFrame = rarm.CFrame * CFrame.new(0,-1,0)
2278-
                                                part, position = Workspace:FindPartOnRay(ray, magic_circle_model)
2278+
					shell2.CFrame = larm.CFrame * CFrame.new(0,-1,0)
2279-
                                                if part then
2279+
					rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.7)
2280-
                                                        break
2280+
					larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.7)
2281-
                                                end
2281+
					hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(50),0), 0.7)
2282-
                                        end
2282+
					torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-50), 0), 0.7)
2283-
                                        if part then
2283+
					lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(0), math.rad(-20)), 0.7)
2284-
                                                laser_distance = (position - origin_position).magnitude
2284+
					rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(0), math.rad(20)), 0.7)
2285-
                                                if frame % 8 == 1 and index == 1 then
2285+
					if Debounces.on == false then break end
2286-
                                                        Instance.new("Explosion", Workspace).Position = position
2286+
					rs:wait()
2287-
                                                end
2287+
				end
2288-
                                                if not part:IsA("Terrain") then
2288+
				shell.Transparency = 1
2289-
                                                        pcall(part.BreakJoints, part)
2289+
			if Debounces.CanAttack == false then
2290-
                                                        local is_block = part:IsA("Part") and part.Shape == Enum.PartType.Block
2290+
				Debounces.CanAttack = true
2291-
                                                        local mass = part:GetMass()
2291+
				Debounces.NoIdl = false
2292-
                                                        local size = part.Size
2292+
				Debounces.on = false
2293-
                                                        if (is_block and ((size.X < fragmentation_size and size.Y < fragmentation_size and size.Z <
2293+
			end
2294-
 
2294+
2295-
fragmentation_size) or (not part.Anchored and mass < 750))) or (not is_block and mass < 250000) then
2295+
2296-
                                                                local part_transparency = math.max(part.Transparency + 0.007 * fragmentation_size, 0.5)
2296+
2297-
                                                                if part_transparency >= 0.5 then -- temporarily to minimize debris
2297+
----------------------------------------------------
2298-
                                                                        pcall(Game.Destroy, part)
2298+
Search = false
2299-
                                                                else
2299+
mouse.KeyDown:connect(function(key)
2300-
                                                                        local cframe = part.CFrame
2300+
	if key == "n" then
2301-
                                                                        part.Anchored = false
2301+
		if Search == false then
2302-
                                                                        part.BrickColor = BrickColor.new("Medium stone grey")
2302+
			Search = true
2303-
                                                                        part.CanCollide = true
2303+
			for i,v in pairs(game.Players:getPlayers()) do
2304-
                                                                        if part:IsA("FormFactorPart") then
2304+
				if v.Name~=char.Name then
2305-
                                                                                part.FormFactor = "Custom"
2305+
					for j,k in pairs(v.Character:GetChildren()) do
2306-
                                                                        end
2306+
						if k:IsA("BasePart") and k.Transparency >= 1 then
2307-
                                                                        part.Size = size - Vector3.new(0.135, 0.135, 0.135) * fragmentation_size
2307+
							bawx=Instance.new("SelectionBox",cam)
2308-
                                                                        part.Transparency = part_transparency
2308+
							bawx.Color = BrickColor.new("Bright red")
2309-
                                                                        part.CFrame = cframe + direction * 5
2309+
							bawx.Transparency = .5
2310-
                                                                        part.Velocity = part.Velocity + direction * 40
2310+
							bawx.Adornee = k
2311-
                                                                end
2311+
						end
2312-
                                                        elseif is_block then
2312+
2313-
                                                                local parts = {part}
2313+
2314-
                                                                local model = Instance.new("Model", part.Parent)
2314+
2315-
                                                                model.Name = "Fragments"
2315+
		elseif Search == true then
2316-
                                                                if size.X >= fragmentation_size then
2316+
			Search = false
2317-
                                                                        size = Vector3.new(0.5, 1, 1) * size
2317+
			for i, v in pairs(cam:GetChildren()) do
2318-
                                                                        local archivable = part.Archivable
2318+
				if v:IsA("SelectionBox") then
2319-
                                                                        local cframe = part.CFrame
2319+
					v:Destroy()
2320-
                                                                        part.FormFactor = "Custom"
2320+
				end
2321-
                                                                        part.Size = size
2321+
			end
2322-
                                                                        part.Archivable = true
2322+
	    end
2323-
                                                                        local part_clone = part:Clone()
2323+
2324-
                                                                        part.Archivable = archivable
2324+
2325-
                                                                        part_clone.Archivable = archivable
2325+
----------------------------------------------------
2326-
                                                                        part.CFrame = cframe * CFrame.new(-0.5 * size.X, 0, 0)
2326+
Grab = false
2327-
                                                                        part_clone.CFrame = cframe * CFrame.new(0.5 * size.X, 0, 0)
2327+
mouse.KeyDown:connect(function(key)
2328-
                                                                        part_clone.Parent = model
2328+
    if key == "z" then
2329-
                                                                        parts[2] = part_clone
2329+
        Debounces.on = true
2330-
                                                                end
2330+
        Debounces.NoIdl = true
2331-
                                                                if size.Y >= fragmentation_size then
2331+
		Debounces.ks = true
2332-
                                                                        size = Vector3.new(1, 0.5, 1) * size
2332+
        if Grab == false then
2333-
                                                                        for part_index = 1, #parts do
2333+
        gp = nil
2334-
                                                                                local part = parts[part_index]
2334+
		for i = 1, 20 do
2335-
                                                                                local archivable = part.Archivable
2335+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.65,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(110)), 0.2)
2336-
                                                                                local cframe = part.CFrame
2336+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.65,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-110)), 0.2)
2337-
                                                                                part.FormFactor = "Custom"
2337+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(0),0), 0.2)
2338-
                                                                                part.Size = size
2338+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(0), 0), 0.2)
2339-
                                                                                part.Archivable = true
2339+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(30), math.rad(-20)), 0.2)
2340-
                                                                                local part_clone = part:Clone()
2340+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(-15), math.rad(20)), 0.2)
2341-
                                                                                part.Archivable = archivable
2341+
			if Debounces.on == false then break end
2342-
                                                                                part_clone.Archivable = archivable
2342+
			rs:wait()
2343-
                                                                                part.CFrame = cframe * CFrame.new(0, -0.5 * size.Y, 0)
2343+
2344-
                                                                                part_clone.CFrame = cframe * CFrame.new(0, 0.5 * size.Y, 0)
2344+
        con1=larm.Touched:connect(function(hit) -- this is grab
2345-
                                                                                part_clone.Parent = model
2345+
            ht = hit.Parent
2346-
                                                                                table.insert(parts, part_clone)
2346+
            hum1=ht:FindFirstChild('Humanoid')
2347-
                                                                        end
2347+
            if hum1 ~= nil then
2348-
                                                                end
2348+
			    if Debounces.ks==true then
2349-
                                                                if size.Z >= fragmentation_size then
2349+
                z = Instance.new("Sound",hed)
2350-
                                                                        size = Vector3.new(1, 1, 0.5) * size
2350+
                z.SoundId = "rbxassetid://169380525"
2351-
                                                                        for part_index = 1, #parts do
2351+
                z.Volume = 1
2352-
                                                                                local part = parts[part_index]
2352+
                z:Play()
2353-
                                                                                local archivable = part.Archivable
2353+
                Debounces.ks=false
2354-
                                                                                local cframe = part.CFrame
2354+
				end
2355-
                                                                                part.FormFactor = "Custom"
2355+
                hum1.PlatformStand=true
2356-
                                                                                part.Size = size
2356+
                gp = ht
2357-
                                                                                part.Archivable = true
2357+
                Grab = true
2358-
                                                                                local part_clone = part:Clone()
2358+
                asd=weld5(root,ht:FindFirstChild("Torso"),CFrame.new(0,0,-2.4),CFrame.new(0,0,0))
2359-
                                                                                part.Archivable = archivable
2359+
                asd.Parent = larm
2360-
                                                                                part_clone.Archivable = archivable
2360+
                asd.Name = "asd"
2361-
                                                                                part.CFrame = cframe * CFrame.new(0, 0, -0.5 * size.Z)
2361+
                asd.C0=asd.C0*CFrame.Angles(math.rad(0),math.rad(180),0)
2362-
                                                                                part_clone.CFrame = cframe * CFrame.new(0, 0, 0.5 * size.Z)
2362+
            --[[elseif hum1 == nil then
2363-
                                                                                part_clone.Parent = model
2363+
                con1:disconnect()
2364-
                                                                                table.insert(parts, part_clone)
2364+
                wait() return]]--
2365-
                                                                        end
2365+
2366-
                                                                end
2366+
2367-
                                                                for _, part in ipairs(parts) do
2367+
		for i = 1, 20 do
2368-
                                                                        part:MakeJoints()
2368+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.3,0.65,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(-40)), 0.2)
2369-
                                                                end
2369+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.3,0.65,0)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(40)), 0.2)
2370-
                                                        else
2370+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-10),math.rad(0),0), 0.2)
2371-
                                                                break
2371+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(0), 0), 0.2)
2372-
                                                        end
2372+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(10), math.rad(30), math.rad(-20)), 0.2)
2373-
                                                end
2373+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10), math.rad(-15), math.rad(20)), 0.2)
2374-
                                        else
2374+
			if Debounces.on == false then break end
2375-
                                                laser_distance = 9990
2375+
			rs:wait()
2376-
                                                break
2376+
2377-
                                        end
2377+
	if hum1 == nil then
2378
    Debounces.on = false
2379
    Debounces.NoIdl = false
2380
	end
2381-
                local laser_cframe = magic_circle_cframe * CFrame.Angles(-0.5 * math.pi, 0, 0)
2381+
	con1:disconnect()
2382-
                local laser_width = GraphicalEffects.LASER_WIDTH * opacity * laser_scale
2382+
    elseif Grab == true then
2383-
                local laser_mesh_offset = Vector3.new(0, 0.5 * laser_distance, 0)      
2383+
        Grab = false
2384-
                laser_part.CFrame = laser_cframe
2384+
		Punch()
2385-
                if laser_effects then
2385+
		z = Instance.new("Sound",hed)
2386-
                        local laser_effect_data_1, laser_effect_data_2 = laser_effects[1], laser_effects[2]
2386+
		z.SoundId = "rbxassetid://169380525"
2387-
                        local laser_effect_1, laser_effect_mesh_1 = laser_effect_data_1[1], laser_effect_data_1[2]
2387+
		z.Pitch = ptz[math.random(1,#ptz)]
2388-
                        local laser_effect_2, laser_effect_mesh_2 = laser_effect_data_2[1], laser_effect_data_2[2]
2388+
		z.Volume = 1
2389-
                        laser_effect_1.CFrame = laser_cframe
2389+
		z:Play()
2390-
                        laser_effect_2.CFrame = laser_cframe
2390+
		for i = 1, 10 do
2391-
                        laser_effect_mesh_1.Offset = laser_mesh_offset
2391+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.4,-.5)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-50)), 0.7)
2392-
                        laser_effect_mesh_2.Offset = laser_mesh_offset
2392+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.7)
2393-
                        local game_time = time()
2393+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.4)
2394-
                        local effect_scale_1 = 0.5 + 0.5 * math.sin(16 * math.pi * game_time)
2394+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.6)
2395-
                        local effect_scale_2 = 0.5 + 0.5 * math.cos(16 * math.pi * game_time)
2395+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2396-
                        laser_effect_mesh_1.Scale = 5 * Vector3.new(laser_width * effect_scale_1, laser_distance, laser_width * effect_scale_1)
2396+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2397-
                        laser_effect_mesh_2.Scale = 5 * Vector3.new(laser_width * effect_scale_2, laser_distance, laser_width * effect_scale_2)
2397+
			if Debounces.on == false then break end
2398-
                        laser_width = laser_width * 0.25
2398+
			rs:wait()
2399
		end
2400-
                laser_mesh.Offset = laser_mesh_offset                  
2400+
		Punch()
2401-
                laser_mesh.Scale = 5 * Vector3.new(laser_width, laser_distance, laser_width)
2401+
		z = Instance.new("Sound",hed)
2402-
                magic_circle_part.CFrame = magic_circle_cframe
2402+
		z.SoundId = "rbxassetid://169380525"
2403-
                magic_circle_light.Brightness = opacity
2403+
		z.Pitch = ptz[math.random(1,#ptz)]
2404-
                magic_circle_decal_back.Transparency = transparency
2404+
		z.Volume = 1
2405-
                magic_circle_decal_front.Transparency = transparency
2405+
		z:Play()
2406-
                if light_effects then
2406+
		for i = 1, 10 do
2407-
                        for index, data in ipairs(laser_lights) do
2407+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(110)), 0.6)
2408-
                                local laser_spotlight_part, laser_spotlight = data[1], data[2]
2408+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(20)), 0.7)
2409-
                                local laser_spotlight_offset = 30 * (index - 1)
2409+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-90),0), 0.4)
2410-
                                if laser_spotlight_offset <= laser_distance then
2410+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.65)
2411-
                                        laser_spotlight_part.CFrame = magic_circle_cframe * CFrame.new(0, 0, -laser_spotlight_offset)
2411+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2412-
                                        laser_spotlight.Brightness = opacity
2412+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2413-
                                        laser_spotlight.Enabled = true
2413+
			if Debounces.on == false then break end
2414-
                                else
2414+
			rs:wait()
2415-
                                        laser_spotlight.Enabled = false
2415+
2416
		Punch()
2417
		z = Instance.new("Sound",hed)
2418
		z.SoundId = "rbxassetid://169380525"
2419
		z.Pitch = ptz[math.random(1,#ptz)]
2420
		z.Volume = 1
2421-
function GraphicalEffects.ShootLaserOfDeath(target, data)
2421+
		z:Play()
2422-
        if chatAdornee then
2422+
		for i = 1, 10 do
2423-
                data = data or {}
2423+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.4,-.5)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-50)), 0.7)
2424-
                local brickcolor = data.brickcolor or BrickColor.new("Really black")
2424+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.7)
2425-
                local duration = data.duration or 40
2425+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.4)
2426-
                local fragmentation_size = data.fragmentation_size or 3
2426+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.6)
2427-
                local laser_scale = data.laser_scale or 1
2427+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2428-
                local light_color = data.light_color or Color3.new(1, 0.5, 1)
2428+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2429-
                local magic_circle_image = data.magic_circle_image or "rbxassetid://122610943"
2429+
			if Debounces.on == false then break end
2430-
                local magic_circle_scale = data.magic_circle_scale or 1
2430+
			rs:wait()
2431-
                local sound_volume = data.sound_volume or 1 / 3
2431+
2432-
                local special_effects = data.special_effects
2432+
		Punch()
2433-
                local stay = data.stay or 4
2433+
		z = Instance.new("Sound",hed)
2434-
                local origin = chatAdornee.CFrame
2434+
		z.SoundId = "rbxassetid://169380525"
2435-
                local directionOrientation = origin:pointToObjectSpace(target)
2435+
		z.Pitch = ptz[math.random(1,#ptz)]
2436-
                local direction = (target - origin.p).unit
2436+
		z.Volume = 1
2437-
                local magic_circle_position = origin.p + direction * GraphicalEffects.LASER_MAGIC_CIRCLE_DISTANCE
2437+
		z:Play()
2438-
                local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction)
2438+
		for i = 1, 10 do
2439-
                local magic_circle_model = Instance.new("Model")
2439+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(110)), 0.6)
2440-
                local laser_part = Instance.new("Part", magic_circle_model)
2440+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(20)), 0.7)
2441-
                local laser_mesh = Instance.new("CylinderMesh", laser_part)
2441+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-90),0), 0.4)
2442-
                local magic_circle_part = Instance.new("Part", magic_circle_model)
2442+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.65)
2443-
                local magic_circle_mesh = Instance.new("BlockMesh", magic_circle_part)
2443+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2444-
                local magic_circle_light = Instance.new("PointLight", magic_circle_part)
2444+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2445-
                local magic_circle_decal_back = Instance.new("Decal", magic_circle_part)
2445+
			if Debounces.on == false then break end
2446-
                local magic_circle_decal_front = Instance.new("Decal", magic_circle_part)
2446+
			rs:wait()
2447-
                local sound = Instance.new("Sound", magic_circle_part)
2447+
2448-
                sound.Pitch = 1.25
2448+
		Punch()
2449-
                sound.SoundId = "rbxassetid://2248511"
2449+
		z = Instance.new("Sound",hed)
2450-
                sound.Volume = sound_volume
2450+
		z.SoundId = "rbxassetid://169380525"
2451-
                magic_circle_model.Archivable = false
2451+
		z.Pitch = ptz[math.random(1,#ptz)]
2452-
                laser_part.Anchored = true
2452+
		z.Volume = 1
2453-
                laser_part.BottomSurface = "Smooth"
2453+
		z:Play()
2454-
                laser_part.BrickColor = brickcolor
2454+
		for i = 1, 10 do
2455-
                laser_part.CanCollide = false
2455+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.4,-.5)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-50)), 0.7)
2456-
                laser_part.CFrame = magic_circle_cframe * CFrame.Angles(-0.5 * math.pi, 0, 0)
2456+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.7)
2457-
                laser_part.FormFactor = "Custom"
2457+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.4)
2458-
                laser_part.Locked = true
2458+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.6)
2459-
                laser_part.Size = Vector3.new(0.2, 0.2, 0.2)
2459+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2460-
                laser_part.TopSurface = "Smooth"
2460+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2461-
                laser_mesh.Offset = Vector3.new(0, 0, 0)
2461+
			if Debounces.on == false then break end
2462-
                laser_mesh.Name = "Mesh"
2462+
			rs:wait()
2463-
                laser_mesh.Scale = 5 * laser_scale * Vector3.new(GraphicalEffects.LASER_WIDTH, 0, GraphicalEffects.LASER_WIDTH)
2463+
2464-
                magic_circle_part.Anchored = true
2464+
		Punch()
2465-
                magic_circle_part.BottomSurface = "Smooth"
2465+
		z = Instance.new("Sound",hed)
2466-
                magic_circle_part.CanCollide = false
2466+
		z.SoundId = "rbxassetid://169380525"
2467-
                magic_circle_part.CFrame = magic_circle_cframe
2467+
		z.Pitch = ptz[math.random(1,#ptz)]
2468-
                magic_circle_part.FormFactor = "Custom"
2468+
		z.Volume = 1
2469-
                magic_circle_part.Locked = true
2469+
		z:Play()
2470-
                magic_circle_part.Size = Vector3.new(0.2, 0.2, 0.2)
2470+
		for i = 1, 10 do
2471-
                magic_circle_part.TopSurface = "Smooth"
2471+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(110)), 0.6)
2472-
                magic_circle_part.Transparency = 1
2472+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(20)), 0.7)
2473-
                magic_circle_mesh.Scale = Vector3.new(60, 60, 0) * magic_circle_scale
2473+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-90),0), 0.4)
2474-
                magic_circle_light.Color = light_color
2474+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.65)
2475-
                magic_circle_light.Range = 16 * magic_circle_scale
2475+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2476-
                magic_circle_light.Shadows = true
2476+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2477-
                magic_circle_decal_back.Face = "Back"
2477+
			if Debounces.on == false then break end
2478-
                magic_circle_decal_back.Texture = magic_circle_image
2478+
			rs:wait()
2479-
                magic_circle_decal_front.Face = "Front"
2479+
2480-
                magic_circle_decal_front.Texture = magic_circle_image
2480+
		Punch()
2481-
                magic_circle_model.Parent = Workspace
2481+
		z = Instance.new("Sound",hed)
2482-
                local laser_color = brickcolor.Color
2482+
		z.SoundId = "rbxassetid://169380525"
2483-
                local laser_lights = {}
2483+
		z.Pitch = ptz[math.random(1,#ptz)]
2484-
                local light_effects = laser_color.r + laser_color.g + laser_color.b > 0.25
2484+
		z.Volume = 1
2485-
                if light_effects then
2485+
		z:Play()
2486-
                        local laser_spotlight_part_template = Instance.new("Part")
2486+
		for i = 1, 10 do
2487-
                        local laser_spotlight_light_template = Instance.new("SpotLight", laser_spotlight_part_template)
2487+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.4,-.5)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-50)), 0.7)
2488-
                        laser_spotlight_part_template.Anchored = true
2488+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.7)
2489-
                        laser_spotlight_part_template.Anchored = true
2489+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.4)
2490-
                        laser_spotlight_part_template.BottomSurface = "Smooth"
2490+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.6)
2491-
                        laser_spotlight_part_template.CanCollide = false
2491+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2492-
                        laser_spotlight_part_template.FormFactor = "Custom"
2492+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2493-
                        laser_spotlight_part_template.Locked = true
2493+
			if Debounces.on == false then break end
2494-
                        laser_spotlight_part_template.Size = Vector3.new(0.2, 0.2, 0.2)
2494+
			rs:wait()
2495-
                        laser_spotlight_part_template.TopSurface = "Smooth"
2495+
2496-
                        laser_spotlight_part_template.Transparency = 1
2496+
		Punch()
2497-
                        laser_spotlight_light_template.Angle = 45
2497+
		z = Instance.new("Sound",hed)
2498-
                        laser_spotlight_light_template.Color = laser_color
2498+
		z.SoundId = "rbxassetid://169380525"
2499-
                        laser_spotlight_light_template.Enabled = true
2499+
		z.Pitch = ptz[math.random(1,#ptz)]
2500-
                        laser_spotlight_light_template.Name = "Light"
2500+
		z.Volume = 1
2501-
                        laser_spotlight_light_template.Range = 60
2501+
		z:Play()
2502-
                        for index = 1, 40 do
2502+
		for i = 1, 10 do
2503-
                                local laser_spotlight_part = laser_spotlight_part_template:Clone()
2503+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(110)), 0.6)
2504-
                                laser_spotlight_part.CFrame = magic_circle_cframe * CFrame.new(0, 0, -30 * (index - 1))
2504+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(20)), 0.7)
2505-
                                laser_spotlight_part.Parent = magic_circle_model
2505+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-90),0), 0.4)
2506-
                                laser_lights[index] = {laser_spotlight_part, laser_spotlight_part.Light}
2506+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.65)
2507
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2508
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2509-
                local laser_effects
2509+
			if Debounces.on == false then break end
2510-
                if special_effects then
2510+
			rs:wait()
2511-
                        laser_effects = {}
2511+
2512-
                        local laser_effect_1 = laser_part:Clone()
2512+
		Punch()
2513-
                        laser_effect_1.BrickColor = special_effects
2513+
		z = Instance.new("Sound",hed)
2514-
                        laser_effect_1.Transparency = 0.5
2514+
		z.SoundId = "rbxassetid://169380525"
2515-
                        local laser_effect_2 = laser_effect_1:Clone()
2515+
		z.Pitch = ptz[math.random(1,#ptz)]
2516-
                        laser_effects[1], laser_effects[2] = {laser_effect_1, laser_effect_1.Mesh}, {laser_effect_2, laser_effect_2.Mesh}
2516+
		z.Volume = 1
2517-
                        laser_effect_1.Parent = magic_circle_model
2517+
		z:Play()
2518-
                        laser_effect_2.Parent = magic_circle_model
2518+
		for i = 1, 10 do
2519
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.4,-.5)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-50)), 0.7)
2520-
                GraphicalEffects.laser_data[{0, directionOrientation, direction, magic_circle_model, laser_part, laser_mesh, magic_circle_part,
2520+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.7)
2521-
 
2521+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.4)
2522-
magic_circle_light, magic_circle_decal_back, magic_circle_decal_front, sound, laser_scale, fragmentation_size, duration, laser_lights, laser_effects, stay,
2522+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.6)
2523-
 
2523+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2524-
light_effects}] = true
2524+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2525
			if Debounces.on == false then break end
2526
			rs:wait()
2527-
 
2527+
2528-
function GraphicalEffects.SpawnSapientRock(position)
2528+
		Punch()
2529-
        local part = Instance.new("Part", Workspace)
2529+
		z = Instance.new("Sound",hed)
2530-
        local size = 8 + math.random(0, 5)
2530+
		z.SoundId = "rbxassetid://169380525"
2531-
        part.BottomSurface = "Smooth"
2531+
		z.Pitch = ptz[math.random(1,#ptz)]
2532-
        part.TopSurface = "Smooth"
2532+
		z.Volume = 1
2533-
        part.Material = "Slate"
2533+
		z:Play()
2534-
        part.Locked = true
2534+
		for i = 1, 10 do
2535-
        part.Shape = "Ball"
2535+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(110)), 0.6)
2536-
        part.FormFactor = "Custom"
2536+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(20)), 0.7)
2537-
        part.Size = Vector3.new(size, size, size)
2537+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-90),0), 0.4)
2538-
        part.Position = position
2538+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.65)
2539-
        local bodypos = Instance.new("BodyPosition", part)
2539+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2540-
        bodypos.maxForce = Vector3.new(0, 0, 0)
2540+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2541-
        local angry = false
2541+
			if Debounces.on == false then break end
2542-
        local damage_ready = true
2542+
			rs:wait()
2543-
        local torso_following
2543+
2544-
        local torso_changed = -1000
2544+
		Punch()
2545-
        local touched_conn = part.Touched:connect(function(hit)
2545+
		z = Instance.new("Sound",hed)
2546-
                local character = hit.Parent
2546+
		z.SoundId = "rbxassetid://169380525"
2547-
                if character then
2547+
		z.Pitch = ptz[math.random(1,#ptz)]
2548-
                        local humanoid
2548+
		z.Volume = 1
2549-
                        for _, child in ipairs(character:GetChildren()) do
2549+
		z:Play()
2550-
                                if child:IsA("Humanoid") then
2550+
		for i = 1, 10 do
2551-
                                        humanoid = child
2551+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.2,0.4,-.5)*CFrame.Angles(math.rad(80),math.rad(0),math.rad(-50)), 0.7)
2552-
                                        break
2552+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(-110)), 0.7)
2553
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(90),0), 0.4)
2554
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(-90), 0), 0.6)
2555-
                        if humanoid then
2555+
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2556-
                                if angry then
2556+
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2557-
                                        if damage_ready then
2557+
			if Debounces.on == false then break end
2558-
                                                damage_ready = false
2558+
			rs:wait()
2559-
                                                humanoid:TakeDamage(100)
2559+
2560-
                                                wait(1)
2560+
		Punch()
2561-
                                                damage_ready = true
2561+
		z = Instance.new("Sound",hed)
2562-
                                                angry = false
2562+
		z.SoundId = "rbxassetid://169380525"
2563-
                                                part.BrickColor = BrickColor.new("Medium stone grey")
2563+
		z.Pitch = ptz[math.random(1,#ptz)]
2564-
                                        end
2564+
		z.Volume = 1
2565-
                                else
2565+
		z:Play()
2566-
                                        local torso = humanoid.Torso
2566+
		for i = 1, 10 do
2567-
                                        if torso then
2567+
			rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.7,0)*CFrame.Angles(math.rad(0),math.rad(0),math.rad(110)), 0.6)
2568-
                                                torso_following = torso
2568+
			larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.7,0)*CFrame.Angles(math.rad(-40),math.rad(0),math.rad(20)), 0.7)
2569-
                                                torso_changed = tick()
2569+
			hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(-90),0), 0.4)
2570-
                                        end
2570+
			torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.65)
2571
			lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-10)), 0.2)
2572
			rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(10)), 0.2)
2573
			if Debounces.on == false then break end
2574
			rs:wait()
2575-
        TaskScheduler.Start(function()
2575+
2576-
                while part.Parent == Workspace do
2576+
		con1:disconnect()
2577-
                        if torso_following then
2577+
		Debounces.on = false
2578-
                                bodypos.position = torso_following.Position
2578+
		Debounces.NoIdl = false
2579-
                                if tick() - torso_changed > 60 or not torso_following.Parent then
2579+
		if gp ~= nil then
2580-
                                        torso_following = nil
2580+
			gp:FindFirstChild("Torso").Velocity = hed.CFrame.lookVector * 140
2581-
                                        bodypos.maxForce = Vector3.new(0, 0, 0)
2581+
				for i,v in pairs(larm:GetChildren()) do
2582-
                                        angry = false
2582+
					if v.Name == "asd" and v:IsA("Weld") then
2583-
                                        part.BrickColor = BrickColor.new("Medium stone grey")
2583+
				v:Remove()
2584-
                                else
2584+
			end
2585-
                                        local speed = angry and Vector3.new(16, 16, 16) or Vector3.new(6, 0, 6)
2585+
2586-
                                        bodypos.maxForce = part:GetMass() * speed
2586+
        --[[bv = Instance.new("BodyVelocity",gp:FindFirstChild("Torso"))
2587-
                                        if part.Position.Y < -250 then
2587+
        bv.maxForce = Vector3.new(400000, 400000, 400000)
2588-
                                                part.Velocity = Vector3.new()
2588+
        bv.P = 125000
2589-
                                                part.Position = torso_following.Position + Vector3.new(0, 80, 0)
2589+
        bv.velocity = char.Head.CFrame.lookVector * 200]]--
2590-
                                                part.BrickColor = BrickColor.new("Bright red")
2590+
        hum1=nil
2591-
                                                angry = true
2591+
		ht=nil
2592-
                                                torso_changed = tick()
2592+
        Debounces.on = false
2593-
                                        end
2593+
        Debounces.NoIdl = false
2594
        elseif ht == nil then wait()
2595
        Grab = false
2596-
                        RunService.Stepped:wait()
2596+
        Debounces.on = false
2597
        Debounces.NoIdl = false
2598-
                touched_conn:disconnect()
2598+
2599
        end
2600-
        TaskScheduler.Start(function()
2600+
2601-
                while part.Parent == Workspace do
2601+
2602-
                        wait(25 + math.random() * 10)
2602+
----------------------------------------------------
2603-
                        local next_size = 8 + math.random() * 5
2603+
mouse.KeyDown:connect(function(key)
2604-
                        if math.random(100) == 1 then
2604+
    if string.byte(key) == 52 then
2605-
                                next_size = next_size * (2 + 6 * math.random())
2605+
        char.Humanoid.WalkSpeed = 60
2606
    end
2607-
                        next_size = math.floor(next_size + 0.5)
2607+
2608-
                        local start_time = tick()
2608+
mouse.KeyUp:connect(function(key)
2609-
                        local mesh = Instance.new("SpecialMesh", part)
2609+
    if string.byte(key) == 52 then
2610-
                        mesh.MeshType = "Sphere"
2610+
        char.Humanoid.WalkSpeed = 8
2611-
                        repeat
2611+
2612-
                                local elapsed_time = tick() - start_time
2612+
2613-
                                local alpha = math.cos(elapsed_time * math.pi * 0.5)
2613+
-------------------------------
2614-
                                local interpolated_size = size * alpha + next_size * (1 - alpha)
2614+
local animpose = "Idle"
2615-
                                local size_vector = Vector3.new(interpolated_size, interpolated_size, interpolated_size)
2615+
local lastanimpose = "Idle"
2616-
                                local cframe = part.CFrame
2616+
local sine = 0
2617-
                                part.Size = size_vector
2617+
local change = 1
2618-
                                part.CFrame = cframe
2618+
local val = 0
2619-
                                mesh.Scale = size_vector / part.Size
2619+
local ffing = false
2620-
                                RunService.Stepped:wait()
2620+
-------------------------------
2621-
                        until tick() - start_time >= 1
2621+
game:GetService("RunService").RenderStepped:connect(function()
2622-
                        mesh:Destroy()
2622+
--[[if char.Humanoid.Jump == true then
2623-
                        local cframe = part.CFrame
2623+
jump = true
2624-
                        part.Size = Vector3.new(next_size, next_size, next_size)
2624+
2625-
                        part.CFrame = cframe
2625+
jump = false
2626-
                        size = next_size
2626+
end]]
2627
char.Humanoid.FreeFalling:connect(function(f)
2628
if f then
2629
ffing = true
2630-
 
2630+
2631-
function GraphicalEffects.MainLoop()
2631+
ffing = false
2632-
        RunService.Stepped:wait()
2632+
2633-
        for data in pairs(GraphicalEffects.magicCircleData) do
2633+
2634-
                GraphicalEffects.AnimateMagicCircle(data)
2634+
sine = sine + change
2635
if jumpn == true then
2636-
        for data in pairs(GraphicalEffects.laser_data) do
2636+
animpose = "Jumping"
2637-
                GraphicalEffects.AnimateLaserOfDeath(data)
2637+
elseif ffing == true then
2638
animpose = "Freefalling"
2639-
        for data in pairs(GraphicalEffects.missileData) do
2639+
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 2 then
2640-
                GraphicalEffects.AnimateMissile(data)
2640+
animpose = "Idle"
2641
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 20 then
2642
animpose = "Walking"
2643-
TaskScheduler.Start(function()
2643+
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude > 20 then
2644-
        while true do
2644+
animpose = "Running"
2645-
                GraphicalEffects.MainLoop()
2645+
2646
if animpose ~= lastanimpose then
2647
sine = 0
2648-
 
2648+
if Debounces.NoIdl == false then
2649-
PlayerControl = {};
2649+
if animpose == "Idle" then
2650-
 
2650+
for i = 1, 2 do
2651-
PlayerControl.fly_acceleration = 10
2651+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62,0)*CFrame.Angles(math.rad(-6),math.rad(-6),math.rad(8)), 0.4)
2652-
PlayerControl.fly_basespeed = 250
2652+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62,0)*CFrame.Angles(math.rad(-6),math.rad(6),math.rad(-8)), 0.4)
2653-
PlayerControl.fly_speed = PlayerControl.fly_basespeed
2653+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14),math.rad(0),0), 0.4)
2654-
PlayerControl.featherfallEnabled = true
2654+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(0), math.rad(0)), 0.4)
2655-
PlayerControl.pushable = false
2655+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-8)), 0.4)
2656-
PlayerControl.rolling = false
2656+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(8)), 0.4)
2657-
PlayerControl.rollingAngle = 0
2657+
2658-
PlayerControl.rollingOffset = 0
2658+
elseif animpose == "Walking" then
2659-
PlayerControl.rollingMaxOffset = 3
2659+
for i = 1, 2 do
2660-
PlayerControl.rollingSpeed = 1 / 50
2660+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(-16),math.rad(-12),math.rad(10+2*math.cos(sine/14))), 0.2)
2661-
PlayerControl.characterEnabled = false
2661+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(-16),math.rad(12),math.rad(-10-2*math.cos(sine/14))), 0.2)
2662-
PlayerControl.characterMode = "normal"
2662+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, -.2) * CFrame.Angles(math.rad(-14),0,0), 0.4)
2663-
local character = nil
2663+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-10),0, math.rad(0)), 0.05)
2664-
local flying, flyingMomentum, flyingTilt = false, Vector3.new(), 0
2664+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-8), 0, math.rad(-8)), 0.4)
2665-
local pose, regeneratingHealth, jumpDebounce = "Standing", false, false
2665+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-8), 0, math.rad(8)), 0.4)
2666-
-- TODO: make local variables public
2666+
2667-
local model, bodyColors, leftArmMesh, leftLegMesh, rightArmMesh, rightLegMesh, torsoMesh, wildcardHat, wildcardHandle, wildcardMesh, pants, shirt, humanoid,
2667+
elseif animpose == "Running" then
2668-
 
2668+
for i = 1, 2 do
2669-
head, leftArm, leftLeg, rightArm, rightLeg, torso, rootPart, rootJoint, face, soundFreeFalling, soundGettingUp, soundRunning, leftHip, leftShoulder,
2669+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(-20),math.rad(-14),math.rad(8+2*math.cos(sine/14))), 0.2)
2670-
 
2670+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(-20),math.rad(14),math.rad(-8-2*math.cos(sine/14))), 0.2)
2671-
rightHip, rightShoulder, neck, wildcardWeld, feetPart, feetWeld, feetTouchInterest, bodyGyro, bodyVelocity, headMesh, torsoLight
2671+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, -.2) * CFrame.Angles(math.rad(-10),0,0), 0.4)
2672-
local AnimateCharacter
2672+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(-20),0, math.rad(0)), 0.4)
2673-
local UserInterface = game:service'UserInputService'
2673+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-12), 0, math.rad(-7)), 0.4)
2674-
local chatBubbles = {}
2674+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-12), 0, math.rad(7)), 0.4)
2675-
local chatCharacterLimit = 240
2675+
2676-
function PlayerControl.CreateCharacter()
2676+
2677-
        local characterMode = PlayerControl.characterMode
2677+
2678-
        if characterMode == "normal" then
2678+
2679-
                if not PlayerControl.characterEnabled then
2679+
2680-
                        return
2680+
2681
lastanimpose = animpose
2682-
                local appearance = CharacterAppearance.GetDefaultAppearance()
2682+
if Debounces.NoIdl == false then
2683-
                local active = true
2683+
if animpose == "Idle" then
2684-
                local torsoCFrame = (torso and torso.CFrame) or PlayerControl.torso_cframe or CFrame.new(0, 10, 0)
2684+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62+0.1*math.cos(sine/14),0)*CFrame.Angles(math.rad(-6),math.rad(-6),math.rad(8+2*math.cos(sine/14))), 0.4)
2685-
                if torsoCFrame.p.Y < -450 then
2685+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62+0.1*math.cos(sine/14),0)*CFrame.Angles(math.rad(-6),math.rad(6),math.rad(-8-2*math.cos(sine/14))), 0.4)
2686-
                        torsoCFrame = CFrame.new(0, 10, 0)
2686+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,-.2)*CFrame.Angles(math.rad(-14+1*math.cos(sine/14)),math.rad(0),0), 0.2)
2687
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0-0.1*math.cos(sine/14), 0) * CFrame.Angles(0, math.rad(0), math.rad(0)), 0.05)
2688-
                local rootPartCFrame = (rootPart and rootPart.CFrame) or PlayerControl.torso_cframe or CFrame.new(0, 10, 0)
2688+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(-8-2*math.cos(sine/14))), 0.4)
2689-
                if rootPartCFrame.p.Y < -450 then
2689+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(8+2*math.cos(sine/14))), 0.4)
2690-
                        rootPartCFrame = CFrame.new(0, 10, 0)
2690+
elseif animpose == "Walking" then
2691
change = 1
2692-
                local cameraCFrame = Camera.CoordinateFrame
2692+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.55,0)*CFrame.Angles(math.rad(-16),math.rad(-12),math.rad(10+2*math.cos(sine/14))), 0.2)
2693-
                local connections = {}
2693+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.55,0)*CFrame.Angles(math.rad(-16),math.rad(12),math.rad(-10-2*math.cos(sine/14))), 0.2)
2694-
                local feetTouching = {}
2694+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, -.2) * CFrame.Angles(math.rad(-14),0,0), 0.4)
2695-
                local previousWalkSpeed = 0
2695+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 0-0.1*math.cos(sine/14), 0) * CFrame.Angles(math.rad(-10),0, math.rad(0)), 0.05)
2696-
                local prevLeftHip, prevLeftShoulder, prevRightHip, prevRightShoulder = leftHip, leftShoulder, rightHip, rightShoulder
2696+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-8), 0, math.rad(-8)), 0.4)
2697-
                model = Instance.new("Model")
2697+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-8), 0, math.rad(8)), 0.4)
2698-
                humanoid = Instance.new("Humanoid", model)
2698+
elseif animpose == "Running" then
2699-
                head = Instance.new("Part", model)
2699+
change = 1
2700-
                leftArm = Instance.new("Part", model)
2700+
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0, 1.5, 0) * CFrame.Angles  (math.rad(44), math.rad (0), math.rad(0)), 0.15)
2701-
                leftLeg = Instance.new("Part", model)
2701+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, 1-0.1*math.cos(sine/14), -1) * CFrame.Angles(math.rad(-  80),  math.rad(0), 0), 0.15)
2702-
                rightArm = Instance.new("Part", model)
2702+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(math.rad  (0), math.rad(50),  math.rad(-40)), 0.15)
2703-
                rightLeg = Instance.new("Part", model)
2703+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(math.rad(0),   math.rad(-50),  math.rad(40)), 0.15)
2704-
                torso = Instance.new("Part", model)
2704+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(8),   math.rad(0), math.rad(- 10)), .15)
2705-
                rootPart = Instance.new("Part", model)
2705+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(8),   math.rad(0), math.rad(10)),  .15)
2706-
                soundFallingDown = Instance.new("Sound", head)
2706+
elseif stanceToggle == "Floating" then
2707-
                soundFreeFalling = Instance.new("Sound", head)
2707+
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5,0.62+0.1*math.cos(sine/14),0)*CFrame.Angles(math.rad(-16),math.rad(-12),math.rad(10+2*math.cos(sine/14))), 0.2)
2708-
                soundGettingUp = Instance.new("Sound", head)
2708+
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.62+0.1*math.cos(sine/14),0)*CFrame.Angles(math.rad(-16),math.rad(12),math.rad(-10-2*math.cos(sine/14))), 0.2)
2709-
                soundJumping = Instance.new("Sound", head)
2709+
hed.Weld.C0 = CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(-14-4*math.cos(sine/14)),0,0)
2710-
                soundRunning = Instance.new("Sound", head)
2710+
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(-10-12*math.cos(sine/16)), 0, math.rad(-8)), 0.4)
2711-
                leftHip = Instance.new("Motor", torso)
2711+
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(-10-12*math.cos(sine/16)), 0, math.rad(8)), 0.4)
2712-
                leftShoulder = Instance.new("Motor", torso)
2712+
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1-0.4*math.cos(sine/14), -.2) * CFrame.Angles(math.rad(-15),0, math.rad(0)), 0.05)
2713-
                rightHip = Instance.new("Motor", torso)
2713+
2714-
                rightShoulder = Instance.new("Motor", torso)
2714+
2715-
                neck = Instance.new("Motor", torso)
2715+
2716-
                rootJoint = Instance.new("Motor", rootPart)
2716+
game.Workspace.OMGITABIRD.Humanoid.MaxHealth = math.huge
2717-
                feetPart = Instance.new("Part", model)
2717+
local a = Instance.new("ForceField")
2718-
                feetWeld = Instance.new("Weld", torso)
2718+
a.Parent = workspace.CancerousBleach
2719-
                bodyGyro = Instance.new("BodyGyro", rootPart)
2719+
wait(0)
2720-
                bodyVelocity = Instance.new("BodyVelocity", rootPart)
2720+
game.Workspace.OMGITABIRD.Humanoid.Health = math.huge
2721-
                model.Archivable = false
2721+
-----------------------------------------------------------------------------
2722-
                model.Name = user_name or Player.Name
2722+
2723-
                model.PrimaryPart = head
2723+
function Lightning(Part0,Part1,Times,Offset,Color,Thickness,Trans) -- Lightning module
2724-
                humanoid.LeftLeg = leftLeg
2724+
    --[[Part0 = Vector3 (Start pos)
2725-
                humanoid.RightLeg = rightLeg
2725+
		Part1 = Vector3 (End pos)
2726-
                humanoid.Torso = rootPart
2726+
		Times = number (Amount of lightning parts)
2727-
                head.CFrame = torsoCFrame * CFrame.new(0, 1.5, 0)
2727+
		Offset = number (Offset)
2728-
                head.FormFactor = "Symmetric"
2728+
		Color = color (brickcolor value)
2729-
                head.Locked = true
2729+
		Thickness = number (thickness)
2730-
                head.Name = "Head"
2730+
		Trans = number (transparency)
2731-
                head.Size = Vector3.new(2, 1, 1)
2731+
    ]]--
2732-
                head.TopSurface = "Smooth"
2732+
    local magz = (Part0 - Part1).magnitude
2733-
                leftArm.CanCollide = false
2733+
    local curpos = Part0
2734-
                leftArm.CFrame = torsoCFrame * CFrame.new(-1.5, 0, 0)
2734+
    local trz = {-Offset,Offset}
2735-
                leftArm.FormFactor = "Symmetric"
2735+
    for i=1,Times do
2736-
                leftArm.Locked = true
2736+
        local li = Instance.new("Part", torso)
2737-
                leftArm.Name = "Left Arm"
2737+
		li.Name = "Lightning"
2738-
                leftArm.Size = Vector3.new(1, 2, 1)
2738+
		li.TopSurface =0
2739-
                leftLeg.BottomSurface = "Smooth"
2739+
		li.Material = "Neon"
2740-
                leftLeg.CanCollide = false
2740+
		li.BottomSurface = 0
2741-
                leftLeg.CFrame = torsoCFrame * CFrame.new(-0.5, -2, 0)
2741+
		li.Anchored = true
2742-
                leftLeg.FormFactor = "Symmetric"
2742+
		li.Locked = true
2743-
                leftLeg.Locked = true
2743+
		li.Transparency = Trans or 0.4
2744-
                leftLeg.Name = "Left Leg"
2744+
		li.BrickColor = BrickColor.new(Color)
2745-
                leftLeg.Size = Vector3.new(1, 2, 1)
2745+
		li.formFactor = "Custom"
2746-
                leftLeg.TopSurface = "Smooth"
2746+
		li.CanCollide = false
2747-
                rightArm.CanCollide = false
2747+
		li.Size = Vector3.new(Thickness,Thickness,magz/Times)
2748-
                rightArm.CFrame = torsoCFrame * CFrame.new(1.5, 0, 0)
2748+
        local Offzet = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
2749-
                rightArm.FormFactor = "Symmetric"
2749+
        local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/Times).p+Offzet
2750-
                rightArm.Locked = true
2750+
        if Times == i then
2751-
                rightArm.Name = "Right Arm"
2751+
        local magz2 = (curpos - Part1).magnitude
2752-
                rightArm.Size = Vector3.new(1, 2, 1)
2752+
        li.Size = Vector3.new(Thickness,Thickness,magz2)
2753-
                rightLeg.BottomSurface = "Smooth"
2753+
        li.CFrame = CFrame.new(curpos,Part1)*CFrame.new(0,0,-magz2/2)
2754-
                rightLeg.CanCollide = false
2754+
2755-
                rightLeg.CFrame = torsoCFrame * CFrame.new(0.5, -2, 0)
2755+
        li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
2756-
                rightLeg.FormFactor = "Symmetric"
2756+
2757-
                rightLeg.Locked = true
2757+
        curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p
2758-
                rightLeg.Name = "Right Leg"
2758+
        game.Debris:AddItem(li,.1)
2759-
                rightLeg.Size = Vector3.new(1, 2, 1)
2759+
2760-
                rightLeg.TopSurface = "Smooth"
2760+
2761-
                torso.CFrame = torsoCFrame
2761+
2762-
                torso.FormFactor = "Symmetric"
2762+
BodyParts = {} -- Parts to emit lightning effects from
2763-
                torso.LeftSurface = "Weld"
2763+
for _, v in pairs(char:GetChildren()) do
2764-
                torso.Locked = true
2764+
    if v:IsA("Part") then
2765-
                torso.RightSurface = "Weld"
2765+
        table.insert(BodyParts, v)
2766-
                torso.Name = "Torso"
2766+
2767-
                torso.Size = Vector3.new(2, 2, 1)
2767+
2768-
                rootPart.BottomSurface = "Smooth"
2768+
2769-
                rootPart.BrickColor = BrickColor.Blue()
2769+
Bounding = {} -- Calculate the bounding boxes
2770-
                rootPart.CFrame = rootPartCFrame
2770+
for _, v in pairs(BodyParts) do
2771-
                rootPart.FormFactor = "Symmetric"
2771+
	local temp = {X=nil, Y=nil, Z=nil}
2772-
                rootPart.LeftSurface = "Weld"
2772+
	temp.X = v.Size.X/2 * 1
2773-
                rootPart.Locked = true
2773+
	temp.Y = v.Size.Y/2 * 1
2774-
                rootPart.RightSurface = "Weld"
2774+
	temp.Z = v.Size.Z/2 * 1
2775-
                rootPart.Name = "HumanoidRootPart"
2775+
	Bounding[v.Name] = temp
2776-
                rootPart.Size = Vector3.new(2, 2, 1)
2776+
	--table.insert(Bounding, v.Name, temp)
2777-
                rootPart.TopSurface = "Smooth"
2777+
2778-
                rootPart.Transparency = 1
2778+
2779-
                soundFreeFalling.Archivable = false
2779+
while wait(0) do -- Emit the Lightning effects randomly, (math.random(1,10)/10) if you want original
2780-
                soundFreeFalling.SoundId = "rbxasset://sounds/swoosh.wav"
2780+
	local Body1 = BodyParts[math.random(#BodyParts)]
2781-
                soundGettingUp.Archivable = false
2781+
	local Body2 = BodyParts[math.random(#BodyParts)]
2782-
                soundGettingUp.SoundId = "rbxasset://sounds/hit.wav"
2782+
	local Pos1 = Vector3.new(
2783-
                soundRunning.Archivable = false
2783+
		math.random(-Bounding[Body1.Name].X, Bounding[Body1.Name].X)/10,
2784-
                soundRunning.SoundId = "rbxasset://sounds/bfsl-minifigfoots1.mp3"
2784+
		math.random(-Bounding[Body1.Name].Y, Bounding[Body1.Name].Y)/10,
2785-
                soundRunning.Looped = true
2785+
		math.random(-Bounding[Body1.Name].Z, Bounding[Body1.Name].Z)/10
2786-
                leftHip.C0 = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2786+
2787-
                leftHip.C1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2787+
	local Pos2 = Vector3.new(
2788-
                leftHip.MaxVelocity = 0.1
2788+
		math.random(-Bounding[Body2.Name].X, Bounding[Body2.Name].X)/10,
2789-
                leftHip.Name = "Left Hip"
2789+
		math.random(-Bounding[Body2.Name].Y, Bounding[Body2.Name].Y)/10,
2790-
                leftHip.Part0 = torso
2790+
		math.random(-Bounding[Body2.Name].Z, Bounding[Body2.Name].Z)/10
2791-
                leftHip.Part1 = leftLeg
2791+
2792-
                leftShoulder.C0 = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2792+
	local SPos1 = Body1.Position + Pos1
2793-
                leftShoulder.C1 = CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
2793+
	local SPos2 = Body2.Position + Pos2
2794-
                leftShoulder.MaxVelocity = 0.15
2794+
	Lightning(SPos1, SPos2, 4, 3, "Crimson", .80, .99)
2795-
                leftShoulder.Name = "Left Shoulder"
2795+