Driftboard destroying after killing creature

OnMonsterElim(Result:device_ai_interaction_result):void = 
        
        if:
            Agent := Result.Source?
            Player := player[Agent]
            CurrentXP := PlayerStatsManager.GetXP[Player]
            
        then:
            Print("Current XP is {CurrentXP}")
            PlayerStatsManager.AddXP(Player,MonsterElimXP)
            Print("Added {MonsterElimXP}")
            CheckLevel(Player)
            #CheckLevel(Player)  #Anytime XP is added, check level
        else:
            Print("The creature was not killed by a player, or unsuccessful lookup")

GiveItem(Agent:agent, Level:int):void = 
        if: 
            Print("Entering if statement")
            Player := player[Agent]
            Print("Checked if player was agent")
            Granter:=ItemGranters[Level]
        then:
            Granter.GrantItem(Player)
        else:
            Print("Agent was not a player (GiveItem)")

    CheckLevel(Agent:agent):void=
        if:
            Player := player[Agent]
            PlayerXP := PlayerStatsManager.GetXP[Player]  #Get players XP
            Print("Checking Player Level in level_manager")
        then:  
            if(PlayerXP < Level1XP):
                PlayerStatsManager.SetLevel(Player, 0)
                GiveItem(Player,0)

            if(PlayerXP >= Level1XP and PlayerXP < Level2XP):
                PlayerStatsManager.SetLevel(Player, 1)
                GiveItem(Player,1)

            if(PlayerXP >= Level2XP and PlayerXP < Level3XP):
                PlayerStatsManager.SetLevel(Player, 2)
                GiveItem(Player,2)

            if(PlayerXP >= Level3XP and PlayerXP < Level4XP):
                PlayerStatsManager.SetLevel(Player, 3)
                GiveItem(Player,3)

            if(PlayerXP >= Level4XP and PlayerXP < Level5XP):
                PlayerStatsManager.SetLevel(Player, 4)
                GiveItem(Player,4)

            if(PlayerXP >= Level5XP and PlayerXP < Level6XP):
                PlayerStatsManager.SetLevel(Player, 5)
                GiveItem(Player,5)

            if(PlayerXP >= Level6XP and PlayerXP < Level7XP):
                PlayerStatsManager.SetLevel(Player, 6)
                GiveItem(Player,6)

            if(PlayerXP >= Level7XP and PlayerXP < Level8XP):
                PlayerStatsManager.SetLevel(Player, 7)
                GiveItem(Player,7)

            if(PlayerXP >= Level8XP and PlayerXP < Level9XP):
                PlayerStatsManager.SetLevel(Player, 8)
                GiveItem(Player,8)

            if(PlayerXP >= Level9XP and PlayerXP < Level10XP):
                PlayerStatsManager.SetLevel(Player, 9)
                GiveItem(Player,9)

            if(PlayerXP >= Level10XP):
                PlayerStatsManager.SetLevel(Player, 10)
                GiveItem(Player,10)
        else:
            Print("Unable to check level in level_manager")