Token is the name of the ammo type assigned to the multiplayer flag. On collection, it triggers several events only during multiplayer games.
Forcing out the Flag During MultiplayerEdit
Immediately on collecting any token ammo, either as a flag object pickup or as a collectable ammo type, the routine at 7F050410 immediately draws the flag, replacing the current item. You can circumvent this action by replacing the BNE opcode at this address with 10000003, or setting the following JAL to NOP (0).
The routine starting at 7F0BFA30 tests if the current scenario is The Living Daylights. If so, it tests to see if the player flag bit is set, and then if the flag has been drawn out. In the event that it has not, the flag type is sent to the 1st-person weapon drawing routine. This immediately draws the flag in place of the current item held.
The routine 7F083DD8 sets a particular player data flag to 1, making it impossible to change items. However, in NGEE games, changing the opcode at 7F083DE8 to NOP (0) will inhibit this change from occuring.
7F0BFA90 handles both scoring and setting the player ownership flags. If the register at 80048374 is set to 1, this indicates the game is not paused. This value is then added as a millisecond counter to the player's total flag collection time. This is found in the player statistic data offset 0x60. In addition, to ensure player flag ownership is registered, the player statistic register 0x69 is set to 1. This register is used only in certain special scenarios. In The Living Daylights it indicates when the flag is owned by the current player.
The flag time is read using 7F0C3B24. This simply returns the number of milliseconds the current player has held the flag in place of a typical kill total. These totals are compared to each other to determine the final winner of the match. This causes problems when playing to a particular number of kills, the millisecond count is compared to the relatively small kill totals.
Testing Flag OwnershipEdit
This can be acheived two ways. One is to test if register 0x69 in player statistic data is set. However, the more effective way is to JAL to 7F08CF80, which returns 1 only if the flag is held by a living player.