Pular para o conteúdo principal

RPG Core

Atributos, bônus de equipamento, profissões, itens, mochila, casa de leilões, troca e movimento.

Privadasv0.1.1RPG e progressão
RequerTypeWriter0.9.0-beta-177 (BTC build)GUIVaultUiCoreopcionalBTCMobsopcionalProfilesopcionalPartyopcional

Criada para a rede BornToCraft. Esta extensão é documentada como referência e não é distribuída.

Visão geral​

O RPG Core é a camada de progressão de um servidor BTC. É uma extensão grande (compilada sob o nome RPGBundle) que reúne o sistema de atributos, um catálogo de itens personalizados com sets e gemas, profissões com níveis, um nível global, mochilas e guarda-roupa, uma casa de leilões, troca segura entre jogadores, estações de criação personalizadas, pesca personalizada, habilidades de movimento (engatinhar, saltar obstáculos, escalar) e zonas de corrupção do Ether.

Quase tudo é configurado em uma única entry, a RPG Core Configuration, que tem uma seção para cada sistema. As outras entries são pequenos blocos de construção: ações para dar itens ou alterar atributos, facts para lê-los, menus para abrir e artifacts para armazenar dados dos jogadores.

A ideia central é o modelo de atributos descrito abaixo: todo jogador tem atributos numéricos (força, vida, chance de crítico, velocidade...), o equipamento soma a eles, e o resultado controla o combate, a coleta e os atributos vanilla.

Recursos​

  • Modelo de atributos — 77 atributos com um valor base por jogador, bônus de itens equipados e restrições nomeadas.
  • Catálogo de itens — categorias de itens personalizados com atributos, raridade, requisitos de nível e sets de equipamento com bônus de set.
  • Profissões — níveis, curvas de XP, recompensas de nível (atributos permanentes e triggers), boosts, competições e um menu de profissões.
  • Nível global — um nível ponderado calculado a partir de profissões e quests, usado para liberar habilidades de movimento e mais.
  • Armazenamento — mochilas pessoais e um guarda-roupa (acessórios e elytras) salvos em artifacts.
  • Economia — uma casa de leilões e uma troca segura entre jogadores com um limite de moeda em janela móvel de 24 horas.
  • Criação — receitas personalizadas, bigorna, rebolo, tear, alquimia, composteira, cartografia e estações de trabalho com bloqueios por nível.
  • Movimento — engatinhar com agachamento duplo, salto automático de obstáculos e escalada de paredes, com animações opcionais do BetterModel.
  • Corrupção — zonas de corrupção do Ether que se espalham, podem ser purificadas e geram mobs corrompidos.
  • Comandos — ferramentas de admin para atributos, profissões, itens, boosts e inventários, além de comandos de jogador para leilão, troca, reciclagem e unstick.

Instalação​

  1. Instale a extensão GUI: os menus (profissões, mochila, guarda-roupa, leilão, troca) são renderizados com ela.
  2. Instale um plugin de economia compatível com o Vault (Vault) se usar a casa de leilões ou a troca com a economia padrão.
  3. Opcionalmente, instale o UiCore (menus e HUD de progressão), o BTCMobs (mobs corrompidos, grupos de mobs), o Profiles, o Party e o BTC Sky para as integrações que os leem.
  4. Coloque o JAR do RPG Core em plugins/Typewriter/extensions/ e reinicie o servidor.

Primeiros passos​

  1. No painel web do TypeWriter, abra uma page static e adicione um artifact Player State: ele armazena os atributos base e os efeitos de cada jogador.
  2. Adicione um artifact Profession Data se usar profissões.
  3. Adicione a entry RPG Core Configuration. Em stats, defina artifact como o artifact Player State. Deixe stats.stats vazio para carregar os padrões embutidos, ou adicione itens para sobrescrever o nome de exibição, o padrão, minValue, maxValue ou displayFormat de um atributo. Em professions, defina artifact como o artifact Profession Data e adicione uma profissão.
  4. Em items, adicione uma categoria e um item de catálogo com stats como STRENGTH e HEALTH e uma rarity.
  5. Publique. Dê o item a você mesmo com /rpgitem give, vista-o e confira o valor com /rpgstat info <player> STRENGTH.
  6. Dispare ações como Give BTC Item, Add Stat ou Profession Grant XP a partir de quests e NPCs.
Uma única entry de configuração

Crie uma única entry RPG Core Configuration e mantenha uma única fonte da verdade para todas as seções.

Como funciona​

O modelo de atributos tem quatro camadas.

  1. Definição. Todo atributo é um identificador fixo (STRENGTH, HEALTH, CRIT_CHANCE, SPEED, MINING_EFFICIENCY...). Cada um tem um escopo (PLAYER: apenas o atributo base do jogador pode contê-lo; ITEM: apenas bônus de equipamento; BOTH) e uma unidade que diz como ele é armazenado: unidades vanilla absolutas (pontos de vida, armadura), uma porcentagem da base vanilla (velocidade, 100 = vanilla), uma fração de 0 a 1 (chance de crítico, resistências), um multiplicador em que 1 é neutro, pontos percentuais aditivos ou pontos simples. A unidade é intrínseca ao atributo; a configuração não pode alterá-la.
  2. Valor base. Cada jogador tem um valor base persistente por atributo, começando no defaultValue do atributo, salvo no artifact Player State. Ele muda por meio de Add Stat, Remove Stat, recompensas de nível de profissão (stats) e /rpgstat. É arredondado para 2 casas decimais (inteiros para atributos INTEGER) e limitado entre minValue e maxValue.
  3. Bônus de equipamento. Sempre que o equipamento muda, a extensão recalcula os bônus do capacete, peitoral, calças, botas, mão principal, mão secundária e da página ativa do guarda-roupa. Para cada item vestido, ela soma os atributos da definição no catálogo, o componente de atributos armazenado no item e os encantamentos vanilla mapeados para atributos. Itens cujos requisitos de nível de profissão não são atendidos não dão nada. Os atributos com escopo PLAYER ignoram o equipamento. Esses bônus são temporários e nunca são salvos.
  4. Restrições. Constrain Stat mantém um atributo entre um min e um max sob um source nomeado até que Release Stat Constraint o libere: uma arena de duelo que limita o ataque, um salão amaldiçoado que reduz a defesa. Várias restrições se apertam mutuamente (maior piso, menor teto; o teto vence em caso de conflito).

O valor total é base + equipment, limitado e depois restringido. Os atributos que correspondem a um atributo vanilla (vida, armadura, velocidade, dano de ataque, força de salto, alcance...) são enviados a esse atributo com a conversão de unidade; os demais são lidos pelo código que precisa deles: chance e dano de crítico, roubo de vida, esquiva, bloqueio, drops duplos, eficiência de mineração e de corte de madeira, força de pesca, boost de XP de profissão e assim por diante.

Temporary Stat adiciona um atributo por uma duração (poções, buffs). Leia um atributo em uma condição com Player Stat, que retorna o valor multiplicado por scale e arredondado.

Configuração​

Tudo abaixo é uma seção de RPG Core Configuration.

SeçãoO que ela configura
itemsCatálogo de itens (categorias, itens, raridade, requisitos), sets de equipamento e gemas.
statsO artifact Player State, sobrescritas por atributo, opções globais (regeneração, crítico, roubo de vida, eficiência, grupos de mobs, loot bônus) e mensagens de comandos.
professionsA lista de profissões, níveis, curva de XP e recompensas, o menu de profissões e mensagens.
inventoryLayouts e armazenamento da mochila e do guarda-roupa.
auctionImpostos, durações, economia e menus da casa de leilões.
tradeTroca segura: distância, duração do pedido, limite de pilha, limite de moeda em 24 horas, artifact de registro, economia e menu.
movementNíveis de engatinhar, saltar obstáculos e escalar, bloqueios por nível global, animações do BetterModel.
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrialReceitas e estações de trabalho personalizadas, cada uma controlada por níveis ou atrasos.
fishing, gathering, mobTrapPesca personalizada (incluindo lava e void), coleta unificada de recursos (XP, loot, bloqueios) e captura de mobs.
boosts, globalLevel, respawn, recycling, divers, beaconBoosts temporários, a fórmula do nível global, respawn condicional, reciclagem, resina e o beacon da ilha.
etherCorruptionZonas de corrupção do Ether.
combatFeedback, vanillaTooltipNúmeros de dano, barras de vida e tooltips vanilla ocultos.

Comandos​

Todos os comandos são registrados na inicialização com seus aliases. Os comandos de admin exigem borntocraft.rpg.admin.

Comando (aliases)PermissãoDescrição
/rpgstat (statadmin, btcstat)borntocraft.rpg.adminlist, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Os atributos com escopo ITEM não podem ser alterados diretamente.
/rpgadmin (rpgadm)borntocraft.rpg.adminstat <player> <stat> <get|set|reset> [value], profession <player> <profession> <get|setlevel|reset> [value], boost <player> <stat> <amount> <seconds>, corruption <create|remove|list>, mana <player> <set|give|get>, reload (reaplica os atributos dos jogadores online), debug <player>.
/rpgprofession (profes, prof)borntocraft.rpg.adminaddxp, removexp, setxp, addlevel, setlevel, reset, info, list, menu.
/rpgitem (btcitem, customitem)borntocraft.rpg.admingive, remove, list, info, menu.
/rpgcraft (craftadmin, btccraft)borntocraft.rpg.adminlist, inspect, preview, menu para receitas.
/rpginventory (btcinv, inventoryadmin)borntocraft.rpg.adminbackpack <list|open|reset>, wardrobe <open|info>, list.
/rpgboost (boost, xpboost)borntocraft.rpg.admingive, clear, list de boosts de XP de profissão.
/questrewardreset (qrr, resetquestreward)btc.admin.questrewardreset<menuId> <player|all>: redefine os resgates de um Quest Reward Menu.
/rpgauction (ah, auction)nenhumabrowse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (admin).
/rpgtrade (trade, p2ptrade)nenhuma<player> abre um pedido; accept <id>, deny <id>, money <amount>, confirm, cancel.
/rpgrecycling (recycling, recycle)nenhumaAbre o menu de reciclagem.
/unstick (rollback)nenhumaDispara a entry cujo id é action:system_unstick; responde com um erro se essa entry não existir.

Permissões​

PermissãoConcede
borntocraft.rpg.adminTodos os comandos de admin acima.
btc.admin.questrewardreset/questrewardreset.

Placeholders​

O RPG Core registra a expansão btc do MiniPlaceholders. Veja Placeholders para a lista completa.

Entries​

42 entradas, geradas a partir do código-fonte da extensão.

Ações24
Eventos4
Fatos6
Audiências1
Artefatos6
Manifestos1
  • BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)

Solução de problemas​

No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. Nada é carregado sem a entry de configuração. Adicione uma e publique.

Os atributos são redefinidos ou não são salvos. stats.artifact está vazio ou aponta para um artifact inexistente: os atributos base ficam então apenas na memória. Ligue um artifact Player State. O mesmo vale para professions.artifact no progresso de profissões.

Um item não dá atributos. Verifique o id do atributo (aliases como ATTACK_DAMAGE ou MAX_HEALTH são aceitos), se o item está vestido em um slot de armadura, de mão ou da página ativa do guarda-roupa, se o jogador atende aos requirements de profissão dele e se o escopo do atributo não é PLAYER. Um atributo listado na configuração com um displayFormat deve conter {value}, e um minValue não pode exceder maxValue, ou a configuração não carrega.

percentageMultiplier must be ... ao carregar. Para atributos cuja unidade é fixa (por exemplo, frações e multiplicadores usam 100, atributos em porcentagem do vanilla usam 1), o multiplicador de exibição é verificado. Remova a sobrescrita ou use o valor indicado no erro.

/rpgstat set recusa um atributo. Ele diz que o atributo é exclusivo de itens: seu escopo é ITEM, então apenas o equipamento pode contê-lo. Use um item ou um atributo temporário.

/unstick diz que a ação não está configurada. Crie uma entry disparável com o id action:system_unstick.

A casa de leilões ou a troca não consegue movimentar dinheiro. A economia padrão é o Vault: instale o Vault e um provedor de economia, ou configure o adaptador de economia da seção.

Extensões relacionadas​

  • UiCore — renderiza os painéis de progressão, guarda-roupa e armazenamento.
  • Profiles e Party — troca de perfis e compartilhamento de XP em party.
  • BTC Sky — mecânicas cientes de ilhas.