//========================================================= // Actualiza la velocidad del jugador //========================================================= void CAP_PlayerInfected::UpdateSpeed() { // Nos ha hecho daño algo que nos hace lentos if ( m_nSlowTime.HasStarted() && !m_nSlowTime.IsElapsed() ) { SetMaxSpeed( 100 ); return; } // Establecemos la velocidad máxima SetMaxSpeed( PLAYER_RUN_SPEED ); }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- void C_HL2MP_Player::StartSprinting( void ) { if( m_HL2Local.m_flSuitPower < 10 ) { // Don't sprint unless there's a reasonable // amount of suit power. // debounce the button for sound playing if ((m_afButtonPressed & IN_SPEED)) // [Striker] This was missing clientside. { CPASAttenuationFilter filter(this); filter.UsePredictionRules(); EmitSound(filter, entindex(), "HL2Player.SprintNoPower"); } return; } if ((m_afButtonPressed & IN_SPEED)) { CPASAttenuationFilter filter(this); filter.UsePredictionRules(); EmitSound(filter, entindex(), "HL2Player.SprintStart"); } SetMaxSpeed( HL2_SPRINT_SPEED ); m_fIsSprinting = true; }
Model::Model( string _name, Image* _image, string _description, Engine* _defaultEngine, float _mass, short int _thrustOffset, float _rotPerSecond, float _maxSpeed, int _hullStrength, int _shieldStrength, int _msrp, int _cargoSpace, vector<WeaponSlot>& _weaponSlots) : image(_image), defaultEngine(_defaultEngine), thrustOffset(_thrustOffset) { SetName(_name); SetDescription(_description); SetMass(_mass); SetRotationsPerSecond(_rotPerSecond); SetMaxSpeed(_maxSpeed); SetMSRP(_msrp); SetCargoSpace(_cargoSpace); SetHullStrength(_hullStrength); SetShieldStrength(_shieldStrength); ConfigureWeaponSlots(_weaponSlots); //((Component*)this)->SetName(_name); }
//----------------------------------------------------------------------------- // Purpose: Called on each respawn //----------------------------------------------------------------------------- void CPlayerClass::RespawnClass( void ) { ResupplyAmmo( 100.0f, RESUPPLY_ALL_FROM_STATION ); GainedNewTechnology( NULL ); SetMaxHealth( GetMaxHealthCVarValue() ); SetMaxSpeed( GetMaxSpeed() ); CheckDeterioratingObjects(); SetupSizeData(); // Refill the clips of all my weapons for (int i = 0; i < MAX_WEAPONS; i++) { CBaseCombatWeapon *pWeapon = m_pPlayer->GetWeapon(i); if ( pWeapon ) { if ( pWeapon->UsesClipsForAmmo1() ) { pWeapon->m_iClip1 = pWeapon->GetDefaultClip1(); } if ( pWeapon->UsesClipsForAmmo2() ) { pWeapon->m_iClip2 = pWeapon->GetDefaultClip2(); } } } }
void CBliinkPlayer::InitSpeeds() { m_Shared.m_flRunSpeed = SDK_DEFAULT_PLAYER_RUNSPEED; m_Shared.m_flSprintSpeed = SDK_DEFAULT_PLAYER_SPRINTSPEED; m_Shared.m_flProneSpeed = SDK_DEFAULT_PLAYER_PRONESPEED; // Set the absolute MAX to sprint speed SetMaxSpeed( m_Shared.m_flSprintSpeed ); return; }
void CSDKPlayer::InitSpeeds() { m_Shared.m_flRunSpeed = SDK_DEFAULT_PLAYER_RUNSPEED; m_Shared.m_flSprintSpeed = SDK_DEFAULT_PLAYER_SPRINTSPEED; m_Shared.m_flProneSpeed = SDK_DEFAULT_PLAYER_PRONESPEED; m_Shared.m_flSlideSpeed = SDK_DEFAULT_PLAYER_SLIDESPEED; m_Shared.m_flRollSpeed = SDK_DEFAULT_PLAYER_ROLLSPEED; m_Shared.m_flAimInSpeed = 100; // Set the absolute max to sprint speed (but we don't use sprint so now it's runspeed) SetMaxSpeed( GetPlayerMaxSpeed(false) ); }
//----------------------------------------------------------------------------- // Purpose: Retrieve camera settings //----------------------------------------------------------------------------- void CHL2WarsPlayer::UpdateCameraSettings() { m_fCamSpeed = atof( engine->GetClientConVarValue( entindex(), "cl_strategic_cam_speed" ) ); m_fCamAcceleration = atof( engine->GetClientConVarValue( entindex(), "cl_strategic_cam_accelerate" ) ); m_fCamStopSpeed = atof( engine->GetClientConVarValue( entindex(), "cl_strategic_cam_stopspeed" ) ); m_fCamFriction = atof( engine->GetClientConVarValue( entindex(), "cl_strategic_cam_friction" ) ); UTIL_StringToVector( m_vCameraLimits.Base(), engine->GetClientConVarValue( entindex(), "cl_strategic_cam_limits" ) ); DevMsg( 2, "Server: Camera Limits Changed to %f %f %f for player #%d:%s\n", m_vCameraLimits.x, m_vCameraLimits.y, m_vCameraLimits.z, entindex(), GetPlayerName() ); SetMaxSpeed( m_fCamSpeed ); }
/**\brief Creates a Model with the given parameters. * \param _name Name of the ship * \param _image Image of the ship * \param _mass Mass of the ship * \param _thrustOffset For animation * \param _rotPerSecond Rotation per second * \param _maxSpeed Maximum speed * \param _hullStrength Maximum damage it can take * \param _msrp Price * \param _cargoSpace Tons of cargo space */ Model::Model( string _name, Image* _image, float _mass, short int _thrustOffset, float _rotPerSecond, float _maxSpeed, int _hullStrength, int _msrp, int _cargoSpace) : image(_image), thrustOffset(_thrustOffset) { SetName(_name); SetMass(_mass); SetRotationsPerSecond(_rotPerSecond); SetMaxSpeed(_maxSpeed); SetMSRP(_msrp); SetCargoSpace(_cargoSpace); SetHullStrength(_hullStrength); //((Component*)this)->SetName(_name); }
void CSDKPlayer::InitSpeeds() { #if !defined ( SDK_USE_PLAYERCLASSES ) m_Shared.m_flRunSpeed = SDK_DEFAULT_PLAYER_RUNSPEED; m_Shared.m_flSprintSpeed = SDK_DEFAULT_PLAYER_SPRINTSPEED; m_Shared.m_flProneSpeed = SDK_DEFAULT_PLAYER_PRONESPEED; // Set the absolute max to sprint speed SetMaxSpeed( m_Shared.m_flSprintSpeed ); return; #endif #if defined ( SDK_USE_PLAYERCLASSES ) int playerclass = m_Shared.PlayerClass(); //Tony; error checkings. if ( playerclass == PLAYERCLASS_UNDEFINED ) { m_Shared.m_flRunSpeed = SDK_DEFAULT_PLAYER_RUNSPEED; m_Shared.m_flSprintSpeed = SDK_DEFAULT_PLAYER_SPRINTSPEED; m_Shared.m_flProneSpeed = SDK_DEFAULT_PLAYER_PRONESPEED; } else { CSDKTeam *pTeam = GetGlobalSDKTeam( GetTeamNumber() ); const CSDKPlayerClassInfo &pClassInfo = pTeam->GetPlayerClassInfo( playerclass ); Assert( pClassInfo.m_iTeam == GetTeamNumber() ); m_Shared.m_flRunSpeed = pClassInfo.m_flRunSpeed; m_Shared.m_flSprintSpeed = pClassInfo.m_flSprintSpeed; m_Shared.m_flProneSpeed = pClassInfo.m_flProneSpeed; } // Set the absolute max to sprint speed SetMaxSpeed( m_Shared.m_flSprintSpeed ); #endif // SDK_USE_PLAYERCLASSES }
//----------------------------------------------------------------------------- // Purpose: Sets HL1specific defaults. //----------------------------------------------------------------------------- void CHL1_Player::Spawn(void) { SetModel( "models/player.mdl" ); g_ulModelIndexPlayer = GetModelIndex(); BaseClass::Spawn(); // // Our player movement speed is set once here. This will override the cl_xxxx // cvars unless they are set to be lower than this. // SetMaxSpeed( 320 ); SetFOV( 90 ); }
void Humanoid::MoveInDirection(Vector *vMove) { SetMaxSpeed(vMove->Length()); if(*vMove!=Vector(0.0f, 0.0f, 0.0f)) { if(vInternal.LengthSquared()<GetMaxSpeed()*GetMaxSpeed()) { Vector vForce= *vMove/(GetAcceleration()*Timer::GetElapsedTime()); vInternal+=vForce; } } if(!vMove->IsZeroVector()) FaceDirection(*vMove); }
/**\brief For parsing XML file into fields. */ bool Model::FromXMLNode( xmlDocPtr doc, xmlNodePtr node ) { xmlNodePtr attr; string value; if( (attr = FirstChildNamed(node,"image")) ){ image = Image::Get( NodeToString(doc,attr) ); Image::Store(name, image); SetPicture(image); } else return false; if( (attr = FirstChildNamed(node,"mass")) ){ value = NodeToString(doc,attr); SetMass( static_cast<float> (atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"rotationsPerSecond")) ){ value = NodeToString(doc,attr); SetRotationsPerSecond( static_cast<float>(atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"thrustOffset")) ){ value = NodeToString(doc,attr); thrustOffset = static_cast<short>(atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"maxSpeed")) ){ value = NodeToString(doc,attr); SetMaxSpeed( static_cast<float>(atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"msrp")) ){ value = NodeToString(doc,attr); SetMSRP( (short int)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"cargoSpace")) ){ value = NodeToString(doc,attr); SetCargoSpace( atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"hullStrength")) ){ value = NodeToString(doc,attr); SetHullStrength( (short)atoi( value.c_str() )); } else return false; return true; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- void C_HL2MP_Player::StartSprinting( void ) { if( m_HL2Local.m_flSuitPower < 10 ) { // Don't sprint unless there's a reasonable // amount of suit power. CPASAttenuationFilter filter( this ); filter.UsePredictionRules(); EmitSound( filter, entindex(), "HL2Player.SprintNoPower" ); return; } CPASAttenuationFilter filter( this ); filter.UsePredictionRules(); EmitSound( filter, entindex(), "HL2Player.SprintStart" ); SetMaxSpeed( HL2_SPRINT_SPEED ); m_fIsSprinting = true; }
bool AMoveType::SetMemberValue(unsigned int memberHash, void* memberValue) { #define MEMBER_CHARPTR_HASH(memberName) HsiehHash(memberName, strlen(memberName), 0) #define MEMBER_LITERAL_HASH(memberName) HsiehHash(memberName, sizeof(memberName) - 1, 0) #define MAXSPEED_MEMBER_IDX 0 #define MAXWANTEDSPEED_MEMBER_IDX 1 #define REPAIRBELOWHEALTH_MEMBER_IDX 2 static const unsigned int floatMemberHashes[] = { MEMBER_LITERAL_HASH( "maxSpeed"), MEMBER_LITERAL_HASH( "maxWantedSpeed"), MEMBER_LITERAL_HASH("repairBelowHealth"), }; #undef MEMBER_CHARPTR_HASH #undef MEMBER_LITERAL_HASH /* // unordered_map etc. perform dynallocs, so KISS here float* floatMemberPtrs[] = { &maxSpeed, &maxWantedSpeed, &repairBelowHealth, }; */ // special cases if (memberHash == floatMemberHashes[MAXSPEED_MEMBER_IDX]) { SetMaxSpeed((*reinterpret_cast<float*>(memberValue)) / GAME_SPEED); return true; } if (memberHash == floatMemberHashes[MAXWANTEDSPEED_MEMBER_IDX]) { SetWantedMaxSpeed((*reinterpret_cast<float*>(memberValue)) / GAME_SPEED); return true; } if (memberHash == floatMemberHashes[REPAIRBELOWHEALTH_MEMBER_IDX]) { SetRepairBelowHealth(*reinterpret_cast<float*>(memberValue)); return true; } return false; }
void CSDKPlayer::Spawn() { // Dying without a player model crashes the client SetModel("models/player.mdl"); SetMaxSpeed( PLAYER_WALK_SPEED ); BaseClass::Spawn(); StartWalking(); #ifdef PLAYER_MOUSEOVER_HINTS m_iDisplayHistoryBits &= ~DHM_ROUND_CLEAR; SetLastSeenEntity ( NULL ); #endif // We did not fire any shots. m_iShotsFired = 0; GiveDefaultItems(); GetPlayerProxy(); }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- void C_HL2MP_Player::StopWalking( void ) { SetMaxSpeed( HL2_NORM_SPEED ); m_fIsWalking = false; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- void C_HL2MP_Player::StopSprinting( void ) { SetMaxSpeed( HL2_NORM_SPEED ); m_fIsSprinting = false; }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- void C_HL2MP_Player::StartWalking( void ) { SetMaxSpeed( HL2_WALK_SPEED ); m_fIsWalking = true; }
void CSDKPlayer::StopWalking( void ) { SetMaxSpeed( PLAYER_WALK_SPEED ); m_fIsWalking = false; }
/**\brief For parsing XML file into fields. */ bool Model::FromXMLNode( xmlDocPtr doc, xmlNodePtr node ) { xmlNodePtr attr; string value; if( (attr = FirstChildNamed(node,"image")) ){ image = Image::Get( NodeToString(doc,attr) ); Image::Store(name, image); SetPicture(image); } else return false; if( (attr = FirstChildNamed(node,"description")) ){ value = NodeToString(doc,attr); SetDescription( value ); } else { LogMsg( WARN, "%s does not have a description.", GetName().c_str() ); } if( (attr = FirstChildNamed(node,"engine")) ){ defaultEngine = Menu::GetCurrentScenario()->GetEngines()->GetEngine( NodeToString(doc,attr) ); } else return false; if( (attr = FirstChildNamed(node,"mass")) ){ value = NodeToString(doc,attr); SetMass( static_cast<float> (atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"rotationsPerSecond")) ){ value = NodeToString(doc,attr); SetRotationsPerSecond( static_cast<float>(atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"thrustOffset")) ){ value = NodeToString(doc,attr); thrustOffset = static_cast<short>(atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"maxSpeed")) ){ value = NodeToString(doc,attr); SetMaxSpeed( static_cast<float>(atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"msrp")) ){ value = NodeToString(doc,attr); SetMSRP( (short int)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"cargoSpace")) ){ value = NodeToString(doc,attr); SetCargoSpace( atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"hullStrength")) ){ value = NodeToString(doc,attr); SetHullStrength( (short)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"shieldStrength")) ){ value = NodeToString(doc,attr); SetShieldStrength( (short)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"weaponSlots")) ){ // pass the weaponSlots XML node into a handler function ConfigureWeaponSlots( doc, attr ); } else { //LogMsg( WARN, "Did not find weapon slot configuration - ship cannot have weapons."); } return true; }
/**\brief Parses weapon information */ bool Outfit::FromXMLNode( xmlDocPtr doc, xmlNodePtr node ) { xmlNodePtr attr; string value; if( (attr = FirstChildNamed(node,"msrp")) ){ value = NodeToString(doc,attr); SetMSRP( atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"picName")) ){ Image* pic = Image::Get( NodeToString(doc,attr) ); // This image can be accessed by either the path or the Engine Name Image::Store(name, pic); SetPicture(pic); } else return false; if( (attr = FirstChildNamed(node,"rotationsPerSecond")) ){ value = NodeToString(doc,attr); SetRotationsPerSecond( static_cast<float>(atof( value.c_str() ))); } if( (attr = FirstChildNamed(node,"maxSpeed")) ){ value = NodeToString(doc,attr); SetMaxSpeed( static_cast<float>(atof( value.c_str() ))); } if( (attr = FirstChildNamed(node,"forceOutput")) ){ value = NodeToString(doc,attr); SetForceOutput( static_cast<float> (atof( value.c_str() ))); } if( (attr = FirstChildNamed(node,"mass")) ){ value = NodeToString(doc,attr); SetMass( static_cast<float> (atof( value.c_str() ))); } if( (attr = FirstChildNamed(node,"cargoSpace")) ){ value = NodeToString(doc,attr); SetCargoSpace( atoi( value.c_str() )); } if( (attr = FirstChildNamed(node,"surfaceArea")) ){ value = NodeToString(doc,attr); SetSurfaceArea( atoi( value.c_str() )); } if( (attr = FirstChildNamed(node,"cargoSpace")) ){ value = NodeToString(doc,attr); SetCargoSpace( atoi( value.c_str() )); } if( (attr = FirstChildNamed(node,"hullStrength")) ){ value = NodeToString(doc,attr); SetHullStrength( atoi( value.c_str() )); } if( (attr = FirstChildNamed(node,"shildStrength")) ){ value = NodeToString(doc,attr); SetShieldStrength( (short)atoi( value.c_str() )); } return true; }
//----------------------- // Walking //----------------------- void CSDKPlayer::StartWalking( void ) { SetMaxSpeed( PLAYER_WALK_SPEED ); m_fIsWalking = true; }
/**\brief For parsing XML file into fields. */ bool Model::FromXMLNode( xmlDocPtr doc, xmlNodePtr node ) { xmlNodePtr attr; string value; if( (attr = FirstChildNamed(node,"image")) ){ image = Image::Get( NodeToString(doc,attr) ); Image::Store(name, image); SetPicture(image); } else return false; if( (attr = FirstChildNamed(node,"mass")) ){ value = NodeToString(doc,attr); SetMass( static_cast<float> (atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"rotationsPerSecond")) ){ value = NodeToString(doc,attr); SetRotationsPerSecond( static_cast<float>(atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"thrustOffset")) ){ value = NodeToString(doc,attr); thrustOffset = static_cast<short>(atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"maxSpeed")) ){ value = NodeToString(doc,attr); SetMaxSpeed( static_cast<float>(atof( value.c_str() ))); } else return false; if( (attr = FirstChildNamed(node,"msrp")) ){ value = NodeToString(doc,attr); SetMSRP( (short int)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"cargoSpace")) ){ value = NodeToString(doc,attr); SetCargoSpace( atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"hullStrength")) ){ value = NodeToString(doc,attr); SetHullStrength( (short)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"shieldStrength")) ){ value = NodeToString(doc,attr); SetShieldStrength( (short)atoi( value.c_str() )); } else return false; if( (attr = FirstChildNamed(node,"weaponSlots")) ){ // pass the weaponSlots XML node into a handler function ConfigureWeaponSlots( doc, attr ); } else { cout << "Model::FromXMLNode(): Did not find weapon slot configuration - assuming defaults." << endl; // with no parameters, it sets default values ConfigureWeaponSlots(); } return true; }