o 3.1.1 balance changes and bugfixes

o HG do NS_DMG_NORMAL vs structures
o HiveSight range reverted to 1500
o sound/vox/ssay82 and sound/vox/ssay83 ignored in consistency check
o Revision changed to 1 ( -T2 appended )
o HG research time changed to 90 ( still under discussion )


git-svn-id: https://unknownworlds.svn.cloudforge.com/ns1@353 67975925-1194-0748-b3d5-c16f83f1a3a1
This commit is contained in:
puzl 2005-11-18 02:45:36 +00:00
parent 8ec7b4bf0b
commit f4a13c405b
5 changed files with 36 additions and 14 deletions

View file

@ -120,7 +120,7 @@
#define kGameHDSpaceNeeded 300
#define kGameVersionMajor 3
#define kGameVersionMinor 1
#define kGameVersionRevision 0
#define kGameVersionRevision 1
#define kGestateBaseArmor 150
#define kGestateHealth 200
#define kGorgeArmorUpgrade 50
@ -135,7 +135,7 @@
#define kGrenadeLauncherCost 15
#define kGrenadeRadius 350
#define kGrenadesResearchCost 10
#define kGrenadesResearchTime 45
#define kGrenadesResearchTime 90
#define kHandGrenDetonateTime 0.75
#define kHGDamage 20
#define kHGMaxAmmo 30
@ -161,7 +161,7 @@
#define kHiveHealRadius 500
#define kHiveHealth 7000
#define kHiveRegenerationAmount 2
#define kHiveSightRange 3000
#define kHiveSightRange 1500
#define kInfantryPortalBuildTime 10
#define kInfantryPortalCost 20
#define kInfantryPortalHealth 2500

View file

@ -2233,12 +2233,24 @@ One of the ENGINE_FORCE_UNMODIFIED files failed the consistency check for the sp
Return 0 to allow the client to continue, 1 to force immediate disconnection ( with an optional disconnect message of up to 256 characters )
================================
*/
static char *ignoreInConsistencyCheck[] = {
"sound/vox/ssay82.wav",
"sound/vox/ssay83.wav",
0
};
int InconsistentFile( const edict_t *player, const char *filename, char *disconnect_message )
{
// Server doesn't care?
if ( CVAR_GET_FLOAT( "mp_consistency" ) != 1 )
return 0;
int i=0;
while ( ignoreInConsistencyCheck[i] != 0 ) {
if ( !strcmp(ignoreInConsistencyCheck[i], filename) )
return 0;
}
// Default behavior is to kick the player
sprintf( disconnect_message, "Server is enforcing file consistency for %s\n", filename );

View file

@ -44,12 +44,16 @@ LINK_ENTITY_TO_CLASS( grenade, CGrenade );
//
// Grenade Explode
//
void CGrenade::Explode( Vector vecSrc, Vector vecAim )
void CGrenade::SetDamageType(int inDamageType) {
this->m_damageType=inDamageType;
}
void CGrenade::Explode( Vector vecSrc, Vector vecAim)
{
TraceResult tr;
UTIL_TraceLine ( pev->origin, pev->origin + Vector ( 0, 0, -32 ), ignore_monsters, ENT(pev), & tr);
Explode( &tr, NS_DMG_BLAST);
Explode( &tr, this->m_damageType);
}
// UNDONE: temporary scorching for PreAlpha - find a less sleazy permenant solution.
@ -215,7 +219,7 @@ void CGrenade::Detonate( void )
vecSpot = pev->origin + Vector ( 0 , 0 , 8 );
UTIL_TraceLine ( vecSpot, vecSpot + Vector ( 0, 0, -40 ), ignore_monsters, ENT(pev), & tr);
Explode( &tr, NS_DMG_BLAST);
Explode( &tr, this->m_damageType);
}
//
@ -252,7 +256,7 @@ void CGrenade::ExplodeTouch( CBaseEntity *pOther )
vecSpot = pev->origin - pev->velocity.Normalize() * 32;
UTIL_TraceLine( vecSpot, vecSpot + pev->velocity.Normalize() * 64, ignore_monsters, ENT(pev), &tr );
Explode( &tr, NS_DMG_BLAST);
Explode( &tr, this->m_damageType);
}
@ -315,7 +319,7 @@ void CGrenade::BounceTouch( CBaseEntity *pOther )
{
TraceResult tr = UTIL_GetGlobalTrace( );
ClearMultiDamage( );
pOther->TraceAttack(pevOwner, 1, gpGlobals->v_forward, &tr, NS_DMG_BLAST);
pOther->TraceAttack(pevOwner, 1, gpGlobals->v_forward, &tr, this->m_damageType);
ApplyMultiDamage( pev, pevOwner);
}
m_flNextAttack = gpGlobals->time + 1.0; // debounce
@ -452,6 +456,7 @@ void CGrenade:: Spawn( void )
UTIL_SetSize(pev, Vector( 0, 0, 0), Vector(0, 0, 0));
m_fRegisteredSound = FALSE;
m_damageType = NS_DMG_BLAST;
}
@ -481,9 +486,10 @@ CGrenade *CGrenade::ShootContact( entvars_t *pevOwner, Vector vecStart, Vector v
return pGrenade;
}
CGrenade* CGrenade::ShootExplosiveTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time )
CGrenade* CGrenade::ShootExplosiveTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time, int inDamageType)
{
CGrenade *pGrenade = CGrenade::ShootTimed(pevOwner, vecStart, vecVelocity, time);
pGrenade->SetDamageType(inDamageType);
pGrenade->SetTouch(&CGrenade::ExplosiveBounceTouch);
return pGrenade;
}

View file

@ -54,8 +54,8 @@ public:
typedef enum { SATCHEL_DETONATE = 0, SATCHEL_RELEASE } SATCHELCODE;
static CGrenade *ShootExplosiveTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time );
static CGrenade *ShootTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time );
static CGrenade *ShootExplosiveTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time, int inDamageType );
static CGrenade *ShootTimed( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time);
static CGrenade *ShootContact( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity );
static CGrenade *ShootSatchelCharge( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity );
static void UseSatchelCharges( entvars_t *pevOwner, SATCHELCODE code );
@ -77,8 +77,11 @@ public:
virtual void BounceSound( void );
virtual int BloodColor( void ) { return DONT_BLEED; }
virtual void Killed( entvars_t *pevAttacker, int iGib );
virtual void SetDamageType(int inDamageType);
BOOL m_fRegisteredSound;// whether or not this grenade has issued its DANGER sound to the world sound list yet.
private:
int m_damageType;
};

View file

@ -189,7 +189,8 @@ char* AvHSUGetGameVersionString()
string theGameVersionString;
theGameVersionString = "v" + MakeStringFromInt(BALANCE_VAR(kGameVersionMajor)) + "." + MakeStringFromInt(BALANCE_VAR(kGameVersionMinor)) + "." + MakeStringFromInt(BALANCE_VAR(kGameVersionRevision));
theGameVersionString = "v" + MakeStringFromInt(BALANCE_VAR(kGameVersionMajor)) + "." + MakeStringFromInt(BALANCE_VAR(kGameVersionMinor)) + "." +
MakeStringFromInt(BALANCE_VAR(kGameVersionRevision)) + "-T2";
//memset(theGameVersion, 0, 1024);
strcpy(theGameVersion, theGameVersionString.c_str());
@ -1075,7 +1076,7 @@ CBaseEntity* AvHSUGetEntityFromIndex(int inEntityIndex)
CGrenade* AvHSUShootServerGrenade(entvars_t* inOwner, Vector inOrigin, Vector inVelocity, float inTime, bool inHandGrenade)
{
CGrenade* theGrenade = CGrenade::ShootExplosiveTimed(inOwner, inOrigin, inVelocity, inTime);
CGrenade* theGrenade = CGrenade::ShootExplosiveTimed(inOwner, inOrigin, inVelocity, inTime, inHandGrenade ? NS_DMG_NORMAL : NS_DMG_BLAST );
ASSERT(theGrenade);
theGrenade->pev->team = inOwner->team;