Macro name must be an identifier?

Here’s the code for the GrantNextWeapon fuction (from the Verse Elimination Sample page):

                  # Check if there is a winner for the game, if not then grant the next weapon
    GrantNextWeapon(Agent:agent):void=
        if (var CurrentItemNumber:int = AgentMap[Agent]):
            if (IsVictoryConditionMet(CurrentItemNumber) = true):
                EndGame(Agent) # Game has been won
            else: # Game is not over yet
                set CurrentItemNumber = CurrentItemNumber + 1
                if (ItemGranter := WeaponItemGranters[CurrentItemNumber - 1]):
                    ItemGranter.GrantItem(Agent)
                
                if (set AgentMap[Agent] = CurrentItemNumber) {}

Apologies, but I’m very new to this and hope that contains the info you asked for.

The code all works for a player v player elimination (not shown in code examples given), I just wanted to have it count for PvE enemies too for testing purposes.