1 #ifndef BOXING_H
2 
3 #define BOXING_H
4 
5 #define BOXING_SECTOR_X		5
6 #define BOXING_SECTOR_Y		4
7 #define BOXING_SECTOR_Z		0
8 #define ROOM_SURROUNDING_BOXING_RING	3
9 #define BOXING_RING			29
10 
11 #define BOXING_AI_START_POSITION	11235
12 
13 #define NUM_BOXERS			3
14 
15 enum DisqualificationReasons
16 {
17 	BOXER_OUT_OF_RING,
18 	NON_BOXER_IN_RING,
19 	BAD_ATTACK
20 };
21 
22 extern INT16 gsBoxerGridNo[ NUM_BOXERS ];
23 extern SOLDIERTYPE* gBoxer[NUM_BOXERS];
24 extern BOOLEAN gfBoxerFought[ NUM_BOXERS ];
25 extern INT8 gbBoxingState;
26 extern BOOLEAN gfLastBoxingMatchWonByPlayer;
27 extern UINT8 gubBoxingMatchesWon;
28 extern UINT8 gubBoxersRests;
29 extern BOOLEAN gfBoxersResting;
30 
31 extern void BoxingPlayerDisqualified( SOLDIERTYPE * pOffender, INT8 bReason );
32 bool CheckOnBoxers();
33 extern void EndBoxingMatch( SOLDIERTYPE * pLoser );
34 bool BoxerAvailable();
35 extern BOOLEAN AnotherFightPossible( void );
36 extern void TriggerEndOfBoxingRecord( SOLDIERTYPE * pSolier );
37 extern void BoxingMovementCheck( SOLDIERTYPE * pSoldier );
38 extern void ExitBoxing( void );
39 extern void SetBoxingState( INT8 bNewState );
40 bool BoxerExists();
41 extern UINT8 CountPeopleInBoxingRing( void );
42 extern void ClearAllBoxerFlags( void );
43 
44 #endif
45