Untitled

Run Settings
LanguageLua
Language Version
Run Command
local tw = game:GetService("TweenService") local assets = game:GetService("ReplicatedStorage"):FindFirstChild("OniAssets") if not assets then assets = require(133834781574064):Clone() assets.Name = "OniAssets" assets.Parent = game:GetService("ReplicatedStorage") end local debug = false local no_cd = false local cool_guy = true local rnd = Random.new() local char = owner.Character local hum: Humanoid = char.Humanoid hum.WalkSpeed = 30 hum.MaxHealth = 15000 hum.Health = 15000 char:SetAttribute("OWS", hum.WalkSpeed) char:SetAttribute("OJH", hum.JumpHeight) local AnimationTrack = require(assets:WaitForChild("AnimationTrack")) local re = Instance.new("RemoteEvent") re.Name = "OniEvent" re.Parent = owner.Character local client = assets.Scripts.Client:Clone() client.Parent = re -- // tables local downs = {} local guids = {} local buttons = {} local dbs = { FlameActive = false } local order = { "Augimas", "RushAttack", "LegBreaker", "RisingDragon", "AxeKick", "Misogi", "RagingDemon", "ConsumingFlames", "DemonStep", "DemonFlip", "Pose" } local moves = { Augimas = {"q", "Augimas"}, RushAttack = {"m1", "Rush Attack"}, LegBreaker = {"e", "Leg Breaker"}, RisingDragon = {"r", "Rising Dragon"}, AxeKick = {"t", "Axe Kick"}, Misogi = {"y", "Misogi"}, RagingDemon = {"g", "Raging Demon"}, ConsumingFlames = {"h", "Consuming Flames"}, DemonStep = {"v", "Demon Step"}, DemonFlip = {"b", "Demon Flip"}, Pose = {"p", "Pose"} } local cds = { Pose = .5, Misogi = 0, Augimas = 0, AxeKick = 0, DemonFlip = 0, RushCount = 0, DemonStep = 0, LegBreaker = 0, RushAttack = 0, RushFinish = 2, RagingDemon = 0, RisingDragon = 0, ConsumingFlames = 0 } local stats = { RushAttack = { Stun = .5, Damage = 8, Sound = "Light", HitEffect = "Light", Knockback = {5, .05} }, RushFinish = { Stun = .8, Damage = 21, Sound = "Heavy", HitEffect = "Heavy", Knockback = {75, .25} }, Augimas = { Stun = 2, Ragdoll = 2, Damage = 20, Sound = "Heavy" }, LegBreaker = { Stun = 1, Ragdoll = 1, Damage = 15, Sound = "Heavy", HitEffect = "Heavy", Knockback = {10, .1} }, RisingDragon1 = { Stun = .5, Damage = 5, Ragdoll = .5, Sound = "Heavy", HitEffect = "Heavy", Knockback = {2, .15, Vector3.yAxis * 25} }, RisingDragon2 = { Stun = 1, Damage = 15, Ragdoll = 1, Sound = "Heavy", HitEffect = "Heavy", Knockback = {2, .15, Vector3.yAxis * 100} }, AxeKick = { Stun = 1.5, Ragdoll = 1, Damage = 35, Sound = "Heavy", HitEffect = "Heavy", Knockback = {60, .15, Vector3.yAxis * 25} }, Misogi = { Stun = 1, Damage = 20, Sound = "Heavy", HitEffect = "Heavy", Knockback = {1, .1, Vector3.yAxis * -30} }, DemonFlip = { Stun = 2, Damage = 20, Sound = "Heavy", HitEffect = "Heavy", Knockback = {25, .15} }, RagingDemon = { Damage = 1.5, DoNotKill = true, HitEffect = "Light" }, RagingDemonFinish = { Stun = 3, Damage = 31, Ragdoll = 2, HitEffect = "Heavy", Knockback = {100, .1} }, ConsumingFlames = { Stun = 3, Ragdoll = 3, Damage = 60, Sound = "Heavy", HitEffect = "Heavy", Knockback = {50, .15, Vector3.yAxis * 75} } } local taunts = { { "Both heaven and earth TREMBLE before my might!", "Taunt1", Timings = { ["Both heaven and earth "] = {.8, false} } }, { "This is... oblivion.", "Taunt2", Timings = { ["This is... "] = {.8, false} } }, { "Let me show you a TRUE blow!", "Taunt3" }, { "Do demons frighten you?", "Taunt4" }, } local kill_txts = { "Dead. Not big surprise.", "Retired!", "Arigato, loser.", "Top ten saddest attempts at anything ever", "Consider rokaing", "Outplayed!", "Failure!", "Oh come on, quit already!" } local over_txts = { "less gooo", "universal!", "outstanding!", "amazing!", "incredible!", "can you beat goku though?", "skill issue", "we do a little trolling", "absolute legend", "vec would be proud", "mad?", "It's skittles friday!", "Who's Joe?", "Style points!", "You're suppose to dodge that.", "FIGHT BACK!", "FIGHT BACK COME ON!", "Ah-Ah-Ah! It's - Your'oe.", "Doyjaainnnn!", "THAT'S A BIT...SUSPICIOUS", "Ok and?", "ONI COMBO", "GET HIM HE RKER!@#$!#", "YOOOOOOOOO!", "SWAG!", "Exaggerated Swagger of a Stand user!", "Next time i'll hit you with the- E+R+T+V+Y+LMB+LMB+LMB+F+H+U+E+R+F+LMB+LMB+LMB+LMB combo for sure!", "Hmmmm, nice!", "Do better!", "When Update?", "Smells like stand issue", "IS THAT A JOJO REFERENCE?", "Di Molto!", "Come back when you're a little richer", "MUDA!", "ORA!", "HORA!", "You appear to have been dunked on.", "This is the results.", "CHILL!", "Menacingゴ", "insert a quote", "WOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "Nice", "LET'S GO", "Get them!", "a little more!", "HUNT THEM DOWN", "THEY WERE TWO STEPS LATE", "either you or them!", "you ticked them off.", "DAMN", "skilful", "H", "m1 m1 m1 m1", "epic!" } local heat = Instance.new("IntValue") heat.Value = 1000 -- // back kanji local kanji = assets.Kanji:Clone() kanji.Parent = char kanji.Weld.Part0 = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso") -- // ui stuff local ui = assets.UI:Clone() ui.Quotes.Visible = false ui.Parent = owner.PlayerGui ui.Character.Info.Label.Text = owner.DisplayName ui.Character.Health.Container.Bar.Recovery.Visible = false ui.Character.Meter.Text.Label.Font = Enum.Font.ArimoBold local vp = Instance.new("ViewportFrame", ui.Character.Icon.Icon) vp.ZIndex = 4 vp.BackgroundTransparency = 1 vp.Size = UDim2.fromScale(1, 1) local wm = Instance.new("WorldModel", vp) local fake = game:GetService("Players"):CreateHumanoidModelFromUserId(owner.CharacterAppearanceId) fake.Parent = wm for _, v in pairs(fake:GetDescendants()) do if v:IsA("BasePart") then if v:FindFirstAncestorOfClass("Accessory") then local at = v:FindFirstChildOfClass("Attachment") v.CFrame = at.WorldCFrame * at.CFrame:Inverse() end v.Anchored = true end end local cam = Instance.new("Camera") cam.CFrame = fake.Head.CFrame * CFrame.new(0, 0, -3) * CFrame.Angles(0, math.pi, 0) vp.CurrentCamera = cam Instance.new("UICorner", vp).CornerRadius = UDim.new(1, 0) -- // https://devforum.roblox.com/t/the-ultimate-guide-to-custom-loadinghealth-bars/1323459 - op post local function hp_change(h) ui.Character.Health.Text.Value.Text = tostring(math.floor(h)) local scale = math.max(h / hum.MaxHealth, 0) local main = ui.Character.Health.Container.Bar.Main tw:Create(main, TweenInfo.new(1), {Size = UDim2.fromScale(scale, 1)}):Play() tw:Create(main.ImageLabel, TweenInfo.new(1), {Size = UDim2.fromScale((scale > 0 and (1 / scale) or 0), 1)}):Play() end hp_change(hum.Health) hum.HealthChanged:Connect(hp_change) for _, move in ipairs(order) do local v = moves[move] local button = ui.Moves.Assets.Button:Clone() button.Name = v[2] button.Visible = true button.Label.Text = v[2] button.Parent = ui.Moves button.Key.Text = string.upper(v[1]) button.Label.TextScaled = not button.Label.TextFits button.Key.TextScaled = (#(v[1]) > 1 and true or false) v[3] = button buttons[v[1]] = button button.MouseButton1Down:Connect(function() downs[v[1]] = true re:FireClient(owner, "DoMove", move) end) button.MouseButton1Up:Connect(function() downs[v[1]] = false end) end for i, taunt in ipairs(taunts) do local button = ui.Quotes.Assets.Button:Clone() button.Visible = true button.Name = taunt[1] button.Parent = ui.Quotes button.Label.Text = taunt[1] button.Key.Text = tostring(i) button.MouseButton1Down:Connect(function() re:FireClient(owner, "DoMove", `Taunt{i}`) end) end local menu_click = Instance.new("Sound", ui) menu_click.Name = "MenuClick" menu_click.SoundId = "rbxassetid://537744814" -- // animation stuff local function load(i) local cache = _G.animation_cache if not cache then cache = {} _G.animation_cache = cache end if not cache[i] then cache[i] = require(i) end return cache[i] end local anims = { Run = {0, true}, Idle = {2, true}, Jump = {0, true}, LMB1 = {4, false}, LMB2 = {4, false}, LMB3 = {4, false}, LMB4 = {4, false}, Misogi = {4, false}, Augimas = {4, false}, AxeKick = {4, false}, PoseLoop = {4, true}, PoseStart = {4, false}, DemonStep = {4, false}, DemonFlip = {4, false}, LegBreaker = {4, false}, RisingDragon = {4, false}, ConsumingFlames = {4, false}, RagingDemonUser = {4, false}, RagingDemonStart = {4, false}, } local dir = assets.Animations:FindFirstChild(hum.RigType.Name) for i, v in pairs(anims) do local module = load(dir:FindFirstChild(i)) local anim = AnimationTrack.new() anim.Looped = v[2] anim:AdjustWeight(v[1]) anim:setAnimation(module) anim:setRig(owner.Character) anims[i] = anim end anims.Run:Play() anims.Idle:Play() anims.Jump:Play() anims.Run.lerpFactor = .25 anims.Idle.lerpFactor = .2 anims.Jump.lerpFactor = .25 local demon_r6 = load(assets.Animations.R6.RagingDemonVictim) local demon_r15 = load(assets.Animations.R15.RagingDemonVictim) -- // sound stuff local sounds = { LMB1 = {2, 7.263, 7.508}, LMB2 = {2, 8.037, 8.439}, LMB3 = {2, 8.955, 9.343}, LMB4 = {2, 9.894, 10.557}, Light = {2, 4.725, 5.235}, Heavy = {2, 5.765, 6.666}, -- // spooky AugimasSFX = {2, 11.1, 12.215}, AugimasVFX = {2, 12.688, 13.41}, LegBreakerSFX = {.5, 13.96, 15.48}, LegBreakerVFX = {2, 16.055, 16.565}, RisingDragonSFX = {.5, 17.092, 19.296}, AxeKickSFX = {2, 21.2, 23.5}, AxeKickVFX = {2, 24.032, 25.478}, MisogiVFX = {2, 29.947, 31.212}, MisogiSFX = {2, 26.038, 27.455}, MisogiATK = {2, 27.981, 29.338}, RagingDemonSFX = {2, 42.017, 43.912}, RagingDemonVFX = {2, 54.517, 55.184}, RagingDemonCutsceneSFX = {2, 44.626, 53.813}, RagingDemonCutsceneVFX = {2, 55.754, 63.638}, ConsumingFlamesSFX = {2, 34.979, 38.404}, ConsumingFlamesVFX = {2, 39.406, 41.468}, DemonStep = {2, 75.9, 76.73}, DemonFlipSFX = {2, 31.821, 33.163}, DemonFlipVFX = {2, 33.704, 34.455}, -- // spooky x2 Taunt1 = {6, 77.252, 80.612}, Taunt2 = {6, 81.143, 83.468}, Taunt3 = {6, 83.954, 85.748}, Taunt4 = {6, 86.258, 87.545}, MeterUp1 = {3, 88.066, 90.188}, MeterUp2 = {3, 90.724, 93.385}, MeterUp3 = {3, 93.951, 96.321} } local preload = {} local base = Instance.new("Sound") base.PlaybackRegionsEnabled = true base.SoundId = "rbxassetid://18223229234" table.insert(preload, base) for i, v in sounds do local snd = base:Clone() snd.Name = i snd.Volume = v[1] snd.RollOffMaxDistance = 300 snd.PlaybackRegionsEnabled = true snd.PlaybackRegion = NumberRange.new(v[2], v[3]) table.insert(preload, snd) sounds[i] = snd end local theme = Instance.new("Sound", hum.RootPart) theme.Volume = .3 theme.Name = "Theme" theme.Looped = true theme.RollOffMaxDistance = 300 theme.SoundId = "rbxassetid://1837843587" table.insert(preload, theme) local snd = Instance.new("Sound") snd.Volume = 10 snd.Name = "PoseSFX" snd.RollOffMaxDistance = 300 snd.SoundId = "rbxassetid://18233466600" sounds.PoseSFX = snd table.insert(preload, snd) local snd = Instance.new("Sound") snd.Volume = 1 snd.Name = "PoseSFX2" snd.RollOffMaxDistance = 300 snd.SoundId = "rbxassetid://6550121325" sounds.PoseSFX2 = snd table.insert(preload, snd) local snd = Instance.new("Sound") snd.Volume = 3 snd.Name = "PoseVFX" snd.RollOffMaxDistance = 300 snd.SoundId = "rbxassetid://18233485622" sounds.PoseVFX = snd table.insert(preload, snd) local snd = Instance.new("Sound") snd.Volume = 2 snd.Name = "RisingDragonVFX" snd.RollOffMaxDistance = 300 snd.SoundId = "rbxassetid://18232696940" sounds.RisingDragonVFX = snd table.insert(preload, snd) game:GetService("ContentProvider"):PreloadAsync(preload) -- // functions local function change(ws, jh) hum.WalkSpeed = ws or char:GetAttribute("OWS") hum.JumpHeight = jh or char:GetAttribute("OJH") end local function nn(mn, mx, int) if int then return rnd:NextInteger(mn, mx) else return rnd:NextNumber(mn, mx) end end local function findhum(p) local mdl = p:FindFirstAncestorOfClass("Model") if mdl then return mdl:FindFirstChildOfClass("Humanoid") end end local function find_limb(n) if n == "Right Arm" then return char:FindFirstChild(n) or char:FindFirstChild("RightLowerArm") elseif n == "Left Arm" then return char:FindFirstChild(n) or char:FindFirstChild("LeftLowerArm") elseif n == "Right Leg" then return char:FindFirstChild(n) or char:FindFirstChild("RightLowerLeg") elseif n == "Left Leg" then return char:FindFirstChild(n) or char:FindFirstChild("LeftLowerLeg") elseif n == "Torso" then return char:FindFirstChild(n) or char:FindFirstChild("LowerTorso") end return char:FindFirstChild(n) end local function get_hums(pos, rad) local hums = {} local gotten = {} for _, v in pairs(workspace:GetPartBoundsInRadius(pos, rad)) do local hum = findhum(v) if hum and not gotten[hum] then gotten[hum] = true table.insert(hums, hum:FindFirstAncestorOfClass("Model")) end end return hums end local function hb(pt, cf, size, type, bl) local params = OverlapParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = {char, script, bl} if debug then local p = Instance.new("Part", workspace) p.Size = size p.Anchored = true p.CastShadow = false p.CanCollide = false p.CFrame = pt.CFrame * cf p.Material = "ForceField" p.Color = Color3.new(1, 0, 0) if type == "Magnitude" then p.Shape = "Ball" end coroutine.wrap(function() task.wait(.5) p:Destroy() end)() end local victims = {} local tbl if type == "Magnitude" then tbl = workspace:GetPartBoundsInRadius(pt.CFrame.Position, size.X / 2, params) else tbl = workspace:GetPartBoundsInBox(pt.CFrame * cf, size, params) end for _, hit in pairs(tbl) do local hum = findhum(hit) if hum and hum.RootPart then -- // and hum.Health > 0 then if not table.find(victims, hit:FindFirstAncestorOfClass("Model")) then table.insert(victims, hit:FindFirstAncestorOfClass("Model")) end end end table.sort(victims, function(a, b) return (hum.RootPart.Position - a.HumanoidRootPart.Position).Magnitude < (hum.RootPart.Position - b.HumanoidRootPart.Position).Magnitude end) return victims end local function dmgui(mdl, dmg) if mdl:GetAttribute("DeadNotBigSurprise") then return end local ui = mdl:FindFirstChild("DamageGUI") if not ui then ui = assets.DamageGUI:Clone() ui.Parent = mdl end local tb = ui.BBG.TextBox local ogdmg = tonumber(tb.Text) or 0 ogdmg += dmg local txt if math.floor(ogdmg) == ogdmg then txt = tostring(ogdmg) else txt = string.format("%.1f", tostring(ogdmg)) end if ogdmg > 100 then tb.Text = over_txts[rnd:NextInteger(1, #(over_txts))] ui.Name = "DisabledDamageGUI" elseif mdl:FindFirstChildWhichIsA("Humanoid", true).Health <= 0 then tb.Text = kill_txts[rnd:NextInteger(1, #(kill_txts))] ui.Name = "DisabledDamageGUI" mdl:SetAttribute("DeadNotBigSurprise", true) else tb.Text = txt end ui.BBG.Size = UDim2.new(10, 0, 2, 0) tb.TextTransparency = 0 tb.TextStrokeTransparency = 0 local hrp = mdl:FindFirstChild("Torso") or mdl:FindFirstChild("UpperTorso") or mdl:FindFirstChild("HumanoidRootPart") ui.CFrame = hrp.CFrame * CFrame.new(nn(-1, 1), nn(-1, 1), nn(-1, 1)) local inf1 = TweenInfo.new(.5, Enum.EasingStyle.Cubic,Enum.EasingDirection.Out) local inf2 = TweenInfo.new(3, Enum.EasingStyle.Quint, Enum.EasingDirection.In) tw:Create(ui.BBG, inf1, {Size = UDim2.fromScale(5, 1)}):Play() tw:Create(tb, inf1, {Rotation = nn(-15, 15)}):Play() tw:Create(ui, inf2, {CFrame = ui.CFrame * CFrame.new(0, -4, 0)}):Play() tw:Create(tb, inf2, {TextTransparency = 1, TextStrokeTransparency = 1}):Play() coroutine.wrap(function() repeat task.wait() until tb.TextTransparency >= .99 ui:Destroy() end)() end local function healui(mdl, dmg) local ui = mdl:FindFirstChild("HealGUI") if not ui then ui = assets.HealGUI:Clone() ui.Parent = mdl end local tb = ui.BBG.TextBox local ogdmg = tonumber(tb.Text) or 0 ogdmg += dmg local txt if math.floor(ogdmg) == ogdmg then txt = tostring(ogdmg) else txt = string.format("%.1f", tostring(ogdmg)) end tb.Text = txt ui.BBG.Size = UDim2.fromScale(10, 2) tb.TextTransparency = 0 tb.TextStrokeTransparency = 0 local hrp = mdl:FindFirstChild("Torso") or mdl:FindFirstChild("UpperTorso") or mdl:FindFirstChild("HumanoidRootPart") ui.CFrame = hrp.CFrame * CFrame.new(nn(-1, 1), nn(-1, 1), nn(-1, 1)) local inf1 = TweenInfo.new(.5, Enum.EasingStyle.Cubic,Enum.EasingDirection.Out) local inf2 = TweenInfo.new(3, Enum.EasingStyle.Quint, Enum.EasingDirection.In) tw:Create(ui.BBG, inf1, {Size = UDim2.fromScale(5, 1)}):Play() tw:Create(tb, inf1, {Rotation = nn(-15, 15)}):Play() tw:Create(ui, inf2, {CFrame = ui.CFrame * CFrame.new(0, -4, 0)}):Play() tw:Create(tb, inf2, {TextTransparency = 1, TextStrokeTransparency = 1}):Play() coroutine.wrap(function() repeat task.wait() until tb.TextTransparency >= .99 ui:Destroy() end)() end local function scale_pe(pe, scale) local old = pe.Parent local mdl = Instance.new("Model") pe.Parent = mdl mdl:ScaleTo(scale) pe.Parent = old --[[ local keypoints = {} for _, v in pe.Size.Keypoints do table.insert(keypoints, NumberSequenceKeypoint.new(v.Time, v.Value * scale)) end table.sort(keypoints, function(a, b) return a.Time < b.Time end) pe.Size = NumberSequence.new(keypoints) ]] end local function create_fx(t, victim, ep, scale) if typeof(ep) ~= "CFrame" then ep = ep or victim.HumanoidRootPart else local oep = ep ep = Instance.new("Part", workspace) ep.Anchored = true ep.Transparency = 1 ep.CanCollide = false ep.CanQuery = false ep.CanTouch = false ep.CFrame = oep task.delay(3, ep.Destroy, ep) end if not t then return end local effect = assets.Particles:FindFirstChild(t) local true_ver = assets.Particles.TrueOni:FindFirstChild(t) if true_ver and cool_guy and t ~= "AxeKick" and t ~= "ConsumingFlame" then effect = true_ver end local fx = effect:Clone() fx.Parent = ep fx.CanCollide = false fx.CanQuery = false fx.CanTouch = false fx.Size *= (scale or 1) fx.CFrame = CFrame.new(ep.Position, hum.RootPart.Position) if t ~= "Light" and t ~= "Heavy" then fx.CFrame = ep.CFrame end for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then v.Enabled = false if scale then scale_pe(v, scale) end task.delay(v:GetAttribute("EmitDelay") or 0, v.Emit, v, v:GetAttribute("EmitCount")) elseif v:IsA("Attachment") and scale then v.Position *= scale end end task.delay(5, fx.Destroy, fx) return fx end local function play(what, p, scf) if sounds[what] then local snd = sounds[what]:Clone() snd.Name = what snd.Parent = p or hum.RootPart local pt if scf ~= nil then pt = Instance.new("Part", workspace) pt.CFrame = scf pt.CanCollide = false pt.CanQuery = false pt.CanTouch = false pt.Anchored = true pt.Transparency = 1 pt.Size = Vector3.one snd.Parent = pt end snd:Play() snd.Ended:Once(function() task.wait(.1) snd:Destroy() if pt then pt:Destroy() end end) return snd end end local stuns = {} local function stun(hum, t) if t == 0 or nil then return end coroutine.wrap(function() local mdl = hum:FindFirstAncestorOfClass("Model") local sc = mdl:GetAttribute("StunCounter") or 0 mdl:SetAttribute("StunCounter", sc + 1) local ows = hum:GetAttribute("OWS") or hum.WalkSpeed hum:SetAttribute("OWS", ows) hum.WalkSpeed = .5 mdl:SetAttribute("Stunned", true) if not mdl:FindFirstChild("StunGUI") then local ui = assets.DamageGUI.BBG:Clone() ui.Name = "StunGUI" ui.Parent = mdl ui.TextBox.Text = "STUNNED" ui.ClipsDescendants = false ui.Size = UDim2.fromScale(3, 1.5) ui.StudsOffset = Vector3.new(0, 3, 0) ui.Adornee = mdl:FindFirstChild("Torso") or mdl:FindFirstChild("UpperTorso") or mdl:FindFirstChild("HumanoidRootPart") end coroutine.wrap(function() if not stuns[hum] then stuns[hum] = mdl.DescendantAdded:Connect(function() -- // game:GetService("RunService").PostSimulation:Connect(function() hum:UnequipTools() end) end end)() task.wait(t) if mdl:GetAttribute("StunCounter") ~= sc + 1 then return end mdl:SetAttribute("StunCounter", 0) if mdl:FindFirstChild("StunGUI") then mdl.StunGUI:Destroy() end mdl:SetAttribute("Stunned", false) hum.WalkSpeed = ows if stuns[hum] then stuns[hum]:Disconnect() stuns[hum] = nil end end)() end local function find_ground(pos, bl) local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = {char, script, bl} local result = workspace:Raycast(pos, Vector3.yAxis * -100, params) if result then return result.Position end end local function ragdoll(c, t) local ps = game:GetService("PhysicsService") if not ps:IsCollisionGroupRegistered("Players") then ps:RegisterCollisionGroup("Players") end if not ps:IsCollisionGroupRegistered("Collider") then ps:RegisterCollisionGroup("Collider") end ps:CollisionGroupSetCollidable("Players", "Collider", false) local hum = c:FindFirstChildOfClass("Humanoid") local hrp = c:FindFirstChild("HumanoidRootPart") or c:FindFirstChild("Torso") if not hrp then return end local cs = Instance.new("Folder", c) cs.Name = "ColliderFolder" local old = hum.RequiresNeck hum.PlatformStand = true hum.RequiresNeck = false hum.BreakJointsOnDeath = false for _, v in pairs(c:GetDescendants()) do if (v:IsA("Motor6D") or v:IsA("Motor")) and v.Name ~= "RootJoint" and v.Name ~= "Root" then local bcs = Instance.new("BallSocketConstraint", v.Part0) bcs.Name = "RagdollSocket" v.Part1.CanCollide = false v.Part0.CanCollide = false v.Part1.CollisionGroup = "Players" local fake = Instance.new("Part", cs) fake.Transparency = 1 fake.Massless = true fake.CanCollide = false fake.Name = v.Part1.Name fake.Size = v.Part1.Size / 2 fake.CFrame = v.Part1.CFrame fake.CollisionGroup = "Collider" local w = Instance.new("WeldConstraint", fake) w.Part0 = v.Part1 w.Part1 = fake local a1 = Instance.new("Attachment", v.Part0) a1.Name = "RagdollAttachment" local a2 = Instance.new("Attachment", v.Part1) a2.Name = "RagdollAttachment" a2.Position = v.C1.Position a1.WorldPosition = a2.WorldPosition bcs.LimitsEnabled = true bcs.TwistLimitsEnabled = true bcs.Attachment0 = a1 bcs.Attachment1 = a2 local w if (v.Part0 ~= c.PrimaryPart and v.Part1 ~= c.PrimaryPart) or v.Name == "Neck" then v.Enabled = false fake.CanCollide = true else w = Instance.new("WeldConstraint", hrp) w.Part0 = c.PrimaryPart w.Part1 = (c.PrimaryPart == v.Part1 and v.Part0 or v.Part1) end coroutine.wrap(function() if t ~= nil and tonumber(t) ~= nil then task.wait(t) hum.RequiresNeck = old v.Enabled = true hum.PlatformStand = false fake:Destroy() if w then task.delay(1, w.Destroy, w) end task.delay(1, bcs.Destroy, bcs) end end)() end end end local function attack(tbl, stats, ep) local victims = tbl if #(victims) ~= 0 then local snd = stats.Sound if stats.Sound then if typeof(stats.Sound) == "table" then snd = stats.Sound[math.random(1, #(stats.Sound))] end end play(snd, victims[1]:FindFirstChild("HumanoidRootPart")) end local dmg = stats.Damage or 0 dmg *= (dbs.FlameActive and 1.25 or 1) for _, victim in pairs(victims) do coroutine.wrap(function() local thum, hrp = victim:FindFirstChildWhichIsA("Humanoid"), victim:FindFirstChild("HumanoidRootPart") if thum.Health - dmg <= 0 and stats.DoNotKill then thum.Health = .01 else thum.Health -= dmg end stun(thum, stats.Stun) if dmg > 0 then heat.Value = math.clamp(heat.Value + dmg / 3, 0, 100) dmgui(victim, dmg) end if stats.Animation then coroutine.wrap(function() if not guids[victim] then guids[victim] = {} end if guids[victim][stats.Animation] then local anim = guids[victim][stats.Animation] anim:Play(stats.AnimationSpeed) return end local anim = AnimationTrack.new() anim:setAnimation(stats.Animation) anim:AdjustWeight(10) anim:setRig(victim) anim.lerpFactor = 1 anim:Play(stats.AnimationSpeed) guids[victim][stats.Animation] = anim end)() end if stats.Ragdoll then coroutine.wrap(ragdoll)(victim, stats.Ragdoll) end if stats.Knockback then local bv = Instance.new("BodyVelocity", hrp) bv.MaxForce = Vector3.one * 10000000 bv.Velocity = hum.RootPart.CFrame.LookVector * stats.Knockback[1] + (stats.Knockback[3] or Vector3.zero) task.delay(stats.Knockback[2], bv.Destroy, bv) end create_fx(stats.HitEffect, victim, ep) end)() end end local function linger(n, stats, dmg_stats, w) local bl = {} if #(stats) == 3 then table.insert(stats, "Box") end table.insert(stats, bl) task.spawn(function() for _ = 1, n do local inhb = hb(table.unpack(stats)) for _, v in pairs(inhb) do table.insert(bl, v) end attack(inhb, dmg_stats) if w then task.wait(w) else task.wait() task.wait() end end end) end local function create_cd(name) local rname = name if name == "RushFinish" then rname = "RushAttack" end local button = moves[rname][3] local meter = button.Cooldown.Meter if not no_cd then meter.Size = UDim2.fromScale(1, 1) tw:Create(meter, TweenInfo.new(.1), {BackgroundTransparency = .75}):Play() tw:Create(meter, TweenInfo.new(cds[name], Enum.EasingStyle.Linear), {Size = UDim2.fromScale(0, 1)}):Play() task.wait(cds[name]) end dbs[rname] = false meter.BackgroundTransparency = 1 end local function emit(v, nod) local delay = (nod and 0 or v:GetAttribute("EmitDelay")) delay = delay or 0 task.delay(delay, function() local s = tick() repeat v:Emit(v:GetAttribute("EmitCount")) task.wait(1 / v.Rate) until tick() - s >= (v:GetAttribute("EmitDuration") or 0) end) end local function emit_2(v, p) task.spawn(function() while v.Enabled and p.Parent and v.Rate > 0 do task.wait(1 / v.Rate) v:Emit(1) end end) end local function lerp(a, b, t) return a + (b - a) * t end local function tween_scale(pe, scl, t) local dt = 0 local points = pe.Size.Keypoints task.spawn(function() while dt < t do dt += task.wait() local kps = {} for _, v in ipairs(points) do table.insert(kps, NumberSequenceKeypoint.new(v.Time, lerp(v.Value, v.Value * scl, dt / t))) end pe.Size = NumberSequence.new(kps) end end) end local function rocky(args) assert(args.Origin, "No origin data.") local orig = args.Origin local amt = args.Amount or 30 local life = args.Lifetime or 3 local radius = args.Radius or 20 local delay = args.DelayAmount or .05 local size = args.Size or Vector3.one * 2 local a, b = 30, 360 / amt if typeof(orig) == "Instance" then orig = orig.CFrame end orig *= (args.Offset or CFrame.new()) local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = {char, script, args.Exclude} local rocks = Instance.new("Model", workspace) rocks.Name = "Rocks" if args.AttachTo then args.BypassDuration = true args.AttachTo.Destroying:Connect(function() rocks:Destroy() end) end if not args.BypassDuration then task.delay(life + delay * amt + .5, rocks.Destroy, rocks) end for _ = 1, amt do local r1 = workspace:Raycast( (orig * CFrame.Angles(0, math.rad(a), 0) * CFrame.new(radius / 2 + radius / 2.7, 10, 0)).Position, Vector3.yAxis * -20, params ) local r2 = workspace:Raycast( (orig * CFrame.Angles(0, math.rad(a), 0) * CFrame.new(radius / 2 + radius / 10, 10, 0)).Position, Vector3.yAxis * -20, params ) if r1 and r2 then local rock = Instance.new("Part", rocks) rock.Anchored = true rock.CanCollide = false rock.CanQuery = false rock.CanTouch = false rock.Material = r1.Material rock.Color = r1.Instance.Color rock.TopSurface = Enum.SurfaceType.Smooth rock.BottomSurface = Enum.SurfaceType.Smooth rock.Size = Vector3.new(size.X * 1.3, size.Y / 1.4, size.Z * 1.3) * nn(1, 1.5) rock.CFrame = CFrame.new( r1.Position - (Vector3.yAxis / 2), orig.Position ) * CFrame.Angles( nn(-.25, .5), nn(-.25, .25), nn(-.25, .25) ) for _, v in pairs(r1.Instance:GetChildren()) do if v:IsA("Texture") then for _, face in pairs(Enum.NormalId:GetEnumItems()) do local txt = v:Clone() txt.Face = face txt.Parent = rock end end end local stone = rock:Clone() stone.Parent = rocks stone.Size = Vector3.new(rock.Size.X * 1.01, rock.Size.Y * .25, rock.Size.Z * 1.01) stone.CFrame = rock.CFrame * CFrame.new(0, rock.Size.Y / 2 - stone.Size.Y / 2.1, 0) local rubble = rock:Clone() rubble.Parent = rocks rubble.CFrame = CFrame.new( r2.Position - (Vector3.yAxis * size * .4), orig.Position ) * CFrame.Angles( nn(-1, -.3), nn(-.15, .15), nn(-.15, .15) ) local pebble = stone:Clone() pebble.Parent = rocks pebble.CFrame = rubble.CFrame * CFrame.new(0, rubble.Size.Y / 2 - pebble.Size.Y / 2.1, 0) if not args.BypassDuration then task.delay(life + 1 * delay, function() for _, v in pairs(rocks:GetChildren()) do tw:Create( v, TweenInfo.new(1), { Size = Vector3.zero, Position = v.CFrame.Position - Vector3.yAxis * (v.Size.Y + 2) } ):Play() end end) end end a += b end end local function rocky_2(args) assert(args.Origin, "No origin data.") local orig = args.Origin local amt = args.Amount local size = args.Size or NumberRange.new(1, 3) local uvl = args.UpVelocity or NumberRange.new(40, 50) local svl = args.SideVelocity or NumberRange.new(-50, 50) local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = {char, script, args.Exclude} local result = workspace:Raycast(orig.Position, Vector3.yAxis * -50, params) if not result then return end for _ = 1, amt do local rock = assets.Particles.LimbTrail:Clone() rock.Parent = workspace rock.Anchored = false rock.Transparency = 0 rock.Position = result.Position rock.Material = result.Material rock.Color = result.Instance.Color rock.TopSurface = Enum.SurfaceType.Smooth rock.BottomSurface = Enum.SurfaceType.Smooth rock.AssemblyAngularVelocity = Vector3.one * math.random() rock.Size = Vector3.new( nn(size.Min, size.Max), nn(size.Min, size.Max), nn(size.Min, size.Max) ) rock.Orientation = Vector3.new( nn(-180, 180), nn(-180, 180), nn(-180, 180) ) task.delay(.5, function() rock.CanCollide = true end) for _, v in pairs(rock:GetDescendants()) do if v:IsA("Attachment") then v.Position *= Vector3.new(rock.Size.Magnitude / 2, 1, 1) -- // Vector3.new(v.Position.X, v.Position.Y * rock.Size.Magnitude / 2, v.Position.Z) elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = true task.delay(1, function() v.Enabled = false end) if v:IsA("ParticleEmitter") then scale_pe(v, rock.Size.Magnitude / 3) emit_2(v, rock) end end end for _, v in pairs(result.Instance:GetChildren()) do if v:IsA("Texture") then for _, face in pairs(Enum.NormalId:GetEnumItems()) do local txt = v:Clone() txt.Face = face txt.Parent = rock end end end local bv = Instance.new("BodyVelocity", rock) bv.MaxForce = Vector3.one * 10e7 bv.Velocity = Vector3.new( nn(svl.Min, svl.Max), nn(uvl.Min, uvl.Max), nn(svl.Min, svl.Max) ) task.delay(.2, bv.Destroy, bv) task.delay(3, function() tw:Create(rock, TweenInfo.new(3), {Size = Vector3.zero}):Play() task.wait(3) rock:Destroy() end) end end local function bezier(a, b, c, t) return (1 - t) ^ 2 * a + 2 * (1 - t) * t * b + t ^ 2 * c end local function not_rocky_3(v, pos, t) local a = v.Position local midpoint = (a + pos) / 2 local b = (CFrame.new(midpoint) * CFrame.Angles(v:ToEulerAnglesXYZ())) * CFrame.new(nn(-36, 36), nn(0, 36), 0) local c = pos local trail = assets.Particles.LimbTrail:Clone() trail.Position = pos trail.Parent = workspace trail.Anchored = true for _, v in pairs(trail:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = true if v:IsA("ParticleEmitter") then scale_pe(v, .3) emit_2(v, trail) end end end task.spawn(function() local s = tick() while (tick() - s) < t do task.wait() trail.Position = bezier(a, b.Position, c, (tick() - s) / t) end for _, v in pairs(trail:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = false end end task.delay(2, trail.Destroy, trail) end) end local flashing = false local function flash_heat(am) if flashing then return end flashing = true local main = ui.Character.Meter.Container.Bar.Flash local scale = math.max(am / 100, 0) main.Visible = true main.Size = UDim2.fromScale(scale, 1) main.ImageLabel.Size = UDim2.fromScale((scale > 0 and (1 / scale) or 0), 1) tw:Create(main.ImageLabel, TweenInfo.new(.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, true), {ImageTransparency = .5}):Play() task.delay(.5, function() flashing = false end) end local function cam_shake(plr, type, amt) local ls = assets.Scripts.CameraShaker:Clone() ls:WaitForChild("Type").Value = type ls:WaitForChild("Amount").Value = amt or 1 ls.Parent = plr.PlayerGui ls.Enabled = true task.delay(3, ls.Destroy, ls) end -- // moves local function taunt(data) local ui if not char.Head:FindFirstChild("Taunt") then ui = assets.Taunt:Clone() ui.Parent = char.Head else ui = char.Head:FindFirstChild("Taunt") end ui.Text.Text = "" task.wait() tw:Create(ui.Text, TweenInfo.new(.5), {TextTransparency = 0}):Play() tw:Create(ui.Text, TweenInfo.new(.5), {TextStrokeTransparency = .75}):Play() coroutine.wrap(function() for i = 1, #(data[1]) do task.wait(.03) ui.Text.Text = string.sub(data[1], 1, i) if data.Timings then for part, time in pairs(data.Timings) do if ui.Text.Text == part and not time[2] then time[2] = true task.wait(time[1]) end end end end end)() local snd = play(data[2]) snd.Ended:Wait() if data.Timings then for _, time in pairs(data.Timings) do time[2] = false end end task.wait(1) tw:Create(ui.Text, TweenInfo.new(.5), {TextTransparency = 1}):Play() tw:Create(ui.Text, TweenInfo.new(.5), {TextStrokeTransparency = 1}):Play() task.wait(.5) dbs.Taunt = false end local function augimas() if dbs.Augimas or dbs.Stunned or dbs.PoseActive then return end if heat.Value < 20 then flash_heat(20) return end heat.Value = math.clamp(heat.Value - 20, 0, 100) local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://438666196" --snd.PlaybackSpeed = 2 snd.Volume = 3 snd:Play() change(4, 0) dbs.Stunned = true dbs.Augimas = true play("AugimasVFX") anims.Augimas:Play(1.5) anims.Augimas.Stall = .3 task.wait(.125) local mdl = Instance.new("Model", workspace) local n = Instance.new("NumberValue", mdl) n.Value = (.1 / 3) local orb = assets.Particles.Augimas:Clone() orb.Parent = mdl orb.Anchored = false local w = Instance.new("Weld", orb) w.Part0 = find_limb("Right Arm") w.Part1 = orb w.C0 = CFrame.new(0, -(w.Part0.Size.Y / 2) - .05, 0) tw:Create(n, TweenInfo.new(1), {Value = 1}):Play() tw:Create(w, TweenInfo.new(1), {C0 = CFrame.new(0, -(w.Part0.Size.Y / 2) - 1.5, 0)}):Play() for _, v in pairs(orb.Attachment:GetChildren()) do v.Enabled = true emit_2(v, mdl) end local cnt cnt = n.Changed:Connect(function() mdl:ScaleTo(n.Value) if n.Value == 1 then cnt:Disconnect() end end) task.wait(.35) play("AugimasSFX").PlaybackSpeed = .95 w:Destroy() orb.Anchored = true orb.A0.Trail.Enabled = true orb.CFrame = hum.RootPart.CFrame * CFrame.new(0, 0, -1) for _, v in pairs(orb.Shoot:GetChildren()) do emit(v) end for _, v in pairs(orb.Wind:GetChildren()) do v.Enabled = true emit_2(v, mdl) end create_fx("Shoot", nil, hum.RootPart.CFrame) local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://97847167833189" --snd.PlaybackSpeed = 2 snd2.Volume = 3 snd2:Play() local bv = Instance.new("BodyVelocity", hum.RootPart) bv.MaxForce = Vector3.one * 10e5 bv.Velocity = hum.RootPart.CFrame.LookVector * -84 task.delay(.1, bv.Destroy, bv) anims.Augimas.Stopped:Once(function() change() dbs.Stunned = false create_cd("Augimas") end) local start = orb.Position task.delay(8, mdl.Destroy, mdl) task.spawn(function() while (start - orb.Position).Magnitude <= 1024 and mdl.Parent do local dist = orb.CFrame.LookVector local tdist = (dist * 2) * (task.wait() * 60) local params = RaycastParams.new() params.FilterDescendantsInstances = {char, script} params.FilterType = Enum.RaycastFilterType.Exclude local ray = workspace:Spherecast(orb.Position, orb.Size.X / 2, tdist, params) if ray then mdl:Destroy() local fx = create_fx("Explosion", nil, CFrame.new(ray.Position)) local snd3 = Instance.new("Sound") snd3.Parent = fx snd3.SoundId = "rbxassetid://8128414255" --snd3.PlaybackSpeed = 2 snd3.Volume = 3 snd3:Play() local inhb = hb(fx, CFrame.new(), Vector3.one * 18, "Magnitude") attack(inhb, stats.Augimas) for _, v in pairs(inhb) do local bv = Instance.new("BodyVelocity", v.HumanoidRootPart) bv.MaxForce = Vector3.one * 10e5 bv.Velocity = CFrame.new(fx.Position, v.HumanoidRootPart.Position).LookVector.Unit * 50 + Vector3.yAxis * 35 task.delay(.1, bv.Destroy, bv) end break end orb.CFrame += tdist end end) end local function rush_attack() if dbs.RushAttack or dbs.Stunned or dbs.PoseActive then return end change(8, 0) dbs.Stunned = true dbs.RushAttack = true local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://17577462807" --snd.PlaybackSpeed = 2 snd.Volume = 2 snd:Play() local anim = anims[`LMB{cds.RushCount}`] anim:AdjustWeight(4 + (cds.RushCount / 10)) anim.lerpFactor = 1 anim.Stall = .1 anim:Play() if cds.RushCount == 4 then cds.RushCount = 1 task.delay(.3, linger, 5, {hum.RootPart, CFrame.new(0, 0, -4), Vector3.one * 7}, stats.RushFinish) task.delay(.6, function() dbs.Stunned = false change() end) create_cd("RushFinish") else cds.RushCount += 1 task.delay(.3, linger, 5, {hum.RootPart, CFrame.new(0, 0, -4), Vector3.one * 7}, stats.RushAttack) coroutine.wrap(function() local clmb = cds.RushCount task.wait(cds.RushFinish / 2 + .4) if cds.RushCount == clmb then cds.RushCount = 1 end end)() create_cd("RushAttack") dbs.Stunned = false change() end end local function leg_breaker() if dbs.LegBreaker or dbs.Stunned or dbs.PoseActive then return end change(4, 0) dbs.Stunned = true dbs.LegBreaker = true play("LegBreakerVFX") play("LegBreakerSFX") local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://8128405702" --snd.PlaybackSpeed = 2 snd2.Volume = 2 snd2:Play() anims.LegBreaker:Play() local fx = assets.Particles.LimbTrail:Clone() fx.Parent = char task.delay(2, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = find_limb("Right Leg") w.Part1 = fx w.C0 = CFrame.new(0, -(w.Part0.Size.Y / 2), 0) for _, v in pairs(fx:GetDescendants()) do if v:IsA("Trail") or v:IsA("ParticleEmitter") then v.Enabled = true if v:IsA("ParticleEmitter") then emit_2(v, fx) end task.delay(.3, function() v.Enabled = false end) end end local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://8128413192" --snd.PlaybackSpeed = 2 snd2.Volume = 1 snd2:Play() task.delay(.25, create_fx, "LegBreaker", nil, hum.RootPart.CFrame * CFrame.new(0, -3, 0)) task.delay(.25, linger, 5, {hum.RootPart, CFrame.new(0, 0, -5.5), Vector3.one * 11}, stats.LegBreaker) anims.LegBreaker.Stopped:Wait() change() dbs.Stunned = false create_cd("LegBreaker") end local function rising_dragon() if dbs.RisingDragon or dbs.Stunned or dbs.PoseActive then return end local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://78375023254173" --snd.PlaybackSpeed = 1 snd.Volume = 2 snd:Play() change(6, 0) dbs.Stunned = true dbs.RisingDragon = true play("RisingDragonVFX") play("RisingDragonSFX") local voice = Instance.new("Sound") voice.Parent = hum.RootPart voice.SoundId = "rbxassetid://7884894495" --voice.PlaybackSpeed = 2 voice.Volume = 1 voice:Play() anims.RisingDragon:Play() local fx = assets.Particles.LimbTrail:Clone() fx.Parent = char task.delay(2, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = find_limb("Right Arm") w.Part1 = fx w.C0 = CFrame.new(0, -(w.Part0.Size.Y / 2), 0) for _, v in pairs(fx:GetDescendants()) do if v:IsA("Trail") or v:IsA("ParticleEmitter") then v.Enabled = true if v:IsA("ParticleEmitter") then emit_2(v, fx) end task.delay(1, function() v.Enabled = false end) end end task.wait(.25) create_fx("RisingDragon", nil, hum.RootPart.CFrame * CFrame.new(0, -3, 0)) local snd1 = Instance.new("Sound") snd1.Parent = hum.RootPart snd1.SoundId = "rbxassetid://9120629501" snd1.PlaybackSpeed = 0.8 snd1.Volume = 1 snd1:Play() linger(5, {hum.RootPart, CFrame.new(0, 0, -5.5), Vector3.new(11, 14, 11)}, stats.RisingDragon1) task.wait(.5) local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://1112042117" snd2.PlaybackSpeed = 2 snd2.Volume = 1 snd2:Play() create_fx("RisingDragon", nil, hum.RootPart.CFrame * CFrame.new(0, -3, 0)) linger(5, {hum.RootPart, CFrame.new(0, 0, -5.5), Vector3.new(11, 14, 11)}, stats.RisingDragon2) task.wait(.2) dbs.RisingDragonLast = true task.delay(1, function() dbs.RisingDragonLast = false end) change() dbs.Stunned = false create_cd("RisingDragon") end local function axe_kick() if dbs.AxeKick or dbs.Stunned or dbs.PoseActive then return end change(4, 0) dbs.Stunned = true dbs.AxeKick = true play("AxeKickVFX") play("AxeKickSFX") local snd1 = Instance.new("Sound") snd1.Parent = hum.RootPart snd1.SoundId = "rbxassetid://78375023254173" --snd1.PlaybackSpeed = 1 snd1.Volume = 2 snd1:Play() local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://8128431961" --snd2.PlaybackSpeed = 1 snd2.Volume = 1 snd2:Play() anims.AxeKick:Play() task.wait(.25) local fx = assets.Particles.LimbTrail:Clone() fx.Parent = char local at = assets.Particles.Start.Attachment:Clone() at.Name = "Start" at.Parent = fx task.delay(2, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = find_limb("Left Leg") w.Part1 = fx w.C0 = CFrame.new(0, -(w.Part0.Size.Y / 2), 0) for _, v in pairs(fx:GetDescendants()) do if v:IsA("Trail") or v:IsA("ParticleEmitter") then v.Enabled = true if v:IsA("ParticleEmitter") then if v.Parent ~= at then emit_2(v, fx) else v.Enabled = false emit(v) end end task.delay(.4, function() v.Enabled = false end) end end task.wait(.25) for _, plr in pairs(game:GetService("Players"):GetPlayers()) do if plr and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and (plr.Character.HumanoidRootPart.Position - hum.RootPart.Position).Magnitude <= 16 then cam_shake(plr, "ViolentShake") end end linger(5, {hum.RootPart, CFrame.new(0, -2, -3.5), Vector3.one * 13, "Magnitude"}, stats.AxeKick) local cf = hum.RootPart.CFrame * CFrame.new(0, 0, -3.5) create_fx("AxeKick", nil, cf * CFrame.new(0, -3, 0)) local voice = Instance.new("Sound") voice.Parent = hum.RootPart voice.SoundId = "rbxassetid://2341638455" --voice.PlaybackSpeed = 1 voice.Volume = 1 voice:Play() local snd3 = Instance.new("Sound") snd3.Parent = hum.RootPart snd3.SoundId = "rbxassetid://3932587669" --snd3.PlaybackSpeed = 1 snd3.Volume = 1 snd3:Play() coroutine.wrap(rocky)({ Radius = 8, Amount = 16, Origin = cf, Exclude = get_hums(cf.Position, 8) }) coroutine.wrap(rocky_2)({ Amount = 8, Origin = cf, Size = NumberRange.new(1, 2), UpVelocity = NumberRange.new(55, 60), SideVelocity = NumberRange.new(-40, 40), Exclude = get_hums(cf.Position, 8) }) local snd4 = Instance.new("Sound") snd4.Parent = hum.RootPart snd4.SoundId = "rbxassetid://8128398878" --snd4.PlaybackSpeed = 1 snd4.Volume = 1 snd4:Play() anims.AxeKick.Stopped:Wait() change() dbs.Stunned = false create_cd("AxeKick") end local function misogi() if dbs.Misogi or dbs.Stunned or dbs.PoseActive then return end if heat.Value < 20 then flash_heat(20) return end local inhb = hb(hum.RootPart, CFrame.new(), Vector3.one * 64, "Magnitude") if #(inhb) <= 0 then return end local snd1 = Instance.new("Sound") snd1.Parent = hum.RootPart snd1.SoundId = "rbxassetid://438666196" --snd1.PlaybackSpeed = 1 snd1.Volume = 2 snd1:Play() local vhrp = inhb[1].HumanoidRootPart heat.Value = math.clamp(heat.Value - 20, 0, 100) change(2, 0) dbs.Misogi = true dbs.Stunned = true play("MisogiSFX") play("MisogiATK") local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://3518146972" --snd2.PlaybackSpeed = 1 snd2.Volume = 2 snd2:Play() if not dbs.RisingDragonLast then play("MisogiVFX") end anims.Misogi:Play(1.25) hum.RootPart.Anchored = true local fx = assets.Particles.MisogiCharge:Clone() fx.Parent = workspace fx.Anchored = true fx.CFrame = hum.RootPart.CFrame - Vector3.yAxis * 3 task.delay(2, fx.Destroy, fx) local snd3 = Instance.new("Sound") snd3.Parent = fx snd3.SoundId = "rbxassetid://3518167306" --snd3.PlaybackSpeed = 1 snd3.Volume = 2 snd3:Play() for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit_2(v, fx) task.delay(.5, function() v.Enabled = false end) end end task.wait(.32) --[[ local bv = Instance.new("BodyVelocity", hum.RootPart) bv.MaxForce = Vector3.yAxis * 10e5 bv.Velocity = Vector3.yAxis * 100 task.delay(.1, bv.Destroy, bv) ]] tw:Create(hum.RootPart, TweenInfo.new(.25), {CFrame = hum.RootPart.CFrame + Vector3.yAxis * 25}):Play() local fx = assets.Particles.MisogiTrail:Clone() fx.Parent = workspace fx.Anchored = false task.delay(2, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = hum.RootPart w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit_2(v, fx) task.delay(.5, function() v.Enabled = false end) end end task.wait(.28) --[[ local bv = Instance.new("BodyVelocity", hum.RootPart) bv.MaxForce = Vector3.yAxis * 10e5 bv.Velocity = Vector3.yAxis * -100 task.delay(.1, bv.Destroy, bv) ]] local cf = CFrame.new(vhrp.Position) * CFrame.Angles(0, math.rad(vhrp.Orientation.Y), 0) hum.RootPart.CFrame = cf * CFrame.new(0, 25, -1) * CFrame.Angles(0, math.pi, 0) local ground = find_ground(hum.RootPart.Position, get_hums(hum.RootPart.Position, 32)) if ground then tw:Create(hum.RootPart, TweenInfo.new(.23), {CFrame = CFrame.new(ground + Vector3.yAxis * 3) * CFrame.Angles(hum.RootPart.CFrame:ToEulerAnglesXYZ())}):Play() else tw:Create(hum.RootPart, TweenInfo.new(.23), {CFrame = hum.RootPart.CFrame - Vector3.yAxis * 22}):Play() end linger(8, {hum.RootPart, CFrame.new(), Vector3.new(9, 16, 9)}, stats.Misogi) task.wait(.3) anims.Misogi:Stop() change() dbs.Stunned = false hum.RootPart.Anchored = false create_cd("Misogi") end local function rd_cam(plr) local ls = assets.Scripts.CameraScript:Clone() ls:WaitForChild("Origin").Value = hum.RootPart.CFrame ls.Parent = plr.PlayerGui ls.Enabled = true task.delay(20, ls.Destroy, ls) end local function raging_demon() if dbs.RagingDemon or dbs.Stunned or dbs.PoseActive then return end if heat.Value < 50 then flash_heat(50) return end local voice = Instance.new("Sound") voice.Parent = hum.RootPart voice.SoundId = "rbxassetid://9067999882" --voice.PlaybackSpeed = 1 voice.Volume = 1 voice:Play() local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://8649690928" --snd.PlaybackSpeed = 1 snd.Volume = 1 snd:Play() change(2, 0) dbs.Stunned = true dbs.RagingDemon = true play("RagingDemonVFX") play("RagingDemonSFX") anims.RagingDemonStart:Play() anims.RagingDemonStart.Stall = .5 task.spawn(function() for _ = 1, 8 do not_rocky_3( hum.RootPart.CFrame * CFrame.new(nn(-4, 4), 0, -24 + nn(-3, 3)), (hum.RootPart.CFrame * CFrame.new(0, 0, 3)).Position, .9 ) end char.Archivable = true local ps = game:GetService("PhysicsService") if not ps:IsCollisionGroupRegistered("OniClones") then ps:RegisterCollisionGroup("OniClones") end ps:CollisionGroupSetCollidable("OniClones", "Default", false) for i = -1, 1, 2 do local afterimage = char:Clone() local w = Instance.new("Weld", afterimage) w.Part0 = hum.RootPart w.Part1 = afterimage.HumanoidRootPart tw:Create(w, TweenInfo.new(.5), {C0 = CFrame.new(i * 3, 0, 0)}):Play() local ahum = afterimage.Humanoid ahum.MaxHealth = 10e7 ahum.Health = 10e7 ahum.DisplayName = "" ahum.NameOcclusion = Enum.NameOcclusion.NoOcclusion ahum.HealthDisplayType = Enum.HumanoidHealthDisplayType.AlwaysOff for _, v in pairs(Enum.HumanoidStateType:GetEnumItems()) do ahum:SetStateEnabled(v, false) end for _, v in pairs(afterimage:GetDescendants()) do if v:IsA("Motor6D") and v:FindFirstChild("AWeld") then task.spawn(function() local real = char:FindFirstChild(v.Name, true) while v.Part1.Transparency ~= 1 and v:FindFirstChild("AWeld") and real:FindFirstChild("AWeld") do task.wait() if v:FindFirstChild("AWeld") and real:FindFirstChild("AWeld") then v.AWeld.C0 = real.AWeld.C0 end end end) elseif v:IsA("BasePart") then v.CanCollide = false v.CanQuery = false v.CanTouch = false v.Massless = true v.Anchored = false v.CollisionGroup = "OniClones" elseif v:IsA("Sound") or v:IsA("ForceField") or v:IsA("BillboardGui") then v:Destroy() end if v:IsA("Decal") or v:IsA("Texture") or v:IsA("BasePart") then -- // local old = v.Transparency -- // v.Transparency = 1 -- // tw:Create(v, TweenInfo.new(.5), {Transparency = old}):Play() tw:Create(v, TweenInfo.new( .5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, .5 ), {Transparency = 1}):Play() task.delay(1, v.Destroy, v) end end afterimage.Parent = workspace end end) task.wait(1) local fx = assets.Particles.Trail:Clone() fx.Parent = char fx.Anchored = false task.delay(2, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = hum.RootPart w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then if v:IsA("ParticleEmitter") then emit_2(v, fx) end end end hum.AutoRotate = false hum.RootPart.Anchored = true local tween = tw:Create(hum.RootPart, TweenInfo.new(.5), {CFrame = hum.RootPart.CFrame * CFrame.new(0, 0, -24)}) tween:Play() local inhb for _ = 1, 16 do inhb = hb(hum.RootPart, CFrame.new(0, 0, -6), Vector3.new(8, 8, 12)) if inhb[1] then break end task.wait() end local victim = inhb[1] if not victim then anims.RagingDemonStart.Stopped:Wait() for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = false end end change() dbs.Stunned = false hum.AutoRotate = true hum.RootPart.Anchored = false coroutine.wrap(create_cd)("RagingDemon") return else tween:Cancel() for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = false end end anims.RagingDemonStart:Stop() anims.RagingDemonUser:Play() play("RagingDemonCutsceneVFX") play("RagingDemonCutsceneSFX") local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://7894173350" --snd2.PlaybackSpeed = 1 snd2.Volume = 1 snd2:Play() re:FireClient(owner, "Camera") local vhum = victim.Humanoid vhum.AutoRotate = false vhum.RootPart.Anchored = true vhum.RootPart.CFrame = hum.RootPart.CFrame * CFrame.new(0, 0, -5) * CFrame.Angles(0, math.pi, 0) stun(vhum, anims.RagingDemonUser.Length + 1) local torso = victim:FindFirstChild("Torso") or victim:FindFirstChild("UpperTorso") or victim:FindFirstChild("HumanoidRootPart") attack({victim}, { Animation = (vhum.RigType.Name == "R15" and demon_r15 or demon_r6) }) local plr = game:GetService("Players"):GetPlayerFromCharacter(victim) if plr then rd_cam(plr) end task.spawn(function() guids[victim][(vhum.RigType.Name == "R15" and demon_r15 or demon_r6)].Stopped:Wait() vhum.RootPart.CFrame = torso.CFrame vhum.AutoRotate = true vhum.RootPart.Anchored = false attack({victim}, stats.RagingDemonFinish) end) local times = { .267, 1.2, 2.05, 2.43, 2.9, 3.25, 3.55, 3.83, 4 } for i, v in pairs(times) do repeat task.wait() until anims.RagingDemonUser.TimePosition >= v if i < 6 then create_fx("Impact", nil, torso) end attack({victim}, stats.RagingDemon, torso) local snd3 = Instance.new("Sound") snd3.Parent = torso snd3.SoundId = "rbxassetid://8595983255" --snd3.PlaybackSpeed = 1 snd3.Volume = 1 snd3:Play() end repeat task.wait() until anims.RagingDemonUser.TimePosition >= 4.1 for _ = 1, 17 do task.wait(.05) attack({victim}, stats.RagingDemon, torso) local snd4 = Instance.new("Sound") snd4.Parent = torso snd4.SoundId = "rbxassetid://8595977193" --snd3.PlaybackSpeed = 1 snd4.Volume = 1 snd4:Play() end task.wait(0.5) local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://18328072056" --snd.PlaybackSpeed = 1 snd.Volume = 1 snd:Play() anims.RagingDemonUser.Stopped:Wait() change() dbs.Stunned = false hum.AutoRotate = true hum.RootPart.Anchored = false create_cd("RagingDemon") end end local function consuming_flames() if dbs.ConsumingFlames or dbs.Stunned or dbs.PoseActive then return end if heat.Value < 75 then flash_heat(75) return end if not no_cd then heat.Value = math.clamp(heat.Value - 75, 0, 100) end local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://18504427080" --snd.PlaybackSpeed = 1 snd.Volume = 1 snd:Play() local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://3385104077" --snd2.PlaybackSpeed = 1 snd2.Volume = 1 snd2:Play() change(0, 0) dbs.Stunned = true dbs.ConsumingFlames = true anims.ConsumingFlames:Play() anims.ConsumingFlames.Stall = .5 local fx = assets.Particles.ConsumingFlameCharge:Clone() fx.Parent = workspace local w = Instance.new("Weld", hum.RootPart) w.Part0 = hum.RootPart w.Part1 = fx w.C0 = CFrame.new(0, -3, 0) task.delay(2, fx.Destroy, fx) for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit_2(v, fx) task.delay(1, function() v.Enabled = false end) end end local snd3 = Instance.new("Sound") snd3.Parent = hum.RootPart snd3.SoundId = "rbxassetid://8128407082" --snd3.PlaybackSpeed = 1 snd3.Volume = 1 snd3:Play() local smash = false -- // markiplier smash or pass reference task.spawn(function() local r, y, a = 8, 0, 0 task.spawn(function() while not smash do local dt = task.wait() r += dt * 4 y += dt * 12 end end) local n = 6 for _ = 1, n do local ang = a for i = 1, 2 do local ar, ay = r, y if i == 2 then ar *= 1.25 ay *= 1.25 end local trail = assets.Particles.LimbTrail:Clone() trail.Position = hum.RootPart.Position + Vector3.new(ar * math.sin(a), ay, ar * math.cos(a)) trail.Parent = workspace trail.Anchored = true for _, v in pairs(trail:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = true if v:IsA("ParticleEmitter") then scale_pe(v, 2) emit_2(v, trail) end elseif v:IsA("Attachment") then v.Position *= 2 end end task.spawn(function() while not smash and trail.Parent do task.wait() local r, y = r, y if i == 2 then r *= 1.25 y *= 1.25 end trail.Position = hum.RootPart.Position + Vector3.new(r * math.sin(ang), y, r * math.cos(ang)) end trail:Destroy() end) end a += math.pi + (math.pi / n) task.spawn(function() while not smash do ang += task.wait() * 3 end end) end end) play("ConsumingFlamesSFX") task.wait(.5) play("ConsumingFlamesVFX") task.wait(.6) smash = true for _, plr in pairs(game:GetService("Players"):GetPlayers()) do if plr and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and (plr.Character.HumanoidRootPart.Position - hum.RootPart.Position).Magnitude <= 32 then cam_shake(plr, "ViolentShake") end end local sound_holder = Instance.new("Part") sound_holder.Size = Vector3.new(5, 5, 5) sound_holder.CFrame = owner.Character.HumanoidRootPart.CFrame sound_holder.Transparency = 1 sound_holder.CanCollide = false sound_holder.Material = Enum.Material.ForceField sound_holder.Anchored = true sound_holder.Parent = workspace local snd4 = Instance.new("Sound") snd4.Parent = sound_holder snd4.SoundId = "rbxassetid://3401386083" --snd4.PlaybackSpeed = 1 snd4.Volume = 1 snd4:Play() coroutine.wrap(rocky)({ Radius = 16, Amount = 24, Size = Vector3.one * 3, Origin = hum.RootPart.CFrame, Exclude = get_hums(hum.RootPart.Position, 24) }) linger(5, {hum.RootPart, CFrame.new(0, -4, 0), Vector3.one * 28, "Magnitude"}, stats.ConsumingFlames) re:FireClient(owner, "FlashLight", Color3.new(1, 1, 1)) create_fx("ConsumingFlame", nil, fx.CFrame) coroutine.wrap(rocky_2)({ Amount = 8, Origin = fx.CFrame, Size = NumberRange.new(2, 8), UpVelocity = NumberRange.new(75, 150), SideVelocity = NumberRange.new(-75, 75), Exclude = get_hums(fx.CFrame.Position, 16) }) dbs.FlameActive = true task.spawn(function() local d = 0 local s = tick() while tick() - s < 30 do d += task.wait() if d > 1 then d = 0 hum.Health += 3 healui(char, 3) end end dbs.FlameActive = false end) task.spawn(function() local limbs = {"Right Arm", "Left Arm"} for _, v in limbs do local aura = assets.Particles.Aura:Clone() aura.Anchored = false aura.Parent = char local w = Instance.new("Weld", aura) w.Part0 = find_limb(v) w.Part1 = aura w.C0 = CFrame.new(0, -(w.Part0.Size.Y / 3.5), 0) for _, v in pairs(aura:GetDescendants()) do if v:IsA("ParticleEmitter") then task.spawn(function() while dbs.FlameActive do task.wait(1 / v.Rate) v:Emit(1) end end) end end task.spawn(function() repeat task.wait() until not dbs.FlameActive aura:Destroy() end) end end) anims.ConsumingFlames.Stopped:Wait() change() dbs.Stunned = false create_cd("ConsumingFlames") end local function demon_step() if dbs.DemonStep or dbs.Stunned or dbs.PoseActive then return end local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://7346580257" --snd.PlaybackSpeed = 1 snd.Volume = 1 snd:Play() play("DemonStep") dbs.Stunned = true dbs.DemonStep = true anims.DemonStep:Play() local bv = Instance.new("BodyVelocity", hum.RootPart) bv.MaxForce = Vector3.one * 10e5 bv.Velocity = (hum.MoveDirection.Magnitude > 0 and hum.MoveDirection or hum.RootPart.CFrame.LookVector) * 50 local fx = assets.Particles.Trail:Clone() fx.Parent = char fx.Anchored = false task.delay(2, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = hum.RootPart w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then if v:IsA("ParticleEmitter") then emit_2(v, fx) end end end anims.DemonStep.Stopped:Wait() bv:Destroy() for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then v.Enabled = false end end dbs.Stunned = false create_cd("DemonStep") end local function demon_flip() if dbs.DemonFlip or dbs.Stunned or dbs.PoseActive then return end change(2, 0) dbs.Stunned = true dbs.DemonFlip = true anims.DemonFlip:Play(1.25) anims.DemonFlip.lerpFactor = 1 play("DemonFlipVFX") play("DemonFlipSFX") local snd = Instance.new("Sound") snd.Parent = hum.RootPart snd.SoundId = "rbxassetid://8128435386" --snd.PlaybackSpeed = 1 snd.Volume = 1 snd:Play() task.wait(.5) --[[ hum.AutoRotate = false local bv = Instance.new("BodyVelocity", hum.RootPart) bv.MaxForce = Vector3.one * 10e5 bv.Velocity = hum.RootPart.CFrame.LookVector * 65 ]] hum.RootPart.Anchored = true tw:Create(hum.RootPart, TweenInfo.new(.5), {CFrame = hum.RootPart.CFrame * CFrame.new(0, 0, -50)}):Play() local snd2 = Instance.new("Sound") snd2.Parent = hum.RootPart snd2.SoundId = "rbxassetid://7346580257" --snd2.PlaybackSpeed = 1 snd2.Volume = 1 snd2:Play() local fx = assets.Particles.Trail:Clone() fx.Parent = char fx.Anchored = false task.delay(1.5, fx.Destroy, fx) local w = Instance.new("Weld", fx) w.Part0 = hum.RootPart w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") or v:IsA("Trail") then if v:IsA("ParticleEmitter") then emit_2(v, fx) end task.delay(.5, function() v.Enabled = false end) end end task.spawn(function() linger(8, {hum.RootPart, CFrame.new(), Vector3.new(9, 9, 12)}, stats.DemonFlip, .05) for _ = 1, 8 do task.wait() task.wait() coroutine.wrap(rocky_2)({ Amount = 1, Origin = hum.RootPart.CFrame, Size = NumberRange.new(1, 2), Exclude = get_hums(hum.RootPart.Position, 8) }) end end) task.spawn(function() local s = tick() while tick() - s < .5 do task.wait() local r = find_ground((hum.RootPart.CFrame * CFrame.new(-1, 0, 0)).Position, get_hums(hum.RootPart.Position, 8)) end end) task.wait(.5) -- // bv:Destroy() hum.RootPart.Anchored = false anims.DemonFlip.Stopped:Wait() change() dbs.Stunned = false hum.AutoRotate = true create_cd("DemonFlip") end -- // events owner.Chatted:Connect(function(msg) if msg == "/e nocd" then re:FireClient(owner, "DoMove", "NoCooldowns") end end) hum.FreeFalling:Connect(function(fall) if fall then anims.Jump:AdjustWeight(3) elseif not fall then anims.Jump:AdjustWeight(0) end end) hum.Running:Connect(function(spd) if spd > .1 then anims.Run:AdjustWeight(2.5) else anims.Run:AdjustWeight(1) end end) local milestones = { [25] = false, [50] = false, [75] = false, [100] = false } local cool_thread local last_heat = 0 heat.Changed:Connect(function() if heat.Value - last_heat > 0 then if cool_thread then task.cancel(cool_thread) end cool_thread = task.delay(5, function() local accumulate = 0 while heat.Value > 0 do accumulate += task.wait() * 5 if accumulate > 1 and not no_cd then heat.Value = math.clamp(heat.Value - 1, 0, 100) accumulate = 0 end for i = 1, 4 do if heat.Value < i * 25 then milestones[i * 25] = false end end end end) end local base = ui.Character.Meter base.Text.Value.Text = tostring(heat.Value) base.Text.Label.Text = `HT.{math.floor(heat.Value / 25)}` local main = base.Container.Bar.Main local scale = math.max(heat.Value / 100, 0) tw:Create(main, TweenInfo.new(.25), {Size = UDim2.fromScale(scale, 1)}):Play() tw:Create(main.ImageLabel, TweenInfo.new(.25), {Size = UDim2.fromScale((scale > 0 and (1 / scale) or 0), 1)}):Play() if heat.Value >= 25 and heat.Value < 50 and not milestones[25] then milestones[25] = true play("MeterUp1") local fx = assets.MeterLevel.Level1:Clone() fx.Parent = workspace local w = Instance.new("Weld", fx) w.Part0 = find_limb("Torso") w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit(v) end end task.delay(2, fx.Destroy, fx) elseif heat.Value >= 50 and heat.Value < 75 and not milestones[50] then milestones[50] = true play("MeterUp1") local fx = assets.MeterLevel.Level2:Clone() fx.Parent = workspace local w = Instance.new("Weld", fx) w.Part0 = find_limb("Torso") w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit(v) end end task.delay(2, fx.Destroy, fx) elseif heat.Value >= 75 and heat.Value < 100 and not milestones[75] then milestones[75] = true play("MeterUp2") local fx = assets.MeterLevel.Level3:Clone() fx.Parent = workspace local w = Instance.new("Weld", fx) w.Part0 = find_limb("Torso") w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit(v) end end task.delay(2, fx.Destroy, fx) elseif heat.Value == 100 and not milestones[100] then milestones[100] = true play("MeterUp3") local fx = assets.MeterLevel.Level4:Clone() fx.Parent = workspace local w = Instance.new("Weld", fx) w.Part0 = find_limb("Torso") w.Part1 = fx for _, v in pairs(fx:GetDescendants()) do if v:IsA("ParticleEmitter") then emit(v) end end task.delay(2, fx.Destroy, fx) end last_heat = heat.Value end) re.OnServerEvent:Connect(function(plr, args) if plr ~= owner or char:GetAttribute("Stunned") or hum.RootPart:GetAttribute("TSFrozen") then return "silly goose" end if args.Downs then if not args.Touch then downs = args.Keys end for i, v in pairs(buttons) do if downs[i] then tw:Create(v.Action, TweenInfo.new(.25), {BackgroundTransparency = .75}):Play() else tw:Create(v.Action, TweenInfo.new(.25), {BackgroundTransparency = 1}):Play() end end end if args.Action == "Augimas" then augimas() elseif args.Action == "RushAttack" then rush_attack() elseif args.Action == "LegBreaker" then leg_breaker() elseif args.Action == "RisingDragon" then rising_dragon() elseif args.Action == "AxeKick" then axe_kick() elseif args.Action == "Misogi" then misogi() elseif args.Action == "RagingDemon" then raging_demon() elseif args.Action == "ConsumingFlames" then consuming_flames() elseif args.Action == "DemonStep" then demon_step() elseif args.Action == "DemonFlip" then demon_flip() elseif args.Action == "Taunt" then menu_click:Play() ui.Moves.Visible = (not ui.Moves.Visible) ui.Quotes.Visible = (not ui.Quotes.Visible) elseif args.Action and string.sub(args.Action, 1, 5) == "Taunt" and ui.Quotes.Visible then menu_click:Play() ui.Moves.Visible = (not ui.Moves.Visible) ui.Quotes.Visible = (not ui.Quotes.Visible) if not dbs.Taunt then dbs.Taunt = true taunt(taunts[tonumber(string.match(args.Action, "%d+"))]) end elseif args.Action == "Pose" and not dbs.Pose and not dbs.Stunned then dbs.Pose = true dbs.PoseActive = true if anims.PoseLoop.IsPlaying then change() dbs.PoseActive = false anims.PoseStart:Stop() anims.PoseLoop:Stop() theme:Stop() else change(0, 0) theme:Play() play("PoseVFX") task.delay(.3, function() for _, plr in pairs(game:GetService("Players"):GetPlayers()) do if plr and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and (plr.Character.HumanoidRootPart.Position - hum.RootPart.Position).Magnitude <= 24 then cam_shake(plr, "Bump", 2) end end play("PoseSFX") play("PoseSFX2") local kanji = assets.PoseKanji:Clone() kanji.Parent = workspace kanji.CastShadow = false kanji.CFrame = hum.RootPart.CFrame * CFrame.new(0, 1.5, 3) * CFrame.Angles(0, math.pi / 2, 0) local colors = { Color3.new(1, 0, 0), Color3.new(.458, 0, 0), Color3.new(.239, .082, .521), Color3.new(.419, .196, .486), Color3.new(1, 0, .74), Color3.new(.356, .364, .412) } local fx = assets.Particles.StompVFX.Stomp:Clone() fx.CFrame = CFrame.new() fx.Parent = char:FindFirstChild("LeftFootAttachment", true) for _, v in pairs(fx:GetChildren()) do emit(v) end task.delay(2, fx.Destroy, fx) local i = 1 local t = 0 tw:Create(kanji, TweenInfo.new(1, Enum.EasingStyle.Linear), {Size = kanji.Size * 1.25, CFrame = kanji.CFrame * CFrame.new(0, .7, 0)}):Play() repeat t += task.wait() kanji.Color = colors[i] i += 1 if i > #(colors) then i = 1 end until t >= 1 kanji.Color = Color3.new(1, .349, .349) tw:Create(kanji, TweenInfo.new(.25), {Size = Vector3.new(kanji.Size.X / 4, 12, kanji.Size.Z / 4), Transparency = 1, CFrame = kanji.CFrame * CFrame.new(0, 5, 0)}):Play() task.delay(.25, kanji.Destroy, kanji) end) anims.PoseStart:Play(2) anims.PoseStart.Stopped:Wait() anims.PoseLoop:Play() end create_cd("Pose") elseif args.Action == "NoCooldowns" and cool_guy then no_cd = not no_cd local color = (no_cd and "#64E080" or "#EE4B2B") print(`<b>No cooldowns: {no_cd}`) end end) re.Client.Enabled = true while true do task.wait() if no_cd then heat.Value = 100 for i in milestones do milestones[i] = true end end end
Editor Settings
Theme
Key bindings
Full width
Lines