Modificações:Dados de Peixes
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.