Diferenças entre edições de "Modificações:Dados de Peixes"
Linha 4: | Linha 4: | ||
This page explains how the game stores and parses fish data, including spawning mechanics. This is an advanced guide for mod developers. | This page explains how the game stores and parses fish data, including spawning mechanics. This is an advanced guide for mod developers. | ||
− | == | + | == 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. <small> (engenharia reversa a partir de <tt> BobberBar </tt> e <tt> GameLocation :: getFish </tt>.) </small> | |
− | ===Spawn | + | === 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 <code> GameLocation :: getFishingLocation </code>, que pode ser substituído por cada local do jogo. As seguintes áreas são definidas: | |
* [[Cindersap Forest]]: | * [[Cindersap Forest]]: | ||
− | ** [[Cindersap Forest# | + | ** [[Cindersap Forest # A Lagoa | Lagoa]] (área 1 para ladrilhos <code> (0, 0) </code> a <code> (52, 42) </code> inclusive); |
− | ** [[Cindersap Forest# | + | ** [[Cindersap Forest # O Rio | 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 <code> Data \ Locations.xnb </code>, especificamente nos índices de campo 4 (primavera), 5 (verão), 6 (outono), e 7 (inverno). Cada campo contém qualquer número de pares {{t | int fishID}} (combinando <code> Data \ Fish.xnb </code>) + {{t | int areaID}} (ou -1 para qualquer área). Por exemplo, [[Cindersap Forest]] possui esses dados de peixes para o verão: <code> 153 -1 145 0 144 -1 138 0 132 0 706 0 704 0 702 0 </code>. Isso pode ser analisado como: | |
− | {| class="wikitable" | + | {| class = "wikitable" |
|- | |- | ||
− | ! | + | ! Valor |
− | ! | + | ! Peixe |
− | ! | + | ! Área |
|- | |- | ||
| <code>153 -1</code> | | <code>153 -1</code> | ||
− | | [[ | + | | [[Algas verdes]] |
− | | | + | | qualquer (Lagoa ou Rio) |
|- | |- | ||
| <code>145 0</code> | | <code>145 0</code> | ||
− | | [[ | + | | [[Peixe-sol]] |
− | | | + | | Rio |
|- | |- | ||
| <code>144 -1</code> | | <code>144 -1</code> | ||
− | | [[ | + | | [[Lúcio]] |
− | | | + | | qualquer (Lagoa ou Rio) |
|- | |- | ||
| <code>138 0</code> | | <code>138 0</code> | ||
− | | [[ | + | | [[Truta arco-íris]] |
− | | | + | | Rio |
|- | |- | ||
| <code>132 0</code> | | <code>132 0</code> | ||
− | | [[ | + | | [[Brema]] |
− | | | + | | Rio |
|- | |- | ||
| <code>706 0</code> | | <code>706 0</code> | ||
− | | [[ | + | | [[Alocine]] |
− | | | + | | Rio |
|- | |- | ||
| <code>704 0</code> | | <code>704 0</code> | ||
− | | [[ | + | | [[Dourado]] |
− | | | + | | Rio |
|- | |- | ||
| <code>702 0</code> | | <code>702 0</code> | ||
− | | [[ | + | | [[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 <code> Data \ Fish.xnb </code>: | |
− | {| class="wikitable" | + | {| class = "wikitable" |
|- | |- | ||
! index | ! index |
Revisão das 20h13min de 5 de fevereiro de 2020
Tradução incompleta Este artigo ou seção não foi completamente traduzido para o português.
Você está convidado a ajudar na sua construção editando-o |
← Índice
This page explains how the game stores and parses fish data, including spawning mechanics. This is an advanced guide for mod developers.
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:
- 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
:
index | syntax | example | content |
---|---|---|---|
0 | name
|
Pufferfish
|
The fish name. |
1 | number
|
80
|
How often the fish darts in the fishing minigame; between 15 (carp) and 100 (glacierfish). |
2 | "mixed|dart|smooth|floater|sinker"
|
floater
|
How the bobber behaves during the fishing minigame. |
3 | int
|
1
|
The minimum fish size (in inches). |
4 | int
|
36
|
The maximum fish size (in inches). |
5 | [min time max time ]+
|
1200 1600
|
The time of day when they spawn. The min time is inclusive, max time is exclusive. May specify multiple ranges. |
6 | ["spring|summer|fall|winter "]+
|
season ID
|
The seasons when they spawn. May specify multiple. (This is ignored. Seasons are taken from Locations.xnb instead) |
7 | "sunny|rainy|both"
|
sunny
|
The weather when they spawn. |
8 | 690 .4 685 .1
|
Unused. | |
9 | number
|
4
|
The minimum water depth. |
10 | number
|
.3
|
Spawn multiplier; used in spawn rate calculation (see below). |
11 | number
|
.5
|
Depth multiplier; used in spawn rate calculation (see below). |
12 | level
|
0
|
The minimum fishing level. |
Note that as of v1.2, the game multiplies fish size by 2.54 for all languages other than English (for conversion from inches to cm). See FishingRod::draw.
Spawn rate
If a fish matches the spawn criteria, the probability that it will spawn is {spawn multiplier} - max(0, {minimum depth} - {actual depth}) × {depth multiplier} × {spawn multiplier} + {fishing level} / 50, up to a maximum of 90%. The actual depth is the bobber's tile distance from land.