2024-06-22 22:00:46 +00:00
|
|
|
from os import path
|
|
|
|
|
|
|
|
from taleweave.systems.generic.logic import load_logic
|
|
|
|
|
|
|
|
from .crafting.actions import action_craft
|
|
|
|
from .magic.actions import action_cast
|
|
|
|
from .movement.actions import action_climb
|
|
|
|
from .quest.actions import accept_quest, submit_quest
|
|
|
|
from .writing.actions import action_read, action_write
|
|
|
|
|
|
|
|
|
|
|
|
def logic_path(system: str) -> str:
|
|
|
|
return path.join(".", "taleweave", "systems", "rpg", system, "logic.yaml")
|
|
|
|
|
|
|
|
|
|
|
|
SYSTEM_NAMES = [
|
|
|
|
"combat",
|
|
|
|
"crafting",
|
|
|
|
"health",
|
|
|
|
"magic",
|
|
|
|
"movement",
|
|
|
|
"quest",
|
|
|
|
"writing",
|
|
|
|
]
|
2024-05-19 22:13:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
def init_actions():
|
|
|
|
return [
|
|
|
|
# crafting
|
|
|
|
action_craft,
|
|
|
|
# magic
|
|
|
|
action_cast,
|
|
|
|
# movement
|
|
|
|
action_climb,
|
2024-06-22 22:00:46 +00:00
|
|
|
# quest
|
|
|
|
accept_quest,
|
|
|
|
submit_quest,
|
|
|
|
# writing
|
|
|
|
action_read,
|
|
|
|
action_write,
|
2024-05-19 22:13:16 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
def init_logic():
|
2024-06-22 22:00:46 +00:00
|
|
|
systems = []
|
|
|
|
for system_name in SYSTEM_NAMES:
|
|
|
|
logic_file = logic_path(system_name)
|
|
|
|
if path.exists(logic_file):
|
|
|
|
systems.append(load_logic(logic_file, name_prefix=system_name))
|
|
|
|
|
|
|
|
return systems
|