Actions Module
The actions module defines all entity behaviors.
Base Action
- class simulation_framework.src.actions.base.Action(actor_id: int)[source]
Bases:
ABC
- abstract execute(actor: Entity, world: World) ActionResult [source]
- abstract get_cost() ResourceCost [source]
- interrupt() ActionResult [source]
- class simulation_framework.src.actions.base.ActionResult(success: 'bool' = <bound method ActionResult.success of <class 'simulation_framework.src.actions.base.ActionResult'>>, message: 'str' = '', events: 'List[Event]' = <factory>, interrupted: 'bool' = False)[source]
Bases:
object
- classmethod create_interrupted(message: str = 'Action was interrupted') ActionResult [source]
- class simulation_framework.src.actions.base.Event(event_type: 'str', actor_id: 'int', target_id: 'Optional[int]' = None, data: 'Dict[str, Any]' = <factory>, timestamp: 'int' = 0)[source]
Bases:
object
Movement Actions
- class simulation_framework.src.actions.movement.MoveAction(actor_id: int, destination: Tuple[int, int])[source]
Bases:
Action
- execute(actor: Entity, world: World) ActionResult [source]
- get_cost() ResourceCost [source]
- class simulation_framework.src.actions.movement.PathfindAction(actor_id: int, destination: Tuple[int, int], pathfinder: Pathfinder | None = None, use_fog_of_war: bool = False)[source]
Bases:
Action
- execute(actor: Entity, world: World) ActionResult [source]
- get_cost() ResourceCost [source]
Combat Actions
- class simulation_framework.src.actions.combat.CombatAction(actor_id: int, target_id: int, damage_type: str = 'physical', base_range: float = 1.0)[source]
Bases:
Action
- execute(actor: Entity, world: World) ActionResult [source]
- get_cost() ResourceCost [source]
- class simulation_framework.src.actions.combat.DefendAction(actor_id: int, duration: int = 3)[source]
Bases:
Action
- execute(actor: Entity, world: World) ActionResult [source]
- get_cost() ResourceCost [source]
- class simulation_framework.src.actions.combat.FleeAction(actor_id: int, flee_distance: int = 3)[source]
Bases:
Action
- execute(actor: Entity, world: World) ActionResult [source]
- get_cost() ResourceCost [source]
- class simulation_framework.src.actions.combat.MagicAttack(actor_id: int, target_id: int, spell_type: str = 'magical', spell_range: float = 15.0)[source]
Bases:
CombatAction
- get_cost() ResourceCost [source]
- class simulation_framework.src.actions.combat.MeleeAttack(actor_id: int, target_id: int)[source]
Bases:
CombatAction
- get_cost() ResourceCost [source]
Gathering Actions
- class simulation_framework.src.actions.gathering.FishAction(actor_id: int)[source]
Bases:
GatherAction
- class simulation_framework.src.actions.gathering.ForageAction(actor_id: int, resource_type: str = 'berries')[source]
Bases:
GatherAction
- class simulation_framework.src.actions.gathering.GatherAction(actor_id: int, resource_type: str, required_tool: str | None = None, required_terrain: str | None = None, skill_name: str = 'general')[source]
Bases:
Action
- execute(actor: Entity, world: World) ActionResult [source]
- get_cost() ResourceCost [source]
- class simulation_framework.src.actions.gathering.MineAction(actor_id: int, resource_type: str = 'stone')[source]
Bases:
GatherAction
- class simulation_framework.src.actions.gathering.WoodcutAction(actor_id: int)[source]
Bases:
GatherAction