Helmet fixes

This commit is contained in:
Richard Allen 2003-04-26 02:03:51 +00:00
parent 202c30351f
commit 25e514af8a
6 changed files with 55 additions and 31 deletions

View file

@ -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

View file

@ -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;

View file

@ -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) {

View file

@ -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)

View file

@ -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<menuWeapCount; i++)
if (flags & menuWeapBans[i].uiFlag) {
@ -3527,22 +3528,21 @@ static qboolean UI_OwnerDrawVisible(int flags)
vis = qfalse;
flags &= ~menuWeapBans[i].uiFlag;
}
for (i=0; i<menuItemCount; i++)
for (i=0; i<menuItemCount; i++) {
if (flags & menuItemBans[i].uiFlag) {
if (!(uiInfo.itemBan & menuItemBans[i].banFlag))
vis = qfalse;
//special check for the helmet
else if (menuItemBans[i].banFlag == ITF_HELMET)
if (trap_Cvar_VariableValue("g_gametype") != GT_TEAM || !trap_Cvar_VariableValue("g_RQ3_haveHelmet"))
vis = qfalse;
if (menuItemBans[i].banFlag == ITF_HELMET && (trap_Cvar_VariableValue("g_RQ3_haveHelmet") == 0))
vis = qfalse;
else if (!(uiInfo.itemBan & menuItemBans[i].banFlag))
vis = qfalse;
flags &= ~menuItemBans[i].uiFlag;
}
}
//Makro - added toggle flag
if (flags & UI_SHOW_TOGGLE) {
vis ^= 1;
}
flags = 0;
//}
return vis;
}

View file

@ -370,7 +370,7 @@
rect 16 48 96 96
style WINDOW_STYLE_EMPTY
type ITEM_TYPE_MODEL
asset_model "models/items/helmet/helmet.md3"
asset_model "models/items/helmet.md3"
model_origin 30 0 0
model_fovx 20
model_fovy 20