freeslot("MT_TREASURE", "S_TREASURE", "S_TREASUREANIM", "S_SPAWN3000", "SPR_TRES", "sfx_treas")

mobjinfo[MT_TREASURE] = {
--$Name Secret Treasure
--$Sprite TRESA0
--$Category Castle CalZone
doomednum = 6000,
spawnstate = S_TREASURE,
spawnhealth = 1000,
reactiontime = MT_FLINGRING,
painchance = 0,
deathstate = S_TREASUREANIM,
raisestate = MT_SCORE3000,
deathsound = sfx_treas,
speed = 38*FRACUNIT,
radius = 16*FRACUNIT,
height = 32*FRACUNIT,
mass = 100,
damage = 0,
flags = MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY
}

states[S_TREASURE] = {
sprite = SPR_TRES,
frame = A,
tics = -1,
nextstate = S_TREASURE
}

states[S_TREASUREANIM] = {
sprite = SPR_TRES,
frame = B|FF_ANIMATE,
tics = 90,
var1 = 1,
var2 = 2,
nextstate = S_SPAWN3000
}

states[S_SPAWN3000] = {
sprite = SPR_TRES,
frame = A,
tics = 1,
action = A_DropMine,
nextstate = S_NULL
}

addHook("TouchSpecial", function(mo, playermobj)
    if mo.state == S_TREASURE
        P_GivePlayerRings(playermobj.player, 100)
		P_AddPlayerScore(playermobj.player, 3000)
    end
end, MT_TREASURE)
-- This is just slighty edited Onion Ring code, so credit goes to gabriel.lua once more