Bug #630

Landmine and dynamite hitbox

Added by Saukko over 5 years ago. Updated almost 2 years ago.

Status:Confirmed% Done:


Category:Mod CGAME
Target version:2.78
OS: Arch:


These two bad boys are humongous. See the screenshots, those basically tell what’s going on.


2014-11-17-171504-goldrush.jpg (457 KB) Saukko, 17.11.2014 16:40

2014-11-17-171449-goldrush.jpg (409 KB) Saukko, 17.11.2014 16:40



#1 Updated by Aranud almost 2 years ago

  • Status changed from New to Confirmed
  • Priority changed from Normal to Low
  • % Done changed from 0 to 50

The correct value to get homogeneous hit boxes are the following (change should be done in fire_grenade function):
Landmine : { -4, -4, 0 } { 4, 4, 10}

Dynamite : { -10, -10, 0 } { 10, 10, 11 }

Satchel : { -11, -11, 0 } { -11, -11, 8 }

But there is a little think we have to keep in mind. By changing the hitboxes, we have to be more precise when arming/disarming them.
So, it mean, the gameplay change a little bit.

Do we really want this ? (The feelling don’t seem too different)

#2 Updated by IR4T4 almost 2 years ago

Now you can’t move a lot while planting/defusing. This is a big difference in game play (in my eyes) since the engineer can’t do defending moves as we know it.
I think radius damage is affected too. Landmines are triggered on smaller distance?

#3 Updated by Aranud almost 2 years ago

IR4T4 wrote:

I think radius damage is affected too. Landmines are triggered on smaller distance?

Nah, radius damage and trigger distance still the same, it depend of the current origin, which don’t change (from g_missile.c):

G_RadiusDamage(origin, ent, ent->parent, ent->splashDamage, ent->splashRadius, ent, ent->splashMethodOfDeath)
        vec3_t dist;

        VectorSubtract(mine->r.currentOrigin, ent->r.currentOrigin, dist);
        // have to be within the trigger distance AND on the ground -- if we jump over a mine, we don't set it off
        //      (or if we fly by after setting one off)
        if ((VectorLengthSquared(dist) <= Square(LANDMINE_TRIGGER_DIST)) x%x%x%x% (Q_fabs(dist[2]) < 45))
            return qtrue;

Also available in: Atom PDF