/* Emacs style mode select -*- C++ -*- *----------------------------------------------------------------------------- * * * PrBoom: a Doom port merged with LxDoom and LSDLDoom * based on BOOM, a modified and improved DOOM engine * Copyright (C) 1999 by * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman * Copyright (C) 1999-2000 by * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze * Copyright 2005, 2006 by * Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * DESCRIPTION: * Enemy thinking, AI. * Action Pointer Functions * that are associated with states/frames. * *-----------------------------------------------------------------------------*/ #ifndef __P_ENEMY__ #define __P_ENEMY__ #include "p_mobj.h" void P_NoiseAlert (mobj_t *target, mobj_t *emmiter); void P_SpawnBrainTargets(void); /* killough 3/26/98: spawn icon landings */ extern struct brain_s { /* killough 3/26/98: global state of boss brain */ int easy, targeton; } brain; // ******************************************************************** // Function addresses or Code Pointers // ******************************************************************** // These function addresses are the Code Pointers that have been // modified for years by Dehacked enthusiasts. The new BEX format // allows more extensive changes (see d_deh.c) // Doesn't work with g++, needs actionf_p1 void A_Explode(); void A_Pain(); void A_PlayerScream(); void A_Fall(); void A_XScream(); void A_Look(); void A_Chase(); void A_FaceTarget(); void A_PosAttack(); void A_Scream(); void A_SPosAttack(); void A_VileChase(); void A_VileStart(); void A_VileTarget(); void A_VileAttack(); void A_StartFire(); void A_Fire(); void A_FireCrackle(); void A_Tracer(); void A_SkelWhoosh(); void A_SkelFist(); void A_SkelMissile(); void A_FatRaise(); void A_FatAttack1(); void A_FatAttack2(); void A_FatAttack3(); void A_BossDeath(); void A_CPosAttack(); void A_CPosRefire(); void A_TroopAttack(); void A_SargAttack(); void A_HeadAttack(); void A_BruisAttack(); void A_SkullAttack(); void A_Metal(); void A_SpidRefire(); void A_BabyMetal(); void A_BspiAttack(); void A_Hoof(); void A_CyberAttack(); void A_PainAttack(); void A_PainDie(); void A_KeenDie(); void A_BrainPain(); void A_BrainScream(); void A_BrainDie(); void A_BrainAwake(); void A_BrainSpit(); void A_SpawnSound(); void A_SpawnFly(); void A_BrainExplode(); void A_Die(); void A_Detonate(); /* killough 8/9/98: detonate a bomb or other device */ void A_Mushroom(); /* killough 10/98: mushroom effect */ void A_Spawn(); // killough 11/98 void A_Turn(); // killough 11/98 void A_Face(); // killough 11/98 void A_Scratch(); // killough 11/98 void A_PlaySound(); // killough 11/98 void A_RandomJump(); // killough 11/98 void A_LineEffect(); // killough 11/98 #endif // __P_ENEMY__