no message

This commit is contained in:
Duff Man 2001-07-27 00:21:23 +00:00
parent 7d88ec6da0
commit e238f1f794
8 changed files with 132 additions and 28 deletions

View File

@ -1367,7 +1367,7 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
es = &cent->currentState;
event = es->event & ~EV_EVENT_BITS;
if ( cg_debugEvents.integer ) {
CG_Printf( "ent:%3i event:%3i ", es->number, event );
}
@ -1426,7 +1426,19 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
case EV_FALL_SHORT:
DEBUGNAME("EV_FALL_SHORT");
trap_S_StartSound (NULL, es->number, CHAN_AUTO, cgs.media.landSound );
if ( clientNum == cg.predictedPlayerState.clientNum ) {
// smooth landing z changes
cg.landChange = -8;
cg.landTime = cg.time;
}
break;
case EV_FALL_SHORT_NOSOUND:
DEBUGNAME("EV_FALL_SHORT_NOSOUND");
if ( clientNum == cg.predictedPlayerState.clientNum ) {
// smooth landing z changes
cg.landChange = -8;
@ -1436,16 +1448,32 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
case EV_FALL_MEDIUM:
DEBUGNAME("EV_FALL_MEDIUM");
// use normal pain sound
trap_S_StartSound( NULL, es->number, CHAN_VOICE, CG_CustomSound( es->number, "*pain100_1.wav" ) );
if ( clientNum == cg.predictedPlayerState.clientNum ) {
// smooth landing z changes
cg.landChange = -16;
cg.landTime = cg.time;
}
break;
case EV_FALL_MEDIUM_NOSOUND:
DEBUGNAME("EV_FALL_MEDIUM_NOSOUND");
if ( clientNum == cg.predictedPlayerState.clientNum ) {
// smooth landing z changes
cg.landChange = -16;
cg.landTime = cg.time;
}
break;
case EV_FALL_FAR:
DEBUGNAME("EV_FALL_FAR");
trap_S_StartSound (NULL, es->number, CHAN_AUTO, CG_CustomSound( es->number, "*fall1.wav" ) );
cent->pe.painTime = cg.time; // don't play a pain sound right after this
if ( clientNum == cg.predictedPlayerState.clientNum ) {
// smooth landing z changes
@ -1453,6 +1481,15 @@ void CG_EntityEvent( centity_t *cent, vec3_t position ) {
cg.landTime = cg.time;
}
break;
case EV_FALL_FAR_NOSOUND:
DEBUGNAME("EV_FALL_FAR_NOSOUND");
if ( clientNum == cg.predictedPlayerState.clientNum ) {
// smooth landing z changes
cg.landChange = -24;
cg.landTime = cg.time;
}
break;
case EV_STEP_4:
case EV_STEP_8:

View File

@ -2128,19 +2128,21 @@ void CG_FireWeapon( centity_t *cent ) {
trap_S_StartSound (NULL, cent->currentState.number, CHAN_ITEM, cgs.media.quadSound );
}
// play a sound
for ( c = 0 ; c < 4 ; c++ ) {
if ( !weap->flashSound[c] ) {
break;
if ent->client->ps.
// play a sound
for ( c = 0 ; c < 4 ; c++ ) {
if ( !weap->flashSound[c] ) {
break;
}
}
}
if ( c > 0 ) {
c = rand() % c;
if ( weap->flashSound[c] )
{
trap_S_StartSound( NULL, ent->number, CHAN_WEAPON, weap->flashSound[c] );
if ( c > 0 ) {
c = rand() % c;
if ( weap->flashSound[c] )
{
trap_S_StartSound( NULL, ent->number, CHAN_WEAPON, weap->flashSound[c] );
}
}
}
// do brass ejection
if ( weap->ejectBrassFunc && cg_brassTime.integer > 0 ) {

View File

@ -1263,8 +1263,11 @@ char *eventnames[] = {
"EV_STEP_16",
"EV_FALL_SHORT",
"EV_FALL_SHORT_NOSOUND",
"EV_FALL_MEDIUM",
"EV_FALL_MEDIUM_NOSOUND",
"EV_FALL_FAR",
"EV_FALL_FAR_NOSOUND",
"EV_JUMP_PAD", // boing sound at origin", jump sound on player

View File

@ -1170,6 +1170,7 @@ static void PM_CrashLand( void ) {
// SURF_NODAMAGE is used for bounce pads where you don't ever
// want to take damage or play a crunch sound
if (delta > 30)
{
@ -1177,12 +1178,18 @@ static void PM_CrashLand( void ) {
damage = (int)(((delta-30)/2));
if (damage < 1) damage = 1;
damage *= 10;
if ( !(pml.groundTrace.surfaceFlags & SURF_NODAMAGE) ) {
//Blaze lots of changes to make it more like aq2
// this is a pain grunt, so don't play it if dead
if ( pm->ps->stats[STAT_HEALTH] > 0 && damage > 0) {
PM_AddEvent( EV_FALL_FAR );
if (bg_itemlist[pm->ps->stats[STAT_HOLDABLE_ITEM]].giTag == HI_SLIPPERS)
PM_AddEvent( EV_FALL_FAR_NOSOUND );
else
PM_AddEvent( EV_FALL_FAR );
pm->ps->stats[STAT_FALLDAMAGE] = damage;
}
else
@ -1193,13 +1200,19 @@ static void PM_CrashLand( void ) {
}
}
}
else if (delta > 20)
{
PM_AddEvent( EV_FALL_SHORT );
//Elder: added? useful?
pm->ps->stats[STAT_FALLDAMAGE] = 0;
else if (delta > 20)
{ if (bg_itemlist[pm->ps->stats[STAT_HOLDABLE_ITEM]].giTag == HI_SLIPPERS)
{ PM_AddEvent( EV_FALL_SHORT_NOSOUND );
//Elder: added? useful?
pm->ps->stats[STAT_FALLDAMAGE] = 0;
}
else
{ PM_AddEvent( EV_FALL_SHORT );
//Elder: added? useful?
pm->ps->stats[STAT_FALLDAMAGE] = 0;
}
}
else
else if (!(bg_itemlist[pm->ps->stats[STAT_HOLDABLE_ITEM]].giTag == HI_SLIPPERS))
{
PM_AddEvent( PM_FootstepForSurface() );
//Elder: added? useful?
@ -1618,7 +1631,7 @@ static void PM_Footsteps( void ) {
if ( pm->waterlevel == 0 ) {
//Elder: we can check for slippers here!
// on ground will only play sounds if running
if ( footstep && !pm->noFootsteps ) {
if (( footstep && !pm->noFootsteps ) && !(bg_itemlist[pm->ps->stats[STAT_HOLDABLE_ITEM]].giTag == HI_SLIPPERS)) {
PM_AddEvent( PM_FootstepForSurface() );
}
} else if ( pm->waterlevel == 1 ) {

View File

@ -619,8 +619,11 @@ typedef enum {
EV_STEP_16,
EV_FALL_SHORT,
EV_FALL_SHORT_NOSOUND,
EV_FALL_MEDIUM,
EV_FALL_MEDIUM_NOSOUND,
EV_FALL_FAR,
EV_FALL_FAR_NOSOUND,
EV_JUMP_PAD, // boing sound at origin, jump sound on player

View File

@ -667,6 +667,24 @@ void ClientEvents( gentity_t *ent, int oldEventSequence ) {
break;
case EV_FALL_FAR_NOSOUND:
if ( ent->s.eType != ET_PLAYER ) {
break; // not in the player model
}
if ( g_dmflags.integer & DF_NO_FALLING ) {
break;
}
damage = ent->client->ps.stats[STAT_FALLDAMAGE];
VectorSet (dir, 0, 0, 1);
ent->pain_debounce_time = level.time + 200; // no normal pain sound
//Elder: added so we can trigger AQ2 pain blends
ent->client->ps.damageEvent++;
G_Damage (ent, NULL, NULL, NULL, NULL, damage, 0, MOD_FALLING);
break;
case EV_FIRE_WEAPON:
FireWeapon( ent );
break;
@ -1452,7 +1470,7 @@ void ClientEndFrame( gentity_t *ent ) {
{
G_Printf("Spawn an Item\n");
//rq3_item = BG_FindItem( "Kevlar Vest" );
rq3_item = BG_FindItemForHoldable( HI_KEVLAR );
rq3_item = BG_FindItemForHoldable( HI_SLIPPERS );
rq3_temp = SelectSpawnPoint(ent->client->ps.origin,spawn_origin, spawn_angles);
Drop_Item (rq3_temp, rq3_item, 0);
}

View File

@ -1652,10 +1652,31 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
}
case (LOCATION_CHEST):
{
trap_SendServerCommand( attacker-g_entities, va("print \"You hit %s^7 in the chest.\n\"", targ->client->pers.netname));
trap_SendServerCommand( targ-g_entities, va("print \"Chest Damage.\n\""));
take *= 0.65;
break;
if (bg_itemlist[targ->client->ps.stats[STAT_HOLDABLE_ITEM]].giTag == HI_KEVLAR)
{
if ((attacker->client->ps.stats[STAT_WEAPONS] & (1 << WP_SSG3000)) == (1 << WP_SSG3000))
{ trap_SendServerCommand(attacker-g_entities, va("print \"%s has a Kevlar Vest, too bad you have AP rounds...\n\"",targ->client->pers.netname));
trap_SendServerCommand(targ-g_entities, va("print \"Kevlar Vest absorbed some of %s's AP sniper round\n\"",attacker->client->pers.netname));
take = take * .325;
}
else
{ trap_SendServerCommand( attacker-g_entities, va("print \"%s^7 has a Kevlar Vest - AIM FOR THE HEAD!\n\"", targ->client->pers.netname));
trap_SendServerCommand( targ-g_entities, va("print \"Kevlar Vest absorbed most of %s shot\n\"", attacker->client->pers.netname ));
take = take/10;
bleeding = 0;
}
break;
}
else
{
trap_SendServerCommand( attacker-g_entities, va("print \"You hit %s^7 in the chest.\n\"", targ->client->pers.netname));
trap_SendServerCommand( targ-g_entities, va("print \"Chest Damage.\n\""));
take *= 0.65;
break;
}
}
case (LOCATION_STOMACH):
{
@ -1777,10 +1798,8 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,
//}
}
}
/*
============
CanDamage

View File

@ -27,6 +27,15 @@
#define INVENTORY_SHOTGUNAMMO 20
#define INVENTORY_AKIMBOAMMO 21
#define INVENTORY_GRENADEAMMO 22
// Duffman: I stold the below numbers for RQ3 Items
#define INVENTORY_KEVLAR 23
#define INVENTORY_LASER 24
#define INVENTORY_SLIPPERS 25
#define INVENTORY_SILENCER 26
#define INVENTORY_BANDOLIER 27
/*
#define INVENTORY_SHELLS 18
#define INVENTORY_BULLETS 19