VegansDeluxe.core.Events package

Submodules

VegansDeluxe.core.Events.DamageEvents module

class VegansDeluxe.core.Events.DamageEvents.AttackGameEvent(session_id, turn, source, target, damage)[source]

Bases: PreDamageGameEvent

Published when damage is going to be dealt by attacks (usually by weapons). Event, that generally occurs BEFORE the corresponding log message. Can be used to alter the damage before it is displayed.

class VegansDeluxe.core.Events.DamageEvents.DamageGameEvent(session_id, turn, source, target, damage)[source]

Bases: GameEvent

Published when damage is going to be dealt. Generally occurs twice, before and after the corresponding log message. Metaclass for damage - should not be used.

class VegansDeluxe.core.Events.DamageEvents.PostAttackGameEvent(session_id, turn, source, target, damage)[source]

Bases: PostDamageGameEvent

Published when damage is going to be dealt by attacks (usually by weapons). Event, that generally occurs AFTER the corresponding log message. Can be used to alter the damage after it is displayed.

class VegansDeluxe.core.Events.DamageEvents.PostDamageGameEvent(session_id, turn, source, target, damage)[source]

Bases: DamageGameEvent

Published when damage is going to be dealt. Occurs AFTER the corresponding log message. Can be used to alter the damage after it is displayed.

class VegansDeluxe.core.Events.DamageEvents.PreDamageGameEvent(session_id, turn, source, target, damage)[source]

Bases: DamageGameEvent

Published when damage is going to be dealt. Occurs BEFORE the corresponding log message. Can be used to alter the damage before it is displayed.

VegansDeluxe.core.Events.EventHandlers module

class VegansDeluxe.core.Events.EventHandlers.ConstantEventSubscription(session_id: str, handler: Callable[[...], Coroutine])[source]

Bases: EventSubscription

class VegansDeluxe.core.Events.EventHandlers.EventSubscription(session_id: str, handler: Callable[[...], Coroutine], event: Type[Event], max_repeats: int = -1, min_wait_turns: int = 0, unique_type: Any = None, priority: int = 0, filters=None)[source]

Bases: object

async handle(event: Event)[source]
is_valid_event(event: Event) bool[source]
is_valid_filter(message: Event) bool[source]
is_valid_turn(event: Event) bool[source]
class VegansDeluxe.core.Events.EventHandlers.ScheduledEventSubscription(session_id: str, handler: Callable[[...], Coroutine], event: Type[Event], start: int, interval: int, max_repeats: int = -1, min_wait_turns: int = 0, priority: int = 0, filters=None)[source]

Bases: EventSubscription

async handle(message: Event)[source]
is_valid_schedule(message: GameEvent) bool[source]
class VegansDeluxe.core.Events.EventHandlers.SingleTurnSubscription(session_id: str, handler: Callable[[...], Coroutine], event: Type[Event], turn: int, priority: int = 0, filters=None)[source]

Bases: ScheduledEventSubscription

VegansDeluxe.core.Events.EventManager module

class VegansDeluxe.core.Events.EventManager.EventManager[source]

Bases: object

add_subscription(subscription: EventSubscription)[source]
after(callback_wrapper: ~typing.Callable[[...], ~typing.Coroutine], session_id: str, turns: int, event: ~typing.Type[~VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, repeats: int = 1, filters=None)[source]
at(callback_wrapper: ~typing.Callable[[...], ~typing.Coroutine], session_id: str, turn: int, event: ~typing.Type[~VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, priority: int = 0, filters=None)[source]
at_event(callback_wrapper: ~typing.Callable[[...], ~typing.Coroutine], session_id: str = None, event: ~typing.Type[~VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, unique_type=None, priority=0, filters=None)[source]
clean_by_session_id(session_id: str)[source]
every(callback_wrapper: ~typing.Callable[[...], ~typing.Coroutine], session_id: str, turns: int, start: int = 1, event: ~typing.Type[~VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, filters=None)[source]
nearest(callback_wrapper: ~typing.Callable[[...], ~typing.Coroutine], session_id: str, event: ~typing.Type[~VegansDeluxe.core.Events.Events.Event] = <class 'VegansDeluxe.core.Events.Events.Event'>, priority=0, filters=None)[source]
async publish(event: Event)[source]
property size

VegansDeluxe.core.Events.Events module

class VegansDeluxe.core.Events.Events.ActionGameEvent(session_id, turn, source_id, target_id)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.AttachSessionEvent(session_id)[source]

Bases: Event

Published by SessionManager after attaching a Session. Used by ContentManager to initialize it.

class VegansDeluxe.core.Events.Events.AttachStateEvent(session_id, entity_id, state: State)[source]

Bases: Event, Generic

class VegansDeluxe.core.Events.Events.CallActionsGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.DeathGameEvent(session_id, turn, entity)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.DeliveryPackageEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.DeliveryRequestEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.Event(unique_type=None)[source]

Bases: object

class VegansDeluxe.core.Events.Events.ExecuteActionEvent(session_id, turn, action)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.GameEvent(session_id, turn)[source]

Bases: Event

class VegansDeluxe.core.Events.Events.HPLossGameEvent(session_id, turn, source, damage, hp_loss)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PostActionsGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PostDamagesGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PostDeathsGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PostTickGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PostUpdateActionsGameEvent(session_id, turn, entity_id)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PostUpdatesGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PreActionsGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PreDamagesGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PreDeathGameEvent(session_id, turn, entity)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PreMoveGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PreUpdateActionsGameEvent(session_id, turn, entity_id)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.PreUpdatesGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.SessionFinishGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.SessionStopGameEvent(session_id, turn)[source]

Bases: GameEvent

class VegansDeluxe.core.Events.Events.StartSessionEvent(session_id)[source]

Bases: Event

Published by Session when it is started.

Module contents