Modificações:Dados de Peixes

Fonte: Stardew Valley Wiki
Revisão em 12h55min de 5 de janeiro de 2021 por LuizNunes (discussão | contribs)
Saltar para a navegação Saltar para a pesquisa

Índice

Essa pagina explica como o jogo armazena e processa dados dos peixes, incluindo mecânica de geração. Isso é um guia avançado para desenvolvedores de Mod's.

Analisando as condições de reprodução dos peixes

O jogo verifica dois locais para determinar quais peixes devem aparecer quando o jogador está pescando. Isso se aplica apenas a peixes normais; a chance de gerar um peixe lendário é calculada separadamente pelo código de localização antes , seguindo as regras abaixo. (engenharia reversa a partir de BobberBar e GameLocation :: getFish .)

Locais de Spawn

Cada peixe é atribuído a uma área dentro do local e só aparecerá se o jogador estiver nessa área. As coordenadas do bloco para cada área são definidas por GameLocation :: getFishingLocation , que pode ser substituído por cada local do jogo. As seguintes áreas são definidas:

  • Cindersap Forest:
    • Lagoa (área 1 para ladrilhos (0, 0) a (52, 42) inclusive);
    • Rio (área # 0 que corresponde a qualquer outra parte da floresta).
  • Todos os outros locais têm apenas a área -1; portanto, de onde você pesca, não tem impacto.

Os peixes que podem ser criados em um determinado local são definidos nos dados delimitados por barra de Data \ Locations.xnb , especificamente nos índices de campo 4 (primavera), 5 (verão), 6 (outono), e 7 (inverno). Cada campo contém qualquer número de pares < int fishID> (combinando Data \ Fish.xnb ) + < int areaID> (ou -1 para qualquer área). Por exemplo, Cindersap Forest possui esses dados de peixes para o verão: 153 -1 145 0 144 -1 138 0 132 0 706 0 704 0 702 0 . Isso pode ser analisado como:

Valor Peixe Área
153 -1 Algas verdes qualquer (Lagoa ou Rio)
145 0 Peixe-sol Rio
144 -1 Lúcio qualquer (Lagoa ou Rio)
138 0 Truta arco-íris Rio
132 0 Brema Rio
706 0 Alocine Rio
704 0 Dourado Rio
702 0 Esquálio Rio

Dados dos peixes e critérios de desova

Os dados de peixes e os critérios de reprodução são armazenados como treze campos delimitados por barra em Data \ Fish.xnb :

Índice Sintaxe Exemplo Conteúdo
0 nome Baiacu O Nome do Peixe.
1 numero 80 Quantas vezes o peixe arremessa no minijogo de pesca; entre 15 (carpa) e 100 (Peixe-gelo).
2 "misturado|dardo|suave|flutuador|chumbo" floater Como o bobber se comporta durante o minijogo de pesca.
3 int 1 O tamanho mínimo de peixe (em polegadas).
4 int 36 O tamanho máximo do peixe (em polegadas).
5 [min time max time]+ 1200 1600 A hora do dia em que aparecem. O tempo mínimo é inclusivo, o tempo máximo é exclusivo. Pode especificar vários intervalos.
6 ["Primavera|Verão|Outono|Inverno"]+ ID da temporada As estações em que aparecem. Pode especificar vários. (Isso é ignorado. As estações são obtidas de Locations.xnb)
7 "Ensolarado|Chuva|Ambas" Ensolarado O clima quando eles aparecem.
8 690 .4 685 .1 Não utilizado.
9 numero 4 A profundidade mínima da água.
10 numero .3 Multiplicador de geração; usado no cálculo da taxa de reprodução (veja abaixo).
11 numero .5 Multiplicador de profundidade; usado no cálculo da taxa de reprodução (veja abaixo).
12 nivel 0 O mínimo nível de pesca.

Observe que, a partir da v1.2, o jogo multiplica o tamanho do peixe por 2,54 para todos os idiomas, exceto o inglês (para conversão de polegadas para cm). Veja FishingRod :: draw .

Taxa de geração

Se um peixe atender aos critérios de desova, a probabilidade de desova é {multiplicador de desova} - máximo (0, {profundidade mínima} - {profundidade real}) × {multiplicador de profundidade} × {multiplicador de desova} + {nível de pesca } / 50 , até um máximo de 90%. A "profundidade real" é a distância do ladrilho da bobber da terra.