Initial Commit

This commit is contained in:
helldh 2026-01-13 09:10:49 +03:00
commit d25706163c
34 changed files with 1035 additions and 0 deletions

View file

@ -0,0 +1,30 @@
from ..core.enums.game import LanguageRarity
from ..core.stuctures.character import Language, Race
def get_available_languages(
race: Race,
exclude_secret: bool = True
) -> list[Language]:
"""
Returns languages available for a character to learn.
Args:
race: The character's race.
exclude_secret: If True, excludes secret languages (Druidic, Thieves' Cant).
Returns:
List of learnable languages.
"""
from ..entities.languages import ALL_LANGUAGES
# Already known languages
known = set(race.languages)
# Available languages
available = [
lang for lang in ALL_LANGUAGES
if lang not in known
and (not exclude_secret or lang.rarity != LanguageRarity.SECRET)
]
return available