Exemplo n.º 1
0
    def accept(self):
        Offer.accept(self)
        self.a.write_("%s agrees to be your partner.\n", (self.b.name,))
        self.b.write_("You agree to be %s's partner.\n", (self.a.name,))
        self.a.session.partner = self.b
        self.b.session.partner = self.a
        partners.append(set([self.a, self.b]))

        # end any pending partnership offers
        for offer in self.a.session.offers_sent[:]:
            if offer.name == 'partnership request':
                offer.b.write_('%(aname)s, who was offering a partnership with you, has accepted a partnership with %(bname)s.\n', {'aname': self.a.name, 'bname': self.b.name})
                offer.withdraw(notify=False)
        for offer in self.b.session.offers_sent[:]:
            if offer.name == 'partnership request':
                offer.b.write_('%(aname)s, who was offering a partnership with you, has accepted a partnership with %(bname)s.\n', {'aname': self.b.name, 'bname': self.a.name})
                offer.withdraw(notify=False)
        for offer in self.a.session.offers_received[:]:
            if offer.name == 'partnership request':
                offer.a.write_('%(aname)s, whom you were offering a partnership with, has accepted a partnership with %(bname)s.\n', {'aname': self.a.name, 'bname': self.b.name})
                offer.withdraw(notify=False)
        for offer in self.b.session.offers_received[:]:
            if offer.name == 'partnership request':
                offer.a.write_('%(aname)s, whom you were offering a partnership with, has accepted a partnership with %(bname)s.\n', {'aname': self.b.name, 'bname': self.a.name})
                offer.withdraw(notify=False)
Exemplo n.º 2
0
    def accept(self):
        Offer.accept(self)
        self.a.write_("\n%s agrees to be your partner.\n", (self.b.name,))
        self.b.write(_("You agree to be %s's partner.\n") % (self.a.name,))

        # end any existing partnerships
        if self.a.session.partner:
            self.a.session.partner.write_("\nYour partner has accepted a partnership with %s.", (self.b,))
            end_partnership(self.a, self.a.session.partner)
        if self.b.session.partner:
            self.b.session.partner.write_("\nYour partner has accepted a partnership with %s.", (self.a,))
            end_partnership(self.b, self.b.session.partner)

        self.a.session.partner = self.b
        self.b.session.partner = self.a
        global_.partners.append(set([self.a, self.b]))

        # end any pending partnership offers
        for offer in self.a.session.offers_sent[:]:
            if offer.name == 'partnership request':
                offer.b.write_('\n%(aname)s, who was offering a partnership with you, has accepted a partnership with %(bname)s.\n', {'aname': self.a.name, 'bname': self.b.name})
                offer.withdraw(notify=False)
        for offer in self.b.session.offers_sent[:]:
            if offer.name == 'partnership request':
                offer.b.write_('\n%(aname)s, who was offering a partnership with you, has accepted a partnership with %(bname)s.\n', {'aname': self.b.name, 'bname': self.a.name})
                offer.withdraw(notify=False)
        for offer in self.a.session.offers_received[:]:
            if offer.name == 'partnership request':
                offer.a.write_('\n%(aname)s, whom you were offering a partnership with, has accepted a partnership with %(bname)s.\n', {'aname': self.a.name, 'bname': self.b.name})
                offer.withdraw(notify=False)
        for offer in self.b.session.offers_received[:]:
            if offer.name == 'partnership request':
                offer.a.write_('\n%(aname)s, whom you were offering a partnership with, has accepted a partnership with %(bname)s.\n', {'aname': self.b.name, 'bname': self.a.name})
                offer.withdraw(notify=False)
Exemplo n.º 3
0
    def accept(self):
        Offer.accept(self)

        g = game.PlayedGame(self)
        if self.variant_name == 'bughouse':
            chal2 = copy.copy(self)
            chal2.a = self.a.session.partner
            chal2.b = self.b.session.partner
            chal2.side = g.get_user_side(self.b)
            g2 = game.PlayedGame(chal2)
            g2.bug_link = g
            g.bug_link = g2
            g2.variant.pos.bug_link = g.variant.pos
            g.variant.pos.bug_link = g2.variant.pos
Exemplo n.º 4
0
    def accept(self):
        Offer.accept(self)

        g = game.PlayedGame(self)
        if self.variant_name == 'bughouse':
            chal2 = copy.copy(self)
            chal2.a = self.a.session.partner
            chal2.b = self.b.session.partner
            chal2.side = g.get_user_side(self.b)
            g2 = game.PlayedGame(chal2)
            g2.bug_link = g
            g.bug_link = g2
            g2.variant.pos.bug_link = g.variant.pos
            g.variant.pos.bug_link = g2.variant.pos
Exemplo n.º 5
0
    def accept(self):
        Offer.accept(self)

        g = game.PlayedGame(self)
        yield g.finish_init(self)
        if self.variant_name == 'bughouse':
            # this should probably be in another module
            chal2 = copy.copy(self)
            chal2.a = self.a.session.partner
            chal2.b = self.b.session.partner
            chal2.b.write_("\nYour partner accepts the challenge of %s.\n",
                           (self.a.name, ))
            chal2.a.write_("\n%s accepts your partner's challenge.\n",
                           (self.b.name))

            chal2.side = g.get_user_side(self.b)
            g2 = game.PlayedGame(chal2)
            yield g2.finish_init(chal2)
            g2.bug_link = g
            g.bug_link = g2
            g2.variant.pos.bug_link = g.variant.pos
            g.variant.pos.bug_link = g2.variant.pos
            g.minmovetime = (g.white.vars_['minmovetime']
                             or g.black.vars_['minmovetime']
                             or g2.white.vars_['minmovetime']
                             or g2.black.vars_['minmovetime'])
            g2.minmovetime = g.minmovetime
            # start clocks immediately for bug
            g.clock.start(WHITE)
            g2.clock.start(WHITE)
            g.send_boards()
            g2.send_boards()
            for p in [g.get_side_user(WHITE), g2.get_side_user(WHITE)]:
                if p.has_timeseal():
                    p.session.ping(for_move=True)
            all_players = set([g.white, g.black, g2.white, g2.black])
            # each player's "say" goes to all the other players except
            # themselves
            for p in all_players:
                p.session.say_to = all_players - set([p])