mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-27 14:32:15 +00:00
Helmet fixes
This commit is contained in:
parent
202c30351f
commit
25e514af8a
6 changed files with 55 additions and 31 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue