예제 #1
0
 def pay(self, source, player):
     mp = player.manapool
     # Now I have enough mana - how do I distribute it?
     payment = mp.distribute(self._final_cost)
     if not payment:
         # Ask the player to distribute
         payment = Mana.convert_mana_string(
             player.getManaChoice(
                 str(player.manapool),
                 Mana.convert_to_mana_string(self._final_cost)))
     mp.spend(payment)
     self.payment = Mana.convert_to_mana_string(payment)
예제 #2
0
파일: Cost.py 프로젝트: trunghuynh/incantus
 def pay(self, source, player):
     mp = player.manapool
     # Now I have enough mana - how do I distribute it?
     payment = mp.distribute(self._final_cost)
     if not payment:
         # Ask the player to distribute
         payment = Mana.convert_mana_string(player.getManaChoice(str(player.manapool), Mana.convert_to_mana_string(self._final_cost)))
     mp.spend(payment)
     self.payment = Mana.convert_to_mana_string(payment)
예제 #3
0
    def set_cost(self):
        def convert(val):
            if val == '': return 0
            else: return int(val)

        mana = [self.mana.pay[c] for c in self.mana.colors]
        self.required = Mana.convert_mana_string(self.required_str)
        for i, val in enumerate(mana):
            for j in range(val):
                if self.required[i] == 0: self.required[-1] -= 1
                else: self.required[i] -= 1
        required = ''.join(["{%s}" % c for c in self.required_str])
        manastr = ''.join(
            ["{%s}" % c for c in Mana.convert_to_mana_string(self.required)])
        if manastr == "{0}":
            self.window.msg_controller.ask(
                u'The mana cost of %s is fulfilled' % required,
                ("OK", "Cancel"))
        else:
            msg = u"Select mana to pay %s\u2028(Total cost is %s)" % (manastr,
                                                                      required)
            # there's a layout bug if the starting element in a line isn't a glyph
            #msg = 'Select mana to pay remaining %s (total cost is %s)'%(manastr, required)
            self.window.msg_controller.notify(msg, "Cancel")
예제 #4
0
    def set_cost(self):
        def convert(val):
            if val == "":
                return 0
            else:
                return int(val)

        mana = [self.mana.pay[c] for c in self.mana.colors]
        self.required = Mana.convert_mana_string(self.required_str)
        for i, val in enumerate(mana):
            for j in range(val):
                if self.required[i] == 0:
                    self.required[-1] -= 1
                else:
                    self.required[i] -= 1
        required = "".join(["{%s}" % c for c in self.required_str])
        manastr = "".join(["{%s}" % c for c in Mana.convert_to_mana_string(self.required)])
        if manastr == "{0}":
            self.window.msg_controller.ask(u"The mana cost of %s is fulfilled" % required, ("OK", "Cancel"))
        else:
            msg = u"Select mana to pay %s\u2028(Total cost is %s)" % (manastr, required)
            # there's a layout bug if the starting element in a line isn't a glyph
            # msg = 'Select mana to pay remaining %s (total cost is %s)'%(manastr, required)
            self.window.msg_controller.notify(msg, "Cancel")