freeslot("MT_UNCANY")
freeslot("S_UCAT_0")
freeslot("SPR_UCAT")
freeslot("S_HCAT_0")
freeslot("SPR_HCAT")

local function chase_unc(mobj)
local p = consoleplayer
A_FindTarget(mobj, MT_PLAYER, 0)
if p.hardmode == false or p.hardmode == nil
A_HomingChase(mobj, 18*FRACUNIT, 0)
end
if p.hardmode == true
A_HomingChase(mobj, 23*FRACUNIT, 0)
end
end

addHook("MobjThinker", chase_unc, MT_UNCANY) //CHASE

local function hardmode_unc(mobj)
local p = consoleplayer
if p.hardmode == true
mobj.state = S_HCAT_0
end
end

addHook("MobjSpawn", hardmode_unc, MT_UNCANY) //HARDMODE

addHook("TouchSpecial", function(mobj, p)
if mobj.type == MT_UNCANY
A_RemoteDamage(mobj, 1, 1)
A_Jumpscare()
S_StartSound(p.mo, sfx_uncany)
P_RemoveMobj(mobj)
end
end)

local function check_win(mobj)
local p = consoleplayer
if p.dead == true
P_RemoveMobj(mobj)
end
end

addHook("MobjThinker", check_win, MT_UNCANY)


local function spawnable_UNC(p)
local p = consoleplayer
if p.canspawn == nil
p.canspawn = false
end
//main
if p.canspawn != true
p.canspawn = true
print("BEWARE THE UNCANNY, RETRY TO FACE IT...")
S_StartSound(p.mo, sfx_laugh)
elseif p.canspawn != false
p.canspawn = false
print("COWARD.")
end
end


local function hard_UNC(p)
local p = consoleplayer
if p.hardmode == nil
p.hardmode = false
end
if p.canspawn != true
print("ENABLE ME FIRST...")
end
//main
if p.canspawn == true
if p.hardmode != true
p.hardmode = true
print("YOU'RE DARING AREN'T YOU.")
S_StartSound(p.mo, sfx_laugh)
elseif p.hardmode != false
p.hardmode = false
print("I GUESS IT WAS TOO MUCH FOR YOU")
end
end
end

local function bounce_enable(p)
local p = consoleplayer
if p.wallbounce == nil
p.wallbounce = false
end
//main
if p.wallbounce != true
p.wallbounce = true
print("Enabled WallBounce")
S_StartSound(p.mo, sfx_wlbmp)
elseif p.wallbounce != false
p.wallbounce = false
print("Disabled WallBounce")
end
end

local function easy_ex(p)
G_ExitLevel()
end

//SPAWN THE UNCANNY (COMMAND)
COM_AddCommand("UNCANNY", spawnable_UNC)
//HARD MODE ON (COMMAND)
COM_AddCommand("HARDMODE", hard_UNC)
//ENABLE WALL BOUNCE (COMMAND)
COM_AddCommand("WALLBOUNCE", bounce_enable)
COM_AddCommand("WIN", easy_ex)

