Phasor  01.00.10.059
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Game.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../../../Common/Types.h"
4 #include "Objects.h"
5 #include "../Player.h"
6 
7 namespace halo {
8  struct ident;
9  struct s_object_info;
10  struct s_tag_entry;
11 
12  namespace server {
13  struct s_machine_info;
14  namespace chat {
15  struct s_chat_data;
16  }
17  }
18 
19  namespace game {
20  struct s_chat_data;
21 
22  s_player* getPlayer(int index);
23  s_player* getPlayerFromRconId(unsigned int playerNum);
27  s_player* getPlayerFromHash(const std::string& hash);
28 
29  void cleanupPlayers(bool notify_scripts);
30 
31  // --------------------------------------------------------------------
32  // Events
33 
34  // Called when a new game starts
35  void OnNewGame(const char* map); // called from Server.cpp
36 
37  // Called when a game stage ends
38  void OnGameEnd(DWORD mode); // called form Server.cpp
39 
40  // Called when a player joins (after verification).
41  void __stdcall OnPlayerWelcome(DWORD playerId);
42 
43  // Called when a player quits
44  void __stdcall OnPlayerQuit(DWORD playerId);
45 
46  // Called when a player's team is being assigned
47  DWORD __stdcall OnTeamSelection(DWORD cur_team, server::s_machine_info* machine);
48 
49  // Called when a player tries to change team
50  bool __stdcall OnTeamChange(DWORD playerId, DWORD team);
51 
52  // Called when a player is about to spawn (object already created)
53  void __stdcall OnPlayerSpawn(DWORD playerId, ident m_objectId);
54 
55  // Called after the server has been notified of a player spawn
56  void __stdcall OnPlayerSpawnEnd(DWORD playerId, ident m_objectId);
57 
58  // Called when a weapon is created
59  void __stdcall OnObjectCreation(ident m_objectId);
60 
62 
63  // Called when a weapon is assigned to an object
64  DWORD __stdcall OnWeaponAssignment(DWORD playerId, ident owningObjectId,
65  s_object_info* curWeapon, DWORD order);
66 
67  // Called when a player can interact with an object
68  bool __stdcall OnObjectInteraction(DWORD playerId, ident m_ObjId);
69 
70  // Called when a player's position is updated
71  void OnClientUpdate(s_player& player);
72 
73  // Called when someone chats in the server
74  void __stdcall OnChat(server::chat::s_chat_data* chat);
75 
76  // Called when a player attempts to enter a vehicle
77  bool __stdcall OnVehicleEntry(DWORD playerId);
78 
79  // Called when a player is being ejected from a vehicle
80  bool __stdcall OnVehicleEject(objects::s_halo_biped* m_playerObject, bool forceEjected);
81 
82  // Called when a player dies
83  void __stdcall OnPlayerDeath(DWORD killerId, DWORD victimId, DWORD mode);
84 
85  // Called when a player gets a double kill, spree etc
86  void __stdcall OnKillMultiplier(DWORD playerId, DWORD multiplier);
87 
88  // Called when a weapon is reloaded
89  bool __stdcall OnWeaponReload(ident m_WeaponId);
90 }}