
addHook("PlayerSpawn", function(player)
local zzalve = 0
player.zzalve = 1 //sleep value
local funni = 0
player.funni = 20
end)

addHook("PlayerThink", function(player) //sleepy idle
if player.mo
player.zzalve = $ or 1
if (player.mo.skin == "redbird")
or (player.mo.skin == "blues")// is a bird
or (player.mo.skin == "hal")
or (player.mo.skin == "matilda")
and not player.powers[pw_super]
and not G_TagGametype()// no cheating.
if (player.mo.state == S_PLAY_WAIT)// zzzzzzz... sleep animation...
if leveltime%10 == 0 and player.zzalve == 1
local slep = P_SpawnMobjFromMobj(player.mo, 0, 0, 20*FRACUNIT, MT_THOK)
slep.sprite = SPR_BDFX
slep.frame = A|FF_SEMIBRIGHT
slep.target = player.mo
slep.tics = 125
P_SetObjectMomZ(slep, 2*FRACUNIT, true)
player.zzalve = 0
elseif player.zzalve > 1
player.zzalve = $ - 1
elseif not (G_TicsToSeconds(leveltime)%2)
player.zzalve = P_RandomRange(50, 75)
end
else
end
end
end
end)

addHook("PlayerThink", function(player)//make sounds
if player.mo
player.funni = $ or 20
if player.funni > 1
player.funni = $ - 1
end
if (player.cmd.buttons & BT_TOSSFLAG) and (player.funni <= 1)
if (player.mo.skin == "redbird")
S_StartSound(player.mo, sfx_rdbns, nil)
elseif (player.mo.skin == "chuck")
S_StartSound(player.mo, sfx_ckbns, nil)
elseif (player.mo.skin == "blues")
S_StartSound(player.mo, sfx_bubns, nil)
elseif (player.mo.skin == "bombbird")
S_StartSound(player.mo, sfx_bmbns, nil)
elseif (player.mo.skin == "matilda")
S_StartSound(player.mo, sfx_mdbns, nil)
elseif (player.mo.skin == "hal")
S_StartSound(player.mo, sfx_hlbns, nil)
end
player.funni = 20
end
end
end)

addHook("AbilitySpecial", function(player)//feather puffs
if player.mo
if (player.mo.skin == "redbird")
//or (player.mo.skin == "chuck")
//or (player.mo.skin == "blues") lacks a normal ability
or (player.mo.skin == "hal")
or (player.mo.skin == "matilda")
//or (player.mo.skin == "bombbird")
if not (player.pflags & PF_THOKKED)
FeatherSpawn(player.mo, 15, player.mo)
end
end
end
end)

addHook("MobjDamage", function(mobj) //feather puffs 2, weeeeee
if (mobj.player.mo.skin == "redbird")
or (mobj.player.mo.skin == "chuck")
or (mobj.player.mo.skin == "blues")
or (mobj.player.mo.skin == "hal")
or (mobj.player.mo.skin == "bombbird")
or (mobj.player.mo.skin == "matilda")
if not (mobj.player.pflags & PF_THOKKED) and mobj.player.mo.state != S_PLAY_PAIN
FeatherSpawn(mobj.player.mo, 15, mobj.player.mo)
end
end
end, MT_PLAYER)

addHook("MobjThinker", function(mobj)// feather
if mobj.valid
and mobj.sprite == SPR_BDFX
and not (mobj.frame == A|FF_SEMIBRIGHT)
mobj.rollangle = $ + 5*ANG1
end
end, MT_THOK)

/* was too annoying
addHook("MobjThinker", function(mobj)//BONUCY! not for chuck.
if mobj.valid
if (mobj.player.mo.skin == "redbird")
or (mobj.player.mo.skin == "blues")
or (mobj.player.mo.skin == "hal")
or (mobj.player.mo.skin == "bombbird")
or (mobj.player.mo.skin == "matilda")
mobj.flags = $|MF_BOUNCE
elseif mobj.flags & MF_BOUNCE
mobj.flags = $ & ~MF_BOUNCE
end
end
end, MT_PLAYER)
*/

addHook("PlayerThink", function(player) //letting them break stuff, by momentum
if player.mo
if (player.mo.skin == "redbird")
or (player.mo.skin == "chuck")
or (player.mo.skin == "hal")
or (player.mo.skin == "blues")// is a bird
or (player.mo.skin == "bombbird")
or (player.mo.skin == "matilda")
if player.powers[pw_super]// is super? JUST DON'T DROWN! yay
player.powers[pw_underwater] = 35*TICRATE
player.powers[pw_spacetime] = 25*TICRATE
end
if player.speed > 25*FRACUNIT //fast? break wall
player.powers[pw_strong] = $|STR_WALL
elseif player.powers[pw_strong] & STR_WALL
player.powers[pw_strong] = $ - STR_WALL
end
if player.mo.momz < -25*FRACUNIT or player.mo.momz > 25*FRACUNIT //falling/rising like a rocket? break the floor/ceiling
player.powers[pw_strong] = $|STR_CEILING|STR_FLOOR
elseif player.powers[pw_strong] & STR_CEILING or player.powers[pw_strong] & STR_FLOOR
player.powers[pw_strong] = $ - STR_CEILING
player.powers[pw_strong] = $ - STR_FLOOR
end
end
end
end)


