summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--armour/larmour.armour63
-rw-r--r--models/players/human_base/locdamage.cfg23
-rw-r--r--models/players/human_bsuit/locdamage.cfg12
-rw-r--r--src/game/g_combat.c18
-rw-r--r--src/game/tremulous.h2
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