(self, data_svc)
| 463 | return [link for link in self.chain if link.paw == paw and not link.finish and not link.can_ignore()] |
| 464 | |
| 465 | async def _get_all_possible_abilities_by_agent(self, data_svc): |
| 466 | abilities = {'all_abilities': [ab for ab_id in self.adversary.atomic_ordering |
| 467 | for ab in await data_svc.locate('abilities', match=dict(ability_id=ab_id))]} |
| 468 | abilities_by_agent = {a.paw: abilities for a in self.agents} |
| 469 | for link in self.chain: |
| 470 | if link.ability.ability_id not in self.adversary.atomic_ordering: |
| 471 | matching_abilities = await data_svc.locate('abilities', match=dict(ability_id=link.ability.ability_id)) |
| 472 | abilities_by_agent[link.paw]['all_abilities'].extend(matching_abilities) |
| 473 | return abilities_by_agent |
| 474 | |
| 475 | def _check_reason_skipped(self, agent, ability, op_facts, state, agent_executors, agent_ran): |
| 476 | if ability.ability_id in agent_ran: |
no test coverage detected