mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-09-01 23:19:18 +00:00
1
This commit is contained in:
@@ -0,0 +1,260 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: TF-specific things to vote on
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef TF_VOTEISSUES_H
|
||||
#define TF_VOTEISSUES_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "vote_controller.h"
|
||||
|
||||
class CTFPlayer;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CBaseTFIssue : public CBaseIssue
|
||||
{
|
||||
// Overrides to BaseIssue standard to this mod.
|
||||
public:
|
||||
CBaseTFIssue(const char *typeString) : CBaseIssue(typeString)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CRestartGameIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CRestartGameIssue() : CBaseTFIssue( "RestartGame" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_RestartGame")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *forWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CKickIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CKickIssue() : CBaseTFIssue( "Kick" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_Kick")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *pForWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual bool IsTeamRestrictedVote( void ) OVERRIDE { return true; }
|
||||
virtual void OnVoteFailed( int iEntityHoldingVote ) OVERRIDE;
|
||||
virtual void OnVoteStarted( void ) OVERRIDE;
|
||||
virtual const char *GetDetailsString( void ) OVERRIDE;
|
||||
virtual bool NeedsPermissionFromGC( void ) OVERRIDE;
|
||||
|
||||
private:
|
||||
void Init( void );
|
||||
bool CreateVoteDataFromDetails( const char *pszDetails );
|
||||
void NotifyGCAdHocKick( bool bKickedSuccessfully );
|
||||
void PrintLogData( void );
|
||||
|
||||
CSteamID m_steamIDVoteCaller;
|
||||
CSteamID m_steamIDVoteTarget;
|
||||
char m_szTargetPlayerName[MAX_PLAYER_NAME_LENGTH];
|
||||
uint32 m_unKickReason;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CChangeLevelIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CChangeLevelIssue() : CBaseTFIssue( "ChangeLevel" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_ChangeLevel")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanTeamCallVote( int iTeam ) const OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *pForWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual const char *GetDetailsString( void ) OVERRIDE;
|
||||
virtual bool IsYesNoVote( void ) OVERRIDE;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CNextLevelIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CNextLevelIssue() : CBaseTFIssue( "NextLevel" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_NextLevel")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanTeamCallVote( int iTeam ) const OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *pForWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual const char *GetDetailsString( void ) OVERRIDE;
|
||||
virtual bool IsYesNoVote( void ) OVERRIDE;
|
||||
virtual int GetNumberVoteOptions( void ) OVERRIDE;
|
||||
virtual bool GetVoteOptions( CUtlVector <const char*> &vecNames ) OVERRIDE;
|
||||
virtual float GetQuorumRatio( void ) OVERRIDE;
|
||||
|
||||
private:
|
||||
CUtlVector <const char *> m_IssueOptions;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CExtendLevelIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CExtendLevelIssue() : CBaseTFIssue( "ExtendLevel" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_ExtendLevel")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *pForWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual float GetQuorumRatio( void ) OVERRIDE;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CScrambleTeams : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CScrambleTeams() : CBaseTFIssue( "ScrambleTeams" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_ScrambleTeams")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *pForWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMannVsMachineChangeChallengeIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CMannVsMachineChangeChallengeIssue() : CBaseTFIssue( "ChangeMission" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_ChangeMission")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanTeamCallVote( int iTeam ) const OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *pForWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual const char *GetDetailsString( void ) OVERRIDE;
|
||||
virtual bool IsYesNoVote( void ) OVERRIDE;
|
||||
virtual int GetNumberVoteOptions( void ) OVERRIDE;
|
||||
|
||||
private:
|
||||
CUtlVector <const char *> m_IssueOptions;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CEnableTemporaryHalloweenIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CEnableTemporaryHalloweenIssue() : CBaseTFIssue( "Eternaween" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_Eternaween")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual void OnVoteFailed( int iEntityHoldingVote ) OVERRIDE;
|
||||
|
||||
virtual bool IsYesNoVote( void ) OVERRIDE { return true; }
|
||||
virtual bool IsEnabled( void ) OVERRIDE { return false; } // we'll manually set up this vote when an item gets used
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE { return "#TF_vote_eternaween"; }
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE { return "#TF_vote_passed_eternaween"; }
|
||||
|
||||
virtual bool BRecordVoteFailureEventForEntity( int iVoteCallingEntityIndex ) const OVERRIDE { return true; }
|
||||
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *forWhom ) OVERRIDE;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CTeamAutoBalanceIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CTeamAutoBalanceIssue() : CBaseTFIssue( "TeamAutoBalance" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_TeamAutoBalance")
|
||||
|
||||
virtual const char *GetTypeStringLocalized( void ) OVERRIDE;
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *forWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual float GetQuorumRatio( void ) OVERRIDE;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CClassLimitsIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CClassLimitsIssue() : CBaseTFIssue( "ClassLimits" ) { } // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_ClassLimits")
|
||||
|
||||
virtual const char *GetTypeStringLocalized( void ) OVERRIDE;
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *forWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual const char *GetDetailsString( void ) OVERRIDE;
|
||||
private:
|
||||
CUtlString m_sRetString;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CPauseGameIssue : public CBaseTFIssue
|
||||
{
|
||||
public:
|
||||
CPauseGameIssue() : CBaseTFIssue( "PauseGame" ) {} // This string will have "Vote_" glued onto the front for localization (i.e. "#Vote_PauseGame")
|
||||
|
||||
virtual void ExecuteCommand( void ) OVERRIDE;
|
||||
virtual bool IsEnabled( void ) OVERRIDE;
|
||||
virtual bool CanCallVote( int iEntIndex, const char *pszDetails, vote_create_failed_t &nFailCode, int &nTime ) OVERRIDE;
|
||||
virtual const char *GetDisplayString( void ) OVERRIDE;
|
||||
virtual void ListIssueDetails( CBasePlayer *forWhom ) OVERRIDE;
|
||||
virtual const char *GetVotePassedString( void ) OVERRIDE;
|
||||
virtual const char *GetDetailsString( void ) OVERRIDE;
|
||||
private:
|
||||
CUtlString m_sRetString;
|
||||
};
|
||||
|
||||
|
||||
static const char* g_pszVoteKickString = "#TF_Vote_kicked";
|
||||
|
||||
#endif // TF_VOTEISSUES_H
|
||||
Reference in New Issue
Block a user