summaryrefslogtreecommitdiff
path: root/src/game/g_combat.c
diff options
context:
space:
mode:
authorPetr Pudlak <petr.mvd@gmail.com>2014-09-20 18:54:42 +0200
committerPetr Pudlak <petr.mvd@gmail.com>2014-09-20 19:54:58 +0200
commit0238f457f4200a92e99e3be0a61a9870ea8ae560 (patch)
tree2c52784f73f3cddbc4de3dcb134b8409ec458ae5 /src/game/g_combat.c
parent43ea36ac9bea52cd058c81a8697878c508a0eb4b (diff)
Add a separate mode of death for no-BP building suicides
Diffstat (limited to 'src/game/g_combat.c')
-rw-r--r--src/game/g_combat.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/game/g_combat.c b/src/game/g_combat.c
index 073c00c..ada2f9c 100644
--- a/src/game/g_combat.c
+++ b/src/game/g_combat.c
@@ -143,7 +143,8 @@ char *modNames[ ] =
"MOD_SLAP",
"MOD_DECONSTRUCT",
"MOD_REPLACE",
- "MOD_NOCREEP",
+ "MOD_NOCREEP",
+ "MOD_NOBP",
"MOD_ABOMB"
};
@@ -1353,7 +1354,7 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
if( targ->s.eType == ET_BUILDABLE && attacker->client &&
mod != MOD_DECONSTRUCT && mod != MOD_SUICIDE &&
- mod != MOD_REPLACE && mod != MOD_NOCREEP )
+ mod != MOD_REPLACE && mod != MOD_NOCREEP && mod != MOD_NOBP )
{
if( targ->buildableTeam == attacker->client->pers.teamSelection &&
!g_friendlyBuildableFire.integer )
@@ -1781,6 +1782,9 @@ void G_LogDestruction( gentity_t *self, gentity_t *actor, int mod )
case MOD_NOCREEP:
fate = ( actor->client ) ? BF_UNPOWER : BF_AUTO;
break;
+ case MOD_NOBP:
+ fate = BF_UNPOWER;
+ break;
default:
if( actor->client )
{
@@ -1813,7 +1817,8 @@ void G_LogDestruction( gentity_t *self, gentity_t *actor, int mod )
// No-power deaths for humans come after some minutes and it's confusing
// when the messages appear attributed to the deconner. Just don't print them.
- if( mod == MOD_NOCREEP && actor->client &&
+ if( ( mod == MOD_NOCREEP && mod == MOD_NOBP ) &&
+ actor->client &&
actor->client->pers.teamSelection == TEAM_HUMANS )
return;