Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local s = Instance.new("Sound")
- s.Name = "BGMusic"
- s.SoundId = "https://www.roblox.com/asset/?id=622879840"
- s.Pitch = 1
- s.Volume = 1
- s.Looped = true
- s.archivable = false
- s.Parent = game.Workspace
- wait(0.1)
- s:play()
- math.randomseed(tick())
- plr = game:service("Players").LocalPlayer
- ch, char = plr.Character, plr.Character
- hum = ch.Humanoid
- tor, torso, rootpart, rj = ch.Torso, ch.Torso, ch.HumanoidRootPart, ch.HumanoidRootPart.RootJoint
- m, mouse = plr:GetMouse(), plr:GetMouse()
- cfn, ang, mr, int = CFrame.new, CFrame.Angles, math.rad, Instance.new
- bc = BrickColor.new
- head = ch.Head
- cam = workspace.CurrentCamera
- rj.C0 = cfn()
- rj.C1 = cfn()
- lib = {}
- lib.cone = "1033714"
- lib.ring = "3270017"
- lib.yato = "579392805"
- rbx = "rbxassetid://"
- v3 = Vector3.new
- cn = CFrame.new
- ca2 = CFrame.Angles
- mf = math.floor
- mran = math.random
- rn = mran
- mrad = math.rad
- rd = mrad
- mdeg = math.deg
- dg = mdeg
- function ca(x, y, z)
- return ca2(mrad(x), mrad(y), mrad(z))
- end
- function mran2(a, b)
- return mran(a * 1000, b * 1000) / 1000
- end
- ud = UDim2.new
- bn = BrickColor.new
- c3 = Color3.new
- function getSound(id)
- game:service("ContentProvider"):Preload("rbxassetid" .. tostring(id))
- local s = int("Sound", ch.Head)
- s.SoundId = "rbxassetid://" .. tostring(id - 1)
- s.Volume = 1
- return s
- end
- local combostring = ""
- local attackstring = ""
- blocksound = getSound(260433722)
- blocksound.Pitch = 1
- startsound = getSound(588738950)
- startsound.Pitch = 1
- endsound = getSound(588736246)
- endsound.Pitch = 1
- endsound.Volume = 2
- swsound = getSound(588736970)
- swexp = getSound(365002939)
- swexp.Pitch = 1
- spexp = getSound(365002939)
- spexp.Pitch = 1.2
- startsound2 = getSound(260433769)
- startsound2.Pitch = 0.8
- startsound3 = getSound(260433769)
- startsound3.Pitch = 0.89
- chargesound = getSound(181004944)
- chargesound.Pitch = 1
- basicsound = getSound(588736246)
- basicsound.Pitch = 1.2
- dodgesound = getSound(177162407)
- dodgesound.Pitch = 1.4
- landsound = getSound(315775190)
- rushsound = getSound(134012323)
- swoosh = getSound(231917988)
- swoosh.Volume = 2
- aerialcharge = getSound(265109959)
- aerialcharge.Pitch = 1.1
- curse = getSound(231917971)
- glass = getSound(130779172)
- magictone1 = getSound(588738950)
- tweenTable = {}
- altTweenTable = {}
- local alljoints = {}
- textTable = {}
- local fx = {}
- moves = {}
- connectlist = {}
- cooldowns = {}
- movers = {}
- local linetable = {}
- local run = false
- idle = false
- local animPlaying = false
- local runLeg = false
- canRunLeg = false
- local deb = false
- local basicswitch = false
- local canExecuteMoves = true
- maxmana = 90000
- mana = 90000
- chain = 0
- hum.MaxHealth = 90000
- spawn(function()
- wait()
- hum.Health = 90000
- end)
- local managui = int("ScreenGui", plr.PlayerGui)
- managui.Name = "Mana Gui"
- local frame = int("Frame", managui)
- frame.Size = UDim2.new(0.15, 0, 0.02, 0)
- frame.Position = UDim2.new(0.83, 0, 0.7, 0)
- frame.BackgroundColor3 = BrickColor.new("Black").Color
- frame.BorderColor3 = BrickColor.new("Really black").Color
- frame.BorderSizePixel = 6
- local manabartext = int("TextLabel", frame)
- manabartext.ZIndex = 2
- manabartext.Size = UDim2.new(1, 0, 1, 0)
- manabartext.TextColor3 = BrickColor.new("White").Color
- manabartext.TextStrokeTransparency = 1
- manabartext.Font = "SourceSansLight"
- manabartext.Text = tostring(mana) .. "/" .. tostring(maxmana)
- manabartext.FontSize = "Size18"
- manabartext.BackgroundTransparency = 1
- local manabar = int("Frame", frame)
- manabar.Size = UDim2.new(1, 0, 1, 0)
- manabar.BorderSizePixel = 0
- manabar.BackgroundColor3 = BrickColor.new("Bright blue").Color
- manabar.Size = UDim2.new(mana / maxmana, 0, 1, 0)
- local chainframe = int("Frame", managui)
- chainframe.Size = frame.Size
- chainframe.BackgroundTransparency = 1
- chainframe.Position = frame.Position + UDim2.new(0.07, 0, -0.05, 0)
- local chaintext = int("TextLabel", chainframe)
- chaintext.BackgroundTransparency = 1
- chaintext.TextStrokeColor3 = BrickColor.new("White").Color
- chaintext.TextStrokeTransparency = 0
- chaintext.Size = UDim2.new(1, 0, 1, 0)
- chaintext.Font = "Antique"
- chaintext.FontSize = "Size48"
- chaintext.Text = "0x"
- ypcall(function()
- ch.Animate:Destroy()
- ch.Humanoid.Animator:Destroy()
- end)
- if ch:findFirstChild("Riven") then
- ch.Riven:Destroy()
- end
- local tube = int("Model", ch)
- tube.Name = "Riven"
- script.Parent = tube
- function Weld(p0, p1, x, y, z, rx, ry, rz, par)
- p0.Position = p1.Position
- local w = Instance.new("Motor", par or p0)
- w.Part0 = p1
- w.Part1 = p0
- w.C0 = CFrame.new(x or 0, y or 0, z or 0) * CFrame.Angles(rx or 0, ry or 0, rz or 0)
- w.MaxVelocity = 0.1
- return w
- end
- function clerp(c1, c2, sp)
- local R1, R2, R3 = c1:toEulerAnglesXYZ()
- local R21, R22, R23 = c2:toEulerAnglesXYZ()
- return CFrame.new(c1.X + (c2.X - c1.X) * sp, c1.Y + (c2.Y - c1.Y) * sp, c1.Z + (c2.Z - c1.Z) * sp) * CFrame.Angles(R1 + (R21 - R1) * sp, R2 + (R22 - R2) * sp, R3 + (R23 - R3) * sp)
- end
- function Tween(Weld, Stop, Step, a)
- ypcall(function()
- local function func()
- local Start = Weld.C1
- local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
- local Stop = Stop
- local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
- if not Step then
- Step = 0.1
- end
- table.insert(tweenTable, {
- th = 0,
- Weld = Weld,
- Step = Step,
- Start = Start,
- X1 = X1,
- Y1 = Y1,
- Z1 = Z1,
- Stop = Stop,
- X2 = X2,
- Y2 = Y2,
- Z2 = Z2
- })
- end
- if a then
- coroutine.wrap(func)()
- else
- func()
- end
- end)
- end
- function altTween(Weld, Stop, Step, a)
- ypcall(function()
- local function func()
- local Start = Weld.C1
- local X1, Y1, Z1 = Start:toEulerAnglesXYZ()
- local Stop = Stop
- local X2, Y2, Z2 = Stop:toEulerAnglesXYZ()
- if not Step then
- Step = 0.1
- end
- table.insert(altTweenTable, {
- th = 0,
- Weld = Weld,
- Step = Step,
- Start = Start,
- X1 = X1,
- Y1 = Y1,
- Z1 = Z1,
- Stop = Stop,
- X2 = X2,
- Y2 = Y2,
- Z2 = Z2
- })
- end
- if a then
- coroutine.wrap(func)()
- else
- func()
- end
- end)
- end
- function weld(p0, p1, c0)
- local w = Instance.new("Weld", p0)
- w.Part0 = p0
- w.Part1 = p1
- w.C0 = c0
- return w
- end
- function cp(parent, color, size, anchored, cancollide)
- local newp = Instance.new("Part", parent)
- newp.TopSurface = "SmoothNoOutlines"
- newp.BottomSurface = "SmoothNoOutlines"
- newp.FrontSurface = "SmoothNoOutlines"
- newp.BackSurface = "SmoothNoOutlines"
- newp.RightSurface = "SmoothNoOutlines"
- newp.LeftSurface = "SmoothNoOutlines"
- newp.FormFactor = "Custom"
- newp.BrickColor = bc(color)
- local rn = math.random(3)
- if rn == 1 then
- end
- newp.Size = size
- newp.Anchored = anchored
- newp.CanCollide = cancollide
- newp:BreakJoints()
- return newp
- end
- function destroyJoints()
- for i = 1, 5 do
- for _, v in pairs(alljoints) do
- ypcall(function()
- v:Destroy()
- table.remove(alljoints, _)
- end)
- end
- end
- end
- function initializeJoints()
- destroyJoints()
- rabr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
- rabr.Transparency = 1
- rabr.Name = "Locker"
- rabr.Position = torso.Position
- rw = Weld(rabr, torso, 1.5, 0.5, 0, 0, 0, 0)
- rw.Parent = tube
- rw.Name = "rw"
- w = Instance.new("Weld", tube)
- w.Part0, w.Part1 = ch["Right Arm"], rabr
- w.C1 = CFrame.new(0, -0.5, 0)
- labr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
- labr.Transparency = 1
- labr.Name = "Locker"
- labr.Position = torso.Position
- lw = Weld(labr, torso, -1.5, 0.5, 0, 0, 0, 0)
- lw.Parent = tube
- lw.Name = "lw"
- ww = Instance.new("Weld", tube)
- ww.Part0, ww.Part1 = ch["Left Arm"], labr
- ww.C1 = CFrame.new(0, -0.5, 0)
- rlabr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
- rlabr.Transparency = 1
- rlabr.Name = "Locker"
- rlabr.Position = torso.Position
- rlw = Weld(rlabr, torso, 0.5, -1.5, 0, 0, 0, 0)
- rlw.Parent = tube
- rlw.Name = "rlw"
- wl = Instance.new("Weld", tube)
- wl.Part0, wl.Part1 = ch["Right Leg"], rlabr
- wl.C1 = CFrame.new(0, -0.5, 0)
- llabr = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
- llabr.Transparency = 1
- llabr.Name = "Locker"
- llabr.Position = torso.Position
- llw = Weld(llabr, torso, -0.5, -1.5, 0, 0, 0, 0)
- llw.Parent = tube
- llw.Name = "llw"
- wwl = Instance.new("Weld", tube)
- wwl.Part0, wwl.Part1 = ch["Left Leg"], llabr
- wwl.C1 = CFrame.new(0, -0.5, 0)
- nk = cp(tube, "White", Vector3.new(1, 1, 1), false, false)
- nk.Transparency = 1
- nk.Name = "Locker"
- nk.Position = torso.Position
- neck = Weld(nk, torso, 0, 2, 0, 0, 0, 0)
- neck.Parent = tube
- neck.Name = "neck"
- www = Instance.new("Weld", tube)
- www.Part0, www.Part1 = ch.Head, nk
- www.C1 = CFrame.new(0, -0.5, 0)
- table.insert(alljoints, rabr)
- table.insert(alljoints, labr)
- table.insert(alljoints, rw)
- table.insert(alljoints, lw)
- table.insert(alljoints, w)
- table.insert(alljoints, ww)
- table.insert(alljoints, rlabr)
- table.insert(alljoints, llabr)
- table.insert(alljoints, rlw)
- table.insert(alljoints, llw)
- table.insert(alljoints, wl)
- table.insert(alljoints, wwl)
- table.insert(alljoints, nk)
- table.insert(alljoints, neck)
- table.insert(alljoints, www)
- end
- function cyl(prt)
- local c = int("CylinderMesh", prt)
- return c
- end
- function blo(prt)
- local c = int("BlockMesh", prt)
- c.Name = "bmsh"
- return c
- end
- function sphere(prt)
- local c = int("SpecialMesh", prt)
- c.MeshType = "Sphere"
- return c
- end
- initializeJoints()
- function reset()
- if run == false and animPlaying == false then
- altTweenTable = {}
- Tween(llw, cfn(0, -0.08 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(5)))
- Tween(rlw, cfn(0, -0.08 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(-5)))
- Tween(rw, cfn(0, 0.1 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(-15) + mr(-5 * math.sin(tick() * 1.5))))
- Tween(lw, cfn(0, 0.1 * math.sin(tick() * 1.5), 0) * ang(0, 0, mr(15) + mr(5 * math.sin(tick() * 1.5))))
- Tween(neck, cfn())
- Tween(rj, cfn(0, 0.08 * math.sin(tick() * 1.5), 0), 0.3)
- end
- end
- function resetLegs()
- altTweenTable = {}
- Tween(llw, cfn())
- Tween(rlw, cfn())
- end
- function walkCycle()
- if run == true and animPlaying == false then
- tweenTable = {}
- Tween(rj, cfn())
- Tween(llw, cfn(0, 0, -0.2 * math.sin(tick() * 8)) * ang(mr(10) + mr(40 * math.sin(tick() * 8)), 0, 0), 0.6)
- Tween(rlw, cfn(0, 0, 0.2 * math.sin(tick() * 8)) * ang(mr(10) + mr(-40 * math.sin(tick() * 8)), 0, 0), 0.6)
- Tween(rw, cfn() * ang(mr(-40), 0, mr(-30)), 0.07)
- Tween(lw, cfn() * ang(mr(20), 0, mr(20)), 0.07)
- end
- end
- function walkLegs()
- if runLeg == true then
- altTweenTable = {}
- altTween(llw, cfn(0, 0, -0.2 * math.sin(tick() * 8)) * ang(mr(20) + mr(50 * math.sin(tick() * 8)), 0, 0), 0.6)
- altTween(rlw, cfn(0, 0, 0.2 * math.sin(tick() * 8)) * ang(mr(20) + mr(-50 * math.sin(tick() * 8)), 0, 0), 0.6)
- end
- end
- function dealDamage(man, damage, crit, multi, lifesteal)
- if man and man:findFirstChild("Humanoid") and man.Head then
- local dm = damage
- local cr = false
- local hm = man.Humanoid
- if crit and crit > 0 then
- local c = math.random(crit)
- if c == 1 then
- cr = true
- end
- end
- if cr == true then
- if not multi then
- dm = dm * 1.5
- else
- dm = dm * multi
- end
- end
- hm:TakeDamage(dm)
- if lifesteal then
- local plife = lifesteal * dm
- if hum.Health < hum.MaxHealth then
- hum.Health = hum.Health + plife
- local bbg = int("BillboardGui", tube)
- bbg.Size = UDim2.new(1, 0, 1, 0)
- bbg.StudsOffset = Vector3.new(0, 2, 0)
- bbg.StudsOffset = bbg.StudsOffset + Vector3.new(math.random(-math.random(50) / 10, math.random(50) / 10), 0, math.random(-math.random(50) / 10, math.random(50) / 10))
- bbg.Adornee = ch.Head
- bbg.AlwaysOnTop = true
- local tlabl = int("TextLabel", bbg)
- tlabl.Size = UDim2.new(1, 0, 1, 0)
- tlabl.Text = tostring(plife)
- tlabl.BackgroundTransparency = 1
- tlabl.TextColor3 = BrickColor.new("Bright green").Color
- tlabl.TextStrokeColor3 = BrickColor.new("White").Color
- tlabl.TextStrokeTransparency = 0
- tlabl.Font = "Antique"
- tlabl.FontSize = "Size60"
- table.insert(textTable, bbg)
- end
- end
- chain = chain + 1
- if hm.MaxHealth >= 99999 then
- hm.Parent:BreakJoints()
- end
- local bbg = int("BillboardGui", tube)
- bbg.Size = UDim2.new(1, 0, 1, 0)
- bbg.StudsOffset = Vector3.new(0, 2, 0)
- bbg.StudsOffset = bbg.StudsOffset + Vector3.new(math.random(-math.random(50) / 10, math.random(50) / 10), 0, math.random(-math.random(50) / 10, math.random(50) / 10))
- bbg.Adornee = man.Head
- bbg.AlwaysOnTop = true
- local tlabl = int("TextLabel", bbg)
- tlabl.Size = UDim2.new(1, 0, 1, 0)
- tlabl.Text = tostring(dm)
- tlabl.BackgroundTransparency = 1
- tlabl.TextColor3 = BrickColor.new("Really black").Color
- tlabl.TextStrokeColor3 = BrickColor.new("White").Color
- if cr == true then
- tlabl.TextColor3 = BrickColor.new("Really red").Color
- tlabl.TextStrokeColor3 = BrickColor.new("Really black").Color
- end
- tlabl.TextStrokeTransparency = 0
- tlabl.Font = "Antique"
- tlabl.FontSize = "Size60"
- table.insert(textTable, bbg)
- return dm
- end
- end
- local tp = cp(tube, "White", Vector3.new(1, 1, 1))
- tp.Transparency = 1
- weld(ch["Right Arm"], tp, cfn(0, -1, 0))
- function addFx(item, int, final, func)
- table.insert(fx, {
- item = item,
- int = int,
- func = func,
- final = final,
- stepval = 0
- })
- end
- function addMove(name, key, cooldown, func, manacost)
- moves[name] = {
- key = key,
- cooldown = cooldown,
- func = func,
- manacost = manacost
- }
- end
- function drawLine(point_a, point_b, bc_code, angle)
- local dist = (point_a - point_b).magnitude
- if dist > 1 then
- local rad = dist / 2
- local line = Instance.new("Part", tube)
- line.Anchored = true
- line.FormFactor = "Custom"
- line.BrickColor = BrickColor.new(bc_code)
- line.TopSurface = "SmoothNoOutlines"
- line.BottomSurface = "SmoothNoOutlines"
- line.LeftSurface = "SmoothNoOutlines"
- line.RightSurface = "SmoothNoOutlines"
- line.FrontSurface = "SmoothNoOutlines"
- line.BackSurface = "SmoothNoOutlines"
- line.Material = "Neon"
- line.CanCollide = false
- line.Size = Vector3.new(0.7, 0.7, dist)
- Instance.new("BlockMesh", line).Name = "blok"
- line.CFrame = CFrame.new(point_a, point_b) * CFrame.new(0, 0, -rad)
- return line
- end
- end
- function depleteMana(amount)
- if mana > 0 then
- if mana - amount > 0 then
- mana = mana - amount
- return true
- else
- return false
- end
- end
- end
- function executeMove(name)
- if canExecuteMoves == true and ch and hum and hum.Health > 0 then
- local can = true
- for _, v in pairs(cooldowns) do
- if v.move == name then
- can = false
- break
- end
- end
- if can == true then
- local can2 = true
- if moves[name].manacost then
- local a = depleteMana(moves[name].manacost)
- if not a then
- can2 = false
- end
- end
- if can2 then
- moves[name].func()
- end
- end
- end
- end
- function addToCList(what, key)
- local a = {
- what,
- key = key,
- up = false
- }
- table.insert(connectlist, a)
- return a
- end
- function waitForUp(what)
- repeat
- wait()
- until what.up == true
- end
- function addMover(what, step, func)
- table.insert(movers, {
- mover = what,
- step = step,
- lastpoint = what.CFrame,
- func = func
- })
- end
- local CreateRegion3FromLocAndSize = function(Position, Size)
- local SizeOffset = Size / 2
- local Point1 = Position - SizeOffset
- local Point2 = Position + SizeOffset
- return Region3.new(Point1, Point2)
- end
- local righthandle = cp(tube, "White", Vector3.new(1, 1, 1))
- weld(ch["Right Arm"], righthandle, cfn(0, -1, 0))
- righthandle.Transparency = 1
- local lefthandle = cp(tube, "White", Vector3.new(1, 1, 1))
- weld(ch["Left Arm"], lefthandle, cfn(0, -1, 0))
- lefthandle.Transparency = 1
- function addCoolDown(move)
- local a = {
- timeleft = moves[move].cooldown,
- move = move
- }
- table.insert(cooldowns, a)
- end
- addMove("block_normal", "f", 0.5, function()
- deb = true
- idle = false
- local ws = hum.WalkSpeed
- tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
- hum.WalkSpeed = 0
- tweenTable = {}
- animPlaying = true
- local pcf = tor.CFrame
- Tween(rj, cfn() * ang(0, mr(-45), 0), 0.2)
- Tween(rw, cfn() * ang(mr(-86), mr(-15), 0), 0.2)
- Tween(lw, cfn() * ang(0, mr(5), mr(20)), 0.2)
- blocksound:Play()
- local block = cp(workspace, "Really black", Vector3.new(8, 6, 1), true, true)
- block.CFrame = pcf * CFrame.new(0, 0, -5)
- block.Material = "Neon"
- local bm = blo(block)
- bm.Scale = Vector3.new(0, 0, 0.9)
- addFx(block, 0.05, nil, function()
- bm.Scale = bm.Scale + Vector3.new(0.05, 0.05, 0)
- end)
- local a = addToCList("block_connect", "f")
- waitForUp(a)
- addCoolDown("block_normal")
- hum.WalkSpeed = ws
- deb = false
- addFx(block, 0.05, "destroy", function()
- block.Transparency = block.Transparency + 0.05
- block.bmsh.Scale = block.bmsh.Scale + Vector3.new(0.07, 0.07, 0)
- end)
- idle = true
- reset()
- animPlaying = false
- end, 15)
- addMove("curse", "g", 10, function()
- deb = true
- idle = false
- animPlaying = true
- canRunLeg = true
- tweenTable = {}
- altTweenTable = {}
- Tween(rj, cfn() * ang(0, mr(-90), 0), 0.2)
- Tween(rw, cfn() * ang(0, 0, mr(-90)), 0.2)
- Tween(lw, cfn() * ang(0, mr(5), mr(20)), 0.2)
- tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
- wait(0.15)
- curse:Play()
- addCoolDown("curse")
- local bullet = cp(tube, "Really black", Vector3.new(1, 1, 1))
- bullet.CFrame = CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
- bullet.Transparency = 1
- local bulletfx = bullet:clone()
- bulletfx.Transparency = 1
- bulletfx.Parent = bullet
- bulletfx.Anchored = true
- sphere(bulletfx)
- local angle = 0
- local lastpoint = bullet.CFrame
- addMover(bullet, 0.8, function()
- angle = angle + 1
- local angles = CFrame.Angles(0, 0, mr(angle))
- bulletfx.CFrame = bullet.CFrame
- local fxp = cp(tube, "Really black", Vector3.new(1, 1, 1), true)
- fxp.CFrame = bulletfx.CFrame
- local bmesh = int("SpecialMesh", fxp)
- bmesh.MeshType = "FileMesh"
- bmesh.MeshId = rbx .. lib.ring
- bmesh.Scale = Vector3.new(2, 2, 2)
- addFx(fxp, 0.07, "destroy", function()
- bulletfx.CFrame = bullet.CFrame
- bmesh.Scale = bmesh.Scale - Vector3.new(0.1, 0.1, 0)
- fxp.Transparency = fxp.Transparency + 0.07
- end)
- end)
- bullet.Touched:connect(function(p)
- if not p:isDescendantOf(ch) then
- do
- local thing
- local region = CreateRegion3FromLocAndSize(bullet.Position, bullet.Size * 2)
- for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 50)) do
- if v.Parent and v.Parent:findFirstChild("Humanoid") then
- thing = v
- break
- end
- end
- local mgp = cp(tube, "White", Vector3.new(1, 1, 1), true)
- mgp.Transparency = 1
- mgp.CFrame = bullet.CFrame
- game.Debris:AddItem(mgp, 3)
- local tsound = glass:clone()
- tsound.Volume = 2
- tsound.Parent = mgp
- tsound:Play()
- local position = bullet.CFrame
- if thing and thing.Parent then
- dealDamage(thing.Parent, 50000, 50000)
- do
- local humin = thing.Parent.Humanoid
- spawn(function()
- for i = 1, 10 do
- wait(1)
- if thing.Parent then
- dealDamage(thing.Parent, 0.05 * humin.MaxHealth, 10000, 10000, 10000)
- end
- end
- end)
- end
- end
- local blast = cp(tube, "Really black", Vector3.new(2, 2, 2), true, false)
- blast.Material = "Neon"
- local spm2 = blo(blast)
- spm2.Name = "mesh"
- blast.CFrame = CFrame.new(position.X, position.Y, position.Z) * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
- if p.Name == "Torso" or p.Parent and p.Parent:findFirstChild("Torso") then
- blast.CFrame = p.Parent.Torso.CFrame * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
- end
- for i = 1, 5 do
- do
- local fx = blast:clone()
- fx.Parent = tube
- fx.CFrame = blast.CFrame * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
- addFx(fx, 0.05, "destroy", function()
- fx.mesh.Scale = fx.mesh.Scale + Vector3.new(0.1, 0.1, 0.1)
- fx.Transparency = fx.Transparency + 0.05
- end)
- end
- end
- addFx(blast, 0.05, "destroy", function()
- spm2.Scale = spm2.Scale + Vector3.new(0.1, 0.1, 0.1)
- blast.Transparency = blast.Transparency + 0.05
- end)
- bullet:Destroy()
- bulletfx:Destroy()
- end
- end
- end)
- game.Debris:AddItem(bullet, 3)
- local bv = int("BodyVelocity", bullet)
- bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv.Velocity = bullet.CFrame.lookVector * 150
- wait(0.5)
- reset()
- deb = false
- canRunLeg = false
- animPlaying = false
- end, 60)
- local bg = false
- addMove("beam", "e", 5, function()
- tweenTable = {}
- animPlaying = true
- idle = false
- deb = true
- local pcf = tor.CFrame
- canRunLeg = true
- startsound:Play()
- chargesound.Looped = true
- chargesound:Play()
- Tween(rj, cfn() * ang(0, mr(-90), 0), 0.2)
- Tween(rw, cfn() * ang(0, 0, mr(-90)), 0.2)
- Tween(lw, cfn() * ang(0, mr(5), mr(20)), 0.2)
- bg = true
- local a = addToCList("beam_connect", "e")
- local charge = cp(tube, "Really black", Vector3.new(1, 1, 1))
- charge.Material = "Neon"
- local spm = int("SpecialMesh", charge)
- spm.MeshType = "Sphere"
- spm.Name = "sphere"
- weld(ch["Right Arm"], charge, cfn(0, -2, 0))
- local up = false
- local multiplier = 1
- local cn = chargesound.DidLoop:connect(function()
- local fx = charge:clone()
- fx.Parent = tube
- fx.CFrame = charge.CFrame
- weld(charge, fx, cfn())
- addFx(fx, 0.07, "destroy", function()
- if fx and fx:findFirstChild("sphere") then
- fx.sphere.Scale = fx.sphere.Scale + Vector3.new(0.1, 0.1, 0.1)
- fx.Transparency = fx.Transparency + 0.07
- end
- end)
- end)
- spawn(function()
- repeat
- wait()
- if spm.Scale.X < 2 then
- spm.Scale = spm.Scale + Vector3.new(0.05, 0.05, 0.05)
- multiplier = multiplier + 0.1
- end
- until up == true
- end)
- waitForUp(a)
- cn:Disconnect()
- up = true
- addCoolDown("beam")
- chargesound:Stop()
- endsound:Play()
- local ringFx = cp(tube, "Really black", Vector3.new(2, 2, 2), true, false)
- ringFx.CFrame = charge.CFrame * ang(mr(-90), 0, 0)
- ringFx.Material = "Neon"
- local spm = int("SpecialMesh", ringFx)
- spm.MeshId = rbx .. lib.ring
- spm.Scale = Vector3.new(2, 2, 2)
- addFx(ringFx, 0.08, "destroy", function()
- spm.Scale = spm.Scale + Vector3.new(0.2, 0.2, 0)
- ringFx.Transparency = ringFx.Transparency + 0.08
- end)
- local beam = cp(tube, "Really black", Vector3.new(1, 1, 1), true, false)
- local ray = Ray.new(charge.CFrame.p, (mouse.Hit.p - charge.CFrame.p).unit * 300)
- local part, position = workspace:FindPartOnRay(ray, ch, false, true)
- local distance = (charge.CFrame.p - position).magnitude
- beam.Size = Vector3.new(1, 1, distance)
- beam.Material = "Neon"
- beam.CFrame = CFrame.new(charge.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
- local blast = cp(tube, "Really black", Vector3.new(8, 8, 8), true, false)
- blast.Material = "Neon"
- blast.CFrame = CFrame.new(position.X, position.Y, position.Z)
- local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 2)
- local people = {}
- for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
- if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
- local can = false
- if not v.Parent:findFirstChild("HitDeb") then
- can = true
- end
- if can == true then
- local db = Instance.new("StringValue", v.Parent)
- db.Name = "HitDeb"
- game.Debris:AddItem(db, 0.5)
- local humin = v.Parent.Humanoid
- if humin then
- local php = humin.Health
- dealDamage(humin.Parent, 20 * multiplier, 10000)
- humin.Sit = true
- humin.PlatformStand = true
- if php <= humin.Health and humin.MaxHealth ~= math.huge then
- print("equal")
- humin:TakeDamage(20 * multiplier)
- end
- end
- end
- end
- end
- local blastsound = getSound(262562443)
- blastsound.Parent = blast
- blastsound.Volume = 5
- blastsound:Play()
- blastsound:Stop()
- blastsound:Play()
- canRunLeg = false
- runLeg = false
- animPlaying = false
- tweenTable = {}
- local spm2 = int("SpecialMesh", blast)
- spm2.MeshType = "Sphere"
- addFx(blast, 0.008, "destroy", function()
- spm2.Scale = spm2.Scale + Vector3.new(0.05, 0.05, 0.05)
- blast.Transparency = blast.Transparency + 0.008
- end)
- addFx(beam, 0.1, "destroy", function()
- beam.Transparency = beam.Transparency + 0.1
- end)
- addFx(charge, 0.1, "destroy", function()
- charge.Transparency = charge.Transparency + 0.1
- end)
- bg = false
- run = false
- idle = true
- reset()
- deb = false
- end, 60)
- addMove("downslam", "q", 4, function()
- currentkey = key
- deb = true
- animPlaying = true
- altTweenTable = {}
- tweenTable = {}
- local rv = tor.CFrame.upVector
- local bv = int("BodyVelocity", tor)
- bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv.Velocity = rv * -150
- rushsound:Play()
- Tween(rj, cfn() * ang(mr(180), 0, 0))
- Tween(rw, cfn() * ang(mr(-180), 0, 0))
- Tween(lw, cfn() * ang(mr(-180), 0, 0))
- addCoolDown("downslam", 4)
- spawn(function()
- while true do
- wait()
- do
- local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
- cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
- local b = blo(cfx)
- addFx(cfx, 0.05, "destroy", function()
- cfx.Transparency = cfx.Transparency + 0.05
- b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- if Vector3.new(0, tor.Velocity.Y, 0).magnitude < 2 then
- break
- end
- end
- end
- end)
- wait()
- bv:Destroy()
- multiplier = 1
- repeat
- wait()
- until Vector3.new(0, tor.Velocity.Y, 0).magnitude < 2
- local bhit, pos = FindGround(cn(tor.CFrame.p), ch)
- local blast = cp(tube, "Really black", Vector3.new(10, 10, 10), true, false)
- blast.CFrame = pos
- local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 3)
- local people = {}
- for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
- if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
- local can = false
- if not v.Parent:findFirstChild("HitDeb") then
- can = true
- end
- if can == true then
- local db = Instance.new("StringValue", v.Parent)
- db.Name = "HitDeb"
- game.Debris:AddItem(db, 0.5)
- local humin = v.Parent.Humanoid
- if humin then
- local php = humin.Health
- dealDamage(humin.Parent, 20 * multiplier, 10000)
- humin.Sit = true
- humin.PlatformStand = true
- if php <= humin.Health and humin.MaxHealth ~= math.huge then
- print("equal")
- humin:TakeDamage(20 * multiplier)
- end
- end
- end
- end
- end
- local sp = sphere(blast)
- blast.Material = "Neon"
- landsound:Play()
- addFx(blast, 0.02, "destroy", function()
- sp.Scale = sp.Scale + Vector3.new(0.1, 0.1, 0.1)
- blast.Transparency = blast.Transparency + 0.02
- end)
- animPlaying = false
- deb = false
- end, 40)
- addMove("aerialsword", "r", 15, function()
- deb = true
- animPlaying = true
- tweenTable = {}
- altTweenTable = {}
- canExecuteMoves = false
- idle = false
- run = false
- aerialcharge:Play()
- Tween(rw, cfn() * ang(mr(-90), 0, 0))
- local bp, bgg
- local a = addToCList("aerialsword", "r")
- local still = true
- bp = int("BodyPosition", tor)
- bp.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bp.Position = tor.Position
- local sphr = cp(tube, "Really black", Vector3.new(8, 8, 8), true)
- sphr.Transparency = 1
- sphr.Material = "Neon"
- local spho = sphere(sphr)
- spho.Name = "spho"
- spho.Scale = Vector3.new(0, 0, 0)
- sphr.CFrame = tor.CFrame
- addFx(sphr, 0.07, nil, function()
- spho.Scale = spho.Scale + Vector3.new(0.1, 0.1, 0.1)
- sphr.Transparency = sphr.Transparency - 0.07
- end)
- Delay(6, function()
- if not a.up then
- a.up = true
- end
- end)
- repeat
- wait(0.3)
- local b = depleteMana(35)
- if b then
- swsound:Play()
- do
- local fx = sphr:clone()
- fx.Parent = tube
- fx.CFrame = sphr.CFrame
- addFx(fx, 0.07, "destroy", function()
- fx.spho.Scale = fx.spho.Scale + Vector3.new(0.1, 0.1, 0.1)
- fx.Transparency = fx.Transparency + 0.07
- end)
- local sw = int("Part")
- game.Debris:AddItem(sw, 6)
- sw.CanCollide = false
- sw.Anchored = false
- sw.BrickColor = BrickColor.new("Really black")
- sw.Material = "Neon"
- sw.Size = Vector3.new(1, 1, 2)
- sw.CFrame = CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
- sw.Parent = tube
- sw.Transparency = 1
- addFx(sw, 0.1, nil, function()
- sw.Transparency = sw.Transparency - 0.1
- end)
- local spm = int("SpecialMesh", sw)
- spm.MeshType = "FileMesh"
- spm.MeshId = rbx .. lib.yato
- spm.Scale = Vector3.new(0.05, 0.05, 0.05)
- local vel = int("BodyVelocity", sw)
- vel.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- vel.Velocity = sw.CFrame.lookVector * 152
- sw.CFrame = sw.CFrame * ang(0, mr(180), 0)
- sw.Touched:connect(function(p)
- if p:IsDescendantOf(ch) == false then
- sw.Anchored = true
- do
- local mgp = cp(tube, "White", Vector3.new(1, 1, 1), true, false)
- mgp.CFrame = sw.CFrame
- mgp.Transparency = 1
- game.Debris:AddItem(mgp, 2)
- ssp = swexp:clone()
- ssp.Parent = mgp
- ssp.Volume = 2
- ssp:Play()
- local blast = cp(tube, "Really black", Vector3.new(8, 8, 8), true)
- blast.CFrame = sw.CFrame
- local sp = sphere(blast)
- addFx(sw, 0.05, "destroy", function()
- sw.Transparency = sw.Transparency + 0.05
- spm.Scale = spm.Scale + Vector3.new(0.01, 0.01, 0.01)
- end)
- addFx(blast, 0.07, "destroy", function()
- blast.Transparency = blast.Transparency + 0.07
- sp.Scale = sp.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 2)
- local people = {}
- for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
- if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
- local can = false
- if not v.Parent:findFirstChild("HitDeb") then
- can = true
- end
- if can == true then
- local db = Instance.new("StringValue", v.Parent)
- db.Name = "HitDeb"
- game.Debris:AddItem(db, 0.2)
- local humin = v.Parent.Humanoid
- if humin then
- local php = humin.Health
- dealDamage(humin.Parent, 20 + math.random(50000), 50000)
- humin.Sit = true
- if php <= humin.Health and humin.MaxHealth ~= math.huge then
- print("equal")
- humin:TakeDamage(20000)
- end
- end
- end
- end
- end
- end
- end
- end)
- end
- else
- a.up = true
- end
- until a.up == true
- addFx(sphr, 0.07, "destroy", function()
- sphr.Transparency = sphr.Transparency + 0.07
- spho.Scale = spho.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- still = false
- spawn(function()
- wait(0.3)
- canExecuteMoves = true
- end)
- bp:Destroy()
- tor.Anchored = false
- deb = false
- animPlaying = false
- reset()
- end, 200)
- addMove("basic", "mb1", 0.1, function()
- tweenTable = {}
- animPlaying = true
- deb = true
- canRunLeg = true
- tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
- bg = true
- idle = false
- basicsound:Play()
- if basicswitch == false then
- Tween(rw, cfn() * ang(mr(-100), mr(45), 0), 0.2)
- Tween(rj, cfn() * ang(0, mr(-45), 0), 0.2)
- else
- Tween(lw, cfn() * ang(mr(-100), mr(-45), 0), 0.2)
- Tween(rj, cfn() * ang(0, mr(45), 0), 0.2)
- end
- wait(0.06)
- local bullet = cp(tube, "Really black", Vector3.new(1, 1, 1), false, false)
- bullet.Transparency = 1
- if basicswitch == false then
- bullet.CFrame = righthandle.CFrame
- bullet.CFrame = CFrame.new(righthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
- basicswitch = true
- else
- bullet.CFrame = lefthandle.CFrame
- bullet.CFrame = CFrame.new(lefthandle.CFrame.p, Vector3.new(m.Hit.p.X, m.Hit.p.Y, m.Hit.p.Z))
- basicswitch = false
- end
- local bv = int("BodyVelocity", bullet)
- bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv.Velocity = bullet.CFrame.lookVector * 150
- local bulletfx = cp(tube, "Really black", Vector3.new(1, 1, 1), true, false)
- bulletfx.CFrame = bullet.CFrame
- bulletfx.Material = "Neon"
- sphere(bulletfx)
- local angle = 0
- local lastpoint = bulletfx.CFrame
- addCoolDown("basic")
- addMover(bullet, 0.8, function()
- angle = angle + 1
- local angles = CFrame.Angles(math.rad(angle), mr(angle), 0)
- bulletfx.CFrame = bullet.CFrame
- bulletfx.CFrame = bulletfx.CFrame * angles
- if 1 < (lastpoint.p - bulletfx.CFrame.p).magnitude then
- do
- local line = drawLine(lastpoint.p, bulletfx.CFrame.p, "Really black", angles)
- addFx(line, 0.05, "destroy", function()
- line.blok.Scale = line.blok.Scale + Vector3.new(0.05, 0.05, 0)
- line.Transparency = line.Transparency + 0.05
- end)
- lastpoint = bulletfx.CFrame
- end
- end
- end)
- bullet.Touched:connect(function(p)
- if not p:isDescendantOf(ch) then
- do
- local thing
- local region = CreateRegion3FromLocAndSize(bullet.Position, bullet.Size * 2)
- for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 50)) do
- if v.Parent and v.Parent:findFirstChild("Humanoid") then
- thing = v
- break
- end
- end
- local explosound = getSound(142070128)
- explosound.Volume = 0.8
- explosound.Pitch = 1.2
- explosound.Parent = p
- explosound:Play()
- local position = bullet.CFrame
- if thing and thing.Parent then
- dealDamage(thing.Parent, 20000, 50000)
- end
- local blast = cp(tube, "Really black", Vector3.new(2, 2, 2), true, false)
- blast.Material = "Neon"
- local spm2 = sphere(blast)
- blast.CFrame = CFrame.new(position.X, position.Y, position.Z)
- addFx(blast, 0.05, "destroy", function()
- spm2.Scale = spm2.Scale + Vector3.new(0.1, 0.1, 0.1)
- blast.Transparency = blast.Transparency + 0.05
- end)
- bullet:Destroy()
- bulletfx:Destroy()
- end
- end
- end)
- game.Debris:AddItem(bullet, 2.5)
- game.Debris:AddItem(bulletfx, 2.5)
- wait(0.1)
- idle = true
- reset()
- deb = false
- animPlaying = false
- bg = false
- end, 20)
- local dumbbox, dhand
- local darknum = 1
- addMove("darkslash", "r", 2, function()
- local oldspeed = hum.WalkSpeed
- hum.WalkSpeed = 0
- local meshd = "http://www.roblox.com/asset/?id=12171188"
- tweenTable = {}
- altTweenTable = {}
- deb = true
- animPlaying = true
- canRunLeg = true
- startsound2:Play()
- local sp = cp(tube, "Really black", Vector3.new(10, 10, 10), false, false)
- sp.CFrame = tor.CFrame
- sp.Transparency = 0.5
- local sph = sphere(sp)
- addFx(sp, 0.07, "destroy", function()
- sph.Scale = sph.Scale - Vector3.new(0.05, 0.05, 0.05)
- sp.Transparency = sp.Transparency + 0.035
- end)
- spawn(function()
- for i = 1, 10 do
- wait()
- do
- local cool1 = cp(tube, "Really black", Vector3.new(1.5, 1.5, 1.5), true)
- local ms1 = blo(cool1)
- cool1.CFrame = righthandle.CFrame * ang(mr(math.random(90)), mr(math.random(90)), mr(math.random(90)))
- addFx(cool1, 0.07, "destroy", function()
- ms1.Scale = ms1.Scale + Vector3.new(0.08, 0.08, 0.08)
- cool1.Transparency = cool1.Transparency + 0.07
- end)
- end
- end
- end)
- addCoolDown("darkslash")
- local allahsword = cp(tube, "White", Vector3.new(1, 1, 1))
- local critmultiplier = 2.4
- local spm = int("SpecialMesh", allahsword)
- spm.MeshType = "FileMesh"
- spm.MeshId = meshd
- allahsword.Transparency = 1
- tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
- local tv = Vector3.new(tor.CFrame.lookVector.X, 0, tor.CFrame.lookVector.Z)
- local col = BrickColor.new("Really black").Color
- spm.TextureId = rbx .. "132155326"
- spm.Name = "mesh"
- spm.VertexColor = Vector3.new(0, 0, 0)
- spm.Scale = Vector3.new(1, 1, 1)
- addFx(allahsword, 0.05, nil, function()
- allahsword.Transparency = allahsword.Transparency - 0.05
- end)
- weld(ch["Right Arm"], allahsword, cfn(0, -4, -0.5) * ang(mr(110), 0, mr(180)))
- Tween(rj, cfn() * ang(0, mr(-90), 0))
- Tween(rw, cfn(0.5, 0.5, 0.5) * ang(mr(-55), mr(-35), 0))
- Tween(lw, cfn(-0.5, 0.5, 0.5) * ang(mr(-55), mr(35), 0))
- Delay(0.08, function()
- local tstvel = int("BodyVelocity", tor)
- tstvel.MaxForce = Vector3.new(math.huge, 0, math.huge)
- tstvel.Velocity = tv * 35
- game.Debris:AddItem(tstvel, 0.24)
- end)
- wait(0.22)
- local hitbox = cp(tube, "White", Vector3.new(2, 12, 2))
- hitbox.Transparency = 1
- hitbox.CFrame = allahsword.CFrame
- dumbbox = hitbox
- dumbhand = allahsword
- swoosh:Play()
- spawn(function()
- for i = 1, 10 do
- wait()
- do
- local trl = allahsword:clone()
- trl.Parent = tube
- trl.CFrame = allahsword.CFrame
- addFx(trl, 0.07, "destroy", function()
- trl.Transparency = trl.Transparency + 0.07
- end)
- end
- end
- end)
- addFx(allahsword, 0.05, "destroy", function()
- allahsword.Transparency = allahsword.Transparency + 0.05
- spm.Scale = spm.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- hitbox.Touched:connect(function(v)
- if v and v.Parent and v.Parent:findFirstChild("Humanoid") and not v:IsDescendantOf(ch) then
- local can = false
- if not v.Parent:findFirstChild("HitDeb") then
- can = true
- end
- if can == true then
- local sls = getSound(220834020)
- sls.Pitch = 1 + math.random(3) / 10
- sls.Parent = v
- sls:Play()
- local db = Instance.new("StringValue", v.Parent)
- db.Name = "HitDeb"
- game.Debris:AddItem(db, 0.5)
- dealDamage(v.Parent, 20 + math.random(20000), 20000, critmultiplier)
- end
- end
- end)
- Tween(rj, cfn(0, 0, 0) * ang(mr(0), mr(90), 0))
- Tween(rw, cfn(0.5, 0.8, 0) * ang(mr(-80), mr(-35), 0))
- Tween(lw, cfn(-0.5, 0.8, 0) * ang(mr(-90), mr(35), 0))
- wait(0.2)
- hitbox:Destroy()
- hum.WalkSpeed = oldspeed
- reset()
- animPlaying = false
- canRunLeg = false
- deb = false
- end, 80)
- addMove("darkspikes", "t", 0.4, function()
- local lv = tor.CFrame
- tweenTable = {}
- animPlaying = true
- deb = true
- canRunLeg = true
- magictone1:Play()
- Tween(rj, cfn() * ang(0, mr(25), 0), 0.2)
- Tween(rw, cfn() * ang(mr(25), mr(-20), 0), 0.2)
- wait(0.2)
- Tween(rj, cfn() * ang(0, mr(-55), 0), 0.15)
- Tween(rw, cfn() * ang(mr(-115), mr(45), 0), 0.15)
- Tween(neck, cfn() * ang(0, mr(55), 0))
- local spot = 4
- for i = 1, 10 do
- wait(0.1)
- do
- local v = lv.lookVector * spot
- spot = spot + 14
- local spike = cp(tube, "Really black", Vector3.new(10, 1, 10), true, false)
- spike.CFrame = lv * CFrame.new(0, 0, -spot)
- local dam = cp(tube, "Really black", Vector3.new(7, 10, 7), true, false)
- local dml = cyl(dam)
- local angls = CFrame.Angles(spike.CFrame:toEulerAnglesXYZ())
- local bhit, pos = FindGround(cn(spike.CFrame.p), ch)
- if bhit then
- spike.CFrame = pos * CFrame.new(0, 0, 0)
- do
- local mgp = cp(tube, "White", Vector3.new(1, 1, 1), true, false)
- mgp.Transparency = 1
- mgp.CFrame = spike.CFrame
- game.Debris:AddItem(mgp, 2)
- local sn = spexp:clone()
- sn.Parent = mgp
- sn.Volume = 2
- sn:Play()
- dam.CFrame = spike.CFrame * CFrame.new(0, 5, 0)
- local blast = dam
- local region = CreateRegion3FromLocAndSize(blast.Position, blast.Size * 2)
- local people = {}
- for _, v in pairs(workspace:findPartsInRegion3WithIgnoreList(region, {ch}, 100)) do
- if v and v.Parent and v.className == "Part" and v.Parent:findFirstChild("Humanoid") then
- local can = false
- if not v.Parent:findFirstChild("HitDeb") then
- can = true
- end
- if can == true then
- local db = Instance.new("StringValue", v.Parent)
- db.Name = "HitDeb"
- game.Debris:AddItem(db, 0.2)
- local humin = v.Parent.Humanoid
- if humin then
- local php = humin.Health
- dealDamage(humin.Parent, 10 + math.random(30000), 20000)
- local testvel = int("BodyVelocity", v)
- testvel.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- testvel.Velocity = lv.lookVector * 100
- game.Debris:addItem(testvel, 1)
- humin.Sit = true
- if php <= humin.Health and humin.MaxHealth ~= math.huge then
- print("equal")
- humin:TakeDamage(20000)
- end
- end
- end
- end
- end
- local cl = cyl(spike)
- addFx(spike, 0.05, "destroy", function()
- cl.Scale = cl.Scale - Vector3.new(0.05, 0, 0.05)
- spike.Transparency = spike.Transparency + 0.05
- end)
- addFx(dml, 0.05, "destroy", function()
- dml.Scale = dml.Scale - Vector3.new(0.05, -0.05, 0.05)
- dam.Transparency = dam.Transparency + 0.05
- end)
- end
- else
- spike:Destroy()
- end
- end
- end
- wait(0.7)
- deb = false
- canRunLeg = false
- animPlaying = false
- reset()
- end, 30)
- mouse.Button1Down:connect(function()
- executeMove("basic")
- end)
- local vt
- local dodgecool = false
- function iPart(tab)
- local v = Instance.new(tab.type or "Part")
- if tab.type ~= "CornerWedgePart" then
- v.formFactor = "Custom"
- end
- v.CanCollide = false
- v.TopSurface = 0
- v.BottomSurface = 0
- v.Size = v3(tab[2], tab[3], tab[4])
- if tab.co then
- v.BrickColor = bn(tab.co)
- end
- if tab.tr then
- v.Transparency = tab.tr
- end
- if tab.rf then
- v.Reflectance = tab.rf
- end
- if tab.cf then
- v.CFrame = tab.cf
- end
- if tab.an then
- v.Anchored = tab.an
- end
- v.Parent = tab[1]
- LastMade = v
- return v
- end
- function iNew(tab)
- local v = Instance.new(tab[1])
- for Ind, Val in pairs(tab) do
- if Ind ~= 1 and Ind ~= 2 then
- v[Ind] = Val
- end
- end
- v.Parent = tab[2] == 0 and LastMade or tab[2]
- LastMade = v
- return v
- end
- local ppart = iPart({
- nil,
- 0.2,
- 0.2,
- 0.2
- })
- ppart.Material = "SmoothPlastic"
- ppart.TopSurface = "SmoothNoOutlines"
- ppart.BottomSurface = "SmoothNoOutlines"
- ppart.RightSurface = "SmoothNoOutlines"
- ppart.LeftSurface = "SmoothNoOutlines"
- ppart.Transparency = 0
- ppart.Anchored = true
- local CFrameFromTopBack = function(at, top, back)
- local right = top:Cross(back)
- return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
- end
- function Triangle(a, b, c)
- local edg1 = (c - a):Dot((b - a).unit)
- local edg2 = (a - b):Dot((c - b).unit)
- local edg3 = (b - c):Dot((a - c).unit)
- if edg1 <= (b - a).magnitude and edg1 >= 0 then
- a, b = a, b
- elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
- a, b, c = b, c, a
- elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
- a, b, c = c, a, b
- else
- print("unreachable")
- end
- local len1 = (c - a):Dot((b - a).unit)
- local len2 = (b - a).magnitude - len1
- local width = (a + (b - a).unit * len1 - c).magnitude
- local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
- local list = {}
- if len1 > 0.01 then
- do
- local w1 = iNew({
- "WedgePart",
- Pack,
- FormFactor = "Custom",
- BrickColor = ppart.BrickColor,
- Transparency = ppart.Transparency,
- Reflectance = ppart.Reflectance,
- Material = ppart.Material,
- CanCollide = ppart.CanCollide
- })
- w1.Parent = tube
- local sz = v3(0.2, width, len1)
- w1.Size = sz
- local sp = iNew({
- "SpecialMesh",
- w1,
- MeshType = "Wedge",
- Scale = v3(0, 1, 1) * sz / w1.Size
- })
- w1:BreakJoints()
- w1.Anchored = true
- w1.Transparency = 0.7
- Spawn(function()
- for i = 0, 1, 0.1 do
- wait()
- w1.Transparency = w1.Transparency + 0.03
- end
- end)
- w1.CFrame = maincf * ca2(math.pi, 0, math.pi / 2) * cn(0, width / 2, len1 / 2)
- table.insert(list, w1)
- end
- end
- if len2 > 0.01 then
- do
- local w2 = iNew({
- "WedgePart",
- Pack,
- FormFactor = "Custom",
- BrickColor = ppart.BrickColor,
- Transparency = ppart.Transparency,
- Reflectance = ppart.Reflectance,
- Material = ppart.Material,
- CanCollide = ppart.CanCollide
- })
- local sz = v3(0.2, width, len2)
- w2.Size = sz
- local sp = iNew({
- "SpecialMesh",
- w2,
- MeshType = "Wedge",
- Scale = v3(0, 1, 1) * sz / w2.Size
- })
- w2:BreakJoints()
- w2.Anchored = true
- w2.Transparency = 0.7
- Spawn(function()
- for i = 0, 1, 0.1 do
- wait()
- w2.Transparency = w2.Transparency + 0.03
- end
- end)
- w2.CFrame = maincf * ca2(math.pi, math.pi, -math.pi / 2) * cn(0, width / 2, -len1 - len2 / 2)
- w2.Parent = tube
- table.insert(list, w2)
- end
- end
- return unpack(list)
- end
- bclf = ch["Right Arm"].CFrame
- scfr = bclf
- ca = CFrame.Angles
- cn = CFrame.new
- v3 = Vector3.new
- function Raycast(Pos, Dir, Ign)
- return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * 300), Ign)
- end
- function FindGround(cf, ig)
- local ax, ay, az = cf:toEulerAnglesXYZ()
- local bhit, bpos = Raycast(cf.p, cf.p - (cf.p + v3(0, 200, 0)), ig)
- if bhit and bpos then
- return bhit, cn(bpos) * ca(ax, ay, az)
- end
- end
- currentkey = ""
- mouse.KeyDown:connect(function(key)
- if key == "q" and currentkey == "32" and Vector3.new(0, tor.Velocity.Y, 0).magnitude > 2 then
- executeMove("downslam")
- elseif key == "r" and currentkey == "32" and Vector3.new(0, tor.Velocity.Y, 0).magnitude > 2 then
- executeMove("aerialsword")
- end
- if string.byte(key) == 32 and canExecuteMoves == true then
- combostring = combostring .. "."
- if combostring:match("..") and dodgecool == false then
- currentkey = tostring(string.byte(key))
- animPlaying = true
- altTween(rj, cfn() * ang(mr(-15), 0, 0))
- altTween(rw, cfn() * ang(mr(10), 0, mr(-15)))
- altTween(lw, cfn() * ang(mr(10), 0, mr(15)))
- dodgecool = true
- combostring = ""
- local rv = tor.CFrame.upVector
- local bv = int("BodyVelocity", tor)
- dodgesound:Play()
- bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv.Velocity = rv * 150
- spawn(function()
- for i = 1, 14 do
- wait()
- do
- local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
- cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
- local b = blo(cfx)
- addFx(cfx, 0.05, "destroy", function()
- cfx.Transparency = cfx.Transparency + 0.05
- b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- end
- end
- end)
- wait()
- bv:Destroy()
- wait(0.4)
- reset()
- dodgecool = false
- wait(0.4)
- if currentkey == "32" then
- currentkey = ""
- end
- if not deb then
- animPlaying = false
- end
- end
- end
- if key == "d" and canExecuteMoves == true then
- combostring = combostring .. "d"
- if combostring:match("dd") and dodgecool == false then
- dodgecool = true
- combostring = ""
- local rv = cam.CFrame.rightVector
- local bv = int("BodyVelocity", tor)
- dodgesound:Play()
- bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv.Velocity = rv * 150
- spawn(function()
- for i = 1, 16 do
- wait()
- do
- local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
- cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
- local b = blo(cfx)
- addFx(cfx, 0.05, "destroy", function()
- cfx.Transparency = cfx.Transparency + 0.05
- b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- end
- end
- end)
- wait()
- bv:Destroy()
- wait(0.4)
- dodgecool = false
- end
- elseif key == "w" and canExecuteMoves == true then
- combostring = combostring .. "w"
- if combostring:match("ww") and dodgecool == false then
- dodgecool = true
- combostring = ""
- local rv = cam.CFrame:vectorToWorldSpace(Vector3.new(0, 0, -1))
- local bv = int("BodyVelocity", tor)
- dodgesound:Play()
- bv.MaxForce = Vector3.new(math.huge, 0, math.huge)
- bv.Velocity = rv * 150
- spawn(function()
- for i = 1, 16 do
- wait()
- do
- local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
- cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
- local b = blo(cfx)
- addFx(cfx, 0.05, "destroy", function()
- cfx.Transparency = cfx.Transparency + 0.05
- b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- end
- end
- end)
- wait()
- bv:Destroy()
- wait(0.4)
- dodgecool = false
- end
- elseif key == "s" and canExecuteMoves == true then
- combostring = combostring .. "s"
- if combostring:match("ss") and dodgecool == false then
- dodgecool = true
- combostring = ""
- local rv = cam.CFrame:vectorToWorldSpace(Vector3.new(0, 0, 1))
- local bv = int("BodyVelocity", tor)
- dodgesound:Play()
- bv.MaxForce = Vector3.new(math.huge, 0, math.huge)
- bv.Velocity = rv * 150
- spawn(function()
- for i = 1, 16 do
- wait()
- do
- local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
- cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
- local b = blo(cfx)
- addFx(cfx, 0.05, "destroy", function()
- cfx.Transparency = cfx.Transparency + 0.05
- b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- end
- end
- end)
- wait()
- bv:Destroy()
- wait(0.4)
- dodgecool = false
- end
- elseif key == "a" and canExecuteMoves == true then
- combostring = combostring .. "a"
- if combostring:match("aa") and dodgecool == false then
- dodgecool = true
- combostring = ""
- local rv = cam.CFrame.rightVector
- local bv = int("BodyVelocity", tor)
- dodgesound:Play()
- bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv.Velocity = rv * -150
- spawn(function()
- for i = 1, 16 do
- wait()
- do
- local cfx = cp(tube, "Really black", Vector3.new(6, 6, 6), true, false)
- cfx.CFrame = tor.CFrame * CFrame.Angles(math.rad(math.random(90)), math.rad(math.random(90)), 0)
- local b = blo(cfx)
- addFx(cfx, 0.05, "destroy", function()
- cfx.Transparency = cfx.Transparency + 0.05
- b.Scale = b.Scale + Vector3.new(0.1, 0.1, 0.1)
- end)
- end
- end
- end)
- wait()
- bv:Destroy()
- wait(0.4)
- dodgecool = false
- end
- end
- if key == "f" then
- if deb == false then
- executeMove("block_normal")
- end
- elseif key == "e" then
- if deb == false then
- executeMove("beam")
- end
- elseif key == "t" then
- if deb == false then
- executeMove("darkspikes")
- end
- elseif key == "g" then
- if deb == false then
- executeMove("curse")
- end
- elseif key == "r" and deb == false and Vector3.new(0, tor.Velocity.Y, 0).magnitude < 2 and currentkey ~= "32" then
- executeMove("darkslash")
- end
- end)
- mouse.KeyUp:connect(function(key)
- for _, v in pairs(connectlist) do
- if v.up == false and v.key == key then
- v.up = true
- table.remove(connectlist, _)
- end
- end
- end)
- mouse.Button1Up:connect(function()
- for _, v in pairs(connectlist) do
- if v.up == false then
- v.up = true
- table.remove(connectlist, _)
- end
- end
- end)
- local oldsize = mana / maxmana
- local oldchain = 0
- spawn(function()
- while wait(1) do
- if deb == false then
- if chain == oldchain then
- chain = 0
- end
- oldchain = chain
- end
- end
- end)
- game:service("RunService").Stepped:connect(function()
- chaintext.Text = tostring(chain) .. "x"
- manabartext.Text = tostring(mana) .. "/" .. tostring(maxmana)
- if mana / maxmana ~= oldsize then
- manabar:TweenSize(UDim2.new(mana / maxmana, 0, 1, 0), "Out", "Sine", 1, true)
- oldsize = mana / maxmana
- end
- if dumbbox then
- dumbbox.CFrame = dumbhand.CFrame * cfn(0, 0, 4) * ang(mr(-90), 0, 0)
- end
- for _, v in pairs(textTable) do
- if 1 > v.TextLabel.TextTransparency then
- v.TextLabel.TextTransparency = v.TextLabel.TextTransparency + 0.02
- v.TextLabel.TextStrokeTransparency = v.TextLabel.TextStrokeTransparency + 0.02
- v.StudsOffset = v.StudsOffset + Vector3.new(0, 0.02, 0)
- else
- v:Destroy()
- table.remove(textTable, _)
- end
- end
- if Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude > 2 then
- run = true
- elseif Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude < 2 then
- run = false
- idle = true
- end
- if Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude > 2 and canRunLeg == true then
- runLeg = true
- elseif Vector3.new(tor.Velocity.X, 0, tor.Velocity.Z).magnitude < 2 and canRunLeg == true then
- runLeg = false
- resetLegs()
- end
- for _, v in pairs(movers) do
- if v.mover and v.mover:IsDescendantOf(tube) then
- v.func()
- else
- table.remove(movers, _)
- end
- end
- if bg and 0 < hum.Health then
- tor.CFrame = CFrame.new(tor.Position, Vector3.new(mouse.Hit.p.X, tor.Position.Y, mouse.Hit.p.Z))
- end
- for _, v in pairs(fx) do
- if 1 > v.stepval then
- v.func()
- v.stepval = v.stepval + v.int
- elseif v.final then
- if v.final == "destroy" then
- v.item:Destroy()
- table.remove(fx, _)
- end
- else
- table.remove(fx, _)
- end
- end
- for _, v in pairs(tweenTable) do
- if v.Weld.C1 == v.Stop then
- table.remove(tweenTable, _)
- elseif v.th < 1 - v.Step then
- v.th = v.th + v.Step
- i = v.th
- v.Weld.C1 = v.Weld.C1:lerp(CFrame.new(v.Start.p.X * (1 - i) + v.Stop.p.X * i, v.Start.p.Y * (1 - i) + v.Stop.p.Y * i, v.Start.p.Z * (1 - i) + v.Stop.p.Z * i) * CFrame.fromEulerAnglesXYZ(v.X1 * (1 - i) + v.X2 * i, v.Y1 * (1 - i) + v.Y2 * i, v.Z1 * (1 - i) + v.Z2 * i), 1)
- else
- v.Weld.C1 = v.Stop
- end
- end
- for _, v in pairs(altTweenTable) do
- if v.Weld.C1 == v.Stop then
- table.remove(tweenTable, _)
- elseif v.th < 1 - v.Step then
- v.th = v.th + v.Step
- i = v.th
- v.Weld.C1 = v.Weld.C1:lerp(CFrame.new(v.Start.p.X * (1 - i) + v.Stop.p.X * i, v.Start.p.Y * (1 - i) + v.Stop.p.Y * i, v.Start.p.Z * (1 - i) + v.Stop.p.Z * i) * CFrame.fromEulerAnglesXYZ(v.X1 * (1 - i) + v.X2 * i, v.Y1 * (1 - i) + v.Y2 * i, v.Z1 * (1 - i) + v.Z2 * i), 1)
- else
- v.Weld.C1 = v.Stop
- end
- end
- end)
- local oldcombo
- local thingz = false
- spawn(function()
- while wait(0.1) do
- for _, v in pairs(cooldowns) do
- if 0.1 > v.timeleft then
- table.remove(cooldowns, _)
- else
- v.timeleft = v.timeleft - 0.1
- end
- end
- end
- end)
- spawn(function()
- while wait(0.1) do
- if thingz == false then
- oldcombo = combostring
- thingz = true
- else
- if string.len(oldcombo) == string.len(combostring) then
- combostring = ""
- oldcombo = ""
- end
- thingz = false
- end
- end
- end)
- while wait() do
- if mana < maxmana and not deb and not animPlaying then
- mana = mana + 2
- if mana == maxmana + 1 then
- mana = maxmana
- end
- end
- if animPlaying == true and runLeg == true then
- walkLegs()
- end
- if run == true and animPlaying == false then
- altTweenTable = {}
- tweenTable = {}
- walkCycle()
- elseif idle == true and animPlaying == false then
- tweenTable = {}
- reset()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement