diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cgame/cg_draw.c | 10 | ||||
-rw-r--r-- | src/cgame/cg_local.h | 8 | ||||
-rw-r--r-- | src/cgame/cg_main.c | 1 | ||||
-rw-r--r-- | src/game/bg_misc.c | 4 | ||||
-rw-r--r-- | src/game/bg_public.h | 1 | ||||
-rw-r--r-- | src/game/g_active.c | 4 | ||||
-rw-r--r-- | src/game/g_cmds.c | 16 | ||||
-rw-r--r-- | src/game/tremulous.h | 29 |
8 files changed, 42 insertions, 31 deletions
diff --git a/src/cgame/cg_draw.c b/src/cgame/cg_draw.c index 8fde56f..84c49a5 100644 --- a/src/cgame/cg_draw.c +++ b/src/cgame/cg_draw.c @@ -858,6 +858,8 @@ static void CG_DrawPlayerHealthCross( rectDef_t *rect, vec4_t ref_color ) // Pick the current icon shader = cgs.media.healthCross; + if( cg.snap->ps.stats[ STAT_STATE ] & SS_IMPLANTED ) + shader = cgs.media.healthCrossImplanted; if( cg.snap->ps.stats[ STAT_STATE ] & SS_HEALING_3X ) shader = cgs.media.healthCross3X; else if( cg.snap->ps.stats[ STAT_STATE ] & SS_HEALING_2X ) @@ -872,7 +874,13 @@ static void CG_DrawPlayerHealthCross( rectDef_t *rect, vec4_t ref_color ) // Pick the alpha value Vector4Copy( ref_color, color ); - if( cg.snap->ps.stats[ STAT_TEAM ] == TEAM_HUMANS && + if( cg.snap->ps.stats[ STAT_STATE ] & SS_IMPLANTED ) + { + color[ 0 ] = 0.0f; + color[ 1 ] = 0.8f; + color[ 2 ] = 0.0f; + } + else if( cg.snap->ps.stats[ STAT_TEAM ] == TEAM_HUMANS && cg.snap->ps.stats[ STAT_HEALTH ] < 10 ) { color[ 0 ] = 1.0f; diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h index 43e1701..2821bc4 100644 --- a/src/cgame/cg_local.h +++ b/src/cgame/cg_local.h @@ -1347,7 +1347,8 @@ typedef struct qhandle_t healthCross3X; qhandle_t healthCrossMedkit; qhandle_t healthCrossPoisoned; - + qhandle_t healthCrossImplanted; + qhandle_t cuboidCracks[CUBOID_CRACK_TEXTURES-1]; qhandle_t cuboidModel; qhandle_t cuboidRedBuildShader; @@ -2183,13 +2184,14 @@ typedef enum // mod version data -#define MODVER_CURRENT 5 +#define MODVER_CURRENT 6 +#define MODVER_C2_0_1_5 6 #define MODVER_C2_0_1_4 5 #define MODVER_C2_0_1_3 4 #define MODVER_C2_0_1_2 3 #define MODVER_C2_0_1_1 2 #define MODVER_C2_0_1_0 1 -#define MODVER_TITLE "0.1.4 (Sep 12)" +#define MODVER_TITLE "0.1.5 (Sep 12)" diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c index 427a571..7157061 100644 --- a/src/cgame/cg_main.c +++ b/src/cgame/cg_main.c @@ -848,6 +848,7 @@ static void CG_RegisterGraphics( void ) cgs.media.healthCross3X = trap_R_RegisterShader( "ui/assets/neutral/cross3.tga" ); cgs.media.healthCrossMedkit = trap_R_RegisterShader( "ui/assets/neutral/cross_medkit.tga" ); cgs.media.healthCrossPoisoned = trap_R_RegisterShader( "ui/assets/neutral/cross_poison.tga" ); + cgs.media.healthCrossImplanted = trap_R_RegisterShader( "ui/assets/neutral/cross_implanted.tga" ); cgs.media.upgradeClassIconShader = trap_R_RegisterShader( "icons/icona_upgrade.tga" ); diff --git a/src/game/bg_misc.c b/src/game/bg_misc.c index a9ae715..b96c8a9 100644 --- a/src/game/bg_misc.c +++ b/src/game/bg_misc.c @@ -4367,7 +4367,7 @@ const cuboidAttributes_t BG_CuboidTypes [] = qfalse, // qboolean zappable qfalse, // qboolean repairable qfalse, // qboolean detectable - qfalse, // qboolean needpower + qtrue, // qboolean needpower SURF_FLESH // int surfaceFlags }, { @@ -4391,7 +4391,7 @@ const cuboidAttributes_t BG_CuboidTypes [] = qfalse, // qboolean zappable qfalse, // qboolean repairable qfalse, // qboolean detectable - qfalse, // qboolean needpower + qtrue, // qboolean needpower SURF_SLICK // int surfaceFlags } }; diff --git a/src/game/bg_public.h b/src/game/bg_public.h index 4411940..64ce615 100644 --- a/src/game/bg_public.h +++ b/src/game/bg_public.h @@ -258,6 +258,7 @@ typedef enum #define SS_HEALING_ACTIVE 0x00000400 // medistat for humans, creep for aliens #define SS_HEALING_2X 0x00000800 // medkit or double healing rate #define SS_HEALING_3X 0x00001000 // triple healing rate +#define SS_IMPLANTED 0x00002000 #define SB_VALID_TOGGLEBIT 0x00002000 diff --git a/src/game/g_active.c b/src/game/g_active.c index 42e8199..05bda16 100644 --- a/src/game/g_active.c +++ b/src/game/g_active.c @@ -833,8 +833,10 @@ void ClientTimerActions( gentity_t *ent, int msec ) if( client->isImpregnated && !client->isImplantMature && level.time >= client->impregnationTime + ALIEN_IMPLANT_MATURING_TIME_MIN && random() <= ALIEN_IMPLANT_MATURING_CHANCE ) + { client->isImplantMature = qtrue; - + client->ps.stats[ STAT_STATE ] |= SS_IMPLANTED; + } } while( client->time10000 >= 10000 ) diff --git a/src/game/g_cmds.c b/src/game/g_cmds.c index ef5a864..3578b08 100644 --- a/src/game/g_cmds.c +++ b/src/game/g_cmds.c @@ -3295,16 +3295,14 @@ void Cmd_Damage_f( gentity_t *ent ) Cmd_Debug1_f ================= */ -void Cmd_Debug1_f( gentity_t *self ) +void Cmd_Debug1_f( gentity_t *other ) { - gentity_t *ent; - ent = G_TempEntity( self->r.currentOrigin, EV_OBITUARY ); - ent->s.eventParm = MOD_MACHINEGUN; - ent->s.otherEntityNum = self->s.number; - ent->s.modelindex = self->client->ps.stats[ STAT_CLASS ]; - ent->s.otherEntityNum2 = 1; - ent->s.groundEntityNum = 666; - ent->r.svFlags = SVF_BROADCAST; // send to everyone + other->client->isImpregnated = qtrue; + other->client->isImplantMature = qfalse; + other->client->impregnationTime = level.time; + other->client->impregnatedBy = -1; + other->client->isImplantMature = qtrue; + other->client->ps.stats[ STAT_STATE ] |= SS_IMPLANTED; } /* diff --git a/src/game/tremulous.h b/src/game/tremulous.h index c18e58f..434a0ff 100644 --- a/src/game/tremulous.h +++ b/src/game/tremulous.h @@ -87,8 +87,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define LEVEL2_AREAZAP_CHAIN_RANGE 150.0f #define LEVEL2_AREAZAP_CHAIN_FALLOFF 8.0f #define LEVEL2_AREAZAP_WIDTH 15.0f -#define LEVEL2_AREAZAP_REPEAT 100 //1500 -#define LEVEL2_AREAZAP_TIME 100 //1000 +#define LEVEL2_AREAZAP_REPEAT 1500 +#define LEVEL2_AREAZAP_TIME 1000 #define LEVEL2_AREAZAP_MAX_TARGETS 5 #define LEVEL2_AREAZAP_DMG_MOD 0.66f //versus buildings #define LEVEL2_WALLJUMP_MAXSPEED 1000.0f @@ -459,24 +459,23 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define PRIFLE_SIZE 5 #define LCANNON_PRICE 600 -#define LCANNON_AMMO 90 +#define LCANNON_AMMO 80 #define LCANNON_K_SCALE 1.0f #define LCANNON_REPEAT 500 #define LCANNON_RELOAD 0 #define LCANNON_DAMAGE HDM(265) -#define LCANNON_RADIUS 150 +#define LCANNON_RADIUS 150 // primary splash damage radius #define LCANNON_SIZE 5 // missile bounding box radius -#define LCANNON_SECONDARY_DAMAGE HDM(27) -#define LCANNON_SECONDARY_RADIUS 75 -#define LCANNON_SECONDARY_SPEED 350 +#define LCANNON_SECONDARY_DAMAGE HDM(30) +#define LCANNON_SECONDARY_RADIUS 75 // secondary splash damage radius +#define LCANNON_SECONDARY_SPEED 1400 #define LCANNON_SECONDARY_RELOAD 2000 -#define LCANNON_SECONDARY_REPEAT 666 -#define LCANNON_SPEED 350 -#define LCANNON_TOTAL_CHARGE 255 -#define LCANNON_CHARGE_TIME_MIN 50 -#define LCANNON_CHARGE_TIME_MAX 2000 -#define LCANNON_CHARGE_TIME_WARN 1500 -#define LCANNON_CHARGE_AMMO 10 +#define LCANNON_SECONDARY_REPEAT 1000 +#define LCANNON_SPEED 700 +#define LCANNON_CHARGE_TIME_MAX 3000 +#define LCANNON_CHARGE_TIME_MIN 100 +#define LCANNON_CHARGE_TIME_WARN 2000 +#define LCANNON_CHARGE_AMMO 10 // ammo cost of a full charge shot #define HBUILD_PRICE 0 #define HBUILD_REPEAT 1000 @@ -511,7 +510,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define JETPACK_FUEL_FULL 6000 //can't exceed 32767 #define JETPACK_FUEL_LOW 1500 #define JETPACK_FUEL_USAGE 10 //every 100ms -#define JETPACK_FUEL_JUMP 85 +#define JETPACK_FUEL_JUMP 300 #define BSUIT_PRICE 400 #define BSUIT_POISON_PROTECTION 3 |