Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local plr = game.Players.LocalPlayer
- local uis = game:GetService("UserInputService")
- repeat
- wait()
- until plr.Character and plr.Character:WaitForChild("Torso") and plr.Character:WaitForChild("Humanoid")
- local char = plr.Character
- char:findFirstChild("Animate"):Destroy()
- local torso = char.Torso
- local humanoid = char.Humanoid
- humanoid.Animator:Destroy()
- local charStats = Instance.new("Folder", char)
- charStats.Name = "CharStats"
- speed = Instance.new("NumberValue", charStats)
- speed.Name = "Speed"
- speed.Value = 10
- local Anim
- LS = torso["Left Shoulder"]
- LH = torso["Left Hip"]
- RS = torso["Right Shoulder"]
- RH = torso["Right Hip"]
- Neck = torso.Neck
- it = Instance.new
- vt = Vector3.new
- cf = CFrame.new
- euler = CFrame.fromEulerAnglesXYZ
- angles = CFrame.Angles
- necko = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- necko2 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- LHC0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- LHC1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RootPart = char.HumanoidRootPart
- RootJoint = RootPart.RootJoint
- RootCF = euler(-1.57, 0, 3.14)
- player = nil
- RSH, LSH = nil, nil
- RW, LW = Instance.new("Weld"), Instance.new("Weld")
- RW.Name = "Right Shoulder"
- LW.Name = "Left Shoulder"
- Sheathed = true
- SwordStance = false
- Charge = 0
- RSH = char.Torso["Right Shoulder"]
- LSH = char.Torso["Left Shoulder"]
- RSH.Parent = nil
- LSH.Parent = nil
- RW.Name = "Right Shoulder"
- RW.Part0 = char.Torso
- RW.C0 = cf(1.5, 0.5, 0)
- RW.C1 = cf(0, 0.5, 0)
- RW.Part1 = char["Right Arm"]
- RW.Parent = char.Torso
- LW.Name = "Left Shoulder"
- LW.Part0 = char.Torso
- LW.C0 = cf(-1.5, 0.5, 0)
- LW.C1 = cf(0, 0.5, 0)
- LW.Part1 = char["Left Arm"]
- LW.Parent = char.Torso
- local cam = workspace.CurrentCamera
- canTaunt = false
- local Effects = Instance.new("Model", char)
- Effects.Name = "Effects"
- function basicDamage(vhum, damage, colour)
- if not vhum or not vhum.Parent:findFirstChild("Humanoid") then
- return
- end
- vhum.Parent.Humanoid:TakeDamage(damage)
- local damagepart = Instance.new("Part", Effects)
- damagepart.Transparency = 1
- damagepart.Anchored = true
- damagepart.CanCollide = false
- damagepart.Size = Vector3.new(1, 1, 1)
- damagepart.Name = "DamagePart"
- damagepart.CFrame = vhum.Parent.Head.CFrame * CFrame.new(0, 1, 0)
- local g = Instance.new("BillboardGui", damagepart)
- g.Enabled = true
- g.Adornee = damagepart
- g.Size = UDim2.new(5, 0, 5, 0)
- g.ExtentsOffset = Vector3.new(0, 0, 0)
- g.StudsOffset = Vector3.new(0, 0, 0)
- local t = Instance.new("TextLabel", g)
- t.BackgroundTransparency = 1
- t.Font = "ArialBold"
- t.TextSize = 24
- t.Text = "-" .. round(damage)
- if round(damage) % 1 == 0 then
- t.Text = "-" .. round(damage) .. ".0"
- end
- t.Size = UDim2.new(1, 0, 1, 0)
- t.TextStrokeTransparency = 0
- t.TextTransparency = 0
- t.TextScaled = true
- t.TextWrapped = true
- t.TextXAlignment = "Center"
- t.TextYAlignment = "Center"
- t.TextColor3 = colour
- coroutine.resume(coroutine.create(function()
- for i = 1, 50 do
- game:GetService("RunService").Heartbeat:wait()
- local sinewave = math.sin(i / 500) * 4
- damagepart.CFrame = damagepart.CFrame * CFrame.new(Vector3.new(0, 0.3 - sinewave, 0))
- t.TextTransparency = t.TextTransparency + 0.02
- t.TextStrokeTransparency = t.TextTransparency + 0.02
- end
- damagepart:Destroy()
- end), t)
- end
- humanoid.WalkSpeed = 16
- mouse = plr:GetMouse()
- sinecount, normcount, tweentick, tweenrot, tweenrotm = 0, 0, 0, 0, 0
- partEffects, AttackHas, AttackNeeded, AttackCan = {}, {}, {}, {}
- AttackHas[1], AttackHas[2], AttackHas[3], AttackHas[4] = 1, 1, 1, 1
- AttackNeeded[1], AttackNeeded[2], AttackNeeded[3], AttackNeeded[4] = 1, 1, 1, 1
- AttackCan[1], AttackCan[2], AttackCan[3], AttackCan[4] = true, true, true, true
- Attack1Get = 0.004
- Attack2Get = 0.003
- Attack3Get = 0.0025
- Attack4Get = 0.001
- local key1db = false
- local key2db = false
- local key3db = false
- local key4db = false
- local attacking = Instance.new("BoolValue", charStats)
- attacking.Name = "Attacking"
- attacking.Value = false
- local Energy = Instance.new("NumberValue", charStats)
- Energy.Name = "EnergyAmount"
- Energy.Value = math.huge
- local Attack1Energy = 0--75
- local Attack2Energy = 0--50
- local Attack3Energy = 0--50
- local Attack4Energy = 0--100
- function rayCast(Pos, Dir, Max, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- end
- function thread(f)
- coroutine.resume(coroutine.create(f))
- end
- ArtificialHB = Instance.new("BindableEvent", script)
- ArtificialHB.Name = "Heartbeat"
- script:WaitForChild("Heartbeat")
- frame = 0.025
- tf = 0
- allowframeloss = true
- 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 sound(id, par, vol, dur, pit)
- coroutine.resume(coroutine.create(function()
- local sou = Instance.new("Sound", par or workspace)
- sou.Volume = vol
- sou.Pitch = pit or 1
- sou.SoundId = "http://www.roblox.com/asset/?id=" .. id
- swait()
- sou:play()
- wait(dur)
- sou:Destroy()
- end))
- end
- function clerp(a, b, t)
- local qa = {
- QuaternionFromCFrame(a)
- }
- local qb = {
- QuaternionFromCFrame(b)
- }
- local ax, ay, az = a.x, a.y, a.z
- local bx, by, bz = b.x, b.y, b.z
- local _t = 1 - t
- return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5 / s
- return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
- else
- local i = 0
- if m00 < m11 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00 - m11 - m22 + 1)
- local recip = 0.5 / s
- return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
- elseif i == 1 then
- local s = math.sqrt(m11 - m22 - m00 + 1)
- local recip = 0.5 / s
- return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
- elseif i == 2 then
- local s = math.sqrt(m22 - m00 - m11 + 1)
- local recip = 0.5 / s
- return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w * xs, w * ys, w * zs
- local xx = x * xs
- local xy = x * ys
- local xz = x * zs
- local yy = y * ys
- local yz = y * zs
- local zz = z * zs
- return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
- local startInterp, finishInterp
- if cosTheta >= 1.0E-4 then
- if 1 - cosTheta > 1.0E-4 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1 / math.sin(theta)
- startInterp = math.sin((1 - t) * theta) * invSinTheta
- finishInterp = math.sin(t * theta) * invSinTheta
- else
- startInterp = 1 - t
- finishInterp = t
- end
- elseif 1 + cosTheta > 1.0E-4 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1 / math.sin(theta)
- startInterp = math.sin((t - 1) * theta) * invSinTheta
- finishInterp = math.sin(t * theta) * invSinTheta
- else
- startInterp = t - 1
- finishInterp = t
- end
- return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
- end
- function magic(type, thing)
- local magicBlock = function(par, brick, cframe, x1, y1, z1, x3, y3, z3, delay, t)
- local prt = newPart(par, brick, 0, true, false, Vector3.new(), "Part", "SmoothPlastic", cframe)
- prt.CFrame = cframe
- local msh = mesh("BlockMesh", prt, nil, nil, Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 8)
- if t == 1 or t == nil then
- table.insert(partEffects, {
- prt,
- "Block1",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- elseif t == 2 then
- table.insert(partEffects, {
- prt,
- "Block2",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end
- end
- local magicCylinder = function(par, brick, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = newPart(par, brick, 0, true, false, Vector3.new(), "Part", "SmoothPlastic", cframe)
- local msh = mesh("CylinderMesh", prt, nil, nil, Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 8)
- table.insert(partEffects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end
- local magicSphere = function(par, brick, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = newPart(par, brick, 0, true, false, Vector3.new(), "Part", "SmoothPlastic", cframe)
- local msh = mesh("SpecialMesh", prt, "Sphere", nil, Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 8)
- table.insert(partEffects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end
- local magicRing = function(par, brick, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = newPart(par, brick, 0, true, false, Vector3.new(), "Part", "SmoothPlastic", cframe)
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = mesh("SpecialMesh", prt, "FileMesh", 3270017, Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 2)
- coroutine.resume(coroutine.create(function(Part, Mesh, num)
- for i = 0, 1, delay do
- swait()
- Part.Transparency = i
- Mesh.Scale = Mesh.Scale + Vector3.new(x3, y3, z3)
- end
- Part:Destroy()
- end), prt, msh, (math.random(0, 1) + math.random()) / 5)
- end
- local magicSlash = function(par, brick, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = newPart(par, brick, 0, true, false, Vector3.new(), "Part", cframe)
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = mesh("SpecialMesh", prt, "FileMesh", 20329976, Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 2)
- coroutine.resume(coroutine.create(function(Part, Mesh, num)
- for i = 0, 1, delay do
- swait()
- Part.Transparency = i
- Mesh.Scale = Mesh.Scale + Vector3.new(x3, y3, z3)
- end
- Part:Destroy()
- end), prt, msh, (math.random(0, 1) + math.random()) / 5)
- end
- local par = thing[1]
- local brick = thing[2]
- local cframe = thing[3]
- local x1 = thing[4]
- local y1 = thing[5]
- local z1 = thing[6]
- local x3 = thing[7]
- local y3 = thing[8]
- local z3 = thing[9]
- local delay = thing[10]
- local t = thing[11]
- if type == "Block" or type == 1 then
- magicBlock(thing[1], thing[2], thing[3], thing[4], thing[5], thing[6], thing[7], thing[8], thing[9], thing[10], thing[11])
- elseif type == "Cylinder" or type == 2 then
- magicCylinder(thing[1], thing[2], thing[3], thing[4], thing[5], thing[6], thing[7], thing[8], thing[9], thing[10], thing[11])
- elseif type == "Sphere" or type == 3 then
- magicSphere(thing[1], thing[2], thing[3], thing[4], thing[5], thing[6], thing[7], thing[8], thing[9], thing[10], thing[11])
- elseif type == "Ring" or type == 4 then
- magicRing(thing[1], thing[2], thing[3], thing[4], thing[5], thing[6], thing[7], thing[8], thing[9], thing[10], thing[11])
- elseif type == "Slash" or type == 5 then
- magicSlash(thing[1], thing[2], thing[3], thing[4], thing[5], thing[6], thing[7], thing[8], thing[9], thing[10], thing[11])
- end
- end
- function randomangles()
- local random = math.rad((math.random() - 0.5) * 180)
- local randomangles = CFrame.Angles(random, random, random)
- return randomangles
- end
- function round(num)
- local a, b = math.modf(num)
- if num % 1 ~= 0 then
- return math.floor(num) + math.floor(b * 10 + 0.5) / 10
- else
- return math.floor(num)
- end
- end
- function NoOutline(Part)
- Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function newPart(parent, brickcolor, transparency, anchored, cancollide, size, name)
- local fp = Instance.new("Part")
- fp.Parent = parent
- fp.Transparency = transparency
- fp.Anchored = anchored
- fp.CanCollide = cancollide
- fp.Locked = true
- fp.BrickColor = brickcolor
- fp.Name = name
- fp.Size = size
- fp.Position = torso.Position
- NoOutline(fp)
- fp.Material = "SmoothPlastic"
- fp:BreakJoints()
- return fp
- end
- function mesh(Mesh, part, meshtype, meshid, offset, scale)
- local mesh = Instance.new(Mesh)
- mesh.Parent = part
- if Mesh == "SpecialMesh" then
- mesh.MeshType = meshtype
- if meshid then
- mesh.MeshId = "http://www.roblox.com/asset/?id=" .. meshid
- end
- end
- if offset then
- mesh.Offset = offset
- end
- mesh.Scale = scale
- return mesh
- end
- function weld(parent, part0, part1, c0)
- local weld = Instance.new("Weld")
- weld.Parent = parent
- weld.Part0 = part0
- weld.Part1 = part1
- weld.C0 = c0
- return weld
- end
- function findCloseHumanoid(centre, distance)
- local tab = {}
- for _, child in pairs(game.Workspace:GetChildren()) do
- if child:findFirstChild("Humanoid") and child:findFirstChild("Humanoid") ~= humanoid and child:findFirstChild("Torso") then
- local vtors = child.Torso
- local mag = math.abs((vtors.Position - centre).magnitude)
- if distance >= mag then
- table.insert(tab, child.Humanoid)
- end
- end
- end
- return tab
- end
- --[[
- sftorso = script.Parent.SFTorso:Clone()
- sftorso.Parent = char
- sftorso.Name = "SFTorso"
- armr = script.Parent.SFArm:Clone()
- armr.Parent = char
- armr.Name = "SFArmR"
- arml = script.Parent.SFArm:Clone()
- arml.Parent = char
- arml.Name = "SFArmL"
- weld(torso, sftorso.Handle, torso, CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(90), 0))
- weld(char["Right Arm"], armr.Handle, char["Right Arm"], CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(-90), 0))
- weld(char["Left Arm"], arml.Handle, char["Left Arm"], CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(90), 0))
- ]]
- function attackone()
- attacking.Value = true
- for i = 0, 1, 0.1 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(5), math.rad(0), math.rad(90)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(0), 0, math.rad(-90)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.4, -0.6) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(-70)), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1, -0.2) * CFrame.Angles(math.rad(170), math.rad(-45), 0), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- end
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, true, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 0, -5)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(3, 3, 3))
- local p1 = newPart(Effects, BrickColor.new("Bright red"), 0, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p1.CFrame = RootPart.CFrame * CFrame.new(0, 0, -5)
- p1.Material = "Neon"
- local m1 = mesh("SpecialMesh", p1, "Sphere", nil, nil, Vector3.new(15, 15, 15))
- local p2 = newPart(Effects, BrickColor.new("Lily white"), 0.1, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p2.CFrame = RootPart.CFrame * CFrame.new(0, 0, -5)
- p2.Material = "SmoothPlastic"
- local m2 = mesh("SpecialMesh", p2, "Sphere", nil, nil, Vector3.new(16, 16, 16))
- weld(p1, p0, p1, CFrame.new(0, 0, 0))
- weld(p1, p2, p1, CFrame.new(0, 0, 0))
- local now = RootPart.CFrame * CFrame.new(0, 0, -5)
- thread(function()
- for i = 1, 20 do
- swait()
- m0.Scale = m0.Scale + Vector3.new(1, 1, 1)
- p0.Transparency = p0.Transparency + 0.05
- p0.CFrame = now * CFrame.Angles(0, math.rad(15 * i), 0)
- m1.Scale = m1.Scale + Vector3.new(1, 1, 1)
- p1.Transparency = p1.Transparency + 0.05
- p1.CFrame = now
- m2.Scale = m2.Scale + Vector3.new(1, 1, 1)
- p2.Transparency = p2.Transparency + 0.05
- p2.CFrame = now
- end
- p0:Destroy()
- p1:Destroy()
- p2:Destroy()
- end)
- for i, v in pairs(findCloseHumanoid(now.p, 12)) do
- basicDamage(v, 8, BrickColor.new("Maroon").Color)
- delay(0.1, function()
- --basic.Burn(Effects, v, 3, BrickColor.new("Bright red").Color, math.random(2, 4))
- end)
- end
- sound(231917833, torso, 0.5, 5)
- for i = 0, 1, 0.08 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(0), math.rad(10), math.rad(-80)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(20), 0, math.rad(80)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.5, -0.4) * CFrame.Angles(math.rad(160), math.rad(0), math.rad(60)) * CFrame.Angles(0, math.rad(90), 0), 0.3)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1, -0.2) * CFrame.Angles(math.rad(170), math.rad(-45), 0), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- end
- wait(0.2)
- attacking.Value = false
- end
- function attacktwo()
- attacking.Value = true
- for i = 0, 1, 0.1 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(5), math.rad(0), math.rad(-90)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(0), 0, math.rad(90)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, -0.1, 0) * CFrame.Angles(math.rad(160), math.rad(45), 0), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1, -0.2) * CFrame.Angles(math.rad(90), math.rad(-45), 0), 0.2)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.2)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- end
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, true, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 0, -5)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(3, 3, 3))
- local p1 = newPart(Effects, BrickColor.new("Bright red"), 0, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p1.CFrame = RootPart.CFrame * CFrame.new(0, 0, -5)
- p1.Material = "Neon"
- local m1 = mesh("SpecialMesh", p1, "Sphere", nil, nil, Vector3.new(15, 15, 15))
- local p2 = newPart(Effects, BrickColor.new("Lily white"), 0.1, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p2.CFrame = RootPart.CFrame * CFrame.new(0, 0, -5)
- p2.Material = "SmoothPlastic"
- local m2 = mesh("SpecialMesh", p2, "Sphere", nil, nil, Vector3.new(16, 16, 16))
- weld(p1, p0, p1, CFrame.new(0, 0, 0))
- weld(p1, p2, p1, CFrame.new(0, 0, 0))
- local now = RootPart.CFrame * CFrame.new(0, 0, -5)
- thread(function()
- for i = 1, 20 do
- swait()
- m0.Scale = m0.Scale + Vector3.new(1, 1, 1)
- p0.Transparency = p0.Transparency + 0.05
- p0.CFrame = now * CFrame.Angles(0, math.rad(15 * i), 0)
- m1.Scale = m1.Scale + Vector3.new(1, 1, 1)
- p1.Transparency = p1.Transparency + 0.05
- p1.CFrame = now
- m2.Scale = m2.Scale + Vector3.new(1, 1, 1)
- p2.Transparency = p2.Transparency + 0.05
- p2.CFrame = now
- end
- p0:Destroy()
- p1:Destroy()
- p2:Destroy()
- end)
- for i, v in pairs(findCloseHumanoid(now.p, 12)) do
- basicDamage(v, 8, BrickColor.new("Maroon").Color)
- delay(0.1, function()
- --basic.Burn(Effects, v, 3, BrickColor.new("Bright red").Color, math.random(2, 4))
- end)
- end
- sound(231917833, torso, 0.5, 5, 1.2)
- for i = 0, 1, 0.1 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(0), math.rad(10), math.rad(80)), 0.3)
- if i < 0.3 then
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(20), 0, math.rad(-80)), 0.3)
- else
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(20), 0, math.rad(-140)), 0.3)
- end
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, -0.1, 0) * CFrame.Angles(math.rad(160), math.rad(45), 0), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, -0.2) * CFrame.Angles(math.rad(90), math.rad(-45), 0), 0.2)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- end
- wait(0.2)
- attacking.Value = false
- end
- function attackthree()
- attacking.Value = true
- for i = 0, 1.1, 0.1 do
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(15), 0, math.rad(0)), 0.14)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(0.05, 0, math.rad(0)), 0.14)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, -0.5) * CFrame.Angles(math.rad(90), 0, math.rad(50)), 0.14)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(math.rad(0), 0, 0), 0.14)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.5, -0.5) * CFrame.Angles(math.rad(90), 0, math.rad(-50)), 0.14)
- RW.C1 = clerp(RW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(0, 0, 0), 0.14)
- swait()
- end
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, true, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 0, -7)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(6, 6, 6))
- local pc = p0:Clone()
- local p1 = newPart(Effects, BrickColor.new("Bright red"), 0, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p1.CFrame = RootPart.CFrame * CFrame.new(0, 0, -7)
- p1.Material = "Neon"
- local m1 = mesh("SpecialMesh", p1, "Sphere", nil, nil, Vector3.new(30, 30, 30))
- local p2 = newPart(Effects, BrickColor.new("Bright red"), 0.1, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p2.CFrame = RootPart.CFrame * CFrame.new(0, 0, -7)
- p2.Material = "Neon"
- local m2 = mesh("SpecialMesh", p2, "Sphere", nil, nil, Vector3.new(32, 32, 32))
- thread(function()
- local now = RootPart.CFrame * CFrame.new(0, 0, -7)
- for i = 1, 50 do
- swait()
- local sinewave = math.sin(i * math.pi / 100)
- p0.CFrame = now * CFrame.new(0, 0, -sinewave * 12) * CFrame.Angles(0, math.rad(10 * i), 0)
- p1.CFrame = now * CFrame.new(0, 0, -sinewave * 12)
- p2.CFrame = now * CFrame.new(0, 0, -sinewave * 12)
- if i % 12 == 0 then
- do
- local cnow = p0.CFrame
- for i, v in pairs(findCloseHumanoid(cnow.p, 17)) do
- basicDamage(v, math.random(2, 5), BrickColor.new("Really red").Color)
- end
- local pc = pc:Clone()
- pc.CFrame = cnow
- pc.Parent = Effects
- thread(function()
- for i = 1, 20 do
- swait()
- pc.Mesh.Scale = pc.Mesh.Scale + Vector3.new(1, 1, 1)
- pc.Transparency = pc.Transparency + 0.05
- pc.CFrame = cnow
- end
- pc:Destroy()
- end)
- end
- end
- if i >= 30 then
- p0.Transparency = p0.Transparency + 0.05
- p1.Transparency = p1.Transparency + 0.05
- p2.Transparency = p2.Transparency + 0.05
- m0.Scale = m0.Scale + Vector3.new(1, 1, 1)
- m1.Scale = m1.Scale + Vector3.new(1, 1, 1)
- m2.Scale = m2.Scale + Vector3.new(1, 1, 1)
- end
- end
- p0:Destroy()
- p1:Destroy()
- p2:Destroy()
- end)
- sound(300916038, torso, 0.5, 5)
- for i = 0, 1.1, 0.05 do
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(10), 0, math.rad(0)), 0.14)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(-0.05, 0, math.rad(0)), 0.14)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0.15) * CFrame.Angles(math.rad(90), 0, math.rad(-80)), 0.14)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(math.rad(0), 0, 0), 0.14)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.15) * CFrame.Angles(math.rad(90), 0, math.rad(80)), 0.14)
- RW.C1 = clerp(RW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(0, 0, 0), 0.14)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -0.98, -0.2) * CFrame.Angles(-0.2, math.rad(90), 0), 0.14)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -math.rad(90), 0), 0.14)
- swait()
- end
- wait(0.4)
- attacking.Value = false
- end
- counter = 0
- uis.InputBegan:connect(function(key, Global)
- if Global then
- return
- end
- if attacking.Value == true then
- return
- end
- if key.UserInputType == Enum.UserInputType.MouseButton1 then
- if attacking.Value == true then
- return
- end
- if counter == 0 then
- attackone()
- counter = 1
- elseif counter == 1 then
- attacktwo()
- counter = 2
- elseif counter == 2 then
- attackthree()
- counter = 0
- end
- end
- if key.KeyCode == Enum.KeyCode.Q then
- if AttackHas[1] < AttackNeeded[1] or Energy.Value < Attack1Energy then
- return
- end
- Energy.Value = Energy.Value - Attack1Energy
- AttackHas[1] = 0
- AttackCan[1] = false
- attacking.Value = true
- for i = 0, 1, 0.05 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(0.1, 0, math.rad(-45)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(-0.1, 0, math.rad(45)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(1.57, 0, 0), 0.3)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0, 0, -1.57), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -math.rad(90), 0), 0.3)
- end
- local nancount = 0
- for i = 0, 3, 0.05 do
- nancount = nancount + 1
- if nancount % 10 == 0 then
- sound(231917888, torso, 0.5, 4)
- do
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, true, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(3, 3, 3))
- local p1 = newPart(Effects, BrickColor.new("Bright red"), 0, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p1.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p1.Material = "Neon"
- local m1 = mesh("SpecialMesh", p1, "Sphere", nil, nil, Vector3.new(30, 30, 30))
- local p2 = newPart(Effects, BrickColor.new("Lily white"), 0.1, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p2.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p2.Material = "SmoothPlastic"
- local m2 = mesh("SpecialMesh", p2, "Sphere", nil, nil, Vector3.new(31, 31, 31))
- weld(p1, p0, p1, CFrame.new(0, 0, 0))
- weld(p1, p2, p1, CFrame.new(0, 0, 0))
- local now = RootPart.CFrame * CFrame.new(0, 0, 0)
- thread(function()
- for i = 1, 20 do
- swait()
- m0.Scale = m0.Scale + Vector3.new(1, 1, 1)
- p0.Transparency = p0.Transparency + 0.05
- p0.CFrame = now * CFrame.Angles(0, math.rad(15 * i), 0)
- m1.Scale = m1.Scale + Vector3.new(1, 1, 1)
- p1.Transparency = p1.Transparency + 0.05
- p1.CFrame = now
- m2.Scale = m2.Scale + Vector3.new(1, 1, 1)
- p2.Transparency = p2.Transparency + 0.05
- p2.CFrame = now
- end
- p0:Destroy()
- p1:Destroy()
- p2:Destroy()
- end)
- for i, v in pairs(findCloseHumanoid(now.p, 15)) do
- basicDamage(v, 4, BrickColor.new("Maroon").Color)
- delay(0.1, function()
- --basic.Burn(Effects, v, 1, BrickColor.new("Bright red").Color, math.random(1, 3))
- end)
- end
- end
- end
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(0.1, 0, math.rad(-45)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(0.1, 0, math.rad(45) + 0.1 * -i * 67), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(1.57, 0, 0.785), 0.3)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(-0.785, 0, -1.57), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(0, math.rad(90), 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(0, -math.rad(90), 0), 0.3)
- swait()
- end
- AttackCan[1] = true
- attacking.Value = false
- end
- if key.KeyCode == Enum.KeyCode.E then
- if AttackHas[2] < AttackNeeded[2] or Energy.Value < Attack2Energy then
- return
- end
- Energy.Value = Energy.Value - Attack2Energy
- AttackHas[2] = 0
- AttackCan[2] = false
- attacking.Value = true
- for i = 0, 1, 0.05 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(5), 0, math.rad(0)), 0.15)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(15), 0, math.rad(0)), 0.15)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.5, 0.2) * CFrame.Angles(math.rad(90), 0, -math.rad(45)), 0.15)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0.2), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, 0) * CFrame.Angles(math.rad(90), 0, math.rad(45)), 0.15)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(15), math.rad(80), 0), 0.15)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0.2) * CFrame.Angles(math.rad(15), -math.rad(80), 0), 0.15)
- end
- do
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, true, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(3, 3, 3))
- local p1 = newPart(Effects, BrickColor.new("Bright red"), 0, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p1.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p1.Material = "Neon"
- local m1 = mesh("SpecialMesh", p1, "Sphere", nil, nil, Vector3.new(30, 30, 30))
- local p2 = newPart(Effects, BrickColor.new("Lily white"), 0.1, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p2.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p2.Material = "SmoothPlastic"
- local m2 = mesh("SpecialMesh", p2, "Sphere", nil, nil, Vector3.new(31, 31, 31))
- weld(p1, p0, p1, CFrame.new(0, 0, 0))
- weld(p1, p2, p1, CFrame.new(0, 0, 0))
- local now = RootPart.CFrame * CFrame.new(0, 0, 0)
- thread(function()
- for i = 1, 40 do
- swait()
- m0.Scale = m0.Scale + Vector3.new(5, 5, 5)
- p0.Transparency = p0.Transparency + 0.025
- p0.CFrame = now * CFrame.Angles(0, math.rad(15 * i), 0)
- m1.Scale = m1.Scale + Vector3.new(5, 5, 5)
- p1.Transparency = p1.Transparency + 0.025
- p1.CFrame = now
- m2.Scale = m2.Scale + Vector3.new(1, 1, 1)
- p2.Transparency = p2.Transparency + 0.025
- p2.CFrame = now
- end
- p0:Destroy()
- p1:Destroy()
- p2:Destroy()
- end)
- for i, v in pairs(findCloseHumanoid(torso.Position, 25)) do
- do
- local enemply = game.Players:GetPlayerFromCharacter(v.Parent)
- local baseply = player
- if enemply then
- if enemply.TeamColor == baseply.TeamColor and enemply.Neutral == false and baseply.Neutral == false then
- --basic.Buff(Effects, v, Color3.new(0, 0, 0), "Attack", 0.1, 5)
- else
- --basic.Burn(Effects, v, 2.5, BrickColor.new("Bright red").Color, math.random(3, 6))
- delay(0.5, function()
- --basic.Burn(Effects, v, 2.5, BrickColor.new("Bright red").Color, math.random(3, 6))
- end)
- end
- elseif not enemply then
- --basic.Burn(Effects, v, 2.5, BrickColor.new("Bright red").Color, math.random(3, 6))
- delay(0.5, function()
- --basic.Burn(Effects, v, 2.5, BrickColor.new("Bright red").Color, math.random(3, 6))
- end)
- end
- end
- end
- sound(416103546, torso, 0.5, 5)
- for i = 0, 1, 0.05 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(15), 0, math.rad(0)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(-15), 0, math.rad(0)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(0, 0, math.rad(100)), 0.3)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0, 0, math.rad(-100)), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(-15), math.rad(80), 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0.2) * CFrame.Angles(math.rad(-15), -math.rad(80), 0), 0.3)
- end
- wait(0.1)
- AttackCan[2] = true
- attacking.Value = false
- end
- end
- if key.KeyCode == Enum.KeyCode.R then
- if AttackHas[3] < AttackNeeded[3] or Energy.Value < Attack3Energy then
- return
- end
- Energy.Value = Energy.Value - Attack3Energy
- AttackHas[3] = 0
- AttackCan[3] = false
- attacking.Value = true
- for i = 0, 1, 0.1 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(15), 0, math.rad(0)), 0.15)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(-15), 0, math.rad(0)), 0.15)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(0, 0, math.rad(100)), 0.15)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0, 0, math.rad(-100)), 0.15)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(-15), math.rad(80), 0), 0.15)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0.2) * CFrame.Angles(math.rad(-15), -math.rad(80), 0), 0.15)
- end
- for i = 1, 6 do
- do
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, false, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 2, -2)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(8, 8, 8))
- local bv0 = Instance.new("BodyVelocity", p0)
- bv0.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
- bv0.Velocity = (RootPart.CFrame * CFrame.Angles(0, math.rad(-45 + 11.25 * i), 0)).lookVector * 15
- local bv1 = Instance.new("BodyAngularVelocity", p0)
- bv1.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
- bv1.AngularVelocity = Vector3.new(0, 10, 0)
- p0.Touched:connect(function(hit)
- thread(function()
- if not hit.Parent:findFirstChild("Humanoid") and hit.Parent:findFirstChild("Torso") then
- return
- end
- if hit.Parent.Humanoid == humanoid then
- return
- end
- if hit.Parent:findFirstChild("Vandalism_Hit" .. plr.Name) then
- return
- end
- local bvc = bv0:Clone()
- bvc.Parent = hit.Parent.Torso
- local bvc2 = bv1:Clone()
- bvc2.Parent = hit.Parent.Torso
- local str = Instance.new("StringValue", hit.Parent)
- str.Name = "Vandalism_Hit" .. plr.Name
- sound(240517987, p0, 0.5, 5, 1)
- while p0.Parent == Effects do
- basicDamage(hit.Parent.Humanoid, 3, BrickColor.new("Mid gray").Color)
- wait(0.25)
- end
- bvc:Destroy()
- bvc2:Destroy()
- str:Destroy()
- end)
- end)
- spawn(function()
- wait(3)
- for i = 1, 10 do
- swait()
- p0.Transparency = p0.Transparency + 0.1
- end
- p0:Destroy()
- end)
- end
- end
- for i = 0, 1, 0.05 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(5), 0, math.rad(0)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(15), 0, math.rad(0)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.5, 0.4) * CFrame.Angles(math.rad(90), 0, -math.rad(0)), 0.3)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0.2), 0.5)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, 0.4) * CFrame.Angles(math.rad(90), 0, math.rad(0)), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(15), math.rad(80), 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0.2) * CFrame.Angles(math.rad(15), -math.rad(80), 0), 0.3)
- end
- AttackCan[3] = true
- attacking.Value = false
- end
- if key.KeyCode == Enum.KeyCode.F then
- if AttackHas[4] < AttackNeeded[4] or Energy.Value < Attack4Energy then
- return
- end
- Energy.Value = Energy.Value - Attack4Energy
- AttackHas[4] = 0
- AttackCan[4] = false
- attacking.Value = true
- for i = 0, 1, 0.05 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(5), math.rad(0), math.rad(90)), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(0), 0, math.rad(-90)), 0.1)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.4, -0.6) * CFrame.Angles(math.rad(90), math.rad(0), math.rad(-70)), 0.1)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1, -0.2) * CFrame.Angles(math.rad(170), math.rad(-45), 0), 0.1)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.1)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.1)
- end
- charStats.Speed.Value = charStats.Speed.Value - 2
- function explode(pos)
- local p0 = newPart(Effects, BrickColor.new("Institutional white"), 0.1, true, false, Vector3.new(1, 1, 1), "Part")
- p0.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p0.Material = "Neon"
- local m0 = mesh("SpecialMesh", p0, "FileMesh", "1051557", nil, Vector3.new(3, 3, 3))
- local p1 = newPart(Effects, BrickColor.new("Bright red"), 0, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p1.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p1.Material = "Neon"
- local m1 = mesh("SpecialMesh", p1, "Sphere", nil, nil, Vector3.new(30, 30, 30))
- local p2 = newPart(Effects, BrickColor.new("Lily white"), 0.1, true, false, Vector3.new(0.2, 0.2, 0.2), "Part")
- p2.CFrame = RootPart.CFrame * CFrame.new(0, 0, 0)
- p2.Material = "SmoothPlastic"
- local m2 = mesh("SpecialMesh", p2, "Sphere", nil, nil, Vector3.new(31, 31, 31))
- weld(p1, p0, p1, CFrame.new(0, 0, 0))
- weld(p1, p2, p1, CFrame.new(0, 0, 0))
- local ref = newPart(Effects, BrickColor.Black(), 1, true, false, Vector3.new(), "Ref")
- sound(231917744, ref, 0.7, 8, 1)
- delay(8, function()
- ref:Destroy()
- end)
- local now = CFrame.new(pos)
- thread(function()
- for i = 1, 40 do
- swait()
- m0.Scale = m0.Scale + Vector3.new(2, 10, 2)
- p0.Transparency = p0.Transparency + 0.025
- p0.CFrame = now * CFrame.Angles(0, math.rad(15 * i), 0)
- m1.Scale = m1.Scale + Vector3.new(10, 10, 10)
- p1.Transparency = p1.Transparency + 0.025
- p1.CFrame = now
- m2.Scale = m2.Scale + Vector3.new(10, 10, 10)
- p2.Transparency = p2.Transparency + 0.025
- p2.CFrame = now
- end
- p0:Destroy()
- p1:Destroy()
- p2:Destroy()
- end)
- end
- do
- local hitpart, pospart = rayCast(RootPart.Position, RootPart.CFrame.lookVector, 30, char)
- local prevpos = RootPart.CFrame.p
- local nowpos = RootPart.CFrame.p
- local rootunit = RootPart.CFrame.lookVector * 1
- local targpos = nowpos + prevpos
- if not pospart then
- RootPart.CFrame = RootPart.CFrame * CFrame.new(0, 0, -40)
- nowpos = RootPart.CFrame * CFrame.new(0, 0, -40)
- nowpos = nowpos.p
- targpos = (nowpos + prevpos) / 2
- elseif hitpart then
- if hitpart.Parent:findFirstChild("Humanoid") then
- RootPart.CFrame = CFrame.new(pospart + rootunit * 40, RootPart.Position + rootunit)
- nowpos = CFrame.new(pospart + rootunit * 40)
- nowpos = nowpos.p
- targpos = (nowpos + prevpos) / 2
- else
- RootPart.CFrame = CFrame.new(pospart + rootunit, RootPart.Position + rootunit)
- nowpos = CFrame.new(pospart)
- nowpos = nowpos.p
- targpos = (nowpos + prevpos) / 2
- end
- else
- RootPart.CFrame = CFrame.new(pospart + rootunit, RootPart.Position + rootunit)
- nowpos = CFrame.new(pospart)
- nowpos = nowpos.p
- targpos = (nowpos + prevpos) / 2
- end
- local mag = math.abs((nowpos - prevpos).magnitude)
- local mid = (nowpos + prevpos) / 2
- local unit = rootunit
- local laser = newPart(nil, BrickColor.new("Bright red"), 0.5, true, false, Vector3.new(), "Laser", "SmoothPlastic")
- local lmsh = mesh("SpecialMesh", laser, "Sphere", nil, Vector3.new(0, 0, 0), Vector3.new(5, 5, 5))
- laser.CFrame = CFrame.new(mid, mid + unit)
- lmsh.Scale = Vector3.new(2, 2, math.abs(mag * 2))
- thread(function()
- for i = 1, 20 do
- swait()
- lmsh.Scale = lmsh.Scale + Vector3.new(0, 0, 4)
- end
- for i = 1, 20 do
- swait()
- lmsh.Scale = lmsh.Scale + Vector3.new(0, 0, 4)
- laser.Transparency = laser.Transparency + 0.05
- end
- laser:Destroy()
- end)
- laser.Parent = Effects
- for i = 0, 1, 0.05 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(0), math.rad(10), math.rad(-80)), 0.3)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(20), 0, math.rad(80)), 0.3)
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.5, -0.4) * CFrame.Angles(math.rad(160), math.rad(0), math.rad(60)) * CFrame.Angles(0, math.rad(90), 0), 0.3)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1, -0.2) * CFrame.Angles(math.rad(170), math.rad(-45), 0), 0.3)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.3)
- end
- for i = 0, 1, 0.025 do
- swait()
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(15), 0, math.rad(0)), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(-10), 0, math.rad(0)), 0.1)
- if i >= 0.4 then
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.5, 0.4) * CFrame.Angles(math.rad(80), math.rad(0), math.rad(100)) * CFrame.Angles(0, math.rad(90), 0), 0.1)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.5, 0.4) * CFrame.Angles(math.rad(80), math.rad(0), math.rad(-100)), 0.1)
- if i > 0.4 and i < 0.425 then
- explode(targpos)
- for i, v in pairs(findCloseHumanoid(targpos, 40)) do
- basicDamage(v, 15, BrickColor.new("Maroon").Color)
- delay(0.1, function()
- --basic.Burn(Effects, v, 3, BrickColor.new("Bright red").Color, math.random(5, 10), 0.1)
- end)
- end
- end
- else
- RW.C0 = clerp(RW.C0, CFrame.new(1.2, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(210)), 0.1)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.5, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(-210)), 0.1)
- end
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.3)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(0), math.rad(105), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.1)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(0), -math.rad(60), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.1)
- end
- charStats.Speed.Value = charStats.Speed.Value + 2
- AttackCan[4] = true
- attacking.Value = false
- end
- end
- end)
- thread(function()
- tweentick = 45
- tweenrot = 0.9
- tweenrotm = 0.15
- while true do
- swait()
- sinecount = sinecount + 1
- normcount = normcount + 1
- local sinewave = math.sin(sinecount * 3 / 75) * 0.2
- local function MagicBlock(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type, parent)
- local function part(formfactor, parent, reflectance, transparency, brickcolor, name, size)
- local fp = Instance.new("Part")
- fp.formFactor = formfactor
- fp.Parent = Effects
- fp.Reflectance = reflectance
- fp.Transparency = transparency
- fp.CanCollide = false
- fp.Locked = true
- fp.BrickColor = brickcolor
- fp.Name = name
- fp.Size = size
- fp.Position = torso.Position
- NoOutline(fp)
- fp.Material = "SmoothPlastic"
- fp:BreakJoints()
- return fp
- end
- local prt = part(3, char, 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = mesh("BlockMesh", prt, "", nil, Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- return prt, msh
- end
- if normcount % 3 == 0 then
- local mb = MagicBlock(BrickColor.new("Really red"), torso.CFrame * CFrame.new(math.random(-3, 3), math.random(-3, -3), math.random(-3, 3)) * CFrame.Angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 2, 2, 2, 2, 2, 2, 0.05, 2, Part)
- mb.Material = "Neon"
- local m = mesh("BlockMesh", mb, nil, nil, Vector3.new(0, 0, 0), Vector3.new(1, 1, 1))
- table.insert(partEffects, {
- mb,
- "MoveDisappear",
- 0.05,
- 0,
- 0.1,
- 0
- })
- end
- local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- local rotvel = RootPart.RotVelocity.Y
- local hitfloor, posfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, char)
- if attacking.Value == false then
- if 1 < RootPart.Velocity.y and hitfloor == nil then
- Anim = "Jump"
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(-15), 0, math.rad(0)), 0.1)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(-math.rad(17), 0, math.rad(12)), 0.2)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(0, 0, 0), 0.2)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(-math.rad(17), 0, -math.rad(12)), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(0, 0, 0), 0.2)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(0, 0, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(-12), math.rad(90), 0), 0.2)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(12), -math.rad(90), 0), 0.2)
- elseif RootPart.Velocity.y < -1 and hitfloor == nil then
- Anim = "Fall"
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(23), 0, 0), 0.2)
- Neck.C1 = clerp(Neck.C1, necko2 * CFrame.Angles(0, 0, 0), 0.2)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(0, 0, 0), 0.2)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * CFrame.Angles(-math.rad(17), 0, math.rad(12)), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(0, 0, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(-math.rad(17), 0, -math.rad(12)), 0.2)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0) * CFrame.Angles(0, 0, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.rad(24), math.rad(90), 0), 0.2)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(math.rad(-12), -math.rad(90), 0), 0.2)
- elseif torvel < 1 and hitfloor ~= nil then
- Anim = "Idle"
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(5), 0, math.rad(20)), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.new(0, 0, math.cos(normcount / 45) / 8) * CFrame.Angles(math.rad(0), 0, math.rad(-20)), 0.1)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, -0.1 + math.cos(normcount / 32) / 8, 0) * CFrame.Angles(math.rad(160), math.rad(45), 0), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1 + math.cos(normcount / 32) / 8, -0.2) * CFrame.Angles(math.rad(140), math.rad(-45), 0), 0.2)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1 - math.cos(normcount / 45) / 8, 0) * CFrame.Angles(math.rad(0), math.rad(95), 0) * CFrame.Angles(math.rad(0), 0, 0), 0.2)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1 - math.cos(normcount / 45) / 8, 0) * CFrame.Angles(math.rad(0), -math.rad(80), math.rad(0)) * CFrame.Angles(math.rad(0), 0, 0), 0.2)
- elseif torvel > 1 and hitfloor ~= nil then
- sinewave = sinewave / 10
- Anim = "Walk"
- Neck.C0 = clerp(Neck.C0, necko * CFrame.Angles(math.rad(0), math.rad(5), math.rad(70) + math.rad(rotvel * 4)), 0.1)
- RootJoint.C0 = clerp(RootJoint.C0, RootCF * CFrame.Angles(math.rad(0), math.rad(rotvel * 1), math.rad(-70)), 0.1)
- RW.C0 = clerp(RW.C0, CFrame.new(1.5, -0.1, 0) * CFrame.Angles(math.rad(150), math.rad(45), 0), 0.2)
- RW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.5, -0.1, -0.2) * CFrame.Angles(math.rad(130), math.rad(-45), 0), 0.2)
- LW.C1 = clerp(LW.C1, CFrame.new(0, 0.5, 0), 0.2)
- RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0) * CFrame.Angles(math.cos(normcount * 1 / 6), math.rad(105), 0), 0.2)
- LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0) * CFrame.Angles(-math.cos(normcount * 1 / 6), -math.rad(60), 0), 0.2)
- end
- RootJoint.C0 = clerp(RootJoint.C0, RootJoint.C0 * CFrame.new(0, 0, sinewave / 3), 0.1)
- RW.C0 = clerp(RW.C0, RW.C0 * CFrame.new(0, sinewave / 3, 0), 0.2)
- LW.C0 = clerp(LW.C0, LW.C0 * CFrame.new(0, sinewave / 3, 0), 0.2)
- RH.C0 = clerp(RH.C0, RH.C0 * CFrame.new(0, -sinewave / 3, 0), 0.2)
- LH.C0 = clerp(LH.C0, LH.C0 * CFrame.new(0, -sinewave / 3, 0), 0.2)
- end
- if AttackHas[1] < AttackNeeded[1] and AttackCan[1] == true then
- AttackHas[1] = AttackHas[1] + Attack1Get
- end
- if AttackHas[2] < AttackNeeded[2] and AttackCan[2] == true then
- AttackHas[2] = AttackHas[2] + Attack2Get
- end
- if AttackHas[3] < AttackNeeded[3] and AttackCan[3] == true then
- AttackHas[3] = AttackHas[3] + Attack3Get
- end
- if AttackHas[4] < AttackNeeded[4] and AttackCan[4] == true then
- AttackHas[4] = AttackHas[4] + Attack4Get
- end
- --[[
- Re1:TweenSize(UDim2.new(AttackHas[1] / AttackNeeded[1], 0, 1, 0), nil, 1, 0.4)
- Re2:TweenSize(UDim2.new(AttackHas[2] / AttackNeeded[2], 0, 1, 0), nil, 1, 0.4)
- Re3:TweenSize(UDim2.new(AttackHas[3] / AttackNeeded[3], 0, 1, 0), nil, 1, 0.4)
- Re4:TweenSize(UDim2.new(AttackHas[4] / AttackNeeded[4], 0, 1, 0), nil, 1, 0.4)
- ]]
- for i = 1, #partEffects do
- if partEffects[i] ~= nil then
- local Thing = partEffects[i]
- if Thing ~= nil then
- local Part = Thing[1]
- local Type = Thing[2]
- local Increment = Thing[3]
- local IncX = Thing[4]
- local IncY = Thing[5]
- local IncZ = Thing[6]
- local SizeX = Thing[7]
- local SizeY = Thing[8]
- local SizeZ = Thing[9]
- if 1 >= Part.Transparency then
- if Type == "Disappear" then
- Part.Transparency = Part.Transparency + Increment
- end
- if Type == "MoveDisappear" then
- Part.Transparency = Part.Transparency + Increment
- Part.CFrame = CFrame.new(Part.CFrame.X + IncX, Part.CFrame.Y + IncY, Part.CFrame.Z + IncZ) * randomangles()
- end
- if Type == "MoveBloom" then
- Part.Transparency = Part.Transparency + Increment
- Part.CFrame = Part.CFrame * CFrame.new(IncX, IncY, IncZ)
- Part.CFrame = Part.CFrame * CFrame.new(SizeX, SizeY, SizeZ)
- end
- if Type == "DiappearBloom" then
- Part.Transparency = Part.Transparency + Increment
- Part.CFrame = Part.CFrame * CFrame.new(IncX, IncY, IncZ)
- end
- else
- Part.Transparency = 1
- Part:Destroy()
- table.remove(partEffects, i)
- end
- end
- end
- end
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement