Post by gm94385 on Oct 6, 2023 5:36:13 GMT -5
About a dozen or so days earlier, I started playing mission packs again (still as part of the classic Quake 2 edition, i.e. not as part of Quake 2 Enhanced). Especially in the case of "Ground Zero" (but also my "Venus"), it happened to me that the Double Damage powerup deals title double damage not only during thirty seconds, but also later. Only resetting the game makes this bug disappear.
I suspect that the "Lazarus" code was misspelled at some point. The entry comes from "g_items.c" file, more precisely it's located in line #609.
What could I understand by this code, in particular by a parameter called "double_drop_timeout_hack"? I understand an origin of all words in the phrase, except "drop" - where does the unknown face of this word come from? The above code is similar for Quad Damage and QuadFire Damage - with QD it doesn't happen that the damage is quadruple after default thirty seconds, while with QuadFire I didn't pay attention to whether the powerup retains its properties after above-mentioned time (I just use QF extremely rarely).
When fixing the bug, I wanted to find out if it's possible apart from interfering with the game's source code (and thus requiring subsequent recompilation). If so, I would kindly ask you to suggest solutions, because I have no idea how to fix it.
I suspect that the "Lazarus" code was misspelled at some point. The entry comes from "g_items.c" file, more precisely it's located in line #609.
void Use_Double (edict_t *ent, gitem_t *item)
{
int timeout;
ent->client->pers.inventory[ITEM_INDEX(item)]--;
ValidateSelectedItem (ent);
if (double_drop_timeout_hack)
{
timeout = double_drop_timeout_hack;
double_drop_timeout_hack = 0;
}
else
{
timeout = (double_time->value * 10);
}
if (ent->client->double_framenum > level.framenum)
ent->client->double_framenum += (double_time->value * 10);
else
ent->client->double_framenum = level.framenum + (double_time->value * 10);
gi.sound(ent, CHAN_ITEM, gi.soundindex("misc/ddamage1.wav"), 1, ATTN_NORM, 0);
}
What could I understand by this code, in particular by a parameter called "double_drop_timeout_hack"? I understand an origin of all words in the phrase, except "drop" - where does the unknown face of this word come from? The above code is similar for Quad Damage and QuadFire Damage - with QD it doesn't happen that the damage is quadruple after default thirty seconds, while with QuadFire I didn't pay attention to whether the powerup retains its properties after above-mentioned time (I just use QF extremely rarely).
When fixing the bug, I wanted to find out if it's possible apart from interfering with the game's source code (and thus requiring subsequent recompilation). If so, I would kindly ask you to suggest solutions, because I have no idea how to fix it.