CCCPaste

New Bossfight System (STORY GAME)

local TweenService = game:GetService("TweenService")

local BossMonster = game.Workspace.EvilSungmin --- Change by your BossNPC

local function playMonsterAnimation()
	local animation = Instance.new("Animation",BossMonster)
	animation.AnimationId = "https://roblox.com/assets/?id=1083195517"

	local humanoid = BossMonster:FindFirstChild("Humanoid")
	humanoid:LoadAnimation(animation):Play()

	wait(1)

	animation:Destroy()
end

local function playMonsterAttackAnimation()
	local animation = Instance.new("Animation",BossMonster)
	animation.AnimationId = "https://roblox.com/assets/?id=115300646506302"

	local humanoid = BossMonster:FindFirstChild("Humanoid")
	humanoid:LoadAnimation(animation):Play()

	wait(1)

	animation:Destroy()
end

local function FireballChallenge()
	for i=1,3 do

		playMonsterAnimation()
		
		playMonsterAttackAnimation()

		for i,player in pairs(game.Players:GetPlayers()) do
			if player.Character then
				local fireball = game.ReplicatedStorage.Fireball:Clone()
				local target = game.ReplicatedStorage.Target:Clone()


				target.Parent = game.Workspace
				target.CFrame = (player.Character.HumanoidRootPart.CFrame - Vector3.new(0,3,0)) * CFrame.Angles(0,0,math.rad(90))

				wait(0.5)

				fireball.Parent = game.Workspace
				fireball.CFrame = target.CFrame + Vector3.new(0,60,0)

				wait(2)

				target:Destroy()
			end
		end

		wait(1)
	end
end

local function LavaChallange()
	
	local tweenInfo = TweenInfo.new(2)
	
	local Plataforms = game.ReplicatedStorage.PlataformsModel:Clone()
	Plataforms.Parent = workspace
	
	wait(2)
	
	local goalLavaUp = {}
	goalLavaUp.CFrame = workspace.Lava.goalPositionPart.CFrame
	local moveLavaUpTween = TweenService:Create(workspace.Lava.Handle, tweenInfo, goalLavaUp)

	moveLavaUpTween:Play()
	
	wait(7)
	
	local goalLavaDown = {}
	goalLavaDown.CFrame = workspace.Lava.goalPositionPart.CFrame - Vector3.new(0,10,0)
	local goalLavaDownTween = TweenService:Create(workspace.Lava.Handle, tweenInfo, goalLavaDown)

	goalLavaDownTween:Play()
	
	wait(3)
	
	Plataforms:Destroy()
	
end

while wait(5) do
	if BossMonster.Humanoid.Health > 0 then
		
		BossMonster.ForceField.Visible = true
		
		FireballChallenge()
		LavaChallange()
		
		BossMonster.ForceField.Visible = false
		
	else
		break
	end
end