summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/bg_misc.c26
-rw-r--r--src/game/bg_pmove.c19
-rw-r--r--src/game/g_client.c2
-rw-r--r--src/game/g_cmds.c54
-rw-r--r--src/game/g_main.c3
-rw-r--r--src/game/tremulous.h51
6 files changed, 100 insertions, 55 deletions
diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c
index 7d5a2b91..63c4cad7 100644
--- a/src/game/bg_misc.c
+++ b/src/game/bg_misc.c
@@ -1339,14 +1339,14 @@ classAttributes_t bg_classList[ ] =
PCL_A_O_LEV1, //int classnum;
"dragoon", //char *classname;
"Dragoon", //char *humanname;
- "jumper", //char *modelname;
- 0.3f, //float modelScale;
- "red", //char *skinname;
+ "prowl", //char *modelname;
+ 0.75f, //float modelScale;
+ "default", //char *skinname;
"alien_hud", //char *hudname;
( 1 << S1 )|( 1 << S2 )|( 1 << S3 ), //int stages
- { -24, -24, -9 }, //vec3_t mins;
- { 24, 24, 9 }, //vec3_t maxs;
- { 24, 24, 9 }, //vec3_t crouchmaxs;
+ { -24, -24, -16 }, //vec3_t mins;
+ { 24, 24, 16 }, //vec3_t maxs;
+ { 24, 24, 16 }, //vec3_t crouchmaxs;
{ -24, -24, -4 }, //vec3_t deadmins;
{ 24, 24, 4 }, //vec3_t deadmaxs;
18, 18, //int viewheight, crouchviewheight;
@@ -1369,14 +1369,14 @@ classAttributes_t bg_classList[ ] =
PCL_A_O_LEV1_UPG, //int classnum;
"dragoonupg", //char *classname;
"Dragoon Upgrade", //char *humanname;
- "jumper", //char *modelname;
- 0.4f, //float modelScale;
- "blue", //char *skinname;
+ "prowl", //char *modelname;
+ 0.75f, //float modelScale;
+ "default", //char *skinname;
"alien_hud", //char *hudname;
( 1 << S1 )|( 1 << S2 )|( 1 << S3 ), //int stages
- { -24, -24, -11 }, //vec3_t mins;
- { 24, 24, 11 }, //vec3_t maxs;
- { 24, 24, 11 }, //vec3_t crouchmaxs;
+ { -24, -24, -16 }, //vec3_t mins;
+ { 24, 24, 16 }, //vec3_t maxs;
+ { 24, 24, 16 }, //vec3_t crouchmaxs;
{ -24, -24, -4 }, //vec3_t deadmins;
{ 24, 24, 4 }, //vec3_t deadmaxs;
20, 20, //int viewheight, crouchviewheight;
@@ -1461,7 +1461,7 @@ classAttributes_t bg_classList[ ] =
PCL_A_O_LEV3, //int classnum;
"chimera", //char *classname;
"Chimera", //char *humanname;
- "prowl", //char *modelname;
+ "tarantula", //char *modelname;
0.75f, //float modelScale;
"default", //char *skinname;
"alien_hud", //char *hudname;
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index f8615e30..16f67a6b 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -484,6 +484,25 @@ static qboolean PM_CheckPounce( void )
PM_AddEvent( EV_JUMP );
+ if( pm->cmd.forwardmove >= 0 )
+ {
+ if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) )
+ PM_ForceLegsAnim( LEGS_JUMP );
+ else
+ PM_ForceLegsAnim( NSPA_JUMP );
+
+ pm->ps->pm_flags &= ~PMF_BACKWARDS_JUMP;
+ }
+ else
+ {
+ if( !( pm->ps->persistant[ PERS_STATE ] & PS_NONSEGMODEL ) )
+ PM_ForceLegsAnim( LEGS_JUMPB );
+ else
+ PM_ForceLegsAnim( NSPA_JUMPBACK );
+
+ pm->ps->pm_flags |= PMF_BACKWARDS_JUMP;
+ }
+
return qtrue;
}
diff --git a/src/game/g_client.c b/src/game/g_client.c
index 77846960..fe220be9 100644
--- a/src/game/g_client.c
+++ b/src/game/g_client.c
@@ -1164,7 +1164,7 @@ void ClientUserinfoChanged( int clientNum )
trap_SetConfigstring( CS_PLAYERS + clientNum, s );
- G_LogPrintf( "ClientUserinfoChanged: %i %s\n", clientNum, s );
+ /*G_LogPrintf( "ClientUserinfoChanged: %i %s\n", clientNum, s );*/
}
diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c
index 96b28f52..e85b775d 100644
--- a/src/game/g_cmds.c
+++ b/src/game/g_cmds.c
@@ -1011,13 +1011,13 @@ void Cmd_Class_f( gentity_t *ent )
}
numLevels = BG_ClassCanEvolveFromTo( ent->client->ps.stats[ STAT_PCLASS ], ent->client->pers.pclass,
- ent->client->ps.persistant[ PERS_CREDIT ], 0 );
+ (short)ent->client->ps.persistant[ PERS_CREDIT ], 0 );
//...check we can evolve to that class
if( numLevels && BG_FindStagesForClass( ent->client->pers.pclass, g_alienStage.integer ) )
{
//remove credit
- ent->client->ps.persistant[ PERS_CREDIT ] -= numLevels - 1;
+ ent->client->ps.persistant[ PERS_CREDIT ] -= (short)( numLevels - 1 );
//prevent lerping
ent->client->ps.eFlags ^= EF_TELEPORT_BIT;
@@ -1313,8 +1313,14 @@ void Cmd_Buy_f( gentity_t *ent )
}
//can afford this?
- if( BG_FindPriceForWeapon( weapon ) > ent->client->ps.persistant[ PERS_CREDIT ] )
+ if( BG_FindPriceForWeapon( weapon ) > (short)ent->client->ps.persistant[ PERS_CREDIT ] )
{
+ G_LogPrintf( "Client %d buying weapon %d, value %d, credit %d\n",
+ ent->client->ps.clientNum,
+ weapon,
+ BG_FindPriceForWeapon( weapon ),
+ (short)ent->client->ps.persistant[ PERS_CREDIT ] );
+
G_AddPredictableEvent( ent, EV_MENU, MN_H_NOFUNDS );
return;
}
@@ -1363,7 +1369,7 @@ void Cmd_Buy_f( gentity_t *ent )
ent->client->ps.stats[ STAT_MISC ] = 0;
//subtract from funds
- ent->client->ps.persistant[ PERS_CREDIT ] -= BG_FindPriceForWeapon( weapon );
+ ent->client->ps.persistant[ PERS_CREDIT ] -= (short)BG_FindPriceForWeapon( weapon );
}
else if( upgrade != UP_NONE )
{
@@ -1378,9 +1384,15 @@ void Cmd_Buy_f( gentity_t *ent )
}
//can afford this?
- if( BG_FindPriceForUpgrade( upgrade ) > ent->client->ps.persistant[ PERS_CREDIT ] )
+ if( BG_FindPriceForUpgrade( upgrade ) > (short)ent->client->ps.persistant[ PERS_CREDIT ] )
{
G_AddPredictableEvent( ent, EV_MENU, MN_H_NOFUNDS );
+ G_LogPrintf( "Client %d buying upgrade %d, value %d, credit %d\n",
+ ent->client->ps.clientNum,
+ weapon,
+ BG_FindPriceForWeapon( upgrade ),
+ (short)ent->client->ps.persistant[ PERS_CREDIT ] );
+
return;
}
@@ -1442,7 +1454,7 @@ void Cmd_Buy_f( gentity_t *ent )
}
//subtract from funds
- ent->client->ps.persistant[ PERS_CREDIT ] -= BG_FindPriceForUpgrade( upgrade );
+ ent->client->ps.persistant[ PERS_CREDIT ] -= (short)BG_FindPriceForUpgrade( upgrade );
}
else
{
@@ -1510,7 +1522,7 @@ void Cmd_Sell_f( gentity_t *ent )
BG_removeWeapon( weapon, ent->client->ps.stats );
//add to funds
- ent->client->ps.persistant[ PERS_CREDIT ] += BG_FindPriceForWeapon( weapon );
+ ent->client->ps.persistant[ PERS_CREDIT ] += (short)BG_FindPriceForWeapon( weapon );
}
//if we have this weapon selected, force a new selection
@@ -1525,7 +1537,7 @@ void Cmd_Sell_f( gentity_t *ent )
BG_removeItem( upgrade, ent->client->ps.stats );
//add to funds
- ent->client->ps.persistant[ PERS_CREDIT ] += BG_FindPriceForUpgrade( upgrade );
+ ent->client->ps.persistant[ PERS_CREDIT ] += (short)BG_FindPriceForUpgrade( upgrade );
}
//if we have this upgrade selected, force a new selection
@@ -1571,7 +1583,7 @@ void Cmd_Deposit_f( gentity_t *ent )
}
if( !Q_stricmp( s, "all" ) )
- amount = ent->client->ps.persistant[ PERS_CREDIT ];
+ amount = (short)ent->client->ps.persistant[ PERS_CREDIT ];
else
amount = atoi( s );
@@ -1582,9 +1594,14 @@ void Cmd_Deposit_f( gentity_t *ent )
return;
}
- if( amount <= ent->client->ps.persistant[ PERS_CREDIT ] )
+ G_LogPrintf( "Client %d depositing %d with credit %d\n",
+ ent->client->ps.clientNum,
+ amount,
+ (short)ent->client->ps.persistant[ PERS_CREDIT ] );
+
+ if( amount <= (short)ent->client->ps.persistant[ PERS_CREDIT ] )
{
- ent->client->ps.persistant[ PERS_CREDIT ] -= amount;
+ ent->client->ps.persistant[ PERS_CREDIT ] -= (short)amount;
ent->client->ps.persistant[ PERS_BANK ] += amount;
level.bankCredits[ ent->client->ps.clientNum ] += amount;
}
@@ -1607,7 +1624,7 @@ void Cmd_Deposit_f( gentity_t *ent )
}
if( !Q_stricmp( s, "all" ) )
- amount = ent->client->ps.persistant[ PERS_CREDIT ];
+ amount = (short)ent->client->ps.persistant[ PERS_CREDIT ];
else
amount = atoi( s );
@@ -1618,9 +1635,9 @@ void Cmd_Deposit_f( gentity_t *ent )
return;
}
- if( amount <= ent->client->ps.persistant[ PERS_CREDIT ] )
+ if( amount <= (short)ent->client->ps.persistant[ PERS_CREDIT ] )
{
- ent->client->ps.persistant[ PERS_CREDIT ] -= amount;
+ ent->client->ps.persistant[ PERS_CREDIT ] -= (short)amount;
ent->client->ps.persistant[ PERS_BANK ] += amount;
level.bankCredits[ ent->client->ps.clientNum ] += amount;
}
@@ -1673,9 +1690,14 @@ void Cmd_Withdraw_f( gentity_t *ent )
return;
}
+ G_LogPrintf( "Client %d withdrawing %d with credit %d\n",
+ ent->client->ps.clientNum,
+ amount,
+ (short)level.bankCredits[ ent->client->ps.clientNum ] );
+
if( amount <= level.bankCredits[ ent->client->ps.clientNum ] )
{
- ent->client->ps.persistant[ PERS_CREDIT ] += amount;
+ ent->client->ps.persistant[ PERS_CREDIT ] += (short)amount;
ent->client->ps.persistant[ PERS_BANK ] -= amount;
level.bankCredits[ ent->client->ps.clientNum ] -= amount;
}
@@ -1711,7 +1733,7 @@ void Cmd_Withdraw_f( gentity_t *ent )
if( amount <= level.bankCredits[ ent->client->ps.clientNum ] )
{
- ent->client->ps.persistant[ PERS_CREDIT ] += amount;
+ ent->client->ps.persistant[ PERS_CREDIT ] += (short)amount;
ent->client->ps.persistant[ PERS_BANK ] -= amount;
level.bankCredits[ ent->client->ps.clientNum ] -= amount;
}
diff --git a/src/game/g_main.c b/src/game/g_main.c
index dbaef63b..d711216c 100644
--- a/src/game/g_main.c
+++ b/src/game/g_main.c
@@ -241,7 +241,8 @@ void QDECL G_Printf( const char *fmt, ... )
vsprintf( text, fmt, argptr );
va_end( argptr );
- trap_SendServerCommand( -1, va( "gprintf \"%s\"", text ) );
+ if( !g_dedicated.integer )
+ trap_SendServerCommand( -1, va( "gprintf \"%s\"", text ) );
trap_Printf( text );
}
diff --git a/src/game/tremulous.h b/src/game/tremulous.h
index 1c554f07..7d068c75 100644
--- a/src/game/tremulous.h
+++ b/src/game/tremulous.h
@@ -66,10 +66,10 @@
#define CHIMERA_CLAW_RANGE 96.0f
#define CHIMERA_CLAW_REPEAT 400
#define CHIMERA_CLAW_U_REPEAT 300
-#define CHIMERA_AREAZAP_DMG ADM(125)
+#define CHIMERA_AREAZAP_DMG ADM(75)
#define CHIMERA_AREAZAP_RANGE 200.0f
#define CHIMERA_AREAZAP_REPEAT 1500
-#define CHIMERA_DIRECTZAP_DMG ADM(125)
+#define CHIMERA_DIRECTZAP_DMG ADM(75)
#define CHIMERA_DIRECTZAP_RANGE 200.0f
#define CHIMERA_DIRECTZAP_REPEAT 1500
@@ -99,61 +99,64 @@
#define ALIEN_HLTH_MODIFIER 1.0f
#define AHM(h) ((int)((float)h*ALIEN_HLTH_MODIFIER))
+#define ALIEN_VALUE_MODIFIER 3.0f
+#define AVM(h) ((int)((float)h*ALIEN_VALUE_MODIFIER))
+
#define ABUILDER_SPEED 0.8f
#define ABUILDER_TTE 2000
-#define ABUILDER_VALUE 50
+#define ABUILDER_VALUE AVM(50)
#define ABUILDER_HEALTH AHM(50)
#define ABUILDER_REGEN 2
#define ABUILDER_UPG_SPEED 1.0f
-#define ABUILDER_UPG_VALUE 120
+#define ABUILDER_UPG_VALUE AVM(120)
#define ABUILDER_UPG_HEALTH AHM(75)
#define ABUILDER_UPG_REGEN 3
-#define SOLDIER_SPEED 1.5f
+#define SOLDIER_SPEED 1.3f
#define SOLDIER_TTE 2000
-#define SOLDIER_VALUE 50
+#define SOLDIER_VALUE AVM(50)
#define SOLDIER_HEALTH AHM(25)
#define SOLDIER_REGEN 1
-#define DRAGOON_SPEED 1.5f
+#define DRAGOON_SPEED 1.3f
#define DRAGOON_TTE 3000
-#define DRAGOON_VALUE 100
+#define DRAGOON_VALUE AVM(100)
#define DRAGOON_HEALTH AHM(50)
#define DRAGOON_REGEN 2
-#define DRAGOON_UPG_SPEED 1.5f
+#define DRAGOON_UPG_SPEED 1.3f
#define DRAGOON_UPG_TTE 3000
-#define DRAGOON_UPG_VALUE 120
+#define DRAGOON_UPG_VALUE AVM(120)
#define DRAGOON_UPG_HEALTH AHM(60)
#define DRAGOON_UPG_REGEN 3
-#define HYDRA_SPEED 1.5f
+#define HYDRA_SPEED 1.25f
#define HYDRA_TTE 3000
#define HYDRA_VALUE 200
#define HYDRA_HEALTH AHM(100)
#define HYDRA_REGEN 5
-#define HYDRA_UPG_SPEED 1.5f
+#define HYDRA_UPG_SPEED 1.25f
#define HYDRA_UPG_TTE 3000
-#define HYDRA_UPG_VALUE 240
+#define HYDRA_UPG_VALUE AVM(240)
#define HYDRA_UPG_HEALTH AHM(120)
#define HYDRA_UPG_REGEN 6
-#define CHIMERA_SPEED 1.3f
+#define CHIMERA_SPEED 1.2f
#define CHIMERA_TTE 3000
-#define CHIMERA_VALUE 300
+#define CHIMERA_VALUE AVM(300)
#define CHIMERA_HEALTH AHM(200)
#define CHIMERA_REGEN 7
-#define CHIMERA_UPG_SPEED 1.3f
+#define CHIMERA_UPG_SPEED 1.2f
#define CHIMERA_UPG_TTE 3000
-#define CHIMERA_UPG_VALUE 360
+#define CHIMERA_UPG_VALUE AVM(360)
#define CHIMERA_UPG_HEALTH AHM(250)
#define CHIMERA_UPG_REGEN 10
-#define BMOFO_SPEED 1.2f
-#define BMOFO_VALUE 400
+#define BMOFO_SPEED 1.1f
+#define BMOFO_VALUE AVM(400)
#define BMOFO_HEALTH AHM(400)
#define BMOFO_REGEN 15
@@ -278,7 +281,7 @@
#define RIFLE_RELOAD 2000
#define RIFLE_PRICE 0
#define RIFLE_SPREAD 200
-#define RIFLE_DMG HDM(7)
+#define RIFLE_DMG HDM(9)
#define CHAINGUN_BULLETS 300
#define CHAINGUN_REPEAT 50
@@ -414,7 +417,7 @@
#define MGTURRET_HEALTH HBHM(100)
#define MGTURRET_SPLASHDAMAGE 50
#define MGTURRET_SPLASHRADIUS 1000
-#define MGTURRET_ANGULARSPEED 20 //degrees/think ~= 200deg/sec
+#define MGTURRET_ANGULARSPEED 5 //degrees/think ~= 200deg/sec
#define MGTURRET_ACCURACYTOLERANCE MGTURRET_ANGULARSPEED / 2 //angular difference for turret to fire
#define MGTURRET_VERTICALCAP 30 // +/- maximum pitch
#define MGTURRET_REPEAT 100
@@ -463,9 +466,9 @@
* HUMAN misc
*/
-#define HUMAN_JOG_MODIFIER 0.8f
-#define HUMAN_BACK_MODIFIER 0.5f
-#define HUMAN_SIDE_MODIFIER 0.75f
+#define HUMAN_JOG_MODIFIER 0.9f
+#define HUMAN_BACK_MODIFIER 0.7f
+#define HUMAN_SIDE_MODIFIER 0.8f
#define STAMINA_STOP_RESTORE 10
#define STAMINA_WALK_RESTORE 5