local function FinalDemoLifeIcon(v, stplyr)
	hud.disable("lives")
	if not stplyr.mo return end
	if gamemap == 749 return end
	if gametyperules & GTR_RINGSLINGER then return end
	
	if not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		local face = v.getSprite2Patch(stplyr.mo.skin, SPR2_XTRA, (stplyr.powers[pw_super] != 0), 0, 0)
		v.drawScaled(16*FRACUNIT, 177*FRACUNIT, FRACUNIT/2, face, V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS, v.getColormap(stplyr.mo.skin, stplyr.mo.color))
	end
end


hud.add(FinalDemoLifeIcon)


local function FinalDemoLifeX(v, stplyr)
	if not stplyr.mo return end
	if gamemap == 749 return end
	if gametyperules & GTR_RINGSLINGER then return end
	
	if not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		local livex = v.cachePatch("STFINLX")
		v.draw(41, 185, livex, V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	end
end

hud.add(FinalDemoLifeX)

// Skin names.
// Please note that not all of them are available, since those
// names are shown as patches and not in-font texts.
local function CharNames(v, stplyr)
	if not stplyr.mo return end
	if gamemap == 749 return end
	if gametyperules & GTR_RINGSLINGER then return end
	
	if stplyr.mo.skin == "sonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "tails"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STTAILSN"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "knuckles"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STKNUXNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "amy"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("AMYNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "fang"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("FANGNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "metalsonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("METALNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "modernsonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "silver"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SILVERNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "shadow"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SHDWNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "bean"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("BEANNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "tangle"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("TANGLENM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "spongebob"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SPONGEBO"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "milne"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("MILNENME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "flare"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("FLRENAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "feels"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("FEELSNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "cacee"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("CACEENME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "wido"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("WIDONAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "nasya"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("NASYANME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "flame"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("FLMENAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "spyro"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SPYRONME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "sparks"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SPARKSNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "aether"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("AETHERNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "inazuma"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("INAZUMAN"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "skip"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SKIPNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "samus"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SAMUSNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "honey"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("HONEYNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "hinote"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("HINONAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "pierre"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("PIERRENM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "robe"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("ROBENAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "ivory"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("IVORYNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "derp"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("DERPNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "kanade"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("KANADENM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "dirk"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("DIRKNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "whirl"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("WHIRLNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "werehog"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "gemma"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("GEMMANME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "cyan"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("CYANNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "eggpack"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("EGGMNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "jasper"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("JSPRNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "daniel"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("DANIELNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "corvus"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("CORVUSNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "hms123311"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("HMSHNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "ericsson"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("ERICSONM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "handdrawn"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "lessunique"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STTAILSN"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "chrispymarriage"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STKNUXNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "more_like_amy"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("AMYNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "mighty"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("MGHTNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "msonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "vesola"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("VESOLANM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "espio"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("ESPIONME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "cacodemon"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("CACONAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "ssnsonichd"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "ssntailshd"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STTAILSN"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "maimy"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("MAIMYNME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "roy"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("ROYFNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "jacob"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STJACOB"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "cersei"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STCERSEI"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "blaze"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("BLAZENME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "marine"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("MARINAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "ronald"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STRONALD"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "astroboy"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("ASTRONME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "hybridsonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "adventuresonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "sms"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("SMSNAME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "mario"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("MARIONME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "luigi"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("LUIGINME"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "mesonic"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STSONIC"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "metails"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STTAILSN"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	elseif stplyr.mo.skin == "meknux"
	and not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		v.draw(16, 167, v.cachePatch("STKNUXNM"),V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
	end
end

hud.add(CharNames)

// Below is a script written to fix an issue that causes Adventure Sonic to re-enable the
// original "X", character hudname and number from the original SRB2's life counter.
// However, there's a twist: The WHOLE life number code has to be rewritten.
local function FDLifeCounter(v, stplyr)
	if not stplyr.mo return end
	if gamemap == 749 return end
	if gametyperules & GTR_RINGSLINGER then return end
	
	if not (stplyr.powers[pw_carry] == CR_NIGHTSMODE)
	and not (maptol & TOL_NIGHTS)
		if (stplyr.lives == 0) then
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 1) then
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 2) then
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 3) then
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 4) then
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 5) then
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 6) then
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 7) then
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 8) then
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 9) then
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 10) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 11) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 12) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 13) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 14) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 15) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 16) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 17) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 18) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 19) then
			v.draw(57, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 20) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 21) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 22) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 23) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 24) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 25) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 26) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 27) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 28) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 29) then
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 30) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 31) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 32) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 33) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 34) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 35) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 36) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 37) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 38) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 39) then
			v.draw(57, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 40) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 41) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 42) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 43) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 44) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 45) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 46) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 47) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 48) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 49) then
			v.draw(57, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 50) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 51) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 52) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 53) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 54) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 55) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 56) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 57) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 58) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 59) then
			v.draw(57, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 60) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 61) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 62) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 63) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 64) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 65) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 66) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 67) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 68) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 69) then
			v.draw(57, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 70) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 71) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 72) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 73) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 74) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 75) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 76) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 77) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 78) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 79) then
			v.draw(57, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 80) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 81) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 82) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 83) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 84) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 85) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 86) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 87) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 88) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 89) then
			v.draw(57, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 90) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM0"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 91) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 92) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 93) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM3"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 94) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM4"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 95) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM5"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 96) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM6"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 97) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 98) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM8"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == 99) then
			v.draw(57, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM9"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		elseif (stplyr.lives == INFLIVES) then
			v.draw(65, 182, v.cachePatch("STTNUM1"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(57, 182, v.cachePatch("STTNUM2"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
			v.draw(65, 182, v.cachePatch("STTNUM7"), V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_PERPLAYER|V_HUDTRANS)
		end
	end
end

hud.add(FDLifeCounter)
hud.disable("lives")