Skip to content

Models

state

The machine's numbers. Not real money, so for once nobody gets audited.

MachineState dataclass

MachineState(
    counters: dict[int, int] = dict(),
    meters: dict[str, int] = dict(),
)

Generic numeric counters for a VLT.

Two buckets: counters keyed by numeric id (Unidesa/Cirsa think in ids) and meters keyed by name (everybody else does). Anything you never set reads as 0, the way a fresh machine starts and the way my bank account usually ends.

get_counter

get_counter(counter_id: int) -> int

Return counter counter_id, or 0 if nobody ever set it.

Source code in src/morpheus_vlt/models/state.py
def get_counter(self, counter_id: int) -> int:
    """Return counter `counter_id`, or 0 if nobody ever set it."""
    return int(self.counters.get(counter_id, 0))

set_counter

set_counter(counter_id: int, value: int) -> None

Overwrite counter counter_id with value.

Source code in src/morpheus_vlt/models/state.py
def set_counter(self, counter_id: int, value: int) -> None:
    """Overwrite counter `counter_id` with `value`."""
    self.counters[counter_id] = int(value)

bump_counter

bump_counter(counter_id: int, delta: int) -> None

Add delta to counter counter_id. Negative works too, no questions asked.

Source code in src/morpheus_vlt/models/state.py
def bump_counter(self, counter_id: int, delta: int) -> None:
    """Add `delta` to counter `counter_id`. Negative works too, no questions asked."""
    self.counters[counter_id] = self.get_counter(counter_id) + int(delta)

get_meter

get_meter(name: str) -> int

Return meter name, or 0 if nobody ever set it.

Source code in src/morpheus_vlt/models/state.py
def get_meter(self, name: str) -> int:
    """Return meter `name`, or 0 if nobody ever set it."""
    return int(self.meters.get(name, 0))

set_meter

set_meter(name: str, value: int) -> None

Overwrite meter name with value.

Source code in src/morpheus_vlt/models/state.py
def set_meter(self, name: str, value: int) -> None:
    """Overwrite meter `name` with `value`."""
    self.meters[name] = int(value)