function onBegin()
    puppet.KillOnContact = false
    disableRetry()
    makeUnskippable()
    if getFlag("Voidheart") then
        playPuppetAnim("suicide")
        wait(2.7)
        playPuppetAnim("dreamNail")
		setMusicLayer(1,false)
        wait(2.1)
        setFlag("whiteFade",true)
        wait(1)
        puppet.Visible = false
        removeBoss(true)
		setFlag("whiteFade",false)
        wait()
        enableRetry()
        teleportTo(2704, -576, "RAD-01")
    else 
        playPuppetAnim("death")
		wait(0.1)
		playSound("event:/CC/CC_HollowKnight/SFX/Boss SFX/BossExplode",puppet.Center)
        wait(5)
		disableMovement()
        disableRetry()
        setFlag("orangeFade",true)
		playSound("event:/CC/CC_HollowKnight/SFX/Boss SFX/THK_TransitionEnd")
        wait(1)
		setFlag("noMoreHealth",true)
		wait(2.5)
        removeBoss(true)
        setFlag("TheHollowKnightEnding",true)
        playMusic("event:/none")
		playSound("event:/CC/CC_HollowKnight/SFX/Scene/NormalEndJingle")
        wait()

        while true do
          wait()
          if (celeste.Input.Jump.Pressed or celeste.Input.DashPressed or celeste.Input.CrouchDashPressed or celeste.Input.MenuConfirm.Pressed) then
            setFlag("LevelComplete",true)
            wait(0.5)
            wait()

            while true do
              wait()
              if (celeste.Input.Jump.Pressed or celeste.Input.DashPressed or celeste.Input.CrouchDashPressed or celeste.Input.MenuConfirm.Pressed) then
                enableRetry()
                setFlag("THKEndingExit", true)
              end
            end
          end
        end
    end
end


-- Radiance intro cutscene (Wait until THK is implemented to do this) 
--     [HK suicide anim 
--     > hornet escapes backwards (aka comes in) anim 
--     > dialog 
--     > whiteout 
--     > teleport 
--     > anim 
--     > whiteout]
