Legend Style
Key Required

Legend Style

Right 2 Fight (Inactive)IlkeScripye82IlkeScripye82 12.3K views 122 executesUpdated Mar 27, 2025
5.0/ 5(3 votes)
30100% Positive
Lua Script•1665 lines (56176 chars)
local DragonText = "Legend"
local DragonColor = Color3.new(1, 1, 1)
local DragonSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, DragonColor), ColorSequenceKeypoint.new(1, DragonColor)})

local plr = game.Players.LocalPlayer
local pgui = plr.PlayerGui
local interf = pgui.Interface
local bt = interf.Battle
local main = bt.Main

local hasUpdatedOnce = false
local tigerDropsSession = 0
local hactsSession = 0

local function sendNotification(text)
    pgui.Notify:Fire(text)
end

local function changeValueStrict(obj, valName, newVal, valClass)
	if obj and newVal and valName then
		if not obj:FindFirstChild(valName) then
			local n = Instance.new(valClass)
			n.Name = valName
			n.Parent = obj
		end
		obj[valName].Value = newVal
	end
end


function isInBattle()
	return (plr:FindFirstChild("InBattle") and true or false)
end

function isDungeon()
	return game.ReplicatedStorage.Dungeon.Value
end

function doingHact()
	return (plr.Character:FindFirstChild("Heated") and true or false)
end

function showMaxHeatEffect()
	return (isInBattle() and not doingHact() and plr.Status.Heat.Value >= 100) and true or false
end

function hasWeaponInHand()
	return (plr.Character:FindFirstChild("Holding") and true or false)
end


local alreadyRunning = game.ReplicatedStorage:FindFirstChild("DragonOfSteel")
if alreadyRunning then
	sendNotification("Dragon of Steel is already loaded")
	return
end

alreadyRunning = Instance.new("BoolValue")
alreadyRunning.Parent =game.ReplicatedStorage
alreadyRunning.Value = true
alreadyRunning.Name = "DragonOfSteel"


sendNotification("loading mod...")

local menu = pgui.MenuUI.Menu 
local abil = menu.Abilities.Frame.Frame.Frame
local moves = game.ReplicatedStorage.Moves

local abilFolder = game.ReplicatedStorage.Abilities.Brawler

local kiwamiParticle;
local battleWatcher = false;

local fill3 = nil
local climaxfill3 = nil	

local fillPreview = nil
local climaxPreview = nil

local status = plr.Status

local connections = {
	KiwamiParticles = nil;
	PunchTrail = nil;
	BattleStart = nil;	
}

local specDialogues = {
	Parker = false;
	Bill = false;
	James = false;
	Caitlin = false;
}

local animsChanged = false
local hasReloaded = false

local essenceCodeNames = { }
local essenceUsages = { }

local hyperarmor_timer = 0
local hyperarmor_active = false
local hyperarmor = status.SuperArmor

local function add_hyperarmor(duration)
	hyperarmor_timer = duration
	hyperarmor.Value = true

	if not hyperarmor_timer then
		hyperarmor_timer = true
		repeat
hyperarmor_timer = hyperarmor_timer - task.wait()
		until hyperarmor_timer <= 0

		hyperarmor.Value = false
	end
end


local function add_forcefield(duration)
	local p = game.Players.LocalPlayer
	local Status = p.Status

	local invun = game.ReplicatedStorage.Invulnerable:Clone()
	invun.Parent = Status

	if duration then
		spawn(function()
			task.wait(duration)
			invun:Destroy()
		end)
	end

	return invun
end

local parkerAIStyle = game.ReplicatedStorage.AIStyles.Parker
local anim = game.Players.LocalPlayer.Character.Humanoid.Animator:LoadAnimation(game.ReplicatedStorage.AIStyles.Dragon.StanceIdle)
anim.Priority = Enum.AnimationPriority.Movement
anim:AdjustSpeed(2)

function random_boolean()
	return math.random(0, 1) == 1
end

local rushstyle = game.ReplicatedStorage.Styles.Rush
local brawlerstyle = game.ReplicatedStorage.Styles.Brawler
local beaststyle = game.ReplicatedStorage.Styles.Beast

--rushstyle["H_Stunning"]:Clone().Parent = brawlerstyle

-- all of em

local styles = {
	[brawlerstyle] = {
		actions = {
			"H_Knocked",
			"GrabStrike",
			"H_BlockingEnemy",
			"H_SuperEvading",
		},
		to = beaststyle
	},

	[beaststyle] = {
		actions = {
			"H_FallenDown",
			"H_GrabOnFallen",
			"H_GrabOnWall",
			"H_GrabStanding3",
			"H_Stunned",
			"H_TwoHandeds"
		},
		to = brawlerstyle
	},

	[rushstyle] = {
		actions = {
			"EvadeStrikeB",
			"EvadeStrikeF",
			"EvadeStrikeL",
			"EvadeStrikeR",
			"H_AirFallen",
			"H_Running",
			"H_Stunned",
			"H_Stunning",
			"GuardGrabHit"
		},
		to = brawlerstyle
	}
}--combined styles

-- custom styles

local custom_actions = {
	[brawlerstyle] = {
		--{
		--	Name = "H_FullHeat",
		--	Value = "H_GUltimateEssence"
		--}, -- This lets you use ultimate essence without parry which makes parry a lot more useless. Don't use it plz

		{
			Name = "H_Distanced",
			Value = "H_Escape"
		},

		{
			Name = "H_SuperEvading",
			Value = "H_TSpinCounterLeft"
		},

		{
			Name = "BlockStrike",
			Value = "ShuckyDrop"
		},
	},

	[rushstyle] = {
		{
			Name = "H_Distanced",
			Value = "H_Escape"
		},
	},

	[beaststyle] = {
		{
			Name = "H_Distanced",
			Value = "H_Escape"
		},

		{
			Name = "StanceStrike",
			Value = "CounterHook"
		}
	}
}

local abf = game.ReplicatedStorage.Abilities
local renamed_ablitites = {
	[abf[brawlerstyle.Name]] = {
		{Name = "Time for Resolve",
			NewName = "Time for Resolve",
			Description = "Gain invunlerablity until your rage ends."}
	}
}

-- style complier

for style, actions in pairs(renamed_ablitites) do
	for i,v in pairs(actions) do
		local name = v.Name
		local NewName = v.NewName
		local desc = v.Description

		local x = style:FindFirstChild(name)
		local z = status.Styles[style.Name]:FindFirstChild(name)
		if not x then
			error(name.." was not found in "..style.Parent.Name.."."..style.Name)
		else
			x.Name = NewName
			if z then
				z.Name = NewName
			end
			if desc then
				x['Description'].Value = desc
			end
		end
	end
end

local function c_action(style, actions)
	for i,v in pairs(actions) do
		if typeof(v) == "string" then
			local stringval = style:FindFirstChild(v.Name or "") or Instance.new("StringValue", style)
			for i,v in pairs(v) do
				stringval[i] = v
			end
		else
			local stringval = style:FindFirstChild(v.Name or "") or Instance.new("StringValue", style)
			stringval.Name = v.Name
			stringval.Value = v.Value

			if v.Child then
				c_action(style, v.Child)
			end
		end
	end
end

for style, actions in pairs(custom_actions) do
	c_action(style, actions)
end

for style, actions in pairs(styles) do
	for i,actionname in pairs(actions.actions) do
		local action = style:FindFirstChild(actionname)

		if not action then
			continue
		end

		if actions.to:FindFirstChild(actionname) then
			actions.to[actionname]:Destroy()
		end

		action:Clone().Parent = actions.to
	end
end

function scanHeatActions()
	for _,action in pairs(game.ReplicatedStorage.Moves:GetChildren()) do
		if string.sub(action.Name, 1, 2) == "H_" then
			local mn = action:FindFirstChild("MoveName")
			if mn then
				essenceCodeNames[mn.Value] = action.Name

				if action:FindFirstChild("HeatUse") then
					essenceUsages[mn.Value] = action.HeatUse.Value 
				else
					essenceUsages[mn.Value] = action:FindFirstChild("HeatNeeded") and (action.HeatNeeded.Value == "Climax" and 75 or action.HeatNeeded.Value == "Full" and 100 or 50) or 50
				end
			end
		end
	end
end

sendNotification("loading heat actions...", Color3.fromRGB(255, 255, 255))
scanHeatActions()

local function addFearParticle()
	local part = game.ReplicatedStorage.Particles.Fear
	for i,z in pairs(part:GetChildren()) do
		local p = z:Clone()
		p.Name = "FearParticle"
		p.Parent = plr.Character.Head
		p.Enabled = true
	end

	local snd = Instance.new("Sound")
	snd.Parent = plr.Character.Head
	snd.SoundId = "rbxassetid://1846247709"
	snd.Volume = 0.5
	snd:Play()
	snd.Name = "FearSound"
	game:GetService("Debris"):AddItem(snd, 3)
end

local function createDeathMessage(text)
	local new = Instance.new("TextLabel")
	new.Parent = interf
	new.Name = "DeathMessage"
	new.Text = ""
	new.Size = UDim2.new(1,0,1,0)
	new.Position = UDim2.new(0.5, 0, 0.5, 0)
	new.BackgroundTransparency = 1
	new.TextSize = 60
	new.TextStrokeTransparency = 0.5
	new.TextColor3 = Color3.fromRGB(255, 255 ,255)
	new.FontFace = Font.fromEnum(Enum.Font.Antique)
	new.AnchorPoint = Vector2.new(0.5, 0.5)
	for i = 1, string.len(text), 1 do
		new.Text = string.sub(text, 1, i)
		task.wait(0.025)
	end
	task.wait(0.10)
	repeat game:GetService("RunService").RenderStepped:wait() until status.Health.Value > 0
	local tween = game:GetService("TweenService"):Create(new, TweenInfo.new(1.25, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, false, 0), {Size = UDim2.new(1.15, 0, 1.15, 0), TextTransparency = 1, TextStrokeTransparency = 1})
	tween:Play()
	game:GetService("Debris"):AddItem(new, 1.25)
end

local dc = Instance.new("ColorCorrectionEffect")
dc.Name = "DeathCorrection"
dc.Parent = workspace.CurrentCamera

local function setDeathFilter()
	local tween = game:GetService("TweenService"):Create(dc, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, false, 0), {TintColor = Color3.fromRGB(255, 206, 206), Saturation = -1, Brightness = -0.44})
	tween:Play()
	task.wait(0.4)
	repeat game:GetService("RunService").RenderStepped:wait() until status.Health.Value > 0
	local tween = game:GetService("TweenService"):Create(dc, TweenInfo.new(1.5, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, false, 0), {TintColor = Color3.fromRGB(255, 255, 255), Saturation = 0, Brightness = 0})
	tween:Play()
end

local function onBattleStart()
	task.wait(0.5)
	local arena = status.MyArena.Value
	if arena then
		if arena:FindFirstChild("AI"):FindFirstChild("Object") and arena.AI.Object.Value and arena.AI.Object.Value.Name == "Legendary Dragon" then
			addFearParticle()
			sendNotification("a tall dragon stands above you")
			sendNotification("an overwhelming sense of dread fills your body")
			coroutine.wrap(function()
				task.wait(1.5)
				sendNotification("you can't muster up any courage to use heat actions, items, or counters")
			end)()
		end
	end
end

local function onBattleEnd()
	for _,z in pairs(plr.Character.Head:GetChildren()) do
		if z.Name == "FearParticle" then
			z:Destroy()
		end
	end
end

local function UpdateStyle()
	if status.Style.Value == brawlerstyle.Name then -- idk why, but in the game's code, the game uses yakuza 0 style names instead of the ones rolve used in the game
		--main gui
		brawlerstyle.VisualName.Value = DragonText
		brawlerstyle.Color.Value = DragonColor
		main.XP.Fill.ImageColor3 = DragonColor 

		--particles
		local char = plr.Character
		char.HumanoidRootPart.Fire_Main.Color = DragonSequence
		char.HumanoidRootPart.Fire_Secondary.Color = DragonSequence
		char.HumanoidRootPart.Fire_Main.Rate = status.Heat.Value >= 100 and 115 or status.Heat.Value >= 75 and 85 or 80
		char.HumanoidRootPart.Fire_Secondary.Rate = status.Heat.Value >= 100 and 90 or status.Heat.Value >= 75 and 80 or 70
		char.HumanoidRootPart.Lines1.Color = DragonSequence
		char.HumanoidRootPart.Lines1.Rate = status.Heat.Value >= 100 and 60 or status.Heat.Value >= 75 and 40 or 20
		char.HumanoidRootPart.Lines2.Color = DragonSequence
		char.HumanoidRootPart.Lines2.Rate = status.Heat.Value >= 100 and 60 or status.Heat.Value >= 75 and 40 or 20
		char.HumanoidRootPart.Sparks.Color = DragonSequence
		if not char.HumanoidRootPart.TimeFor.Enabled then
			char.HumanoidRootPart.TimeFor.Color = DragonSequence
		end

		char.UpperTorso["r2f_aura_burst"].Lines1.Color = DragonSequence
		char.UpperTorso["r2f_aura_burst"].Lines2.Color = DragonSequence
		char.UpperTorso["r2f_aura_burst"].Flare.Color = DragonSequence
		char.UpperTorso["r2f_aura_burst"].Lines1.Enabled = showMaxHeatEffect()
		char.UpperTorso["r2f_aura_burst"].Flare.Enabled = showMaxHeatEffect()
		char.UpperTorso["r2f_aura_burst"].Smoke.Color = DragonSequence
		char.UpperTorso.Evading.Color = DragonSequence
		-- heat bar
		--if DragonText == "Dragon" then
		--	main.Heat.Fill.ImageColor3 = Color3.fromRGB(180, 0, 0)
		--	main.Heat.Fill2.ImageColor3 = Color3.fromRGB(255, 66, 142)
		--	main.Heat.ClimaxFill.ImageColor3 = Color3.fromRGB(180, 0, 0)
		--	main.Heat.ClimaxFill2.ImageColor3 = Color3.fromRGB(255, 39, 86)
		--elseif DragonText == "Legend" then
		--	main.Heat.Fill.ImageColor3 = Color3.fromRGB(152, 152, 152)
		--	main.Heat.Fill2.ImageColor3 = Color3.fromRGB(203, 221, 225)
		--	main.Heat.ClimaxFill.ImageColor3 = Color3.fromRGB(136, 149, 152)
		--	main.Heat.ClimaxFill2.ImageColor3 = Color3.fromRGB(144, 216, 221)
		--end

		main.Heat.Fill.ImageColor3 = Color3.fromRGB(140, 40, 180)
		main.Heat.Fill2.ImageColor3 = Color3.fromRGB(255, 14, 215)
		main.Heat.ClimaxFill.ImageColor3 = Color3.fromRGB(180, 58, 174)
		main.Heat.ClimaxFill2.ImageColor3 = Color3.fromRGB(255, 14, 199)

		-- idle stance
		if (isInBattle() and not hasWeaponInHand() and char.Humanoid.MoveDirection == Vector3.new(0, 0, 0)) and not anim.IsPlaying then
			anim:Play()
		elseif (not isInBattle() or hasWeaponInHand() or char.Humanoid.MoveDirection ~= Vector3.new(0, 0, 0)) and anim.IsPlaying then
			anim:Stop()
		end
	else
		local char = plr.Character
		char.UpperTorso["r2f_aura_burst"].Flare.Enabled = false
		char.UpperTorso["r2f_aura_burst"].Lines1.Enabled = false
		if anim.IsPlaying then
			anim:Stop()
		end

		char.HumanoidRootPart.Fire_Main.Rate = 80
		char.HumanoidRootPart.Fire_Secondary.Rate = 50
		char.HumanoidRootPart.Lines1.Rate = 20
		char.HumanoidRootPart.Lines2.Rate = 20

		main.Heat.Fill.ImageColor3 = Color3.fromRGB(208, 41, 250)
		main.Heat.Fill2.ImageColor3 = Color3.fromRGB(244, 76, 250)
		main.Heat.ClimaxFill.ImageColor3 = Color3.fromRGB(180, 15, 117)
		main.Heat.ClimaxFill2.ImageColor3 = Color3.fromRGB(250, 59, 215)
	end


	if abil.Info.LvlHolder.Box.LvlHolder.Box.Fill.BackgroundColor3 == Color3.fromRGB(19, 157, 255) then
		abil.Info.LvlHolder.Box.LvlHolder.Box.Fill.BackgroundColor3 = DragonColor
	end
	-- Hact Names
	if main.HeatMove.TextLabel.Text == "Guru Spin Counter [Front]" then
		main.HeatMove.TextLabel.Text = "Komaki Fist Reversal [Front]"
	elseif main.HeatMove.TextLabel.Text == "Guru Spin Counter [Left]" then
		main.HeatMove.TextLabel.Text = "Komaki Fist Reversal [Left]"
	elseif main.HeatMove.TextLabel.Text == "Guru Spin Counter [Right]" then
		main.HeatMove.TextLabel.Text = "Komaki Fist Reversal [Right]"
	elseif main.HeatMove.TextLabel.Text == "Guru Spin Counter [Back]" then
		main.HeatMove.TextLabel.Text = "Komaki Fist Reversal [Back]"
	elseif main.HeatMove.TextLabel.Text == "Essence of Fisticuffs" then
		main.HeatMove.TextLabel.Text = "Essence of Battery"
	elseif main.HeatMove.TextLabel.Text == "Guru Firearm Flip" then
		main.HeatMove.TextLabel.Text = "Komaki Shot Stopper"
	end

	-- Move Descriptions
	abilFolder["Ultimate Essence"].Description.Value = "The Dragon's ultimate attack. Unleash the might of the Red Dragon to crush any opponent."
	abilFolder["Ultimate Essence"].Prompt.Value = "HEAVY ATTACK near stunned enemies via Komaki Parry with Full Heat"
	--abilFolder["Time for Resolve"].Description.Value = "Unleash the willpower of the Legendary Red Dragon to fly above the rest and withstand any attacks that would stagger or knock you down."

	abilFolder["Guru Parry"].Description.Value = "One of the Three Ultimate Komaki style moves. Stuns the enemy."
	abilFolder["Counter Hook"].Description.Value = "One of the Three Ultimate Komaki style moves. The style's strongest counter-attack."
	abilFolder["Guru Knockback"].Description.Value = "One of the Three Ultimate Komaki style moves. Send an enemy's attack right back at them."

	-- Move Names & Requirements
	for i,z in pairs(abil.List.ListFrame:GetDescendants()) do
		if z:IsA("ImageButton") then

			--if z:FindFirstChild("sty").Value == "Brawler" and z:FindFirstChild("MyColor").Value == Color3.fromRGB(19, 157, 255) then
			z.MyColor.Value = DragonColor
			z.Generic.Label.TextColor3 = DragonColor
			if z.Name == "Counter Hook" then
				z.Generic.Label.Text = "Komaki Tiger Drop (Lvl. 25)"
			elseif z.Name == "Guru Knockback" then
				z.Generic.Label.Text = "Komaki Knock Back"
			elseif z.Name == "Ultimate Essence" then
				if string.sub(z.Lock.Title.Text, 1, 10) ~= "Need to be" then
					z.Lock.Title.Text = "Need to unlock Komaki Parry"
				end
			elseif z.Name == "Guru Parry" then
				z.Generic.Label.Text = "Komaki Parry (Lvl. 20)"
				if string.sub(z.Lock.Title.Text, 1, 10) ~= "Need to be" then
					z.Lock.Title.Text = "Need to unlock Finishing Hold"
				end
			elseif z.Name == "Guru Spin Counter" then
				z.Generic.Label.Text = "Vulcan Spin Hook"
			elseif z.Name == "Guru Firearm Flip" then
				z.Generic.Label.Text = "Vulcan Shot Stopper"
			elseif z.Name == "Guru Dodge Shot" then
				z.Generic.Label.Text = "Vulcan Evade & Strike"
				if string.sub(z.Lock.Title.Text, 1, 10) ~= "Need to be" then
					z.Lock.Title.Text = "Need to unlock Komaki Knock Back"
				end
			elseif z.Name == "Guru Safety Roll" then
				z.Generic.Label.Text = "Dragon Dharma Tumbler"
			elseif z.Name == "Essence of Fisticuffs" then
				z.Generic.Label.Text = "Essence of Barrage"
			elseif z.Name == "Time for Resolve" then
				z.Generic.Label.Text = "Dragon rage (Lvl. 20)"
			end
			--end
		end
	end

end

local function playsound(id)
	local sfx = Instance.new("Sound", workspace)
	sfx.SoundId = "rbxassetid://"..tostring(id)

	game:GetService("SoundService"):PlayLocalSound(sfx)

	spawn(function()
		task.wait(sfx.TimeLength)
		sfx:Destroy()
	end)
end

function playticksound()
	local sfx = Instance.new("Sound", workspace)
	sfx.SoundId = "rbxassetid://4843088994"

	game:GetService("SoundService"):PlayLocalSound(sfx)

	spawn(function()
		task.wait(2)
		sfx:Destroy()
	end)
end

local dashcooldown = false

local countercooldown = false
local h = game.Players.LocalPlayer.Character.Humanoid.Animator

local function IsInHeatMode()
	return plr.PlayerGui.Interface.Uberd.ImageTransparency < 1	
end

local invun
local lastbattle = isInBattle()
local entered_battle = Instance.new("BindableEvent")
local t = 12
game:GetService("RunService").Heartbeat:Connect(function()

	if not lastbattle and isInBattle() then
		entered_battle:Fire()
	end
	lastbattle = isInBattle()

	if IsInHeatMode() then
		if not invun then
			invun = game.ReplicatedStorage.Invulnerable:Clone()
			invun.Parent = status
			dashcooldown = false
		end


		brawlerstyle.Strike5.Value = "TigerDrop" --press q to explode
		return
	else
		if invun then
			invun:Destroy()
			invun = nil

			if countercooldown then
				brawlerstyle.Strike5.Value = "BStrike5" --press q to explode
			end
		end
	end

	if countercooldown then
		return
	end
	local p = h:GetPlayingAnimationTracks()

	for i,v in pairs(p) do
		if tostring(v.Animation.AnimationId):find("12346955560") then
			countercooldown = true
			--local stylesR = game.ReplicatedStorage.Styles.Brawler
			--stylesR.Strike5.Value = "BStrike5" --press q to explode
			--task.wait(5)
			--countercooldown = false
			--stylesR.Strike5.Value = "CounterHook" --press q to explode
			--playticksound()

			local stylesR = game.ReplicatedStorage.Styles.Brawler
			stylesR.Strike5.Value = "BStrike5" --press q to explode
			t = 12
			repeat
t = t - task.wait()
			until t <= 0
			countercooldown = false
			stylesR.Strike5.Value = "TigerDrop" --press q to explode
			break
		end
	end
end)

game.Players.LocalPlayer.CharacterAdded:Connect(function(c)
	h = c:WaitForChild("Humanoid")
end)

local l = false
local function UpdateStyleOnce()
	if not hasUpdatedOnce then
		hasUpdatedOnce = true
		sendNotification("setting style...", Color3.fromRGB(255, 255, 255))
	end
	DragonSequence = ColorSequence.new({ColorSequenceKeypoint.new(0, DragonColor), ColorSequenceKeypoint.new(1, DragonColor)})
	status.Stats.Kills_Brawler.Visual.Value = "Enemies defeated using " .. DragonText

	abil.Tabs.Tabs.Brawler.Filled.Title.Text = DragonText

	--game.ReplicatedStorage.Moves.TigerDrop.Anim.AnimationId = "rbxassetid://12051776026"

	if not game.ReplicatedStorage.Styles.Brawler:FindFirstChild("Taunt") then
		local n = Instance.new("StringValue")
		n.Name = "Taunt"
		n.Value = "GoonTaunt"
		n.Parent = 	game.ReplicatedStorage.Styles.Brawler
	end

	--game.ReplicatedStorage.Styles.Brawler.GrabStrike.Value = "T_CounterQuickstep"
	game.ReplicatedStorage.Styles.Brawler.Speed.Value = 1.15

	local function updateEncounterTitle()
		if interf.BattleStart.Text == "LEGENDARY DRAGON" then
			interf.BattleStart.Text = "THE TRUE DRAGON"
		elseif interf.BattleStart.Text == "MYSTERIOUS MERCS" then
			interf.BattleStart.Text = "MEN IN BLACK"
		elseif interf.BattleStart.Text == "DELINQUENTS" then
			local r = math.random(1, 3)
			interf.BattleStart.Text = r == 1 and "STREET RUFFIANS" or r == 2 and "STREET PUNKS" or "DELINQUENTS"
		elseif interf.BattleStart.Text == "RICH FIEND" then
			interf.BattleStart.Text = "NOUVEAU RICHE"
		elseif interf.BattleStart.Text == "DEVIOUS DAN" then
			interf.BattleStart.Text = "AVERAGE AMERICAN"
		elseif interf.BattleStart.Text == "JEFF ATTACK" then
			interf.BattleStart.Text = "BLUE BELTS"
		elseif interf.BattleStart.Text == "GORILLAMAN" then
			local r = math.random(1, 2)
			interf.BattleStart.Text = r == 1 and "COSPLAYERS" or "APE ARMY"
		elseif interf.BattleStart.Text == "HUE" then
			interf.BattleStart.Text = "COPYCAT"
		elseif interf.BattleStart.Text == "BLOODSUCKER" then
			local r = math.random(1, 4)
			interf.BattleStart.Text = r == 1 and "MENACING MAN" or r == 2 and "VAMPIRE" or r == 3 and "BUFF GUY" or "SUCKER" 
		end
	end

	if connections.BattleStart == nil then
		connections.BattleStart = interf.BattleStart.Changed:Connect(function()
			updateEncounterTitle()
		end)
	end	

	if kiwamiParticle == nil then
		kiwamiParticle = plr.Character.Head.FS:Clone()
		kiwamiParticle.Rate = 500
		kiwamiParticle.Enabled = false
		kiwamiParticle.Parent = game.ReplicatedStorage
		kiwamiParticle.Name = "KiwamiParticles"
	end
	--if connections.PunchTrail == nil then -- punch trail colors properly to legend style color
	--	connections.PunchTrail = game.Players.LocalPlayer.Character.DescendantAdded:Connect(function(child)
	--		if child:IsA("Trail") and status.Style.Value == "Brawler" then
	--			coroutine.wrap(function()
	--				while child do
	--					child.Color = DragonSequence
	--					game:GetService("RunService").RenderStepped:task.wait()
	--				end
	--			end)()
	--		end
	--	end)
	--end

	if fill3 == nil and not main.Heat:FindFirstChild("Fill3") then
		fill3 = main.Heat.Fill2:Clone()
		fill3.Parent = main.Heat
		fill3.Name = "Fill3"
		fill3.Visible = false
		fill3.ImageColor3 = Color3.fromRGB(255, 255, 255)
		fill3.ImageTransparency = 1
		coroutine.wrap(function()
			main.Heat.Fill2.Changed:Connect(function()
				fill3.Size = main.Heat.Fill2.Size
			end)

			if l then return end
			l = true
			while l do
				repeat game:GetService("RunService").RenderStepped:Wait() until plr.Character:FindFirstChild("Heated") and not plr.Character.Heated:FindFirstChild("Throwing") and plr.Character.Heated:FindFirstChild("Heating") and plr.Character.Heated.Heating.Value ~= plr.Character
				fill3.ImageColor3 = Color3.fromRGB(125, 5, 200)		
				repeat game:GetService("RunService").RenderStepped:Wait() until not plr.Character:FindFirstChild("Heated")
				fill3.ImageColor3 = Color3.fromRGB(255, 255, 255)
			end
		end)()
		local tween = game:GetService("TweenService"):Create(fill3, TweenInfo.new(0.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, math.huge, true, 0), {ImageTransparency = 0.4})
		tween:Play()
		local function updateFill()
			fill3.Visible = status.Heat.Value >= 50 and true or false
		end
		status.Heat.Changed:Connect(function()
			updateFill()
		end)
		updateFill()
	end
	if climaxfill3 == nil and not main.Heat:FindFirstChild("ClimaxFill3") then
		climaxfill3 = main.Heat.ClimaxFill2:Clone()
		climaxfill3.Parent = main.Heat
		climaxfill3.Name = "ClimaxFill3"
		climaxfill3.Visible = false
		climaxfill3.ImageColor3 = Color3.fromRGB(255, 255, 255)
		climaxfill3.ImageTransparency = 1
		coroutine.wrap(function()
			main.Heat.ClimaxFill2.Changed:Connect(function()
				climaxfill3.Size = main.Heat.ClimaxFill2.Size
			end)

			while true do
				repeat game:GetService("RunService").RenderStepped:Wait() until plr.Character:FindFirstChild("Heated") and not plr.Character.Heated:FindFirstChild("Throwing") and plr.Character.Heated:FindFirstChild("Heating") and plr.Character.Heated.Heating.Value ~= plr.Character
				climaxfill3.ImageColor3 = Color3.fromRGB(0, 200, 0)				
				repeat game:GetService("RunService").RenderStepped:Wait() until not plr.Character:FindFirstChild("Heated")
				climaxfill3.ImageColor3 = Color3.fromRGB(255, 255, 255)
			end
		end)()
		local tween = game:GetService("TweenService"):Create(climaxfill3, TweenInfo.new(0.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, math.huge, true, 0), {ImageTransparency = 0.4})
		tween:Play()
		local function updateFill()
			climaxfill3.Visible = status.Heat.Value >= 100 and true or false
		end
		status.Heat.Changed:Connect(function()
			updateFill()
		end)
		updateFill()
	end

	if not fillPreview and not main.Heat:FindFirstChild("FillPreview") then
		fillPreview = main.Heat.Fill2:Clone()
		fillPreview.Parent = main.Heat
		fillPreview.Name = "FillPreview"
		fillPreview.Visible = false
		fillPreview.ImageColor3 = Color3.fromRGB(255, 0, 0)
		fillPreview.ImageTransparency = 0
	end

	if not climaxPreview and not main.Heat:FindFirstChild("ClimaxPreview") then
		climaxPreview = main.Heat.ClimaxFill2:Clone()
		climaxPreview.Parent = main.Heat
		climaxPreview.Name = "ClimaxPreview"
		climaxPreview.Visible = false
		climaxPreview.ImageColor3 = Color3.fromRGB(255, 0, 0)
		climaxPreview.ImageTransparency = 0
	end

	if not animsChanged then
		animsChanged = true

		game.ReplicatedStorage.Styles.Brawler.Idle.AnimationId = "rbxassetid://12120045620"

		local current;
		--finishing blows
		current = moves["BStomp"]
		current.Anim.AnimationId = "rbxassetid://7546695030"
		changeValueStrict(current, "AniSpeed", 1, "NumberValue")
		changeValueStrict(current, "ComboAt", 0.7, "NumberValue")

		current = moves["BStrike1"]
		current.Anim.AnimationId = "rbxassetid://12338273712"--7546691847

		changeValueStrict(current, "EndAt", 0.75, "NumberValue")
		changeValueStrict(current, "HitDur", 0.6, "NumberValue")
		--changeValueStrict(current, "HitboxLocations", '[["RightFoot",3,[0,0,0]],["RightLowerLeg",2.25,[0,0,0]],["RightUpperLeg",1.5,[0,0,0]]]', "StringValue")
		changeValueStrict(current, "AniSpeed", 3, "NumberValue")

		current = moves["BStrike3"]
		current.Anim.AnimationId = "rbxassetid://11224687444"--7546691847

		changeValueStrict(current, "EndAt", 0.75, "NumberValue")
		changeValueStrict(current, "HitDur", 0.6, "NumberValue")
		--changeValueStrict(current, "HitboxLocations", '[["RightFoot",3,[0,0,0]],["RightLowerLeg",2.25,[0,0,0]],["RightUpperLeg",1.5,[0,0,0]]]', "StringValue")
		changeValueStrict(current, "AniSpeed", 3, "NumberValue")

		current = moves["BStrike3"]
		current.Anim.AnimationId = "rbxassetid://12338277925"--7546691847

		changeValueStrict(current, "EndAt", 0.75, "NumberValue")
		changeValueStrict(current, "HitDur", 0.6, "NumberValue")
		changeValueStrict(current, "HitboxLocations", '[["RightFoot",3,[0,0,0]],["RightLowerLeg",2.25,[0,0,0]],["RightUpperLeg",1.5,[0,0,0]]]', "StringValue")
		changeValueStrict(current, "AniSpeed", 3, "NumberValue")

		current = moves["BStrike5"]
		current.Anim.AnimationId = "rbxassetid://11808834783"--7546691847
		changeValueStrict(current, "MoveDuration", 0.3, "NumberValue")
		changeValueStrict(current, "ComboAt", 0.1, "NumberValue")
		changeValueStrict(current, "HSize", 1.3, "NumberValue")
		changeValueStrict(current, "HitboxLocations", '[["RightFoot",1.5,[0,0,0]],["RightLowerLeg",0.75,[0,0,0]],["RightUpperLeg",0.5,[0,0,0]]]', "StringValue")
		changeValueStrict(current, "AniSpeed", 3, "NumberValue")

		local stylesR = game.ReplicatedStorage.Styles.Brawler
		stylesR.Strike5.Value = "TigerDrop" --press q to explode

		changeValueStrict(moves["TigerDrop"], "HitboxLocations", '[["RightHand",7,[0,0,0]],["RightLowerArm",1.5,[0,0,0]],["RightUpperArm",6,[0,0,0]]]', "StringValue")

		-- x2 finishing blows
		moves["B2Strike4"].Name = "Fake2Strike4"
		moves["龍2Strike4"].Name = "B2Strike4"

		current = moves["B2Strike2"]
		current.Anim.AnimationId = "rbxassetid://11224711440"--11808834783
		changeValueStrict(current, "HSize", 0.75, "NumberValue")
		changeValueStrict(current, "HSound", "hardkick", "StringValue")
		changeValueStrict(current, "HitDur", 0.2, "NumberValue")
		changeValueStrict(current, "MoveDuration", 0.3, "NumberValue")
		changeValueStrict(current, "RagdollBonus", 1.25, "NumberValue")
		changeValueStrict(current, "HitboxLocations", '[["LeftFoot",1,[0,0,-0.5]],["LeftLowerLeg",2,[0,0,-0.5]],["LeftUpperLeg",2,[0,0,-0.5]]]', "StringValue")
		changeValueStrict(current, "AniSpeed", 3, "NumberValue")

		current = moves["B2Strike3"]
		current.Anim.AnimationId = "rbxassetid://7604102455"
		changeValueStrict(current, "HitDur", 0.2, "NumberValue")
		changeValueStrict(current, "MoveDuration", 0.3, "NumberValue")
		changeValueStrict(current, "AniSpeed", 2.5, "NumberValue")
		changeValueStrict(current, "HSize", 0.75, "NumberValue")
		changeValueStrict(current, "RagdollBonus", 1.25, "NumberValue")
		changeValueStrict(current, "HorizKnockback", 0, "NumberValue")
		changeValueStrict(current, "HitboxLocations", '[["LeftHand",2,[0,0,0]],["RightHand",2,[0,0,0]]]', "StringValue")

		current = moves["B2Strike1"]
		current.Anim.AnimationId = "rbxassetid://7604134993"
		changeValueStrict(current, "HitDur", 0.2, "NumberValue")
		changeValueStrict(current, "MoveDuration", 0.5, "NumberValue")
		changeValueStrict(current, "AniSpeed", 3, "NumberValue")
		changeValueStrict(current, "HSize", 0.75, "NumberValue")
		changeValueStrict(current, "RagdollBonus", 1.25, "NumberValue")
		changeValueStrict(current, "HorizKnockback", 0.25, "NumberValue")
		changeValueStrict(current, "Reaction", "Uppercut", "StringValue")
		changeValueStrict(current, "HitboxLocations", '[["RightHand",2,[0,0,0]],["RightLowerArm",1.5,[0,0,0]],["RightUpperArm",1,[0,0,0]]]', "StringValue")

		-- rush combo
		current = moves["BAttack1"]
		moves["BAttack1"].Name = "FakeAttack1"
		moves["龍Attack1"].Name = "BAttack1"
		changeValueStrict(moves["BAttack1"], "ComboAt", 0.2, "NumberValue")--0.35
		current.Anim.AnimationId = "rbxassetid://12051773371"
		changeValueStrict(current, "AniSpeed", 2.5, "NumberValue")

		moves["BAttack2"].Name = "FakeAttack2"
		moves["龍Attack2"].Name = "BAttack2"
		changeValueStrict(moves["BAttack2"], "ComboAt", 0.2, "NumberValue")

		moves["BAttack3"].Name = "FakeAttack3"
		moves["龍Attack3"].Name = "BAttack3"
		changeValueStrict(moves["BAttack3"], "ComboAt", 0.2, "NumberValue")

		local b = moves["BAttack4"] 
		moves["BAttack4"].Name = "FakeAttack4"
		moves["龍Attack4"].Name = "BAttack4"
		current.Anim.AnimationId = "rbxassetid://12051776026"
		changeValueStrict(moves["BAttack4"], "ComboAt", 0.2, "NumberValue")
		changeValueStrict(current, "AniSpeed", 2.5, "NumberValue")


		changeValueStrict(game.ReplicatedStorage.Moves.ShuckyDrop, 'AniSpeed', 2, "NumberValue")
		changeValueStrict(game.ReplicatedStorage.Moves.ShuckyDrop, 'MoveForward', 25, "NumberValue")
		changeValueStrict(game.ReplicatedStorage.Moves.ShuckyDrop, 'Damage', 40000000, "NumberValue")
		changeValueStrict(game.ReplicatedStorage.Moves.ShuckyDrop, "HitboxLocations", '[["RightHand",6,[0,0,0]],["RightLowerArm",8,[0,0,0]],["RightUpperArm",6,[0,0,0]]]', "StringValue")

	end


	if connections.KiwamiParticles == nil then -- Kiwami-style particles for enemies stunned by guru parry (to indpairs(icate) if they can get UE'd)
		print("kiwami connected")
		connections.KiwamiParticles = game.Players.LocalPlayer.Character.ChildAdded:Connect(function(child)
			if status.Styles.Brawler:FindFirstChild("Ultimate Essence") then
				task.wait(0.1)
				if child.Name == "Heated" then
					if child:FindFirstChild("MoveName") then
hactsSession = hactsSession + 1
						if hactsSession % 10 == 0 then
							sendNotification("heat actions (this session): [" .. hactsSession .. "]", Color3.fromRGB(0, 200, 0))
						end
					end
					if child:FindFirstChild("Throwing") and child:FindFirstChild("Heating") then
						local target = child.Heating.Value
						local n = 3
						repeat task.wait(0.05) n=n-0.05 until target:FindFirstChild("Stunned") or not target or n<=0
						if target and target:FindFirstChild("Stunned") and target.Stunned:FindFirstChild("Guru") then
							print(target.Name .. " stunned by guru parry")
							if not target.Head:FindFirstChild("KiwamiParticles") then
								local new = kiwamiParticle:Clone()
								new.Parent = target.Head
								new.Color = DragonSequence
								new.Enabled = true
								coroutine.wrap(function()
									while target:FindFirstChild("Stunned") do game:GetService("RunService").RenderStepped:Wait() new.Color = DragonSequence end
									new:Destroy()
								end)()
							end
						end
					end
				end
			end
		end)
	end

	main.Heat.noheattho.Text = "Heat Actions Disabled"
	main.Heat.noheattho.Size = UDim2.new(10, 0, 1, 0)

	menu.Bars.Mobile_Title.Text = "DRAGON of STEEL Mod by MisterMax228#7446"
	menu.Bars.Mobile_Title.Visible = true
	if not isDungeon() then
		-- Dialogues
		workspace.Map.MiniQuests["Helen"].Dialogue.Dialog.Value = [[Thinking about moving to Bloxxer City..... But those crime rates are so high, and we got the dragon of steel protecting us here.]]
		workspace.Map.MiniQuests["Jort"].Dialogue.Dialog.Value = [[These are my favorite vending machines. There's a street legend out there who chugs sonic energy colas and then beats up all the bad guys... Or something like that.]]
		workspace.Map.MiniQuests["Fisherman Jimbo"].Dialogue.Dialog.Value = [[You don't look like ya fish... But you do look intimidating, to say the least. Do you happen to know that city legend that everyone says can drop a tiger in one blow? You kinda remind me of them...]]
		workspace.Map.MiniQuests["Fisherman Quill"].Dialogue.Dialog.Value = [[Hey there young legend, you look hungry. The dock lady is still there selling fresh stuff. Bearing the might of a Dragon surely is exhaustive, right?]]
		workspace.Map.MiniQuests["Anderson"].Dialogue.Dialog.Value = [[Wow, that's crazy. You'd think there would be more crime scenes around the city. You know, considering how big of a mess YOU'VE caused. You crush the nearest street thug and who do you think has to clean all that up?!]]
		-- Special dialogues
		if not specDialogues.Caitlin then
			specDialogues.Caitlin = true
			workspace.Map.MiniQuests["Caitlin"].Dialogue.Dialog.Value = [[There sure are a lot of jerks in this city who want to pick a fight. What, you want to fight too?]]
			local d1 = Instance.new("StringValue")
			d1.Parent = workspace.Map.MiniQuests["Caitlin"].Dialogue.Dialog
			d1.Value = "Yeah, fight me."
			d1.Name = "Dialog1"
			local r1 = Instance.new("StringValue")
			r1.Parent = workspace.Map.MiniQuests["Caitlin"].Dialogue.Dialog.Dialog1
			r1.Name = "Dialog"
			r1.Value = [[Aren't you that kid from Rajad that everyone talks about? Go do your thing and beat up <font color="#FF00AA">Vulcan</font> instead of fighting innocent bystanders.]]
			local d2 = Instance.new("StringValue")
			d2.Parent = workspace.Map.MiniQuests["Caitlin"].Dialogue.Dialog
			d2.Value = "There's no such thing as rest in this city."
			d2.Name = "Dialog2"
			local r2 = Instance.new("StringValue")
			r2.Parent = workspace.Map.MiniQuests["Caitlin"].Dialogue.Dialog.Dialog2
			r2.Name = "Dialog"
			r2.Value = [[I know, right. The mayor doesn't even do anything about it... Instead of fighting crimes, he watches videos of them, man. VIDEOS! OF CRIMES! ON TWITTER! He should be fired.]]			
		end
		if not specDialogues.Bill then
			specDialogues.Bill = true
			workspace.Map.MiniQuests["Bill"].Dialogue.Dialog.Value = [[Hey, you're that legend from Rajad. I remember when you first arrived to Steel. Yeah, feels like it was yesterday.]]
			local d1 = Instance.new("StringValue")
			d1.Parent = workspace.Map.MiniQuests["Bill"].Dialogue.Dialog
			d1.Value = "Same."
			d1.Name = "Dialog1"
			local r1 = Instance.new("StringValue")
			r1.Parent = workspace.Map.MiniQuests["Bill"].Dialogue.Dialog.Dialog1
			r1.Name = "Dialog"
			r1.Value = "Memories bring back memories..."
			local d2 = Instance.new("StringValue")
			d2.Parent = workspace.Map.MiniQuests["Bill"].Dialogue.Dialog
			d2.Value = "Do you just... stand here all day?"
			d2.Name = "Dialog2"
			local d2 = Instance.new("StringValue")
			d2.Parent = workspace.Map.MiniQuests["Bill"].Dialogue.Dialog.Dialog2
			d2.Name = "Dialog"
			d2.Value = "What? No! Of course not. I just feel very nostalgic. Besides, I have really important things to do. Like um... uh... Nevermind."
		end
		if not specDialogues.James then
			specDialogues.James = true
			workspace.Map.MiniQuests["James"].Dialogue.Dialog.Value = [[There used to be a time when we didn't have a tower looming over this street, boy do I love corporations. You look awfully intimidating. Do you happen to be the guy from the legend?]]		
			local d1 = Instance.new("StringValue")
			d1.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog
			d1.Value = "You've got the wrong person."
			d1.Name = "Dialog1"
			local r1 = Instance.new("StringValue")
			r1.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog1
			r1.Name = "Dialog"
			r1.Value = "Someone needs to stop them. I REALLY hate the very existence of that tower."
			local d1_1 = Instance.new("StringValue")
			d1_1.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog1.Dialog
			d1_1.Value = "What's so bad about it?"
			d1_1.Name = "Dialog1"
			local r1_1 = Instance.new("StringValue")
			r1_1.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog1.Dialog.Dialog1
			r1_1.Name = "Dialog"
			r1_1.Value = "That skyscraper is owned by a corporation run by an obnoxious guy named Derek, I think. Tough guy. Thinks there's no one stronger than him. He definitely fears that he might get beat up by the Dragon of Steel one day. He prolly built that tower just to look above everyone else... Literally."
			local d1_2 = Instance.new("StringValue")
			d1_2.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog1.Dialog
			d1_2.Value = "Yeah, I hate it too."
			d1_2.Name = "Dialog2"
			local r1_2 = Instance.new("StringValue")
			r1_2.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog1.Dialog.Dialog1
			r1_2.Name = "Dialog"
			r1_2.Value = "Crazy how the mayor allowed this..."
			local d2 = Instance.new("StringValue")
			d2.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog
			d2.Value = "Maybe I am."
			d2.Name = "Dialog2"
			local r2 = Instance.new("StringValue")
			r2.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog2
			r2.Name = "Dialog"
			r2.Value = "Say, why don't you go inside and teach them to not build giant corporate towers to ruin our mood?"
			local d2_1 = Instance.new("StringValue")
			d2_1.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog2.Dialog
			d2_1.Value = "Maybe later?.."
			d2_1.Name = "Dialog1"
			local r2_1 = Instance.new("StringValue")
			r2_1.Parent = workspace.Map.MiniQuests["James"].Dialogue.Dialog.Dialog2.Dialog.Dialog1
			r2_1.Name = "Dialog"
			r2_1.Value = "You better hurry. I have a headache looking at how annoyingly high that tower is. Ruins the entire atmosphere of the city."
		end
		if not specDialogues.Parker then
			specDialogues.Parker = true
			workspace.Map.MiniQuests["Parker"].Dialogue.FDialog.Name = "Dialog"
			workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Value = [[Welcome back, kid.]]
			local d1 = Instance.new("StringValue")
			d1.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog
			d1.Value = "You know what."
			d1.Name = "Dialog1"
			local r1 = Instance.new("StringValue")
			r1.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog1
			r1.Name = "FDialog"
			r1.Value = "So you haven't changed."
			local d2 = Instance.new("StringValue")
			d2.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog
			d2.Value = "What's up?"
			d2.Name = "Dialog2"
			local r2 = Instance.new("StringValue")
			r2.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog2
			r2.Name = "Dialog"
			r2.Value = "Nothing much. Still have a sore throat."
			local d2_1 = Instance.new("StringValue")
			d2_1.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog2.Dialog
			d2_1.Value = "So... wanna fight?"
			d2_1.Name = "Dialog1"
			local r2_1 = Instance.new("StringValue")
			r2_1.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog2.Dialog.Dialog1
			r2_1.Name = "FDialog"
			r2_1.Value = "...You're really gonna make me stack up hospital bills."
			local d2_2 = Instance.new("StringValue")
			d2_2.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog2.Dialog
			d2_2.Value = "Stay healthy."
			d2_2.Name = "Dialog2"
			local r2_2 = Instance.new("StringValue")
			r2_2.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog2.Dialog.Dialog2
			r2_2.Name = "Dialog"
			r2_2.Value = "You too, kid."
			local d3 = Instance.new("StringValue")
			d3.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog
			d3.Value = "Nothing, see ya later."
			d3.Name = "Dialog3"
			local r3 = Instance.new("StringValue")
			r3.Parent = workspace.Map.MiniQuests["Parker"].Dialogue.Dialog.Dialog3
			r3.Name = "Dialog"
			r3.Value = "*cough* ..."
		end
	end
	if hasReloaded == false then
		hasReloaded = true
		local cframe = plr.Character.LowerTorso.CFrame
		sendNotification("reloading character...")
		interf.Client.Disabled = true
		task.wait()
		interf.Client.Disabled = false
		task.wait(0.1)
		plr.Character.LowerTorso.CFrame = cframe
	end

	if not battleWatcher then
		battleWatcher = true
		while true do
			repeat task.wait() until isInBattle()
			coroutine.wrap(function()
				onBattleStart()
			end)()
			repeat task.wait() until not isInBattle()
			coroutine.wrap(function()
				onBattleEnd()
			end)()
		end
	end

	if moves:FindFirstChild("ParkerDrop") then
		moves:FindFirstChild("BRCounter2").Name = "FakeCounter2"
		moves:FindFirstChild("ParkerDrop").Name = "BRCounter2"
		moves:FindFirstChild("BRCounter1").Name = "FakeCounter1"
		moves:FindFirstChild("BRGrab").Name = "FakeGrab"

		local ignore = Instance.new("Folder")
		ignore.Name = "IgnoreDmg"
		ignore.Parent = moves:FindFirstChild("BRCounter2")

		if not moves:FindFirstChild("BRCounter2"):FindFirstChild("HSize") then
			local n = Instance.new("NumberValue")
			n.Name = "HSize"
			n.Value = 2
			n.Parent = moves:FindFirstChild("BRCounter2")
		end
	end
end

game:GetService("RunService").RenderStepped:Connect(UpdateStyle)

--game.UserInputService.InputBegan:Connect(function(key)
--	if game.UserInputService:GetFocusedTextBox() == nil then
--		if key.KeyCode == Enum.KeyCode.L then
--			if DragonText == "Crimson" then
--				DragonText = "Legend"
--				DragonColor = Color3.new(0.760784, 0.898039, 1)
--				sendNotification("legend", DragonColor)
--			elseif DragonText == "Legend" then
--				DragonText = "Crimson"
--				DragonColor = Color3.new(0.9, 0.05, 0.15)
--				sendNotification("dragon of steel", DragonColor)
--			end
--			UpdateStyleOnce()
--		end
--	end
--end)

local tweenserive = game:GetService('TweenService')
local hurtanims = {
	7603749150,
	7603747215,
	7603745890
}

local function getrandom_array(x)
	return x[math.random(1, #x)]
end

local ti = TweenInfo.new(0.9, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, true, 0)
local ti2 = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, true, 0)

local color = Instance.new("ColorCorrectionEffect", game:GetService("Lighting"))

local ctween = tweenserive:Create(color, ti, {Saturation = -2, Brightness = -0.1})
local ctween2 = tweenserive:Create(color, ti2, {Saturation = -2, Brightness = -0.1})

local fov_diff = 0
local fov_dispatch = 26

local function play_ingamesound(sfxname)
	local v = game.ReplicatedStorage.Sounds:FindFirstChild(sfxname)
	local sfx = Instance.new("Sound", nil)
	local id = v.Value

	sfx.SoundId = id

	for i,v in pairs(v:GetChildren()) do
		sfx[v.Name] = v.Value
	end

	game.SoundService:PlayLocalSound(sfx)
	task.delay(15, function()
		sfx:Destroy()
	end)
end

game.UserInputService.InputBegan:Connect(function(key)
	if game.UserInputService:GetFocusedTextBox() == nil then
		if key.KeyCode == Enum.KeyCode.L then
			--local id = "rbxassetid://12022473514"
			--local anim = Instance.new("Animation")
			--anim.AnimationId = id

			--game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(anim):Play()

			--task.wait(5)
			--anim:Destroy()
		elseif key.KeyCode == Enum.KeyCode.Z then
			if not dashcooldown then
				--playvoiceline("Taunt")

				local lookvector = workspace.CurrentCamera.CFrame.LookVector * Vector3.new(1, 0, 1)
				local root = game.Players.LocalPlayer.Character.PrimaryPart
				local lock = game.Players.LocalPlayer.Character.LockedOn.Value
				if lock and lock:IsDescendantOf(workspace) and lock.Parent.Health.Value > 0 then
					local id = "rbxassetid://10928237540"
					local anim = Instance.new("Animation")
					anim.AnimationId = id

					local v = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(anim)
					v:Play()

					if IsInHeatMode() then
						v:AdjustSpeed(8)
						ctween2:Play()
					else
						ctween:Play()
					end

					dashcooldown = true

					root.Anchored = true

fov_diff = fov_diff + 12
					fov_dispatch = 9
					playsound(2102274452)
					if IsInHeatMode() then
						task.wait(0.07)
					else
						add_forcefield(1.8)
						task.wait(0.9)
					end
					fov_dispatch = 26

					root.Anchored = false
					root.CFrame = CFrame.new(lock.Position - (lock.CFrame.LookVector * Vector3.new(1, 0, 1).Unit * 3), lock.Position)

					play_ingamesound("Teleport")

					if IsInHeatMode() then
						task.wait(0.8)
					else
						task.wait(3)
					end


					dashcooldown = false
					playticksound()
					return
				end
				dashcooldown = true

				local current = moves["BStrike1"]

				changeValueStrict(current, "EndAt", 0.75, "NumberValue")
				changeValueStrict(current, "HitDur", 0.6, "NumberValue")
				--changeValueStrict(current, "HitboxLocations", '[["RightFoot",3,[0,0,0]],["RightLowerLeg",2.25,[0,0,0]],["RightUpperLeg",1.5,[0,0,0]]]', "StringValue")
				changeValueStrict(current, "AniSpeed", 1, "NumberValue")

				local id = "rbxassetid://10928237540"
				local anim = Instance.new("Animation")
				anim.AnimationId = id

				local v = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(anim)
				v:Play()

				root.Anchored = true
				ctween:Play()
				task.wait(0.9)

				play_ingamesound("Teleport")
				root.Anchored = false
				root.CFrame = CFrame.new(root.Position, root.Position + lookvector)

				--local rp = RaycastParams.new()
				--rp.FilterDescendantsInstances = {root.Parent}
				--rp.FilterType = Enum.RaycastFilterType.Blacklist
				--rp.IgnoreWater = true

				--local ray = workspace:Raycast(root.Position, lookvector * 50, rp)

				--local cf
				--if ray then
				--	cf = CFrame.new(ray.Position - lookvector * 6, ray.Position + lookvector)
				--else
				--	cf = root.CFrame + lookvector * 50
				--end

				--local ti = TweenInfo.new(v.Length*0.5, Enum.EasingStyle.Linear)
				--local t = tweenserive:Create(root, ti, {CFrame = cf})
				--t:Play()
				--t.Completed:Once(function()
				--	root.Anchored = false
				--	v:Stop()
				--end)


				local bodyvel = Instance.new("BodyVelocity", root)
				bodyvel.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
				bodyvel.Velocity = lookvector * 90
				local hitbox = Instance.new("Part", bodyvel)
				hitbox.CanCollide = false
				hitbox.CanQuery = false
				hitbox.Transparency = 1
				hitbox.Size = Vector3.new(1, 1, 5)
				local w = Instance.new("Weld", hitbox)
				w.Part0 = hitbox
				w.Part1 = root

				local b2 = game:GetService("RunService").Heartbeat:Connect(function(d)
root.CFrame = root.CFrame + (bodyvel.Velocity*d)*4
				end)

				local b = hitbox.Touched:Connect(function(part)
					if part.CanCollide then
						local vel = -bodyvel.Velocity

						bodyvel:Destroy()
						v:Stop()

						--local id = "rbxassetid://"..getrandom_array(hurtanims)
						--local anim = Instance.new("Animation")
						--anim.AnimationId = id
						--local v = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(anim)

						--v:Play()

						--local b = game:GetService("RunService").Heartbeat:Connect(function(d)
						--	root.CFrame += (vel * d) * 0.5
						--end)

						--v.Ended:Once(function()
						--	b:Disconnect()
						--	v:Destroy()
						--end)
					end
				end)

				bodyvel.Destroying:Once(function()
					b:Disconnect()
					b2:Disconnect()
					hitbox:Destroy()
				end)

				v.Ended:wait()

				if bodyvel then
					bodyvel:Destroy()
				end

				task.wait(2)

				playticksound()

				dashcooldown = false
			end
		end
	end
end)

status.Health.Changed:Connect(function()
	if status.Health.Value <= 0 then
		task.wait()
		if not plr.Character:FindFirstChild("lmaDead") then
			return
		end
		local prompts = {
			"What brought you here?"; 
			"What happened to your right 2 fight?";
			"THAT'S supposed to be the strength of a Dragon?";
			"Who's laughing now?";
			"No way you're that bad...";
			"You can't give up just yet... " .. plr.DisplayName .. "... Stay determined!";
			"Would you like to continue? Don't say anything if yes.";
			"GAME OVER!......................... Not really. You can keep playing.";
			"Bet you'd die to spoiled brat";
			"That was a warm up, right?!";
			"So that's Vulcan?";
		}

		if not game:GetService("UserInputService").GamepadEnabled then
			table.insert(prompts, "Real Legends use a controller")
		end	

		local text = prompts[math.random(1, #prompts)]

		local arena = status.MyArena.Value
		if arena then
			if arena:FindFirstChild("AI"):FindFirstChild("Object") and arena.AI.Object.Value and arena.AI.Object.Value.Name == "Legendary Dragon" then
				text = "There can be only one Legendary Dragon."
			end
		end
		local n = status.Stats.Deaths.Value + 1
		coroutine.wrap(function()
			createDeathMessage(text)
		end)()
		coroutine.wrap(function()
			setDeathFilter()
		end)()
	end
end)

coroutine.wrap(function()
	while true do
		UpdateStyleOnce()
		task.wait(5) -- update everything every 5 seconds (optimization)
	end
end)()

status.Resets.Changed:Connect(function()
	sendNotification("you are now prestige [" .. status.Resets.Value .. "]", Color3.fromRGB(0, 200, 0))
end)

status.Level.Changed:Connect(function()
	if status.Level.Value % 5 == 0 then
		sendNotification("you are now level [" .. status.Level.Value .. "]", Color3.fromRGB(0, 200, 0))
	end
end)

status.Stats.Deaths.Changed:Connect(function()
	sendNotification("deaths total: [" .. status.Stats.Deaths.Value .. "]", Color3.fromRGB(200, 0, 0))
end)

status.Stats.Kills_Brawler.Changed:Connect(function()
	if status.Stats.Kills_Brawler.Value % 50 == 0 then
		sendNotification("enemies defeated in " .. DragonText .. " style: [" .. status.Stats.Kills_Brawler.Value .. "]", Color3.fromRGB(0, 200, 0))
	end
end)

status.Stats.Kills_Beast.Changed:Connect(function()
	if status.Stats.Kills_Beast.Value % 50 == 0 then
		sendNotification("enemies defeated in Brute style: [" .. status.Stats.Kills_Beast.Value .. "]", Color3.fromRGB(0, 200, 0))
	end
end)

status.Stats.Kills_Rush.Changed:Connect(function()
	if status.Stats.Kills_Rush.Value % 50 == 0 then
		sendNotification("enemies defeated in Frenzy style: [" .. status.Stats.Kills_Rush.Value .. "]", Color3.fromRGB(0, 200, 0))
	end
end)

status.Stats.Kills.Changed:Connect(function()
	if status.Stats.Kills.Value % 50 == 0 then
		sendNotification("enemies defeated total: [" .. status.Stats.Kills.Value .. "]", Color3.fromRGB(0, 200, 0))
	end
end)

status.AttackBegan.Changed:Connect(function()
	if status.AttackBegan.Value == true then
		if status.CurrentMove.Value.Name == "TigerDrop" then
tigerDropsSession = tigerDropsSession + 1
			if tigerDropsSession % 10 == 0 then
				sendNotification("tiger drops (this session): [" .. tigerDropsSession .. "]", Color3.fromRGB(0, 200, 0))
				if tigerDropsSession == 100 then
					sendNotification("DAAAAAAAAAAAMN")
				end
			end
		end
	end
end)

local damageeffects = false

local color = Color3.new(1, 1, 1)

local enraged = false

game:GetService("UserInputService").InputBegan:Connect(function(key)
	if game.UserInputService:GetFocusedTextBox() == nil then
		if key.KeyCode == Enum.KeyCode.M then
			enraged = not enraged

			if enraged then
				sendNotification("Enraged!")
				local Event = game:GetService("ReplicatedStorage").Events.ME

				while enraged do
					for i=1,4 do
						local A_1 =  {
							[1] = "heat", 
							[2] = game:GetService("ReplicatedStorage").Moves.Taunt
						}
						Event:FireServer(A_1)
					end
					Event:FireServer{
						"auraeenabled2",
						true
					}
					Event:FireServer{
						"auraeenabled",
						true
					}
					task.wait(0.1)
				end
			else
				sendNotification("Enragement disabled")
			end
		elseif key.KeyCode == Enum.KeyCode.K then
			damageeffects = not damageeffects

			if damageeffects then
				sendNotification("DMGEffects.beta enabled", color)
			else
				sendNotification("DMGEffects.beta disabled", color)
			end
		end
	end
end)

game:GetService("RunService").PreRender:Connect(function(d)
	fov_diff = math.clamp(fov_diff - (d * fov_dispatch), 0, 15)
	workspace.CurrentCamera.FieldOfView = status.Settings.FOV.Value - (fov_diff * 0.5)
end)

local function playdamage(dmg)
	if damageeffects then
fov_diff = fov_diff + dmg*0.1
	end
end

local function critcal_health()
	return status.Health.Value <= status.MaxHealth.Value * 0.25
end

status.Stats.Kills.Changed:Connect(function()
	if critcal_health() then
		for i=1,3 do
			local A_1 =  {
				[1] = "heat", 
				[2] = game:GetService("ReplicatedStorage").Moves.Taunt
			}
			local Event = game:GetService("ReplicatedStorage").Events.ME
			Event:FireServer(A_1)
		end
	end
end)

local speedstatus = false
local speedvalue = 2

local function lerp(x1, x2, alpha)
	return x1 + (x2 - x1) * alpha
end

local function speed_up()
	if speedstatus then
		return
	end	

	speedstatus = true

	game.ReplicatedStorage.ScriptEvents.rplaysound:Fire("Yell")
	game.ReplicatedStorage.ScriptEvents.rplaysound:Fire("Ignite")

	for i=1,10 do
		local A_1 =  {
			[1] = "heat", 
			[2] = game:GetService("ReplicatedStorage").Moves.Taunt
		}
		local Event = game:GetService("ReplicatedStorage").Events.ME
		Event:FireServer(A_1)
	end

	local walkspeed_increase = lerp(speedvalue, 1, 0.75)
brawlerstyle.Speed.Value = brawlerstyle.Speed.Value * walkspeed_increase
rushstyle.Speed.Value = rushstyle.Speed.Value * walkspeed_increase
beaststyle.Speed.Value = beaststyle.Speed.Value * walkspeed_increase

	for i,v in pairs(moves:GetChildren()) do
		local anispeed = v:FindFirstChild("AniSpeed")
		local combospeed = v:FindFirstChild("ComboAt")

		if anispeed then
anispeed.Value = anispeed.Value * speedvalue
		elseif combospeed then
combospeed.Value = combospeed.Value / speedvalue
		end
	end

	--print("Speed!")
end

local function slow_down()
	if not speedstatus then
		return
	end

	speedstatus = false

	local walkspeed_increase = lerp(speedvalue, 1, 0.75)
brawlerstyle.Speed.Value = brawlerstyle.Speed.Value / walkspeed_increase
rushstyle.Speed.Value = rushstyle.Speed.Value / walkspeed_increase
beaststyle.Speed.Value = beaststyle.Speed.Value / walkspeed_increase

	for i,v in pairs(moves:GetChildren()) do
		local anispeed = v:FindFirstChild("AniSpeed")
		local combospeed = v:FindFirstChild("ComboAt")

		if anispeed then
anispeed.Value = anispeed.Value / speedvalue
		elseif combospeed then
combospeed.Value = combospeed.Value * speedvalue
		end
	end

	--print("slow..")
end

status.AttackBegan.Changed:Connect(function()
	if critcal_health() and status.AttackBegan.Value == true then
		add_hyperarmor(0.2)
	end
end)


if critcal_health() then
	speed_up()
else
	slow_down()
end

status.Health.Changed:Connect(function()
	if critcal_health() then
		speed_up()
	else
		slow_down()
	end
end)

status.Heat.Changed:Connect(function()
	if status.Heat.Value == 100 then
		brawlerstyle.H_LowHealthFallen.Value = "H_GUltimateEssence"
	else
		brawlerstyle.H_LowHealthFallen.Value = "H_FallenFinisher"
	end
end)

local dd = status.DamageDone.Value
status.DamageDone.Changed:Connect(function()
	local r = status.DamageDone.Value
	local diff = r - dd

	playdamage(diff)

	dd = r
end)

-- voicelines

local function random_value(v)
	return v[math.random(1, #v)]
end

sendNotification("mod loaded", Color3.fromRGB(0, 200, 0))

Features & Information

idk

Community Comments (6)

KiryuboiKiryuboiAug 23, 2025

How do u use the lenses sytle I installed

KiryuboiKiryuboiAug 23, 2025

Legend

missnie821missnie821Aug 29, 2025

um I clicked copy script and then clicked download nothing happened

Replying to @missnie821
GurtBeatsUpKidsGurtBeatsUpKidsDec 1, 2025

@missnie821 you dont download a script, you just copy the script go to your executor and execute it when your in the game

GurtBeatsUpKidsGurtBeatsUpKidsDec 1, 2025

This style is SO BAD!

pls rework it's outdated

More Scripts for Right 2 Fight (Inactive)