Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[Orinthion Sword and Shield created by Brannon1964802.]]--
- wait(1/60)
- Player=game:GetService("Players").LocalPlayer
- Character=Player.Character
- PlayerGui=Player.PlayerGui
- Backpack=Player.Backpack
- Torso=Character.Torso
- Head=Character.Head
- Humanoid=Character.Humanoid
- LeftArm=Character["Left Arm"]
- LeftLeg=Character["Left Leg"]
- RightArm=Character["Right Arm"]
- RightLeg=Character["Right Leg"]
- LS=Torso["Left Shoulder"]
- LH=Torso["Left Hip"]
- RS=Torso["Right Shoulder"]
- RH=Torso["Right Hip"]
- Face=Head.face
- Neck=Torso.Neck
- it=Instance.new
- attacktype=1
- vt=Vector3.new
- cf=CFrame.new
- euler=CFrame.fromEulerAnglesXYZ
- angles=CFrame.Angles
- necko=cf(0,1,0,-1,-0,-0,0,0,1,0,1,0)
- RootCF=angles(math.rad(-90),0,math.rad(180))
- --necko2=cf(0,-0.5,0,-1,-0,-0,0,0,1,0,1,0)
- --LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
- --RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
- RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
- LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
- RootPart=Character.HumanoidRootPart
- RootJoint=RootPart.RootJoint
- attack=false
- equipped=false
- Mouse=Player:GetMouse()
- local idle=0
- local Anim="Idle"
- local ShotTarget=RootPart
- player=nil
- --[[Saz's Artificial Heartbeat]]--
- ArtificialHB=Instance.new("BindableEvent",script)
- ArtificialHB.Name="ArtificialHB"
- script:WaitForChild("ArtificialHB")
- frame=1/60 --1/30 is old Heartbeat and 1/60 is like Renderstepped speed
- tf=0
- allowframeloss=false
- tossremainder=false
- lastframe=tick()
- script.ArtificialHB:Fire()
- game:GetService("RunService").Heartbeat:connect(function(s,p)
- tf=tf+s
- if tf>=frame then
- if allowframeloss then
- script.ArtificialHB:Fire()
- lastframe=tick()
- else
- for i=1,math.floor(tf/frame) do
- script.ArtificialHB:Fire()
- end
- lastframe=tick()
- end
- if tossremainder then
- tf=0
- else
- tf=tf-frame*math.floor(tf/frame)
- end
- end
- end)
- ----------------------------------------
- --[[HB wait]]--
- local animationspeed=2 --The speed the script goes and stuff.
- function hbwait(number)
- if number==0 or number==nil then
- game:GetService("RunService").Stepped:wait()
- --ArtificialHB.Event:wait()
- else
- for i=0,number do
- game:GetService("RunService").Stepped:wait()
- --ArtificialHB.Event:wait()
- end
- end
- end
- ----------------------------------------
- --[[Stats and Other Values]]--
- local Stats=Instance.new("Folder",Character)
- Stats.Name="Stats"
- local Defense=Instance.new("NumberValue",Stats)
- Defense.Name="Defense"
- Defense.Value=0.6
- local Movement=Instance.new("NumberValue",Stats)
- Movement.Name="Movement"
- Movement.Value=1
- local Damage=Instance.new("NumberValue",Stats)
- Damage.Name="Damage"
- Damage.Value=1
- local Mana=Instance.new("NumberValue",Stats)
- Mana.Name="Mana"
- Mana.Value=0
- local Rooted=Instance.new("BoolValue",Stats)
- Rooted.Name="Rooted"
- Rooted.Value=false
- local BlockValue=Instance.new("BoolValue",Stats)
- BlockValue.Name="BlockValue"
- BlockValue.Value=false
- local StaggerHitAnim=Instance.new("BoolValue",Stats)
- StaggerHitAnim.Name="StaggerHitAnim"
- StaggerHitAnim.Value=false
- local StaggerAnim=Instance.new("BoolValue",Stats)
- StaggerAnim.Name="StaggerAnim"
- StaggerAnim.Value=false
- local StunAnim=Instance.new("BoolValue",Stats)
- StunAnim.Name="StunAnim"
- StunAnim.Value=false
- local StunValue=Instance.new("NumberValue",Stats)
- StunValue.Name="StunValue"
- StunValue.Value=0
- local CanCrit=Instance.new("BoolValue",Stats)
- CanCrit.Name="CanCrit"
- CanCrit.Value=true
- local CritChance=Instance.new("NumberValue",Stats)
- CritChance.Name="CritChance"
- CritChance.Value=10
- local CanPenetrateArmor=Instance.new("BoolValue",Stats)
- CanPenetrateArmor.Name="CanPenetrateArmor"
- CanPenetrateArmor.Value=false
- local AntiTeamKill=Instance.new("BoolValue",Stats)
- AntiTeamKill.Name="AntiTeamKill"
- AntiTeamKill.Value=false
- ----------------------------------------
- --[[Ignore these values.]]--
- local LastPoint=nil
- local staggerhitanim=false
- local staggeranim=false
- local stunanim=false
- local CritChanceNumber=0
- local CustomColor=Torso.BrickColor
- local Colorpart1=CustomColor.r
- local Colorpart2=CustomColor.g
- local Colorpart3=CustomColor.b
- local InverseColor=BrickColor.new(Color3.new(1-Colorpart1,1-Colorpart2,1-Colorpart3))
- local idleangle=0
- local idlen=0
- local donum=0
- local sine=0
- local change=2/animationspeed
- local walkinganim=false
- local handidle=false
- local walk=0
- local someangle=0
- local change2=1
- local stundelay=0
- local manadelay=0
- local robloxidleanimation=Instance.new("Animation",Torso)
- robloxidleanimation.Name="robloxidleanimation"
- robloxidleanimation.AnimationId="http://www.roblox.com/asset/?id=180435571"
- local Animator=Humanoid:FindFirstChild("Animator")
- local Animate=Character:FindFirstChild("Animate")
- ----------------------------------------
- --[[Damage Function Sounds]]--
- local HitPlayerSounds={199149137,199149186,199149221,199149235,199149269,199149297}
- local HitArmorSounds={199149321,199149338,199149367,199149409,199149452}
- local HitWeaponSounds={199148971,199149025,199149072,199149109,199149119}
- local HitBlockSounds={199148933,199148947}
- ----------------------------------------
- --[[Gui Stuff]]--
- local cooldown1=0
- local cooldown2=0
- local cooldown3=0
- local cooldown4=0
- local scrn=Instance.new('ScreenGui',PlayerGui)
- local ud=UDim2.new
- local c3=Color3.new
- local skillcolorscheme=c3(1,1,1)
- function subtractmana(k)
- if Mana.Value>=k then
- Mana.Value=Mana.Value-k
- end
- end
- ----------------------------------------
- --[[Gui Settings]]--
- local co1=0 --How long it takes for the skill to cool down.
- local co2=0
- local co3=0
- local co4=0
- local maxmana=0 --Maximum amount of mana you can have.
- local maxstun=1 --Maximum amount of stun you can have.
- local recovermana=0 --Amount of mana you gain.
- local losestun=0 --Amount of stun you lose.
- local stunwait=0 --Delay between losing stun.
- local manawait=0 --Delay between gaining mana.
- local skill1mana=0 --How much mana is required to use the skill.
- local skill2mana=0
- local skill3mana=0
- local skill4mana=0
- local menuupdatespeed=0 --The speed the guis go to update to their size and position.
- local constantupdate=false --If true, then the bars will constantly update.
- local showstats=false --If true, then the menu will show your movement, defense, damage, and stun.
- local allowstunbar=false --If true, then shows the stun bar.
- ----------------------------------------
- --[[Gui Functions]]--
- function makeframe(par,trans,pos,size,color,name)
- local frame=Instance.new('Frame')
- frame.Parent=par
- frame.BackgroundTransparency=trans
- frame.BorderSizePixel=0
- frame.Position=pos
- frame.Size=size
- frame.BackgroundColor3=color
- frame.Name=name
- return frame
- end
- function makelabel(par,text,trans,stroketrans,name)
- local label=Instance.new('TextLabel')
- label.Parent=par
- label.BackgroundTransparency=1
- label.Size=ud(1,0,1,0)
- label.Position=ud(0,0,0,0)
- label.TextColor3=c3(255,255,255)
- label.TextStrokeTransparency=stroketrans
- label.TextTransparency=trans
- label.FontSize=Enum.FontSize.Size32
- label.Font=Enum.Font.Legacy
- label.BorderSizePixel=0
- label.TextScaled=true
- label.Text=text
- label.Name=name
- return label
- end
- ----------------------------------------
- --[[The Gui]]--
- framesk1=makeframe(scrn,0.5,ud(0.23,0,0.93,0),ud(0.26,0,0,0),c3(Colorpart1,Colorpart2,Colorpart3),"Frame 1")
- framesk2=makeframe(scrn,0.5,ud(0.5,0,0.93,0),ud(0.26,0,0,0),c3(Colorpart1,Colorpart2,Colorpart3),"Frame 2")
- framesk3=makeframe(scrn,0.5,ud(0.5,0,0.86,0),ud(0.26,0,0,0),c3(Colorpart1,Colorpart2,Colorpart3),"Frame 3")
- framesk4=makeframe(scrn,0.5,ud(0.23,0,0.86,0),ud(0.26,0,0,0),c3(Colorpart1,Colorpart2,Colorpart3),"Frame 4")
- bar1=makeframe(framesk1,0,ud(0,0,0,0),ud(0,0,1,0),c3(Colorpart1,Colorpart2,Colorpart3),"Bar 1")
- bar2=makeframe(framesk2,0,ud(0,0,0,0),ud(0,0,1,0),c3(Colorpart1,Colorpart2,Colorpart3),"Bar 2")
- bar3=makeframe(framesk3,0,ud(0,0,0,0),ud(0,0,1,0),c3(Colorpart1,Colorpart2,Colorpart3),"Bar 3")
- bar4=makeframe(framesk4,0,ud(0,0,0,0),ud(0,0,1,0),c3(Colorpart1,Colorpart2,Colorpart3),"Bar 4")
- text1=makelabel(framesk1,"[C] Ability 3",1,1,"Text 1")
- text2=makelabel(framesk2,"[V] Ability 4",1,1,"Text 2")
- text3=makelabel(framesk3,"[X] Ability 2",1,1,"Text 3")
- text4=makelabel(framesk4,"[Z] Ability 1",1,1,"Text 4")
- manabar=makeframe(scrn,0.5,ud(0.23,0,0.82,0),ud(0.26,0,0,0),c3(Colorpart1,Colorpart2,Colorpart3),"Mana Bar")
- manacover=makeframe(manabar,0,ud(0,0,0,0),ud(0,0,1,0),c3(Colorpart1,Colorpart2,Colorpart3),"Mana Cover")
- manatext=makelabel(manabar,"Mana",1,1,"Mana Text")
- healthbar=makeframe(scrn,0.5,ud(0.5,0,0.82,0),ud(0.26,0,0,0),c3(255/255,50/255,50/255),"Health Bar")
- healthcover=makeframe(healthbar,0,ud(0,0,0,0),ud(0,0,1,0),c3(255/255,50/255,50/255),"Health Cover")
- healthtext=makelabel(healthbar,"Health",1,1,"Health Text")
- if allowstunbar==true then
- stunframe=makeframe(scrn,0.5,ud(0.5,0,0.78,0),ud(0.26,0,0,0),c3(255/255,255/255,50/255),"Stun Frame")
- stunbar=makeframe(stunframe,0,ud(0,0,0,0),ud(0,0,1,0),c3(255/255,255/255,50/255),"Stun Bar")
- stuntext=makelabel(stunframe,"Stun",1,1,"Stun Text")
- end
- if showstats==true then
- defenseframe=makeframe(scrn,0.5,ud(0.23,0,0.78,0),ud(0.075,0,0,0),c3(100/255,100/255,255/255),"Defense Frame")
- damageframe=makeframe(scrn,0.5,ud(0.3225,0,0.78,0),ud(0.075,0,0,0),c3(255/255,100/255,100/255),"Damage Frame")
- movementframe=makeframe(scrn,0.5,ud(0.415,0,0.78,0),ud(0.075,0,0,0),c3(100/255,255/255,100/255),"Movement Frame")
- --[[
- defensecover=makeframe(defenseframe,0,ud(0,0,0,0),ud(1,0,1,0),c3(100/255,100/255,255/255),"Defense Cover")
- damagecover=makeframe(damageframe,0,ud(0,0,0,0),ud(1,0,1,0),c3(255/255,100/255,100/255),"Damage Cover")
- movementcover=makeframe(movementframe,0,ud(0,0,0,0),ud(1,0,1,0),c3(100/255,255/255,100/255),"Movement Cover")
- --]]
- defensetext=makelabel(defenseframe,"Defense: "..Defense.Value,1,1,"Defense Text")
- damagetext=makelabel(damageframe,"Damage: "..Damage.Value,1,1,"Damage Text")
- movementtext=makelabel(movementframe,"Movement: "..Movement.Value,1,1,"Movement Text")
- end
- ----------------------------------------
- function NoOutline(Part)
- Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
- end
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function nooutline(part)
- part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10
- end
- function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
- local fp=it("Part")
- fp.formFactor=formfactor
- fp.Parent=parent
- fp.Reflectance=reflectance
- fp.Transparency=transparency
- fp.CanCollide=false
- fp.Locked=true
- fp.BrickColor=BrickColor.new(tostring(brickcolor))
- fp.Name=name
- fp.Size=size
- fp.Position=Character.Torso.Position
- nooutline(fp)
- fp.Material=material
- fp:BreakJoints()
- return fp
- end
- function mesh(Mesh,part,meshtype,meshid,offset,scale)
- local mesh=it(Mesh)
- mesh.Parent=part
- if Mesh=="SpecialMesh" then
- mesh.MeshType=meshtype
- mesh.MeshId=meshid
- end
- mesh.Offset=offset
- mesh.Scale=scale
- return mesh
- end
- function weld(parent,part0,part1,c0,c1)
- local weld=it("Motor")
- weld.Parent=parent
- weld.Part0=part0
- weld.Part1=part1
- weld.C0=c0
- weld.C1=c1
- return weld
- end
- m=Instance.new("Model",Character)
- m.Name="Orinthion Sword and Shield"
- --workspace.CurrentCamera.CameraSubject=Head
- local swordhandle=part(3,m,"SmoothPlastic",0,0,"Really black","Sword Handle",vt())
- local swordhandlemesh=mesh("SpecialMesh",swordhandle,"FileMesh","http://www.roblox.com/asset/?id=92542050",vt(0,2.5,0),vt(0.7,0.7,0.7))
- swordhandlemesh.TextureId="http://www.roblox.com/asset/?id=92537877"
- local swordhandleweld=weld(RightArm,RightArm,swordhandle,cf(0,-1,0)*angles(math.rad(-90),0,0),cf(0,0,0))
- local Hitbox=part(3,m,"SmoothPlastic",0,1,"Really black","Hitbox",vt())
- local Hitboxweld=weld(swordhandle,swordhandle,Hitbox,cf(0,3.4,0),cf(0,0,0))
- local shieldhandle=part(3,m,"SmoothPlastic",0,0,"Really black","Shield Handle",vt())
- local shieldhandlemesh=mesh("SpecialMesh",shieldhandle,"FileMesh","http://www.roblox.com/asset/?id=92537560",vt(0,0,0),vt(0.6,0.6,0.6))
- shieldhandlemesh.TextureId="http://www.roblox.com/asset/?id=92537839"
- local shieldhandleweld=weld(LeftArm,LeftArm,shieldhandle,cf(-0.5,0,0)*angles(0,math.rad(90),math.rad(-90)),cf(0,0,0))
- Effects=Instance.new("Folder",m)
- Effects.Name="Effects"
- Humanoid.Died:connect(function()
- attack=true
- for _,v in pairs (Character:GetChildren()) do
- if v:IsA"Model" then
- m:Destroy()
- end
- end
- end)
- for i,v in pairs(Character:GetChildren()) do
- if v.ClassName=="Model" then
- for _,c in pairs(v:GetChildren()) do
- if c.ClassName=="Part" then
- c.CustomPhysicalProperties=PhysicalProperties.new(0.001,0.001,0.001,0.001,0.001)
- end
- end
- end
- end
- --print("Orinthion Sword and Shield loaded.")
- function so(id,par,vol,pit)
- coroutine.resume(coroutine.create(function()
- local sou=Instance.new("Sound",par or workspace)
- sou.Volume=vol
- sou.Pitch=pit or 1
- sou.SoundId="http://roblox.com/asset/?id="..id
- hbwait()
- sou:play()
- game:GetService("Debris"):AddItem(sou,10)
- end))
- end
- function clerp(a,b,t)
- local qa = {QuaternionFromCFrame(a)}
- local qb = {QuaternionFromCFrame(b)}
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1-t
- return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5/s
- return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00-m11-m22+1)
- local recip = 0.5/s
- return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
- elseif i == 1 then
- local s = math.sqrt(m11-m22-m00+1)
- local recip = 0.5/s
- return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
- elseif i == 2 then
- local s = math.sqrt(m22-m00-m11+1)
- local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w*xs, w*ys, w*zs
- local xx = x*xs
- local xy = x*ys
- local xz = x*zs
- local yy = y*ys
- local yz = y*zs
- local zz = z*zs
- 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))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = t-1
- finishInterp = t
- end
- end
- 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
- end
- function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
- return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- end
- function DamageStatLabel(labeltype,cframe,text,color)
- local c=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt(0,0,0))
- c.CFrame=cf(cframe.p+vt(0,1.5,0))
- game:GetService("Debris"):AddItem(c,5)
- Instance.new("BodyGyro",c)
- local f=Instance.new("BodyPosition",c)
- f.P=2000
- f.D=100
- f.maxForce=vt(math.huge,math.huge,math.huge)
- if labeltype=="Normal" then
- f.position=c.Position+vt(math.random(-2,2),6,math.random(-2,2))
- elseif labeltype=="Debuff" then
- f.position=c.Position+vt(math.random(-2,2),8,math.random(-2,2))
- elseif labeltype=="Interruption" then
- f.position=c.Position+vt(math.random(-2,2),8,math.random(-2,2))
- end
- game:GetService("Debris"):AddItem(c,5)
- local bg=Instance.new('BillboardGui',c)
- bg.Adornee=c
- bg.Size=UDim2.new(2.5,0,2.5,0)
- bg.StudsOffset=vt(-2,2,0)
- bg.AlwaysOnTop=false
- local tl=Instance.new('TextLabel',bg)
- tl.BackgroundTransparency=1
- tl.Size=UDim2.new(2.5,0,2.5,0)
- tl.Text=text
- tl.Font=Enum.Font.SourceSans
- tl.FontSize=Enum.FontSize.Size42
- tl.TextColor3=color
- tl.TextScaled=false
- tl.TextStrokeTransparency=0
- tl.TextScaled=true
- tl.TextWrapped=true
- f.Parent=c
- coroutine.resume(coroutine.create(function(Part,BodyPosition,TextLabel)
- wait(0.25)
- for i=1,5 do
- wait()
- BodyPosition.position=Part.Position-vt(0,0.5,0)
- end
- wait(1.25)
- for i=1,5 do
- wait()
- TextLabel.TextTransparency=TextLabel.TextTransparency+0.2
- TextLabel.TextStrokeTransparency=TextLabel.TextStrokeTransparency+0.2
- BodyPosition.position=Part.Position+vt(0,0.5,0)
- end
- Part.Parent=nil
- end),c,f,tl)
- end
- function IncreaseStat(Location,Stat,Amount,Duration,ShowTheStat)
- if Location:FindFirstChild("Stats")~=nil then
- if Location.Stats:FindFirstChild("BlockValue")~=nil then
- if Location.Stats:FindFirstChild("BlockValue").Value~=true then
- if Location.Stats[Stat]~=nil then
- Location.Stats[Stat].Value=Location.Stats[Stat].Value+Amount
- if ShowTheStat==true then
- if Stat=="Defense" then
- DamageStatLabel("Debuff",Location.Head.CFrame,"+Defense",c3(1,1,1))
- elseif Stat=="Damage" then
- DamageStatLabel("Debuff",Location.Head.CFrame,"+Damage",c3(1,1,1))
- elseif Stat=="Movement" then
- DamageStatLabel("Debuff",Location.Head.CFrame,"+Movement",c3(1,1,1))
- end
- end
- coroutine.resume(coroutine.create(function(CurrentDecrease)
- wait(Duration)
- CurrentDecrease.Value=CurrentDecrease.Value-Amount
- end),Location.Stats[Stat])
- end
- else
- DamageStatLabel("Interruption",Location.Head.CFrame,"Blocked!",Color3.new(0,100/255,255/255))
- end
- end
- end
- end
- function DecreaseStat(Location,Stat,Amount,Duration,ShowTheStat)
- if Location:FindFirstChild("Stats")~=nil then
- if Location.Stats:FindFirstChild("BlockValue")~=nil then
- if Location.Stats:FindFirstChild("BlockValue").Value~=true then
- if Location.Stats[Stat]~=nil then
- Location.Stats[Stat].Value=Location.Stats[Stat].Value-Amount
- if ShowTheStat==true then
- if Stat=="Defense" then
- DamageStatLabel("Debuff",Location.Head.CFrame,"-Defense",c3(1,1,1))
- elseif Stat=="Damage" then
- DamageStatLabel("Debuff",Location.Head.CFrame,"-Damage",c3(1,1,1))
- elseif Stat=="Movement" then
- DamageStatLabel("Debuff",Location.Head.CFrame,"-Movement",c3(1,1,1))
- end
- end
- coroutine.resume(coroutine.create(function(CurrentDecrease)
- wait(Duration)
- CurrentDecrease.Value=CurrentDecrease.Value+Amount
- end),Location.Stats[Stat])
- end
- else
- DamageStatLabel("Interruption",Location.Head.CFrame,"Blocked!",Color3.new(0,100/255,255/255))
- end
- end
- end
- end
- function GetDistance(Part1,Part2,magnitude)
- local target=Part1.Position-Part2.Position
- local mag=target.magnitude
- if mag<=magnitude then
- return true
- else
- return false
- end
- end
- --Usage: Damagefunc(hit,5,10,math.random(5,10),"Normal",Part,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,incstun,stagger,staggerhit,ranged,DecreaseTheStat,DecreaseAmount,DecreaseDuration,ShowDecreasedStat)
- if hit.Parent==nil then
- return
- end
- h=hit.Parent:FindFirstChild("Humanoid")
- for _,v in pairs(hit.Parent:GetChildren()) do
- if v:IsA("Humanoid") then
- h=v
- end
- end
- if hit.Name=="Hitbox" and ranged~=true and hit.Parent~=m then
- StaggerHitAnim.Value=true
- so(HitWeaponSounds[math.random(1,#HitWeaponSounds)],hit,1,1)
- return
- end
- if AntiTeamKill.Value==true then
- if game.Players:FindFirstChild(hit.Parent.Name)~=nil then
- opponent=game.Players:FindFirstChild(hit.Parent.Name)
- end
- if opponent~=nil then
- if opponent.TeamColor==Player.TeamColor then
- return
- end
- end
- end
- if hit.Parent.Parent:FindFirstChild("Torso")~=nil then
- h=hit.Parent.Parent:FindFirstChild("Humanoid")
- end
- if hit.Parent.className=="Hat" then
- hit=hit.Parent.Parent:FindFirstChild("Head")
- end
- if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then
- if hit.Parent:FindFirstChild("DebounceHit")~=nil then
- if hit.Parent.DebounceHit.Value==true then
- return
- end
- end
- if hit.Parent:FindFirstChild("Humanoid")~=nil then
- if hit.Parent:FindFirstChild("Humanoid").Health<=0 then
- return
- end
- end
- if hit.Parent:FindFirstChild("Stats")~=nil then
- if hit.Parent.Stats:FindFirstChild("StunValue")~=nil then
- hit.Parent.Stats:FindFirstChild("StunValue").Value=hit.Parent.Stats:FindFirstChild("StunValue").Value+incstun
- end
- end
- if hit.Parent:FindFirstChild("Stats")~=nil then
- if hit.Parent.Stats:FindFirstChild("StaggerAnim")~=nil then
- if stagger==true then
- hit.Parent.Stats:FindFirstChild("StaggerAnim").Value=true
- end
- end
- end
- if hit.Parent:FindFirstChild("Stats")~=nil then
- if hit.Parent.Stats:FindFirstChild("BlockValue")~=nil then
- if hit.Parent.Stats:FindFirstChild("BlockValue").Value==true then
- if hit.Parent.Stats:FindFirstChild("BlockDebounce")==nil then
- DamageStatLabel("Interruption",hit.Parent.Head.CFrame,"Blocked!",Color3.new(0,100/255,255/255))
- local BlockDebounce=Instance.new("BoolValue",hit.Parent.Stats)
- BlockDebounce.Name="BlockDebounce"
- BlockDebounce.Value=true
- game:GetService("Debris"):AddItem(BlockDebounce,0.1)
- end
- if ranged~=true then
- if hit.Parent.Stats:FindFirstChild("BlockDebounce2")==nil then
- local BlockDebounce2=Instance.new("BoolValue",hit.Parent.Stats)
- BlockDebounce2.Name="BlockDebounce2"
- BlockDebounce2.Value=true
- game:GetService("Debris"):AddItem(BlockDebounce2,0.1)
- so(HitBlockSounds[math.random(1,#HitBlockSounds)],hit,1,1)
- end
- hit.Parent.Stats:FindFirstChild("BlockValue").Value=false
- StaggerAnim.Value=true
- end
- return
- end
- end
- end
- if DecreaseTheStat~=nil then
- if hit.Parent:FindFirstChild("Stats")~=nil then
- if DecreaseTheStat=="Defense" then
- DecreaseStat(hit.Parent,"Defense",DecreaseAmount,DecreaseDuration,ShowDecreasedStat)
- elseif DecreaseTheStat=="Damage" then
- DecreaseStat(hit.Parent,"Damage",DecreaseAmount,DecreaseDuration,ShowDecreasedStat)
- elseif DecreaseTheStat=="Movement" then
- DecreaseStat(hit.Parent,"Movement",DecreaseAmount,DecreaseDuration,ShowDecreasedStat)
- end
- end
- end
- local D=math.random(minim,maxim)*Damage.Value
- if hit.Parent:FindFirstChild("Stats")~=nil then
- if hit.Parent.Stats:FindFirstChild("Defense") then
- if CanPenetrateArmor.Value==true then
- D=D
- else
- D=D/hit.Parent.Stats:FindFirstChild("Defense").Value
- end
- elseif hit.Parent.Stats:FindFirstChild("Defense")==nil then
- D=D
- end
- end
- if CanCrit.Value==true then
- CritChanceNumber=math.random(1,CritChance.Value)
- if CritChanceNumber==CritChance.Value then
- D=D*2
- end
- end
- D=math.floor(D)
- h.Health=h.Health-D
- if D<=3 and staggerhit==true then
- if ranged~=true then
- StaggerHitAnim.Value=true
- end
- if ranged~=true then
- so(HitArmorSounds[math.random(1,#HitArmorSounds)],hit,1,1)
- end
- elseif D>3 and ranged~=true then
- so(HitPlayerSounds[math.random(1,#HitPlayerSounds)],hit,1,1)
- end
- if D>3 and D<20 then
- if CanCrit.Value==true and CritChanceNumber==CritChance.Value then
- DamageStatLabel("Normal",hit.Parent.Head.CFrame,"Crit! "..D,Color3.new(200/255,0,0))
- so("296102734",hit,1,1)
- else
- DamageStatLabel("Normal",hit.Parent.Head.CFrame,D,Color3.new(255/255,220/255,0))
- end
- elseif D>=20 then
- if CanCrit.Value==true and CritChanceNumber==CritChance.Value then
- DamageStatLabel("Normal",hit.Parent.Head.CFrame,"Crit! "..D,Color3.new(200/255,0,0))
- so("296102734",hit,1,1)
- else
- DamageStatLabel("Normal",hit.Parent.Head.CFrame,D,Color3.new(255/255,0,0))
- end
- elseif D<=3 then
- if CanCrit.Value==true and CritChanceNumber==CritChance.Value then
- DamageStatLabel("Normal",hit.Parent.Head.CFrame,"Crit! "..D,Color3.new(200/255,0,0))
- so("296102734",hit,1,1)
- else
- DamageStatLabel("Normal",hit.Parent.Head.CFrame,D,Color3.new(225/255,225/255,225/255))
- end
- else
- end
- if Type=="Normal" then
- local vp=Instance.new("BodyVelocity")
- vp.P=500
- vp.maxForce=vt(math.huge,0,math.huge)
- if KnockbackType==1 then
- vp.Velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05
- elseif KnockbackType==2 then
- vp.Velocity=Property.CFrame.lookVector*knockback
- end
- if knockback>0 then
- vp.Parent=hit.Parent.Torso
- end
- game:GetService("Debris"):AddItem(vp,0.5)
- elseif Type=="ShieldBlast" then
- local vp=Instance.new("BodyVelocity")
- vp.P=500
- vp.maxForce=vt(10000,10000,10000)
- vp.Velocity=((hit.Position-Property.Position).unit+vt(0,1,0))*knockback
- if knockback>0 then
- vp.Parent=hit.Parent.Torso
- end
- game:GetService("Debris"):AddItem(vp,0.5)
- elseif Type=="ElectricGroundSmash" then
- local vp=Instance.new("BodyVelocity")
- vp.P=500
- vp.maxForce=vt(0,math.huge,0)
- vp.Velocity=vt(0,1,0)*knockback
- if knockback>0 then
- vp.Parent=hit.Parent.Torso
- end
- game:GetService("Debris"):AddItem(vp,0.5)
- elseif Type=="ElectricBlast" then
- local vp=Instance.new("BodyVelocity")
- vp.P=500
- vp.maxForce=vt(10000,0,10000)
- vp.Velocity=(hit.Position-Property.Position).unit*knockback
- if knockback>0 then
- vp.Parent=hit.Parent.Torso
- end
- game:GetService("Debris"):AddItem(vp,0.5)
- end
- local DebounceHit=Instance.new("BoolValue",hit.Parent)
- DebounceHit.Name="DebounceHit"
- DebounceHit.Value=true
- game:GetService("Debris"):AddItem(DebounceHit,Delay)
- end
- end
- --Usage: MagniDamage(Part,5,5,10,math.random(5,10),"Normal",Part,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- function MagniDamage(Part,magni,mindam,maxdam,knock,Type,Property,Delay,KnockbackType,incstun,stagger,staggerhit,ranged,MagicDecreaseTheStat,MagicDecreaseAmount,MagicDecreaseDuration,MagicShowDecreasedStat)
- for _,c in pairs(workspace:GetChildren()) do
- local hum=c:FindFirstChild("Humanoid")
- local head=nil
- if hum~=nil then
- head=c:FindFirstChild("Torso")
- if head~=nil then
- local targ=head.Position-Part.Position
- local mag=targ.magnitude
- if mag<=magni and c.Name~=Player.Name then
- Damagefunc(head,mindam,maxdam,knock,Type,Property,Delay,KnockbackType,incstun,stagger,staggerhit,ranged,MagicDecreaseTheStat,MagicDecreaseAmount,MagicDecreaseDuration,MagicShowDecreasedStat)
- end
- end
- for _,d in pairs(c:GetChildren()) do
- if d.ClassName=="Model" and ranged~=true then
- head=d:FindFirstChild("Hitbox")
- if head~=nil then
- local targ=head.Position-Part.Position
- local mag=targ.magnitude
- if mag<=magni and c.Name~=Player.Name then
- local hitrefpart=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt())
- hitrefpart.Anchored=true
- hitrefpart.CFrame=cf(head.Position)
- so(HitWeaponSounds[math.random(1,#HitWeaponSounds)],hitrefpart,1,1)
- StaggerHitAnim.Value=true
- end
- end
- end
- end
- end
- end
- end
- --[[Effects]]--
- function Lightning(p0,p1,tym,ofs,brickcolor,material,th,tra,last)
- --[[p0=pos1
- p1=pos2
- tym=times
- ofs=offset
- col=color
- th=size
- tra=transparency
- last=lastingtime]]
- local magz=(p0-p1).magnitude
- local curpos=p0
- local trz={-ofs,ofs}
- for i=1,tym do
- local li=part(3,Effects,material,0,0,brickcolor,"Effect",vt(th,th,magz/tym))
- li.Anchored=true
- local ofz=vt(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
- local trolpos=cf(curpos,p1)*cf(0,0,magz/tym).p+ofz
- if tym==i then
- local magz2=(curpos-p1).magnitude
- li.Size=vt(th,th,magz2)
- li.CFrame=cf(curpos,p1)*cf(0,0,-magz2/2)
- else
- li.CFrame=cf(curpos,trolpos)*cf(0,0,magz/tym/2)
- end
- curpos=li.CFrame*cf(0,0,magz/tym/2).p
- game.Debris:AddItem(li,last)
- coroutine.resume(coroutine.create(function()
- while li.Transparency~=1 do
- --local StartTransparency=tra
- for i=0,1,last do
- hbwait()
- li.Transparency=li.Transparency+(0.1/last)
- end
- end
- end))
- end
- end
- function MagicRing(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.CFrame=Part.CFrame
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicWave(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=20329976",vt(0,0,(-0.1*z1)),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.CFrame=Part.CFrame
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicBlock(brickcolor,material,rotate,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- if rotate==true then
- Part.CFrame=Part.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- else
- end
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent = nil
- end),prt,msh)
- end
- function MagicBlock2(brickcolor,material,rotate,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- CF=prt.CFrame
- num=math.random(5,20)
- coroutine.resume(coroutine.create(function(Part,Mesh,CF2,Num)
- for i=0,1,delay do
- hbwait()
- if rotate==true then
- Part.CFrame=CF2*cf(0,i*Num,0)*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- else
- Part.CFrame=CF2*cf(0,i*Num,0)
- end
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh,CF,num)
- end
- function MagicCylinder(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("CylinderMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicCircle(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicHead(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"Head","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function BreakEffect(brickcolor,material,rotate,cframe,x1,y1,z1,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb)
- CF=Part.CFrame
- Numbb=0
- randnumb=math.random()-math.random()
- for i=0,1,delay do
- hbwait()
- CF=CF*cf(0,1,0)
- if rotate==true then
- Part.CFrame=CF*angles(Numbb,0,0)
- elseif rotate==false then
- Part.CFrame=CF
- end
- Part.Transparency=i
- Numbb=Numbb+randnumb
- end
- Part.Parent=nil
- end),prt,CF,Numbb,randnumb)
- end
- function ElecEffect(brickcolor,material,cf,x,y,z,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cf
- xval=math.random()
- yval=math.random()
- zval=math.random()
- local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x,y,z))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh,xvaal,yvaal,zvaal)
- for i=0,1,delay do
- hbwait()
- Part.CFrame=Part.CFrame
- xvaal=xvaal-0.1*(delay*10)
- yvaal=yvaal-0.1*(delay*10)
- zvaal=zvaal-0.1*(delay*10)
- Mesh.Scale=Mesh.Scale+vt(xvaal,yvaal,zvaal)
- Part.Transparency=i
- end
- Part.Parent=nil
- end),prt,msh,xval,yval,zval)
- end
- function TrailEffect(brickcolor,material,currentcf,oldcf,meshtype,reflectance,size,x,y,z,delay)
- local magnitudecframe=(currentcf.p-oldcf.p).magnitude
- local prt=part(3,Effects,material,reflectance,0,brickcolor,"Effect",vt(1,magnitudecframe,1))
- prt.Anchored=true
- prt.CFrame=cf((currentcf.p+oldcf.p)/2,oldcf.p)*angles(math.rad(90),0,0)
- local TheMeshType="BlockMesh"
- if meshtype=="Cylinder" then
- TheMeshType="CylinderMesh"
- end
- local msh=mesh(TheMeshType,prt,"","",vt(0,0,0),vt(0+size,1,0+size))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh,TheCurrentCFrame,TheLastCFrame)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x,y,z)
- end
- Part.Parent=nil
- end),prt,msh,currentcf,oldcf)
- end
- function ClangEffect(brickcolor,material,cframe,angle,duration,size,power,reflectance,x,y,z,delay)
- local prt=part(3,Effects,material,0,1,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(0,0,0))
- game:GetService("Debris"):AddItem(prt,10)
- local TheLastPoint=cframe
- coroutine.resume(coroutine.create(function(Part)
- for i=1,duration do
- hbwait()
- Part.CFrame=Part.CFrame*angles(math.rad(angle),0,0)*cf(0,power,0)
- TrailEffect(brickcolor,material,Part.CFrame,TheLastPoint,"Cylinder",reflectance,size,x,y,z,delay)
- TheLastPoint=Part.CFrame
- end
- Part.Parent=nil
- end),prt)
- end
- function MagicCone(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=1778999",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicFlatCone(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=1033714",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicSpikedCrown(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=1323306",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicCrown(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=1078075",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicSkull(brickcolor,material,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,Effects,material,0,0,brickcolor,"Effect",vt())
- prt.Anchored=true
- prt.CFrame=cframe
- local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=4770583",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,10)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- hbwait()
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- ----------------------------------------
- --[[Projectile or something similar]]--
- --[[
- local spread=vt(0,0,0)
- local MainPos=Part.Position
- local MainPos2=Mouse.Hit.p+spread
- local MouseLook=cf((MainPos+MainPos2)/2,MainPos2)
- local speed=2
- local num=30
- coroutine.resume(coroutine.create(function()
- repeat
- hbwait()
- local hit,pos=rayCast(MainPos,MouseLook.lookVector,speed,ShotTarget.Parent)
- local mag=(MainPos-pos).magnitude
- MagicCylinder(CustomColor,cf((MainPos+pos)/2,pos)*angles(math.rad(90),0,0),1,mag*(speed/(speed/2)),1,0,0,0,0.1)
- MainPos=MainPos+(MouseLook.lookVector*speed)
- MouseLook=MouseLook*angles(math.rad(-1),0,0)
- num=num-1
- if hit~=nil then
- num=0
- local refpart=part(3,workspace,"SmoothPlastic",0,1,BrickColor.new("Really black"),"Effect",vt())
- refpart.Anchored=true
- refpart.CFrame=cf(pos)
- game:GetService("Debris"):AddItem(refpart,0.1)
- elseif num<=0 then
- local refpart=part(3,workspace,"SmoothPlastic",0,1,BrickColor.new("Really black"),"Effect",vt())
- refpart.Anchored=true
- refpart.CFrame=cf(pos)
- game:GetService("Debris"):AddItem(refpart,0.1)
- end
- until num<=0
- end))
- ]]--
- --------------------------------
- --[[Laser]]--
- --[[
- local spread=vt(0,0,0) --How much spread the laser has. Set all to 0 for no spread.
- local range=999
- local MainPos=Part.Position --The Part the laser starts at.
- local MainPos2=Mouse.Hit.p+spread --Where the laser will go to.
- local MouseLook=cf((MainPos+MainPos2)/2,MainPos2) --Ignore this.
- local hit,pos=rayCast(MainPos,MouseLook.lookVector,range,ShotTarget.Parent) --Also ignore this.
- local mag=(MainPos-pos).magnitude
- MagicCylinder(CustomColor,cf((MainPos+pos)/2,pos)*angles(math.rad(90),0,0),1,mag*5,1,0,0,0,0.1)
- if hit~=nil then
- local refpart=part(3,workspace,"SmoothPlastic",0,1,BrickColor.new("Really black"),"Effect",vt())
- refpart.Anchored=true
- refpart.CFrame=cf(pos)
- game:GetService("Debris"):AddItem(refpart,0.1)
- end
- ]]--
- --------------------------------
- --[[Customization]]--
- --[[Only choose one of these options or conflict will occur.]]--
- local startequipped=true --Makes the Player start with their weapon equipped.
- local startequippedwithequipanimation=false --Makes the Player start with their weapon equipped and plays the equip animation.
- ----------------------------------------
- --[[Only choose one of these options or conflict will occur.]]--
- local disableanimator=true --Disables the animator script and the Player will NOT have their idle animation playing.
- local disableanimate=false --Disables the animate script, but the Player will still have their idle animation playing.
- ----------------------------------------
- --[[Set this to true if you want an alternate walk.]]--
- local alternatewalk=false --If true, then the walking function uses a different walking animation. If false, then it will use the default walking animation.
- ----------------------------------------
- --[[Gui stuff]]--
- local hidemenu=false --Hides the menus on your screen, but does NOT disable it (Unless if it's already disabled).
- local allowmenutofunction=false --Allows the menu to run, but only shows the mana and health bars.
- local allowabilitiestofunction=false --Allows abilities with cooldowns. Doesn't work if "allowmenutofunction" is set to false.
- ----------------------------------------
- --[[Other Customization]]--
- local canunequiporequip=false --Allows or restricts the Player to equip or unequip their weapon.
- local allowidle=false --Allows the idle animation to run while the Player has their weapon equipped. Most noticable with the animator disabled.
- local allowwalking=false --Allows the walking animation to run while the Player walks. Noticable with either the animate or animator disabled.
- local disablemovingarms=false --Allows or restricts the arms from moving. Most noticable when both the animate and animator are not disabled.
- local usemotorsinsteadofwelds=false --If true, then uses motors instead of welds. Pretty self-explanatory.
- local leftarm=false --Allows the left arm to move around while you walk.
- local rightarm=false --Allows the right arm to move around while you walk.
- local allowhopperbin=false --If true, then creates a tool in the Player's inventory, which they must select to use the weapon.
- local showstunbar=false --If true, then a stun mechanic will be put in place. Requires "allowstunbar" to be set to true.
- local walkspeeddependsonmovementvalue=false --If true, then walkspeed will depend on the movement's value.
- local alternatemanaregensystem=false --If true, then uses an alternate mana regen that adds the desired mana after a desired delay.
- local showhealthmanaandstunnumbers=false --If true, then shows how much mana and health you have in a number box.
- local changebarcolorsifnotenoughmana=false --If true, then if you do not have enough mana for an ability the bar will turn grey.
- local disablejump=false --If true, then disables jumping.
- ----------------------------------------
- --[[End of Customization]]--
- if hidemenu==true then
- for _,v in pairs (scrn:GetChildren()) do
- if v.ClassName=="Frame" or v.ClassName=="TextLabel" then
- v.Visible=false
- end
- end
- end
- Humanoid.Changed:connect(function(Jump)
- if Jump=="Jump" and disablejump==true then
- Humanoid.Jump=false
- end
- end)
- if allowmenutofunction==true then
- for _,v in pairs (scrn:GetChildren()) do
- if v.ClassName=="Frame" then
- for _,b in pairs (v:GetChildren()) do
- if b.ClassName=="TextLabel" then
- coroutine.resume(coroutine.create(function(TheTextLabel)
- wait(menuupdatespeed)
- for i=1,0,-0.1 do
- hbwait()
- TheTextLabel.TextTransparency=i
- TheTextLabel.TextStrokeTransparency=i
- end
- TheTextLabel.TextTransparency=0
- TheTextLabel.TextStrokeTransparency=0
- end),b)
- if showstats==true then
- coroutine.resume(coroutine.create(function(TheTextLabel)
- wait(menuupdatespeed)
- for i=1,0,-0.1 do
- hbwait()
- TheTextLabel.TextTransparency=i
- TheTextLabel.TextStrokeTransparency=i
- end
- TheTextLabel.TextTransparency=0
- TheTextLabel.TextStrokeTransparency=0
- end),b)
- end
- if showstunbar==true then
- coroutine.resume(coroutine.create(function(TheTextLabel)
- wait(menuupdatespeed)
- for i=1,0,-0.1 do
- hbwait()
- TheTextLabel.TextTransparency=i
- TheTextLabel.TextStrokeTransparency=i
- end
- TheTextLabel.TextTransparency=0
- TheTextLabel.TextStrokeTransparency=0
- end),b)
- end
- if allowabilitiestofunction==true then
- coroutine.resume(coroutine.create(function(TheTextLabel)
- wait(menuupdatespeed)
- for i=1,0,-0.1 do
- hbwait()
- TheTextLabel.TextTransparency=i
- TheTextLabel.TextStrokeTransparency=i
- end
- TheTextLabel.TextTransparency=0
- TheTextLabel.TextStrokeTransparency=0
- end),b)
- end
- end
- end
- end
- end
- end
- if allowhopperbin==true then
- if (script.Parent.className~="HopperBin") then
- Tool=Instance.new("HopperBin")
- Tool.Parent=Backpack
- Tool.Name="Orinthion Sword and Shield"
- script.Parent=Tool
- end
- Bin=script.Parent
- end
- if disablemovingarms==true then
- RWC0=cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))
- LWC0=cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))
- RSH, LSH=nil, nil
- if usemotorsinsteadofwelds==true then
- RW=Instance.new("Motor")
- LW=Instance.new("Motor")
- else
- RW=Instance.new("Weld")
- LW=Instance.new("Weld")
- end
- RW.Name="Right Shoulder"
- LW.Name="Left Shoulder"
- RSH=Torso["Right Shoulder"]
- LSH=Torso["Left Shoulder"]
- --
- RSH.Parent=Torso
- LSH.Parent=Torso
- --
- RW.Name="Right Shoulder"
- RW.Part0=Torso
- RW.C0=cf(1.5,0.5,0)
- RW.C1=cf(0,0.5,0)
- RW.Part1=Character["Right Arm"]
- RW.Parent=nil
- --
- LW.Name="Left Shoulder"
- LW.Part0=Torso
- LW.C0=cf(-1.5, 0.5, 0)
- LW.C1=cf(0, 0.5, 0)
- LW.Part1=Character["Left Arm"]
- LW.Parent=nil
- --
- else
- RW=Torso["Right Shoulder"]
- LW=Torso["Left Shoulder"]
- RWC0=cf(-0.5,0,0)*angles(math.rad(0),math.rad(90),math.rad(0))
- LWC0=cf(0.5,0,0)*angles(math.rad(0),math.rad(-90),math.rad(0))
- end
- if allowidle==true then
- coroutine.resume(coroutine.create(function()
- while true do
- for i=0,1,0.08 do
- wait()
- idleangle=idleangle+0.005*idlen
- idlen=idlen-1/10
- end
- idlen=0
- for i=0,1,0.08 do
- wait()
- idleangle=idleangle-0.005*idlen
- idlen=idlen-1/10
- end
- idlen=0
- idleangle=0
- end
- end))
- end
- if startequipped==true then
- for _,v in pairs (m:GetChildren()) do
- if v.ClassName=="Part" and v.Name~="Hitbox" and v.Name~="Handle" then
- v.Transparency=0
- end
- end
- elseif startequippedwithequipanimation==true then
- for _,v in pairs (m:GetChildren()) do
- if v.ClassName=="Part" and v.Name~="Hitbox" and v.Name~="Handle" then
- coroutine.resume(coroutine.create(function(Part)
- for i=1,0,-0.1 do
- hbwait()
- Part.Transparency=i
- end
- Part.Transparency=0
- end),v)
- end
- end
- end
- function equipanim()
- attack=true
- Movement.Value=Movement.Value-0.1
- Defense.Value=Defense.Value+0.4
- for i=0,1,0.08/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- end
- attack=false
- end
- function unequipanim()
- attack=true
- for i=0,1,0.08/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*LWC0,0.3/animationspeed)
- RW.C1=clerp(RW.C1,cf(0,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*RWC0,0.3/animationspeed)
- LW.C1=clerp(LW.C1,cf(0,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- end
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),1)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),1)
- RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*RWC0,1)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*LWC0,1)
- RW.C1=clerp(RW.C1,cf(0,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*RWC0,1)
- LW.C1=clerp(LW.C1,cf(0,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0))*LWC0,1)
- RH.C0=clerp(RH.C0,cf(1,-1,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),1)
- LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),1)
- RH.C1=clerp(RH.C1,RHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),1)
- LH.C1=clerp(LH.C1,LHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),1)
- Movement.Value=Movement.Value+0.1
- Defense.Value=Defense.Value-0.4
- attack=false
- end
- if startequipped==true then
- equipped=true
- if disableanimate==true then
- Animate.Disabled=true
- local idleanimation=Humanoid:LoadAnimation(Torso.robloxidleanimation)
- idleanimation:Play()
- end
- if disableanimator==true then
- Animator.Parent=nil
- end
- if disablemovingarms==true then
- RW.Parent=Torso
- LW.Parent=Torso
- RSH.Parent=nil
- LSH.Parent=nil
- end
- Movement.Value=Movement.Value-0.1
- Defense.Value=Defense.Value+0.4
- elseif startequippedwithequipanimation==true then
- equipped=true
- if disableanimate==true then
- Animate.Disabled=true
- local idleanimation=Humanoid:LoadAnimation(Torso.robloxidleanimation)
- idleanimation:Play()
- end
- if disableanimator==true then
- Animator.Parent=nil
- end
- if disablemovingarms==true then
- RW.Parent=Torso
- LW.Parent=Torso
- RSH.Parent=nil
- LSH.Parent=nil
- end
- coroutine.resume(coroutine.create(function()
- hbwait()
- equipanim()
- end))
- end
- function StaggerHit()
- attack=true
- if Hitbox~=nil then
- for i=1,math.random(2,4) do
- ClangEffect("Bright yellow","Neon",cf(Hitbox.Position)*angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50))),20,5,0.2,math.random(5,15)/10,0,-0.02,0,-0.02,0.1)
- end
- end
- for i=0,1,0.1/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(-10),math.rad(0),math.rad(-30)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(30))*angles(math.rad(5),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-30),math.rad(0),math.rad(60))*angles(math.rad(0),math.rad(-30),math.rad(0))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-20),math.rad(0),math.rad(-20))*angles(math.rad(0),math.rad(20),math.rad(0))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.9-idleangle,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-20)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-70),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(10)),0.3/animationspeed)
- if StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- attack=false
- end
- function Stagger()
- attack=true
- disablejump=true
- if Hitbox~=nil then
- for i=1,math.random(2,4) do
- ClangEffect("Bright yellow","Neon",cf(Hitbox.Position)*angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50))),20,5,0.2,math.random(5,15)/10,0,-0.02,0,-0.02,0.1)
- end
- end
- attacktype=1
- local staggervelocity=Instance.new("BodyVelocity",Torso)
- staggervelocity.P=500
- staggervelocity.maxForce=vt(math.huge,0,math.huge)
- if Rooted.Value==false then
- staggervelocity.Velocity=RootPart.CFrame.lookVector*-25
- end
- for i=0,1,0.35/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-0.1+idleangle)*angles(math.rad(-20),math.rad(0),math.rad(-30)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(35))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(20),math.rad(-30),math.rad(40))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(10),math.rad(5),math.rad(-20))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.75-idleangle,-0.25)*angles(math.rad(0),math.rad(100),math.rad(0))*angles(math.rad(-20),math.rad(0),math.rad(40)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0.25)*angles(math.rad(0),math.rad(-60),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(10)),0.3/animationspeed)
- end
- for i=0,1,0.2/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-0.2+idleangle)*angles(math.rad(-30),math.rad(0),math.rad(-30)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(35))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(20),math.rad(-30),math.rad(40))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(10),math.rad(5),math.rad(-20))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.75-idleangle,-0.25)*angles(math.rad(0),math.rad(100),math.rad(0))*angles(math.rad(-20),math.rad(0),math.rad(40)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.9-idleangle,0.25)*angles(math.rad(0),math.rad(-60),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(30)),0.3/animationspeed)
- end
- staggervelocity:Destroy()
- for i=0,1,0.015/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1.8+idleangle)*angles(math.rad(0),math.rad(0),math.rad(-20))*angles(math.rad(-5),math.rad(-5),math.rad(0)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(20),math.rad(0),math.rad(20))*angles(math.rad(0),math.rad(5),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(0),math.rad(0),math.rad(20))*angles(math.rad(0),math.rad(-20),math.rad(0))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-15),math.rad(0),math.rad(-10))*angles(math.rad(0),math.rad(20),math.rad(0))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.5-idleangle,-0.5)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(70))*angles(math.rad(0),math.rad(30),math.rad(0)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,0.4-idleangle,-0.5)*angles(math.rad(0),math.rad(-80),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(-10)),0.3/animationspeed)
- if StunAnim.Value==true then
- break
- end
- end
- attacktype=1
- disablejump=false
- attack=false
- end
- function Stun()
- attack=true
- disablejump=true
- attacktype=1
- DamageStatLabel("Interruption",Head.CFrame,"Stunned!",Color3.new(255/255,255/255,0))
- for i=0,1,0.4/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(15),math.rad(0),math.rad(-160)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(70),math.rad(0),math.rad(15))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(70),math.rad(0),math.rad(-15))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-20)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-20)),0.3/animationspeed)
- end
- for i=0,1,0.4/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-0.5+idleangle)*angles(math.rad(45),math.rad(0),math.rad(-170)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(-30))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(80),math.rad(0),math.rad(45))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(80),math.rad(0),math.rad(-45))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-40)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-20)),0.3/animationspeed)
- end
- for i=0,1,0.4/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(75),math.rad(0),math.rad(-180)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(-60))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(90),math.rad(0),math.rad(75))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-45),math.rad(0),math.rad(-75))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-40)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-30)),0.3/animationspeed)
- end
- gyro=Instance.new("BodyGyro")
- gyro.Parent=nil
- gyro.P=1e7
- gyro.D=1e3
- gyro.MaxTorque=vt(1e7,1e7,1e7)
- gyro.cframe=RootPart.CFrame
- for i=1,70*animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-2.5+idleangle)*angles(math.rad(90),math.rad(0),math.rad(-180)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(-90))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(90),math.rad(-10),math.rad(90))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-90),math.rad(0),math.rad(-90))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0.2)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(0)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-100),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(0)),0.3/animationspeed)
- end
- for i=0,1,0.5/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(90),math.rad(0),math.rad(-180)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(-90))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(90),math.rad(-10),math.rad(120))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-90),math.rad(0),math.rad(-120))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0.2)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-30)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-100),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(30)),0.3/animationspeed)
- end
- for i=0,1,0.15/animationspeed do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1.5+idleangle)*angles(math.rad(30),math.rad(0),math.rad(120)),0.3/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(-30))*angles(math.rad(0),math.rad(0),math.rad(0)),0.3/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-40),math.rad(0),math.rad(30))*RWC0,0.3/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(80),math.rad(0),math.rad(20))*LWC0,0.3/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.5-idleangle,0)*angles(math.rad(0),math.rad(60),math.rad(0))*angles(math.rad(-15),math.rad(0),math.rad(70)),0.3/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.25-idleangle,-1)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(5),math.rad(0),math.rad(30)),0.3/animationspeed)
- end
- gyro.Parent=nil
- attacktype=1
- disablejump=false
- attack=false
- end
- function EAbility()
- attack=true
- attack=false
- end
- function Attack1()
- attack=true
- --so("341336274",Hitbox,0.5,1)
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0.5,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(-50)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(7.5),math.rad(0),math.rad(50)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(100),math.rad(0),math.rad(50))*angles(math.rad(0),math.rad(-80),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.25,0.5+idleangle,-0.25)*angles(math.rad(70),math.rad(0),math.rad(40))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(-12.5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-40),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- --so("200633029",Hitbox,0.5,1)
- so("200633077",Hitbox,0.5,2)
- --so("341336307",Hitbox,0.5,1)
- so("341336485",Hitbox,0.5,1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- for i=0,1,0.12/2 do
- hbwait()
- TrailEffect("Cyan","Neon",Hitbox.CFrame*cf(0,2.1,0),LastPoint,"Block",0,0.1,-0.01,0,-0.01,0.1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- MagniDamage(Hitbox,5,5,10,math.random(5,10),"Normal",RootPart,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-1,-0.5+idleangle)*angles(math.rad(20),math.rad(0),math.rad(40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(7.5),math.rad(0),math.rad(-30))*angles(math.rad(-15),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(0.75,0.5+idleangle,-0.75)*angles(math.rad(80),math.rad(0),math.rad(-60))*angles(math.rad(0),math.rad(-60),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(50),math.rad(0),math.rad(-10))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.35-idleangle,0)*angles(math.rad(0),math.rad(50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(22.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.8-idleangle,0)*angles(math.rad(0),math.rad(-80),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- LastPoint=nil
- attack=false
- end
- function Attack2()
- attack=true
- --so("341336274",Hitbox,0.5,1)
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-1,1+idleangle)*angles(math.rad(-10),math.rad(0),math.rad(0)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(15),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(170),math.rad(0),math.rad(5))*angles(math.rad(0),math.rad(-10),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.25,0.5+idleangle,-0.25)*angles(math.rad(80),math.rad(0),math.rad(20))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.5-idleangle,-0.25)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(17.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.75-idleangle,-0.25)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(30)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- --so("200633029",Hitbox,0.5,1)
- so("200633077",Hitbox,0.5,3)
- --so("341336307",Hitbox,0.5,1)
- so("341336485",Hitbox,0.5,1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- for i=0,1,0.12/2 do
- hbwait()
- TrailEffect("Cyan","Neon",Hitbox.CFrame*cf(0,2.1,0),LastPoint,"Block",0,0.1,-0.01,0,-0.01,0.1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- MagniDamage(Hitbox,5,5,10,math.random(5,10),"Normal",RootPart,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-2,-0.75+idleangle)*angles(math.rad(15),math.rad(0),math.rad(0)),0.6/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(0)),0.6/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.25,0.5+idleangle,-0.25)*angles(math.rad(10),math.rad(0),math.rad(-5))*angles(math.rad(0),math.rad(20),math.rad(0))*RWC0,0.6/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(40),math.rad(0),math.rad(-10))*LWC0,0.6/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.2-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(10)),0.6/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(50)),0.6/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.6/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- LastPoint=nil
- attack=false
- end
- function Attack3()
- attack=true
- --so("341336274",Hitbox,0.5,1)
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-10),math.rad(0),math.rad(-20)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(0.5,0.5+idleangle,-0.75)*angles(math.rad(130),math.rad(0),math.rad(-60))*angles(math.rad(0),math.rad(40),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(30),math.rad(0),math.rad(-5))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(50),math.rad(0))*angles(math.rad(-7.5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-80),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-7.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- --so("200633029",Hitbox,0.5,1)
- so("200633077",Hitbox,0.5,1.5)
- --so("341336307",Hitbox,0.5,1)
- so("341336485",Hitbox,0.5,1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- for i=0,1,0.12/2 do
- hbwait()
- TrailEffect("Cyan","Neon",Hitbox.CFrame*cf(0,2.1,0),LastPoint,"Block",0,0.1,-0.01,0,-0.01,0.1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- MagniDamage(Hitbox,5,5,10,math.random(5,10),"Normal",RootPart,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-2,-0.5+idleangle)*angles(math.rad(5),math.rad(0),math.rad(-30)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(20)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(30),math.rad(0),math.rad(70))*angles(math.rad(0),math.rad(40),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(50),math.rad(0),math.rad(-45))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.75-idleangle,0)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-30),math.rad(0),math.rad(-15)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.5-idleangle,0)*angles(math.rad(0),math.rad(-60),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-7.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- LastPoint=nil
- attack=false
- end
- function Attack4()
- attack=true
- local shieldangle=math.random(-2,2)
- for i=0,1,0.12/2 do
- hbwait()
- MagicBlock("Cyan","Neon",true,shieldhandle.CFrame,1,1,1,1,1,1,0.1)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1,0.5+idleangle,-0.5)*angles(math.rad(88+shieldangle),math.rad(0),math.rad(-30))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(88+shieldangle),math.rad(0),math.rad(50))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-7.5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- so("341336274",shieldhandle,0.5,2)
- so("341336307",shieldhandle,0.5,2)
- local Pos1=shieldhandle.Position
- local MousePos=Mouse.hit.p
- local MouseLook=cf((Pos1+MousePos)/2,MousePos)
- local blasthit,blastpos=rayCast(Pos1,MouseLook.lookVector,999,Character)
- local Mag=(Pos1-blastpos).magnitude
- MagicCylinder("Cyan","Neon",cf((Pos1+blastpos)/2,blastpos)*angles(math.rad(90),0,0),5,Mag*5,5,0.1,0,0.1,0.05)
- if blasthit~=nil and blasthit.Name~="Effect" then
- local refpart=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt())
- refpart.Anchored=true
- refpart.CFrame=cf(blastpos)
- game:GetService("Debris"):AddItem(refpart,5)
- so("341336499",refpart,0.5,3)
- MagicCircle("Cyan","Neon",refpart.CFrame,10,10,10,1,1,1,0.05)
- MagicBlock("Cyan","Neon",true,refpart.CFrame,5,5,5,0.5,0.5,0.5,0.05)
- MagniDamage(refpart,3,5,10,0,"Normal",RootPart,0.5,1,math.random(5,10),nil,true,true,nil,0,0,false)
- end
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0.2,-0.15+idleangle)*angles(math.rad(-10),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1,0.5+idleangle,-0.5)*angles(math.rad(98+shieldangle),math.rad(0),math.rad(-30))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(98+shieldangle),math.rad(0),math.rad(50))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.7-idleangle,0)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-17.5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(7.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- attack=false
- end
- function Move1()
- attack=true
- --so("341336274",Hitbox,0.5,1)
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-1,1+idleangle)*angles(math.rad(-10),math.rad(0),math.rad(0)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-10),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(170),math.rad(0),math.rad(5))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.25,0.5+idleangle,-0.25)*angles(math.rad(70),math.rad(0),math.rad(40))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-20)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.5-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- --so("200633029",Hitbox,0.5,1)
- so("200633077",Hitbox,0.5,1.7)
- --so("341336307",Hitbox,0.5,1)
- so("341336485",Hitbox,0.5,1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- for i=0,1,0.24/2 do
- hbwait()
- TrailEffect("Cyan","Neon",Hitbox.CFrame*cf(0,2.1,0),LastPoint,"Block",0,0.1,-0.01,0,-0.01,0.1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- MagniDamage(Hitbox,5,5,10,math.random(5,10),"Normal",RootPart,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-2,-1+idleangle)*angles(math.rad(10),math.rad(0),math.rad(0)),0.6/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),0.6/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.25,0.5+idleangle,-0.25)*angles(math.rad(0),math.rad(0),math.rad(5))*RWC0,0.6/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(5),math.rad(0),math.rad(-15))*LWC0,0.6/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-60)),0.6/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,0-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(5)),0.6/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.6/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- if StaggerHitAnim.Value~=true and StaggerAnim.Value~=true and StunAnim.Value~=true then
- local swordhit,swordpos=rayCast(RootPart.Position,cf(RootPart.Position,RootPart.Position+vt(0,-1,0)).lookVector,4,Character)
- if swordhit~=nil and swordhit.Name~="Effect" then
- local refpart=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt())
- refpart.Anchored=true
- refpart.CFrame=RootPart.CFrame*cf(1.1,0,0)
- game:GetService("Debris"):AddItem(refpart,5)
- coroutine.resume(coroutine.create(function(Origin)
- local increment=-10.1
- for i=1,4 do
- local refpart2=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt())
- refpart2.Anchored=true
- refpart2.CFrame=refpart.CFrame*cf(0,0,increment)
- game:GetService("Debris"):AddItem(refpart,5)
- local refpart2hit,refpart2pos=rayCast(refpart2.Position,cf(refpart2.Position,refpart2.Position+vt(0,-1,0)).lookVector,999,Character)
- if refpart2hit~=nil then
- local refpart3=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt())
- refpart3.Anchored=true
- refpart3.CFrame=cf(refpart2pos)
- game:GetService("Debris"):AddItem(refpart3,5)
- so("341336499",refpart3,0.5,2)
- MagicWave("Cyan","Neon",refpart3.CFrame,1,0.1,1,0.5,0.01,0.5,0.05)
- MagicSpikedCrown("Cyan","Neon",refpart3.CFrame,1,1,1,0.5,0.5,0.5,0.05)
- MagniDamage(refpart3,10,10,15,math.random(10,20),"ElectricGroundSmash",refpart3,0,1,math.random(5,10),nil,true,true,"Damage",0.1,3,true)
- end
- increment=increment-10
- wait(0.25)
- end
- end),refpart)
- end
- end
- for i=0,1,0.24/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-2,-1+idleangle)*angles(math.rad(10),math.rad(0),math.rad(0)),0.6/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),0.6/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.25,0.5+idleangle,-0.25)*angles(math.rad(0),math.rad(0),math.rad(5))*RWC0,0.6/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(5),math.rad(0),math.rad(-15))*LWC0,0.6/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-60)),0.6/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,0-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(5)),0.6/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.6/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- LastPoint=nil
- attack=false
- end
- --[[
- local testpart=Instance.new("Part",workspace.CurrentCamera)
- testpart.Anchored=true
- testpart.CFrame=cf(0,0,-50)
- testpart.Size=Vector3.new(50,50,50)
- --]]
- function Move2()
- attack=true
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-5),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(0),math.rad(0),math.rad(15))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(120),math.rad(0),math.rad(50))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(2.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(0),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-5),math.rad(0),math.rad(10))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(90),math.rad(0),math.rad(50))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-60)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,0-idleangle,-0.5)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(2.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- so("341336144",shieldhandle,0.5,0.75)
- so("341336200",shieldhandle,0.5,0.75)
- local blastchargenum=0
- for i=0,1,0.04/2 do
- hbwait()
- local chargeeffect=part(3,Effects,"Neon",0,1,"Cyan","Effect",vt(0.2,math.random(1,2),0.2))
- chargeeffect.Anchored=true
- chargeeffect.CFrame=shieldhandle.CFrame*angles(math.rad(90),0,0)*angles(math.rad(math.random(-50,50)),math.rad(math.random(-50,50)),math.rad(math.random(-50,50)))*cf(0,-5,0)
- local chargeeffectmesh=mesh("SpecialMesh",chargeeffect,"Sphere","",vt(0,0,0),vt(1,1,1))
- game:GetService("Debris"):AddItem(chargeeffect,2)
- coroutine.resume(coroutine.create(function(Part)
- for i=1,0,-0.1 do
- hbwait()
- Part.Transparency=i
- Part.CFrame=Part.CFrame*cf(0,0.25,0)
- end
- for i=0.5,1,0.1 do
- hbwait()
- Part.Transparency=i
- Part.CFrame=Part.CFrame*cf(0,0.25,0)
- end
- Part.Transparency=1
- Part.Parent=nil
- end),chargeeffect)
- MagicBlock("Cyan","Neon",true,shieldhandle.CFrame*cf(0,0.2,-0.5),blastchargenum,blastchargenum,blastchargenum,0.1,0.1,0.1,0.1)
- blastchargenum=blastchargenum+1/10
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(0),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-5),math.rad(0),math.rad(10))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(90),math.rad(0),math.rad(50))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-60)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,0-idleangle,-0.5)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(2.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- if StaggerHitAnim.Value~=true and StaggerAnim.Value~=true and StunAnim.Value~=true then
- --so("341336485",shieldhandle,0.5,0.75)
- so("341336243",shieldhandle,1,0.75)
- so("341336307",shieldhandle,0.5,0.75)
- MagicSpikedCrown("Cyan","Neon",shieldhandle.CFrame*cf(0,0.2,-1)*angles(math.rad(-90),0,0),3,1,3,0.1,0,0.1,0.05)
- MagicRing("Cyan","Neon",shieldhandle.CFrame*cf(0,0.2,0),3,3,3,1,1,0,0.1)
- local MainPos=shieldhandle.Position
- local spread=vt(math.random(-500,500)/100,math.random(-500,500)/100,math.random(-500,500)/100)*((MainPos-Mouse.hit.p).magnitude/100)
- local MainPos2=Mouse.Hit.p+spread
- local MouseLook=cf((MainPos+MainPos2)/2,MainPos2)
- local speed=2
- local num=90
- coroutine.resume(coroutine.create(function()
- repeat
- hbwait()
- local hit,pos=rayCast(MainPos,MouseLook.lookVector,speed,ShotTarget.Parent)
- local mag=(MainPos-pos).magnitude
- MagicCylinder("Cyan","Neon",cf((MainPos+pos)/2,pos)*angles(math.rad(90),0,0),10,mag*5,10,-1,0,-1,0.1)
- MainPos=MainPos+(MouseLook.lookVector*speed)
- --MouseLook=MouseLook*angles(math.rad(-1),0,0)
- num=num-1
- if hit~=nil then
- num=0
- local refpart=part(3,Effects,"SmoothPlastic",0,1,"Really black","Effect",vt())
- refpart.Anchored=true
- refpart.CFrame=cf(pos)
- game:GetService("Debris"):AddItem(refpart,5)
- so("341336499",refpart,1,1)
- MagicCircle("Cyan","Neon",refpart.CFrame,200,200,200,1,1,1,0.05)
- MagicBlock("Cyan","Neon",true,refpart.CFrame,100,100,100,0.5,0.5,0.5,0.05)
- MagniDamage(refpart,20,20,30,math.random(10,20),"ShieldBlast",refpart,0,1,math.random(5,10),nil,true,true,"Defense",0.1,10,true)
- end
- until num<=0
- end))
- end
- for i=0,1,0.08/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,1,-1+idleangle)*angles(math.rad(-10),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-15),math.rad(0),math.rad(20))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(90),math.rad(0),math.rad(50))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-30),math.rad(0),math.rad(-80)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.5-idleangle,-0.5)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(-10)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- attack=false
- end
- function Move3()
- attack=true
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-0.25+idleangle)*angles(math.rad(0),math.rad(-5),math.rad(-10)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(5)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(50),math.rad(0),math.rad(20))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.25+idleangle,0)*angles(math.rad(130),math.rad(0),math.rad(5))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.75-idleangle,0)*angles(math.rad(0),math.rad(70),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-10)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.8-idleangle,-0.25)*angles(math.rad(0),math.rad(-80),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(-5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-55),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-0.1+idleangle)*angles(math.rad(0),math.rad(5),math.rad(10)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-5),math.rad(0),math.rad(-15)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(150),math.rad(0),math.rad(10))*angles(math.rad(0),math.rad(10),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(20),math.rad(0),math.rad(-10))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.9-idleangle,-0.25)*angles(math.rad(0),math.rad(-100),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-140),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- so("306247678",Hitbox,0.5,0.75)
- --so("341336159",Hitbox,0.5,0.75)
- --MagicRing("Cyan","Neon",cf(Hitbox.Position)*cf(0,2.1,0)*angles(math.rad(90),0,0),1,1,1,1,1,0,0.01)
- for i=0,1,0.04/2 do
- hbwait()
- --Lightning(Hitbox.Position+vt(0,2,0),Hitbox.Position+vt(math.random(-20,20),20,math.random(-20,20)),1,1,"Cyan","Neon",1/10,5/10,2)
- --MagicCylinder("Cyan","Neon",Hitbox.CFrame*cf(0,2.1+149,-23.6)*angles(math.rad(-9),0,0),0.5,1500,0.5,1,0,1,0.1)
- --MagicBlock("Cyan","Neon",true,Hitbox.CFrame--[[*cf(0,2.1,0)--]],1,1,1,1,1,1,0.05)
- MagicCircle("Cyan","Neon",Hitbox.CFrame,5,25,5,math.random(5,10)/10,math.random(5,10)/10,math.random(5,10)/10,0.1)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-0.1+idleangle)*angles(math.rad(0),math.rad(5),math.rad(10)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-5),math.rad(0),math.rad(-15)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(150),math.rad(0),math.rad(10))*angles(math.rad(0),math.rad(10),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(20),math.rad(0),math.rad(-10))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(-2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.9-idleangle,-0.25)*angles(math.rad(0),math.rad(-100),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-140),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- for i=0,1,0.12/2 do
- hbwait()
- MagicCircle("Cyan","Neon",Hitbox.CFrame,5,25,5,math.random(5,10)/10,math.random(5,10)/10,math.random(5,10)/10,0.1)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(50)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(-50)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1,0.5+idleangle,-0.5)*angles(math.rad(110),math.rad(0),math.rad(-50))*angles(math.rad(0),math.rad(60),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-15),math.rad(0),math.rad(-10))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0.25)*angles(math.rad(0),math.rad(40),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(2.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-70),math.rad(0))*angles(math.rad(-7.5),math.rad(0),math.rad(5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- --so("200633029",Hitbox,0.5,1)
- so("200633077",Hitbox,0.5,2.9)
- --so("341336307",Hitbox,0.5,1)
- so("341336485",Hitbox,0.5,1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- local energywavepart=part(3,Effects,"Neon",0,1,"Cyan","Effect",vt())
- energywavepart.Anchored=true
- energywavepart.CFrame=RootPart.CFrame*cf(0,0,-6.5)--*angles(math.rad(90),math.rad(80),0)
- --local energywavemesh=mesh("SpecialMesh",energywavepart,"FileMesh","http://www.roblox.com/asset/?id=448386996",vt(0,0,0),vt(1/1000,1/20,1/15))
- game:GetService("Debris"):AddItem(energywavepart,1)
- coroutine.resume(coroutine.create(function(Wave)
- local number=100
- so("341336274",Wave,0.75,0.75)
- repeat
- hbwait()
- wavecframe=Wave.CFrame
- --Wave.CFrame=wavecframe*cf(0,-1,0)
- Wave.CFrame=wavecframe*cf(0,0,-1)
- MagicBlock("Cyan","Neon",true,Wave.CFrame,20,20,20,-1,-1,-1,0.05)
- MagniDamage(Wave,4,10,20,math.random(10,20),"ElectricBlast",Wave,1,1,math.random(5,10),nil,true,true,"Movement",0.1,10,true)
- number=number-1
- until number<=0
- end),energywavepart)
- for i=0,1,0.12/2 do
- hbwait()
- TrailEffect("Cyan","Neon",Hitbox.CFrame*cf(0,2.1,0),LastPoint,"Block",0,0.1,-0.01,0,-0.01,0.1)
- LastPoint=Hitbox.CFrame*cf(0,2.1,0)
- MagniDamage(Hitbox,5,5,10,math.random(5,10),"Normal",RootPart,0.5,1,math.random(5,10),nil,true,false,nil,0,0,false)
- --MagicCircle("Cyan","Neon",Hitbox.CFrame,5,25,5,math.random(5,10)/10,math.random(5,10)/10,math.random(5,10)/10,0.1)
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-1.5,-0.5+idleangle)*angles(math.rad(5),math.rad(0),math.rad(-40)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(5),math.rad(0),math.rad(40)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(50),math.rad(0),math.rad(70))*angles(math.rad(0),math.rad(60),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-10),math.rad(0),math.rad(-60))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.6-idleangle,0)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(-12.5),math.rad(0),math.rad(-5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1.1,-0.5-idleangle,0.15)*angles(math.rad(0),math.rad(-50),math.rad(0))*angles(math.rad(-7.5),math.rad(0),math.rad(-7.5)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-150),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- LastPoint=nil
- attack=false
- end
- function Move4()
- attack=true
- --[[
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(10),math.rad(0),math.rad(0)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(0),math.rad(0),math.rad(40))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(0),math.rad(0),math.rad(-30))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(7.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.5-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(25)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- MagicWave("Institutional white","SmoothPlastic",RootPart.CFrame*cf(0,-3,0),5,1,5,0.2,-0.01,0.2,0.025)
- Humanoid.Jump=true
- Torso.Velocity=Vector3.new(0,50,0)+RootPart.CFrame.lookVector*50
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(-5),math.rad(0),math.rad(0)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-5),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-15),math.rad(0),math.rad(15))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-5),math.rad(0),math.rad(-10))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0.9-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(1.25),math.rad(0),math.rad(-35)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.8-idleangle,-0.25)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(15)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- ]]--
- for i=0,1,0.12/2 do
- hbwait()
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(10),math.rad(0),math.rad(0)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1,0.5+idleangle,-0.5)*angles(math.rad(110),math.rad(0),math.rad(-45))*angles(math.rad(0),math.rad(-180),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(110),math.rad(0),math.rad(45))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(7.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.5-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(25)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0)*angles(0,math.rad(-45),0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- local move4num=0
- for i=0,1,0.04/2 do
- hbwait()
- if move4num>=5 then
- move4num=0
- MagicWave("Cyan","Neon",RootPart.CFrame*cf(0,-3,0),1,1,1,1,0.1,1,0.05)
- else
- move4num=move4num+1
- end
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,-1+idleangle)*angles(math.rad(10),math.rad(0),math.rad(0)),0.45/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),0.45/animationspeed)
- RW.C0=clerp(RW.C0,cf(1,0.5+idleangle,-0.5)*angles(math.rad(110),math.rad(0),math.rad(-45))*angles(math.rad(0),math.rad(-180),math.rad(0))*RWC0,0.45/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(110),math.rad(0),math.rad(45))*LWC0,0.45/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-0-idleangle,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(7.5)),0.45/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.5-idleangle,-0.5)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(25)),0.45/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0)*angles(0,math.rad(-45),0),0.45/animationspeed)
- if StaggerHitAnim.Value==true or StaggerAnim.Value==true or StunAnim.Value==true then
- break
- end
- end
- attack=false
- end
- hold=false
- Mouse.Button1Down:connect(function()
- --function ob1d(Mouse)
- if attack==true or equipped==false then return end
- hold=true
- if attacktype==1 then
- attacktype=2
- Attack1()
- elseif attacktype==2 then
- attacktype=3
- Attack2()
- elseif attacktype==3 then
- attacktype=4
- Attack3()
- elseif attacktype==4 then
- attacktype=1
- Attack4()
- end
- coroutine.resume(coroutine.create(function()
- for i=1,50 do
- if attack==false then
- hbwait()
- end
- end
- if attack==false then
- attacktype=1
- end
- end))
- --end
- end)
- if allowhopperbin==true then
- function ob1u(Mouse)
- hold=false
- end
- end
- Mouse.KeyDown:connect(function(key)
- --function key(key)
- if key=="f" and canunequiporequip==true and attack==false then
- if equipped==false then
- equipped=true
- if disableanimate==true then
- Animate.Disabled=true
- local idleanimation=Humanoid:LoadAnimation(Torso.robloxidleanimation)
- idleanimation:Play()
- end
- if disableanimator==true then
- Animator.Parent=nil
- end
- if disablemovingarms==true then
- RW.Parent=Torso
- LW.Parent=Torso
- RSH.Parent=nil
- LSH.Parent=nil
- end
- equipanim()
- elseif equipped==true then
- equipped=false
- unequipanim()
- hbwait()
- if disablemovingarms==true then
- RW.Parent=nil
- LW.Parent=nil
- RSH.Parent=Torso
- LSH.Parent=Torso
- end
- if disableanimator==true then
- Animator.Parent=Humanoid
- end
- if disableanimate==true then
- Animate.Disabled=false
- end
- end
- end
- if key=="e" and attack==false and equipped==true then
- EAbility()
- end
- if key=="z" and attack==false and equipped==true and cooldown1>=co1 and Mana.Value>=skill1mana then
- subtractmana(skill1mana)
- cooldown1=0
- Move1()
- end
- if key=="x" and attack==false and equipped==true and cooldown2>=co2 and Mana.Value>=skill2mana then
- subtractmana(skill2mana)
- cooldown2=0
- Move2()
- end
- if key=="c" and attack==false and equipped==true and cooldown3>=co3 and Mana.Value>=skill3mana then
- subtractmana(skill3mana)
- cooldown3=0
- Move3()
- end
- if key=="v" and attack==false and equipped==true and cooldown4>=co4 and Mana.Value>=skill4mana then
- subtractmana(skill4mana)
- cooldown4=0
- Move4()
- end
- if key=="q" then
- Mana.Value=100
- cooldown1=co1
- cooldown2=co2
- cooldown3=co3
- cooldown4=co4
- end
- if key=="p" then
- StaggerHitAnim.Value=true
- end
- if key=="[" then
- StaggerAnim.Value=true
- end
- if key=="]" then
- StunAnim.Value=true
- end
- --end
- end)
- Mouse.KeyUp:connect(function(key2)
- --function key2(key)
- --end
- end)
- if allowhopperbin==true then
- function s(Mouse)
- Mouse.Button1Down:connect(function() ob1d(Mouse) end)
- Mouse.Button1Up:connect(function() ob1u(Mouse) end)
- Mouse.KeyDown:connect(key)
- Mouse.KeyUp:connect(key2)
- end
- end
- if allowhopperbin==true then
- function ds(Mouse)
- end
- end
- if allowhopperbin==true then
- Bin.Selected:connect(s)
- Bin.Deselected:connect(ds)
- end
- --[[GUI functions and other stuff]]--
- function updateskills()
- if allowabilitiestofunction==true then
- if cooldown1<=co1 then
- cooldown1=cooldown1+1/30
- if cooldown1>=co1 then
- cooldown1=co1
- end
- end
- if cooldown2<=co2 then
- cooldown2=cooldown2+1/30
- if cooldown2>=co2 then
- cooldown2=co2
- end
- end
- if cooldown3<=co3 then
- cooldown3=cooldown3+1/30
- if cooldown3>=co3 then
- cooldown3=co3
- end
- end
- if cooldown4<=co4 then
- cooldown4=cooldown4+1/30
- if cooldown4>=co4 then
- cooldown4=co4
- end
- end
- if changebarcolorsifnotenoughmana==true then
- if Mana.Value<=skill1mana then
- bar4.BackgroundColor3=c3(104/255,104/255,104/255)
- else
- bar4.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- end
- if Mana.Value<=skill2mana then
- bar3.BackgroundColor3=c3(104/255,104/255,104/255)
- else
- bar3.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- end
- if Mana.Value<=skill3mana then
- bar1.BackgroundColor3=c3(104/255,104/255,104/255)
- else
- bar1.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- end
- if Mana.Value<=skill4mana then
- bar2.BackgroundColor3=c3(104/255,104/255,104/255)
- else
- bar2.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- end
- elseif changebarcolorsifnotenoughmana==false then
- bar1.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- bar2.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- bar3.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- bar4.BackgroundColor3=c3(Colorpart1,Colorpart2,Colorpart3)
- end
- end
- if alternatemanaregensystem==false then
- if Mana.Value<=maxmana then
- Mana.Value=Mana.Value+recovermana/30
- elseif Mana.Value>=maxmana then
- Mana.Value=maxmana
- end
- elseif alternatemanaregensystem==true then
- if Mana.Value>=maxmana then
- Mana.Value=maxmana
- else
- if manadelay<=manawait then
- manadelay=manadelay+1
- else
- manadelay=0
- Mana.Value=Mana.Value+1
- end
- end
- end
- if allowstunbar==true then
- if StunValue.Value<=0 then
- StunValue.Value=0
- else
- if stundelay<=stunwait then
- stundelay=stundelay+1
- else
- stundelay=0
- StunValue.Value=StunValue.Value-1
- end
- end
- elseif allowstunbar==false then
- StunValue.Value=0
- end
- end
- if allowmenutofunction==true then
- ArtificialHB.Event:connect(function()
- --while true do
- --hbwait()
- updateskills()
- if allowabilitiestofunction==true then
- framesk1:TweenSize(ud(0.26,0,0.06,0),"Out","Quad",menuupdatespeed,constantupdate)
- framesk2:TweenSize(ud(0.26,0,0.06,0),"Out","Quad",menuupdatespeed,constantupdate)
- framesk3:TweenSize(ud(0.26,0,0.06,0),"Out","Quad",menuupdatespeed,constantupdate)
- framesk4:TweenSize(ud(0.26,0,0.06,0),"Out","Quad",menuupdatespeed,constantupdate)
- bar1:TweenSize(ud(1*(cooldown3/co3),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- bar2:TweenSize(ud(1*(cooldown4/co4),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- bar3:TweenSize(ud(1*(cooldown2/co2),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- bar4:TweenSize(ud(1*(cooldown1/co1),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- end
- manabar:TweenSize(ud(0.26,0,0.03,0),"Out","Quad",menuupdatespeed,constantupdate)
- manacover:TweenSize(ud(1*(Mana.Value/maxmana),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- healthbar:TweenSize(ud(0.26,0,0.03,0),"Out","Quad",menuupdatespeed,constantupdate)
- healthcover:TweenSize(ud(1*(Character.Humanoid.Health/Character.Humanoid.MaxHealth),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- if allowstunbar==true then
- if showstunbar==true then
- if stunframe~=nil then
- stunframe:TweenSize(ud(0.26,0,0.03,0),"Out","Quad",menuupdatespeed,constantupdate)
- stunbar:TweenSize(ud(1*(StunValue.Value/maxstun),0,1,0),"Out","Quad",menuupdatespeed,constantupdate)
- end
- end
- end
- if showhealthmanaandstunnumbers==true then
- manatext.Text="Mana ["..math.floor(Mana.Value).."]"
- healthtext.Text="Health ["..math.floor(Humanoid.Health).."]"
- if allowstunbar==true then
- if showstunbar==true then
- stuntext.Text="Stun ["..math.floor(StunValue.Value).."]"
- end
- end
- end
- if showstats==true then
- defenseframe:TweenSize(ud(0.075,0,0.03,0),"Out","Quad",menuupdatespeed,constantupdate)
- damageframe:TweenSize(ud(0.075,0,0.03,0),"Out","Quad",menuupdatespeed,constantupdate)
- movementframe:TweenSize(ud(0.075,0,0.03,0),"Out","Quad",menuupdatespeed,constantupdate)
- defensetext.Text="Defense: "..Defense.Value
- damagetext.Text="Damage: "..Damage.Value
- if Rooted.Value==false then
- movementtext.Text="Movement: "..Movement.Value
- elseif Rooted.Value==true or Movement.Value<=0 then
- movementtext.Text="Movement: 0"
- end
- end
- --end
- end)
- end
- --------------------------------
- function positiveangle(thingy)
- if thingy>0 then thingy=0 end
- return thingy
- end
- function negativeangle(thingy)
- if thingy<0 then thingy=0 end
- return thingy
- end
- --ArtificialHB.Event:connect(function()
- while true do
- hbwait()
- if Hitbox~=nil then
- if attack==true then
- Hitbox.Name="Hitbox"
- elseif attack==false then
- Hitbox.Name="NilHitbox"
- end
- end
- if Humanoid.Health>0 then
- if walkspeeddependsonmovementvalue==true then
- if Movement.Value<0 or StaggerAnim.Value==true or StunAnim.Value==true or StaggerHitAnim.Value==true or Rooted.Value==true then
- Humanoid.WalkSpeed=0
- else
- Humanoid.WalkSpeed=16*Movement.Value
- end
- end
- if StunValue.Value>=maxstun then
- StunValue.Value=0
- StunAnim.Value=true
- end
- if StaggerAnim.Value==true and staggeranim==false then
- coroutine.resume(coroutine.create(function()
- staggeranim=true
- while attack==true do
- hbwait()
- end
- Stagger()
- StaggerAnim.Value=false
- staggeranim=false
- end))
- end
- if StaggerHitAnim.Value==true and staggerhitanim==false then
- coroutine.resume(coroutine.create(function()
- staggerhitanim=true
- while attack==true do
- hbwait()
- end
- StaggerHit()
- StaggerHitAnim.Value=false
- staggerhitanim=false
- end))
- end
- if StunAnim.Value==true and stunanim==false or StunValue.Value>=100 then
- coroutine.resume(coroutine.create(function()
- StunValue.Value=0
- stunanim=true
- while attack==true do
- hbwait()
- end
- Stun()
- StunAnim.Value=false
- stunanim=false
- end))
- end
- sine=sine+change
- someangle=(someangle%100)+change2/10
- local torvel=(RootPart.Velocity*vt(1,0,1)).magnitude
- local velderp=RootPart.Velocity.y
- local lv=Torso.CFrame:pointToObjectSpace(Torso.Velocity+Torso.Position)
- hitfloor,posfloor=rayCast(RootPart.Position,(cf(RootPart.Position,RootPart.Position-vt(0,1,0))).lookVector,4,Character)
- if donum>=.5 then
- handidle=true
- elseif donum<=0 then
- handidle=false
- end
- if handidle==false then
- donum=donum+0.003/animationspeed
- else
- donum=donum-0.003/animationspeed
- end
- if equipped==true or equipped==false then
- if attack==false then
- idle=idle+1
- else
- idle=0
- end
- --------------------------------
- if leftarm==true then
- if Anim=="Walk" and equipped==true and attack==false then
- if alternatewalk==false then
- if walkinganim==true then
- LW.C1=clerp(LW.C1,LWC0*cf(0,0.5,0)*angles(math.rad(30),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- else
- LW.C1=clerp(LW.C1,LWC0*cf(0,0.5,0)*angles(math.rad(-60),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- end
- else
- if walkinganim==true then
- LW.C1=clerp(LW.C1,LWC0*cf(0,0.5,0)*angles(math.rad(45),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- else
- LW.C1=clerp(LW.C1,LWC0*cf(0,0.5,0)*angles(math.rad(-45),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- end
- end
- elseif Anim~="Walk" and equipped==true or attack==true or leftarm==false then
- LW.C1=clerp(LW.C1,LWC0*cf(0,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- end
- end
- --------------------------------
- if rightarm==true then
- if Anim=="Walk" and equipped==true and attack==false then
- if alternatewalk==false then
- if walkinganim==true then
- RW.C1=clerp(RW.C1,RWC0*cf(0,0.5,0)*angles(math.rad(-60),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- else
- RW.C1=clerp(RW.C1,RWC0*cf(0,0.5,0)*angles(math.rad(30),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- end
- else
- if walkinganim==true then
- RW.C1=clerp(RW.C1,RWC0*cf(0,0.5,0)*angles(math.rad(-45),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- else
- RW.C1=clerp(RW.C1,RWC0*cf(0,0.5,0)*angles(math.rad(45),math.rad(0),math.rad(0)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- end
- end
- elseif Anim~="Walk" and equipped==true or attack==true or rightarm==false then
- RW.C1=clerp(RW.C1,RWC0*cf(0,0.5,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- end
- end
- --------------------------------
- if allowwalking==true then
- if Anim=="Walk" and equipped==true then
- if alternatewalk==false then
- if walkinganim==true then
- RH.C1=clerp(RH.C1,RHC1*cf(0.2,-0.2,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(60)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(0.1,0.2,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(60)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- else
- RH.C1=clerp(RH.C1,RHC1*cf(-0.1,0.2,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(-60)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(-0.2,-0.2,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(-60)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- end
- else
- if walkinganim==true then
- RH.C1=clerp(RH.C1,RHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(45)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(45)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- else
- RH.C1=clerp(RH.C1,RHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(-45)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(-45)),0.2*(Humanoid.WalkSpeed/16)/animationspeed)
- end
- end
- elseif Anim~="Walk" and equipped==true then
- RH.C1=clerp(RH.C1,RHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- end
- end
- --------------------------------
- if Anim=="Walk" and equipped==true then
- RootJoint.C1=clerp(RootJoint.C1,RootCF*cf(0,0,-0.1*math.cos(sine/3)+idleangle),0.2/animationspeed)
- Neck.C1=clerp(Neck.C1,necko*cf(0,0,-1.5)*angles(math.rad(2*math.sin(sine/3)),math.rad(0),math.rad(0)),0.2/animationspeed)
- RH.C1=clerp(RH.C1,RHC1*cf(0.25*math.cos(sine/6),-0.25*math.sin(sine/6),0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(60*math.cos(sine/6))),0.2/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(0.25*math.cos(sine/6),0.25*math.sin(sine/6),0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(60*math.cos(sine/6))),0.2/animationspeed)
- elseif Anim~="Walk" or equipped~=true then
- RootJoint.C1=clerp(RootJoint.C1,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- Neck.C1=clerp(Neck.C1,necko*cf(0,0,-1.5)*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- RH.C1=clerp(RH.C1,RHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- LH.C1=clerp(LH.C1,LHC1*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- end
- if velderp>1 and hitfloor==nil then
- Anim="Jump"
- if attack==false and equipped==true then
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-20),math.rad(0),math.rad(0)),0.2/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-40),math.rad(0),math.rad(20))*RWC0,0.2/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(-40),math.rad(0),math.rad(-20))*LWC0,0.2/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,-0.3)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(-20)),0.2/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,-0.3)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-10),math.rad(0),math.rad(20)),0.2/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.2/animationspeed)
- end
- elseif velderp<-1 and hitfloor==nil then
- Anim="Fall"
- if attack==false and equipped==true then
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(20),math.rad(0),math.rad(0)),0.2/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(0),math.rad(0),math.rad(60))*RWC0,0.2/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.5,0.5+idleangle,0)*angles(math.rad(0),math.rad(0),math.rad(-60))*LWC0,0.2/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(20)),0.2/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(10)),0.2/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.2/animationspeed)
- end
- elseif torvel<1 and hitfloor~=nil then
- Anim="Idle"
- if attack==false and equipped==true then
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0.02*math.cos(sine/30),0+idleangle)*angles(math.rad(2.5-1.25*math.cos(sine/30)),math.rad(0),math.rad(-20)),0.15/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(-1.25*math.sin(sine/30)),math.rad(0),math.rad(20)),0.15/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(10-1.25*math.sin(sine/30)),math.rad(0),math.rad(20))*RWC0,0.15/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1.25,0.5+idleangle,-0.25)*angles(math.rad(50+1.25*math.sin(sine/30)),math.rad(0),math.rad(20))*LWC0,0.15/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(80),math.rad(0))*angles(math.rad(-5),math.rad(0),math.rad(0-1.25*math.cos(sine/30))),0.15/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-1-idleangle,0)*angles(math.rad(0),math.rad(-70),math.rad(0))*angles(math.rad(-2.5),math.rad(0),math.rad(-5+1.25*math.cos(sine/30))),0.15/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.15/animationspeed)
- end
- elseif torvel>1 and hitfloor~=nil then
- Anim="Walk"
- walk=walk+1/animationspeed
- if walk>=15-(5*(Humanoid.WalkSpeed/16)) then
- walk=0
- if walkinganim==true then
- walkinganim=false
- elseif walkinganim==false then
- walkinganim=true
- end
- end
- if attack==false and equipped==true then
- RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0+idleangle)*angles(math.rad(5),math.rad(0),math.rad(-30+5*math.cos(sine/6))),0.2/animationspeed)
- Neck.C0=clerp(Neck.C0,necko*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(30-5*math.cos(sine/6))),0.2/animationspeed)
- RW.C0=clerp(RW.C0,cf(1.5,0.5+idleangle,0)*angles(math.rad(-10+5*math.sin(sine/6)),math.rad(0),math.rad(20))*RWC0,0.2/animationspeed)
- LW.C0=clerp(LW.C0,cf(-1,0.5+idleangle,-0.5)*angles(math.rad(70+5*math.sin(sine/3)),math.rad(0),math.rad(50))*angles(math.rad(0),math.rad(-10),math.rad(0))*LWC0,0.2/animationspeed)
- RH.C0=clerp(RH.C0,cf(1,-1-idleangle,0)*angles(math.rad(0),math.rad(120-5*math.cos(sine/6)),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- LH.C0=clerp(LH.C0,cf(-1,-0.9-idleangle,0)*angles(math.rad(0),math.rad(-60-5*math.cos(sine/6)),math.rad(0))*angles(math.rad(0),math.rad(0),math.rad(0)),0.2/animationspeed)
- swordhandleweld.C0=clerp(swordhandleweld.C0,cf(0,-1,0)*angles(math.rad(-90),0,0),0.2/animationspeed)
- end
- end
- end
- end
- end
- --end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement