Postby Korath ยป 28 Mar 2014, 13:53
Probably easier than
Deflection. A lot of it we can do already, or do pretty easily:
override who_chooses in select_target_impl().
override who_chooses in do_dialog().
override who_chooses in show_deck() and its front ends.
show opponent's hand.
choose attackers and blockers.
Selecting spells to play and permanents to activate, both spontaneously and during charge_mana(), is more difficult, but not insurmountable.
The biggest stumbling block is all the places in C where a choice is forbidden to the AI - it doesn't just forbid them to the AI, it forbids them to player #1, even if that's a human in a multiplayer game, or a human's controlling the choice. (Probably the largest reason why multiplayer is broken; one of the cards doing this is the Rules Engine.) I've been replacing these by an IS_AI() macro as I've noticed them, but there's still hundreds of instances to go.