ShopItemsData
A classe ShopItemsData permite adicionar os itens na loja para venda.
Construtor
ddef __init__(
self,
*,
Id: str,
ItemId: str,
RandomItemId: Optional[list[str]] = None,
Condition: Optional[str] = None,
PerItemCondition: Optional[str] = None,
MaxItems: Optional[int] = None,
IsRecipe: Optional[bool] = None,
Quality: Optional[Quality] = None,
MinStack: Optional[int] = None,
MaxStack: Optional[int] = None,
ObjectInternalName: Optional[str] = None,
ObjectDisplayName: Optional[str] = None,
ToolUpgradeLevel: Optional[ToolUpgradeLevel] = None,
QualityModifiers: Optional[int] = None,
StackModifiers: Optional[int] = None,
QualityModifierMode: Optional[QualityModifierMode] = None,
StackModifierMode: Optional[QualityModifierMode] = None,
ModData: Optional[dict[str, str]] = None,
Price: Optional[int] = None,
TradeItemId: Optional[str] = None,
TradeItemAmount: Optional[int] = None,
ApplyProfitMargins: Optional[bool] = None,
IgnoreShopPriceModifiers: Optional[bool] = None,
AvailableStockModifiers: Optional[list[ShopModifiersData]] = None,
PriceModifiers: Optional[list[ShopModifiersData]] = None,
AvailableStockModifierMode: Optional[QualityModifierMode] = None,
PriceModifierMode: Optional[QualityModifierMode] = None,
AvoidRepeat: Optional[bool] = None,
UseObjectDataPrice: Optional[bool] = None,
AvailableStock: Optional[int] = None,
AvailableStockLimit: Optional[AvailableStockLimit] = None,
ActionsOnPurchase: Optional[list[str]] = None,
CustomFields: Optional[Any] = None
)
Parâmetros
| Name | Type | Description |
|---|---|---|
Id |
(str) |
Identificação do item |
ItemId |
(str) |
Id do item usando o tipo e id do item, exemplo: (O)128 para o pufferfish |
RandomItemId |
(list[str], Optional) |
Lista de identificação dos itens para randomizar a venda, exemplo: [ "(O)388", "(O)390", "(O)206"] |
Condition |
(str, Optional) |
Condições para venda usando uma game query state: exemplos na (wiki)[https://stardewvalleywiki.com/Modding:Game_state_queries] |
PerItemCondition |
(str, Optional) |
Condições para venda por item randon, usando uma game query state: exemplos na (wiki)[https://stardewvalleywiki.com/Modding:Game_state_queries] |
MaxItems |
(int, Optional) |
Se esta entrada produzir várias pilhas de itens separados, o número máximo a ser retornado. (Isso não afeta o tamanho de cada pilha; consulte MinStack e MaxStack para isso.) Padrão ilimitado. |
IsRecipe |
(bool, Optional) |
Se deve ou não obter a receita de criação/culinária do item, em vez do item em si. Padrão falso. |
Quality |
(Quality, Optional) |
A qualidade do item a ser encontrado. usando a classe [Quality] valores validos: Quality.Normal(), Quality.Silver(), Quality.Gold(), Quality.Iridium() |
MinStack |
(int, Optional) |
Tamanho mÃnimo e padrão da quantidade de itens a serem vendidos. Padrão -1, que mantém o valor definido pela consulta do item (geralmente 1). |
MaxStack |
(int, Optional) |
Se definido como um valor maior que MinStack, a quantidade será definida como um valor aleatório entre eles (inclusive). Padrão -1. |
ObjectInternalName |
(str, Optional) |
Somente para objetos, o nome interno a ser usado. O padrão é o nome do item em Dados/Objetos. |
ObjectDisplayName |
(str, Optional) |
Somente para objetos, uma string tokenizável para o nome de exibição do item. Use a classe i18n para fazer a traducao do item, e use a chave criada nela |
ToolUpgradeLevel |
(ToolUpgradeLevel, Optional) |
Somente para ferramentas, o nÃvel de atualização inicial para a ferramenta quando criada, usando a classe ToolUpgradeLevel, os valores validos sao ToolUpgradeLevel.Normal, ToolUpgradeLevel.Copper, ToolUpgradeLevel.Steel, ToolUpgradeLevel.Gold, ToolUpgradeLevel.IridiumTool para ferramentas, e ToolUpgradeLevel.Bamboo, ToolUpgradeLevel.Training, ToolUpgradeLevel.Fiberglass, ToolUpgradeLevel.IridiumRod, ToolUpgradeLevel.AdvancedIridiumRod para varas de pesca. |
QualityModifiers |
(int, Optional) |
Quantidade de itens adicionais a serem modificado sobre a qualidade do item. Ex: silver x 2=gold. |
StackModifiers |
(int, Optional) |
Quantidade de itens adicionais a serem modificados. |
QualityModifierMode |
(QualityModifierMode, Optional) |
Modo de modificação da qualidade do item. Use a classe QualityModifierMode, valores validos: QualityModifierMode.Stack(), QualityModifierMode.Minimum(), QualityModifierMode.Maximum() |
StackModifierMode |
(QualityModifierMode, Optional) |
Modo de modificação da quantidade do item. Padrão: Add. |
ModData |
(dict[str, str], Optional) |
Dicionário dados para mod personalizados. |
Price |
(int, Optional) |
O preço em ouro para comprar o item na loja. O padrão é o preço normal do item ou zero se TradeItemId for especificado. |
TradeItemId |
(str, Optional) |
O id do item a ser usado como moeda de troca na loja, usando o tipo e id do item, exemplo: (O)128 para o pufferfish |
TradeItemAmount |
(int, Optional) |
Quantidade do item a ser trocado como moeda de troca pelo item a ser comprado na loja. O padrão é 1. |
ApplyProfitMargins |
(bool, Optional) |
Se o preço deve ser multiplicado pelo modificador de dificuldade, o que reduz o preço para margens de lucro maiores. Esta opção pode ser verdadeira (sempre aplicar), falsa (nunca aplicar) ou nula (aplicável a certos itens, como mudas). Esta opção é aplicada antes de qualquer modificador de quantidade. O padrão é nulo. |
IgnoreShopPriceModifiers |
(bool, Optional) |
Se o campo PriceModifiers da loja deve ser ignorado para este item. Isso não afeta o campo equivalente do item. O padrão é falso. |
AvailableStockModifiers e PriceModifiers |
(list[ShopModifiersData], Optional) |
Modificadores de quantidade aplicados aos valores de AvailableStock ou Price.Observações: Os modificadores de preço se acumulam com o campo PriceModifiers na loja (a menos que IgnoreStorePriceModifiers seja verdadeiro). Usa a classe (ShopModifiersData)[shopmodifiersdata.md] |
AvailableStockModifierMode and PriceModifierMode |
(QualityModifierMode, Optional) |
Modos modificadores de quantidade que indicam o que fazer se vários modificadores nos campos AvailableStockModifiers ou PriceModifiers forem aplicados simultaneamente. Usa a classe QualityModifierMode |
AvoidRepeat |
(bool, Optional) |
Se deve evitar adicionar esse item à loja caso ele duplique um que já tenha sido adicionado. Se a ID do item for aleatória, isso escolherá um valor que ainda não tenha sido adicionado à loja, se possÃvel. Padrão: false. |
UseObjectDataPrice |
(bool, Optional) |
Se esses dados produzirem um objeto e o Preço for omitido, se deve ser usado o preço bruto em Dados/Objetos em vez do preço calculado de venda ao jogador. |
AvailableStock |
(int, Optional) |
O número máximo do item que pode ser comprado em um dia. Padrão: ilimitado. |
AvailableStockLimit |
(str, Optional) |
Se Stock for definido, como o limite é aplicado no modo multijogador. Isso não tem efeito sobre as receitas. |
| Os valores possÃveis são: AvailableStockLimit.none(), AvailableStockLimit.Player(), AvailableStockLimit.Global() | ||
ActionsOnPurchase |
(list[str], Optional) |
Uma lista de ações a serem executadas quando o jogador comprar esse item. Elas são executadas uma vez por clique de compra. Padrão: nenhum. Veja em (wiki)[https://stardewvalleywiki.com/Modding:Trigger_actions] |
Exemplo
from StardewValley.Data import ShopItemsData
from StardewValley.Data.GameData import Quality, QualityModifierMode
# Dentro de uma classe ShopsData, quando for definir a lista Items, criar os itens usando a classe ShopItemsData
ShopItemsData(
Id="(O)472",
ItemId="(O)472",
# outras opções,
# se usar classes especiais importar a classe correspondente no GameData
Quality=Quality.Gold(),
QualityModifierMode=QualityModifierMode.Add()
StackModifierMode=QualityModifierMode.Subtract()
)