VegansDeluxe.core package

Subpackages

Submodules

VegansDeluxe.core.ContentManager module

VegansDeluxe.core.ContentManager.After(session_id: str, turns: int, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, repeats: int = 1, filters=None)
class VegansDeluxe.core.ContentManager.Assignment(func: Callable, desc: str = '')[source]

Bases: object

execute(am: ActionManager)[source]
VegansDeluxe.core.ContentManager.At(session_id: str, turn: int, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, priority: int = 0, filters=None)
VegansDeluxe.core.ContentManager.AttachedAction(cls: type[VegansDeluxe.core.Entities.Entity.Entity] | type[VegansDeluxe.core.Weapons.Weapon.Weapon] | type[VegansDeluxe.core.States.State.State] | type[VegansDeluxe.core.Items.Item.Item])

cls: Entity, Weapon, State or Item. Action is being attached to it. action: Any Action.

class VegansDeluxe.core.ContentManager.ContentManager[source]

Bases: object

ContentManager is a singleton. It is used by content to register itself for usage and by Engine to retrieve the content properly.

action_map: dict[type[VegansDeluxe.core.Entities.Entity.Entity] | type[VegansDeluxe.core.Weapons.Weapon.Weapon] | type[VegansDeluxe.core.States.State.State] | type[VegansDeluxe.core.Items.Item.Item], list[type[VegansDeluxe.core.Actions.Action.Action]]]

Map of Content classes to Action classes.

add_assignment(assignment: Assignment)[source]
after(session_id: str, turns: int, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, repeats: int = 1, filters=None)[source]
assignments: list[VegansDeluxe.core.ContentManager.Assignment]

List of event assignments to be completed on Engine initialization.

at(session_id: str, turn: int, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, priority: int = 0, filters=None)[source]
attach_action_manager(action_manager: ActionManager)[source]
attached_action_managers: list[VegansDeluxe.core.Actions.ActionManager.ActionManager]

List of attached SessionManagers.

every(session_id: str, turns: int, start: int = 1, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, filters=None)[source]
get_state(state_id: str) State | None[source]

Retrieve a state by its ID. If no state is found, return an empty state.

get_weapon(weapon_id: str) Weapon | None[source]

Retrieve a weapon by its ID. If no weapon is found, return an empty weapon.

initialize_action_manager(action_manager: ActionManager)[source]

On AttachSessionEvent, attaches “action calling function” to the Session.

initialize_state_attachment(state: type[VegansDeluxe.core.States.State.State], action_manager: ActionManager)[source]

This method should be called when initializing new Engine.

items: dict[str, VegansDeluxe.core.Items.Item.Item]

Map of Item classes to their IDs.

next(session_id: str, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, priority=0, filters=None)[source]
register_action(cls: type[VegansDeluxe.core.Entities.Entity.Entity] | type[VegansDeluxe.core.Weapons.Weapon.Weapon] | type[VegansDeluxe.core.States.State.State] | type[VegansDeluxe.core.Items.Item.Item])[source]

cls: Entity, Weapon, State or Item. Action is being attached to it. action: Any Action.

register_action_execution_event(session_id: str = None, unique_type=None, priority=0, filters=None)[source]

Works same as self.register_state, but more complicated. Adds an Assignment to be completed in Engine init.

register_event(session_id: str = None, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, unique_type=None, priority=0, filters=None)[source]

Works same as self.register_state, but more complicated. Adds an Assignment to be completed in Engine init.

register_item(item: Item)[source]
register_state(state: type[VegansDeluxe.core.States.State.State])[source]
register_weapon(weapon: Weapon)[source]
state_init_map: dict[type[VegansDeluxe.core.States.State.State], Callable]

Map of State classes to their “game inits”.

states: dict[str, VegansDeluxe.core.States.State.State]

Map of State classes to their IDs.

weapons: dict[str, VegansDeluxe.core.Weapons.Weapon.Weapon]

Map of Weapon classes to their IDs.

VegansDeluxe.core.ContentManager.Every(session_id: str, turns: int, start: int = 1, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, filters=None)
VegansDeluxe.core.ContentManager.Next(session_id: str, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, priority=0, filters=None)
VegansDeluxe.core.ContentManager.RegisterEvent(session_id: str = None, event: type[VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, unique_type=None, priority=0, filters=None)

Works same as self.register_state, but more complicated. Adds an Assignment to be completed in Engine init.

VegansDeluxe.core.ContentManager.RegisterItem(item: Item)
VegansDeluxe.core.ContentManager.RegisterState(state: type[VegansDeluxe.core.States.State.State])
VegansDeluxe.core.ContentManager.RegisterWeapon(weapon: Weapon)

VegansDeluxe.core.Context module

class VegansDeluxe.core.Context.ActionExecutionContext(event: ExecuteActionEvent, session: Session, action_manager: ActionManager)[source]

Bases: Context, Generic

class VegansDeluxe.core.Context.Context[source]

Bases: Generic

class VegansDeluxe.core.Context.EventContext(event: T, session: Session, action_manager: ActionManager)[source]

Bases: Context, Generic

class VegansDeluxe.core.Context.StateContext(event: AttachStateEvent, session: Session, action_manager: ActionManager)[source]

Bases: Context, Generic

VegansDeluxe.core.DamageHolder module

class VegansDeluxe.core.DamageHolder.DamageHolder[source]

Bases: object

add(source, damage: int, turn: int)[source]
cancel(source)[source]
clear()[source]
contributors()[source]
sum()[source]
class VegansDeluxe.core.DamageHolder.DamageLog(source, damage: int, turn: int)[source]

Bases: object

VegansDeluxe.core.SessionManager module

class VegansDeluxe.core.SessionManager.SessionManager(event_manager: EventManager)[source]

Bases: object

async attach_session(session: Session)[source]
delete_session(session_id)[source]
get_session(session_id)[source]

VegansDeluxe.core.TargetType module

class VegansDeluxe.core.TargetType.Aliveness(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

ALIVE_ONLY = 1
ANY = 0
DEAD_ONLY = 2
class VegansDeluxe.core.TargetType.Allies(distance=Distance.ANY, aliveness=Aliveness.ALIVE_ONLY)[source]

Bases: TargetType

class VegansDeluxe.core.TargetType.Distance(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

ANY = 0
DISTANT_ONLY = 2
NEARBY_ONLY = 1
class VegansDeluxe.core.TargetType.Enemies(distance=Distance.ANY, aliveness=Aliveness.ALIVE_ONLY)[source]

Bases: TargetType

class VegansDeluxe.core.TargetType.Everyone(distance=Distance.ANY, aliveness=Aliveness.ALIVE_ONLY, own=Own.SELF_INCLUDED)[source]

Bases: TargetType

class VegansDeluxe.core.TargetType.Own(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

SELF_EXCLUDED = 2
SELF_INCLUDED = 0
SELF_ONLY = 1
class VegansDeluxe.core.TargetType.OwnOnly[source]

Bases: TargetType

class VegansDeluxe.core.TargetType.TargetType(distance, team, aliveness, own)[source]

Bases: object

class VegansDeluxe.core.TargetType.Team(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

ALLIES_ONLY = 1
ANY = 0
ENEMIES_ONLY = 2

VegansDeluxe.core.utils module

class VegansDeluxe.core.utils.MatrixIndexCounter(width: int)[source]

Bases: object

current()[source]
next()[source]
reset(width: int = None)[source]
VegansDeluxe.core.utils.percentage_chance(chance: int)[source]

Module contents

Core module of the library. Contains all core mechanics of the engine.