主要问题是使用啊，必须和action_can_fire放一起

On Monday, February 17, 2014, Proton <notifications@github.com> wrote:

> In src/gamepack/thb/actions.py:
>
> > @@ -15,7 +15,7 @@
> >  # ------------------------------------------
> >  # aux functions
> >
> > -def ask_for_action(initiator, actors, categories, candidates, trans=None):
> > +def ask_for_action(initiator, action, actors, categories, candidates, trans=None):
>
> 整个的处理方式太不优雅了。
>
> ask_for_action如果的action是个callback然后返回一个Action？
> 如果提供了action参数那么结果就是个action，否则就是player和cards么？
>
> 我来提供一种方式，你来评估下。
>
> ask_for_action保持不动，
> ask_for_drop代替原来user_choose_cards.
> 在ask_for_drop的时候通过g.emit_event('use_or_drop_hook', ...)获得禁止打出/弃置的牌的列表。
> 然后调用ask_for_action, initiator传一个代理。这个代理hook中cond函数，加上额外的检查。
>
> 这样处理，大部分现有代码都不需要修改，也比目前的方案更灵活。
>
> PS：ask_for_drop还是叫user_choose_card_for_drop吧……
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/feisuzhu/thbattle/pull/57/files#r9793846>
> .
>