Files
dungeon-sheets/dungeonsheets/encounter/actions.py
T
2021-05-23 14:52:18 -04:00

46 lines
685 B
Python

from abc import ABC, abstractmethod
from dungeonsheets.encounter.events import Event
class Executable(ABC):
"""Something (like an action) that can be executed.
Executing an action results in an event that is stored
"""
@abstractmethod
def execute(self, subj, obj=None):
return Event(self, subj, obj)
class Action(Executable):
pass
class BonusAction(Executable):
pass
class Reaction(Executable):
pass
class Movement(Executable):
pass
class LairAction(Executable):
pass
class LegendaryAction(Executable):
pass
class Attack(Action):
def __init__(self, subj, obj):
self.subj = subj
self.obj = obj