View difference between Paste ID: N2g0DV1A and 52Z2Br10
SHOW: | | - or go back to the newest paste.
1-
--//====================================================\\--
1+
-- Created by Nebula_Zorua Edit By PowerSans1234--
2-
--||			   CREATED BY SHACKLUSTER
2+
-- Your DeTERMINATION --
3-
--\\====================================================//--
3+
-- Y o u  a c t  l i k e  y o u  h a v e  a  c h o i c e. =) --
4
-- Discord: Nebula the Zorua#6969
5-
wait(0.2)
5+
-- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
6
 
7-
Player = game:GetService("Players").LocalPlayer
7+
8-
PlayerGui = Player.PlayerGui
8+
--// Initializing \\--
9-
Cam = workspace.CurrentCamera
9+
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
10-
Backpack = Player.Backpack
10+
local Plrs = S.Players
11-
Character = Player.Character
11+
local Plr = Plrs.LocalPlayer
12-
Humanoid = Character.Humanoid
12+
local Char = Plr.Character
13-
Mouse = Player:GetMouse()
13+
local Hum = Char:FindFirstChildOfClass'Humanoid'
14-
RootPart = Character["HumanoidRootPart"]
14+
local RArm = Char["Right Arm"]
15-
Torso = Character["Torso"]
15+
local LArm = Char["Left Arm"]
16-
Head = Character["Head"]
16+
local RLeg = Char["Right Leg"]
17-
RightArm = Character["Right Arm"]
17+
local LLeg = Char["Left Leg"]  
18-
LeftArm = Character["Left Arm"]
18+
local Root = Char:FindFirstChild'HumanoidRootPart'
19-
RightLeg = Character["Right Leg"]
19+
local Torso = Char.Torso
20-
LeftLeg = Character["Left Leg"]
20+
local Head = Char.Head
21-
RootJoint = RootPart["RootJoint"]
21+
local NeutralAnims = true
22-
Neck = Torso["Neck"]
22+
local Attack = false
23-
RightShoulder = Torso["Right Shoulder"]
23+
local BloodPuddles = {}
24-
LeftShoulder = Torso["Left Shoulder"]
24+
local Effects = {}
25-
RightHip = Torso["Right Hip"]
25+
local Debounces = {Debounces={}}
26-
LeftHip = Torso["Left Hip"]
26+
local Mouse = Plr:GetMouse()
27
local Hit = {}
28-
IT = Instance.new
28+
local Sine = 0
29-
CF = CFrame.new
29+
local Change = 1
30-
VT = Vector3.new
30+
local Souls = 0
31-
RAD = math.rad
31+
--// Debounce System \\--
32-
C3 = Color3.new
32+
33-
UD2 = UDim2.new
33+
34-
BRICKC = BrickColor.new
34+
function Debounces:New(name,cooldown)
35-
ANGLES = CFrame.Angles
35+
    local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
36-
EULER = CFrame.fromEulerAnglesXYZ
36+
    setmetatable(aaaaa,{__index = Debounces})
37-
COS = math.cos
37+
    Debounces.Debounces[name] = aaaaa
38-
ACOS = math.acos
38+
    return aaaaa
39-
SIN = math.sin
39+
40-
ASIN = math.asin
40+
41-
ABS = math.abs
41+
function Debounces:Use(overrideUsable)
42-
MRANDOM = math.random
42+
    assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
43-
FLOOR = math.floor
43+
    if(self.Usable or overrideUsable)then
44
        self.Usable = false
45-
--//=================================\\
45+
        self.CoolingDown = true
46-
--|| 	      USEFUL VALUES
46+
        local LastUse = time()
47-
--\\=================================//
47+
        self.LastUse = LastUse
48
        delay(self.Cooldown or 2,function()
49-
Animation_Speed = 3
49+
            if(self.LastUse == LastUse)then
50-
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
50+
                self.CoolingDown = false
51-
local Speed = 16
51+
                self.Usable = true
52-
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
52+
            end
53-
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
53+
        end)
54-
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
54+
    end
55-
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
55+
56-
local DAMAGEMULTIPLIER = 1
56+
57-
local ANIM = "Idle"
57+
function Debounces:Get(name)
58-
local ATTACK = false
58+
    assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
59-
local EQUIPPED = false
59+
    for i,v in next, Debounces.Debounces do
60-
local HOLD = false
60+
        if(i == name)then
61-
local COMBO = 1
61+
            return v;
62-
local Rooted = false
62+
63-
local SINE = 0
63+
    end
64-
local KEYHOLD = false
64+
65-
local CHANGE = 2 / Animation_Speed
65+
66-
local WALKINGANIM = false
66+
function Debounces:GetProgressPercentage()
67-
local VALUE1 = false
67+
    assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
68-
local VALUE2 = false
68+
    if(self.CoolingDown and not self.Usable)then
69-
local ROBLOXIDLEANIMATION = IT("Animation")
69+
        return math.max(
70-
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
70+
            math.floor(
71-
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
71+
                (
72-
--ROBLOXIDLEANIMATION.Parent = Humanoid
72+
                    (time()-self.LastUse)/self.Cooldown or 2
73-
local WEAPONGUI = IT("ScreenGui", PlayerGui)
73+
                )*100
74-
WEAPONGUI.Name = "Weapon GUI"
74+
            )
75-
local Weapon = IT("Model")
75+
        )
76-
Weapon.Name = "Adds"
76+
    else
77-
local Effects = IT("Folder", Weapon)
77+
        return 100
78
    end
79-
local ANIMATOR = Humanoid.Animator
79+
80-
local ANIMATE = Character.Animate
80+
81-
local UNANCHOR = true
81+
--// Shortcut Variables \\--
82
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
83-
--//=================================\\
83+
local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
84-
--\\=================================//
84+
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
85
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
86
local R3 = {N=Region3.new}
87-
--//=================================\\
87+
local De = S.Debris
88-
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
88+
local WS = workspace
89-
--\\=================================//
89+
local Lght = S.Lighting
90
local RepS = S.ReplicatedStorage
91-
ArtificialHB = Instance.new("BindableEvent", script)
91+
local IN = Instance.new
92-
ArtificialHB.Name = "ArtificialHB"
92+
local CSK = ColorSequenceKeypoint.new
93
local CS = ColorSequence.new
94-
script:WaitForChild("ArtificialHB")
94+
--// Instance Creation Functions \\--
95
 
96-
frame = Frame_Speed
96+
function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
97-
tf = 0
97+
    local Sound = IN("Sound")
98-
allowframeloss = false
98+
    Sound.SoundId = "rbxassetid://".. tostring(id or 0)
99-
tossremainder = false
99+
    Sound.Pitch = pitch or 1
100-
lastframe = tick()
100+
    Sound.Volume = volume or 1
101-
script.ArtificialHB:Fire()
101+
    Sound.Looped = looped or false
102
    if(autoPlay)then
103
        coroutine.wrap(function()
104-
	tf = tf + s
104+
            repeat wait() until Sound.IsLoaded
105-
	if tf >= frame then
105+
            Sound.Playing = autoPlay or false
106-
		if allowframeloss then
106+
        end)()
107-
			script.ArtificialHB:Fire()
107+
    end
108-
			lastframe = tick()
108+
    if(not looped and effect)then
109-
		else
109+
        Sound.Stopped:connect(function()
110-
			for i = 1, math.floor(tf / frame) do
110+
            Sound.Volume = 0
111-
				script.ArtificialHB:Fire()
111+
            Sound:destroy()
112-
			end
112+
        end)
113-
		lastframe = tick()
113+
    elseif(effect)then
114-
		end
114+
        warn("Sound can't be looped and a sound effect!")
115-
		if tossremainder then
115+
    end
116-
			tf = 0
116+
    Sound.Parent =parent or Torso
117-
		else
117+
    return Sound
118-
			tf = tf - frame * math.floor(tf / frame)
118+
119-
		end
119+
function Part(parent,color,material,size,cframe,anchored,cancollide)
120-
	end
120+
    local part = IN("Part")
121
    part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
122
    part.Material = (material or Enum.Material.SmoothPlastic)
123-
--//=================================\\
123+
    part.TopSurface,part.BottomSurface=10,10
124-
--\\=================================//
124+
    part.Size = (size or V3.N(1,1,1))
125
    part.CFrame = (cframe or CF.N(0,0,0))
126-
--//=================================\\
126+
    part.Anchored = (anchored or false)
127-
--|| 	      SOME FUNCTIONS
127+
    part.CanCollide = (cancollide or false)
128-
--\\=================================//
128+
    part.Parent = (parent or Char)
129
    return part
130-
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
130+
131-
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
131+
function Mesh(parent,meshtype,meshid,textid,scale,offset)
132
    local part = IN("SpecialMesh")
133
    part.MeshId = meshid or ""
134-
function PositiveAngle(NUMBER)
134+
    part.TextureId = textid or ""
135-
	if NUMBER >= 0 then
135+
    part.Scale = scale or V3.N(1,1,1)
136-
		NUMBER = 0
136+
    part.Offset = offset or V3.N(0,0,0)
137-
	end
137+
    part.MeshType = meshtype or Enum.MeshType.Sphere
138-
	return NUMBER
138+
    part.Parent = parent
139
    return part
140
end
141-
function NegativeAngle(NUMBER)
141+
142-
	if NUMBER <= 0 then
142+
NewInstance = function(instance,parent,properties)
143-
		NUMBER = 0
143+
    local inst = Instance.new(instance,parent)
144-
	end
144+
    if(properties)then
145-
	return NUMBER
145+
        for i,v in next, properties do
146
            pcall(function() inst[i] = v end)
147
        end
148-
function Swait(NUMBER)
148+
    end
149-
	if NUMBER == 0 or NUMBER == nil then
149+
    return inst;
150-
		ArtificialHB.Event:wait()
150+
151-
	else
151+
152-
		for i = 1, NUMBER do
152+
153-
			ArtificialHB.Event:wait()
153+
154-
		end
154+
--// Extended ROBLOX tables \\--
155-
	end
155+
local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
156
--// Customization \\--
157
 
158-
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
158+
local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
159-
	local NEWMESH = IT(MESH)
159+
local Remove_Hats = false
160-
	if MESH == "SpecialMesh" then
160+
local Remove_Clothing = true
161-
		NEWMESH.MeshType = MESHTYPE
161+
local PlayerSize = 1
162-
		if MESHID ~= "nil" and MESHID ~= "" then
162+
local DamageColor = BrickColor.new'Really red'
163-
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
163+
local MusicID = 846663146
164-
		end
164+
local WalkSpeed = 14
165-
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
165+
local MaxSouls = 100
166-
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
166+
local MaxHealth = 500
167-
		end
167+
168-
	end
168+
169-
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
169+
if(_G.RefusedAnimation == nil) then _G.RefusedAnimation = false end
170-
	NEWMESH.Scale = SCALE
170+
171-
	NEWMESH.Parent = PARENT
171+
--// Weapon and GUI creation, and Character Customization \\--
172-
	return NEWMESH
172+
173
if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
174
if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
175-
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
175+
local Effects = IN("Folder",Char)
176-
	local NEWPART = IT("Part")
176+
177-
	NEWPART.formFactor = FORMFACTOR
177+
178-
	NEWPART.Reflectance = REFLECTANCE
178+
Hum.MaxHealth = MaxHealth
179-
	NEWPART.Transparency = TRANSPARENCY
179+
Hum.Health = MaxHealth
180-
	NEWPART.CanCollide = false
180+
181-
	NEWPART.Locked = true
181+
local Knife = NewInstance("Part",Char,{Name='Knife',Size=V3.N(.4,3,.7),Anchored=false,CanCollide=false,Locked=true,Archivable=false,Reflectance=.01,Color=C3.N(1,0,0)})
182-
	NEWPART.Anchored = true
182+
local KnifeMesh = Mesh(Knife,Enum.MeshType.FileMesh,"rbxassetid://445556170","rbxassetid://0",V3.N(1,1,1),V3.N())
183-
	if ANCHOR == false then
183+
local AuraEmitter = NewInstance("ParticleEmitter",Knife,{EmissionDirection='Back',Color=CS{CSK(0,C3.N(1,0,0)),CSK(0.5,C3.N(1,0,0)),CSK(1,C3.RGB(255,191,0))},LightEmission=.5,LightInfluence=0,Size=NumberSequence.new(0.3),Texture="rbxassetid://241922778",Transparency=NumberSequence.new(0,1),LockedToPart=true,Lifetime=NumberRange.new(1),Rate=150,Speed=NumberRange.new(0)})
184-
		NEWPART.Anchored = false
184+
local FireEmitter = NewInstance("ParticleEmitter",Knife,{EmissionDirection='Back',Color=CS(C3.N(1,0,0),C3.N(1,0,0)),LightEmission=.5,LightInfluence=0,Size=NumberSequence.new{NumberSequenceKeypoint.new(0,.5,0),NumberSequenceKeypoint.new(0.755,0,0),NumberSequenceKeypoint.new(1,0,0)},Texture="rbxassetid://241594419",Transparency=NumberSequence.new(0.35,1),Lifetime=NumberRange.new(1,2),Rate=150,Speed=NumberRange.new(3)})
185-
	end
185+
186-
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
186+
local KTrail = NewInstance("Trail",Knife,{
187-
	NEWPART.Name = NAME
187+
    Attachment0=NewInstance("Attachment",Knife,{Position=V3.N(0,-.4,0)}),
188-
	NEWPART.Size = SIZE
188+
    Attachment1=NewInstance("Attachment",Knife,{Position=V3.N(0,1.2,0)}),
189-
	NEWPART.Position = Torso.Position
189+
    Color=CS(C3.N(1,0,0)), 
190-
	NEWPART.Material = MATERIAL
190+
    Enabled=false,
191-
	NEWPART:BreakJoints()
191+
    Transparency=NumberSequence.new(0,1),
192-
	NEWPART.Parent = PARENT
192+
    Lifetime=1.25,
193-
	return NEWPART
193+
})
194
local Hair = Part(Char,C3.N(0,0,0),Enum.Material.SmoothPlastic,V3.N(1,1,1),CF.N(),false,false)
195
local HairMesh = Mesh(Hair,Enum.MeshType.FileMesh,"rbxassetid://0","rbxassetid://07",V3.N(1.05,1.05,1.05),V3.N())
196-
	local function weldBetween(a, b)
196+
197-
	    local weldd = Instance.new("ManualWeld")
197+
NewInstance("PointLight",Knife,{Color=C3.N(1,0,0),Range=10,Brightness=3})
198-
	    weldd.Part0 = a
198+
199-
	    weldd.Part1 = b
199+
200-
	    weldd.C0 = CFrame.new()
200+
Hum.DisplayDistanceType = 'None'
201-
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
201+
202-
	    weldd.Parent = a
202+
local naeeym2 = IN("BillboardGui",Char)
203-
	    return weldd
203+
naeeym2.AlwaysOnTop = true
204-
	end
204+
naeeym2.Size = UDim2.new(5,35,2,15)
205
naeeym2.StudsOffset = V3.N(0,2.5,0)
206
naeeym2.Adornee = Char.Head
207-
function QuaternionFromCFrame(cf)
207+
naeeym2.Name = "Name"
208-
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
208+
naeeym2.PlayerToHideFrom = Plr
209-
	local trace = m00 + m11 + m22
209+
local tecks2 = IN("TextLabel",naeeym2)
210-
	if trace > 0 then 
210+
tecks2.BackgroundTransparency = 1
211-
		local s = math.sqrt(1 + trace)
211+
tecks2.TextScaled = true
212-
		local recip = 0.5 / s
212+
tecks2.BorderSizePixel = 0
213-
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
213+
tecks2.Text = "UnderSwap Megalovania Papyrus"
214-
	else
214+
tecks2.Font = Enum.Font.Bodoni
215-
		local i = 0
215+
tecks2.TextSize = 30
216-
		if m11 > m00 then
216+
tecks2.TextStrokeTransparency = 0
217-
			i = 1
217+
tecks2.TextColor3 = C3.N(255,165,75)
218-
		end
218+
tecks2.TextStrokeColor3 = C3.N(.7,0,0)
219-
		if m22 > (i == 0 and m00 or m11) then
219+
tecks2.Size = UDim2.new(1,0,0.5,0)
220-
			i = 2
220+
tecks2.Parent = naeeym2
221-
		end
221+
222-
		if i == 0 then
222+
223-
			local s = math.sqrt(m00 - m11 - m22 + 1)
223+
IN("Shirt",Char)
224-
			local recip = 0.5 / s
224+
IN("Pants",Char)
225-
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
225+
226-
		elseif i == 1 then
226+
Hum.WalkSpeed = WalkSpeed
227-
			local s = math.sqrt(m11 - m22 - m00 + 1)
227+
if(PlayerSize ~= 1)then
228-
			local recip = 0.5 / s
228+
    for _,v in next, Char:GetDescendats() do
229-
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
229+
        if(v:IsA'BasePart')then
230-
		elseif i == 2 then
230+
            v.Size = v.Size * PlayerSize
231-
			local s = math.sqrt(m22 - m00 - m11 + 1)
231+
232-
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
232+
    end
233-
		end
233+
234-
	end
234+
235
 
236
 
237-
function QuaternionToCFrame(px, py, pz, x, y, z, w)
237+
pcall(function()
238-
	local xs, ys, zs = x + x, y + y, z + z
238+
    Char.LeftWing:destroy()
239-
	local wx, wy, wz = w * xs, w * ys, w * zs
239+
    Char.ReaperShadowHead:destroy()
240-
	local xx = x * xs
240+
241-
	local xy = x * ys
241+
242-
	local xz = x * zs
242+
243-
	local yy = y * ys
243+
local Music = Sound(Torso,MusicID,1,3,true,false,true)
244-
	local yz = y * zs
244+
Music.Name = 'Music'
245-
	local zz = z * zs
245+
246-
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
246+
--// Stop animations \\--
247
for _,v in next, Hum:GetPlayingAnimationTracks() do
248
    v:Stop();
249-
function QuaternionSlerp(a, b, t)
249+
250-
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
250+
251-
	local startInterp, finishInterp;
251+
pcall(game.Destroy,Char:FindFirstChild'Animate')
252-
	if cosTheta >= 0.0001 then
252+
pcall(game.Destroy,Hum:FindFirstChild'Animator')
253-
		if (1 - cosTheta) > 0.0001 then
253+
254-
			local theta = ACOS(cosTheta)
254+
--// Joints \\--
255-
			local invSinTheta = 1 / SIN(theta)
255+
256-
			startInterp = SIN((1 - t) * theta) * invSinTheta
256+
local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
257-
			finishInterp = SIN(t * theta) * invSinTheta
257+
local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
258-
		else
258+
local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
259-
			startInterp = 1 - t
259+
local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
260-
			finishInterp = t
260+
local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
261-
		end
261+
local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
262-
	else
262+
local HW = NewInstance('Motor',Char,{Part0=RArm,Part1=Knife,C0=CF.N(0,-1,-1)*CF.A(M.R(-90),0,0)})
263-
		if (1 + cosTheta) > 0.0001 then
263+
local HW2 = NewInstance('Motor',Char,{Part0=Head,Part1=Hair,C0=CF.N(0,.25,0)})
264-
			local theta = ACOS(-cosTheta)
264+
265-
			local invSinTheta = 1 / SIN(theta)
265+
local LSC0 = LS.C0
266-
			startInterp = SIN((t - 1) * theta) * invSinTheta
266+
local RSC0 = RS.C0
267-
			finishInterp = SIN(t * theta) * invSinTheta
267+
local NKC0 = NK.C0
268-
		else
268+
local LHC0 = LH.C0
269-
			startInterp = t - 1
269+
local RHC0 = RH.C0
270-
			finishInterp = t
270+
local RJC0 = RJ.C0
271-
		end
271+
272-
	end
272+
--// Artificial HB \\--
273-
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
273+
274
local ArtificialHB = IN("BindableEvent", script)
275
ArtificialHB.Name = "Heartbeat"
276-
function Clerp(a, b, t)
276+
277-
	local qa = {QuaternionFromCFrame(a)}
277+
script:WaitForChild("Heartbeat")
278-
	local qb = {QuaternionFromCFrame(b)}
278+
279-
	local ax, ay, az = a.x, a.y, a.z
279+
local tf = 0
280-
	local bx, by, bz = b.x, b.y, b.z
280+
local allowframeloss = false
281-
	local _t = 1 - t
281+
local tossremainder = false
282-
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
282+
local lastframe = tick()
283
local frame = 1/Frame_Speed
284
ArtificialHB:Fire()
285-
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
285+
286-
	local frame = IT("Frame")
286+
287-
	frame.BackgroundTransparency = TRANSPARENCY
287+
    tf = tf + s
288-
	frame.BorderSizePixel = BORDERSIZEPIXEL
288+
    if tf >= frame then
289-
	frame.Position = POSITION
289+
        if allowframeloss then
290-
	frame.Size = SIZE
290+
            script.Heartbeat:Fire()
291-
	frame.BackgroundColor3 = COLOR
291+
            lastframe = tick()
292-
	frame.BorderColor3 = BORDERCOLOR
292+
        else
293-
	frame.Name = NAME
293+
            for i = 1, math.floor(tf / frame) do
294-
	frame.Parent = PARENT
294+
                ArtificialHB:Fire()
295-
	return frame
295+
            end
296
            lastframe = tick()
297
        end
298-
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
298+
        if tossremainder then
299-
	local label = IT("TextLabel")
299+
            tf = 0
300-
	label.BackgroundTransparency = 1
300+
        else
301-
	label.Size = UD2(1, 0, 1, 0)
301+
            tf = tf - frame * math.floor(tf / frame)
302-
	label.Position = UD2(0, 0, 0, 0)
302+
303-
	label.TextColor3 = TEXTCOLOR
303+
    end
304-
	label.TextStrokeTransparency = STROKETRANSPARENCY
304+
305-
	label.TextTransparency = TRANSPARENCY
305+
306-
	label.FontSize = TEXTFONTSIZE
306+
function swait(num)
307-
	label.Font = TEXTFONT
307+
    if num == 0 or num == nil then
308-
	label.BorderSizePixel = BORDERSIZEPIXEL
308+
        ArtificialHB.Event:wait()
309-
	label.TextScaled = false
309+
    else
310-
	label.Text = TEXT
310+
        for i = 0, num do
311-
	label.Name = NAME
311+
            ArtificialHB.Event:wait()
312-
	label.Parent = PARENT
312+
313-
	return label
313+
    end
314
end
315
 
316-
function NoOutlines(PART)
316+
317-
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
317+
--// Effect Function(s) \\--
318
 
319
function Bezier(startpos, pos2, pos3, endpos, t)
320-
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
320+
    local A = startpos:lerp(pos2, t)
321-
	local NEWWELD = IT(TYPE)
321+
    local B  = pos2:lerp(pos3, t)
322-
	NEWWELD.Part0 = PART0
322+
    local C = pos3:lerp(endpos, t)
323-
	NEWWELD.Part1 = PART1
323+
    local lerp1 = A:lerp(B, t)
324-
	NEWWELD.C0 = C0
324+
    local lerp2 = B:lerp(C, t)
325-
	NEWWELD.C1 = C1
325+
    local cubic = lerp1:lerp(lerp2, t)
326-
	NEWWELD.Parent = PARENT
326+
    return cubic
327-
	return NEWWELD
327+
328
 
329
function Tween(obj,props,time,easing,direction,repeats,backwards)
330-
local S = IT("Sound")
330+
    local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
331-
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
331+
    local tween = S.TweenService:Create(obj, info, props)
332-
	local NEWSOUND = nil
332+
   
333-
	coroutine.resume(coroutine.create(function()
333+
    tween:Play()
334-
		NEWSOUND = S:Clone()
334+
335-
		NEWSOUND.Parent = PARENT
335+
336-
		NEWSOUND.Volume = VOLUME
336+
local FXTable = {}
337-
		NEWSOUND.Pitch = PITCH
337+
338-
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
338+
coroutine.resume(coroutine.create(function()
339-
		NEWSOUND:play()
339+
    while true do
340-
		if DOESLOOP == true then
340+
        for i = 1, #FXTable do
341-
			NEWSOUND.Looped = true
341+
            local data = FXTable[i]
342-
		else
342+
            if(data)then
343-
			repeat wait(1) until NEWSOUND.Playing == false
343+
                local Frame = data.Frame
344-
			NEWSOUND:remove()
344+
                local FX = data.Effect or 'ResizeAndFade'
345-
		end
345+
                local Parent = data.Parent or Effects
346-
	end))
346+
                local Color = data.Color or C3.N(0,0,0)
347-
	return NEWSOUND
347+
                local Size = data.Size or V3.N(1,1,1)
348
                local MoveDir = data.MoveDirection or nil
349
                local MeshData = data.Mesh or nil
350-
function CFrameFromTopBack(at, top, back)
350+
                local SndData = data.Sound or nil
351-
	local right = top:Cross(back)
351+
                local Frames = data.Frames or 45
352-
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
352+
                local CFra = data.CFrame or Torso.CFrame
353
                local Settings = data.FXSettings or {}
354
                local Prt,Msh,Snd = data.Part,data.Mesh,data.Sound
355-
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
355+
                local grow = data.Grow
356-
function WACKYEFFECT(Table)
356+
               
357-
	local TYPE = (Table.EffectType or "Sphere")
357+
                local MoveSpeed = nil;
358-
	local SIZE = (Table.Size or VT(1,1,1))
358+
                if(MoveDir)then
359-
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
359+
                    MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
360-
	local TRANSPARENCY = (Table.Transparency or 0)
360+
                end
361-
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
361+
                if(FX ~= 'Arc')then
362-
	local CFRAME = (Table.CFrame or Torso.CFrame)
362+
                    Frame = Frame + 1
363-
	local MOVEDIRECTION = (Table.MoveToPos or nil)
363+
                    if(FX == "Fade")then
364-
	local ROTATION1 = (Table.RotationX or 0)
364+
                        Prt.Transparency  = (Frame/Frames)
365-
	local ROTATION2 = (Table.RotationY or 0)
365+
                    elseif(FX == "Resize")then
366-
	local ROTATION3 = (Table.RotationZ or 0)
366+
                        if(not Settings.EndSize)then
367-
	local MATERIAL = (Table.Material or "Neon")
367+
                            Settings.EndSize = V3.N(0,0,0)
368-
	local COLOR = (Table.Color or C3(1,1,1))
368+
                        end
369-
	local TIME = (Table.Time or 45)
369+
                        if(Settings.EndIsIncrement)then
370-
	local SOUNDID = (Table.SoundID or nil)
370+
                            if(Msh)then
371-
	local SOUNDPITCH = (Table.SoundPitch or nil)
371+
                                Msh.Scale = Msh.Scale + Settings.EndSize
372-
	local SOUNDVOLUME = (Table.SoundVolume or nil)
372+
                            else
373-
	coroutine.resume(coroutine.create(function()
373+
                                Prt.Size = Prt.Size + Settings.EndSize
374-
		local PLAYSSOUND = false
374+
                            end                
375-
		local SOUND = nil
375+
                        else
376-
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
376+
                            if(Msh)then
377-
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
377+
                                Msh.Scale = Msh.Scale - grow/Frames
378-
			PLAYSSOUND = true
378+
                            else
379-
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
379+
                                Prt.Size = Prt.Size - grow/Frames
380-
		end
380+
                            end
381-
		EFFECT.Color = COLOR
381+
                        end
382-
		local MSH = nil
382+
                    elseif(FX == "ResizeAndFade")then
383-
		if TYPE == "Sphere" then
383+
                        if(not Settings.EndSize)then
384-
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
384+
                            Settings.EndSize = V3.N(0,0,0)
385-
		elseif TYPE == "Block" then
385+
                        end
386-
			MSH = IT("BlockMesh",EFFECT)
386+
                        if(Settings.EndIsIncrement)then
387-
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
387+
                            if(Msh)then
388-
		elseif TYPE == "Wave" then
388+
                                Msh.Scale = Msh.Scale + Settings.EndSize
389-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
389+
                            else
390-
		elseif TYPE == "Ring" then
390+
                                Prt.Size = Prt.Size + Settings.EndSize
391-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
391+
                            end                
392-
		elseif TYPE == "Slash" then
392+
                        else
393-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
393+
                            if(Msh)then
394-
		elseif TYPE == "Round Slash" then
394+
                                Msh.Scale = Msh.Scale - grow/Frames
395-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
395+
                            else
396-
		elseif TYPE == "Swirl" then
396+
                                Prt.Size = Prt.Size - grow/Frames
397-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
397+
                            end
398-
		elseif TYPE == "Skull" then
398+
                        end
399-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
399+
                        Prt.Transparency = (Frame/Frames)
400-
		elseif TYPE == "Crystal" then
400+
                    end
401-
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
401+
                    if(Settings.RandomizeCFrame)then
402-
		end
402+
                        Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
403-
		if MSH ~= nil then
403+
                    end
404-
			local MOVESPEED = nil
404+
                    if(MoveDir and MoveSpeed)then
405-
			if MOVEDIRECTION ~= nil then
405+
                        local Orientation = Prt.Orientation
406-
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
406+
                        Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
407-
			end
407+
                        Prt.Orientation = Orientation
408-
			local GROWTH = SIZE - ENDSIZE
408+
                    end
409-
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
409+
                    if(Prt.Transparency >= 1 or Frame >= Frames)then
410-
			if TYPE == "Block" then
410+
                        Prt:destroy()
411-
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
411+
                        table.remove(FXTable,i)
412-
			else
412+
                    else
413-
				EFFECT.CFrame = CFRAME
413+
                        data.Frame = Frame
414-
			end
414+
                    end
415-
			for LOOP = 1, TIME+1 do
415+
                else
416-
				Swait()
416+
                    local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
417-
				MSH.Scale = MSH.Scale - GROWTH/TIME
417+
                    if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
418-
				if TYPE == "Wave" then
418+
                    if(start and endP)then
419-
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
419+
                        local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
420-
				end
420+
                        local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
421-
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
421+
                        Frame = Frame + (Settings.Speed or 0.01)
422-
				if TYPE == "Block" then
422+
                        if(Settings.Home)then
423-
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
423+
                            endP = Settings.Home.CFrame
424-
				else
424+
                        end
425-
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
425+
                        Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
426-
				end
426+
                        if(Prt.Transparency >= 1 or Frame >= Frames)then
427-
				if MOVEDIRECTION ~= nil then
427+
                            if(Settings.RemoveOnGoal)then
428-
					local ORI = EFFECT.Orientation
428+
                                Prt:destroy()
429-
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
429+
                            end
430-
					EFFECT.Orientation = ORI
430+
                        end
431-
				end
431+
                    else
432-
			end
432+
                        Prt:destroy()
433-
			if PLAYSSOUND == false then
433+
                    end
434-
				EFFECT:remove()
434+
                end
435-
			else
435+
            end
436-
				repeat Swait() until SOUND.Playing == false
436+
437-
				EFFECT:remove()
437+
        swait()
438-
			end
438+
    end
439-
		else
439+
end))
440-
			if PLAYSSOUND == false then
440+
441-
				EFFECT:remove()
441+
function Effect(data)
442-
			else
442+
    local FX = data.Effect or 'ResizeAndFade'
443-
				repeat Swait() until SOUND.Playing == false
443+
    local Parent = data.Parent or Effects
444-
				EFFECT:remove()
444+
    local Color = data.Color or C3.N(0,0,0)
445-
			end
445+
    local Size = data.Size or V3.N(1,1,1)
446-
		end
446+
    local MoveDir = data.MoveDirection or nil
447-
	end))
447+
    local MeshData = data.Mesh or nil
448
    local SndData = data.Sound or nil
449
    local Frames = data.Frames or 45
450-
function MakeForm(PART,TYPE)
450+
    local Manual = data.Manual or nil
451-
	if TYPE == "Cyl" then
451+
    local Material = data.Material or nil
452-
		local MSH = IT("CylinderMesh",PART)
452+
    local CFra = data.CFrame or Torso.CFrame
453-
	elseif TYPE == "Ball" then
453+
    local Settings = data.FXSettings or {}
454-
		local MSH = IT("SpecialMesh",PART)
454+
    local Shape = data.Shape or Enum.PartType.Block
455-
		MSH.MeshType = "Sphere"
455+
    local Snd,Prt,Msh;
456-
	elseif TYPE == "Wedge" then
456+
    coroutine.wrap(function()
457-
		local MSH = IT("SpecialMesh",PART)
457+
        if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
458-
		MSH.MeshType = "Wedge"
458+
            Prt = Manual
459-
	end
459+
        else
460
            Prt = Part(Parent,Color,Material,Size,CFra,true,false)
461
            Prt.Shape = Shape
462-
Debris = game:GetService("Debris")
462+
463
        if(typeof(MeshData) == 'table')then
464-
function CastProperRay(StartPos, EndPos, Distance, Ignore)
464+
            Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
465-
	local DIRECTION = CF(StartPos,EndPos).lookVector
465+
        elseif(typeof(MeshData) == 'Instance')then
466-
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
466+
            Msh = MeshData:Clone()
467
            Msh.Parent = Prt
468
        elseif(Shape == Enum.PartType.Block)then
469-
function CharacterFade(COLOR,TIMER)
469+
            Msh = Mesh(Prt,Enum.MeshType.Brick)
470-
	coroutine.resume(coroutine.create(function()
470+
471-
		local FADE = IT("Model",Effects)
471+
        if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
472-
		for _, c in pairs(Character:GetChildren()) do
472+
            Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
473-
			if c.ClassName == "Part" and c ~= RootPart then
473+
474-
				local FADER = c:Clone()
474+
        if(Snd)then
475-
				FADER.Color = COLOR
475+
            repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
476-
				FADER.CFrame = c.CFrame
476+
            Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
477-
				FADER.Parent = FADE
477+
478-
				FADER.Anchored = true
478+
        Size = (Msh and Msh.Scale or Size)
479-
				FADER.Transparency = 0.25
479+
        local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
480-
				FADER:BreakJoints()
480+
       
481-
				FADER.Material = "Glass"
481+
        local MoveSpeed = nil;
482-
				FADER:ClearAllChildren()
482+
        if(MoveDir)then
483-
				if FADER.Name == "Head" then
483+
            MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
484-
					FADER.Size = VT(1,1,1)
484+
485-
				end
485+
        if(FX ~= 'Arc')then
486-
			end
486+
            for Frame = 1, Frames do
487-
		end
487+
                if(FX == "Fade")then
488-
		local TRANS = 0.75/TIMER
488+
                    Prt.Transparency  = (Frame/Frames)
489-
		for i = 1, TIMER do
489+
                elseif(FX == "Resize")then
490-
			Swait()
490+
                    if(not Settings.EndSize)then
491-
			for _, c in pairs(FADE:GetChildren()) do
491+
                        Settings.EndSize = V3.N(0,0,0)
492-
				if c.ClassName == "Part" then
492+
                    end
493-
					c.Transparency = c.Transparency + TRANS
493+
                    if(Settings.EndIsIncrement)then
494-
				end
494+
                        if(Msh)then
495-
			end
495+
                            Msh.Scale = Msh.Scale + Settings.EndSize
496-
		end
496+
                        else
497-
		FADE:remove()
497+
                            Prt.Size = Prt.Size + Settings.EndSize
498-
	end))
498+
                        end                
499
                    else
500
                        if(Msh)then
501-
local PE=Instance.new("ParticleEmitter")
501+
                            Msh.Scale = Msh.Scale - grow/Frames
502-
PE.LightEmission=0.3
502+
                        else
503-
PE.Size=NumberSequence.new(0)
503+
                            Prt.Size = Prt.Size - grow/Frames
504-
PE.Transparency=NumberSequence.new(0,1)
504+
                        end
505-
PE.Rotation=NumberRange.new(0,360)
505+
                    end
506-
PE.LockedToPart = false
506+
                elseif(FX == "ResizeAndFade")then
507-
PE.Speed = NumberRange.new(0,0,0)
507+
                    if(not Settings.EndSize)then
508-
PE.ZOffset = 0.3
508+
                        Settings.EndSize = V3.N(0,0,0)
509-
PE.Rate = 999
509+
                    end
510-
PE.VelocitySpread = 25
510+
                    if(Settings.EndIsIncrement)then
511-
PE.Name = "Particles"
511+
                        if(Msh)then
512
                            Msh.Scale = Msh.Scale + Settings.EndSize
513-
function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
513+
                        else
514-
    local particle = nil
514+
                            Prt.Size = Prt.Size + Settings.EndSize
515-
    coroutine.resume(coroutine.create(function(PART)
515+
                        end                
516-
        particle = PE:Clone()
516+
                    else
517-
        Swait()
517+
                        if(Msh)then
518-
        particle.Rate = 999
518+
                            Msh.Scale = Msh.Scale - grow/Frames
519-
        particle.Parent = art
519+
                        else
520-
        particle.Acceleration = accel
520+
                            Prt.Size = Prt.Size - grow/Frames
521-
        if type == "Fire" then
521+
                        end
522-
            local EyeSizes={
522+
                    end
523-
                NumberSequenceKeypoint.new(0,size,size/2),
523+
                    Prt.Transparency = (Frame/Frames)
524-
                NumberSequenceKeypoint.new(1,size/4,size/8)
524+
                end
525
                if(Settings.RandomizeCFrame)then
526-
            particle.Size = NumberSequence.new(EyeSizes)
526+
                    Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
527-
        elseif type == "Smoke" then
527+
                end
528-
            local EyeSizes={
528+
                if(MoveDir and MoveSpeed)then
529-
                NumberSequenceKeypoint.new(0,size/5,0),
529+
                    local Orientation = Prt.Orientation
530-
                NumberSequenceKeypoint.new(1,size*2,0.5)
530+
                    Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
531
                    Prt.Orientation = Orientation
532-
            particle.Size = NumberSequence.new(EyeSizes)
532+
                end
533-
        elseif type == "Solid" then
533+
                swait()
534-
            local EyeSizes={
534+
            end
535-
                NumberSequenceKeypoint.new(0,size,0),
535+
            Prt:destroy()
536-
                NumberSequenceKeypoint.new(1,size,0)
536+
        else
537
            local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
538-
            particle.Size = NumberSequence.new(EyeSizes)
538+
            if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
539
            if(start and endP)then
540-
        particle.Lifetime=NumberRange.new(lifetime)
540+
                local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
541-
        particle.Drag = drag
541+
                local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
542-
        if locked == true then
542+
                for Frame = 0, 1, (Settings.Speed or 0.01) do
543-
            particle.LockedToPart = true
543+
                    if(Settings.Home)then
544
                        endP = Settings.Home.CFrame
545-
        particle.Speed = NumberRange.new(speed*0.8,speed)
545+
                    end
546-
        particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
546+
                    Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
547-
        particle.Enabled = isenabledbydefault
547+
                end
548-
        particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
548+
                if(Settings.RemoveOnGoal)then
549-
    end))
549+
                    Prt:destroy()
550-
return particle
550+
                end
551
            else
552
                Prt:destroy()
553-
--//=================================\\
553+
                assert(start,"You need a start position!")
554-
--||	     RAGDOLL STUFF
554+
                assert(endP,"You need a start position!")
555-
--\\=================================//
555+
            end
556
        end
557-
function recurse(root,callback,i)
557+
    end)()
558-
	i= i or 0
558+
    return Prt,Msh,Snd
559-
	for _,v in pairs(root:GetChildren()) do
559+
560-
		i = i + 1
560+
561-
		callback(i,v)
561+
562-
		
562+
563-
		if #v:GetChildren() > 0 then
563+
function SoulSteal(whom,human)
564-
			i = recurse(v,callback,i)
564+
    local torso = (whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart' or whom:FindFirstChild'Torso')
565-
		end
565+
    local succ, health, alive = pcall(function() return whom:FindFirstChildOfClass'Humanoid'.Health, whom:FindFirstChildOfClass'Humanoid'.Health > 0 end)
566-
	end
566+
    if(torso and torso:IsA'BasePart' and alive == true)then
567-
	
567+
        whom:FindFirstChildOfClass'Humanoid'.Health = 0
568-
	return i
568+
        whom:BreakJoints()
569
        local Model = IN("Model",Effects)
570
        warn('Soul stolen from '..whom.Name)
571-
function ragdollJoint(character, part0, part1, attachmentName, className, properties)
571+
        Model.Name = whom.Name.."'s Soul Monster"
572-
	attachmentName = attachmentName.."RigAttachment"
572+
        local Soul = Part(Model,(human and BrickColor.new'Really red' or BrickColor.new(C3.N(1,1,1))),'Glass',V3.N(1,1,1),torso.CFrame,true,false)
573-
	local constraint = Instance.new(className.."Constraint")
573+
        Soul.CanCollide=false
574-
	constraint.Attachment0 = part0:FindFirstChild(attachmentName)
574+
        Mesh(Soul,Enum.MeshType.Sphere)
575-
	constraint.Attachment1 = part1:FindFirstChild(attachmentName)
575+
        Soul.Name = 'Head'
576-
	constraint.Name = "RagdollConstraint"..part1.Name
576+
        if(whom.Name == 'CKbackup')then
577-
	
577+
            Soul.Color = C3.N(1,1,1)
578-
	for _,propertyData in next,properties or {} do
578+
            local DripEmitter = NewInstance("ParticleEmitter",Soul,{EmissionDirection='Bottom',Color=CS(Soul.Color),LightEmission=.5,LightInfluence=0,Size=NumberSequence.new(0.3),Texture="rbxassetid://243132757",Transparency=NumberSequence.new(0,1),LockedToPart=false,Lifetime=NumberRange.new(1),Rate=150,Speed=NumberRange.new(5)})
579-
		constraint[propertyData[1]] = propertyData[2]
579+
580-
	end
580+
        local Hoom = NewInstance("Humanoid",Model,{MaxHealth=(health <= 10000 and health/2 or 10000),Health=(health <= 10000 and health/2 or 10000)})
581-
	
581+
        local AT0 = NewInstance("Attachment",Soul,{Position=V3.N(0,.5,0)})
582-
	constraint.Parent = character
582+
        local AT1 = NewInstance("Attachment",Soul,{Position=V3.N(0,-.5,0)})
583
        local Trail = NewInstance("Trail",Soul,{Attachment0=AT0,Attachment1=AT1,Transparency=NumberSequence.new(0),FaceCamera = true,Texture="rbxassetid://945758042",LightEmission=.3,Color=CS(Soul.Color),Lifetime=.5,MinLength=0})
584
        NewInstance("PointLight",Soul,{Color=Soul.Color,Range=10,Brightness=(human and 3 or .5)})
585-
function getAttachment0(character, attachmentName)
585+
       
586-
	for _,child in next,character:GetChildren() do
586+
        local turdso = Soul:Clone()
587-
		local attachment = child:FindFirstChild(attachmentName)
587+
        turdso.Name = "Torso"
588-
		if attachment then
588+
        turdso.CanCollide = false
589-
			return attachment
589+
        turdso.Anchored = true
590-
		end
590+
        turdso.CFrame = Soul.CFrame
591-
	end
591+
        turdso.Parent = Model
592
        turdso.Size = V3.N()
593
        turdso.Transparency=1
594-
function ArtificialHitbox(Part)
594+
        local Distance = math.huge
595-
	local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
595+
        repeat
596-
	HITBOX.CanCollide = true
596+
            Soul.CFrame = CF.N(Soul.Position,Torso.Position)*CF.N(0,0,-1)
597-
	HITBOX.CFrame = Part.CFrame
597+
            turdso.CFrame = Soul.CFrame
598-
	weldBetween(Part,HITBOX)
598+
            Distance = (Soul.CFrame.p-Torso.CFrame.p).magnitude
599
            swait()
600
        until Hoom.Health <= 0 or not Soul.Parent or Distance <= 1.2
601-
function R15Ragdoll(character,KeepArms)
601+
        if(Soul.Parent and Hoom.Health > 0)then
602-
	character:BreakJoints()
602+
            Model:destroy()
603-
	coroutine.resume(coroutine.create(function()
603+
            Effect{
604-
		recurse(character, function(_,v)
604+
                Effect="ResizeAndFade",
605-
			if v:IsA("Attachment") then
605+
                Mesh={Enum.MeshType.Sphere},
606-
				v.Axis = Vector3.new(0, 1, 0)
606+
                Color = Soul.Color,
607-
				v.SecondaryAxis = Vector3.new(0, 0, 1)
607+
                CFrame=Torso.CFrame,
608-
				v.Rotation = Vector3.new(0, 0, 0)
608+
                Size=V3.N(3,3,3),
609-
			end
609+
                Material=Enum.Material.Neon,
610-
		end)
610+
                Sound={SoundId=444667859,Pitch=1,Volume=2.5},
611-
		for _,child in next,character:GetChildren() do
611+
                FXSettings={
612-
			if child:IsA("Accoutrement") then
612+
                    EndSize=V3.N(6,6,6),
613-
				for _,part in next,child:GetChildren() do
613+
                }
614-
					if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
614+
615-
						local attachment1 = part:FindFirstChildOfClass("Attachment")
615+
            Souls = Souls + (human and 1 or .1)
616-
						local attachment0 = getAttachment0(character,attachment1.Name)
616+
            warn("Souls: "..Souls)
617-
						if attachment0 and attachment1 then
617+
            MaxHealth = MaxHealth + Hoom.Health
618-
							local constraint = Instance.new("HingeConstraint")
618+
            Hum.Health = Hum.Health + Hoom.Health
619-
							constraint.Attachment0 = attachment0
619+
            for i = 1, 5 do
620-
							constraint.Attachment1 = attachment1
620+
                Effect{
621-
							constraint.LimitsEnabled = true
621+
                    Effect="Fade",
622-
							constraint.UpperAngle = 0
622+
                    Color = Soul.Color,
623-
							constraint.LowerAngle = 0
623+
                    MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
624-
							constraint.Parent = character
624+
                }  
625-
						end
625+
            end
626-
						ArtificialHitbox(part)
626+
        else
627-
					elseif part.Name == "HumanoidRootPart" then
627+
           
628-
						part:remove()
628+
            warn("Soul destroyed!")
629-
					end
629+
            for i = 1, 5 do
630-
				end
630+
                Effect{
631-
			end
631+
                    Effect="Fade",
632-
		end
632+
                    Color = Soul.Color,
633-
		
633+
                    CFrame=Soul.CFrame,
634-
		ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
634+
                    MoveDirection = (Soul.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
635-
			{"LimitsEnabled",true};
635+
                }  
636-
			{"UpperAngle",5};
636+
            end
637-
		})
637+
            Effect{
638-
		if character:FindFirstChild("Head") then
638+
                Effect="ResizeAndFade",
639-
			ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
639+
                Mesh={Enum.MeshType.Sphere},
640-
				{"LimitsEnabled",true};
640+
                Sound={SoundId=444667859,Pitch=1,Volume=5},
641-
				{"UpperAngle",15};
641+
                Color = Soul.Color,
642-
			})
642+
                CFrame=Soul.CFrame,
643-
		end
643+
                Size=V3.N(3,3,3),
644-
		
644+
                Material=Enum.Material.Neon,
645-
		local handProperties = {
645+
                FXSettings={
646-
			{"LimitsEnabled", true};
646+
                    EndSize=V3.N(6,6,6),
647-
			{"UpperAngle",0};
647+
                }
648-
			{"LowerAngle",0};
648+
649-
		}
649+
            Model:destroy()
650-
		ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
650+
651-
		ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
651+
    end
652-
		
652+
653-
		local shinProperties = {
653+
654-
			{"LimitsEnabled", true};
654+
--// Other Functions \\ --
655-
			{"UpperAngle", 0};
655+
656-
			{"LowerAngle", -75};
656+
function getRegion(point,range,ignore)
657-
		}
657+
    return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
658-
		ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
658+
659-
		ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
659+
660-
		
660+
function clerp(startCF,endCF,alpha)
661-
		local footProperties = {
661+
    return startCF:lerp(endCF, alpha)
662-
			{"LimitsEnabled", true};
662+
663-
			{"UpperAngle", 15};
663+
664-
			{"LowerAngle", -45};
664+
function GetTorso(char)
665-
		}
665+
    return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
666-
		ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
666+
667-
		ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
667+
668-
		if KeepArms == true then
668+
function ShowDamage(Pos, Text, Time, Color)
669-
			ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
669+
    coroutine.wrap(function()
670-
			ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
670+
    local Rate = (1 / Frame_Speed)
671-
			ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
671+
    local Pos = (Pos or Vector3.new(0, 0, 0))
672-
			ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
672+
    local Text = (Text or "")
673-
		end
673+
    local Time = (Time or 2)
674-
		ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
674+
    local Color = (Color or Color3.new(1, 0, 1))
675-
		ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
675+
    local EffectPart = NewInstance("Part",Effects,{
676-
		Debris:AddItem(character,5)
676+
        Material=Enum.Material.SmoothPlastic,
677-
	end))
677+
        Reflectance = 0,
678
        Transparency = 1,
679
        BrickColor = BrickColor.new(Color),
680-
function Ragdoll(Character2,CharTorso,KeepArms)
680+
        Name = "Effect",
681-
	coroutine.resume(coroutine.create(function()
681+
        Size = Vector3.new(0,0,0),
682-
		Character2:BreakJoints()
682+
        Anchored = true,
683-
		local hum = Character2:findFirstChild("Humanoid")
683+
        CFrame = CF.N(Pos)
684-
		hum:remove()
684+
    })
685-
		local function Scan(ch)
685+
    local BillboardGui = NewInstance("BillboardGui",EffectPart,{
686-
			local e
686+
        Size = UDim2.new(1.25, 0, 1.25, 0),
687-
			for e = 1,#ch do
687+
        Adornee = EffectPart,
688-
				Scan(ch[e]:GetChildren())
688+
    })
689-
				if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
689+
    local TextLabel = NewInstance("TextLabel",BillboardGui,{
690-
					ch[e]:remove()
690+
        BackgroundTransparency = 1,
691-
				end
691+
        Size = UDim2.new(1, 0, 1, 0),
692-
			end
692+
        Text = Text,
693-
		end
693+
        Font = "Arcade",
694-
		local NEWHUM = IT("Humanoid")
694+
        TextColor3 = Color,
695-
		NEWHUM.Name = "Corpse"
695+
        TextStrokeColor3 = Color3.new(0,0,0),
696-
		NEWHUM.Health = 0
696+
        TextStrokeTransparency=0,
697-
		NEWHUM.MaxHealth = 0
697+
        TextScaled = true,
698-
		NEWHUM.PlatformStand = true
698+
    })
699-
		NEWHUM.Parent = Character2
699+
    S.Debris:AddItem(EffectPart, (Time))
700-
		NEWHUM.DisplayDistanceType = "None"
700+
    EffectPart.Parent = workspace
701-
	
701+
    delay(0, function()
702-
		local ch = Character2:GetChildren()
702+
        Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
703-
		local i
703+
        local Frames = (Time / Rate)
704-
		for i = 1,#ch do
704+
        for Frame = 1, Frames do
705-
			if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
705+
            swait()
706-
				ch[i]:remove()
706+
            local Percent = (Frame / Frames)
707-
			end
707+
            TextLabel.TextTransparency = Percent
708-
		end
708+
            TextLabel.TextStrokeTransparency = Percent
709-
	
709+
710-
		local Torso2 = Character2.Torso
710+
        if EffectPart and EffectPart.Parent then
711-
		local movevector = Vector3.new()
711+
            EffectPart:Destroy()
712-
	
712+
713-
		if Torso2 then
713+
    end) end)()
714-
			movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
714+
715-
			local Head = Character2:FindFirstChild("Head")
715+
716-
			if Head then
716+
function Kill(whom)
717-
				local Neck = Instance.new("Weld")
717+
    if(whom.Name ~= 'Nebula_Zorua')then
718-
				Neck.Name = "Neck"
718+
        local isPlr = Plrs:GetPlayerFromCharacter(whom) ~= nil
719-
				Neck.Part0 = Torso2
719+
        coroutine.wrap(SoulSteal)(whom,isPlr)
720-
				Neck.Part1 = Head
720+
        for _,v in next, whom:children() do
721-
				Neck.C0 = CFrame.new(0, 1.5, 0)
721+
            if(v:IsA'BasePart')then
722-
				Neck.C1 = CFrame.new()
722+
                v.Parent = Effects
723-
				Neck.Parent = Torso2
723+
                v:ClearAllChildren()
724-
	
724+
                v.Anchored = true
725-
			end
725+
                v.CanCollide = false
726-
			local Limb = Character2:FindFirstChild("Right Arm")
726+
                v.Transparency = 1
727-
			if Limb and KeepArms == true then
727+
                local dust = NewInstance("ParticleEmitter",v,{
728-
	
728+
                    Color = ColorSequence.new(C3.N(1,1,1)),
729-
				Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
729+
                    LightEmission=0,
730-
				local Joint = Instance.new("Glue")
730+
                    LightInfluence=1,
731-
				Joint.Name = "RightShoulder"
731+
                    Size=NumberSequence.new{NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(1,0,0)},
732-
				Joint.Part0 = Torso2
732+
                    Texture="rbxassetid://284205403",
733-
				Joint.Part1 = Limb
733+
                    Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)},
734-
				Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
734+
                    Lifetime = NumberRange.new(1),
735-
				Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
735+
                    Rate=150,
736-
				Joint.Parent = Torso2
736+
                    Acceleration = V3.N(0,10,0),
737-
	
737+
                    Speed = NumberRange.new(5),
738-
				local B = Instance.new("Part")
738+
                    Enabled = true
739-
				B.TopSurface = 0
739+
                })
740-
				B.BottomSurface = 0
740+
                delay(1, function()
741-
				B.formFactor = "Symmetric"
741+
                    dust.Enabled = false
742-
				B.Size = Vector3.new(1, 1, 1)
742+
                    S.Debris:AddItem(v,2)
743-
				B.Transparency = 1
743+
                end)
744-
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
744+
            end
745-
				B.Parent = Character2
745+
746-
				local W = Instance.new("Weld")
746+
    else
747-
				W.Part0 = Limb
747+
        warn"nope. nawt happenin'"
748-
				W.Part1 = B
748+
    end
749-
				W.C0 = CFrame.new(0, -0.5, 0)
749+
750-
				W.Parent = Limb
750+
751-
	
751+
function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
752-
			end
752+
    if(who)then
753-
			local Limb = Character2:FindFirstChild("Left Arm")
753+
        local hum = who:FindFirstChildOfClass'Humanoid'
754-
			if Limb and KeepArms == true then
754+
        local Damage = M.RNG(minDam,maxDam)
755-
	
755+
        local canHit = true
756-
				Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
756+
        if(hum)then
757-
				local Joint = Instance.new("Glue")
757+
            for _, p in pairs(Hit) do
758-
				Joint.Name = "LeftShoulder"
758+
                if p[1] == hum then
759-
				Joint.Part0 = Torso2
759+
                    if(time() - p[2] < 0.4) then
760-
				Joint.Part1 = Limb
760+
                        canHit = false
761-
				Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
761+
                    else
762-
				Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
762+
                        Hit[_] = nil
763-
				Joint.Parent = Torso2
763+
                    end
764-
	
764+
                end
765-
				local B = Instance.new("Part")
765+
            end
766-
				B.TopSurface = 0
766+
            if(canHit)then
767-
				B.BottomSurface = 0
767+
                table.insert(Hit,{hum,time()})
768-
				B.formFactor = "Symmetric"
768+
                if(GetTorso(who))then
769-
				B.Size = Vector3.new(1, 1, 1)
769+
                    Sound(GetTorso(who),406913243,1,10,false,true,true)
770-
				B.Transparency = 1
770+
                end
771-
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
771+
                if(hum.Health >= math.huge)then
772-
				B.Parent = Character2
772+
                    Kill(who)
773-
				local W = Instance.new("Weld")
773+
                    if(who:FindFirstChild'Head' and hum.Health > 0)then
774-
				W.Part0 = Limb
774+
                        ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "INSTANT", 3, DamageColor.Color)
775-
				W.Part1 = B
775+
                    end
776-
				W.C0 = CFrame.new(0, -0.5, 0)
776+
                else
777-
				W.Parent = Limb
777+
                    local player = S.Players:GetPlayerFromCharacter(who)
778-
	
778+
                    if(Type == "Fire")then
779-
			end
779+
                        --idk..
780-
			local Limb = Character2:FindFirstChild("Right Leg")
780+
                    else
781-
			if Limb then
781+
                        local  c = Instance.new("ObjectValue",hum)
782-
	
782+
                        c.Name = "creator"
783-
				Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
783+
                        c.Value = Plr
784-
				local Joint = Instance.new("Glue")
784+
                        game:service'Debris':AddItem(c,0.35)
785-
				Joint.Name = "RightHip"
785+
                        local Crit = false
786-
				Joint.Part0 = Torso2
786+
                        if(M.RNG(1,100) <= (critChance or 0) and critMult > 1)then
787-
				Joint.Part1 = Limb
787+
                            Crit = true
788-
				Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
788+
                            Damage = Damage*(critMult or 2)
789-
				Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
789+
                        end
790-
				Joint.Parent = Torso2
790+
                        Damage = Damage*((Souls/5)+1)
791-
	
791+
                        if(who:FindFirstChild'Head' and hum.Health > 0)then
792-
				local B = Instance.new("Part")
792+
                            ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), (Crit and "[CRIT] " or "").. math.floor(Damage), 3, (Crit and BrickColor.new'New Yeller'.Color or DamageColor.Color))
793-
				B.TopSurface = 0
793+
                        end
794-
				B.BottomSurface = 0
794+
                       
795-
				B.formFactor = "Symmetric"
795+
                        if(hum.Health - Damage <= 0)then
796-
				B.Size = Vector3.new(1, 1, 1)
796+
                            Kill(who)
797-
				B.Transparency = 1
797+
                        else
798-
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
798+
                            hum.Health = hum.Health - Damage
799-
				B.Parent = Character2
799+
                            if(Type == 'Knockback' and GetTorso(who))then
800-
				local W = Instance.new("Weld")
800+
                                local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
801-
				W.Part0 = Limb
801+
                                local body = NewInstance('BodyVelocity',GetTorso(who),{
802-
				W.Part1 = B
802+
                                    P = 500,
803-
				W.C0 = CFrame.new(0, -0.5, 0)
803+
                                    maxForce = V3.N(math.huge,0,math.huge),
804-
				W.Parent = Limb
804+
                                    velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
805-
	
805+
                                })
806-
			end
806+
                                game:service'Debris':AddItem(body,.5)
807-
			local Limb = Character2:FindFirstChild("Left Leg")
807+
                            elseif(Type == "Electric")then
808-
			if Limb then
808+
                                if(M.RNG(1,100) >= critChance)then
809-
	
809+
                                    if(who:FindFirstChild'Head' and hum.Health > 0)then
810-
				Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
810+
                                        ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[PARALYZED]", 3, BrickColor.new"New Yeller".Color)
811-
				local Joint = Instance.new("Glue")
811+
                                    end
812-
				Joint.Name = "LeftHip"
812+
                                    local asd = hum.WalkSpeed/2
813-
				Joint.Part0 = Torso2
813+
                                    hum.WalkSpeed = asd
814-
				Joint.Part1 = Limb
814+
                                    local paralyzed = true
815-
				Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
815+
                                    coroutine.wrap(function()
816-
				Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
816+
                                        while paralyzed do
817-
				Joint.Parent = Torso2
817+
                                            swait(25)
818-
	
818+
                                            if(M.RNG(1,25) == 1)then
819-
				local B = Instance.new("Part")
819+
                                                if(who:FindFirstChild'Head' and hum.Health > 0)then
820-
				B.TopSurface = 0
820+
                                                    ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[STATIC]", 3, BrickColor.new"New Yeller".Color)
821-
				B.BottomSurface = 0
821+
                                                end
822-
				B.formFactor = "Symmetric"
822+
                                                hum.PlatformStand = true
823-
				B.Size = Vector3.new(1, 1, 1)
823+
                                            end
824-
				B.Transparency = 1
824+
                                        end
825-
				B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
825+
                                    end)()
826-
				B.Parent = Character2
826+
                                    delay(4, function()
827-
				local W = Instance.new("Weld")
827+
                                        paralyzed = false
828-
				W.Part0 = Limb
828+
                                        hum.WalkSpeed = hum.WalkSpeed + asd
829-
				W.Part1 = B
829+
                                    end)
830-
				W.C0 = CFrame.new(0, -0.5, 0)
830+
                                end
831-
				W.Parent = Limb
831+
                               
832-
	
832+
                            elseif(Type == 'Knockdown' and GetTorso(who))then
833-
			end
833+
                                local rek = GetTorso(who)
834-
			--[
834+
                                hum.PlatformStand = true
835-
			local Bar = Instance.new("Part")
835+
                                delay(1,function()
836-
			Bar.TopSurface = 0
836+
                                    hum.PlatformStand = false
837-
			Bar.BottomSurface = 0
837+
                                end)
838-
			Bar.formFactor = "Symmetric"
838+
                                local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
839-
			Bar.Size = Vector3.new(1, 1, 1)
839+
                                local bodvol = NewInstance("BodyVelocity",rek,{
840-
			Bar.Transparency = 1
840+
                                    velocity = angle * Knock,
841-
			Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
841+
                                    P = 5000,
842-
			Bar.Parent = Character2
842+
                                    maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
843-
			local Weld = Instance.new("Weld")
843+
                                })
844-
			Weld.Part0 = Torso2
844+
                                local rl = NewInstance("BodyAngularVelocity",rek,{
845-
			Weld.Part1 = Bar
845+
                                    P = 3000,
846-
			Weld.C0 = CFrame.new(0, 0.5, 0)
846+
                                    maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
847-
			Weld.Parent = Torso2
847+
                                    angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
848-
			--]]
848+
                                })
849-
		end
849+
                                game:GetService("Debris"):AddItem(bodvol, .5)
850-
		Character2.Parent = workspace
850+
                                game:GetService("Debris"):AddItem(rl, .5)
851-
		Debris:AddItem(Character2,5)
851+
                            end
852-
	
852+
                        end
853-
		return Character2,Torso2
853+
                    end
854-
	end))
854+
                end
855
            end
856
        end
857-
--//=================================\\
857+
    end
858-
--||	     WEAPON CREATION
858+
859-
--\\=================================//
859+
860
 
861-
local DUST = CreateParticles(RightArm,VT(0,0,0),5,2,"Smoke",false,false,5,0)
861+
function AOEDamage(where,range,minDam,maxDam,Knock,Type,critChance,critMult)
862-
DUST.ZOffset = 1
862+
    for _,v in next, getRegion(where,range,{Char}) do
863-
RightArm.Transparency = 1
863+
        if(v.Name ~= 'Nebula_Zorua')then
864-
local BasePart = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(1,2,1),false)
864+
            if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
865-
CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
865+
                DealDamage(v.Parent,minDam,maxDam,Knock,Type,critChance,critMult)
866-
local Sphere = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(1.4,1.4,1.4),false)
866+
            end
867-
MakeForm(Sphere,"Ball")
867+
868-
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Sphere, CF(0.2,0.8,0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
868+
    end
869-
local LaserPart = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0.3,0.3,0.1),false)
869+
870-
MakeForm(LaserPart,"Ball")
870+
871-
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, LaserPart, CF(0,0,-0.65) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
871+
function AOEKill(where,range)
872-
local Bump = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.3,0.2),false)
872+
    for _,v in next, getRegion(where,range,{Char,Effects}) do
873-
MakeForm(Bump,"Ball")
873+
        local succ,alive = pcall(function() return v.Parent:FindFirstChildOfClass'Humanoid'.Health > 0 end)
874-
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, Bump, CF(0,0,0.65) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
874+
        if(v.Name ~= 'Nebula_Zorua')then
875-
local BottomLaser = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0.4,0,0.4),false)
875+
            if(v.Parent and alive == true)then
876-
MakeForm(BottomLaser,"Cyl")
876+
                coroutine.wrap(Kill)(v.Parent)
877-
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, BottomLaser, CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
877+
            end
878-
local Part1 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.5,0.5),false)
878+
879-
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part1, CF(0,-0.76,-0.26) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
879+
    end
880-
local Part2 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.5,0.5),false)
880+
881-
CreateWeldOrSnapOrMotor("Weld", BasePart, Part1, Part2, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, -0.25, 0))
881+
882-
local Part3 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.5,0.5),false)
882+
function AOEHeal(where,range,amount)
883-
CreateWeldOrSnapOrMotor("Weld", BasePart, Part1, Part3, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-90)), CF(0, -0.26, 0))
883+
    local healed = {}
884-
local Part4 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.56,0.5),false)
884+
    for _,v in next, getRegion(where,range,{Char}) do
885-
CreateWeldOrSnapOrMotor("Weld", BasePart, Part2, Part4, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, -0.26, 0))
885+
        local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
886-
local Part5 = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.56,0.5),false)
886+
        if(hum and not healed[hum])then
887-
CreateWeldOrSnapOrMotor("Weld", BasePart, Part4, Part5, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-125)), CF(0, -0.26, 0))
887+
            hum.Health = hum.Health + amount
888-
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.25,0.5),false)
888+
            if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
889-
CreateWeldOrSnapOrMotor("Weld", BasePart, Part4, Part, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, -0.26/2, 0))
889+
                ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
890-
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(0,0.3,0.5),false)
890+
            end
891-
CreateWeldOrSnapOrMotor("Weld", BasePart, Part2, Part, CF(0,0.25,0) * ANGLES(RAD(0), RAD(0), RAD(-65)), CF(0, -0.31/2, 0))
891+
892-
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(1.4,0,1.4),false)
892+
    end
893-
MakeForm(Part,"Cyl")
893+
894-
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, Part, CF(0.035,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
894+
895-
local Part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Part", VT(1.4,0,1.4),false)
895+
896-
MakeForm(Part,"Cyl")
896+
--// Attack Functions \\--
897-
CreateWeldOrSnapOrMotor("Weld", Sphere, Sphere, Part, CF(0,-0.035,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
897+
898-
local Sphere = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Part", VT(0.3,1.6,0.7),false)
898+
899-
MakeForm(Sphere,"Ball")
899+
function Slash()
900-
CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Sphere, CF(0.45,0.5,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
900+
    Attack = true
901
    NeutralAnims = false
902-
for _, c in pairs(Weapon:GetChildren()) do
902+
    local sound = Sound(Knife,357417055,1,5,false,true,false)
903-
	if c.ClassName == "Part" then
903+
    for i = 0, 2, 0.1 do
904-
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
904+
        swait()
905-
	end
905+
        local Alpha = .2
906
        RJ.C0 = clerp(RJ.C0,CFrame.new(0.0343287587, 0.00629056804, 0.0572580174, 0.943793893, 0.00207689893, 0.330528289, 1.0000764e-06, 0.99998033, -0.00628630351, -0.330534875, 0.00593330665, 0.943775296),Alpha)
907
        LH.C0 = clerp(LH.C0,CFrame.new(-0.496478021, -0.990818381, 0.021652732, 0.999878168, 0, 0.0156089365, -9.80779296e-05, 0.99998033, 0.00628268253, -0.0156086385, -0.00628344761, 0.999858379),Alpha)
908-
local SKILLTEXTCOLOR = C3(1,0,0)
908+
        RH.C0 = clerp(RH.C0,CFrame.new(0.498511612, -0.990985274, 0.0154910646, 0.999878168, 0, 0.0156089365, -9.80779296e-05, 0.99998033, 0.00628268253, -0.0156086385, -0.00628344761, 0.999858379),Alpha)
909-
local SKILLFONT = "SciFi"
909+
        LS.C0 = clerp(LS.C0,CFrame.new(-1.32692134, 0.474511296, -0.0055731535, 0.934981823, 0.354351997, 0.0156129003, -0.354479939, 0.93504262, 0.00628374517, -0.0123721063, -0.0114096552, 0.999858379),Alpha)
910-
local SKILLTEXTSIZE = 5
910+
        RS.C0 = clerp(RS.C0,CFrame.new(1.12629449, 0.369358033, -0.486052871, 0.490151912, 0.65154773, 0.57899636, 0.721657813, 0.0691910982, -0.688783586, -0.488836735, 0.755445719, -0.436280251),Alpha)
911
        NK.C0 = clerp(NK.C0,CFrame.new(-0.0118216109, 1.49854016, -0.0795068145, 0.943793833, 0.0190048125, -0.329988182, 0.00207654224, 0.997985244, 0.0634154305, 0.330528468, -0.0605363287, 0.94185257),Alpha)
912-
Weapon.Parent = Character
912+
        HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
913
    end
914-
Humanoid.Died:connect(function()
914+
    KTrail.Enabled = true
915-
	ATTACK = true
915+
    sound:Play()
916
    for i = 0, 2.5, 0.1 do
917
        swait()
918-
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
918+
        AOEDamage(Knife.CFrame.p,1,15,30,0,"Normal",0,1)
919-
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
919+
        local Alpha = .25
920-
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
920+
        RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0352100767, 0.00629066909, -0.0097481478, 0.817972422, -0.00361463916, -0.575246274, -1.74103582e-06, 0.99998033, -0.00628598873, 0.575257719, 0.00514276745, 0.817956269),Alpha)
921-
local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
921+
        LH.C0 = clerp(LH.C0,CFrame.new(-0.496478021, -0.990818381, 0.0216572341, 0.999878287, 0, 0.015610218, -9.80866607e-05, 0.99998033, 0.00628274865, -0.0156098902, -0.00628351374, 0.999858499),Alpha)
922-
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.74, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
922+
        RH.C0 = clerp(RH.C0,CFrame.new(0.498511702, -0.990985274, 0.0154905058, 0.999878287, 0, 0.015610218, -9.80866607e-05, 0.99998033, 0.00628274865, -0.0156098902, -0.00628351374, 0.999858499),Alpha)
923-
local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
923+
        LS.C0 = clerp(LS.C0,CFrame.new(-1.32694602, 0.474510223, -0.00555660389, 0.934981823, 0.354351729, 0.0156157613, -0.354479671, 0.935042739, 0.00628153514, -0.012375474, -0.0114085823, 0.999858379),Alpha)
924
        RS.C0 = clerp(RS.C0,CFrame.new(1.23906493, 0.406229913, 0.00231830776, 0.49015066, -0.849889755, 0.193494052, 0.721655607, 0.520183682, 0.456752002, -0.488841236, -0.0842411816, 0.868295968),Alpha)
925-
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 1")
925+
        NK.C0 = clerp(NK.C0,CFrame.new(0.0315471888, 1.49887729, -0.0257819965, 0.817972481, -0.0330747738, 0.574305832, -0.00361499586, 0.998030663, 0.0626262054, -0.575246155, -0.0533026271, 0.81624186),Alpha)
926-
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 2")
926+
        HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
927-
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 3")
927+
    end
928-
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 4")
928+
    KTrail.Enabled = false
929-
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[E]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 5")
929+
    Attack = false
930-
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[X]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Text 6")
930+
    NeutralAnims = true
931
end
932-
--//=================================\\
932+
933-
--||	ATTACK FUNCTIONS AND STUFF
933+
Mouse.Button1Down:connect(function()
934-
--\\=================================//
934+
    if(Attack)then return end
935
    Slash()
936-
function Warp()
936+
937-
	local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 100, Character)
937+
938-
	if HITFLOOR then
938+
Mouse.KeyDown:connect(function(k)
939-
		CharacterFade(C3(0.5,0,0),50)
939+
    if(Attack)then return end
940-
		HITPOS = HITPOS + VT(0,3.5,0)
940+
    if(k == 'z')then AOEKill(Root.CFrame.p,25) end -- TODO: Animation and effects
941-
		local POS = RootPart.Position
941+
    if(k == 'q')then WalkSpeed = (WalkSpeed == 8 and 50 or 8) end  
942-
		RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
942+
943-
		CreateSound(289556450,Torso,2,MRANDOM(8,13)/10,false)
943+
944-
	end
944+
945
function Refuse()
946
    Attack = true
947-
function Dash()
947+
    warn("B u t  i t  r e f u s e d.")
948-
	ATTACK = true
948+
    local oMH = MaxHealth
949-
	Rooted = true
949+
    MaxHealth = "inf"
950-
	local SOUND = CreateSound(1165167610, Torso, 1, 1, true)
950+
    Hum.MaxHealth = "inf"
951-
	local LOOP = 0
951+
    Hum.Health = "inf"
952-
	repeat
952+
    Char.Parent = nil
953-
		LOOP = LOOP + 1
953+
    Hum:destroy()
954-
		Swait()
954+
    if(not _G.RefusedAnimation)then
955-
		local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, 5, workspace)	
955+
        _G.RefusedAnimation = true
956-
		local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 100, Character)
956+
       
957-
		if HITFLOOR then
957+
   
958-
			CharacterFade(C3(0.5,0,0),35)
958+
        local Soul;
959-
			HITPOS = HITPOS + VT(0,3.5,0)
959+
        function Soul(where,decalId)
960-
			local POS = RootPart.Position
960+
            local destroy = false  
961-
			RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
961+
            local soul = NewInstance("Part",workspace)
962-
			RootPart.Velocity = VT(0,0,0)
962+
            soul.Name = "Soul"
963-
			RootPart.RotVelocity = VT(0,0,0)
963+
            soul.Transparency=1
964-
		end
964+
            soul.Size = V3.N(2,2,.05)
965-
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(75), RAD(0), RAD(0)), 1 / Animation_Speed)
965+
            soul.Anchored=true
966-
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
966+
            soul.CanCollide=false
967-
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
967+
            soul.CFrame = where
968-
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
968+
            local heartF = NewInstance("Decal",soul,{Face=Enum.NormalId.Front,Texture="rbxassetid://"..decalId})
969-
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
969+
            local heartB = NewInstance("Decal",soul,{Face=Enum.NormalId.Back,Texture="rbxassetid://"..decalId})
970-
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
970+
            return soul,heartF,heartB
971-
	until KEYHOLD == false
971+
972-
	coroutine.resume(coroutine.create(function()
972+
        local owo = Root.CFrame
973-
		for i = 1, 20 do
973+
        local s,f,b = Soul(owo,1569347904)
974-
			Swait()
974+
        swait(60)
975-
			SOUND.Volume = SOUND.Volume - 1/20
975+
        local snd = Sound(s,862552636,1,5,false,false,false)
976-
		end
976+
        snd:Play()
977-
		SOUND:remove()
977+
        f.Texture = "rbxassetid://1569348344"
978-
	end))
978+
        b.Texture = "rbxassetid://1569348344"
979-
	if LOOP > 50 then
979+
        swait(15)
980-
		CreateSound(772085046,Torso,5,MRANDOM(8,13)/10,false)
980+
        snd:Stop()
981-
		for i = 1, 100 do
981+
        swait(60)
982-
			Swait()
982+
        print'lol'
983-
			RootPart.CFrame = RootPart.CFrame * CF(0,0,-(1-(i/100))/3)
983+
        for i = 0, 6, .1 do
984-
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,0.5,1), Size2 = VT(2,0,2), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RightLeg.CFrame*CF(0,-1,0).p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0.3,0.3), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
984+
            swait()
985-
			WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(1,0.5,1), Size2 = VT(2,0,2), Transparency = 0.7, Transparency2 = 1, CFrame = CF(LeftLeg.CFrame*CF(0,-1,0).p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0.3,0.3,0.3), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
985+
            s.CFrame = owo * CF.N(M.RNG(-50,50)/100,M.RNG(-50,50)/100,M.RNG(-50,50)/100)
986-
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
986+
987-
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
987+
        local snd = Sound(s,862552636,1,5,false,false,false)
988-
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
988+
        snd:Play()
989-
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
989+
        s.CFrame = owo
990-
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
990+
        f.Texture = "rbxassetid://1569347904"
991-
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
991+
        b.Texture = "rbxassetid://1569347904"
992-
		end
992+
        swait(15)
993-
	end
993+
        snd:Stop()
994-
	ATTACK = false
994+
        swait(60)
995-
	Rooted = false
995+
   
996
        s:destroy()
997
    end
998-
function LimbRip()
998+
   
999-
	ATTACK = true
999+
    RJ.Parent = Char
1000-
	Rooted = false
1000+
    LS.Parent = Char
1001-
	local TARGET = nil
1001+
    RS.Parent = Char
1002-
	local ROOT = nil
1002+
    LH.Parent = Char
1003-
	local HUMAN = nil
1003+
    RH.Parent = Char
1004-
	local DIST = 4
1004+
    NK.Parent = Char
1005-
	Speed = 12
1005+
   
1006-
	for i=0, 1, 0.1 / Animation_Speed do
1006+
    LArm.Parent = Char
1007-
		Swait()
1007+
    RArm.Parent = Char
1008-
		local CHILDREN = workspace:GetDescendants()
1008+
    LLeg.Parent = Char
1009-
		for index, CHILD in pairs(CHILDREN) do
1009+
    LArm.Parent = Char
1010-
			if CHILD.ClassName == "Model" and CHILD ~= Character then
1010+
    Root.Parent = Char
1011-
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1011+
    Torso.Parent = Char
1012-
				if HUM then
1012+
    Head.Parent = Char
1013-
					local TORSO = CHILD:FindFirstChild("HumanoidRootPart") or CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1013+
   
1014-
					if TORSO and HUM.Health > 0 then
1014+
    Knife.Parent = Char
1015-
						if (TORSO.Position - RightArm.Position).Magnitude <= DIST then
1015+
    Hair.Parent = Char
1016-
							DIST = (TORSO.Position - RightArm.Position).Magnitude
1016+
   
1017-
							ROOT = TORSO
1017+
    HW.Parent = Char
1018-
							HUMAN = HUM
1018+
    HW2.Parent = Char
1019-
							TARGET = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1019+
   
1020-
						end
1020+
1021-
					end
1021+
    REye:destroy()
1022-
				end
1022+
    LEye:destroy()
1023-
			end
1023+
   
1024-
		end
1024+
1025-
		if ROOT then
1025+
    Hum = NewInstance("Humanoid",Char,{DisplayDistanceType='None'})
1026-
			break
1026+
    ConnectHum()
1027-
		end
1027+
    MaxHealth = oMH
1028-
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1028+
    Hum.MaxHealth = MaxHealth
1029-
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(-25)), 1 / Animation_Speed)
1029+
    Hum.Health = MaxHealth
1030-
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1030+
    swait(5)
1031-
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1031+
    Char.Parent = workspace
1032-
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1032+
   
1033-
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1033+
    Attack = false
1034-
	end
1034+
1035-
	Speed = 16
1035+
1036-
	if ROOT then
1036+
function ConnectHum()
1037-
		CreateSound(305685800,Torso,5,1.3,false)
1037+
    Hum.Died:connect(Refuse)
1038-
		Rooted = true
1038+
1039-
		local GORED = false
1039+
ConnectHum()
1040-
		coroutine.resume(coroutine.create(function()
1040+
1041-
			repeat
1041+
1042-
				Swait()
1042+
--// Wrap it all up \\--
1043-
				ROOT.Anchored = true
1043+
1044-
			until GORED == true
1044+
    swait()
1045-
			ROOT.Anchored = false
1045+
    Sine = Sine + Change
1046-
		end))
1046+
    if(not Music)then
1047-
		RootPart.CFrame = ROOT.CFrame*CF(0,0,2.25)
1047+
        Music = Sound(Torso,MusicID,1,3,true,false,true)
1048-
		if TARGET.Name == "Torso" then
1048+
        Music.Name = 'Music'
1049-
			local RARM = TARGET.Parent:FindFirstChild("Right Arm")
1049+
    end
1050-
			local LARM = TARGET.Parent:FindFirstChild("Left Arm")
1050+
    Music.Pitch = 1
1051-
			if RARM and LARM then
1051+
    Music.Volume = 5
1052-
				for i=0, 1, 0.1 / Animation_Speed do
1052+
    Music.SoundId = "rbxassetid://"..MusicID
1053-
					Swait()
1053+
    Music.Parent = Torso
1054-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1054+
    Music:Resume()
1055-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1055+
    local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * 4), Char)
1056-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1056+
    local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
1057-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1057+
    local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and "Walk" or hitfloor and "Idle")
1058-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1058+
    if(not Effects or not Effects.Parent)then
1059-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1059+
        Effects = IN("Model",Char)
1060-
				end
1060+
        Effects.Name = "Effects"
1061-
				for _, c in pairs(TARGET.Parent:GetDescendants()) do
1061+
    end
1062-
					if c:IsA("JointInstance") then
1062+
    Hum.WalkSpeed = WalkSpeed
1063-
						if c.Part1 == RARM or c.Part1 == LARM or c.Part0 == RARM or c.Part0 == LARM then
1063+
    if(State == 'Walk')then
1064-
							c:remove()
1064+
        if(Hum.WalkSpeed >= 24)then
1065-
						end
1065+
            local wsVal = 22 / (Hum.WalkSpeed/16)
1066-
					end
1066+
            local Alpha = math.min(.1 * (Hum.WalkSpeed/16),1)
1067-
				end
1067+
            Change = 2
1068-
				CreateSound(363808674, TARGET, 3, MRANDOM(7,9)/10, false)
1068+
            RH.C1 = RH.C1:lerp(CF.N(0,1,0)*CF.N(0,0-.2*M.C(Sine/wsVal),0+.4*M.C(Sine/wsVal))*CF.A(M.R(25+45*M.C(Sine/wsVal))+-M.S(Sine/wsVal),0,0),Alpha)
1069-
				CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1069+
            LH.C1 = LH.C1:lerp(CF.N(0,1,0)*CF.N(0,0+.2*M.C(Sine/wsVal),0-.4*M.C(Sine/wsVal))*CF.A(M.R(25-45*M.C(Sine/wsVal))+M.S(Sine/wsVal),0,0),Alpha)
1070-
				CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1070+
        else
1071-
				for i=0, 1, 0.1 / Animation_Speed do
1071+
            Change = .9
1072-
					Swait()
1072+
            local wsVal = 8 / (Hum.WalkSpeed/8)
1073-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1073+
            local Alpha = math.min(.2 * (Hum.WalkSpeed/8),1)
1074-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1074+
            LH.C1 = LH.C1:lerp(CF.N(0,1-.2*M.C(Sine/wsVal)/2,.4*M.C(Sine/wsVal)/2)*CF.A(M.R(15-2*M.C(Sine/wsVal))-M.S(Sine/wsVal)/2.5,0,0)*CF.A(M.R(0-3*M.C(Sine/wsVal)),0,0),Alpha)
1075-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1075+
            RH.C1 = RH.C1:lerp(CF.N(0,1+.2*M.C(Sine/wsVal)/2,-.4*M.C(Sine/wsVal)/2)*CF.A(M.R(15+2*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2.5,0,0)*CF.A(M.R(0+3*M.C(Sine/wsVal)),0,0),Alpha)
1076-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1076+
1077-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1077+
    else
1078-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1078+
        RH.C1 = RH.C1:lerp(CF.N(0,1,0),.1)
1079-
				end
1079+
        LH.C1 = LH.C1:lerp(CF.N(0,1,0),.1)
1080-
				for i=0, 1, 0.1 / Animation_Speed do
1080+
    end
1081-
					Swait()
1081+
    for _,v in next, Char:children() do
1082-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
1082+
        if(v:IsA'Accessory')then
1083-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1083+
            v:destroy()
1084-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1084+
        elseif(v:IsA'Shirt')then
1085-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1085+
            v.ShirtTemplate = "rbxassetid://708317707"
1086-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,1.5,0), 1 / Animation_Speed)
1086+
        elseif(v:IsA'Pants')then
1087-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1087+
            v.PantsTemplate = "rbxassetid://930236162"
1088-
				end
1088+
        elseif(v:IsA'CharacterMesh')then
1089-
				for i=0, 0.1, 0.1 / Animation_Speed do
1089+
            v:destroy()
1090-
					Swait()
1090+
        elseif(v:FindFirstChildOfClass'ShirtGraphic')then
1091-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1091+
            v:FindFirstChildOfClass'ShirtGraphic':destroy()
1092-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1092+
1093-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1093+
    end
1094-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1094+
    local face = Head:FindFirstChild'face'
1095-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1095+
    if(not face)then
1096-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1096+
        NewInstance("Decal",Head,{Name='face',Face=Enum.NormalId.Front,Texture="rbxassetid://1019155286"})
1097-
				end
1097+
    else
1098-
				GORED = true
1098+
        face.Texture = "rbxassetid://1019155286"
1099-
				Ragdoll(TARGET.Parent,Torso)
1099+
    end
1100-
				if ROOT.Name ~= "Torso" then
1100+
    RArm.BrickColor = BrickColor.new'Institutional white'
1101-
					ROOT:remove()
1101+
    LArm.BrickColor = BrickColor.new'Institutional white'
1102-
				end
1102+
    RLeg.BrickColor = BrickColor.new'Institutional white'
1103-
				local RGRAB = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1103+
    LLeg.BrickColor = BrickColor.new'Institutional white'
1104-
				local LGRAB = CreateWeldOrSnapOrMotor("Weld", LeftArm, LeftArm, LARM, CF(0,-1.35,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
1104+
    Torso.BrickColor = BrickColor.new'Institutional white'
1105-
				local bv = Instance.new("BodyVelocity",TARGET) 
1105+
    Head.BrickColor = BrickColor.new'Institutional white'
1106-
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1106+
    Hum.Name = 'Chara'
1107-
				bv.velocity = TARGET.CFrame.lookVector*75
1107+
    if(Hum.MaxHealth ~= MaxHealth)then
1108-
				Debris:AddItem(bv,0.05)
1108+
        Hum.MaxHealth = MaxHealth
1109-
				CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
1109+
    end
1110-
				for i=0, 0.5, 0.1 / Animation_Speed do
1110+
    Hum.DisplayDistanceType='None'
1111-
					Swait()
1111+
    if(NeutralAnims)then   
1112-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1112+
        if(State == 'Idle')then
1113-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1113+
            Change = 1
1114-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1114+
            local Alpha = .1
1115-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(160), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1115+
            RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0999571308, 0+.05*M.C(Sine/16), -0.237876296, 0.857335567, -0.00323621999, -0.514731407, 0, 0.99998033, -0.00628707698, 0.51474154, 0.00539013464, 0.85731858),Alpha)
1116-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1116+
            LH.C0 = clerp(LH.C0,CFrame.new(-0.536091685, -0.991042495-.05*M.C(Sine/16), -0.0134909991, 0.849195242, 0, 0.528063774, -0.00331997755, 0.99998033, 0.00533895614, -0.528053343, -0.00628707698, 0.849178433),Alpha)
1117-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1117+
            RH.C0 = clerp(RH.C0,CFrame.new(0.529067397, -0.991597891-.05*M.C(Sine/16), -0.0818087086, 0.849195242, 0, 0.528063774, -0.00331997755, 0.99998033, 0.00533895614, -0.528053343, -0.00628707698, 0.849178433),Alpha)
1118-
				end
1118+
            LS.C0 = clerp(LS.C0,CFrame.new(-1.32175505, 0.156236127+.15*M.C(Sine/16), 0.233877867, 0.877554953, -0.456876248, 0.145469457, 0.259513229, 0.707695842, 0.657129884, -0.403175086, -0.538916171, 0.739607573),Alpha)
1119-
				for i=0, 1, 0.1 / Animation_Speed do
1119+
            RS.C0 = clerp(RS.C0,CFrame.new(1.2516855, 0.604915917+.15*M.C(Sine/16), -0.0189059302, 0.915104508, -0.287113011, -0.283108115, 0.301054537, 0.953587949, 0.00603589695, 0.268235415, -0.0907544345, 0.959069014),Alpha)
1120-
					Swait()
1120+
            NK.C0 = clerp(NK.C0,CFrame.new(1.79447234e-05, 1.49895597, -0.0143749639, 0.769539058, -0.360377938, 0.527197778, 0.387706369, 0.919646919, 0.0627188534, -0.507438183, 0.156133309, 0.847424924),Alpha)
1121-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1121+
            HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
1122-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1122+
            -- idle
1123-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
1123+
        elseif(State == 'Walk')then
1124-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.6 / Animation_Speed)
1124+
            if(Hum.WalkSpeed >= 24)then
1125-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1125+
                local wsVal = 22 / (Hum.WalkSpeed/16)
1126-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1126+
                local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
1127-
				end
1127+
                RJ.C0 = RJ.C0:lerp(CF.N(0,0-.15*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-15),M.R(0-15*M.S(Sine/wsVal)/2),0),Alpha)
1128-
				local HITBOX = CreatePart(3, RARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
1128+
                LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+45*M.S(Sine/wsVal)),0,M.R(-5+15*M.S(Sine/wsVal))),Alpha)
1129-
				HITBOX.CFrame = RARM.CFrame
1129+
                RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-45*M.S(Sine/wsVal)),0,M.R(5+15*M.S(Sine/wsVal))),Alpha)
1130-
				HITBOX.CanCollide = true
1130+
                NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(15),0,0),Alpha)
1131-
				weldBetween(RARM,HITBOX)
1131+
                LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.15*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(15),0,0),Alpha)
1132-
				local HITBOX = CreatePart(3, LARM, "Metal", 0, 1, "Really black", "Part", RARM.Size, false)
1132+
                RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.15*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(15),0,0),Alpha)
1133-
				HITBOX.CFrame = LARM.CFrame
1133+
                HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
1134-
				HITBOX.CanCollide = true
1134+
            else
1135-
				weldBetween(LARM,HITBOX)
1135+
                local wsVal = 8 / (Hum.WalkSpeed/8)
1136-
				RGRAB:remove()
1136+
                local Alpha = math.min(.2 * (Hum.WalkSpeed/8),1)
1137-
				LGRAB:remove()
1137+
                RJ.C0 = RJ.C0:lerp(CF.N(0,0-.05*M.C(Sine/(wsVal/2)),0)*CF.A(0,M.R(0-5*M.S(Sine/wsVal)/2),0),Alpha)
1138-
				for i=0, 0.4, 0.1 / Animation_Speed do
1138+
                LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-25*M.S(Sine/wsVal)),0,M.R(5-5*M.S(Sine/wsVal))),Alpha)
1139-
					Swait()
1139+
                RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+25*M.S(Sine/wsVal)),0,M.R(-5-5*M.S(Sine/wsVal))),Alpha)
1140-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1140+
                NK.C0 = NK.C0:lerp(NKC0,Alpha)
1141-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1141+
                LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.05*M.C(Sine/(wsVal/2)),0),Alpha)
1142-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(110)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1142+
                RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.05*M.C(Sine/(wsVal/2)),0),Alpha)
1143-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(-110)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1143+
                HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
1144-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1144+
            end
1145-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1145+
        elseif(State == 'Jump' or State == 'Fall')then
1146-
				end
1146+
            if(Walking)then
1147-
			end
1147+
                local Alpha = .2
1148-
		elseif TARGET.Name == "UpperTorso" then
1148+
                RJ.C0 = clerp(RJ.C0,RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(65)),M.R(65)),0,0),Alpha)
1149-
			if TARGET.Parent:FindFirstChild("RightUpperArm") and TARGET.Parent:FindFirstChild("LeftUpperArm") then
1149+
                LH.C0 = clerp(LH.C0,CFrame.new(-0.497912645, -1.0987643, -0.0683324337, 0.999878228, 0.00860835519, 0.0130246133, -0.00010142161, 0.837816596, -0.545952022, -0.015611981, 0.545884132, 0.837715328),Alpha)
1150-
				for i=0, 0.3, 0.1 / Animation_Speed do
1150+
                RH.C0 = clerp(RH.C0,CFrame.new(0.499978393, -1.16382337, 0.109293163, 0.999878228, -0.0120433727, 0.00993486121, -0.00010142161, 0.631323814, 0.775519371, -0.015611981, -0.775425911, 0.631245613),Alpha)
1151-
					Swait()
1151+
                LS.C0 = clerp(LS.C0,CFrame.new(-1.55211556, 0.576563478, -0.00269976072, 0.976067662, 0.216906726, 0.0156116467, -0.217024669, 0.976145923, 0.00628317893, -0.0138763804, -0.00952091813, 0.999858499),Alpha)
1152-
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1152+
                RS.C0 = clerp(RS.C0,CFrame.new(1.50182188, 0.636661649, 0.00632623257, 0.977592707, -0.209926367, 0.0156121543, 0.209851891, 0.977713108, 0.00628198683, -0.016582964, -0.00286500831, 0.999858439),Alpha)
1153-
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
1153+
                NK.C0 = clerp(NK.C0,CFrame.new(1.14440072e-05, 1.49924362, -0.0143961608, 1.00000024, -5.82076609e-11, 0, 1.23691279e-10, 0.997964919, 0.0637660474, 0, -0.0637660623, 0.997965038),Alpha)
1154-
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.5) * ANGLES(RAD(140), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1154+
                HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
1155-
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1155+
            else
1156-
					RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1156+
                local Alpha = .2
1157-
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1157+
                RJ.C0 = clerp(RJ.C0,RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(65)),M.R(65)),0,0),Alpha)
1158-
				end
1158+
                LH.C0 = clerp(LH.C0,CFrame.new(-0.504374504, -0.291219354, -0.487436086, 0.999878228, -0.00438931212, 0.0149825988, -0.00010142161, 0.957819223, 0.287371844, -0.015611981, -0.287338346, 0.957701981),Alpha)
1159-
				local SAWBLADE = CreatePart(3, Weapon, "Neon", 0, 0.5, "Really red", "Part", VT(0,0,0),false)
1159+
                RH.C0 = clerp(RH.C0,CFrame.new(0.453094482, -0.871358454, 0.0898642987, 0.985589385, -0.168456957, 0.0153662469, 0.162863791, 0.969548643, 0.182895929, -0.0457084104, -0.177757636, 0.983012319),Alpha)
1160-
				local WELD = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, SAWBLADE, CF(0,-1,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
1160+
                LS.C0 = clerp(LS.C0,CFrame.new(-1.55211556, 0.576563478, -0.00269976072, 0.976067662, 0.216906726, 0.0156116467, -0.217024669, 0.976145923, 0.00628317893, -0.0138763804, -0.00952091813, 0.999858499),Alpha)
1161-
				local BLADE = true
1161+
                RS.C0 = clerp(RS.C0,CFrame.new(1.50182188, 0.636661649, 0.00632623257, 0.977592707, -0.209926367, 0.0156121543, 0.209851891, 0.977713108, 0.00628198683, -0.016582964, -0.00286500831, 0.999858439),Alpha)
1162-
				CreateMesh("SpecialMesh", SAWBLADE, "FileMesh", "74322089", "", VT(1,1,1), VT(0,0,0))
1162+
                NK.C0 = clerp(NK.C0,CFrame.new(1.14440072e-05, 1.49924362, -0.0143961608, 1.00000024, -5.82076609e-11, 0, 1.23691279e-10, 0.997964919, 0.0637660474, 0, -0.0637660623, 0.997965038),Alpha)
1163-
				coroutine.resume(coroutine.create(function()
1163+
                HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
1164-
					repeat
1164+
            end
1165-
						Swait()
1165+
        elseif(State == 'Paralyzed')then
1166-
						WELD.C1 = WELD.C1 * ANGLES(RAD(0), RAD(0), RAD(25))
1166+
            -- paralyzed
1167-
					until BLADE == false
1167+
        elseif(State == 'Sit')then
1168-
					SAWBLADE:remove()
1168+
            -- sit
1169-
				end))
1169+
1170-
				CreateSound(1165167936, SAWBLADE, 2, 1, true)
1170+
    end
1171-
				for i=0, 1, 0.1 / Animation_Speed do
1171+
end