mirror of
https://github.com/Threnklyn/dungeon-sheets.git
synced 2026-05-19 04:33:26 +02:00
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
class Agent:
|
|
"""An actor in an encounter"""
|
|
|
|
strategies = ("Random", "Greedy", "KillWeakest")
|
|
strategy = "Greedy"
|
|
|
|
def __init__(self):
|
|
pass
|
|
|
|
@property
|
|
def actions(self):
|
|
"""All the things I can do in a turn"""
|
|
raise NotImplementedError()
|
|
|
|
@property
|
|
def free_actions(self):
|
|
"""Stuff I can do as much as I want in a turn"""
|
|
raise NotImplementedError()
|
|
|
|
@property
|
|
def movement(self):
|
|
"""Where I can go in a turn"""
|
|
raise NotImplementedError()
|
|
|
|
@property
|
|
def bonus_actions(self):
|
|
"""Things I can do once in addition to an action"""
|
|
raise NotImplementedError()
|
|
|
|
@property
|
|
def reactions(self):
|
|
"""Things I can do in response to an action"""
|
|
raise NotImplementedError()
|
|
|
|
@property
|
|
def lair_actions(self):
|
|
"""Things I can do at initiative count 20"""
|
|
raise NotImplementedError()
|
|
|
|
@property
|
|
def legendary_actions(self):
|
|
"""Things I can do so many times in a turn after another agent acts"""
|
|
raise NotImplementedError() |