Skip to content
🚧 Esta documentação ainda está em desenvolvimento e pode conter informações incompletas.

ShopOwnersData

A classe ShopOwnersData permite definir o dono ou os donos da loja que precisam fazer o atendimento no balcão

Construtor

def __init__(
    self,
    *,
    Name: str,
    Id: Optional[str],
    Condition: Optional[str] = None,
    Portrait: Optional[str] = None,
    Dialogues: Optional[list[ShopOwnersDialoguesData]] = [],
    RandomizeDialogueOnOpen: Optional[bool] = True,
    ClosedMessage: Optional[str] = None
)

Parâmetros

Name Type Description
Name (str) Uma das seguintes opções... o nome interno do NPC que deve estar ao alcance para usar essa entrada; AnyOrNone para usar essa entrada independentemente de haver um NPC na área da loja; Any para usar essa entrada se houver um NPC na área da loja; None para usar essa entrada se não houver um NPC na área da loja.
Id (str) Um ID para essa entrada na loja. Ele só precisa ser exclusivo na lista de proprietários da loja atual. O padrão é o valor Name.
Condition (str) Uma consulta de estado do jogo que indica se essa entrada de proprietário está disponível. Se for omitida, ela estará sempre disponível. Veja em GameQueryState
Portrait (str) Um entre... o nome interno do NPC cujo retrato deve ser exibido; o nome do ativo da textura a ser exibida; ou uma cadeia de caracteres vazia (ou outro valor que não corresponda a um NPC ou nome de ativo de textura) para desativar o retrato. O padrão é o retrato do NPC que corresponde ao campo Name (se houver). Se desenhado, ele usará a área de 64x64 pixels no canto superior esquerdo da textura. Observação: é possível que o nome "none" impeça o uso de qualquer retrato.
Dialogues (list[ShopOwnersDialoguesData]) Uma lista de possíveis linhas de diálogo que a loja exibirá para esse Proprietário. A primeira entrada com uma condição correspondente será escolhida. Cada entrada consiste em um modelo na classe ShopOwnersDialoguesData
RandomizeDialogueOnOpen (bool) Se uma entrada de Diálogos estiver usando RandomDialogue, se a linha será selecionada novamente de forma aleatória sempre que a loja for aberta (true) ou uma vez por dia (false). Padrão: true.
ClosedMessage (str) Se definido, uma cadeia de caracteres tokenizável para uma mensagem no estilo "a loja está fechada" a ser exibida durante o horário de funcionamento da loja quando um Proprietário válido não estiver presente. O jogador deve estar posicionado na direção especificada em [from direction] da loja para que a mensagem seja exibida. Isso só pode ser definido em uma entrada de proprietários com o nome "None" (Nenhum) ou "AnyOrNone" (Qualquer ou Nenhum) ou sua loja quebrará! Se você definir um campo ClosedMessage dentro de uma entrada Owners usando "Any" ou o nome de um NPC, o ClosedMessage será exibido em vez de abrir a loja quando o NPC estiver presente.

Exemplo

from StardewValley.Data import ShopOwnersData

# Dentro de uma classe ShopsData, quando for definir o valor da variavel lista Owners voce define usando a classe, como é uma lista, e geralmente tem mais valores pode fazer assim:
[
    ShopOwnersData(
        Name="None",
        Id="Closed"
    ),
    ShopOwnersData(
        Name="Pierre",
        Id="Pierre",
        Dialogues=[
            ShopOwnersDialoguesData(
                Id="LastDayOfMonth",
                Condition="DAY_OF_MONTH 28",
                Dialogue="[LocalizedText Strings\\StringsFromCSFiles:ShopMenu.cs.11489]"
            ),
            ShopOwnersDialoguesData(
                Id="Monday",
                Condition="DAY_OF_WEEK Monday",
                Dialogue="[LocalizedText Strings\\StringsFromCSFiles:ShopMenu.cs.11488][LocalizedText Strings\\StringsFromCSFiles:ShopMenu.cs.11481]"
            ),
            # e assim por diante, exemplo copiado do seed shop
        ],
        RandomizeDialogueOnOpen=True
    )

]