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
)
]