More simple range logic. Just use same formula as X. Will work fine for attacks. Not great for jumps (but the old default of 1000 wasn't either).
@@ -10126,32 +10126,9 @@ s_model *load_cached_model(char *name, char *owner, char unload)
newanim->range.z.min = (int) - newchar->grabdistance / 3; //zmin
newanim->range.z.max = (int)newchar->grabdistance / 3; //zmax
newanim->range.y.min = T_MIN_BASEMAP; //amin
-
- // Vertical range default.
- // If we have a model height, then double it.
- // Otherwise use half the vertical screen size.
- if (newchar->size.y)
- {
- newanim->range.y.max = newchar->size.y * 2;
- }
- else
- {
- newanim->range.y.max = videomodes.vRes / 2;
- }
-
+ newanim->range.y.max = (int)newchar->jumpheight * 20; // Same logic as X. Good for attacks, but not terrian. Author better remember to add jump ranges.
newanim->range.base.min = T_MIN_BASEMAP; // Base min.
-
- // Base range default.
- // Same logic as veritcal range default.
- if (newchar->size.y)
- {
- newanim->range.base.max = newchar->size.y * 2;
- }
- else
- {
- newanim->range.base.max = videomodes.vRes / 2;
- }
-
+ newanim->range.base.max = (int)newchar->jumpheight * 20; // Just use same logic as range Y.
newanim->energycost = NULL;
newanim->chargetime = 2; // Default for backwards compatibility
newanim->projectile.shootframe = -1;
