Vincula preços de compra, venda, produção e desbloqueio a uma página de item ou skill.

economyLink#

O addon que conecta um item/conteúdo do jogo às moedas e variáveis globais que regem sua economia. Define preços de compra, venda, produção e desbloqueio em uma estrutura unificada.

Por que importa#

Item barato, item caro, item premium, item desbloqueável por evento — tudo isso é "economia". Sem um addon dedicado, você espalha esses números em campos soltos por toda a página de item, e quando precisa rebalancear o jogo (subir 10% todos os preços, dar 50% de desconto em evento) precisa caçar em 80 lugares diferentes.

Este addon centraliza, e ainda referencia globalVariable pra modificar tudo de uma vez (ex.: variável item_buy_discount = 0.1 aplicada em todas as compras).

Onde costuma viver#

  • Página de tipo 🎒 Itens ou ⚔️ Itens com efeito — vem por padrão junto com Inventory.
  • Páginas em branco que representam algo vendável (skin, capítulo, slot extra).

Singleton — 1 economyLink por página.

Schema#

CampoTipoPadrãoDescrição
idSimstringID interno.
nameSimstringNome do addon (default: Economia).
hasBuyConfigbooleanLiga/desliga o bloco de compra. Permite item não-comprável.
buyCurrencyRefstring (sectionId)Página da moeda usada na compra.
buyValuenumberPreço base de compra.
minBuyValuenumberPiso de preço mesmo com descontos máximos.
buyModifiersEconomyModifierRef[]Lista de globalVariables que ajustam o buyValue (ex.: desconto sazonal).
hasSellConfigbooleanLiga/desliga o bloco de venda.
sellCurrencyRefstring (sectionId)Moeda recebida na venda (geralmente igual à de compra).
sellValuenumberValor base de venda.
maxSellValuenumberTeto de venda mesmo com bônus máximos.
sellModifiersEconomyModifierRef[]globalVariables que aumentam/diminuem sellValue.
hasProductionConfigbooleanLiga/desliga produção. Item produz X unidades por intervalo.
producedItemRefstring (sectionId)Item que esta página produz quando colocada (ex.: galinha produz ovos).
produceMinnumberQuantidade mínima produzida por ciclo.
produceMaxnumberQuantidade máxima produzida por ciclo.
productionTimeSecondsnumberIntervalo entre ciclos. Aceita decimais.
hasUnlockConfigbooleanLiga/desliga gate de desbloqueio.
unlockRefstring (sectionId)Moeda usada pra desbloquear.
unlockValuenumberQuanto custa desbloquear pela primeira vez.
notesstringNotas livres.

EconomyModifierRef#

{ refId: string }  // sectionId de uma página de globalVariable

Aponta pra uma globalVariable (ex.: item_buy_discount, event_sell_markup). O motor lê o valor da variável no runtime e aplica em cima do buyValue/sellValue.

Exemplo#

Espada de Ferro vendida e revendível, com desconto sazonal:

{
  "id": "econ-iron-sword",
  "name": "Economia",
  "hasBuyConfig": true,
  "buyCurrencyRef": "section-gold",
  "buyValue": 100,
  "minBuyValue": 50,
  "buyModifiers": [
    { "refId": "section-buy-discount-var" }
  ],
  "hasSellConfig": true,
  "sellCurrencyRef": "section-gold",
  "sellValue": 50,
  "maxSellValue": 80,
  "sellModifiers": [
    { "refId": "section-sell-markup-var" }
  ],
  "hasUnlockConfig": false
}

Campos opcionais por padrão#

Cada bloco (Buy, Sell, Production, Unlock) tem um has*Config boolean que liga/desliga ele. Itens só vendíveis (não-compráveis) ou só desbloqueáveis (sem economia) ficam mais limpos no JSON exportado.

Wizard#

Não tem wizard próprio. É seedado por:

  • 🎒 Itens (junto com Inventory)
  • ⚔️ Itens com efeito (junto com Inventory + AttributeModifiers)

O wizard pede a moeda no requires-dialog, e essa moeda vai como buyCurrencyRef + sellCurrencyRef automaticamente.

Veja também#