- if (!interactive_act || interactive_act->def != act->def) {
- /* cancel the old one */
- if (interactive_act)
- actions_interactive_cancel_act();
- if (actions_act_is_interactive(act))
+ /* if they have the same run function, then we'll assume they are
+ cooperating and not cancel eachother out */
+ if (!interactive_act || interactive_act->def->run != act->def->run) {
+ if (actions_act_is_interactive(act)) {
+ /* cancel the old one */
+ if (interactive_act)
+ actions_interactive_cancel_act();