| 764 | } |
| 765 | |
| 766 | void KeepAwayPlayerPaused::process(bz_EventData* eventData) { |
| 767 | if (eventData->eventType != bz_ePlayerPausedEvent || !keepaway.enabled || keepaway.flagToKeep == "") { |
| 768 | return; |
| 769 | } |
| 770 | |
| 771 | bz_PlayerPausedEventData_V1* PauseData = (bz_PlayerPausedEventData_V1*) eventData; |
| 772 | |
| 773 | bz_BasePlayerRecord* player = bz_getPlayerByIndex(PauseData->playerID); |
| 774 | |
| 775 | if (player) { |
| 776 | const char* flagHeld = bz_getPlayerFlag(player->playerID); |
| 777 | |
| 778 | if (flagHeld) { |
| 779 | if (flagHeld == keepaway.flagToKeep) { |
| 780 | bz_removePlayerFlag(player->playerID); |
| 781 | bz_sendTextMessage(BZ_SERVER, PauseData->playerID, "Flag removed - cannot pause while holding flag."); |
| 782 | keepaway.id = -1; |
| 783 | keepaway.team = eNoTeam; |
| 784 | keepaway.toldFlagFree = false; |
| 785 | } |
| 786 | } |
| 787 | } |
| 788 | bz_freePlayerRecord(player); |
| 789 | |
| 790 | return; |
| 791 | } |
| 792 | |
| 793 | void KeepAwayPlayerJoined::process(bz_EventData* eventData) { |
| 794 | if (eventData->eventType != bz_ePlayerJoinEvent || !keepaway.enabled || keepaway.flagToKeep == "") { |
nothing calls this directly
no test coverage detected