From f4a13c405b51425be6878f61e75fc11cebe2bcb4 Mon Sep 17 00:00:00 2001 From: puzl Date: Fri, 18 Nov 2005 02:45:36 +0000 Subject: [PATCH] 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 --- releases/3.1.1/Balance.txt | 6 +++--- releases/3.1.1/source/dlls/client.cpp | 12 ++++++++++++ releases/3.1.1/source/dlls/ggrenade.cpp | 18 ++++++++++++------ releases/3.1.1/source/dlls/weapons.h | 9 ++++++--- releases/3.1.1/source/mod/AvHServerUtil.cpp | 5 +++-- 5 files changed, 36 insertions(+), 14 deletions(-) diff --git a/releases/3.1.1/Balance.txt b/releases/3.1.1/Balance.txt index 08dad3e..1cb556e 100644 --- a/releases/3.1.1/Balance.txt +++ b/releases/3.1.1/Balance.txt @@ -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 diff --git a/releases/3.1.1/source/dlls/client.cpp b/releases/3.1.1/source/dlls/client.cpp index bbc4895..776e84e 100644 --- a/releases/3.1.1/source/dlls/client.cpp +++ b/releases/3.1.1/source/dlls/client.cpp @@ -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 ); diff --git a/releases/3.1.1/source/dlls/ggrenade.cpp b/releases/3.1.1/source/dlls/ggrenade.cpp index 9c8fd2e..6a7e287 100644 --- a/releases/3.1.1/source/dlls/ggrenade.cpp +++ b/releases/3.1.1/source/dlls/ggrenade.cpp @@ -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; } diff --git a/releases/3.1.1/source/dlls/weapons.h b/releases/3.1.1/source/dlls/weapons.h index 18f2be5..2a6380e 100644 --- a/releases/3.1.1/source/dlls/weapons.h +++ b/releases/3.1.1/source/dlls/weapons.h @@ -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; }; diff --git a/releases/3.1.1/source/mod/AvHServerUtil.cpp b/releases/3.1.1/source/mod/AvHServerUtil.cpp index a504945..0dcf241 100644 --- a/releases/3.1.1/source/mod/AvHServerUtil.cpp +++ b/releases/3.1.1/source/mod/AvHServerUtil.cpp @@ -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;