diff --git a/CMakeLists.txt b/CMakeLists.txt index e26d2c254..b89c87630 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -135,7 +135,7 @@ endif() if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT 64BIT) if(MSVC) - error("UNDONE: set 32 build flags") + message(FATAL_ERROR "Add \"-D64BIT=ON\" to build 64-bit version of SDK or add \"-A Win32\" if you want to build a 32-bit version") else() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") diff --git a/dlls/crossbow.cpp b/dlls/crossbow.cpp index 03a5fcdfd..6eadfa2e5 100644 --- a/dlls/crossbow.cpp +++ b/dlls/crossbow.cpp @@ -156,7 +156,7 @@ void CCrossbowBolt::BoltTouch( CBaseEntity *pOther ) pev->angles.z = RANDOM_LONG( 0, 360 ); SetNextThink( 10.0f ); } - else if( pOther->pev->movetype == MOVETYPE_PUSH || pOther->pev->movetype == MOVETYPE_PUSHSTEP ) + else if( g_fIsXash3D && (pOther->pev->movetype == MOVETYPE_PUSH || pOther->pev->movetype == MOVETYPE_PUSHSTEP) ) { Vector vecDir = pev->velocity.Normalize(); UTIL_SetOrigin( this, pev->origin - vecDir * 12.0f ); @@ -167,12 +167,9 @@ void CCrossbowBolt::BoltTouch( CBaseEntity *pOther ) pev->angles.z = RANDOM_LONG( 0, 360 ); SetNextThink( 10.0f ); - if( g_fIsXash3D ) - { - // g-cont. Setup movewith feature - pev->movetype = MOVETYPE_COMPOUND; // set movewith type - pev->aiment = ENT( pOther->pev ); // set parent - } + // g-cont. Setup movewith feature + pev->movetype = MOVETYPE_COMPOUND; // set movewith type + pev->aiment = ENT( pOther->pev ); // set parent } if( UTIL_PointContents( pev->origin ) != CONTENTS_WATER ) diff --git a/dlls/ggrenade.cpp b/dlls/ggrenade.cpp index 1134179c4..df75de686 100644 --- a/dlls/ggrenade.cpp +++ b/dlls/ggrenade.cpp @@ -425,7 +425,7 @@ CGrenade *CGrenade::ShootTimed( entvars_t *pevOwner, Vector vecStart, Vector vec pGrenade->pev->gravity = 0.5f; pGrenade->pev->friction = 0.8f; - pGrenade->pev->dmg = 100; + pGrenade->pev->dmg = gSkillData.plrDmgHandGrenade; return pGrenade; } diff --git a/dlls/maprules.cpp b/dlls/maprules.cpp index 232076361..1f704da69 100644 --- a/dlls/maprules.cpp +++ b/dlls/maprules.cpp @@ -857,6 +857,10 @@ void CGamePlayerEquip::EquipPlayer( CBaseEntity *pEntity ) { if( !m_weaponNames[i] ) break; + + if( g_pGameRules->IsBustingGame() && !strcmp( STRING( m_weaponNames[i] ), "weapon_egon" )) + continue; + for( int j = 0; j < m_weaponCount[i]; j++ ) { pPlayer->GiveNamedItem( STRING( m_weaponNames[i] ) ); diff --git a/dlls/player.cpp b/dlls/player.cpp index fc703fb2f..6813c1ed1 100644 --- a/dlls/player.cpp +++ b/dlls/player.cpp @@ -891,7 +891,8 @@ void CBasePlayer::RemoveAllItems( BOOL removeSuit ) pev->weapons &= ~WEAPON_ALLWEAPONS; // Turn off flashlight - ClearBits( pev->effects, EF_DIMLIGHT ); + if (removeSuit) + ClearBits( pev->effects, EF_DIMLIGHT ); for( i = 0; i < MAX_AMMO_SLOTS; i++ ) m_rgAmmo[i] = 0; @@ -3404,6 +3405,9 @@ void CBasePlayer::SelectItem( const char *pstr ) if( pItem == m_pActiveItem ) return; + if( !pItem->CanDeploy()) + return; + ResetAutoaim(); // FIX, this needs to queue them up and delay @@ -3434,6 +3438,9 @@ void CBasePlayer::SelectLastItem( void ) return; } + if( !m_pLastItem->CanDeploy()) + return; + ResetAutoaim(); // FIX, this needs to queue them up and delay