2016-03-01 15:47:10 +00:00
|
|
|
#include "actor.h"
|
|
|
|
#include "info.h"
|
|
|
|
#include "p_local.h"
|
|
|
|
#include "p_spec.h"
|
|
|
|
#include "a_sharedglobal.h"
|
|
|
|
#include "m_random.h"
|
|
|
|
#include "gi.h"
|
|
|
|
#include "doomstat.h"
|
|
|
|
#include "gstrings.h"
|
|
|
|
#include "thingdef/thingdef.h"
|
|
|
|
#include "g_level.h"
|
|
|
|
#include "p_enemy.h"
|
|
|
|
#include "a_doomglobal.h"
|
|
|
|
#include "a_specialspot.h"
|
|
|
|
#include "templates.h"
|
|
|
|
#include "m_bbox.h"
|
|
|
|
#include "farchive.h"
|
|
|
|
#include "portal.h"
|
|
|
|
#include "d_player.h"
|
|
|
|
#include "p_maputl.h"
|
|
|
|
#include "g_shared/a_pickups.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"
|
|
|
|
|
|
|
|
// The barrel of green goop ------------------------------------------------
|
|
|
|
|
|
|
|
DEFINE_ACTION_FUNCTION(AActor, A_BarrelDestroy)
|
|
|
|
{
|
|
|
|
PARAM_ACTION_PROLOGUE;
|
|
|
|
|
|
|
|
if (dmflags2 & DF2_BARRELS_RESPAWN)
|
|
|
|
{
|
2016-03-20 19:55:06 +00:00
|
|
|
self->Height = self->GetDefault()->Height;
|
2016-03-01 15:47:10 +00:00
|
|
|
self->renderflags |= RF_INVISIBLE;
|
|
|
|
self->flags &= ~MF_SOLID;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
self->Destroy ();
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|