mirror of
https://github.com/rehlds/metamod-r.git
synced 2024-12-31 00:55:47 +03:00
105 lines
5.1 KiB
C
105 lines
5.1 KiB
C
|
/*
|
||
|
*
|
||
|
* 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
|
||
|
*
|
||
|
* In addition, as a special exception, the author gives permission to
|
||
|
* link the code of this program with the Half-Life Game Engine ("HL
|
||
|
* Engine") and Modified Game Libraries ("MODs") developed by Valve,
|
||
|
* L.L.C ("Valve"). You must obey the GNU General Public License in all
|
||
|
* respects for all of the code used other than the HL Engine and MODs
|
||
|
* from Valve. If you modify this file, you may extend this exception
|
||
|
* to your version of the file, but you are not obligated to do so. If
|
||
|
* you do not wish to do so, delete this exception statement from your
|
||
|
* version.
|
||
|
*
|
||
|
*/
|
||
|
#pragma once
|
||
|
|
||
|
// These are caps bits to indicate what an object's capabilities (currently used for save/restore and level transitions)
|
||
|
#define FCAP_CUSTOMSAVE 0x00000001
|
||
|
#define FCAP_ACROSS_TRANSITION 0x00000002 // should transfer between transitions
|
||
|
#define FCAP_MUST_SPAWN 0x00000004 // Spawn after restore
|
||
|
#define FCAP_DONT_SAVE 0x80000000 // Don't save this
|
||
|
#define FCAP_IMPULSE_USE 0x00000008 // can be used by the player
|
||
|
#define FCAP_CONTINUOUS_USE 0x00000010 // can be used by the player
|
||
|
#define FCAP_ONOFF_USE 0x00000020 // can be used by the player
|
||
|
#define FCAP_DIRECTIONAL_USE 0x00000040 // Player sends +/- 1 when using (currently only tracktrains)
|
||
|
#define FCAP_MASTER 0x00000080 // Can be used to "master" other entities (like multisource)
|
||
|
|
||
|
// UNDONE: This will ignore transition volumes (trigger_transition), but not the PVS!!!
|
||
|
#define FCAP_FORCE_TRANSITION 0x00000080 // ALWAYS goes across transitions
|
||
|
|
||
|
// for Classify
|
||
|
#define CLASS_NONE 0
|
||
|
#define CLASS_MACHINE 1
|
||
|
#define CLASS_PLAYER 2
|
||
|
#define CLASS_HUMAN_PASSIVE 3
|
||
|
#define CLASS_HUMAN_MILITARY 4
|
||
|
#define CLASS_ALIEN_MILITARY 5
|
||
|
#define CLASS_ALIEN_PASSIVE 6
|
||
|
#define CLASS_ALIEN_MONSTER 7
|
||
|
#define CLASS_ALIEN_PREY 8
|
||
|
#define CLASS_ALIEN_PREDATOR 9
|
||
|
#define CLASS_INSECT 10
|
||
|
#define CLASS_PLAYER_ALLY 11
|
||
|
#define CLASS_PLAYER_BIOWEAPON 12 // hornets and snarks.launched by players
|
||
|
#define CLASS_ALIEN_BIOWEAPON 13 // hornets and snarks.launched by the alien menace
|
||
|
#define CLASS_VEHICLE 14
|
||
|
#define CLASS_BARNACLE 99 // special because no one pays attention to it, and it eats a wide cross-section of creatures.
|
||
|
|
||
|
#define SF_NORESPAWN (1 << 30) // set this bit on guns and stuff that should never respawn.
|
||
|
|
||
|
#define DMG_GENERIC 0 // generic damage was done
|
||
|
#define DMG_CRUSH (1<<0) // crushed by falling or moving object
|
||
|
#define DMG_BULLET (1<<1) // shot
|
||
|
#define DMG_SLASH (1<<2) // cut, clawed, stabbed
|
||
|
#define DMG_BURN (1<<3) // heat burned
|
||
|
#define DMG_FREEZE (1<<4) // frozen
|
||
|
#define DMG_FALL (1<<5) // fell too far
|
||
|
#define DMG_BLAST (1<<6) // explosive blast damage
|
||
|
#define DMG_CLUB (1<<7) // crowbar, punch, headbutt
|
||
|
#define DMG_SHOCK (1<<8) // electric shock
|
||
|
#define DMG_SONIC (1<<9) // sound pulse shockwave
|
||
|
#define DMG_ENERGYBEAM (1<<10) // laser or other high energy beam
|
||
|
#define DMG_NEVERGIB (1<<12) // with this bit OR'd in, no damage type will be able to gib victims upon death
|
||
|
#define DMG_ALWAYSGIB (1<<13) // with this bit OR'd in, any damage type can be made to gib victims upon death
|
||
|
#define DMG_DROWN (1<<14) // Drowning
|
||
|
|
||
|
// time-based damage
|
||
|
#define DMG_TIMEBASED (~(0x3FFF)) // mask for time-based damage
|
||
|
|
||
|
#define DMG_PARALYZE (1<<15) // slows affected creature down
|
||
|
#define DMG_NERVEGAS (1<<16) // nerve toxins, very bad
|
||
|
#define DMG_POISON (1<<17) // blood poisioning
|
||
|
#define DMG_RADIATION (1<<18) // radiation exposure
|
||
|
#define DMG_DROWNRECOVER (1<<19) // drowning recovery
|
||
|
#define DMG_ACID (1<<20) // toxic chemicals or acid burns
|
||
|
#define DMG_SLOWBURN (1<<21) // in an oven
|
||
|
#define DMG_SLOWFREEZE (1<<22) // in a subzero freezer
|
||
|
#define DMG_MORTAR (1<<23) // Hit by air raid (done to distinguish grenade from mortar)
|
||
|
#define DMG_EXPLOSION (1<<24)
|
||
|
|
||
|
// these are the damage types that are allowed to gib corpses
|
||
|
#define DMG_GIB_CORPSE (DMG_CRUSH | DMG_FALL | DMG_BLAST | DMG_SONIC | DMG_CLUB)
|
||
|
|
||
|
// these are the damage types that have client hud art
|
||
|
#define DMG_SHOWNHUD (DMG_POISON | DMG_ACID | DMG_FREEZE | DMG_SLOWFREEZE | DMG_DROWN | DMG_BURN | DMG_SLOWBURN | DMG_NERVEGAS | DMG_RADIATION | DMG_SHOCK)
|
||
|
|
||
|
// when calling KILLED(), a value that governs gib behavior is expected to be
|
||
|
// one of these three values
|
||
|
#define GIB_NORMAL 0 // gib if entity was overkilled
|
||
|
#define GIB_NEVER 1 // never gib, no matter how much death damage is done ( freezing, etc )
|
||
|
#define GIB_ALWAYS 2 // always gib ( Houndeye Shock, Barnacle Bite )
|