summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormtiusanen <ams@daug.net>2014-10-21 19:44:29 +0300
committermtiusanen <ams@daug.net>2014-10-21 19:44:29 +0300
commitfd19ccb037e349286e3b72a1277c58079056fcc2 (patch)
tree0567b9261a53c205c5e3c02638ae2ba5eb3d7294
parentdacb45bb2b1ca96a9fbd51b8380f5b10f1ce2123 (diff)
Updated hummel movement to use vector arithmetic functions.
Increased chaingun spread and reduced the damage of it's 2ndary fire. Mines explode on all aliens again.
-rw-r--r--src/game/bg_pmove.c15
-rw-r--r--src/game/g_missile.c53
-rw-r--r--src/game/tremulous.h8
3 files changed, 36 insertions, 40 deletions
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index c78129b..9728ff0 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -1400,10 +1400,8 @@ Only with the flight powerup
static void PM_FlyMove( void )
{
int i;
- vec3_t wishvel;
- float wishspeed;
- vec3_t wishdir;
- float scale;
+ vec3_t wishvel,wishdir;
+ float wishspeed,scale;
// normal slowdown
PM_Friction( );
@@ -1414,15 +1412,12 @@ static void PM_FlyMove( void )
//
if( !scale )
{
- wishvel[ 0 ] = 0;
- wishvel[ 1 ] = 0;
- wishvel[ 2 ] = 0;
+ VectorSet(wishvel,0.f,0.f,0.f);
}
else
{
- for( i = 0; i < 3; i++ )
- wishvel[ i ] = scale * pml.forward[ i ] * pm->cmd.forwardmove + scale * pml.right[ i ] * pm->cmd.rightmove;
-
+ VectorScale(pml.forward,scale*pm->cmd.forwardmove,wishvel);
+ VectorMA(wishvel,scale*pm->cmd.rightmove,pml.right,wishvel);
wishvel[ 2 ] += scale * pm->cmd.upmove;
}
diff --git a/src/game/g_missile.c b/src/game/g_missile.c
index a69b4fc..74b351c 100644
--- a/src/game/g_missile.c
+++ b/src/game/g_missile.c
@@ -503,36 +503,37 @@ If an enemy is close to the entity, go boom!
================
*/
void G_ProcessMine(gentity_t *ent) {
- int i, total_entities, entityList[MAX_GENTITIES];
- vec3_t range, mins, maxs;
- gentity_t *target;
+ int i, total_entities, entityList[MAX_GENTITIES];
+ vec3_t range, mins, maxs;
+ gentity_t *target;
- // Set the next time to run this check (can be overwritten below)
- ent->nextthink = level.time + MINE_CHECK_FREQUENCY;
+ // Set the next time to run this check (can be overwritten below)
+ ent->nextthink = level.time + MINE_CHECK_FREQUENCY;
- // Grab all entities around us
- VectorSet(range, MINE_DETECT, MINE_DETECT, MINE_DETECT);
- VectorAdd(ent->s.origin, range, maxs);
- VectorSubtract(ent->s.origin, range, mins);
+ // Grab all entities around us
+ VectorSet(range, MINE_DETECT, MINE_DETECT, MINE_DETECT);
+ VectorAdd(ent->s.origin, range, maxs);
+ VectorSubtract(ent->s.origin, range, mins);
- total_entities = trap_EntitiesInBox(mins, maxs, entityList, MAX_GENTITIES);
+ total_entities = trap_EntitiesInBox(mins, maxs, entityList, MAX_GENTITIES);
- // Loop entities looking for an enemy body
- for(i=0; i<total_entities; i++) {
- target = &g_entities[entityList[i]];
- if(target->client &&
- target->client->ps.stats[ STAT_TEAM ] == TEAM_ALIENS &&
- target->client->ps.weapon > WP_ALEVEL1_UPG ) {
- if (G_Visible( ent, target, MASK_SHOT ))
- {
- // Found an enemy, boom time!
- ent->nextthink = level.time + MINE_BOOM_TIME;
- ent->think = G_ExplodeMissile;
- return;
- }
- }
- }
-}
+ // Loop entities looking for an enemy body
+ for(i=0; i<total_entities; i++) {
+ target = &g_entities[entityList[i]];
+ if(target->client &&
+ target->client->ps.stats[ STAT_TEAM ] == TEAM_ALIENS/* &&
+ target->client->ps.weapon > WP_ALEVEL1_UPG */)
+ {
+ if (G_Visible( ent, target, MASK_SHOT ))
+ {
+ // Found an enemy, boom time!
+ ent->nextthink = level.time + MINE_BOOM_TIME;
+ ent->think = G_ExplodeMissile;
+ return;
+ }
+ }
+ }
+}
/*
=================
diff --git a/src/game/tremulous.h b/src/game/tremulous.h
index f76f968..44450f2 100644
--- a/src/game/tremulous.h
+++ b/src/game/tremulous.h
@@ -479,15 +479,15 @@ TREMULOUS EDGE MOD SRC FILE
#define MDRIVER_REPEAT2 2200
#define CHAINGUN_PRICE 400
-#define CHAINGUN_BULLETS 350
+#define CHAINGUN_BULLETS 300
#define CHAINGUN_REPEAT 80
#define CHAINGUN_K_SCALE 1.0f
-#define CHAINGUN_SPREAD 900
+#define CHAINGUN_SPREAD 1100
#define CHAINGUN_DMG HDM(6)
#define CHAINGUN_REPEAT2 120
-#define CHAINGUN_SPREAD2 450
-#define CHAINGUN_DMG2 HDM(8)
+#define CHAINGUN_SPREAD2 550
+#define CHAINGUN_DMG2 HDM(6)
#define FLAMER_PRICE 550
#define FLAMER_GAS 200