| 60 | return self.hash('%s' % self.adversary_id) |
| 61 | |
| 62 | def __init__(self, name='', adversary_id='', description='', atomic_ordering=(), objective='', tags=None, plugin=''): |
| 63 | super().__init__() |
| 64 | self.adversary_id = adversary_id if adversary_id else str(uuid.uuid4()) |
| 65 | self.name = name |
| 66 | self.description = description |
| 67 | self.atomic_ordering = atomic_ordering |
| 68 | self.objective = objective or DEFAULT_OBJECTIVE_ID |
| 69 | self.tags = set(tags) if tags else set() |
| 70 | self.has_repeatable_abilities = False |
| 71 | self.plugin = plugin |
| 72 | |
| 73 | def store(self, ram): |
| 74 | existing = self.retrieve(ram['adversaries'], self.unique) |