2006-02-24 04:48:15 +00:00
|
|
|
#include "actor.h"
|
|
|
|
#include "info.h"
|
|
|
|
#include "p_local.h"
|
|
|
|
#include "a_sharedglobal.h"
|
|
|
|
#include "m_random.h"
|
|
|
|
#include "gi.h"
|
|
|
|
#include "doomstat.h"
|
|
|
|
#include "gstrings.h"
|
2008-08-10 20:48:55 +00:00
|
|
|
#include "thingdef/thingdef.h"
|
2008-09-15 14:11:05 +00:00
|
|
|
#include "g_level.h"
|
|
|
|
#include "p_enemy.h"
|
|
|
|
#include "a_doomglobal.h"
|
|
|
|
#include "a_specialspot.h"
|
|
|
|
#include "templates.h"
|
|
|
|
#include "m_bbox.h"
|
|
|
|
|
|
|
|
// Include all the other Doom stuff here to reduce compile time
|
|
|
|
#include "a_arachnotron.cpp"
|
|
|
|
#include "a_archvile.cpp"
|
|
|
|
#include "a_bossbrain.cpp"
|
|
|
|
#include "a_bruiser.cpp"
|
|
|
|
#include "a_cacodemon.cpp"
|
|
|
|
#include "a_cyberdemon.cpp"
|
|
|
|
#include "a_demon.cpp"
|
|
|
|
#include "a_doomimp.cpp"
|
|
|
|
#include "a_doomweaps.cpp"
|
|
|
|
#include "a_fatso.cpp"
|
|
|
|
#include "a_keen.cpp"
|
|
|
|
#include "a_lostsoul.cpp"
|
|
|
|
#include "a_painelemental.cpp"
|
|
|
|
#include "a_possessed.cpp"
|
|
|
|
#include "a_revenant.cpp"
|
|
|
|
#include "a_spidermaster.cpp"
|
|
|
|
#include "a_scriptedmarine.cpp"
|
2006-02-24 04:48:15 +00:00
|
|
|
|
|
|
|
// The barrel of green goop ------------------------------------------------
|
|
|
|
|
2008-08-10 20:48:55 +00:00
|
|
|
DEFINE_ACTION_FUNCTION(AActor, A_BarrelDestroy)
|
2006-02-24 04:48:15 +00:00
|
|
|
{
|
|
|
|
if ((dmflags2 & DF2_BARRELS_RESPAWN) &&
|
|
|
|
(deathmatch || alwaysapplydmflags))
|
|
|
|
{
|
2008-08-10 20:48:55 +00:00
|
|
|
self->height = self->GetDefault()->height;
|
|
|
|
self->renderflags |= RF_INVISIBLE;
|
|
|
|
self->flags &= ~MF_SOLID;
|
2006-02-24 04:48:15 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2008-08-10 20:48:55 +00:00
|
|
|
self->Destroy ();
|
2006-02-24 04:48:15 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|