Lightning Powers
Lightning Powers
wait()
if game.Players.LocalPlayer.Character.Animate.Disabled==false then
game.Players.LocalPlayer.Character.Animate.Disabled=true
end
if game.Players.LocalPlayer.Character.Humanoid.Animator then
game.Players.LocalPlayer.Character.Humanoid.Animator:Destroy()
end
wait()
local Player=game.Players.LocalPlayer
repeat wait()
until Player
local Char=Player.Character
repeat wait()
until Char
local CurrentEffects={}
local CurrentDamages={}
local Human=Char.Humanoid
local LArm=Char["Left Arm"]
local RArm=Char["Right Arm"]
local LLeg=Char["Left Leg"]
local RLeg=Char["Right Leg"]
local Torso=Char.Torso
local RS=Torso["Right Shoulder"]
local LS=Torso["Left Shoulder"]
local RH=Torso["Right Hip"]
local LH=Torso["Left Hip"]
local Head=Char.Head
local Neck=Torso.Neck
local RootPart=Char.HumanoidRootPart
local RootJoint=RootPart.RootJoint
local equipped=false
local Debounce=false
local Anim="Idle"
local chat = game:GetService("Chat")
local Mouse=Player:GetMouse()
local Lighting=game.Lighting
local cam=workspace.CurrentCamera
local cf=CFrame.new
local v3=Vector3.new
local c3=Color3.new
local it=Instance.new
local angles=CFrame.Angles
local rad=math.rad
local ran=math.random
local huge=math.huge
local attacking=false
local attacktype=1
local Sheathed=true
Tool=script.Parent
Equipped=false
op=false
necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
LSC0=cf(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
RSC0=cf(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
ROOTC0 = cf(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
RHC01=cf(1, -1, 0, 0, -0.087155737, 0.99619472, 0, 0.99619472, 0.087155737, -1, 0,
0)
LHC01=cf(-1, -1, 0, 0, 0.087155737, -0.99619472, 0, 0.99619472, 0.087155737, 1, 0,
0)
RSC01=cf(1, 0.5, 0, 0, -0.173648179, 0.98480773, 0, 0.98480773, 0.173648179, -1, 0,
0)
LSC01=cf(-1, 0.5, 0, 0, 0.173648179, -0.98480773, 0, 0.98480773, 0.173648179, 1, 0,
0)
ROOTC01=cf(0, 0, 0, -0.939692616, 0.342020124, 0, 0, 0, 1, 0.342020124,
0.939692616, 0)
NECKC01=cf(0, 1, 0, -0.939692616, -0.342020124, 0, -0.0593911707, 0.163175911,
0.98480773, -0.336824059, 0.925416529, -0.173648179)
Joints={RH.C0,LH.C0,RS.C0,LS.C0,RootJoint.C0,Neck.C0}
--why do people label stuff with comments, y.
r=game:service'RunService'.RenderStepped
clerp=function(a,b,t)
return a:lerp(b,t)
end
Combo=0
TotalDamage=0
Damage=0
ComboMoves={}
Inputs={}
CurrentTarget=""
Inp=Player:GetChildren()
LastAnim=""
print(cam.CameraType)
Human.WalkSpeed=30
Human.JumpPower=50
for i=1,#Inp do
if Inp[i]:IsA('Sound') then Inp[i]:Remove() end
end
--Functions
function FindDist(a,b)
return math.sqrt((b.p.x-a.p.x)^2+(b.p.y-a.p.y)^2+(b.p.z-a.p.z)^2)
end
Round=function(Num)
local mid=math.ceil(Num)
mid=mid-.5
if Num>=mid then
return math.ceil(Num)
else return math.floor(Num)
end
end
SFX=function(id,name,vol)
local s=it("Sound",Sounds)
s.SoundId=id
s.Name=name
s.Volume=vol
end
Torso.Anchored=false
sine=1
change=1
--Detect State
detect_state = function()
local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
local velocity = RootPart.Velocity.y
sine = sine + change
local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position,
RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Char)
if attacking==false then
if RootPart.Velocity.y > 1 and hit == nil and attacking==false then
Anim = "Jump"--print(Anim)
Neck.C0=clerp(Neck.C0,necko*angles(rad(-15),rad(0),rad(0)),.3)
RH.C0=clerp(RH.C0,RHC0*angles(rad(-10),rad(0),rad(0)),.3)
LH.C0=clerp(LH.C0,LHC0*angles(rad(-10),rad(0),rad(0)),.3)
RS.C0=clerp(RS.C0,RSC0*angles(rad(-20),rad(0),rad(-20)),.3)
LS.C0=clerp(LS.C0,LSC0*angles(rad(-20),rad(0),rad(20)),.3)
elseif RootPart.Velocity.y < -1 and hit == nil and attacking==false then
Anim = "Fall"--print(Anim)
Neck.C0=clerp(Neck.C0,necko*angles(rad(35),rad(0),rad(0)),.3)
RH.C0=clerp(RH.C0,RHC01*angles(rad(0),rad(0),rad(-5)),.3)
LH.C0=clerp(LH.C0,LHC01*angles(rad(0),rad(0),rad(20)),.3)
RS.C0=clerp(RS.C0,RSC0*angles(rad(-100),rad(0),rad(0)),.3)
LS.C0=clerp(LS.C0,LSC0*angles(rad(-100),rad(0),rad(0)),.3)
LastAnim="Fall"
elseif Torsovelocity < 1 and hit ~= nil and Equipped==false and attacking==false
then
Anim = "Idle"--print(Anim)
change=1
if LastAnim~="Idle" then LastAnim="Idle"
for i=1,16 do r:wait()
RS.C0=RS.C0:lerp(RSC01,.3)
LS.C0=LS.C0:lerp(LSC01,.3)
RH.C0=RH.C0:lerp(RHC01,.3)
LH.C0=LH.C0:lerp(LHC01,.3)
RootJoint.C0=RootJoint.C0:lerp(ROOTC01,.3)
Neck.C0=Neck.C0:lerp(NECKC01,.3)
end
end
r:wait() RS.C0=RS.C0*cf(0,(math.cos(sine/15))/200,0)*angles(0,(math.cos(sine/-
15))/-300,0)
LS.C0=LS.C0*cf(0,(math.cos(sine/15))/200,0)*angles(0,(math.cos(sine/15))/300,0)
Neck.C0=Neck.C0*angles((math.cos(sine/15))/300,0,0)
RH.C0=RH.C0*cf((math.cos(sine/-15))/500,0,0)
LH.C0=LH.C0*cf((math.cos(sine/-15))/500,0,0)
RootJoint.C0=RootJoint.C0*cf(0,0,(math.cos(sine/15))/500)
elseif Torsovelocity > 2 and hit ~= nil and attacking==false then
Anim = "Walk" --print(Anim)
r:wait()
change=3
Neck.C0=clerp(Neck.C0,necko*angles(rad(0),0,0),.3)
RootJoint.C0 = clerp(RootJoint.C0, ROOTC0 * cf(0, 0, 0) * angles(math.rad(10 + 1 *
math.cos(sine / 15)), math.rad(0), 0), .3)
RH.C0 = clerp(RH.C0, cf(0, 0, 0 - 0.5 * math.cos(sine / 10) / 2) * RHC0 *
angles(math.rad(-3), math.rad(10), math.rad(30 * math.cos(sine / 10))), .3)
LH.C0 = clerp(LH.C0, cf(0, 0, 0 + 0.5 * math.cos(sine / 10) / 2) * LHC0 *
angles(math.rad(-3), math.rad(10), math.rad(30 * math.cos(sine / 10))), .3)
RS.C0 = clerp(RS.C0, RSC0 * angles(math.rad(-10), math.rad(10), math.rad(-20)),.3)
LS.C0 = clerp(LS.C0, LSC0 * angles(math.rad(-10), math.rad(10), math.rad(20)),.3)
LastAnim="Walk"
end
end
end
--Folders+More functions
Effects=Instance.new("Folder",Char)
Effects.Name="Effects"
Welds=Instance.new("Folder",Char)
Welds.Name="Welds"
Sounds=Instance.new("Folder",Char)
Sounds.Name="Sounds"
part=function(parent,anchored,cancollide,size,cframe,col3,material,trans)
local p=it("Part",parent)
p.Anchored=anchored
p.CanCollide=cancollide
p.Size=size
p.CFrame=cframe
p.Color=col3
p.Material=material
p.Transparency=trans
return p
end
mesh=function(parent,ttype,scale)
local m=it("SpecialMesh",parent)
m.MeshType=ttype
m.Scale=scale
return m
end
spmesh=function(parent,id,scale)
local m=it("SpecialMesh",parent)
m.MeshId=id
m.Scale=scale
return m
end
local Smooth=function(Table)
for _, v in pairs(Table) do
if v.ClassName=="Part" then
v.TopSurface,v.BottomSurface,v.BackSurface,v.FrontSurface,v.LeftSurface,v.RightSurf
ace=10,10,10,10,10,10 end end
end
Lightning = function(Start,End,Times,Offset,Color,Thickness)
for i=1,Times do
li.Material = "Neon"
li:BreakJoints()
li.Size = Vector3.new(Thickness,Thickness,magz/Times)
local ofz =
Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
if Times == i then
li.CFrame = CFrame.new(curpos,End)*CFrame.new(0,0,-magz2/2)
else
li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
end
end
end
--Feet Welds
RightFoot=part(Char,false,false,v3(0,0,0),cf(0,0,0),c3(-1,0,0),"Neon",1)
LeftFoot=part(Char,false,false,v3(0,0,0),cf(0,0,0),c3(-1,0,0),"Neon",1)
RF=it("Weld",Welds)
RF.Name="RF"
RF.Part0=RightFoot
RF.Part1=RLeg
RF.C0=RF.C0*cf(0,1,0)
LF=it("Weld",Welds)
LF.Name="LF"
LF.Part0=LeftFoot
LF.Part1=LLeg
LF.C0=LF.C0*cf(0,1,0)
--Click Combo
--[[Mouse.Button1Down:connect(function()
if attacking== false and attacktype == 1 and Equipped==false then print"RAWR"
attackone()
attacktype = 2
elseif attacking== false and attacktype == 1 and Equipped==true then
print"Swish"
attackfour()
attacktype=2
else
if attacking == false and attacktype == 2 and Equipped==false then
print"XD"
attacktwo()
attacktype = 3
elseif attacking == false and attacktype == 2 and Equipped==true then
print"Swash"
attackfive()
attacktype=3
else
if attacking == false and attacktype == 3 and Equipped==false
then print"DAI"
attackthree()
attacktype = 1
elseif attacking == false and attacktype == 3 and Equipped==true
then print"STEB"
attacksix()
attacktype=1
end
end
end
end)]]
--Sounds
local Draw=Instance.new("Sound",Sounds)
Draw.Name="Draw"
Draw.SoundId="rbxassetid://608618332"
Draw.Volume=1.1
local poo=it('Sound',Sounds)
poo.Name="JumpEffect"
poo.SoundId="rbxassetid://231917987"
poo.Volume=.3
SFX("rbxassetid://320557487","BasicAttackOne",1)
--Key Input Detection
Input=""
--Moves
Z=function()
RH.C0=clerp(RH.C0,RHC0*angles(rad(-5),rad(0),rad(0)),1)
LH.C0=clerp(LH.C0,LHC0*angles(rad(-5),rad(0),rad(0)),1)
RS.C0=clerp(RS.C0,RSC0*angles(rad(-10),rad(0),rad(0)),1)
LS.C0=clerp(LS.C0,LSC0*angles(rad(-10),rad(0),rad(0)),1)
Neck.C0=clerp(Neck.C0,necko*angles(rad(10),rad(0),rad(-20)),1)
RootJoint.C0=RootJoint.C0:lerp(ROOTC0*angles(rad(0),rad(0),rad(20)),1)
print(RH.C0)
print(LH.C0)
print(RS.C0)
print(LS.C0)
print(RootJoint.C0)
print(Neck.C0)
end
X=function()
attacking=true
math.randomseed(tick())
math.random()
local ids={"rbxassetid://327264499","rbxassetid://327264897","rbxassetid://
331196652","rbxassetid://298947115"}
local Li = Instance.new("BillboardGui",Char)
Li.Size = UDim2.new(0,100,0,40)
Li.StudsOffset = Vector3.new(0,3,0)
Li.Adornee = Torso
Li.Size=UDim2.new(5,0,5,0)
local img=it("ImageLabel",Li)
img.Image=ids[math.random(1,#ids)]
img.BackgroundTransparency=1
img.Size=UDim2.new(1,0,1,0)
for i=1,200000000000000 do r:wait()
img.Image=ids[math.random(1,#ids)]
img.Rotation=math.random(1,360)
end
attacking=false
end
li=function()
local ids={"rbxassetid://327264499","rbxassetid://327264897","rbxassetid://
331196652","rbxassetid://298947115"}
local Li = Instance.new("BillboardGui",Torso)
Li.Size = UDim2.new(0,300,0,120)
Li.StudsOffset = Vector3.new(0,0,0)
Li.Adornee = Torso
Li.Size=UDim2.new(5,0,5,0)
local img=it("ImageLabel",Li)
img.Image=ids[math.random(1,#ids)]
img.BackgroundTransparency=1
img.Size=UDim2.new(1,0,1,0) spawn(function()
while op==true do r:wait()
img.Image=ids[math.random(1,#ids)]
img.Rotation=math.random(1,360)
end
Li:Destroy()
end)
end
C=function()
attacking=true
local bv=it("BodyVelocity")
bv.maxForce=v3(huge,huge,huge)
RootJoint.C0=clerp(RootJoint.C0,ROOTC0*angles(rad(45),0,0)*cf(0,0,-.6),.3)
Neck.C0=clerp(Neck.C0,necko*angles(rad(5),0,0),.3)
RS.C0=clerp(RS.C0,RSC0*angles(0,0,rad(90))*cf(.3,0,0),.3)
RH.C0=clerp(RH.C0,RHC0*angles(0,0,rad(-45)),.3)
LH.C0=clerp(LH.C0,LHC0*angles(0,0,rad(-45)),.3)
end
bv:Destroy()
wait(.455)
local fg=Ray.new(RArm.Position+v3(0,-1.5,0),v3(0,-5,0))
local
par,pos=workspace:FindPartOnRayWithIgnoreList(fg,Char:children(),false,true)
if par and pos then
local bem=part(Effects,true,false,v3(1,1,1),cf(pos)*angles(0,0,rad(-
90)),BrickColor.new("Cyan").Color,"Neon",0)
local beem=mesh(bem,"Cylinder",v3(400,2,400))
local cirs={}
for i=1,3 do r:wait()
local c=part(Effects,true,false,v3(0,0,0),cf(pos)*angles(rad(-
90),0,0),BrickColor.new("Cyan").Color,"Neon",0)
local cm=spmesh(c,"rbxassetid://3270017",v3((i*8)+5,(i*8)+5,(i*2)+18))
table.insert(cirs,c)
end
for i=1,60 do r:wait()
beem.Scale=beem.Scale+v3(.5,.5,.5)
bem.Transparency=i/180
for _,v in pairs(cirs) do
spawn(function()
v.Transparency=i/60
v.Mesh.Scale=v.Mesh.Scale+v3(.5,.5,.1)
end)
end
end
bem:Destroy()
for _,v in pairs(cirs) do
v:Destroy()
end
end
attacking=false
end
function mhands(cframe)
spawn(function()
l=BrickColor.new('Cyan')
local h=part(Effects,true,false,v3(0,0,0),cframe*angles(ran(-10,10),ran(-
10,10),ran(-10,10)),l.Color,"Neon",0)
local hm=mesh(h,"Brick",v3(7*3,7*3,7*3))
for i=1,40 do r:wait()
h.Transparency=i/40
end
h:Destroy()
end)
end
function circles(cfr)
spawn(function()
local
cir=part(Effects,true,false,v3(0,0,0),cfr,BrickColor.new('Cyan').Color,"Neon",0)
local cm=spmesh(cir,"rbxassetid://3270017",v3(4,4,2))
for i=1,180 do r:wait()
cm.Scale=cm.Scale+v3(2,2,2)
cir.Transparency=i/10
end
cir:Destroy()
end)
end
V=function()
attacking=true
Human.WalkSpeed=0
Human.JumpPower=0
li()
function sw(t) spawn(function()
local c=part(Effects,true,false,v3(0,0,0),Torso.CFrame*cf(0,-
1.3,0),l.Color,"Neon",.9)
local cm=spmesh(c,"rbxassetid://20329976",v3(6,2,6))
for i=1,100 do r:wait()
cm.Scale=cm.Scale:Lerp(cm.Scale+Vector3.new(4,-.021,4),1)
if t==true then
c.CFrame=c.CFrame*angles(0,rad(i),0)
elseif t==false then
c.CFrame=c.CFrame*angles(0,rad(i*-1),0)
end
c.Transparency=.9+i/100
end
c:Destroy() end)
end
for i=1,100 do r:wait()
if i%3==0 then
mhands(RArm.CFrame*cf(0,-1.5,0))
mhands(LArm.CFrame*cf(0,-1.5,0))
sw(true)
end
if i%4==0 then
Lightning(RArm.CFrame*cf(0,-1.5,0).p,RArm.CFrame*cf(0,-
30,0).p,7,3,BrickColor.new('Cyan'),.2)
Lightning(LArm.CFrame*cf(0,-1.5,0).p,LArm.CFrame*cf(0,-
30,0).p,7,3,BrickColor.new('Cyan'),.2)
circles(Torso.CFrame*cf(-30,0,0)*angles(0,math.pi/2,0))
circles(Torso.CFrame*cf(30,0,0)*angles(0,math.pi/2,0))
sw(false)
end
Damage(Torso.CFrame,.5,1,30)
PowerGlow(Effects,Torso.CFrame*cf(ran(-10,10),-1.3,ran(-
10,10)),BrickColor.new('Cyan').Color,'Pastel white',"Neon",3)
RH.C0=clerp(RH.C0,RHC0*angles(rad(0),rad(0),rad(0))*cf(0,0,0),.3)
LH.C0=clerp(LH.C0,LHC0*angles(rad(0),rad(0),rad(0))*cf(0,0,0),.3)
RS.C0=clerp(RS.C0,RSC0*angles(rad(-90),rad(0),rad(0))*cf(0,0,0),.3)
LS.C0=clerp(LS.C0,LSC0*angles(rad(-90),rad(0),rad(10)),.3)
Neck.C0=clerp(Neck.C0,necko*angles(rad(-15),rad(0),rad(0)),.3)
RootJoint.C0=RootJoint.C0:lerp(ROOTC0*angles(rad(0),rad(0),rad(0)),.3)
end
Lightning(Torso.Position,Torso.Position+v3(0,200,0),18,3,BrickColor.new('Cyan'),4)
local cc=it("ColorCorrectionEffect",game.Lighting)
cc.Brightness=1
local
p=part(Effects,true,false,v3(0,0,0),Torso.CFrame,BrickColor.new('Cyan').Color,"Neon
",0)
local pm=mesh(p,"Sphere",v3(1,1,1))
spawn(function()
for i=50,1,-1 do r:wait()
cc.Brightness=i/50
end
cc:Destroy()
end)
spawn(function()for c=1,25 do r:wait()
pm.Scale=pm.Scale+v3(3,3,3)
p.Transparency=c/25
end
local
EyePart=part(Char,false,false,v3(.3,.3,.3),Torso.CFrame,BrickColor.new('Cyan').Colo
r,"Neon",0)
EyePart.Name="EyePart"
EyePart.Shape="Ball"
local EyePart2=EyePart:Clone()
EyePart2.Parent=Char
local EyeWeld=it("Weld",Char)
EyeWeld.Part0=EyePart
EyeWeld.Part1=Head
EyeWeld.C0=EyeWeld.C0*cf(.2,-.25,.578)
local EyeWeld2=it("Weld",Char)
EyeWeld2.Part0=EyePart2
EyeWeld2.Part1=Head
EyeWeld2.C0=EyeWeld2.C0*cf(-.2,-.25,.578)
local EyeSizes={
NumberSequenceKeypoint.new(0,.4,0),
NumberSequenceKeypoint.new(1,0,0)
}
local EyeTrans={
NumberSequenceKeypoint.new(0,0,0),
NumberSequenceKeypoint.new(1,1,0)
}
local PE=it("ParticleEmitter",EyePart)
PE.LightEmission=1
PE.LockedToPart=false
PE.Size=NumberSequence.new(EyeSizes)
PE.Transparency=NumberSequence.new(EyeTrans)
--PE.Acceleration=v3(2,0,0)
PE.Lifetime=NumberRange.new(2,2,2)
PE.Rate=34958349053045
PE.Speed=NumberRange.new(2,2,2)
PE.Texture="rbxassetid://253188606"
local PE2=PE:Clone()
PE2.Parent=EyePart2
while r:wait() do
PE.Acceleration=v3(math.sin(tick()),0,math.sin(tick()))
PE2.Acceleration=v3(math.cos(tick()),0,math.cos(tick()))
end
end)
for i=1,10 do r:wait() spawn(function()
local
c=part(Effects,true,false,v3(1,1,1),Head.CFrame,BrickColor.new("Cyan").Color,"Neon"
,.4)
local
c2=part(Effects,true,false,v3(1,1,1),Head.CFrame,BrickColor.new("Cyan").Color,"Neon
",.4)
local cm=spmesh(c,"rbxassetid://3270017",v3(1,1,.4))
local cm2=spmesh(c2,"rbxassetid://3270017",v3(1,1,.4))
for ii=1,60 do r:wait()
c.CFrame=c.CFrame*angles(ran(-math.pi,math.pi),ran(-
math.pi,math.pi),ran(-math.pi,math.pi))
c2.CFrame=c2.CFrame*angles(ran(-math.pi,math.pi),ran(-
math.pi,math.pi),ran(-math.pi,math.pi))
cm.Scale=cm.Scale+v3(4,4,0)
cm2.Scale=cm2.Scale+v3(4,4,0)
c.Transparency=.4+ii/50
c2.Transparency=.4+ii/50
Damage(Torso.CFrame,8,20,35)
end
end) wait()
end
wait(.75)
li()
p:Destroy()
Human.WalkSpeed=20
Human.JumpPower=50
attacking=false
op=true
for _,v in pairs(Effects:GetChildren()) do
v:Destroy()
end
for i=1,40 do r:wait()
if attacking==true then break end
RH.C0=clerp(RH.C0,RHC01,.3)
LH.C0=clerp(LH.C0,LHC01,.3)
RS.C0=clerp(RS.C0,RSC01,.3)
LS.C0=clerp(LS.C0,LSC01,.3)
Neck.C0=clerp(Neck.C0,NECKC01,.3)
RootJoint.C0=clerp(RootJoint.C0,ROOTC01,.3)
end
end
spawn(function()
for i=1,huge do r:wait()
if op==true then
if i%5 ==0 then
sw(true)
sw(false)
mhands(RArm.CFrame*cf(0,-1.5,0))
mhands(LArm.CFrame*cf(0,-1.5,0))
end
if i%40==0 then
Lightning(Torso.CFrame*cf(ran(-10,10),ran(-3,10),ran(-
10,10)).p,Torso.CFrame*cf(ran(-10,10),ran(-3,10),ran(-
10,10)).p,4,3,BrickColor.new('Cyan'),.2)
end
end
end
end)
while r:wait() do detect_state() end