Fixed dropped weapons and items blocking doors and other movers.

This commit is contained in:
Richard Allen 2002-08-27 04:05:43 +00:00
parent 4a68b19c03
commit be0de25e1d
2 changed files with 32 additions and 10 deletions

View file

@ -53,6 +53,7 @@
* New server info menu code * New server info menu code
* New 100% customizable presets menu with editor * New 100% customizable presets menu with editor
* Removed the cd key menu * Removed the cd key menu
* Fixed dropped weapons and items blocking doors and other movers.
# List fixes here for the 2.1 release # List fixes here for the 2.1 release

View file

@ -5,6 +5,9 @@
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// //
// $Log$ // $Log$
// Revision 1.45 2002/08/27 04:05:43 jbravo
// Fixed dropped weapons and items blocking doors and other movers.
//
// Revision 1.44 2002/08/03 06:21:04 jbravo // Revision 1.44 2002/08/03 06:21:04 jbravo
// Fixed the Akimbo ammo when akimbos are not the primary weapon // Fixed the Akimbo ammo when akimbos are not the primary weapon
// //
@ -766,22 +769,36 @@ gentity_t *LaunchItem(gitem_t * item, vec3_t origin, vec3_t velocity, int xr_fla
} }
//Elder: Reaction Unique Weapons in deathmatch - respawn in ~60 seconds //Elder: Reaction Unique Weapons in deathmatch - respawn in ~60 seconds
//Don't forget to condition it when we get teamplay in //Don't forget to condition it when we get teamplay in
else if (item->giType == IT_WEAPON && // JBravo: not forgotten and that if should not have the knife and pistol.
/* else if (item->giType == IT_WEAPON &&
item->giTag != WP_GRENADE && item->giTag != WP_PISTOL && item->giTag != WP_GRENADE && item->giTag != WP_PISTOL &&
item->giTag != WP_AKIMBO && item->giTag != WP_KNIFE) { item->giTag != WP_AKIMBO && item->giTag != WP_KNIFE) { */
dropped->think = RQ3_DroppedWeaponThink; else if (item->giType == IT_WEAPON &&
item->giTag != WP_GRENADE && item->giTag != WP_AKIMBO) {
if (g_gametype.integer == GT_TEAMPLAY)
dropped->think = 0;
else
dropped->think = RQ3_DroppedWeaponThink;
// JBravo: weapons and items go away faster in CTF // JBravo: weapons and items go away faster in CTF
if (g_gametype.integer == GT_CTF) if (g_gametype.integer == GT_CTF)
dropped->nextthink = level.time + RQ3_CTF_RESPAWNTIME_DEFAULT; dropped->nextthink = level.time + RQ3_CTF_RESPAWNTIME_DEFAULT;
else if (g_gametype.integer == GT_TEAMPLAY)
dropped->nextthink = 0;
else else
dropped->nextthink = level.time + RQ3_RESPAWNTIME_DEFAULT; dropped->nextthink = level.time + RQ3_RESPAWNTIME_DEFAULT;
} }
//Elder: for unique items in deathmatch ... remember to condition for teamplay //Elder: for unique items in deathmatch ... remember to condition for teamplay
//JBravo: not forgotten either ;)
else if (item->giType == IT_HOLDABLE) { else if (item->giType == IT_HOLDABLE) {
dropped->think = RQ3_DroppedItemThink; if (g_gametype.integer == GT_TEAMPLAY)
dropped->think = 0;
else
dropped->think = RQ3_DroppedItemThink;
// JBravo: weapons and items go away faster in CTF // JBravo: weapons and items go away faster in CTF
if (g_gametype.integer == GT_CTF) if (g_gametype.integer == GT_CTF)
dropped->nextthink = level.time + RQ3_CTF_RESPAWNTIME_DEFAULT; dropped->nextthink = level.time + RQ3_CTF_RESPAWNTIME_DEFAULT;
else if (g_gametype.integer == GT_TEAMPLAY)
dropped->nextthink = 0;
else else
dropped->nextthink = level.time + RQ3_RESPAWNTIME_DEFAULT; dropped->nextthink = level.time + RQ3_RESPAWNTIME_DEFAULT;
} else { } else {
@ -1342,8 +1359,9 @@ void RQ3_ResetWeapon(int weapon)
int numRemoved = 0; int numRemoved = 0;
// JBravo: no resetting/respawning weapons and items in TP // JBravo: no resetting/respawning weapons and items in TP
if (g_gametype.integer == GT_TEAMPLAY) // JBravo: Bah! this is a nono!
return; /* if (g_gametype.integer == GT_TEAMPLAY)
return; */
switch (weapon) { switch (weapon) {
case WP_M3: case WP_M3:
@ -1412,8 +1430,10 @@ void RQ3_DroppedItemThink(gentity_t * ent)
// float angle = rand() % 360; // float angle = rand() % 360;
// JBravo: no resetting items in TP // JBravo: no resetting items in TP
if (g_gametype.integer == GT_TEAMPLAY) // JBravo: bah! again :(
return; /* if (g_gametype.integer == GT_TEAMPLAY)
return; */
switch (ent->item->giTag) { switch (ent->item->giTag) {
case HI_KEVLAR: case HI_KEVLAR:
case HI_LASER: case HI_LASER:
@ -1448,8 +1468,9 @@ void RQ3_ResetItem(int itemTag)
float angle = rand() % 360; float angle = rand() % 360;
// JBravo: no resetting items in TP // JBravo: no resetting items in TP
if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF) // JBravo: man, Ive done this badly :(
return; /* if (g_gametype.integer == GT_TEAMPLAY || g_gametype.integer == GT_CTF)
return; */
switch (itemTag) { switch (itemTag) {
case HI_KEVLAR: case HI_KEVLAR: