示例#1
0
    def set_character(g, p, cls):
        new, old_cls = mixin_character(p, cls)
        g.decorate(new)
        g.players.replace(p, new)

        ehs = g.ehclasses
        ehs.extend(cls.eventhandlers_required)
        g.update_event_handlers()

        g.emit_event('switch_character', (p, new))

        return new
示例#2
0
 def set_character(g, p, cls):
     # mix char class with player -->
     new, old_cls = mixin_character(p, cls)
     g.decorate(new)
     g.players.replace(p, new)
     g.forces[0].replace(p, new)
     g.forces[1].replace(p, new)
     assert not old_cls
     ehs = g.ehclasses
     ehs.extend(cls.eventhandlers_required)
     g.update_event_handlers()
     g.emit_event('switch_character', (p, new))
     return new
示例#3
0
 def set_character(g, p, cls):
     # mix char class with player -->
     new, old_cls = mixin_character(p, cls)
     g.decorate(new)
     g.players.replace(p, new)
     g.forces[0].replace(p, new)
     g.forces[1].replace(p, new)
     assert not old_cls
     ehs = g.ehclasses
     ehs.extend(cls.eventhandlers_required)
     g.update_event_handlers()
     g.emit_event('switch_character', (p, new))
     return new
示例#4
0
    def switch_character(g, p, cls):
        # mix char class with player -->
        old = p
        p, oldcls = mixin_character(p, cls)
        g.decorate(p)
        g.players.replace(old, p)

        ehs = g.ehclasses
        assert not oldcls
        ehs.extend(p.eventhandlers_required)

        g.update_event_handlers()
        g.emit_event('switch_character', (old, p))

        return p
示例#5
0
    def switch_character(g, p, cls):
        # mix char class with player -->
        old = p
        p, oldcls = mixin_character(p, cls)
        g.decorate(p)
        g.players.replace(old, p)

        ehs = g.ehclasses
        assert not oldcls
        ehs.extend(p.eventhandlers_required)

        g.update_event_handlers()
        g.emit_event("switch_character", (old, p))

        return p
示例#6
0
    def next_character(g, p, choice):
        g.players.reveal(choice)
        cls = choice.char_cls

        # mix char class with player -->
        new, old_cls = mixin_character(p, cls)
        g.decorate(new)
        g.players.replace(p, new)

        ehs = g.ehclasses
        ehs.extend(cls.eventhandlers_required)
        g.update_event_handlers()

        g.emit_event("switch_character", (p, new))

        g.pick_history.append([cls, p])

        return new
示例#7
0
    def next_character(g, p, choice):
        g.players.reveal(choice)
        cls = choice.char_cls

        # mix char class with player -->
        new, old_cls = mixin_character(p, cls)
        g.decorate(new)
        g.players.replace(p, new)

        ehs = g.ehclasses
        ehs.extend(cls.eventhandlers_required)
        g.update_event_handlers()

        g.emit_event('switch_character', (p, new))

        g.pick_history.append([cls, p])

        return new
示例#8
0
    def switch_character(g, p, choice):
        choice.char_cls = choice.real_cls or choice.char_cls  # reveal akari

        g.players.reveal(choice)
        cls = choice.char_cls

        log.info(u'>> NewCharacter: %s %s', Identity.TYPE.rlookup(p.identity.type), cls.__name__)

        # mix char class with player -->
        old = p
        p, oldcls = mixin_character(p, cls)
        g.decorate(p)
        g.players.replace(old, p)
        g.forces[0].replace(old, p)
        g.forces[1].replace(old, p)

        ehs = g.ehclasses
        ehs.extend(p.eventhandlers_required)

        g.update_event_handlers()
        g.emit_event('switch_character', (old, p))

        return p