Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Script Made By Huge_Nazo
- -- Converted By Huge_Nazo
- -- Help from, turbozester55, GeoMaster, and Vediiz
- -- If you stole or logged me or plan to use this without hugenazo's consent, please just say that hugenazo at least made this so they can know that im cool guy
- --[[
- __ __ .__
- / \ / \_____ ______________|__| ___________
- \ \/\/ /\__ \\_ __ \_ __ \ |/ _ \_ __ \
- \ / / __ \| | \/| | \/ ( <_> ) | \/
- \__/\ / (____ /__| |__| |__|\____/|__|
- \/ \/
- ___. .__
- \_ |__ ___.__. | |__ __ __ ____ ____ ____ _____ ____________
- | __ < | | | | \| | \/ ___\_/ __ \ / \\__ \ \___ / _ \
- | \_\ \___ | | Y \ | / /_/ > ___/| | \/ __ \_/ ( <_> )
- |___ / ____| |___| /____/\___ / \___ >___| (____ /_____ \____/
- \/\/ \/ /_____/ \/ \/ \/ \/
- --]]
- -- this script is also pretty edibale and stuff and pretty simple but
- -- still though just rember its made by hugenazo
- local plr = game.Players.LocalPlayer; repeat wait() until plr.Character
- local char = plr.Character
- local hume = char:WaitForChild("Humanoid")
- local animS = char:WaitForChild("Animate")
- local mouse = plr:GetMouse()
- --
- local head = char:WaitForChild("Head")
- local tors = char:WaitForChild("Torso")
- local rarm = char:WaitForChild("Right Arm")
- local larm = char:WaitForChild("Left Arm")
- local rleg = char:WaitForChild("Right Leg")
- local lleg = char:WaitForChild("Left Leg")
- local hrp = char:WaitForChild("HumanoidRootPart")
- --
- local hw = tors:WaitForChild("Neck")
- local tw = hrp:WaitForChild("RootJoint")
- local raw = tors:WaitForChild("Right Shoulder")
- local law = tors:WaitForChild("Left Shoulder")
- local rlw = tors:WaitForChild("Right Hip")
- local llw = tors:WaitForChild("Left Hip")
- -- Globals --
- local i_n = Instance.new
- local v3 = Vector3.new
- local cfn = CFrame.new
- local cfa = CFrame.Angles
- local cfe = CFrame.fromEulerAnglesXYZ
- local bcn = BrickColor.new
- local c3 = Color3.new
- local ud2 = UDim2.new
- function newC3(r, g, b)
- return c3(r/255, g/255, b/255)
- end
- function newPart(p, name, x, y, z, col, trans, ref, anc, cc, prnt)
- local part = i_n("Part", p)
- part.Name = name
- part.Size = v3(x, y, z)
- part.BrickColor = col
- part.Transparency = trans
- part.Reflectance = ref
- part.Anchored = anc
- part.CanCollide = cc
- part.Parent = prnt
- return part
- end
- function newWeld(a, b, c0, c1)
- local w = i_n("ManualWeld", a)
- w.Part0 = a; w.Part1 = b
- if c0 then w.C0 = c0 end
- if c1 then w.C1 = c1 end
- return w
- end
- function newAnim(id)
- local anim = i_n("Animation")
- anim.AnimationId = "http://www.roblox.com/asset/?id="..id
- anim = hume:LoadAnimation(anim)
- return anim
- end
- function newSound(id, p, vol, pit, loop, por)
- local s = i_n("Sound", p)
- s.SoundId = "rbxassetid://"..id
- s.Volume = vol; s.Pitch = pit
- s.Looped = loop; s.PlayOnRemove = por
- return s
- end
- -- Global Variables --
- local ogdefWS = 16
- local defWS = 16
- local bdmg = 20
- local combostep = 1
- local combowait = 2
- local combotime = tick()
- local equipped = false
- local active = false
- local running = false
- local jumping = false
- local lwoverride = false
- local softoverride = false
- local wsoverride = false
- local pausedanims = {}
- local bAttacks = {}
- local bAbilities = {}
- local abilities = {
- {["name"] = "Guard",
- ["cd"] = 6,
- ["ccd"] = 0,
- ["key"] = "E",
- ["ready"] = true,
- },
- {["name"] = "Upper-cutter",
- ["cd"] = 12,
- ["ccd"] = 0,
- ["key"] = "Z",
- ["ready"] = true,
- },
- {["name"] = "Bash",
- ["cd"] = 7,
- ["ccd"] = 0,
- ["key"] = "X",
- ["ready"] = true,
- },
- {["name"] = "Enrage",
- ["cd"] = 17,
- ["ccd"] = 0,
- ["key"] = "C",
- ["ready"] = true,
- },
- {["name"] = "Piercing Lunge",
- ["cd"] = 35,
- ["ccd"] = 0,
- ["key"] = "V",
- ["ready"] = true,
- }
- }
- ----- Instances ------
- local bdmg = i_n("NumberValue", script);bdmg.Value = 10
- local atkspd = i_n("NumberValue", script);atkspd.Value = 1
- local atkrange = i_n("NumberValue", script);atkrange.Value = 3
- local critc = i_n("NumberValue", script);critc.Value = 25
- local cancastab = i_n("BoolValue", script);cancastab.Name = "CanCastAbilities";cancastab.Value = true
- local rage = Instance.new("ParticleEmitter", script)
- rage.Name = "rage"
- rage.Rate = (60)
- rage.Speed = NumberRange.new(0,0)
- rage.VelocitySpread = (0)
- rage.Transparency = NumberSequence.new(1,.2)
- rage.LightEmission = (1)
- rage.Acceleration = v3(0,50,0)
- rage.Lifetime = NumberRange.new(.145,.145)
- rage.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,4),NumberSequenceKeypoint.new(1,5)})
- rage.Texture = "rbxassetid://347730682"
- rage.Rotation = NumberRange.new(-15,15)
- rage.RotSpeed = NumberRange.new(-25,25)
- local color1 = Color3.new(1,0.3,0.015)
- local color2 = Color3.new(1,0,0)
- rage.Color = ColorSequence.new(color1,color2)
- rage.Enabled = false
- local ragelight = i_n("PointLight", script)
- ragelight.Name = "ragelight"
- ragelight.Color = c3(1,.02,0)
- ragelight.Brightness = 2
- ragelight.Range = 8
- ragelight.Shadows = true
- ragelight.Enabled = false
- local Electricity = Instance.new("ParticleEmitter", script)
- Electricity.Name = "Electricity"
- Electricity.Rate = (80)
- Electricity.Speed = NumberRange.new(0,0)
- Electricity.VelocitySpread = (0)
- Electricity.Transparency = NumberSequence.new(0,0)
- Electricity.LightEmission = (1)
- Electricity.Lifetime = NumberRange.new(0.075,0.075)
- Electricity.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,1.15)})
- Electricity.Texture = "rbxassetid://347730682"
- Electricity.Rotation = NumberRange.new(-360,360)
- Electricity.RotSpeed = NumberRange.new(-25,25)
- local color1 = Color3.new(1,.8,0.1)
- local color2 = Color3.new(1,.8,0.1)
- Electricity.Color = ColorSequence.new(color1,color2)
- Electricity.Enabled = false
- local dfunc = {
- function(hitHumanoid, damage, owner, crit)
- if hitHumanoid == owner then return end
- local debris = game:GetService("Debris")
- local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=hitHumanoid.Parent.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
- local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
- local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
- -- ========================================================================================
- if damage <= -1 then -- player is being healed
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
- t.Text = "+"..( math.abs( math.floor((damage))).."")
- t.TextColor3=BrickColor.new("Lime green").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://535405197"
- s.Volume = 1
- s.Pitch = 1.15
- s:Play()
- hitHumanoid:TakeDamage(damage)
- debris:AddItem(s,1)
- debris:AddItem(p,1.45)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- elseif hitHumanoid.Parent:FindFirstChild("ForceField") ~= nil or hitHumanoid.Parent:FindFirstChild("Blocking") then -- player is blocking attack or has forcefield
- t:TweenPosition(UDim2.new(0,0,-0.1,0),'Out','Sine',2)
- t.Text = "Blocked!"
- t.TextColor3=BrickColor.new("Really blue").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- g.Size=UDim2.new(25,0,25,0)
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://135436314"
- s.Volume = 0.25
- s.Pitch = 0.825
- s:Play()
- debris:AddItem(s,1)
- debris:AddItem(p,.95)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- elseif damage <= 0 or hitHumanoid.Parent:FindFirstChild("Dodging") then -- player takes 0 damage therefore dodging the attack
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
- t.Text = "Dodge!"
- t.TextColor3=BrickColor.new("Ghost grey").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxasset://sounds/swoosh.wav"
- s.Volume = 1
- s.Pitch = 2
- s:Play()
- debris:AddItem(s,1)
- debris:AddItem(p,.85)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- elseif crit then -- player dealt critical strike
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
- t.Text = "-"..( math.abs( math.floor((damage))).."!")
- t.TextColor3=BrickColor.new("Deep orange").Color
- t.TextStrokeColor3=BrickColor.new("Maroon").Color
- t.ZIndex=3
- local a=Instance.new("ImageLabel", t)
- a.Size = UDim2.new(1,0,1,0)
- a.BackgroundTransparency = 1
- a.Image = "rbxassetid://649624738"
- a.ImageColor3 = BrickColor.new("Deep orange").Color
- a.ZIndex=2
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://488886309"
- s.Volume = 1
- s.Pitch = 2.35
- s:Play()
- hitHumanoid:TakeDamage(damage)
- debris:AddItem(s,1)
- debris:AddItem(p,.85)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;a.ImageTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- elseif hitHumanoid.Parent:FindFirstChild("ArmorBroken") then -- player dealt more damage to this unit (double damage)
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
- t.Text = "-"..( math.abs( math.floor((damage*2))).."!")
- t.TextColor3=BrickColor.new("Royal purple").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- t.ZIndex=2
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://488886309"
- s.Volume = 1
- s.Pitch = 2
- s:Play()
- hitHumanoid:TakeDamage(damage*2)
- debris:AddItem(s,1)
- debris:AddItem(p,.85)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- elseif hitHumanoid.Parent:FindFirstChild("GuardUp") then -- player is taking less damage (gets dealt less)
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
- t.Text = "-"..( math.abs( math.floor((damage/2))).."")
- t.TextColor3=BrickColor.new("Bright blue").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- t.ZIndex=2
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://199149338"
- s.Volume = 1
- s.Pitch = 1.1
- s:Play()
- hitHumanoid:TakeDamage(damage/2)
- debris:AddItem(s,1)
- debris:AddItem(p,.85)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- elseif damage >= (hitHumanoid.MaxHealth * .25) then -- player dealt high amount of damage
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1)
- t.Text = "-"..( math.abs( math.floor((damage))).." !")
- t.TextColor3=BrickColor.new("Really red").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://199149137"
- s.Volume = 0.5
- s.Pitch = 1.25
- s:Play()
- hitHumanoid:TakeDamage(damage)
- debris:AddItem(s,1)
- debris:AddItem(p,1)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- -- ========================================================================================
- -- ========================================================================================
- else -- player takes normal damage
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
- t.Text = "-"..( math.abs( math.floor((damage))))
- t.TextColor3=BrickColor.new("Bright yellow").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
- s.SoundId="rbxassetid://199149137"
- s.Volume = 0.5
- s.Pitch = 1
- s:Play()
- hitHumanoid:TakeDamage(damage)
- debris:AddItem(s,1)
- debris:AddItem(p,.95)
- spawn(function()for i = 0,1,.2 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- end
- end
- }
- local weapon = i_n("Model", char);weapon.Name = "Weapon"
- local handl = newPart(i_n("Part"),"Handle",0.51, 1.36, 0.51,BrickColor.new("Brown"), 0, 0, false, false, weapon)
- local newmesh = i_n("CylinderMesh",handl)
- handl.CFrame = cfn(-4.4, 1.02, 4.4)
- local pommel = newPart(i_n("Part"),"Pommel",0.34, 0.34, 0.51,BrickColor.new("Gold"), 0, 0, false, false, weapon)
- local newmesh = i_n("SpecialMesh",pommel);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
- pommel.CFrame = cfn(-4.4, 0.17, 4.4)
- pommel.Rotation = v3(180, 90, 0)
- local bladetip = newPart(i_n("Part"),"BladeTip",0.2, 0.2, 0.85,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
- local newmesh = i_n("SpecialMesh",bladetip);newmesh.MeshType = "FileMesh";newmesh.MeshId = "http://www.roblox.com/Asset/?id=9756362" ;newmesh.Scale = v3(0.235, 1.7, 0.604)
- bladetip.CFrame = cfn(-4.4, 5.44, 4.4)
- local grip = newPart(i_n("Part"),"Grip",0.51, 1.19, 0.51,BrickColor.new("Dirt brown"), 0, 0, false, false, weapon)
- local newmesh = i_n("SpecialMesh",grip);newmesh.MeshType = "Head"; newmesh.Scale = v3(1.2,1,1.2)
- grip.CFrame = cfn(-4.4, 1.02, 4.4)
- local frontblade = newPart(i_n("Part"),"Blade",0.85, 0.17, 3.4,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
- local newmesh = i_n("SpecialMesh",frontblade);newmesh.MeshType = "Torso"
- frontblade.CFrame = cfn(-4.315, 3.74, 4.4)
- frontblade.Rotation = v3(-90, 0, -90)
- local backblade = newPart(i_n("Part"),"Part",0.85, 0.17, 3.4,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
- local newmesh = i_n("SpecialMesh",backblade);newmesh.MeshType = "Torso"
- backblade.CFrame = cfn(-4.485, 3.74, 4.4)
- backblade.Rotation = v3(-90, 0, 90)
- local hilt1 = newPart(i_n("Part"),"Part",0.68, 0.34, 0.51,BrickColor.new("Gold"), 0, 0, false, false, weapon)
- local newmesh = i_n("SpecialMesh",hilt1);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
- hilt1.CFrame = cfn(-4.4, 1.87, 4.4)
- hilt1.Rotation = v3(180,90, 0)
- local hilt2 = newPart(i_n("Part"),"Part",1.02, 0.2, 0.37,BrickColor.new("Gold"), 0, 0, false, false, weapon)
- local newmesh = i_n("SpecialMesh",hilt2);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
- hilt2.CFrame = cfn(-4.4, 1.87, 4.4)
- hilt2.Rotation = v3(180, 90, 0)
- function weld(x, y)
- if x == y then return end
- local CJ = CFrame.new(x.Position)
- local w = Instance.new("ManualWeld")
- w.Part0 = x
- w.Part1 = y
- w.C0 = x.CFrame:inverse() * CJ
- w.C1 = y.CFrame:inverse() * CJ
- w.Parent = x
- return w
- end
- local model = weapon
- for _,v in pairs(model:GetChildren()) do
- if v:IsA("BasePart") then
- weld(model.Handle, v)
- end end
- local handle = weapon:WaitForChild("Handle")
- local idletrack = newAnim(180435571)
- ----- New Instances ------
- local backweld = newWeld(tors, handle)
- backweld.C0 = cfn(1.5, 1.5, .5) * cfa(0, math.rad(90), 0) * cfa(math.rad(-135), 0, 0)
- local grip = newWeld(rarm, nil, cfn(0, -.7, 0) * cfa(math.rad(-90), 0, 0))
- local equipS = newSound(211059653, handle, 1, 1, false, false)
- local uneqS = newSound(166196557, handle, 1, 1, false, false)
- local slash1 = newSound(199145841, handle, 1, 1, false, false)
- local slash2 = newSound(199145841, handle, 1, 1.2, false, false)
- local slash3 = newSound(356422588, handle, 1, 1, false, false)
- local slash3 = newSound(356422588, handle, 1, 1.2, false, false)
- local skill1 = newSound(231917758, handle, 1, .85, false, false)
- local skill2 = newSound(2767090, handle, 1, .85, false, false)
- local skill3 = newSound(662614920,handle,1,1,false,false)
- local skill4 = newSound(2101137,handle,1,.45,false,false)
- local skill42 = newSound(540358153,handle,1,.7,false,false)
- ----- Animation Defaults ------
- local stand = {
- ["head"] = hw.C0,
- ["tors"] = tw.C1,
- ["rarm"] = raw.C0,
- ["larm"] = law.C0,
- ["rleg"] = rlw.C0,
- ["lleg"] = llw.C0,
- ["grip0"] = grip.C0,
- ["grip1"] = grip.C1
- }
- local neutral = {
- ["head"] = stand.head * cfa(0, 0, math.rad(-10)),
- ["tors"] = stand.tors * cfa(0, 0, math.rad(-10)),
- ["rarm"] = stand.rarm * cfa(math.rad(-15), math.rad(-25), math.rad(-5)),
- ["larm"] = stand.larm * cfa(math.rad(-10), 0, 0),
- ["rleg"] = stand.rleg * cfa(0, math.rad(-24), 0),
- ["lleg"] = stand.lleg * cfa(0, math.rad(8), 0),
- ["grip0"] = stand.grip0,
- ["grip1"] = stand.grip1
- }
- local run = {
- ["head"] = stand.head * cfa(math.rad(8), 0, 0),
- ["tors"] = stand.tors,
- ["rarm"] = stand.rarm * cfa(math.rad(-20), math.rad(-15), math.rad(-5)),
- ["larm"] = stand.larm * cfa(math.rad(-15), math.rad(-10), math.rad(-5)),
- ["rleg"] = stand.rleg,
- ["lleg"] = stand.lleg,
- ["grip0"] = stand.grip0,
- ["grip1"] = stand.grip1 * cfa(math.rad(15), 0, 0)
- }
- local jump = {
- ["head"] = stand.head * cfa(math.rad(-15), 0, 0),
- ["tors"] = stand.tors,
- ["rarm"] = stand.rarm * cfa(0, 0, math.rad(60)),
- ["larm"] = stand.larm * cfa(math.rad(-24), 0, 0),
- ["rleg"] = stand.rleg * cfn(.5, 0, 0) * cfa(0, 0, math.rad(-15)),
- ["lleg"] = stand.lleg * cfn(-1, 1, 0) * cfa(0, 0, math.rad(15)),
- ["grip0"] = stand.grip0,
- ["grip1"] = stand.grip1
- }
- local fall = {
- ["head"] = stand.head * cfa(math.rad(15), 0, 0),
- ["tors"] = stand.tors,
- ["rarm"] = stand.rarm * cfn(0, -.5, .2) * cfa(math.rad(-70), 0, 0),
- ["larm"] = stand.larm * cfn(0, -.5, .2) * cfa(math.rad(-70), 0, 0),
- ["rleg"] = stand.rleg * cfa(0, 0, math.rad(9)),
- ["lleg"] = stand.lleg * cfn(-1, 1, 0) * cfa(0, 0, math.rad(15)),
- ["grip0"] = stand.grip0,
- ["grip1"] = stand.grip1
- }
- local stunned = {
- ["head"] = stand.head,
- ["tors"] = stand.tors * cfn(0, -2.25, 0) *cfa(math.rad(90),0,0),
- ["rarm"] = stand.rarm * cfn(0, -.5, .2) * cfa(math.rad(-40), 0, 0),
- ["larm"] = stand.larm * cfn(0, -.5, .2) * cfa(math.rad(-40), 0, 0),
- ["rleg"] = stand.rleg * cfa(math.rad(-15), 0, 0),
- ["lleg"] = stand.lleg * cfa( math.rad(-15), 0, 0),
- ["grip0"] = stand.grip0,
- ["grip1"] = stand.grip1 * cfa(math.rad(90),0,0)
- }
- ------ Primary Functions ------
- ArtificialHB = Instance.new("BindableEvent", script)
- ArtificialHB.Name = "Heartbeat"
- script:WaitForChild("Heartbeat")
- --credit to saz/nym for this pacemaker
- frame = 1 / 60
- tf = 0
- allowframeloss = false
- tossremainder = false
- lastframe = tick()
- script.Heartbeat:Fire()
- game:GetService("RunService").Heartbeat:connect(function(s, p)
- tf = tf + s
- if tf >= frame then
- if allowframeloss then
- script.Heartbeat:Fire()
- lastframe = tick()
- else
- for i = 1, math.floor(tf / frame) do
- script.Heartbeat:Fire()
- end
- lastframe = tick()
- end
- if tossremainder then
- tf = 0
- else
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- end)
- function swait(num)
- if num == 0 or num == nil then
- ArtificialHB.Event:wait()
- else
- for i = 0, num do
- ArtificialHB.Event:wait()
- end
- end
- end
- function stopAnims()
- pausedanims = {}
- for _,v in pairs(hume:GetPlayingAnimationTracks()) do v:Stop()
- table.insert(pausedanims, v)
- end end
- function resumeAnims()
- for _,v in pairs(pausedanims) do v:Play()
- end end
- function resetJoints()
- hw.C0 = stand.head; tw.C1 = stand.tors
- raw.C0 = stand.rarm; law.C0 = stand.larm
- rlw.C0 = stand.rleg; llw.C0 = stand.lleg
- grip.C0 = stand.grip0; grip.C1 = stand.grip1
- end
- function equip()
- local t = 15
- animS.Disabled = true; stopAnims()
- resetJoints()
- for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, 0, math.rad(172)), (i/t)/2)
- law.C0 = law.C0:lerp(neutral.larm, i/t)
- hw.C0 = hw.C0:lerp(neutral.head, i/t)
- tw.C1 = tw.C1:lerp(neutral.tors, i/t)
- end
- backweld.Part1 = nil; grip.Part1 = handle
- idletrack:Play(); equipS:Play()
- end
- function unequip()
- local t = 15
- lwoverride = true
- for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, 0, math.rad(172)), (i/t)/2)
- law.C0 = law.C0:lerp(stand.larm, i/t)
- hw.C0 = hw.C0:lerp(stand.head, i/t)
- tw.C1 = tw.C1:lerp(stand.tors, i/t)
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg, i/t)
- end
- uneqS:Play()
- grip.Part1 = nil; backweld.Part1 = handle
- idletrack:Stop(); animS.Disabled = false
- resetJoints(); resumeAnims()
- lwoverride = false
- end
- function checkPartMag(list, range)
- local targets = {}
- for _,v in pairs(list) do
- for _,x in pairs(workspace:GetChildren()) do
- local vhume = x:FindFirstChild("Humanoid")
- if vhume and vhume:IsA("Humanoid") then
- for _,y in pairs(x:GetChildren()) do
- if y:IsA("BasePart") and (v.Position - y.Position).magnitude <= range
- then table.insert(targets, x); break end
- end end end end
- return targets
- end
- function checkPartMag2(list, range)
- local targets = {}
- for _,v in pairs(list) do
- for _,x in pairs(workspace:GetChildren()) do
- local vhume = x:FindFirstChild("Humanoid")
- if vhume and vhume:IsA("Humanoid") then
- for _,y in pairs(x:GetChildren()) do
- if y:IsA("BasePart") and (v.Position - y.Position).magnitude <= range
- then table.insert(targets, x); break end
- end end end end
- return targets
- end
- function checkPosMag(pos, range)
- local targets = {}
- for _,x in pairs(workspace:GetChildren()) do
- local vhume = x:FindFirstChild("Humanoid")
- if vhume and vhume:IsA("Humanoid") then
- for _,y in pairs(x:GetChildren()) do
- if y:IsA("BasePart") and (pos - y.Position).magnitude <= range
- then table.insert(targets, x)
- print(x.Name) end
- end end end
- return targets
- end
- function rollTheDice(chance, min, max)
- local gen = math.random(min, max)
- return gen <= chance
- end
- function strike(targ, dmg, critchance)
- local moddmg = math.floor(dmg)
- local crit = false
- if targ == char then return end
- local vhume = targ:FindFirstChild("Humanoid")
- if vhume and vhume:IsA("Humanoid") then
- moddmg = math.ceil(moddmg * (math.random(75, 150)/100))
- if rollTheDice(critchance, 1, 100) then
- moddmg = moddmg * 2; crit = true
- end
- dfunc[1](vhume, moddmg, hume, crit)
- end end
- function cooldown(num)
- local ab = abilities[num]
- local now = tick()
- spawn(function()
- ab.ready = false
- ab.ccd = ab.cd
- while ab.ccd > 0 do swait()
- repeat swait() until (tick()-now) >= 1
- or ab.ccd <= 0
- if ab.ccd > 0 then ab.ccd = ab.ccd - 1; now = tick()
- else break
- end end
- ab.ready = true
- end)
- end
- function attack()
- if combostep >= #bAttacks then combostep = 1
- else combostep = combostep + 1 end
- combotime = tick(); bAttacks[combostep]()
- softoverride = false; lwoverride = false
- wsoverride = false; hume.WalkSpeed = defWS
- end
- function cast(num)
- local ab = abilities[num]
- local func = bAbilities[num]
- if ab.ready and func then
- cooldown(num); func()
- end end
- function knockback(targ, power, time)
- local vtors = targ:FindFirstChild("Torso")
- if vtors and vtors.Parent then
- local bv = i_n("BodyVelocity", vtors)
- bv.MaxForce = v3(math.huge,math.huge,math.huge)
- bv.Velocity = vtors.CFrame.lookVector * power
- game:GetService("Debris"):AddItem(bv, time)
- end end
- function checkStatus(targ, status)
- local val = targ:FindFirstChild(status)
- if val and val:IsA("BoolValue") then
- return true
- else return false
- end end
- function canMove()
- if checkStatus(char, "Stun")
- or checkStatus(char, "Knockback")
- then return true
- else return false
- end end
- -- Basic Attacks --
- bAttacks = {
- ------------------
- function()
- local t = math.ceil(15/atkspd.Value)
- local hitdb = {}
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(12)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(24)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, .5, 0) * cfa(math.rad(15), 0, math.rad(172)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfa(0, math.rad(-30), math.rad(-70)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- end
- if not active or checkStatus(char, "Stun") then break end
- end
- if active then t = math.ceil(10/atkspd.Value); slash1:Play()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-12)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-24)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1) * cfa(math.rad(30), 0, math.rad(45)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-45), 0, math.rad(30)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(80), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0) * cfa(0, math.rad(-24), 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(15)), i/t)
- end
- for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
- if not hitdb[v] then hitdb[v] = true
- strike(v, bdmg.Value, critc.Value)
- end end
- if not active or checkStatus(char, "Stun") then break end
- end end
- end,
- ------------------
- function()
- local t = math.ceil(15/atkspd.Value)
- local hitdb = {}
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-22)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-45)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1.8) * cfa(math.rad(-90), 0, math.rad(135)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), 0, math.rad(-30)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
- end
- if not active then break end
- end
- if active then t = math.ceil(10/atkspd.Value); slash2:Play()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(15)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(30)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, -.5, .5) * cfa(math.rad(-90), 0, 0), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, .2) * cfa(math.rad(-80), 0, math.rad(-15)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, math.rad(-30), 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(30), 0), i/t)
- end
- for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
- if not hitdb[v] then hitdb[v] = true
- strike(v, bdmg.Value, critc.Value)
- end end
- if not active then break end
- end end
- end,
- ------------------
- function()
- local t = math.ceil(15/atkspd.Value)
- local hitdb = {}
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(60)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(70)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-30), math.rad(50), math.rad(-30)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, -1.5) * cfa(math.rad(80), 0, math.rad(-30)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(-30)), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfn(-.8, 0, 0), i/t)
- end
- if not active then break end
- end
- if active then t = math.ceil(10/atkspd.Value); slash2:Play()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head, i/t)
- tw.C1 = tw.C1:lerp(stand.tors, i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -.5) * cfa(0, 0, math.rad(90)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(-.8, 0, -1.6) * cfa(0, math.rad(-30), math.rad(-90)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
- end
- for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
- if not hitdb[v] then hitdb[v] = true
- strike(v, bdmg.Value, critc.Value)
- end end
- if not active then break end
- end end
- end,
- ------------------
- function()
- local t = math.ceil(10/atkspd.Value)
- local hitdb = {}
- lwoverride = true
- wsoverride = true
- hume.WalkSpeed = 0
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-22)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-45)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1.8) * cfa(math.rad(-90), 0, math.rad(135)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), 0, math.rad(-30)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(1, 1, 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg, i/t)
- if not active or checkStatus(char, "Stun") then break end
- end
- if active then t = math.ceil(40/atkspd.Value); slash3:Play()
- local angle = 0
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(15)), i/t)
- tw.C1 = stand.tors * cfa(0, 0, math.rad(750 * (i/t)))
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, -.5, .5) * cfa(math.rad(-90), 0, 0), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, .2) * cfa(math.rad(-80), 0, math.rad(-15)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(1, 1, 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg, i/t)
- hrp.Velocity = hrp.CFrame.lookVector * 30
- angle = angle + (750/t)
- if angle >= 330 and i~=t then slash3:Play(); angle = 0
- end
- for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
- if not hitdb[v] then hitdb[v] = true; strike(v, bdmg.Value, critc.Value)
- spawn(function() wait(.15); hitdb[v] = false end)
- end end
- if not active then break end
- end end
- end,
- ------------------
- }
- -- Abilities --
- bAbilities = {
- function(E)
- local t = 90
- local b= i_n("BoolValue",char);b.Name="Blocking";game:GetService("Debris"):AddItem(b,1.65)
- defWS = 8
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(17),0,0), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-15),0,math.rad(90)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(-.3,-0.25,-1.95) * cfa(math.rad(45),math.rad(-40), math.rad(-80)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfn(0.25,0,0)* cfa(0,math.rad(90), math.rad(-110)), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- end
- if not active or checkStatus(char, "Stun") then break end
- end
- defWS = ogdefWS
- end,
- function(Z)
- local t = 10
- local hitdb = {}
- local exp = coroutine.wrap(function()
- local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Daisy orange"), 0.4, 0, true, false, workspace)
- local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(4,0.75,4);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
- Explosion.CFrame = char.HumanoidRootPart.CFrame * cfn(0,-1.25,0)* cfa(math.rad(-180),0,0)
- repeat
- Mesh.Scale = Mesh.Scale + v3(.75,.175,.75)
- Explosion.Transparency = Explosion.Transparency + .05
- swait()
- until Explosion.Transparency >= 1
- Explosion:Destroy()
- end)
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-15),0,0), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfn(0,-.1,0) * cfa(math.rad(-25),0,0), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, math.rad(21), math.rad(64)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(0,-.3,-1.45)* cfa(0, math.rad(-53), math.rad(-70)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-180), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- end
- if not active or checkStatus(char, "Stun") then break end
- end
- local t = 25
- defWS = 0
- lwoverride = true
- wsoverride = true
- skill1:Play()
- exp()
- local bv = i_n("BodyVelocity", char.HumanoidRootPart);bv.MaxForce=v3(math.huge,math.huge,math.huge);bv.Velocity=v3(0,95,0);game:GetService("Debris"):AddItem(bv,.075)
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-17),0,0), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, .5, 0) * cfa(0, math.rad(23), math.rad(172)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(0,0,-1.45)* cfa(0, math.rad(-53), math.rad(-143)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-180), 0, 0), i/t)
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- for _,v in pairs(checkPartMag({weapon.Blade}, 6)) do
- if not hitdb[v] then hitdb[v] = true
- strike(v, bdmg.Value + 5, 0)
- if v.Name~=plr.Name then
- local bv = i_n("BodyVelocity", v.Torso);bv.MaxForce=v3(math.huge,math.huge,math.huge);bv.Velocity=v3(0,85,0);game:GetService("Debris"):AddItem(bv,.1)
- end end end
- if not active or checkStatus(char, "Stun") then break end
- end
- defWS = ogdefWS
- end,
- function(X)
- local t = 15
- local hitdb = {}
- lwoverride = true
- wsoverride = true
- defWS = 0
- local exp = coroutine.wrap(function()
- local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Ghost grey"), .4, 0, true, false, workspace)
- local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(3,4,3);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
- Explosion.CFrame = char.HumanoidRootPart.CFrame * cfa(math.rad(45),0,0)
- local bv = i_n("BodyVelocity", hrp); bv.MaxForce = v3(math.huge,math.huge,math.huge);bv.Velocity = hrp.CFrame.lookVector * 60
- game:GetService("Debris"):AddItem(bv,.15)
- repeat
- Mesh.Scale = Mesh.Scale + v3(.75,.25,.75)
- Explosion.Transparency = Explosion.Transparency + .05
- swait()
- until Explosion.Transparency >= 1
- Explosion:Destroy()
- end)
- exp()
- skill2:Play()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(0, math.rad(-10), math.rad(-90)), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-90)), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(0,-0.35,0.45)* cfa(math.rad(-90),0,math.rad(90)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-45),0,0), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-12),0,0), i/t)
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(math.rad(12),0,0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(math.rad(-18),0,0), i/t)
- --[[if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- end
- --]]
- for _,v in pairs(checkPartMag({weapon.Pommel}, 3)) do
- if not hitdb[v] then hitdb[v] = true
- strike(v, bdmg.Value + 1.5, 0)
- if v.Name~=plr.Name then
- local bv =i_n("BoolValue", v);bv.Name = "ArmorBroken";game:GetService("Debris"):AddItem(bv,2)
- end
- end end
- if not active or checkStatus(char, "Stun") then break end
- end
- defWS = ogdefWS
- end,
- function(C)
- local t = 20
- local hitdb = {}
- local exp = coroutine.wrap(function()
- local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Bright red"), 0, 0, true, false, workspace)
- local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(3,4,3);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
- Explosion.CFrame = char.HumanoidRootPart.CFrame * cfn(0,-1.25,0)* cfa(0,0,0)
- repeat
- Mesh.Scale = Mesh.Scale + v3(.75,.25,.75)
- Explosion.Transparency = Explosion.Transparency + .05
- swait()
- until Explosion.Transparency >= 1
- Explosion:Destroy()
- end)
- local atkspdbuf = coroutine.wrap(function()
- atkspd.Value = atkspd.Value * 1.65
- critc.Value = critc.Value + 7.5
- local cln = script.rage:Clone()
- cln.Parent = char.Torso
- cln.Enabled = true
- local cln2 = script.ragelight:Clone()
- cln2.Parent = char.Torso
- cln2.Enabled = true
- defWS = defWS * 1.45
- wait(5.85)
- cln.Enabled = false
- wait(.15)
- cln:Destroy()
- cln2:Destroy()
- defWS = ogdefWS
- atkspd.Value = atkspd.Value / 1.65
- critc.Value = critc.Value - 7.5
- end)
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(12), 0, 0), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(30),math.rad(45),math.rad(90)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(30),math.rad(-45),math.rad(-90)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(0,0,0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- end
- if not active or checkStatus(char, "Stun") then break end
- end
- if active then skill3:Play();exp();atkspdbuf()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-2), 0, 0), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(-0.5,-0.5,0) * cfa(math.rad(30),math.rad(45),math.rad(120)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(0.5,-0.5,0) * cfa(math.rad(30),math.rad(-45),math.rad(-120)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(0,0,0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
- end
- if not active or checkStatus(char, "Stun") then break end
- end
- end
- end,
- function(V)
- lwoverride = true
- wsoverride = true
- defWS = 0
- local t = 120
- local hitdb = {}
- local Trail = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Institutional white"), 1, 0, true, false, workspace);game:GetService("Debris"):AddItem(Trail,3)
- local emitr = script.Electricity:Clone();emitr.Parent = weapon.Blade; emitr.Enabled = true; game:GetService("Debris"):AddItem(emitr,1.95)
- local bladtrail = coroutine.wrap(function()
- Trail.Material = "Neon"
- Trail.Size = v3(25, 0.5, 0.5)
- Trail.Transparency = 0
- local Mesh = i_n("SpecialMesh",Trail);Mesh.Scale=v3(1,1,1);Mesh.MeshType = "Sphere"
- Trail.CFrame = char.HumanoidRootPart.CFrame * cfn(0,0,0)* cfa(0,math.rad(90),0)
- local dumbtp = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Institutional white"), 1, 0, true, false, workspace);game:GetService("Debris"):AddItem(dumbtp,.1)
- dumbtp.CFrame = char.HumanoidRootPart.CFrame *cfn(0,0,-15)
- char.HumanoidRootPart.CFrame = dumbtp.CFrame
- repeat
- Trail.Size = Trail.Size + v3(.125,.025,.025)
- Trail.Transparency = Trail.Transparency + .025
- swait()
- until Trail.Transparency >= 1
- Trail:Destroy()
- end)
- skill4:Play()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-22), 0, 0), i/t)
- tw.C1 = tw.C1:lerp(stand.tors * cfn(0,0,0.65) *cfa(math.rad(-25), 0, 0), i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-85),0,math.rad(36)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(-0.25,0.5,-1.85) *cfa(math.rad(90), 0, math.rad(-30)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(30), 0, math.rad(20)), i/t)
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.85, 1, 0) * cfa(0,0,math.rad(30)), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0,0,math.rad(15)), i/t)
- if not active or checkStatus(char, "Stun") then break end
- end
- local t = 15
- bladtrail()
- skill42:Play()
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stand.head, i/t)
- tw.C1 = tw.C1:lerp(stand.tors, i/t)
- raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -.5) * cfa(0, 0, math.rad(90)), i/t)
- law.C0 = law.C0:lerp(stand.larm * cfn(-.8, 0, -1.6) * cfa(0, math.rad(-30), math.rad(-90)), i/t)
- grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
- end
- for _,v in pairs(checkPartMag({Trail}, 20)) do
- if not hitdb[v] then hitdb[v] = true
- strike(v, bdmg.Value + 10, 0)
- end end
- if not active or checkStatus(char, "Stun") then break end
- end
- defWS = ogdefWS
- end
- }
- -- coroutines
- ----------------------------------------------
- ----------------------------------------------
- local runmanage = spawn(function()
- while true do swait()
- local tvel = (hrp.Velocity * v3(1, 0, 1)).magnitude
- local groundcheck = Ray.new(hrp.Position, ((hrp.CFrame.p - Vector3.new(0, 1, 0)) - hrp.CFrame.p).unit * 4)
- local hit = workspace:FindPartOnRay(groundcheck, char)
- if hit then
- if jumping then jumping = false; end
- else jumping = true
- end
- if tvel > 2 then
- if not running then running = true; softoverride = false end
- elseif running then running = false
- end
- if (wsoverride or lwoverride) and not active then
- wsoverride = false; lwoverride = false
- end
- if not wsoverride then
- hume.WalkSpeed = defWS
- end end end)
- ----------------------------------------------
- local runanim = spawn(function()
- while true do swait()
- local vtvel = math.abs(hrp.Velocity.Y)
- local t = 20
- if equipped and not active then
- if jumping then
- if hrp.Velocity.Y > 1 then for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(jump.rarm, (i/t)/2)
- law.C0 = law.C0:lerp(jump.larm, (i/t)/2)
- hw.C0 = hw.C0:lerp(jump.head, (i/t)/2)
- tw.C1 = tw.C1:lerp(jump.tors, (i/t)/2)
- grip.C1 = grip.C1:lerp(jump.grip1, (i/t)/2)
- grip.C0 = grip.C0:lerp(jump.grip0, (i/t)/2)
- if not jumping or active or hrp.Velocity.Y < 1 then
- break end end
- else for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(fall.rarm, (i/t)/2)
- law.C0 = law.C0:lerp(fall.larm, (i/t)/2)
- hw.C0 = hw.C0:lerp(fall.head, (i/t)/2)
- tw.C1 = tw.C1:lerp(fall.tors, (i/t)/2)
- grip.C1 = grip.C1:lerp(fall.grip1, (i/t)/2)
- grip.C0 = grip.C0:lerp(fall.grip0, (i/t)/2)
- if not jumping or active or hrp.Velocity.Y > 1 then
- break end end end
- elseif running then for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(run.rarm, (i/t)/2)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), math.rad(10), 0), (i/t)/2)
- hw.C0 = hw.C0:lerp(run.head, (i/t)/2)
- tw.C1 = tw.C1:lerp(run.tors, (i/t)/2)
- grip.C1 = grip.C1:lerp(run.grip1, (i/t)/2)
- grip.C0 = grip.C0:lerp(run.grip0, (i/t)/2)
- if not running or jumping or active then break end
- end
- for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(run.rarm, (i/t)/2)
- law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), math.rad(10),0), (i/t)/2)
- hw.C0 = hw.C0:lerp(run.head, (i/t)/2)
- tw.C1 = tw.C1:lerp(run.tors, (i/t)/2)
- grip.C1 = grip.C1:lerp(run.grip1, (i/t)/2)
- grip.C0 = grip.C0:lerp(run.grip0, (i/t)/2)
- if not running or jumping or active then break end
- end
- else t = 60
- for i = 1, t do swait()
- raw.C0 = raw.C0:lerp(neutral.rarm, i/t)
- law.C0 = law.C0:lerp(neutral.larm, i/t)
- hw.C0 = hw.C0:lerp(neutral.head, i/t)
- tw.C1 = tw.C1:lerp(neutral.tors, i/t)
- grip.C1 = grip.C1:lerp(neutral.grip1, (i/t)/2)
- grip.C0 = grip.C0:lerp(neutral.grip0, (i/t)/2)
- if running or jumping or active then break end
- end end end end end)
- ----------------------------------------------
- local legwalk = spawn(function()
- while true do swait()
- local t = math.ceil(300/hume.WalkSpeed)
- local t2 = 20
- if equipped and not (lwoverride or softoverride) then
- if jumping then
- if hrp.Velocity.Y > 1 then for i = 1, t2 do swait()
- rlw.C0 = rlw.C0:lerp(jump.rleg, i/t2)
- llw.C0 = llw.C0:lerp(jump.lleg, i/t2)
- if not jumping or lwoverride or softoverride
- or hrp.Velocity.Y < 1 then break end
- end
- else for i = 1, t2 do swait()
- rlw.C0 = rlw.C0:lerp(fall.rleg, i/t2)
- llw.C0 = llw.C0:lerp(fall.lleg, i/t2)
- if not jumping or lwoverride or softoverride
- or hrp.Velocity.Y > 1 then break end
- end end
- elseif running then for i = 1, t do swait()
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(-40)), (i/t)/2)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(-40)), (i/t)/2)
- if not running or jumping or lwoverride or softoverride then break end
- end
- if running and not jumping then for i = 1, t do swait()
- rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(40)), (i/t)/2)
- llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(40)), (i/t)/2)
- if not running or lwoverride or softoverride then break end
- end end
- else for i = 1, t do swait()
- rlw.C0 = rlw.C0:lerp(neutral.rleg, i/t)
- llw.C0 = llw.C0:lerp(neutral.lleg, i/t)
- if running or jumping or lwoverride or softoverride then break end
- end end
- elseif not equipped then
- rlw.C0 = stand.rleg; llw.C0 = stand.lleg
- end end end)
- ----------------------------------------------
- local combomanage = spawn(function()
- while true do swait()
- if (tick()-combotime)>=combowait
- and not active then combostep = 0
- end end
- end)
- ----------------------------------------------
- -- Input Events
- mouse.Button1Down:connect(function()
- if equipped and not active then active = true
- attack(); active = false
- end end)
- mouse.KeyDown:connect(function(key)
- key = key:lower()
- for i,v in ipairs(abilities) do
- if key == v.key:lower() then
- if equipped and script.CanCastAbilities.Value == true and not active then
- active = true; cast(i); active = false
- end end end
- if key == "q" then
- if not equipped then equipped = true; active = true
- equip(); active = false
- else if not active then active = true
- unequip(); active = false; equipped = false
- end end end end)
- -- Arbitrary End Code --
- weapon.Parent = char
- while char:FindFirstChild("Silenced") ~= nil do
- script.CanCastAbilities.Value = false
- wait(2)
- script.CanCastAbilities.Value = true
- end
- while true do -- stun
- if char:FindFirstChild("Stunned") ~= nil then do
- defWS = 0; hume.JumpPower = 0 ;active = true
- local stuntext = coroutine.wrap(function()
- local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
- local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
- local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
- t.Text = "Stunned!"
- t.TextColor3=c3(255,255,0)
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", char.Torso)
- s.SoundId="rbxassetid://2801263"
- s.Volume = 1
- s.Pitch = 1.15
- s:Play()
- game:GetService("Debris"):AddItem(s,1)
- game:GetService("Debris"):AddItem(p,1.45)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- end)
- stuntext()
- local t = 110
- for i = 1, t do swait()
- hw.C0 = hw.C0:lerp(stunned.head, i/t)
- tw.C1 = tw.C1:lerp(stunned.tors , i/t)
- raw.C0 = raw.C0:lerp(stunned.rarm , i/t)
- law.C0 = law.C0:lerp(stunned.larm , i/t)
- grip.C1 = grip.C1:lerp(stunned.grip1 , i/t)
- if not running then softoverride = true
- rlw.C0 = rlw.C0:lerp(stunned.rleg, i/t)
- llw.C0 = llw.C0:lerp(stunned.lleg, i/t)
- if not active then break end
- end
- end
- defWS = ogdefWS; hume.JumpPower = 50 ;active = false
- end
- end
- if char:FindFirstChild("Silenced") ~= nil then do
- script.CanCastAbilities.Value = false
- local siltext = coroutine.wrap(function()
- local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
- local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
- local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
- t.Text = "Silenced"
- t.TextColor3=BrickColor.new("Eggplant").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", char.Torso)
- s.SoundId="rbxassetid://2785493"
- s.Volume = 1
- s.Pitch = 1.2
- s:Play()
- game:GetService("Debris"):AddItem(s,1)
- game:GetService("Debris"):AddItem(p,1.45)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- end)
- siltext()
- wait(2.15)
- script.CanCastAbilities.Value = true
- end end
- if char:FindFirstChild("Slowed") ~= nil then do
- defWS = defWS - 7
- local siltext = coroutine.wrap(function()
- local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
- local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
- local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
- t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
- t.Text = "Slowed"
- t.TextColor3=BrickColor.new("Ghost grey").Color
- t.TextStrokeColor3=BrickColor.new("Really black").Color
- local s=Instance.new("Sound", char.Torso)
- s.SoundId="rbxassetid://2785493"
- s.Volume = 1
- s.Pitch = .8
- s:Play()
- game:GetService("Debris"):AddItem(s,1)
- game:GetService("Debris"):AddItem(p,1.45)
- spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
- end)
- siltext()
- wait(2.15)
- defWS = defWS + 7
- end end
- swait()
- end
- -- script made by Huge_Nazo
- -- gime credit if u use this idc if u do just at least when u go to show say someone cool made it
Add Comment
Please, Sign In to add comment