Statuses

from dgisim import EquipmentStatuses, Statuses

__eq__ and __hash__ are implemented so that any two Statuses with the equivalent content are equal to each other and have the same hash.

Statuses

class Statuses(statuses: tuple[dgisim.status.status.Status, ...])

A container for easy statuses managing.

contains(status: type[dgisim.status.status.Status]) bool
Returns:

True if status can be found.

find(status: type[dgisim.status.status.Status]) None | Status
Returns:

the status of the exact type status, or None if not found.

find_type(status: type[dgisim.status.status.Status]) None | Status
Returns:

the status of the type status, or None if not found.

get_statuses() tuple[dgisim.status.status.Status, ...]
Returns:

tuple of statuses.

just_find(status: type[_U]) _U
Returns:

the status of the exact type status, or an exception is thrown.

just_find_type(status: type[_U]) _U
Returns:

the status of the type status, or an exception is thrown.

remove(status: type[dgisim.status.status.Status]) Self
Returns:

the Statuses where status is removed.

update_status(incoming_status: Status, override: bool = False) Self
Parameters:

override – set to True if the incoming_status unconditionally overrides the existing status of the same type. (or simple add to statuses if there’s not one)

Updates existing status of the same type with the incoming_status, or append the new_status to the end of current statuses.

Equipment Statuses

class EquipmentStatuses(statuses: tuple[dgisim.status.status.Status, ...])

Bases: Statuses

update_status(incoming_status: Status, override: bool = False) Self
Parameters:

override – set to True if the incoming_status unconditionally overrides the existing status of the same category. (or simple add to statuses if there’s not one)

Updates existing status of the same category with the incoming_status, or append the new_status to the end of current statuses.

Unlike Statuses, only one status of the same category (talent, weapon, artifact) can exist.