From 25e514af8a9863178d7567c39b49f9e9981f475b Mon Sep 17 00:00:00 2001 From: Richard Allen Date: Sat, 26 Apr 2003 02:03:51 +0000 Subject: [PATCH] Helmet fixes --- reaction/ChangeLog | 2 ++ reaction/game/g_combat.c | 13 +++++++--- reaction/game/g_main.c | 6 +++++ reaction/game/g_teamplay.c | 21 ++++++++++++---- reaction/ta_ui/ui_main.c | 42 +++++++++++++++---------------- reaction/uifiles/ingame_item.menu | 2 +- 6 files changed, 55 insertions(+), 31 deletions(-) diff --git a/reaction/ChangeLog b/reaction/ChangeLog index 4fe21eec..30d06a6e 100644 --- a/reaction/ChangeLog +++ b/reaction/ChangeLog @@ -5,6 +5,8 @@ * Upgraded the gamesource RQ3 is built on from 1.29h to 1.32b * Removed most of the unlagged stuff. Only optimized prediction and smooth clients remains. * With allWeapon/allItems enable it won't toss weapons/items when you die +* Various helmet bugs fixed. +* Successful mapvote now waits for a round to end in TP. # List fixes here for the 3.0 release diff --git a/reaction/game/g_combat.c b/reaction/game/g_combat.c index 340a4172..1b10f0f7 100644 --- a/reaction/game/g_combat.c +++ b/reaction/game/g_combat.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.139 2003/04/26 02:03:51 jbravo +// Helmet fixes +// // Revision 1.138 2003/04/23 20:32:28 slicer // With allWeapon/allItems enable it won't toss weapons/items when you die // @@ -2085,10 +2088,10 @@ void G_Damage(gentity_t * targ, gentity_t * inflictor, gentity_t * attacker, if ((targ->client->ps.stats[STAT_HOLDABLE_ITEM] & (1 << HI_HELMET)) && mod != MOD_SNIPER && mod != MOD_KNIFE && mod != MOD_KNIFE_THROWN) { trap_SendServerCommand(attacker - g_entities, - va("print \"%s has a Kevlar Helmet - AIM FOR THE BODY!\n\"", + va("print \"%s^7 has a Kevlar Helmet - AIM FOR THE BODY!\n\"", targ->client->pers.netname)); trap_SendServerCommand(targ - g_entities, - va("print \"Kevlar Helmet absorbed a part of %s's shot\n\"", + va("print \"Kevlar Helmet absorbed a part of %s^7's shot\n\"", attacker->client->pers.netname)); tent = G_TempEntity(targ->s.pos.trBase, EV_BULLET_HIT_KEVLAR); tent->s.eventParm = DirToByte(dir); @@ -2096,17 +2099,19 @@ void G_Damage(gentity_t * targ, gentity_t * inflictor, gentity_t * attacker, targ->client->kevlarHit = qtrue; instant_dam = 1; bleeding = 0; + break; } else if ((targ->client->ps.stats[STAT_HOLDABLE_ITEM] & (1 << HI_HELMET)) && mod == MOD_SNIPER) { trap_SendServerCommand(attacker - g_entities, - va("print \"%s has a Kevlar Helmet, too bad you have AP rounds...\n\"", + va("print \"%s^7 has a Kevlar Helmet, too bad you have AP rounds...\n\"", targ->client->pers.netname)); trap_SendServerCommand(targ - g_entities, - va("print \"Kevlar Helmet absorbed some of %s's AP sniper round\n\"", + va("print \"Kevlar Helmet absorbed some of %s^7's AP sniper round\n\"", attacker->client->pers.netname)); take = (take * 0.325); instant_dam = 1; bleeding = 1; + break; } else { //save headshot time for player_die targ->client->headShotTime = level.time; diff --git a/reaction/game/g_main.c b/reaction/game/g_main.c index 0da7757a..bda87064 100644 --- a/reaction/game/g_main.c +++ b/reaction/game/g_main.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.145 2003/04/26 02:03:51 jbravo +// Helmet fixes +// // Revision 1.144 2003/04/19 18:47:07 makro // CVAR_SERVERINFO flag added to g_RQ3_havehelmet cvar // @@ -2381,6 +2384,9 @@ void CheckVote(void) int kickclient; if (level.voteExecuteTime && level.voteExecuteTime < level.time) { + if (g_gametype.integer == GT_TEAMPLAY && level.team_round_going && + (Q_stricmp(level.voteString, "map") == 0)) + return; level.voteExecuteTime = 0; Q_strncpyz(votestr, level.voteString, sizeof(votestr)); if (Q_stricmp(level.voteString, "cyclemap") == 0) { diff --git a/reaction/game/g_teamplay.c b/reaction/game/g_teamplay.c index 7da71989..0bc6548f 100644 --- a/reaction/game/g_teamplay.c +++ b/reaction/game/g_teamplay.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.151 2003/04/26 02:03:51 jbravo +// Helmet fixes +// // Revision 1.150 2003/03/28 10:36:02 jbravo // Tweaking the replacement system a bit. Reactionmale now the default model // @@ -1850,12 +1853,18 @@ void RQ3_Cmd_Radio_f(gentity_t * ent) gentity_t *player; int i, x, kills, set; - if (ent->client->sess.sessionTeam == TEAM_SPECTATOR || ent->health <= 0) + if (ent->client->sess.sessionTeam == TEAM_SPECTATOR || ent->health <= 0) { + trap_SendServerCommand(ent - g_entities, "print \"^1It's kind of hard to talk in the radio when you can't breathe anymore...\n\""); return; - if (trap_Argc() < 2) + } + if (trap_Argc() < 2) { + trap_SendServerCommand(ent - g_entities, "print \"^1Say again ? Radio command missing!\n\""); return; - if (g_RQ3_lca.integer) + } + if (g_RQ3_lca.integer) { + trap_SendServerCommand(ent - g_entities, "print \"^1Announcer is busy talkin' now!\n\""); return; + } if (ent->client->radioOff == qtrue) { trap_SendServerCommand(ent - g_entities, "print \"^1Your radio is off!\n\""); return; @@ -1920,9 +1929,11 @@ void RQ3_Cmd_Radio_f(gentity_t * ent) } x++; // JBravo: no CTB sounds unless CTB mode is on. - if (g_gametype.integer != GT_CTF && x > 25) - return; + // JBravo: no, now they want CTB sounds in all gametypes. + //if (g_gametype.integer != GT_CTF && x > 25) + // return; } + trap_SendServerCommand(ent - g_entities, "print \"^1Where'd you train? You can't say that over the radio!\n\""); } char *SeekBufEnd(char *buf) diff --git a/reaction/ta_ui/ui_main.c b/reaction/ta_ui/ui_main.c index 06d56cbb..840571a5 100644 --- a/reaction/ta_ui/ui_main.c +++ b/reaction/ta_ui/ui_main.c @@ -5,6 +5,9 @@ //----------------------------------------------------------------------------- // // $Log$ +// Revision 1.75 2003/04/26 02:03:51 jbravo +// Helmet fixes +// // Revision 1.74 2003/04/19 17:41:26 jbravo // Applied changes that where in 1.29h -> 1.32b gamecode. // @@ -3376,23 +3379,23 @@ typedef struct banInfo_t menuWeapBans[] = { - {WPF_MP5, UI_SHOW_WEAP1}, - {WPF_M3, UI_SHOW_WEAP2}, - {WPF_HC, UI_SHOW_WEAP3}, - {WPF_SNIPER, UI_SHOW_WEAP4}, - {WPF_M4, UI_SHOW_WEAP5}, - {WPF_KNIFE, UI_SHOW_WEAP6}, + {WPF_MP5, UI_SHOW_WEAP1}, + {WPF_M3, UI_SHOW_WEAP2}, + {WPF_HC, UI_SHOW_WEAP3}, + {WPF_SNIPER, UI_SHOW_WEAP4}, + {WPF_M4, UI_SHOW_WEAP5}, + {WPF_KNIFE, UI_SHOW_WEAP6}, {WPF_DUAL | WPF_MK23, UI_SHOW_WEAP7} }; static const int menuWeapCount = sizeof(menuWeapBans)/sizeof(banInfo_t); banInfo_t menuItemBans[] = { - {ITF_KEVLAR, UI_SHOW_ITEM1}, + {ITF_KEVLAR, UI_SHOW_ITEM1}, {ITF_LASER, UI_SHOW_ITEM2}, - {ITF_SLIPPERS, UI_SHOW_ITEM3}, - {ITF_SILENCER, UI_SHOW_ITEM4}, - {ITF_BANDOLIER, UI_SHOW_ITEM5}, - {ITF_HELMET, UI_SHOW_ITEM6} + {ITF_SLIPPERS, UI_SHOW_ITEM3}, + {ITF_SILENCER, UI_SHOW_ITEM4}, + {ITF_BANDOLIER, UI_SHOW_ITEM5}, + {ITF_HELMET, UI_SHOW_ITEM6} }; static const int menuItemCount = sizeof(menuItemBans)/sizeof(banInfo_t); @@ -3517,9 +3520,7 @@ static qboolean UI_OwnerDrawVisible(int flags) vis = qfalse; } flags &= ~UI_SHOW_DEMOAVAILABLE; - }/* else { - flags = 0; - }*/ + } //Makro - item/weapon banning for (i=0; i