diff options
-rw-r--r-- | armour/larmour.armour | 63 | ||||
-rw-r--r-- | models/players/human_base/locdamage.cfg | 23 | ||||
-rw-r--r-- | models/players/human_bsuit/locdamage.cfg | 12 | ||||
-rw-r--r-- | src/game/g_combat.c | 18 | ||||
-rw-r--r-- | src/game/tremulous.h | 2 |
5 files changed, 57 insertions, 61 deletions
diff --git a/armour/larmour.armour b/armour/larmour.armour index e1a5fb6b..488ff71c 100644 --- a/armour/larmour.armour +++ b/armour/larmour.armour @@ -1,26 +1,37 @@ -// torso +// chest { minHeight 0.5 maxHeight 0.8 - minAngle 0 - maxAngle 360 + minAngle 310 + maxAngle 50 modifier 0.35 } -// arm bonus +// left arm { minHeight 0.5 maxHeight 0.8 - minAngle 55 - maxAngle 125 - modifier 0.75 + minAngle 50 + maxAngle 130 + modifier 0.3 } + +// back { minHeight 0.5 maxHeight 0.8 - minAngle 225 - maxAngle 315 - modifier 0.75 + minAngle 130 + maxAngle 230 + modifier 0.4 +} + +// right arm +{ + minHeight 0.5 + maxHeight 0.8 + minAngle 230 + maxAngle 310 + modifier 0.3 } // legs @@ -32,31 +43,43 @@ modifier 0.3 } -// torso, crouching +// chest, crouching { minHeight 0.3 maxHeight 0.72 - minAngle 0 - maxAngle 360 + minAngle 310 + maxAngle 50 modifier 0.35 crouch } -// arm bonus, crouching +// left arm, crouching +{ + minHeight 0.3 + maxHeight 0.72 + minAngle 50 + maxAngle 130 + modifier 0.3 + crouch +} + +// back, crouching { minHeight 0.3 maxHeight 0.72 - minAngle 55 - maxAngle 125 - modifier 0.75 + minAngle 130 + maxAngle 230 + modifier 0.4 crouch } + +// right arm, crouching { minHeight 0.3 maxHeight 0.72 - minAngle 225 - maxAngle 315 - modifier 0.75 + minAngle 230 + maxAngle 310 + modifier 0.3 crouch } diff --git a/models/players/human_base/locdamage.cfg b/models/players/human_base/locdamage.cfg index 11a7393e..cc4fd655 100644 --- a/models/players/human_base/locdamage.cfg +++ b/models/players/human_base/locdamage.cfg @@ -4,16 +4,7 @@ maxHeight 0.5 minAngle 0 maxAngle 360 - modifier 0.75 -} - -// back -{ - minHeight 0.5 - maxHeight 0.9 - minAngle 270 - maxAngle 90 - modifier 1.25 + modifier 0.5 } // head @@ -31,17 +22,7 @@ maxHeight 0.3 minAngle 0 maxAngle 360 - modifier 0.75 - crouch -} - -// back, crouched -{ - minHeight 0.3 - maxHeight 0.86 - minAngle 270 - maxAngle 90 - modifier 1.25 + modifier 0.5 crouch } diff --git a/models/players/human_bsuit/locdamage.cfg b/models/players/human_bsuit/locdamage.cfg index a269e2cd..53545954 100644 --- a/models/players/human_bsuit/locdamage.cfg +++ b/models/players/human_bsuit/locdamage.cfg @@ -4,16 +4,7 @@ maxHeight 0.5 minAngle 0 maxAngle 360 - modifier 0.75 -} - -// back -{ - minHeight 0.5 - maxHeight 0.9 - minAngle 270 - maxAngle 90 - modifier 1.25 + modifier 0.5 } // head @@ -24,4 +15,3 @@ maxAngle 360 modifier 1.5 } - diff --git a/src/game/g_combat.c b/src/game/g_combat.c index 7a339f56..1dedb88b 100644 --- a/src/game/g_combat.c +++ b/src/game/g_combat.c @@ -736,9 +736,10 @@ static float GetDamageRegionModifier( gentity_t *targ, damageRegion_t *regions, { // Angle must be within range if( ( regions[ i ].minAngle <= regions[ i ].maxAngle && - ( angle < regions[ i ].minAngle || angle > regions[ i ].maxAngle ) || + ( angle < regions[ i ].minAngle || + angle > regions[ i ].maxAngle ) ) || ( regions[ i ].minAngle > regions[ i ].maxAngle && - angle > regions[ i ].maxAngle && angle < regions[ i ].minAngle ) ) ) + angle > regions[ i ].maxAngle && angle < regions[ i ].minAngle ) ) continue; // Height must be within range @@ -753,7 +754,8 @@ static float GetDamageRegionModifier( gentity_t *targ, damageRegion_t *regions, } if( g_debugDamage.integer ) - G_Printf( "GetDamageRegionModifier(): %f\n", modifier ); + G_Printf( "GetDamageRegionModifier(angle = %f, height = %f): %f\n", + angle, height, modifier ); return modifier; } @@ -797,11 +799,11 @@ static float G_CalcDamageModifier( vec3_t point, gentity_t *targ, gentity_t *att if( hitRotation < 0.f ) hitRotation += 360.f; - // Get modifiers from the target's armour and damage regions + // Get modifiers from the target's damage regions if( dflags & DAMAGE_NO_LOCDAMAGE ) { - modifier = GetNonLocDamageModifier( targ, g_damageRegions[ class ], - g_numDamageRegions[ class ] ); + // Non-locational damage only uses armour regions + modifier = 1.0f; for( i = UP_NONE + 1; i < UP_NUM_UPGRADES; i++ ) { if( BG_InventoryContainsUpgrade( i, targ->client->ps.stats ) ) @@ -814,8 +816,8 @@ static float G_CalcDamageModifier( vec3_t point, gentity_t *targ, gentity_t *att else { modifier = GetDamageRegionModifier( targ, g_damageRegions[ class ], - g_numDamageRegions[ class ], - hitRotation, hitRatio ); + g_numDamageRegions[ class ], + hitRotation, hitRatio ); for( i = UP_NONE + 1; i < UP_NUM_UPGRADES; i++ ) { if( BG_InventoryContainsUpgrade( i, targ->client->ps.stats ) ) diff --git a/src/game/tremulous.h b/src/game/tremulous.h index 311db017..2e8568d1 100644 --- a/src/game/tremulous.h +++ b/src/game/tremulous.h @@ -168,7 +168,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define LEVEL0_SPEED 1.3f #define LEVEL0_VALUE AVM(175) -#define LEVEL0_HEALTH AHM(25) +#define LEVEL0_HEALTH AHM(20) #define LEVEL0_REGEN 1 #define LEVEL0_COST 0 |