banking.py 文件源码

python
阅读 88 收藏 0 点赞 0 评论 0

项目:scriptabit 作者: DC23 项目源码 文件源码
def withdraw(self):
        """ Withdraw money from the bank.
        """
        # Don't withdraw more money than the bank has
        gross_amount = min(self.__bank_balance, self._config.bank_withdraw)

        # If the traits supports a max user balance, don't withdraw more
        # than that amount
        if self.__bank_traits['max_user_balance']:
            gross_amount = min(
                max(0, self.__bank_traits['max_user_balance'] - self.__user_balance),
                gross_amount)
            print('capping withdrawal to ', gross_amount)

        fee = math.trunc(self.calculate_fee(gross_amount))
        nett_amount = max(0, gross_amount - fee)

        # update the bank balance
        new_balance = max(0, self.__bank_balance - gross_amount)
        self.update_bank_balance(new_balance)

        # add to user balance
        if not self.dry_run:
            if self._config.bank_type == 'mana':
                self._hs.set_mp(self.__user_balance + nett_amount)
            elif self._config.bank_type == 'health':
                self._hs.set_hp(self.__user_balance + nett_amount)
            else:
                self._hs.set_gp(self.__user_balance + nett_amount)

        message = '{2} Withdrew: {0}, Fee: {1}'.format(
            nett_amount,
            fee,
            self.__bank_traits['icon'])
        self.notify(message)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号