Skip to content

Commit

Permalink
Added a separate killmsg for telestomp
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Jun 16, 2004
1 parent 3496cc6 commit 485ada9
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 15 deletions.
5 changes: 5 additions & 0 deletions doomsday/Defs/jDoom/Text.ded
Expand Up @@ -1870,3 +1870,8 @@ Text {
ID = "KILLMSG_SUPERSHOTGUN";
Text = "%1 blasted %2 to tiny bits.";
}

Text {
ID = "KILLMSG_STOMP";
Text = "%1 stomped %2!!";
}
3 changes: 2 additions & 1 deletion doomsday/Include/Common/d_netsv.h
Expand Up @@ -43,7 +43,8 @@ void NetSv_SaveGame(unsigned int game_id);
void NetSv_LoadGame(unsigned int game_id);
void NetSv_LoadReply(int plnum, int console);
void NetSv_FragsForAll(player_t * player);
void NetSv_KillMessage(player_t * killer, player_t * fragged);
void NetSv_KillMessage(player_t * killer, player_t * fragged,
boolean stomping);
void NetSv_UpdateGameConfig(void);
void NetSv_Paused(boolean isPaused);
void NetSv_DoCheat(int player, const char *data);
Expand Down
3 changes: 2 additions & 1 deletion doomsday/Include/jDoom/info.h
Expand Up @@ -1606,7 +1606,8 @@ typedef enum {
TXT_KILLMSG_BFG, // 331
TXT_KILLMSG_CHAINSAW, // 332
TXT_KILLMSG_SUPERSHOTGUN, // 333
NUMTEXT // 334
TXT_KILLMSG_STOMP, // 334
NUMTEXT // 335
} textenum_t;

#endif
5 changes: 5 additions & 0 deletions doomsday/Include/jDoom/p_local.h
Expand Up @@ -300,6 +300,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher);

void P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source,
int damage);
void P_DamageMobj2(mobj_t *target, mobj_t *inflictor, mobj_t *source,
int damage, boolean stomping);

void P_ExplodeMissile(mobj_t *mo);

Expand All @@ -312,6 +314,9 @@ void P_ExplodeMissile(mobj_t *mo);
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.7 2004/06/16 18:21:34 skyjake
// Added a separate killmsg for telestomp
//
// Revision 1.6 2004/05/30 08:42:35 skyjake
// Tweaked indentation style
//
Expand Down
6 changes: 3 additions & 3 deletions doomsday/Src/Common/d_netsv.c
Expand Up @@ -1042,7 +1042,7 @@ void NetSv_SendPlayerClass(int pnum, char cls)
// NetSv_KillMessage
// Send one of the kill messages, depending on the weapon of the killer.
//===========================================================================
void NetSv_KillMessage(player_t * killer, player_t * fragged)
void NetSv_KillMessage(player_t * killer, player_t * fragged, boolean stomping)
{
#if __JDOOM__
char buf[160], *in, tmp[2];
Expand All @@ -1054,8 +1054,8 @@ void NetSv_KillMessage(player_t * killer, player_t * fragged)
tmp[1] = 0;

// Choose the right kill message template.
in = GET_TXT(killer ==
fragged ? TXT_KILLMSG_SUICIDE : TXT_KILLMSG_WEAPON0 +
in = GET_TXT(stomping ? TXT_KILLMSG_STOMP : killer == fragged ?
TXT_KILLMSG_SUICIDE : TXT_KILLMSG_WEAPON0 +
killer->readyweapon);
for(; *in; in++)
{
Expand Down
24 changes: 15 additions & 9 deletions doomsday/Src/jDoom/p_inter.c
Expand Up @@ -15,6 +15,9 @@
// for more details.
//
// $Log$
// Revision 1.10 2004/06/16 18:21:34 skyjake
// Added a separate killmsg for telestomp
//
// Revision 1.9 2004/05/30 08:42:41 skyjake
// Tweaked indentation style
//
Expand Down Expand Up @@ -704,7 +707,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher)
//===========================================================================
// P_KillMobj
//===========================================================================
void P_KillMobj(mobj_t *source, mobj_t *target)
void P_KillMobj(mobj_t *source, mobj_t *target, boolean stomping)
{
mobjtype_t item;
mobj_t *mo;
Expand All @@ -728,7 +731,7 @@ void P_KillMobj(mobj_t *source, mobj_t *target)
{
source->player->frags[target->player - players]++;
NetSv_FragsForAll(source->player);
NetSv_KillMessage(source->player, target->player);
NetSv_KillMessage(source->player, target->player, stomping);
}
}
else if(!IS_NETGAME && (target->flags & MF_COUNTKILL))
Expand All @@ -745,7 +748,7 @@ void P_KillMobj(mobj_t *source, mobj_t *target)
{
target->player->frags[target->player - players]++;
NetSv_FragsForAll(target->player);
NetSv_KillMessage(target->player, target->player);
NetSv_KillMessage(target->player, target->player, stomping);
}

target->flags &= ~MF_SOLID;
Expand Down Expand Up @@ -807,6 +810,12 @@ void P_KillMobj(mobj_t *source, mobj_t *target)
mo->flags |= MF_DROPPED; // special versions of items
}

void P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source,
int damage)
{
P_DamageMobj2(target, inflictor, source, damage, false);
}

//===========================================================================
// P_DamageMobj
// Damages both enemies and players
Expand All @@ -818,8 +827,8 @@ void P_KillMobj(mobj_t *source, mobj_t *target)
// Source can be NULL for slime, barrel explosions
// and other environmental stuff.
//===========================================================================
void P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source,
int damage)
void P_DamageMobj2(mobj_t *target, mobj_t *inflictor, mobj_t *source,
int damage, boolean stomping)
{
unsigned ang;
int saved;
Expand Down Expand Up @@ -942,9 +951,6 @@ void P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source,
player->damagecount = 100; // teleport stomp does 10k points...

temp = damage < 100 ? damage : 100;

/* if (player == &players[consoleplayer])
I_Tactile (40,10,40+temp*2); */
}

// How about some particles, yes?
Expand All @@ -955,7 +961,7 @@ void P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source,
target->health -= damage;
if(target->health <= 0)
{
P_KillMobj(source, target);
P_KillMobj(source, target, stomping);
return;
}

Expand Down
6 changes: 5 additions & 1 deletion doomsday/Src/jDoom/p_map.c
Expand Up @@ -15,6 +15,9 @@
// for more details.
//
// $Log$
// Revision 1.9 2004/06/16 18:25:09 skyjake
// Added a separate killmsg for telestomp
//
// Revision 1.8 2004/05/30 08:42:41 skyjake
// Tweaked indentation style
//
Expand Down Expand Up @@ -140,7 +143,8 @@ boolean PIT_StompThing(mobj_t *thing, void *data)
if(!tmthing->player && gamemap != 30)
return false;

P_DamageMobj(thing, tmthing, tmthing, 10000);
// Do stomp damage.
P_DamageMobj2(thing, tmthing, tmthing, 10000, true);

return true;
}
Expand Down

0 comments on commit 485ada9

Please sign in to comment.