Run it
Copy the script and paste it into your executor.
Player=:().LocalPlayer
Character=Player.Character
PlayerGui=Player.PlayerGui
Backpack=Player.Backpack
Torso=Character.Torso
Head=Character.Head
Humanoid=Character.Humanoid
m=.(,Character)
LeftArm=Character[]
LeftLeg=Character[]
RightArm=Character[]
RightLeg=Character[]
LS=Torso[]
LH=Torso[]
RS=Torso[]
RH=Torso[]
Face = Head.face
Neck=Torso.Neck
it=.new
attacktype=
vt=.new
cf=.new
euler=.fromEulerAnglesXYZ
angles=.Angles
cloaked=
necko=(, , , -, -, -, , , , , , )
necko2=(, -, , -, -, -, , , , , , )
LHC0=(-,-,,-,-,-,,,,,,)
LHC1=(-,,,-,-,-,,,,,,)
RHC0=(,-,,,,,,,,-,-,-)
RHC1=(,,,,,,,,,-,-,-)
RootPart=Character.HumanoidRootPart
RootJoint=RootPart.RootJoint
RootCF=(-,,)
attack =
attackdebounce =
deb=
equipped=
hand=
MMouse=
combo=
mana=
trispeed=
attackmode=
idle=
Anim=
Effects={}
gun=
shoot=
player=
mana=
mouse=Player:()
RSH, LSH=,
RW, LW=.(), .()
RW.Name= LW.Name=
LH=Torso[]
RH=Torso[]
TorsoColor=Torso.BrickColor
(Part)
Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = ,,,,,
player=Player
ch=Character
RSH=ch.Torso[]
LSH=ch.Torso[]
RSH.Parent=
LSH.Parent=
RW.Name=
RW.Part0=ch.Torso
RW.C0=(, , )
RW.C1=(, , )
RW.Part1=ch[]
RW.Parent=ch.Torso
LW.Name=
LW.Part0=ch.Torso
LW.C0=(-, , )
LW.C1=(, , )
LW.Part1=ch[]
LW.Parent=ch.Torso
Player=:().LocalPlayer
Character=Player.Character
Mouse=Player:()
m=.(,Character)
(a, b)
weldd = .()
weldd.Part0 = a
weldd.Part1 = b
weldd.C0 = .()
weldd.C1 = b.CFrame:() * a.CFrame
weldd.Parent = a
weldd
it=.new
(part)
part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = ,,,,,
(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
fp=()
fp.formFactor=formfactor
fp.Parent=parent
fp.Reflectance=reflectance
fp.Transparency=transparency
fp.CanCollide=
fp.Locked=
fp.BrickColor=BrickColor.((brickcolor))
fp.Name=name
fp.Size=size
fp.Position=Character.Torso.Position
(fp)
fp.Material=material
fp:()
fp
(Mesh,part,meshtype,meshid,offset,scale)
mesh=(Mesh)
mesh.Parent=part
Mesh==
mesh.MeshType=meshtype
mesh.MeshId=meshid
mesh.Offset=offset
mesh.Scale=scale
mesh
(parent,part0,part1,c0,c1)
weld=()
weld.Parent=parent
weld.Part0=part0
weld.Part1=part1
weld.C0=c0
weld.C1=c1
weld
Player=:().LocalPlayer
Character=Player.Character
Mouse=Player:()
m=.(,Character)
(a, b)
weldd = .()
weldd.Part0 = a
weldd.Part1 = b
weldd.C0 = .()
weldd.C1 = b.CFrame:() * a.CFrame
weldd.Parent = a
weldd
it=.new
(part)
part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = ,,,,,
(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
fp=()
fp.formFactor=formfactor
fp.Parent=parent
fp.Reflectance=reflectance
fp.Transparency=transparency
fp.CanCollide=
fp.Locked=
fp.BrickColor=BrickColor.((brickcolor))
fp.Name=name
fp.Size=size
fp.Position=Character.Torso.Position
(fp)
fp.Material=material
fp:()
fp
(num)
num== num==
:.Heartbeat:()
i=,num
:.Heartbeat:()
(Mesh,part,meshtype,meshid,offset,scale)
mesh=(Mesh)
mesh.Parent=part
Mesh==
mesh.MeshType=meshtype
mesh.MeshId=meshid
mesh.Offset=offset
mesh.Scale=scale
mesh
(parent,part0,part1,c0,c1)
weld=()
weld.Parent=parent
weld.Part0=part0
weld.Part1=part1
weld.C0=c0
weld.C1=c1
weld
(at, top, back)
right = top:(back)
.(at.x, at.y, at.z,
right.x, top.x, back.x,
right.y, top.y, back.y,
right.z, top.z, back.z)
(a, b, c)
edg1 = (c-a):((b-a).unit)
edg2 = (a-b):((c-b).unit)
edg3 = (b-c):((a-c).unit)
edg1 <= (b-a).magnitude edg1 >=
a, b, c = a, b, c
edg2 <= (c-b).magnitude edg2 >=
a, b, c = b, c, a
edg3 <= (a-c).magnitude edg3 >=
a, b, c = c, a, b
(, )
len1 = (c-a):((b-a).unit)
len2 = (b-a).magnitude - len1
width = (a + (b-a).unit*len1 - c).magnitude
maincf = (a, (b-a):(c-b).unit, -(b-a).unit)
list = {}
Color = BrickColor.()
len1 >
w1 = .(, m)
:():(w1,)
w1.Material =
w1.FormFactor =
w1.BrickColor = BrickColor.(Color)
w1.Transparency =
w1.Reflectance =
w1.Material =
w1.CanCollide =
(w1)
sz = .(, width, len1)
w1.Size = sz
sp = .(,w1)
sp.MeshType =
sp.Scale = .(,,) * sz/w1.Size
w1:()
w1.Anchored =
w1.Parent =
w1.Transparency =
.(Effects,{w1,,})
w1.CFrame = maincf*.(.pi,,.pi/)*.(,width/,len1/)
.(list,w1)
len2 >
w2 = .(, m)
:():(w2,)
w2.Material =
w2.FormFactor =
w2.BrickColor = BrickColor.(Color)
w2.Transparency =
w2.Reflectance =
w2.Material =
w2.CanCollide =
(w2)
sz = .(, width, len2)
w2.Size = sz
sp = .(,w2)
sp.MeshType =
sp.Scale = .(,,) * sz/w2.Size
w2:()
w2.Anchored =
w2.Parent =
w2.Transparency =
.(Effects,{w2,,})
w2.CFrame = maincf*.(.pi,.pi,-.pi/)*.(,width/,-len1 - len2/)
.(list,w2)
(list)
so = (id,par,vol,pit)
.(.(()
sou = .(,par )
sou.Volume=vol
sou.Pitch=pit
sou.SoundId=id
()
sou:()
:():(sou,)
))
(a,b,t)
qa = {(a)}
qb = {(b)}
ax, ay, az = a.x, a.y, a.z
bx, by, bz = b.x, b.y, b.z
_t = -t
(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,(qa, qb, t))
(cf)
mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:()
trace = m00 + m11 + m22
trace >
s = .( + trace)
recip = /s
(m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*
i =
m11 > m00
i =
m22 > (i == m00 m11)
i =
i ==
s = .(m00-m11-m22+)
recip = /s
*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
i ==
s = .(m11-m22-m00+)
recip = /s
(m01+m10)*recip, *s, (m21+m12)*recip, (m02-m20)*recip
i ==
s = .(m22-m00-m11+)
recip = /s (m02+m20)*recip, (m12+m21)*recip, *s, (m10-m01)*recip
(px, py, pz, x, y, z, w)
xs, ys, zs = x + x, y + y, z + z
wx, wy, wz = w*xs, w*ys, w*zs
xx = x*xs
xy = x*ys
xz = x*zs
yy = y*ys
yz = y*zs
zz = z*zs
.(px, py, pz,-(yy+zz), xy - wz, xz + wy,xy + wz, -(xx+zz), yz - wx, xz - wy, yz + wx, -(xx+yy))
(a, b, t)
cosTheta = a[]*b[] + a[]*b[] + a[]*b[] + a[]*b[]
startInterp, finishInterp;
cosTheta >=
( - cosTheta) >
theta = .(cosTheta)
invSinTheta = /.(theta)
startInterp = .((-t)*theta)*invSinTheta
finishInterp = .(t*theta)*invSinTheta
startInterp = -t
finishInterp = t
(+cosTheta) >
theta = .(-cosTheta)
invSinTheta = /.(theta)
startInterp = .((t-)*theta)*invSinTheta
finishInterp = .(t*theta)*invSinTheta
startInterp = t-
finishInterp = t
a[]*startInterp + b[]*finishInterp, a[]*startInterp + b[]*finishInterp, a[]*startInterp + b[]*finishInterp, a[]*startInterp + b[]*finishInterp
(Pos, Dir, Max, Ignore)
:():(Ray.(Pos, Dir.unit * (Max )), Ignore)
Damagefunc=(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,decreaseblock)
hit.Parent==
h=hit.Parent:()
_,v (hit.Parent:())
v:()
h=v
hit.Parent.Parent:()~=
h=hit.Parent.Parent:()
hit.Parent.className==
hit=hit.Parent.Parent:()
h~= hit.Parent.Name~=Character.Name hit.Parent:()~=
hit.Parent:()~= hit.Parent.DebounceHit.Value==
c=.()
c.Name=
c.Value=:().LocalPlayer
c.Parent=h
:():(c,)
Damage=.(minim,maxim)
blocked=
block=hit.Parent:()
block~=
(block.className)
block.className==
block.Value>
blocked=
decreaseblock==
block.Value=block.Value-
block.className==
block.Value>
blocked=
decreaseblock~=
block.Value=block.Value-
blocked==
h.Health=h.Health-Damage
(hit.Parent,Damage,,BrickColor.())
h.Health=h.Health-(Damage/)
(hit.Parent,Damage/,,BrickColor.())
Type==
hum=hit.Parent.Humanoid
hum.PlatformStand=
.(.((HHumanoid)
()
HHumanoid.PlatformStand=
),hum)
angle=(hit.Position-(Property.Position+.(,,))).unit
bodvol=.()
bodvol.velocity=angle*knockback
bodvol.P=
bodvol.maxForce=.(, , )
bodvol.Parent=hit
rl=.()
rl.P=
rl.maxTorque=.(,,)*
rl.angularvelocity=.(.(-,),.(-,),.(-,))
rl.Parent=hit
:():(bodvol,)
:():(rl,)
Type==
vp=.()
vp.P=
vp.maxForce=.(.huge,,.huge)
KnockbackType==
vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/
KnockbackType==
vp.velocity=Property.CFrame.lookVector*knockback
knockback>
vp.Parent=hit.Parent.Torso
:():(vp,)
Type==
bodyVelocity=.()
bodyVelocity.velocity=(,,)
bodyVelocity.P=
bodyVelocity.maxForce=.(, , )
bodyVelocity.Parent=hit
:():(bodyVelocity,)
rl=.()
rl.P=
rl.maxTorque=.(,,)*
rl.angularvelocity=.(.(-,),.(-,),.(-,))
rl.Parent=hit
:():(rl,)
Type==
bp=.()
bp.P=
bp.D=
bp.maxForce=.(.huge,.huge,.huge)
bp.position=hit.Parent.Torso.Position
bp.Parent=hit.Parent.Torso
:():(bp,)
Type==
Targetting==
ZTarget=hit.Parent.Torso
.(.((Part)
(,Part,,)
()
(,Part,,)
),ZTarget)
TargHum=ZTarget.Parent:()
targetgui=.()
targetgui.Parent=ZTarget
targetgui.Size=.(,,,)
targ=.()
targ.Parent=targetgui
targ.BackgroundTransparency=
targ.Image=
targ.Size=.(,,,)
cam.CameraType=
cam.CoordinateFrame=.(Head.CFrame.p,ZTarget.Position)
dir=.(cam.CoordinateFrame.lookVector.x,,cam.CoordinateFrame.lookVector.z)
.CurrentCamera.CoordinateFrame=.(Head.CFrame.p,ZTarget.Position)
Targetting=
RocketTarget=ZTarget
i=,Property
Humanoid.Health> Character.Parent~= TargHum.Health> TargHum.Parent~= Targetting==
()
cam.CoordinateFrame=.(Head.CFrame.p,ZTarget.Position)
dir=.(cam.CoordinateFrame.lookVector.x,,cam.CoordinateFrame.lookVector.z)
cam.CoordinateFrame=.(Head.CFrame.p,ZTarget.Position)*(,,)*(-,,)
Targetting=
RocketTarget=
targetgui.Parent=
cam.CameraType=
debounce=.()
debounce.Name=
debounce.Parent=hit.Parent
debounce.Value=
:():(debounce,Delay)
c=.()
c.Name=
c.Value=Player
c.Parent=h
:():(c,)
CRIT=
hitDeb=
AttackPos=
showDamage=(Char,Dealt,du,Color)
m=.()
m.Name=(Dealt)
h=.()
h.Health=
h.MaxHealth=
h.Parent=m
c=.()
c.Transparency=
c.BrickColor=Color
c.Name=
c.TopSurface=
c.BottomSurface=
c.formFactor=
c.Size=.(,,)
ms=.()
ms.Scale=.(,,)
CRIT==
ms.Scale=.(,,)
ms.Parent=c
c.Reflectance=
.().Parent=c
c.Parent=m
Char:()~=
c.CFrame=.(Char[].CFrame.p+.(,,))
Char.Parent:()~=
c.CFrame=.(Char.Parent[].CFrame.p+.(,,))
f=.()
f.P=
f.D=
f.maxForce=.(.huge,.huge,.huge)
f.position=c.Position+.(,,)
f.Parent=c
:():(m,+du)
c.CanCollide=
m.Parent=
c.CanCollide=
handle=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
handleweld=(m,Character[],handle,.(, , , , , , , , , , , ),.(-, -, , , -, -, -, -, -, , , -))
Hitbox=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Hitboxweld=(m,handle,Hitbox,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, -, , -, -, -, , , , ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, -, , , , , -, -, -, -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , , , , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , -, -, , , , , -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, , , , , -, , , -, -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , -, -, , , -, -, -, , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , , , -, -, -, -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , , -, -, -, , -, , -, , ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , , -, , -, , , -, -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , , , , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, , , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, , -, , -, , , -, -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, -, , , -, -, , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , -, -, , , , , , -, , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , , -, -, -, , -, -, -, -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, , , , , , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , , , , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, -, -, , -, , -, -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, -, -, -, , , , , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , -, -, -, , -, , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, -, -, , -, -, -, -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, , -, , , , , , -, , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, -, , , , , , -, , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , -, -, , , , , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, , -, , -, -, , , -, -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , -, -, , , , , -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, -, , , , -, , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , -, -, -, , -, , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, , , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, -, , , -, -, , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, , , , , , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , , -, , -, , , -, -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , -, , -, -, -, , , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, -, -, , -, -, -, -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, , -, -, -, -, , , , , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, -, , , -, -, , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, , , -, -, , , , -, ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , -, -, , -, -, -, -, -, -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , -, -, , ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , , -, , -, -, -, , , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , -, ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, -, -, , -, , -, -, ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, -, , -, -, -, -, -, -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , , , -, , -, -, -, , , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , , -, , , , , , , , -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , , , -, , , -, -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, -, , , , , -, -, -, -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , , , , -, , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , , -, -, , , , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , -, -, , , , , -, ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , -, , -, -, -, -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, , , -, -, , , , -, ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, -, , -, -, , , , , -, ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, , , -, -, -, , -, , -, , ))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , -, , , , , -, -, -, -))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, , -, -, , , -, -, , , , ))
(,Part,,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(-, -, , , -, , -, -, -, , , -))
(,Part,.MeshType.Wedge,,.(, , ),.(, , ))
Part=(.FormFactor.Custom,m,.Material.SmoothPlastic,,,,,.(, , ))
Partweld=(m,handle,Part,.(, , , , , , , , , , , ),.(, -, -, , , -, -, , 1327e-005, 1.00001156, 0.00203777291, 1.11610427e-006))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.463999987, 0.200000003, 0.928000033))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.56723642, -0.411323547, 3.2417984, -0.000671109243, 1.0000056, 1.40209831e-005, 1.00000656, 0.000671104353, 6.59014859e-007, 6.49602271e-007, 1.40211887e-005, -0.999999642))
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00456619263, 1.45251989, 3.25319099, -1.00000548, -0.00168398093, -1.74997453e-007, 0.0016839871, -1.00000453, 7.01806357e-006, -1.86809473e-007, 7.01812223e-006, 0.999999642))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0012512207, 0.756712437, 0.921786785, 1.00001192, -0.00188787864, 2.99965563e-007, -0.00188787398, -1.00001001, -2.71932527e-006, 3.05087923e-007, 2.71814042e-006, -0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00101852417, -0.756660938, -1.05014706, -1.00001204, -0.00172244979, 6.12758271e-008, -0.00172246178, 1.00001013, 2.15474902e-005, -9.84062183e-008, 2.15469754e-005, -0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.580000103, 2.204))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00379943848, -2.08976412, 1.34025192, 1.00001204, 0.00171907921, 2.17523793e-005, -0.00171909155, 1.00001013, 1.06986054e-005, -2.17342458e-005, -1.07354717e-005, 0.999999285))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(1.27600014, 1.04400003, 0.69599998))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(3.06781864, -1.39336252, -0.00276947021, 6.42567954e-007, 2.37156328e-005, -0.999999285, -0.000670476642, 1.00001156, 2.37155527e-005, 1.00001347, 0.000670467038, 6.58474448e-007))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.696000159, 0.200000003, 0.232000008))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.457955837, -0.580825329, -0.0055770874, 1.16664842e-006, 2.21116316e-005, -0.999999642, -0.00235209521, 1.00000632, 2.21090704e-005, 1.00000727, 0.0023520845, 1.21865253e-006))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00102996826, -0.756342888, -2.7901454, -1.00001884, -0.00172247365, 6.13245135e-008, -0.001722491, 1.00001574, 2.15474611e-005, -9.84643691e-008, 2.15468062e-005, -0.999999046))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.927999973, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.35656452, -0.0282249451, -2.04077148, -0.00161817856, 2.2865348e-005, 0.999997616, 1.00001848, -0.000935790653, 0.00161816448, 0.000935816381, 1.00001693, -2.13497078e-005))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 1, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.34799999, 0.200000003, 0.696000099))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.7414937, 0.402587891, 4.40184164, -0.00107212085, 1.00001121, 1.57967261e-005, 1.00001311, 0.00107211061, 7.93275149e-007, 7.76334844e-007, 1.57971135e-005, -0.999999285))
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0135307312, 0.00276422501, 0.986213207, 1.00001204, 0.00167110038, -1.825656e-005, -0.00167111226, 1.00001013, -1.0784629e-006, 1.82550084e-005, 1.10962583e-006, 0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.231999964, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0116043091, -0.169836521, 2.03595734, 1.00001204, 0.00170413801, -1.86736106e-005, -0.00170414965, 1.00001013, 1.63084733e-005, 1.87016558e-005, -1.62761844e-005, 0.999999285))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.927999914, 0.231999978, 0.69599998))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.62992048, 1.45317078, 0.00423812866, -8.35475475e-007, -7.49478841e-006, -0.999999642, 0.00172465458, -1.00001037, 7.49267065e-006, -1.00001204, -0.00172464119, 8.48372508e-007))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0048866272, 1.45256662, -2.78931189, 1.00000513, 0.00172351021, 2.02878823e-007, 0.00172351615, -1.00000417, 7.49809578e-006, 2.15795779e-007, -7.49809897e-006, -0.999999642))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.175273895, -2.2061739, -4.11187935, 1.00001371, 0.00036665576, 8.8621448e-008, -0.000366665074, 1.0000118, 2.83818667e-006, -8.7566761e-008, -2.8376005e-006, 0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.579999983, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000008, 0.579999983, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000499725342, -0.350563049, -2.02378225, 1.00001347, -5.64614311e-007, -3.58900643e-009, 5.56057785e-007, 1.00001156, 2.58954788e-006, 3.60246588e-009, -2.58893624e-006, 0.999999285))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.463999957, 0.452400029))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0107460022, -0.0555205345, 1.75172997, 1.00001204, 0.00170685095, -1.87402256e-005, -0.00170686259, 1.00001013, 1.71129595e-005, 1.87696915e-005, -1.7080516e-005, 0.999999285))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.200000003, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000179290771, -0.11830616, -0.515934467, 1.00000679, 1.18016033e-006, -1.49793378e-009, -1.18446769e-006, 1.00000584, 4.800022e-007, 1.50599488e-009, -4.79683422e-007, 0.999999642))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.579999983, 0.695999742, 0.463999987))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.39072371, -2.08222008, -0.0108184814, -0.000440219301, 1.00001168, 1.49555108e-005, -5.82121402e-007, -1.49553034e-005, 0.999999285, 1.00001359, 0.000440209988, 5.88711941e-007))
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000038, 0.200000003, 3.59599972))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000350952148, -0.34586668, 1.57220888, 1.00001347, -8.66054324e-006, -1.0555099e-009, 8.65192851e-006, 1.00001156, 6.67146651e-007, 1.06459686e-009, -6.66510914e-007, 0.999999285))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000980377197, -0.756362438, 2.21014261, 1.00001216, 0.00168377184, -1.39758196e-008, -0.00168378383, 1.00001025, 2.10831458e-005, 4.94904349e-008, -2.10827075e-005, 0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000228881836, -1.85836792, 2.37173796, -1.00001347, 0.000378501718, 1.62424982e-007, 0.000378494151, 1.00001156, 4.46612976e-005, -1.45538479e-007, 4.46612685e-005, -0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cyan","Part",Vector3.new(1.62399995, 0.927999794, 0.928000033))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.1039381, 1.63024521, -0.0039024353, -0.00172031764, 1.00001013, 1.46122475e-005, -5.72987631e-007, -1.46127904e-005, 0.999999285, 1.00001204, 0.00172030565, 5.98132715e-007))
mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(2.9000001, 0.232000038, 0.232000008))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(2.2558732, -0.755105019, -0.005027771, 1.16550927e-006, 2.32517414e-005, -0.999999046, -0.00235130615, 1.00001335, 2.32494094e-005, 1.00001562, 0.00235129381, 1.22017377e-006))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.812000036, 0.34799999))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000499725342, -0.000572681427, -0.399878502, 1.00001347, -3.89991328e-009, -1.60411329e-009, -4.71482053e-009, 1.00001156, 9.86925897e-007, 1.61898139e-009, -9.86294253e-007, 0.999999285))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.69599998, 0.231999993))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000854492188, -0.060251236, -0.689863205, 1.00000679, 9.31904651e-008, -2.52386245e-009, -9.7497832e-008, 1.00000584, 1.58413877e-006, 2.53151944e-009, -1.58382682e-006, 0.999999642))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.34799999, 0.34799996))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000202178955, -0.698717594, -0.863790989, 1.00001359, -9.37085133e-007, -4.30265912e-009, 9.28586815e-007, 1.00001168, 2.73720707e-006, 4.31539515e-009, -2.73659361e-006, 0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.200000003, 0.59740001))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0118713379, 0.117973328, 1.22682953, 1.00001204, 0.00170348049, -1.86220968e-005, -0.00170349213, 1.00001013, 1.60979762e-005, 1.86497764e-005, -1.60657855e-005, 0.999999285))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.170646667, -2.20620346, -4.11187887, 1.00001299, 0.00135321938, 4.18644504e-007, -0.00135323033, 1.00001109, 2.83407667e-006, -4.147997e-007, -2.83402255e-006, 0.999999285))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.579999983, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.34800005, 0.200000003, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.12456751, -0.434249878, -2.04071569, -0.00161815656, 2.28647568e-005, 0.999998331, 1.00000501, -0.000935775577, 0.00161816564, 0.000935807999, 1.00000536, -2.13500443e-005))
mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(2.31999993, 0.231999993, 0.200000003))
Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.27036333, -1.68534136, 0.286766052, 4.37200288e-006, -0.00031248352, -0.999999225, -0.00104415184, 1.00001121, -0.000312483375, 1.00001323, 0.00104414311, 4.04568164e-006))
mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
Barrel=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Barrel",Vector3.new(0.695999742, 0.200000003, 0.928000033))
Barrelweld=weld(m,handle,Barrel,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.09376717, 3.31707621, -0.00493240356, -0.00171980122, 1.00000441, 1.36221133e-005, -5.93967741e-007, -1.36229164e-005, 0.999999642, 1.00000536, 0.00171979528, 6.1739911e-007))
mesh("CylinderMesh",Barrel,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
LASER_WIDTH = 5
LASER_MAGIC_CIRCLE_DISTANCE = 6.25
laser_data = {}
player=game.Players.localPlayer
char=player.Character
active=false
math = {
abs = math.abs,
acos = math.acos,
asin = math.asin,
atan = math.atan,
atan2 = math.atan2,
ceil = math.ceil,
cos = math.cos,
cosh = math.cosh,
deg = math.deg,
exp = math.exp,
floor = math.floor,
fmod = math.fmod,
frexp = math.frexp,
huge = math.huge,
ldexp = math.ldexp,
log = math.log,
log10 = math.log10,
max = math.max,
min = math.min,
modf = math.modf,
phi = 1.618033988749895,
pi = math.pi,
pow = math.pow,
rad = math.rad,
random = math.random,
randomseed = math.randomseed,
sin = math.sin,
sinh = math.sinh,
sqrt = math.sqrt,
tan = math.tan,
tanh = math.tanh,
tau = 2 * math.pi
}
magicCircleData = {}
MAGIC_CIRCLE_DEFAULT_OFFSET = 6.25
function AnimateMagicCircle(data)
local frame, direction, magic_circle_model, magic_circle_part, magic_circle_light, magic_circle_decal_back, magic_circle_decal_front, duration,
stay, magic_circle_adornee_func, magic_circle_offset = unpack(data)
frame = frame + 1
data[1] = frame
local transparency = (frame / duration) ^ stay
local opacity = 1 - transparency
if frame == duration then
pcall(game.Destroy, magic_circle_model)
magicCircleData[data] = nil
else
if magic_circle_model.Parent ~= workspace then
magic_circle_model.Parent=workspace
end
local magic_circle_adornee = magic_circle_adornee_func()
magic_circle_position = magic_circle_adornee.Position + direction * magic_circle_offset
local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction) * CFrame.Angles(0, 0, math.tau * frame /
25)
magic_circle_part.CFrame = magic_circle_cframe
magic_circle_light.Brightness = opacity
magic_circle_decal_back.Transparency = transparency
magic_circle_decal_front.Transparency = transparency
end
end
function CreateMagicCircle(target, magic_circle_scale, magic_circle_image, light_color, duration, stay, magic_circle_adornee_func,
magic_circle_offset)
local magic_circle_adornee = magic_circle_adornee_func()
if magic_circle_adornee then
local origin = magic_circle_adornee.Position
local direction = (target - origin).unit
local magic_circle_position = origin + direction * magic_circle_offset
local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction)
local magic_circle_model = Instance.new("Model")
local magic_circle_part = Instance.new("Part", magic_circle_model)
local magic_circle_mesh = Instance.new("BlockMesh", magic_circle_part)
local magic_circle_light = Instance.new("PointLight", magic_circle_part)
local magic_circle_decal_back = Instance.new("Decal", magic_circle_part)
local magic_circle_decal_front = Instance.new("Decal", magic_circle_part)
magic_circle_model.Archivable = false
magic_circle_part.Anchored = true
magic_circle_part.BottomSurface = "Smooth"
magic_circle_part.CanCollide = false
magic_circle_part.CFrame = magic_circle_cframe
magic_circle_part.FormFactor = "Custom"
magic_circle_part.Locked = true
magic_circle_part.Size = Vector3.new(0.2, 0.2, 0.2)
magic_circle_part.TopSurface = "Smooth"
magic_circle_part.Transparency = 1
magic_circle_mesh.Scale = Vector3.new(60, 60, 0) * magic_circle_scale
magic_circle_light.Color = light_color
magic_circle_light.Range = 16 * magic_circle_scale
magic_circle_light.Shadows = true
magic_circle_decal_back.Face = "Back"
magic_circle_decal_back.Texture = magic_circle_image
magic_circle_decal_front.Face = "Front"
magic_circle_decal_front.Texture = magic_circle_image
magic_circle_model.Parent = workspace
local data = {0, direction, magic_circle_model, magic_circle_part, magic_circle_light, magic_circle_decal_back, magic_circle_decal_front,
duration, stay, magic_circle_adornee_func, magic_circle_offset}
magicCircleData[data] = true
return data
end
end
--GraphicalEffects.fragmentation = {}
function AnimateLaserOfDeath(data)
local frame, directionOrientation, direction, magic_circle_model, laser_part, laser_mesh, magic_circle_part, magic_circle_light,
magic_circle_decal_back, magic_circle_decal_front, sound, laser_scale, fragmentation_size, duration, laser_lights, laser_effects, stay, light_effects =
unpack(data)
local laser_color = laser_part.Color
frame = frame + 1
data[1] = frame
local transparency = (frame / duration) ^ stay
local opacity = 1 - transparency
if frame == 2 then
sound:Play()
end
if frame == duration then
pcall(game.Destroy, magic_circle_model)
laser_data[data] = nil
else
if magic_circle_model.Parent ~= workspace then
magic_circle_model.Parent=workspace
end
local laser_distance = 0
local origin = Barrel.CFrame
if not light_effects then
direction = (origin * directionOrientation - origin.p).unit
end
local magic_circle_position = origin.p + direction * LASER_MAGIC_CIRCLE_DISTANCE
local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction) * CFrame.Angles(0, 0, math.tau * frame /
25)
local loop_scale = (laser_scale - 1) / 10
for x_offset = -loop_scale, loop_scale, 2 do
for y_offset = -loop_scale, loop_scale, 2 do
local origin_position = magic_circle_cframe * Vector3.new(x_offset, y_offset, 0)
for index = 1, 8 do
local part, position
for ray_index = 1, 10 do
local ray = Ray.new(origin_position + direction * (999 * (ray_index - 1)), direction * 999)
part, position = workspace:FindPartOnRay(ray, magic_circle_model)
if part then
break
end
end
if part then
laser_distance = (position - origin_position).magnitude
if frame % 8 == 1 and index == 1 then
Instance.new("Explosion", workspace).Position = position
end
if not part:IsA("Terrain") then
pcall(part.BreakJoints, part)
local is_block = part:IsA("Part") and part.Shape == Enum.PartType.Block
local mass = part:GetMass()
local size = part.Size
if (is_block and ((size.X < fragmentation_size and size.Y < fragmentation_size and size.Z <
fragmentation_size) or (not part.Anchored and mass < 750))) or (not is_block and mass < 250000) then
local part_transparency = math.max(part.Transparency + 0.007 * fragmentation_size, 0.5)
if part_transparency >= 0.5 then -- temporarily to minimize debris
pcall(game.Destroy, part)
else
local cframe = part.CFrame
part.Anchored = false
part.BrickColor = BrickColor.new("Medium stone grey")
part.CanCollide = true
if part:IsA("FormFactorPart") then
part.FormFactor = "Custom"
end
part.Size = size - Vector3.new(0.135, 0.135, 0.135) * fragmentation_size
part.Transparency = part_transparency
part.CFrame = cframe + direction * 5
part.Velocity = part.Velocity + direction * 40
end
elseif is_block then
local parts = {part}
local model = Instance.new("Model", part.Parent)
model.Name = "Fragments"
if size.X >= fragmentation_size then
size = Vector3.new(0.5, 1, 1) * size
local archivable = part.Archivable
local cframe = part.CFrame
part.FormFactor = "Custom"
part.Size = size
part.Archivable = true
local part_clone = part:Clone()
part.Archivable = archivable
part_clone.Archivable = archivable
part.CFrame = cframe * CFrame.new(-0.5 * size.X, 0, 0)
part_clone.CFrame = cframe * CFrame.new(0.5 * size.X, 0, 0)
part_clone.Parent = model
parts[2] = part_clone
end
if size.Y >= fragmentation_size then
size = Vector3.new(1, 0.5, 1) * size
for part_index = 1, #parts do
local part = parts[part_index]
local archivable = part.Archivable
local cframe = part.CFrame
part.FormFactor = "Custom"
part.Size = size
part.Archivable = true
local part_clone = part:Clone()
part.Archivable = archivable
part_clone.Archivable = archivable
part.CFrame = cframe * CFrame.new(0, -0.5 * size.Y, 0)
part_clone.CFrame = cframe * CFrame.new(0, 0.5 * size.Y, 0)
part_clone.Parent = model
table.insert(parts, part_clone)
end
end
if size.Z >= fragmentation_size then
size = Vector3.new(1, 1, 0.5) * size
for part_index = 1, #parts do
local part = parts[part_index]
local archivable = part.Archivable
local cframe = part.CFrame
part.FormFactor = "Custom"
part.Size = size
part.Archivable = true
local part_clone = part:Clone()
part.Archivable = archivable
part_clone.Archivable = archivable
part.CFrame = cframe * CFrame.new(0, 0, -0.5 * size.Z)
part_clone.CFrame = cframe * CFrame.new(0, 0, 0.5 * size.Z)
part_clone.Parent = model
table.insert(parts, part_clone)
end
end
for _, part in ipairs(parts) do
part:MakeJoints()
end
else
break
end
end
else
laser_distance = 9990
break
end
end
end
end
local laser_cframe = magic_circle_cframe * CFrame.Angles(-0.5 * math.pi, 0, 0)
local laser_width = LASER_WIDTH * opacity * laser_scale
local laser_mesh_offset = Vector3.new(0, 0.5 * laser_distance, 0)
laser_part.CFrame = laser_cframe
if laser_effects then
local laser_effect_data_1, laser_effect_data_2 = laser_effects[1], laser_effects[2]
local laser_effect_1, laser_effect_mesh_1 = laser_effect_data_1[1], laser_effect_data_1[2]
local laser_effect_2, laser_effect_mesh_2 = laser_effect_data_2[1], laser_effect_data_2[2]
laser_effect_1.CFrame = laser_cframe
laser_effect_2.CFrame = laser_cframe
laser_effect_mesh_1.Offset = laser_mesh_offset
laser_effect_mesh_2.Offset = laser_mesh_offset
local game_time = time()
local effect_scale_1 = 0.5 + 0.5 * math.sin(16 * math.pi * game_time)
local effect_scale_2 = 0.5 + 0.5 * math.cos(16 * math.pi * game_time)
laser_effect_mesh_1.Scale = 5 * Vector3.new(laser_width * effect_scale_1, laser_distance, laser_width * effect_scale_1)
laser_effect_mesh_2.Scale = 5 * Vector3.new(laser_width * effect_scale_2, laser_distance, laser_width * effect_scale_2)
laser_width = laser_width * 0.25
end
laser_mesh.Offset = laser_mesh_offset
laser_mesh.Scale = 5 * Vector3.new(laser_width, laser_distance, laser_width)
magic_circle_part.CFrame = magic_circle_cframe
magic_circle_light.Brightness = opacity
magic_circle_decal_back.Transparency = transparency
magic_circle_decal_front.Transparency = transparency
if light_effects then
for index, data in ipairs(laser_lights) do
local laser_spotlight_part, laser_spotlight = data[1], data[2]
local laser_spotlight_offset = 30 * (index - 1)
if laser_spotlight_offset <= laser_distance then
laser_spotlight_part.CFrame = magic_circle_cframe * CFrame.new(0, 0, -laser_spotlight_offset)
laser_spotlight.Brightness = opacity
laser_spotlight.Enabled = true
else
laser_spotlight.Enabled = false
end
end
end
end
end
function ShootLaserOfDeath(target, data)
data = data or {}
local brickcolor = data.brickcolor or BrickColor.new("Really black")
local duration = data.duration or 40
local fragmentation_size = data.fragmentation_size or 3
local laser_scale = data.laser_scale or 1
local light_color = data.light_color or Color3.new(1, 0.5, 1)
local magic_circle_image = data.magic_circle_image or "rbxassetid://122610943"
local magic_circle_scale = data.magic_circle_scale or 1
local sound_volume = data.sound_volume or 1 / 3
local special_effects = data.special_effects
local stay = data.stay or 4
local origin = Barrel.CFrame
local directionOrientation = origin:pointToObjectSpace(target)
local direction = (target - origin.p).unit
local magic_circle_position = origin.p + direction * LASER_MAGIC_CIRCLE_DISTANCE
local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction)
local magic_circle_model = Instance.new("Model")
local laser_part = Instance.new("Part", magic_circle_model)
local laser_mesh = Instance.new("CylinderMesh", laser_part)
local magic_circle_part = Instance.new("Part", magic_circle_model)
local magic_circle_mesh = Instance.new("BlockMesh", magic_circle_part)
local magic_circle_light = Instance.new("PointLight", magic_circle_part)
local magic_circle_decal_back = Instance.new("Decal", magic_circle_part)
local magic_circle_decal_front = Instance.new("Decal", magic_circle_part)
local sound = Instance.new("Sound", magic_circle_part)
sound.Pitch = 0.9
sound.SoundId = "rbxassetid://222371404"
sound.Volume = 1
magic_circle_model.Archivable = false
laser_part.Anchored = true
laser_part.BottomSurface = "Smooth"
laser_part.BrickColor = brickcolor
laser_part.CanCollide = false
laser_part.CFrame = magic_circle_cframe * CFrame.Angles(-0.5 * math.pi, 0, 0)
laser_part.FormFactor = "Custom"
laser_part.Locked = true
laser_part.Size = Vector3.new(0.2, 0.2, 0.2)
laser_part.TopSurface = "Smooth"
laser_mesh.Offset = Vector3.new(0, 0, 0)
laser_mesh.Name = "Mesh"
laser_mesh.Scale = 5 * laser_scale * Vector3.new(LASER_WIDTH, 0, LASER_WIDTH)
magic_circle_part.Anchored = true
magic_circle_part.BottomSurface = "Smooth"
magic_circle_part.CanCollide = false
magic_circle_part.CFrame = magic_circle_cframe
magic_circle_part.FormFactor = "Custom"
magic_circle_part.Locked = true
magic_circle_part.Size = Vector3.new(0.2, 0.2, 0.2)
magic_circle_part.TopSurface = "Smooth"
magic_circle_part.Transparency = 1
magic_circle_mesh.Scale = Vector3.new(60, 60, 0) * magic_circle_scale
magic_circle_light.Color = light_color
magic_circle_light.Range = 16 * magic_circle_scale
magic_circle_light.Shadows = true
magic_circle_decal_back.Face = "Back"
magic_circle_decal_back.Texture = magic_circle_image
magic_circle_decal_front.Face = "Front"
magic_circle_decal_front.Texture = magic_circle_image
magic_circle_model.Parent = workspace
local laser_color = brickcolor.Color
local laser_lights = {}
local light_effects = laser_color.r + laser_color.g + laser_color.b > 0.25
if light_effects then
local laser_spotlight_part_template = Instance.new("Part")
local laser_spotlight_light_template = Instance.new("SpotLight", laser_spotlight_part_template)
laser_spotlight_part_template.Anchored = true
laser_spotlight_part_template.Anchored = true
laser_spotlight_part_template.BottomSurface = "Smooth"
laser_spotlight_part_template.CanCollide = false
laser_spotlight_part_template.FormFactor = "Custom"
laser_spotlight_part_template.Locked = true
laser_spotlight_part_template.Size = Vector3.new(0.2, 0.2, 0.2)
laser_spotlight_part_template.TopSurface = "Smooth"
laser_spotlight_part_template.Transparency = 1
laser_spotlight_light_template.Angle = 45
laser_spotlight_light_template.Color = laser_color
laser_spotlight_light_template.Enabled = true
laser_spotlight_light_template.Name = "Light"
laser_spotlight_light_template.Range = 60
for index = 1, 40 do
local laser_spotlight_part = laser_spotlight_part_template:Clone()
laser_spotlight_part.CFrame = magic_circle_cframe * CFrame.new(0, 0, -30 * (index - 1))
laser_spotlight_part.Parent = magic_circle_model
laser_lights[index] = {laser_spotlight_part, laser_spotlight_part.Light}
end
end
local laser_effects
if special_effects then
laser_effects = {}
local laser_effect_1 = laser_part:Clone()
laser_effect_1.BrickColor = special_effects
laser_effect_1.Transparency = 0.5
local laser_effect_2 = laser_effect_1:Clone()
laser_effects[1], laser_effects[2] = {laser_effect_1, laser_effect_1.Mesh}, {laser_effect_2, laser_effect_2.Mesh}
laser_effect_1.Parent = magic_circle_model
laser_effect_2.Parent = magic_circle_model
end
laser_data={0, directionOrientation, direction, magic_circle_model, laser_part, laser_mesh, magic_circle_part,
magic_circle_light, magic_circle_decal_back, magic_circle_decal_front, sound, laser_scale, fragmentation_size, duration, laser_lights, laser_effects, stay,
light_effects}
end
function laser(target)
ShootLaserOfDeath(target, {brickcolor = BrickColor.new("New Yeller"), duration = 20, fragmentation_size = 10,
laser_scale = 3, light_color = Color3.new(1, 0.5, 0), magic_circle_image = "rbxassetid://1", magic_circle_scale = 1.5, sound_volume = 1,
special_effects = BrickColor.new("Deep orange"), stay = 2})
end
function LaserAtMouse()
laser(mouse.Hit.p)
end
mouse.Button1Down:connect(function()
pcall(function()
shoot()
end)
end)
ready=false
mouse.KeyDown:connect(function(k)
k=k:lower()
if k=='f' then
if ready==false then
ready=true
attack=true
elseif ready==true then
ready=false
attack=false
end
elseif k=='q' and attack==false then
Melee()
end
end)
function Melee()
attack = true
con1=Hitbox.Touched:connect(function(hit) Damagefunc(hit,50,100,math.random(10,15),"Normal",RootPart,.2,1) end)
for i=0,3,0.3 do
swait()
LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(5),math.rad(25),math.rad(-20)),.3)
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(160),math.rad(0),math.rad(0)),.3)
end
so("http://www.roblox.com/asset/?id=200632136",Hitbox,1,0.8)
for i=0,3,0.3 do
swait()
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(20),math.rad(0),math.rad(0)),.3)
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(-150),math.rad(0),math.rad(0)),.3)
end
attack=false
con1:disconnect()
end
function shoot()
if attack==true and ready==true then
ready=false
attack=true
LaserAtMouse()
for i=0,3,0.3 do
swait()
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(10),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(-30),math.rad(0),math.rad(0)),.3)
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(120),math.rad(0),math.rad(0)),.3)
LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(180),math.rad(0),math.rad(40)),.3)
Torso.Velocity=Head.CFrame.lookVector*-100
end
attack=false
end
end
local sine = 0
local change = 1
local val = 0
while true do
swait()
sine = sine + change
local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude
local velderp=RootPart.Velocity.y
hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,4,Character)
if equipped==true or equipped==false then
if attack==false then
idle=idle+1
else
idle=0
end
if idle>=500 then
if attack==false then
--Sheath()
end
end
if RootPart.Velocity.y > 1 and hitfloor==nil then
Anim="Jump"
if attack==false then
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(-20),math.rad(0),math.rad(0)),.3)
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(10),math.rad(0),math.rad(0)),.3)
end
elseif RootPart.Velocity.y < -1 and hitfloor==nil then
Anim="Fall"
if attack==false then
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),.3)
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-5),math.rad(0),math.rad(0)),.3)
end
elseif torvel<1 and hitfloor~=nil then
Anim="Idle"
if attack==false then
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(60),math.rad(0),math.rad(0)),.3)
LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(120),math.rad(0),math.rad(40)),.3)
end
elseif torvel>2 and torvel<22 and hitfloor~=nil then
Anim="Walk"
if attack==false then
change=3
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(20),math.rad(0),math.rad(0)),.3)
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-10),math.rad(0),math.rad(0)),.3)
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(60),math.rad(0),math.rad(0)),.3)
LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(120),math.rad(0),math.rad(40)),.3)
end
elseif torvel>=22 and hitfloor~=nil then
Anim="Run"
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(20),math.rad(0),math.rad(0)),.3)
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-10),math.rad(0),math.rad(0)),.3)
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(60),math.rad(0),math.rad(0)),.3)
LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(120),math.rad(0),math.rad(40)),.3)
if attack==false then
end
end
end
if ready==true then
handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(90),math.rad(0),math.rad(0)),.3)
LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(160),math.rad(0),math.rad(40)),.3)
end
pcall(function()
AnimateLaserOfDeath(laser_data)
end)
endCredits : zupersponge <script src="https://gist.github.com/zupersponge/8c39ed77f2817679294d70aff18d479d.js"></script>