code: def _simulated_mana_drain(self, mana_drain_state):
          
          # clear all mana
          mana_drain_state.player.apply_mana_drain()
          mana_drain_state.opponent.apply_mana_drain()
          # force change of turn
          mana_drain_state.actions_remaining = 0
          # randomize the board if this game uses random fill
          if self.random_fill:
              random_start_board = mana_drain_state.board.random_start_board()
              mana_drain_state.board = random_start_board
          # attach the mana drain EOT
          mana_drain = EOT(True)
          mana_drain_state.graft_child(mana_drain)
          return mana_drain
docs: Apply mana drain effects to this state, attach a mana drain EOT
          and return the mana drain EOT.