diff options
| author | Tim Angus <tim@ngus.net> | 2005-01-31 23:50:01 +0000 | 
|---|---|---|
| committer | Tim Angus <tim@ngus.net> | 2005-01-31 23:50:01 +0000 | 
| commit | b74ecca6018899011380bf807a22b4df92dabf39 (patch) | |
| tree | b1d77adb840ce31b5ced6c8baf1966462cba462b /src | |
| parent | f9c64820ad26030864651661ac39dba3d770c85b (diff) | |
* An overmind is now required for aliens to upgrade
* Damaged aliens now need a couple of seconds before they can regenerate
* Very slightly increased human buildable health in general
* Increased armoury and turret health a wee bit more significantly
* Classes which suicide/teamkill don't get taken into account for credit anymore
* Reduced chaingun damage slightly
* Increased angular speed of turrets
Diffstat (limited to 'src')
| -rw-r--r-- | src/cgame/cg_servercmds.c | 6 | ||||
| -rw-r--r-- | src/game/bg_misc.c | 2 | ||||
| -rw-r--r-- | src/game/bg_public.h | 1 | ||||
| -rw-r--r-- | src/game/g_active.c | 3 | ||||
| -rw-r--r-- | src/game/g_cmds.c | 7 | ||||
| -rw-r--r-- | src/game/g_combat.c | 5 | ||||
| -rw-r--r-- | src/game/g_main.c | 4 | ||||
| -rw-r--r-- | src/game/tremulous.h | 13 | 
8 files changed, 30 insertions, 11 deletions
diff --git a/src/cgame/cg_servercmds.c b/src/cgame/cg_servercmds.c index 3c5b9f71..627642c2 100644 --- a/src/cgame/cg_servercmds.c +++ b/src/cgame/cg_servercmds.c @@ -769,6 +769,12 @@ void CG_Menu( int menu )        trap_SendConsoleCommand( "menu tremulous_alien_dialog\n" );        break; +    case MN_A_NOOVMND_EVOLVE: +      trap_Cvar_Set( "ui_dialog", "There is no Overmind. An Overmind must be built to allow " +                                  "you to upgrade." ); +      trap_SendConsoleCommand( "menu tremulous_alien_dialog\n" ); +      break; +            case MN_A_HOVEL_OCCUPIED:        trap_Cvar_Set( "ui_dialog", "This Hovel is occupied by another builder. Please find or build "                                    "another." ); diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c index 06e41d76..807b8a3a 100644 --- a/src/game/bg_misc.c +++ b/src/game/bg_misc.c @@ -1806,7 +1806,7 @@ classAttributes_t bg_classList[ ] =      1.1f,                                           //float   bobCycle;      60,                                             //int     steptime;      BMOFO_SPEED,                                    //float   speed; -    5.0f,                                           //float   acceleration; +    10.0f,                                          //float   acceleration;      1.0f,                                           //float   airAcceleration;      6.0f,                                           //float   friction;      100.0f,                                         //float   stopSpeed; diff --git a/src/game/bg_public.h b/src/game/bg_public.h index 52d4e573..d8c6053f 100644 --- a/src/game/bg_public.h +++ b/src/game/bg_public.h @@ -577,6 +577,7 @@ typedef enum    MN_A_HOVEL_BLOCKED,    MN_A_NOEROOM,    MN_A_TOOCLOSE, +  MN_A_NOOVMND_EVOLVE,    //alien build    MN_A_SPWNWARN, diff --git a/src/game/g_active.c b/src/game/g_active.c index 49289ba8..836ae90c 100644 --- a/src/game/g_active.c +++ b/src/game/g_active.c @@ -675,7 +675,8 @@ void ClientTimerActions( gentity_t *ent, int msec )          }        } -      if( ent->health < client->ps.stats[ STAT_MAX_HEALTH ] ) +      if( ent->health < client->ps.stats[ STAT_MAX_HEALTH ] && +          ( client->lastDamageTime + ALIEN_REGEN_DAMAGE_TIME ) < level.time )          ent->health += BG_FindRegenRateForClass( client->ps.stats[ STAT_PCLASS ] ) * modifier;        if( ent->health > client->ps.stats[ STAT_MAX_HEALTH ] ) diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index 0aae2c70..7d6e6a92 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -1150,6 +1150,13 @@ void Cmd_Class_f( gentity_t *ent )          }        } +      if( !level.overmindPresent ) +      { +        ent->client->pers.classSelection = PCL_NONE; +        G_TriggerMenu( clientNum, MN_A_NOOVMND_EVOLVE ); +        return; +      } +              //evolve now        ent->client->pers.classSelection = BG_FindClassNumForName( s ); diff --git a/src/game/g_combat.c b/src/game/g_combat.c index 93b8c21c..185b201d 100644 --- a/src/game/g_combat.c +++ b/src/game/g_combat.c @@ -1099,7 +1099,10 @@ void G_Damage( gentity_t *targ, gentity_t *inflictor, gentity_t *attacker,      //TA: add to the attackers "account" on the target      if( targ->client && attacker->client ) -      targ->credits[ attacker->client->ps.clientNum ] += take; +    { +      if( attacker != targ && !OnSameTeam( targ, attacker ) ) +        targ->credits[ attacker->client->ps.clientNum ] += take; +    }      if( targ->health <= 0 )      { diff --git a/src/game/g_main.c b/src/game/g_main.c index 93a3c8a6..e5e3a6fe 100644 --- a/src/game/g_main.c +++ b/src/game/g_main.c @@ -959,10 +959,10 @@ void G_CalculateBuildPoints( void )      if( buildable != BA_NONE )      { -      if( buildable == BA_H_REACTOR ) +      if( buildable == BA_H_REACTOR && ent->health > 0 )          level.reactorPresent = qtrue; -      if( buildable == BA_A_OVERMIND ) +      if( buildable == BA_A_OVERMIND && ent->health > 0 )          level.overmindPresent = qtrue;        if( BG_FindTeamForBuildable( buildable ) == BIT_HUMANS ) diff --git a/src/game/tremulous.h b/src/game/tremulous.h index 3265bded..7e723ecc 100644 --- a/src/game/tremulous.h +++ b/src/game/tremulous.h @@ -294,6 +294,7 @@  #define ALIEN_SPAWN_REPEAT_TIME     10000 +#define ALIEN_REGEN_DAMAGE_TIME     2000 //msec since damage that regen starts again  /*   * HUMAN weapons @@ -356,7 +357,7 @@  #define CHAINGUN_BULLETS            200  #define CHAINGUN_REPEAT             75  #define CHAINGUN_SPREAD             1000 -#define CHAINGUN_DMG                HDM(9) +#define CHAINGUN_DMG                HDM(8)  #define PRIFLE_PRICE                400  #define PRIFLE_CLIPS                50 @@ -443,7 +444,7 @@   *    */ -#define HUMAN_BHLTH_MODIFIER        0.6f +#define HUMAN_BHLTH_MODIFIER        0.62f  #define HBHM(h)                     ((int)((float)h*HUMAN_BHLTH_MODIFIER))  #define REACTOR_BASESIZE            1000 @@ -465,17 +466,17 @@  #define MGTURRET_BP                 8  #define MGTURRET_BT                 10000 -#define MGTURRET_HEALTH             HBHM(300) +#define MGTURRET_HEALTH             HBHM(350)  #define MGTURRET_SPLASHDAMAGE       200  #define MGTURRET_SPLASHRADIUS       150 -#define MGTURRET_ANGULARSPEED       6  //degrees/think ~= 200deg/sec +#define MGTURRET_ANGULARSPEED       8  //degrees/think ~= 200deg/sec  #define MGTURRET_ACCURACYTOLERANCE  MGTURRET_ANGULARSPEED / 1.5f //angular difference for turret to fire  #define MGTURRET_VERTICALCAP        30  // +/- maximum pitch  #define MGTURRET_REPEAT             100  #define MGTURRET_RANGE              250  #define MGTURRET_SPREAD             200  #define MGTURRET_DMG                HDM(5) -#define MGTURRET_DCC_ANGULARSPEED       7 +#define MGTURRET_DCC_ANGULARSPEED       10  #define MGTURRET_DCC_ACCURACYTOLERANCE  MGTURRET_DCC_ANGULARSPEED / 1.5f  #define TESLAGEN_BP                 10 @@ -495,7 +496,7 @@  #define ARMOURY_BP                  10  #define ARMOURY_BT                  10000 -#define ARMOURY_HEALTH              HBHM(400) +#define ARMOURY_HEALTH              HBHM(450)  #define ARMOURY_SPLASHDAMAGE        50  #define ARMOURY_SPLASHRADIUS        100  | 
