summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/bg_pmove.c4
-rw-r--r--src/game/edge_version.h2
-rw-r--r--src/game/g_active.c4
-rw-r--r--src/game/g_admin.c3
-rw-r--r--src/game/g_buildable.c108
-rw-r--r--src/game/g_main.c25
-rw-r--r--src/game/g_missile.c4
-rw-r--r--src/game/tremulous.h120
8 files changed, 145 insertions, 125 deletions
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index 017b389..476e195 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -3104,10 +3104,10 @@ static void PM_Weapon( void )
switch(pm->ps->weapon) {
case WP_ALEVEL3:
- max = LEVEL3_POUNCE_TIME_UPG;
+ max = LEVEL3_POUNCE_TIME;
break;
case WP_ALEVEL3_UPG:
- max = LEVEL3_POUNCE_TIME;
+ max = LEVEL3_POUNCE_TIME_UPG;
break;
case WP_ALEVEL5:
max = LEVEL5_POUNCE_TIME;
diff --git a/src/game/edge_version.h b/src/game/edge_version.h
index 6795229..55170dc 100644
--- a/src/game/edge_version.h
+++ b/src/game/edge_version.h
@@ -1,3 +1,3 @@
#ifndef EDGE_MOD_VERSION
-#define EDGE_MOD_VERSION "7.6i"
+#define EDGE_MOD_VERSION "7.7"
#endif
diff --git a/src/game/g_active.c b/src/game/g_active.c
index 2fdb514..6021a65 100644
--- a/src/game/g_active.c
+++ b/src/game/g_active.c
@@ -1847,11 +1847,11 @@ void ClientThink_real( gentity_t *ent )
continue;
}
- if( modifier < 4.6f && boost->s.eType == ET_BUILDABLE &&
+ if( modifier < COCOON_REGEN_MOD && boost->s.eType == ET_BUILDABLE &&
boost->s.modelindex == BA_A_COCOON && boost->spawned &&
boost->health > 0 && boost->powered )
{
- modifier = 4.6f;
+ modifier = COCOON_REGEN_MOD;
continue;
}
diff --git a/src/game/g_admin.c b/src/game/g_admin.c
index 3b1566c..6c04029 100644
--- a/src/game/g_admin.c
+++ b/src/game/g_admin.c
@@ -2762,7 +2762,8 @@ qboolean G_admin_listplayers( gentity_t *ent )
}
else
{
- l = G_admin_level( 2 ); // Display 'Verified Player' level
+ // Display level matching admin's score instead of the real/fixed level for incognito players.
+ l = G_admin_find_level_for_score( p->pers.admin->score );
}
}
diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c
index d855af5..18a0fae 100644
--- a/src/game/g_buildable.c
+++ b/src/game/g_buildable.c
@@ -3618,51 +3618,51 @@ static int G_CompareBuildablesForRemoval( const void *a, const void *b )
BA_A_SPAWN,
BA_A_OVERMIND,
BA_A_PANZER_SMALL,
- BA_A_PANZER_MEDIUM,
- BA_A_PANZER_LARGE,
- BA_A_TENDON_SMALL,
- BA_A_TENDON_MEDIUM,
- BA_A_TENDON_LARGE,
- BA_A_NET,
- BA_A_NET_SPIKE,
- BA_A_INFESTATION_SLIME,
- BA_A_INFESTATION_THICKET,
- BA_A_INFESTATION_BLISTER,
- BA_A_REFLECTOR,
- BA_A_MUSCLE,
- BA_A_SPITEFUL_ABCESS,
- BA_A_COCOON,
- BA_A_ORGANIC_BULB,
- BA_A_POD,
- BA_A_POD_STUMP,
- BA_A_CREEPCOLONY,
-
+ BA_A_PANZER_MEDIUM,
+ BA_A_PANZER_LARGE,
+ BA_A_TENDON_SMALL,
+ BA_A_TENDON_MEDIUM,
+ BA_A_TENDON_LARGE,
+ BA_A_NET,
+ BA_A_NET_SPIKE,
+ BA_A_INFESTATION_SLIME,
+ BA_A_INFESTATION_THICKET,
+ BA_A_INFESTATION_BLISTER,
+ BA_A_REFLECTOR,
+ BA_A_MUSCLE,
+ BA_A_SPITEFUL_ABCESS,
+ BA_A_COCOON,
+ BA_A_ORGANIC_BULB,
+ BA_A_POD,
+ BA_A_POD_STUMP,
+ BA_A_CREEPCOLONY,
+
BA_H_MGTURRET,
- BA_H_MGTURRET2,
+ BA_H_MGTURRET2,
BA_H_TESLAGEN,
BA_H_DCC,
BA_H_MEDISTAT,
BA_H_ARMOURY,
BA_H_SPAWN,
BA_H_REPEATER,
- BA_H_CONTAINER_SMALL,
+ BA_H_CONTAINER_SMALL,
BA_H_CONTAINER_MEDIUM,
- BA_H_CONTAINER_LARGE,
- BA_H_PLATE_SMALL,
- BA_H_PLATE_LARGE,
+ BA_H_CONTAINER_LARGE,
+ BA_H_PLATE_SMALL,
+ BA_H_PLATE_LARGE,
BA_H_FENCE,
BA_H_FENCE_ROD,
BA_H_BARRIER_LINE,
BA_H_BARRIER_CORNER,
BA_H_BARRIER_POINT,
- BA_H_SHIELD,
- BA_H_LADDER,
- BA_H_TEFLON_FOIL,
+ BA_H_SHIELD,
+ BA_H_LADDER,
+ BA_H_TEFLON_FOIL,
BA_H_BARREL,
BA_H_LIGHT,
- BA_H_COVER,
- BA_H_COVER_STUMP,
- BA_H_REFINERY,
+ BA_H_COVER,
+ BA_H_COVER_STUMP,
+ BA_H_REFINERY,
};
gentity_t *buildableA, *buildableB;
@@ -4237,13 +4237,19 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance
{
case 0: break;
case 1: // only creep providing buildings are blocked
- // if( buildable != BA_A_OVERMIND && buildable != BA_A_SPAWN )
- break;
- // otherwise check the power
+ if( buildable != BA_A_OVERMIND && buildable != BA_A_SPAWN )
+ break;
+ if( G_IsPowered( entity_origin ) != BA_NONE )
+ reason = IBE_BLOCKEDBYENEMY;
+ break;
+ case 2: // Creeps/colonies block building for enemy team
+ if( G_IsGathered( TEAM_HUMANS, entity_origin, qfalse, ent ) )
+ reason = IBE_BLOCKEDBYENEMY;
+ break;
default:
if( G_IsPowered( entity_origin ) != BA_NONE )
reason = IBE_BLOCKEDBYENEMY;
- break;
+ break;
}
// Check that there isn't another refinery/colony nearby
@@ -4266,22 +4272,11 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance
// Check for power
{
//tell player to build a repeater to provide power
- if( buildable != BA_H_REACTOR && buildable != BA_H_REPEATER && buildable != BA_H_LADDER
-&& buildable != BA_H_CONTAINER_SMALL
-&& buildable != BA_H_CONTAINER_MEDIUM
-&& buildable != BA_H_CONTAINER_LARGE
-&& buildable != BA_H_PLATE_SMALL
-&& buildable != BA_H_PLATE_LARGE
-&& buildable != BA_H_FENCE
-&& buildable != BA_H_FENCE_ROD
-&& buildable != BA_H_BARRIER_LINE
-&& buildable != BA_H_BARRIER_CORNER
-&& buildable != BA_H_BARRIER_POINT
-&& buildable != BA_H_TEFLON_FOIL
-&& buildable != BA_H_BARREL
-&& buildable != BA_H_COVER
-&& buildable != BA_H_COVER_STUMP
- )
+ if( buildable != BA_H_REACTOR && buildable != BA_H_REPEATER && buildable != BA_H_LADDER &&
+ buildable != BA_H_CONTAINER_SMALL && buildable != BA_H_CONTAINER_MEDIUM && buildable != BA_H_CONTAINER_LARGE &&
+ buildable != BA_H_PLATE_SMALL && buildable != BA_H_PLATE_LARGE && buildable != BA_H_FENCE && buildable != BA_H_FENCE_ROD &&
+ buildable != BA_H_BARRIER_LINE && buildable != BA_H_BARRIER_CORNER && buildable != BA_H_BARRIER_POINT &&
+ buildable != BA_H_TEFLON_FOIL && buildable != BA_H_BARREL && buildable != BA_H_COVER && buildable != BA_H_COVER_STUMP )
reason = IBE_NOPOWERHERE;
}
@@ -4291,13 +4286,18 @@ itemBuildError_t G_CanBuild( gentity_t *ent, buildable_t buildable, int distance
{
case 0: break;
case 1: // only power providing buildings are blocked
-// if( buildable != BA_H_REACTOR && buildable != BA_H_REPEATER )
-
+ if( buildable != BA_H_REACTOR && buildable != BA_H_REPEATER )
break;
- // otherwise check the creep
- default:
if( G_IsCreepHere( entity_origin ) )
reason = IBE_BLOCKEDBYENEMY;
+ case 2: // Creeps/colonies block building for enemy team
+ if( G_IsGathered( TEAM_ALIENS, entity_origin, qfalse, ent ) )
+ reason = IBE_BLOCKEDBYENEMY;
+ break;
+ default:
+ if( G_IsCreepHere( entity_origin ) )
+ reason = IBE_BLOCKEDBYENEMY;
+ break;
}
//this buildable requires a DCC
diff --git a/src/game/g_main.c b/src/game/g_main.c
index 1249905..7dc5bc8 100644
--- a/src/game/g_main.c
+++ b/src/game/g_main.c
@@ -205,6 +205,10 @@ vmCvar_t g_DretchTurretDamage;
vmCvar_t g_DretchBuildingDamage;
vmCvar_t g_OwnTeamBPFactor;
vmCvar_t g_EnemyTeamBPFactor;
+vmCvar_t g_MinAlienExtraBuildPoints;
+vmCvar_t g_MaxAlienExtraBuildPoints;
+vmCvar_t g_MinHumanExtraBuildPoints;
+vmCvar_t g_MaxHumanExtraBuildPoints;
// copy cvars that can be set in worldspawn so they can be restored later
static char cv_gravity[ MAX_CVAR_VALUE_STRING ];
@@ -376,8 +380,13 @@ static cvarTable_t gameCvarTable[ ] =
{ &g_DretchTurretDamage, "g_DretchTurretDamage", "1", CVAR_ARCHIVE, 0, qfalse },
{ &g_DretchBuildingDamage, "g_DretchBuildingDamage", "0.5", CVAR_ARCHIVE, 0, qfalse },
{ &g_OwnTeamBPFactor, "g_OwnTeamBPFactor", "1.0", CVAR_ARCHIVE, 0, qfalse },
- { &g_EnemyTeamBPFactor, "g_EnemyTeamBPFactor", "0.0", CVAR_ARCHIVE, 0, qfalse }
+ { &g_EnemyTeamBPFactor, "g_EnemyTeamBPFactor", "0.0", CVAR_ARCHIVE, 0, qfalse },
+ { &g_MinAlienExtraBuildPoints, "g_MinAlienExtraBuildPoints", "-800", CVAR_ARCHIVE, 0, qfalse },
+ { &g_MaxAlienExtraBuildPoints, "g_MaxAlienExtraBuildPoints", "800", CVAR_ARCHIVE, 0, qfalse },
+ { &g_MinHumanExtraBuildPoints, "g_MinHumanExtraBuildPoints", "-800", CVAR_ARCHIVE, 0, qfalse },
+ { &g_MaxHumanExtraBuildPoints, "g_MaxHumanExtraBuildPoints", "800", CVAR_ARCHIVE, 0, qfalse }
};
+
static int gameCvarTableSize = sizeof( gameCvarTable ) / sizeof( gameCvarTable[ 0 ] );
void G_InitGame( int levelTime, int randomSeed, int restart );
void G_RunFrame( int levelTime );
@@ -1403,6 +1412,16 @@ void G_CalculateBuildPoints( void )
level.alienExtraBuildPoints = g_OwnTeamBPFactor.value * (aVar + aFixed) + g_EnemyTeamBPFactor.value * (hVar + hFixed);
level.humanExtraBuildPoints = g_OwnTeamBPFactor.value * (hVar + hFixed) + g_EnemyTeamBPFactor.value * (aVar + aFixed);
+ if (level.alienExtraBuildPoints < g_MinAlienExtraBuildPoints.value)
+ level.alienExtraBuildPoints = g_MinAlienExtraBuildPoints.value;
+ else if (level.alienExtraBuildPoints > g_MaxAlienExtraBuildPoints.value)
+ level.alienExtraBuildPoints = g_MaxAlienExtraBuildPoints.value;
+
+ if (level.humanExtraBuildPoints < g_MinHumanExtraBuildPoints.value)
+ level.humanExtraBuildPoints = g_MinHumanExtraBuildPoints.value;
+ else if (level.humanExtraBuildPoints > g_MaxHumanExtraBuildPoints.value)
+ level.humanExtraBuildPoints = g_MaxHumanExtraBuildPoints.value;
+
level.humanBuildPoints += level.humanExtraBuildPoints;
level.alienBuildPoints += level.alienExtraBuildPoints;
}
@@ -2643,8 +2662,8 @@ void G_ArmageddonStep( void )
case BA_A_SPAWN:
case BA_H_SPAWN:
case BA_H_ARMOURY:
- case BA_H_REPEATER:
- continue; //dont get killed
+ case BA_H_REPEATER:
+ continue; //dont get killed
case BA_A_TRAPPER:
case BA_H_MGTURRET:
case BA_H_MGTURRET2:
diff --git a/src/game/g_missile.c b/src/game/g_missile.c
index 63f5e97..46f61af 100644
--- a/src/game/g_missile.c
+++ b/src/game/g_missile.c
@@ -636,9 +636,9 @@ gentity_t *NapalmChargeFire( gentity_t *self, vec3_t start, vec3_t dir,
bolt->s.generic1 = self->s.generic1; //weaponMode
bolt->r.ownerNum = self->s.number;
bolt->parent = self;
- bolt->damage = damage / 1.6;
+ bolt->damage = damage / 1.7;
bolt->splashDamage = damage / 5.2;
- bolt->splashRadius = damage /1.1 ;
+ bolt->splashRadius = damage / 1.1 ;
bolt->methodOfDeath = MOD_FLAMES;
bolt->splashMethodOfDeath = MOD_FLAMER_SPLASH;
bolt->clipmask = MASK_SHOT;
diff --git a/src/game/tremulous.h b/src/game/tremulous.h
index ad36a93..48ef1e7 100644
--- a/src/game/tremulous.h
+++ b/src/game/tremulous.h
@@ -205,7 +205,7 @@ TREMULOUS EDGE MOD SRC FILE
#define LEVEL2_AREAZAP_CHAIN_RANGE 150.0f
#define LEVEL2_AREAZAP_CHAIN_FALLOFF 8.0f
#define LEVEL2_AREAZAP_WIDTH 15.0f
-#define LEVEL2_AREAZAP_REPEAT 1500
+#define LEVEL2_AREAZAP_REPEAT 1300
#define LEVEL2_AREAZAP_TIME 1000
#define LEVEL2_AREAZAP_MAX_TARGETS 5
#define LEVEL2_WALLJUMP_MAXSPEED 1000.0f
@@ -246,14 +246,14 @@ TREMULOUS EDGE MOD SRC FILE
#define LEVEL3_CLAW_K_SCALE 1.0f
#define LEVEL3_CLAW_U_REPEAT 800
#define LEVEL3_CLAW_U_K_SCALE 1.0f
-#define LEVEL3_POUNCE_DMG ADM(80)
+#define LEVEL3_POUNCE_DMG ADM(90)
#define LEVEL3_POUNCE_RANGE 48.0f
#define LEVEL3_POUNCE_UPG_RANGE LEVEL3_POUNCE_RANGE + 3.0f
#define LEVEL3_POUNCE_WIDTH 14.0f
-#define LEVEL3_POUNCE_TIME 800 // msec for full Dragoon pounce
-#define LEVEL3_POUNCE_TIME_UPG 800 // msec for full Adv. Dragoon pounce
+#define LEVEL3_POUNCE_TIME 900 // msec for full Dragoon pounce
+#define LEVEL3_POUNCE_TIME_UPG 900 // msec for full Adv. Dragoon pounce
#define LEVEL3_POUNCE_TIME_MIN 200 // msec before which pounce cancels
-#define LEVEL3_POUNCE_REPEAT 400 // msec before a new pounce starts
+#define LEVEL3_POUNCE_REPEAT 400 // msec before a new pounce starts (default: 400)
#define LEVEL3_POUNCE_SPEED_MOD 0.75f // walking speed modifier for pounce charging
#define LEVEL3_POUNCE_JUMP_MAG 850 // Dragoon pounce jump power
#define LEVEL3_POUNCE_JUMP_MAG_UPG 930 // Adv. Dragoon pounce jump power
@@ -261,7 +261,7 @@ TREMULOUS EDGE MOD SRC FILE
#define LEVEL3_BOUNCEBALL_REPEAT 1200
#define LEVEL3_BOUNCEBALL_SPEED 1000.0f
#define LEVEL3_BOUNCEBALL_RADIUS 75
-#define LEVEL3_BOUNCEBALL_REGEN 13000 // msec until new barb
+#define LEVEL3_BOUNCEBALL_REGEN 10000 // msec until new barb
//Tyrant
#define LEVEL4_SPEED 1.2f
@@ -308,8 +308,8 @@ TREMULOUS EDGE MOD SRC FILE
#define LEVEL5_PRICKLES_RADIUS 50
#define LEVEL5_PRICKLES_SPEED 1600.0f
#define LEVEL5_PRICKLESSPLASH_DMG 5
-#define LEVEL5_PRICKLES_DMG 6
-#define LEVEL5_PRICKLES_RELOADTIME 160
+#define LEVEL5_PRICKLES_DMG 7 // DPS: 40
+#define LEVEL5_PRICKLES_RELOADTIME 175
#define LEVEL5_PRICKLES_AMMO 10
#define LEVEL5_PRICKLES_SPREAD 100
#define LEVEL5_POUNCE_JUMP_MAG 900
@@ -366,7 +366,7 @@ TREMULOUS EDGE MOD SRC FILE
#define BLASTER_K_SCALE 1.0f
#define BLASTER_SPREAD 200
#define BLASTER_SPEED 1400
-#define BLASTER_DMG HDM(10)
+#define BLASTER_DMG HDM(10) // DPS: 7.14
#define BLASTER_SIZE 5
#define RIFLE_CLIPSIZE 35
@@ -376,7 +376,7 @@ TREMULOUS EDGE MOD SRC FILE
#define RIFLE_RELOAD 2000
#define RIFLE_PRICE 0
#define RIFLE_SPREAD 200
-#define RIFLE_DMG HDM(5)
+#define RIFLE_DMG HDM(5) // DPS: 55.55
#define RIFLE_REPEAT2 35
#define RIFLE_K_SCALE2 1.2f
@@ -388,13 +388,13 @@ TREMULOUS EDGE MOD SRC FILE
#define PAINSAW_PRICE 100
#define PAINSAW_REPEAT 75
#define PAINSAW_K_SCALE 1.0f
-#define PAINSAW_DAMAGE HDM(11)
+#define PAINSAW_DAMAGE HDM(11) // DPS: 146.67
#define PAINSAW_RANGE 64.0f
#define PAINSAW_WIDTH 0.0f
#define PAINSAW_HEIGHT 8.0f
#define PAINSAW_REPEAT2 3000
-#define PAINSAW_DAMAGE2 HDM(60)
+#define PAINSAW_DAMAGE2 HDM(60) // DPS: 20
#define PAINSAW_DAMAGESPLASH2 5
#define PAINSAW_BLADELIFETIME 3500
#define PAINSAW_BLADESPEED 800.0f
@@ -423,8 +423,8 @@ TREMULOUS EDGE MOD SRC FILE
#define NADEFLAMES_SPEED 400.0f
#define CHECK_FREQUENCY 100
-#define FLAMES_RANGE 40.0f
-#define FLAMES_DETECT 50.0f
+#define FLAMES_RANGE 40.0f
+#define FLAMES_DETECT 50.0f
#define FLAMES_CHECK_FREQUENCY 100
#define FLAMES_SPEED 400.0f
@@ -445,7 +445,7 @@ TREMULOUS EDGE MOD SRC FILE
#define SHOTGUN_K_SCALE 1.0f
#define SHOTGUN_RELOAD 2000
#define SHOTGUN_SPREAD 700
-#define SHOTGUN_DMG HDM(5)
+#define SHOTGUN_DMG HDM(5) // DPS: 55
#define SHOTGUN_RANGE (8192 * 12)
#define LASGUN_PRICE 250
@@ -453,7 +453,7 @@ TREMULOUS EDGE MOD SRC FILE
#define LASGUN_REPEAT 190
#define LASGUN_K_SCALE 1.0f
#define LASGUN_RELOAD 2000
-#define LASGUN_DAMAGE HDM(9)
+#define LASGUN_DAMAGE HDM(9) // DPS: 47.37
#define LASGUN_REPEAT2 5000
#define LASGUN_PUSH_DURATION 4000
@@ -466,7 +466,7 @@ TREMULOUS EDGE MOD SRC FILE
#define MDRIVER_PRICE 350
#define MDRIVER_CLIPSIZE 5
#define MDRIVER_MAXCLIPS 3
-#define MDRIVER_DMG HDM(40)
+#define MDRIVER_DMG HDM(40) // DPS: 40
#define MDRIVER_REPEAT 1000
#define MDRIVER_K_SCALE 1.0f
#define MDRIVER_RELOAD 2200
@@ -483,17 +483,17 @@ TREMULOUS EDGE MOD SRC FILE
#define CHAINGUN_REPEAT 80
#define CHAINGUN_K_SCALE 1.0f
#define CHAINGUN_SPREAD 1100
-#define CHAINGUN_DMG HDM(6)
+#define CHAINGUN_DMG HDM(6) // DPS: 75
#define CHAINGUN_REPEAT2 120
#define CHAINGUN_SPREAD2 550
-#define CHAINGUN_DMG2 HDM(6)
+#define CHAINGUN_DMG2 HDM(6) // DPS: 50
#define FLAMER_PRICE 550
#define FLAMER_GAS 200
#define FLAMER_REPEAT 150
#define FLAMER_K_SCALE 2.0f
-#define FLAMER_DMG HDM(20)
+#define FLAMER_DMG HDM(20) // DPS: 133.33
#define FLAMER_SPLASHDAMAGE HDM(12)
#define FLAMER_RADIUS 50 // splash radius
#define FLAMER_SIZE 12 // missile bounding box
@@ -501,6 +501,11 @@ TREMULOUS EDGE MOD SRC FILE
#define FLAMER_LIFETIME2 600.0f
#define FLAMER_SPEED 550.0f
#define FLAMER_LAG 0.65f // the amount of player velocity that is added to the fireball
+#define FLAMER2_LIFETIME 350.0f
+#define FLAMER_CHARGE_TIME_MIN 200
+#define FLAMER_CHARGE_TIME_MAX 3000
+#define FLAMER_CHARGE_AMMO 50 // ammo cost of a full charge shot
+#define FLAMER_SECONDARY_REPEAT 200
#define PRIFLE_PRICE 450
#define PRIFLE_CLIPS 40
@@ -508,7 +513,7 @@ TREMULOUS EDGE MOD SRC FILE
#define PRIFLE_REPEAT 100
#define PRIFLE_K_SCALE 1.0f
#define PRIFLE_RELOAD 2000
-#define PRIFLE_DMG HDM(9)
+#define PRIFLE_DMG HDM(9) // DPS: 90
#define PRIFLE_SPEED 1200
#define PRIFLE_SIZE 5
#define PRIFLE_SECONDARY_SPEED 900
@@ -517,7 +522,7 @@ TREMULOUS EDGE MOD SRC FILE
#define LIGHTNING_PRICE 500
#define LIGHTNING_AMMO 300
#define LIGHTNING_K_SCALE 1
-#define LIGHTNING_DPS 140
+#define LIGHTNING_DPS 100
#define LIGHTNING_DIFFICULTY 2
#define LIGHTNING_REPEAT 50 // keep it as low as possible
#define LIGHTNING_DAMAGE ( LIGHTNING_DPS * LIGHTNING_REPEAT / 1000 )
@@ -528,7 +533,7 @@ TREMULOUS EDGE MOD SRC FILE
#define LCANNON_K_SCALE 1.0f
#define LCANNON_REPEAT 500
#define LCANNON_RELOAD 0
-#define LCANNON_DAMAGE HDM(265)
+#define LCANNON_DAMAGE HDM(265) // DPS: 88.33
#define LCANNON_RADIUS 150 // primary splash damage radius
#define LCANNON_SIZE 5 // missile bounding box radius
#define LCANNON_SECONDARY_DAMAGE HDM(30)
@@ -542,21 +547,16 @@ TREMULOUS EDGE MOD SRC FILE
#define LCANNON_CHARGE_TIME_WARN 2000
#define LCANNON_CHARGE_AMMO 10 // ammo cost of a full charge shot
-#define FLAMER_CHARGE_TIME_MIN 200
-#define FLAMER_CHARGE_TIME_MAX 3000
-#define FLAMER_CHARGE_AMMO 50 // ammo cost of a full charge shot
-#define FLAMER_SECONDARY_REPEAT 200
-
#define ROCKETL_PRICE 700
#define ROCKETL_AMMO 20
#define ROCKETL_CLIPS 1
#define ROCKETL_RELOAD 0
#define ROCKETL_REPEAT 1200
#define ROCKETL_K_SCALE 1.0f
-#define ROCKETL_DAMAGE HDM(80)
+#define ROCKETL_DAMAGE HDM(80) // DPS: 66.67
#define ROCKETL_RADIUS 80
#define ROCKETL_SIZE 5
-#define ROCKETL_SPEED 700
+#define ROCKETL_SPEED 500
#define HBUILD_PRICE 0
#define HBUILD_REPEAT 1000
@@ -667,6 +667,7 @@ TREMULOUS EDGE MOD SRC FILE
#define BOOSTER_SPLASHRADIUS 100
#define BOOSTER_CREEPSIZE 70
#define BOOSTER_REGEN_MOD 3.0f
+#define COCOON_REGEN_MOD 4.6f
#define BOOSTER_VALUE ABVM(BOOSTER_BP)
#define BOOST_TIME 20000
#define BOOST_WARN_TIME 15000
@@ -686,7 +687,7 @@ TREMULOUS EDGE MOD SRC FILE
#define HIVE_BP 8
#define HIVE_BT 13000
-#define HIVE_HEALTH ABHM(130)
+#define HIVE_HEALTH ABHM(160)
#define HIVE_REGEN 10
#define HIVE_SPLASHDAMAGE 30
#define HIVE_SPLASHRADIUS 200
@@ -697,12 +698,12 @@ TREMULOUS EDGE MOD SRC FILE
#define HIVE_K_SCALE 1.0f
#define HIVE_DMG 80
#define HIVE_SPEED 340.0f
-#define HIVE_DIR_CHANGE_PERIOD 500
+#define HIVE_DIR_CHANGE_PERIOD 400
#define HIVE_VALUE ABVM(HIVE_BP)
#define TRAPPER_BP 4
#define TRAPPER_BT 5000
-#define TRAPPER_HEALTH ABHM(50)
+#define TRAPPER_HEALTH ABHM(100)
#define TRAPPER_REGEN 6
#define TRAPPER_SPLASHDAMAGE 15
#define TRAPPER_SPLASHRADIUS 100
@@ -727,28 +728,28 @@ TREMULOUS EDGE MOD SRC FILE
#define OVERMIND_ATTACK_REPEAT 1000
#define OVERMIND_VALUE ABVM(50)
-#define PANZER_SMALL_BP 1
-#define PANZER_SMALL_BT 3000
-#define PANZER_SMALL_HEALTH ABHM(100)
-#define PANZER_SMALL_REGEN 1
+#define PANZER_SMALL_BP 4
+#define PANZER_SMALL_BT 4000
+#define PANZER_SMALL_HEALTH ABHM(160)
+#define PANZER_SMALL_REGEN 8
#define PANZER_SMALL_SPLASHDAMAGE 1
#define PANZER_SMALL_SPLASHRADIUS 10
#define PANZER_SMALL_CREEPSIZE 0
#define PANZER_SMALL_VALUE ABVM(PANZER_SMALL_BP)
-#define PANZER_MEDIUM_BP 2
-#define PANZER_MEDIUM_BT 9000
-#define PANZER_MEDIUM_HEALTH ABHM(250)
-#define PANZER_MEDIUM_REGEN 1
+#define PANZER_MEDIUM_BP 7
+#define PANZER_MEDIUM_BT 7000
+#define PANZER_MEDIUM_HEALTH ABHM(260)
+#define PANZER_MEDIUM_REGEN 10
#define PANZER_MEDIUM_SPLASHDAMAGE 5
#define PANZER_MEDIUM_SPLASHRADIUS 40
#define PANZER_MEDIUM_CREEPSIZE 0
#define PANZER_MEDIUM_VALUE ABVM(PANZER_MEDIUM_BP)
-#define PANZER_LARGE_BP 5
-#define PANZER_LARGE_BT 18000
-#define PANZER_LARGE_HEALTH ABHM(450)
-#define PANZER_LARGE_REGEN 1
+#define PANZER_LARGE_BP 9
+#define PANZER_LARGE_BT 9000
+#define PANZER_LARGE_HEALTH ABHM(400)
+#define PANZER_LARGE_REGEN 12
#define PANZER_LARGE_SPLASHDAMAGE 10
#define PANZER_LARGE_SPLASHRADIUS 70
#define PANZER_LARGE_CREEPSIZE 0
@@ -964,7 +965,6 @@ TREMULOUS EDGE MOD SRC FILE
#define MGTURRET2_DMG HDM(18)
#define MGTURRET2_SPINUP_TIME 550 // time between target sighted and fire
#define MGTURRET2_VALUE HBVM(MGTURRET2_BP)
-#define FLAMER2_LIFETIME 350.0f
#define TESLAGEN_BP 10
#define TESLAGEN_BT 15000
@@ -1015,23 +1015,23 @@ TREMULOUS EDGE MOD SRC FILE
#define REPEATER_VALUE HBVM(REPEATER_BP)
//EDGE BUILDINGS HUMANS
-#define CONTAINER_SMALL_BP 1
-#define CONTAINER_SMALL_BT 3000
-#define CONTAINER_SMALL_HEALTH HBHM(60)
+#define CONTAINER_SMALL_BP 5
+#define CONTAINER_SMALL_BT 5000
+#define CONTAINER_SMALL_HEALTH HBHM(180)
#define CONTAINER_SMALL_SPLASHDAMAGE 1
#define CONTAINER_SMALL_SPLASHRADIUS 10
#define CONTAINER_SMALL_VALUE HBVM(CONTAINER_SMALL_BP)
-#define CONTAINER_MEDIUM_BP 2
-#define CONTAINER_MEDIUM_BT 9000
-#define CONTAINER_MEDIUM_HEALTH HBHM(250)
+#define CONTAINER_MEDIUM_BP 8
+#define CONTAINER_MEDIUM_BT 8000
+#define CONTAINER_MEDIUM_HEALTH HBHM(280)
#define CONTAINER_MEDIUM_SPLASHDAMAGE 5
#define CONTAINER_MEDIUM_SPLASHRADIUS 40
#define CONTAINER_MEDIUM_VALUE HBVM(CONTAINER_MEDIUM_BP)
-#define CONTAINER_LARGE_BP 5
-#define CONTAINER_LARGE_BT 18000
-#define CONTAINER_LARGE_HEALTH HBHM(450)
+#define CONTAINER_LARGE_BP 10
+#define CONTAINER_LARGE_BT 10000
+#define CONTAINER_LARGE_HEALTH HBHM(420)
#define CONTAINER_LARGE_SPLASHDAMAGE 10
#define CONTAINER_LARGE_SPLASHRADIUS 70
#define CONTAINER_LARGE_VALUE HBVM(CONTAINER_LARGE_BP)
@@ -1057,30 +1057,30 @@ TREMULOUS EDGE MOD SRC FILE
#define FENCE_SPLASHRADIUS 50
#define FENCE_VALUE HBVM(FENCE_BP)
-#define FENCE_ROD_BP 2
+#define FENCE_ROD_BP 5
#define FENCE_ROD_BT 5000
-#define FENCE_ROD_HEALTH HBHM(50)
+#define FENCE_ROD_HEALTH HBHM(120)
#define FENCE_ROD_SPLASHDAMAGE 5
#define FENCE_ROD_SPLASHRADIUS 20
#define FENCE_ROD_VALUE HBVM(FENCE_ROD_BP)
#define BARRIER_LINE_BP 2
#define BARRIER_LINE_BT 10000
-#define BARRIER_LINE_HEALTH HBHM(350)
+#define BARRIER_LINE_HEALTH HBHM(280)
#define BARRIER_LINE_SPLASHDAMAGE 10
#define BARRIER_LINE_SPLASHRADIUS 50
#define BARRIER_LINE_VALUE HBVM(BARRIER_LINE_BP)
#define BARRIER_CORNER_BP 2
#define BARRIER_CORNER_BT 10000
-#define BARRIER_CORNER_HEALTH HBHM(350)
+#define BARRIER_CORNER_HEALTH HBHM(280)
#define BARRIER_CORNER_SPLASHDAMAGE 10
#define BARRIER_CORNER_SPLASHRADIUS 50
#define BARRIER_CORNER_VALUE HBVM(BARRIER_CORNER_BP)
#define BARRIER_POINT_BP 3
#define BARRIER_POINT_BT 10000
-#define BARRIER_POINT_HEALTH HBHM(350)
+#define BARRIER_POINT_HEALTH HBHM(320)
#define BARRIER_POINT_SPLASHDAMAGE 10
#define BARRIER_POINT_SPLASHRADIUS 50
#define BARRIER_POINT_VALUE HBVM(BARRIER_POINT_BP)