Linha 1: |
Linha 1: |
− | {{Traduzir}}
| + | ← [[Modificações:Índice|Índice]] |
− | ← [[Modding:Index]] | |
| | | |
− | This page explains how the game stores and parses fish data, including spawning mechanics. This is an advanced guide for mod developers.
| + | 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. |
| | | |
− | ==Parsing fish spawn conditions== | + | == Analisando as condições de reprodução dos peixes == |
− | The game checks two places to determine which fish to spawn when the player is fishing. This only applies to normal fish; the chance of spawning a legendary fish is calculated separately by the location code, ''before'' following the rules below. <small>(Reverse engineered from <tt>BobberBar</tt> and <tt>GameLocation::getFish</tt>.)</small>
| + | 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 <samp> BobberBar </samp> e <samp> GameLocation :: getFish </samp>.) </small> |
| | | |
− | ===Spawn locations=== | + | === Locais de Spawn === |
− | Each fish is assigned to an area within the location, and will only spawn if the player is within that area. The tile coordinates for each area is defined by <code>GameLocation::getFishingLocation</code>, which can be overridden for each game location. The following areas are defined:
| + | 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#The Pond|pond]] (area #1 for tiles <code>(0, 0)</code> through <code>(52, 42)</code> inclusively); | + | ** [[Cindersap Forest # A Lagoa | Lagoa]] (área 1 para ladrilhos <code> (0, 0) </code> a <code> (52, 42) </code> inclusive); |
− | ** [[Cindersap Forest#The River|river]] (area #0 matching any other part of the forest). | + | ** [[Cindersap Forest # O Rio | Rio]] (área # 0 que corresponde a qualquer outra parte da floresta). |
− | * All other locations only have area -1, so where you fish from has no impact. | + | * Todos os outros locais têm apenas a área -1; portanto, de onde você pesca, não tem impacto. |
| | | |
− | The fish that can be spawned in a given location are defined in the slash-delimited data from <code>Data\Locations.xnb</code>, specifically field indexes 4 (spring), 5 (summer), 6 (fall), and 7 (winter). Each field contains any number of {{t|int fishID}} (matching <code>Data\Fish.xnb</code>) + {{t|int areaID}} (or -1 for any area) pairs. For example, [[Cindersap Forest]] has this fish data for summer: <code>153 -1 145 0 144 -1 138 0 132 0 706 0 704 0 702 0</code>. That can be parsed as:
| + | 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" |
| |- | | |- |
− | ! value | + | ! Valor |
− | ! fish | + | ! Peixe |
− | ! area | + | ! Área |
| |- | | |- |
| | <code>153 -1</code> | | | <code>153 -1</code> |
− | | [[Green Algae]] | + | | [[Algas verdes]] |
− | | any (pond or river) | + | | qualquer (Lagoa ou Rio) |
| |- | | |- |
| | <code>145 0</code> | | | <code>145 0</code> |
− | | [[Sunfish]] | + | | [[Peixe-sol]] |
− | | river | + | | Rio |
| |- | | |- |
| | <code>144 -1</code> | | | <code>144 -1</code> |
− | | [[Pike]] | + | | [[Lúcio]] |
− | | any (pond or river) | + | | qualquer (Lagoa ou Rio) |
| |- | | |- |
| | <code>138 0</code> | | | <code>138 0</code> |
− | | [[Rainbow Trout]] | + | | [[Truta arco-íris]] |
− | | river | + | | Rio |
| |- | | |- |
| | <code>132 0</code> | | | <code>132 0</code> |
− | | [[Bream]] | + | | [[Brema]] |
− | | river | + | | Rio |
| |- | | |- |
| | <code>706 0</code> | | | <code>706 0</code> |
− | | [[Shad]] | + | | [[Alocine]] |
− | | river | + | | Rio |
| |- | | |- |
| | <code>704 0</code> | | | <code>704 0</code> |
− | | [[Dorado]] | + | | [[Dourado]] |
− | | river | + | | Rio |
| |- | | |- |
| | <code>702 0</code> | | | <code>702 0</code> |
− | | [[Chub]] | + | | [[Esquálio]] |
− | | river | + | | Rio |
| |} | | |} |
| | | |
− | ===Fish data and spawn criteria=== | + | === Dados dos peixes e critérios de desova === |
− | The fish data and spawn criteria is stored as thirteen slash-delimited fields in <code>Data\Fish.xnb</code>:
| + | 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 | + | ! Índice |
− | ! syntax | + | ! Sintaxe |
− | ! example | + | ! Exemplo |
− | ! content | + | ! Conteúdo |
| |- | | |- |
| | 0 | | | 0 |
− | | <code>name</code> | + | | <code>nome</code> |
− | | <code>Pufferfish</code> | + | | <code>Baiacu</code> |
− | | The fish name. | + | | O Nome do Peixe. |
| |- | | |- |
| | 1 | | | 1 |
− | | <code>number</code> | + | | <code>numero</code> |
| | <code>80</code> | | | <code>80</code> |
− | | How often the fish darts in the fishing minigame; between 15 ([[carp]]) and 100 ([[glacierfish]]). | + | | Quantas vezes o peixe arremessa no minijogo de pesca; entre 15 ([[carpa]]) e 100 ([[Peixe-gelo]]). |
| |- | | |- |
| | 2 | | | 2 |
− | | <code>"mixed|dart|smooth|floater|sinker"</code> | + | | <code>"misturado|dardo|suave|flutuador|chumbo"</code> |
| | <code>floater</code> | | | <code>floater</code> |
− | | How the bobber behaves during the fishing minigame. | + | | Como o bobber se comporta durante o minijogo de pesca. |
| |- | | |- |
| | 3 | | | 3 |
| | <code>int</code> | | | <code>int</code> |
| | <code>1</code> | | | <code>1</code> |
− | | The minimum fish size (in inches). | + | | O tamanho mínimo de peixe (em polegadas). |
| |- | | |- |
| | 4 | | | 4 |
| | <code>int</code> | | | <code>int</code> |
| | <code>36</code> | | | <code>36</code> |
− | | The maximum fish size (in inches). | + | | O tamanho máximo do peixe (em polegadas). |
| |- | | |- |
| | 5 | | | 5 |
| | [<code>min time</code> <code>max time</code>]+ | | | [<code>min time</code> <code>max time</code>]+ |
| | <code>1200 1600</code> | | | <code>1200 1600</code> |
− | | The time of day when they spawn. The min time is inclusive, max time is exclusive. May specify multiple ranges. | + | | A hora do dia em que aparecem. O tempo mínimo é inclusivo, o tempo máximo é exclusivo. Pode especificar vários intervalos. |
| |- | | |- |
| | 6 | | | 6 |
− | | [<code>"spring|summer|fall|winter</code>"]+ | + | | [<code>"Primavera|Verão|Outono|Inverno</code>"]+ |
− | | <code>season ID</code> | + | | <code>ID da temporada</code> |
− | | The seasons when they spawn. May specify multiple. (This is ignored. Seasons are taken from Locations.xnb instead) | + | | As estações em que aparecem. Pode especificar vários. (Isso é ignorado. As estações são obtidas de Locations.xnb) |
| |- | | |- |
| | 7 | | | 7 |
− | | <code>"sunny|rainy|both"</code> | + | | <code>"Ensolarado|Chuva|Ambas"</code> |
− | | <code>sunny</code> | + | | <code>Ensolarado</code> |
− | | The weather when they spawn. | + | | O clima quando eles aparecem. |
| |- | | |- |
| | 8 | | | 8 |
| | | | | |
| | <code>690 .4 685 .1</code> | | | <code>690 .4 685 .1</code> |
− | | Unused. | + | | Não utilizado. |
| |- | | |- |
| | 9 | | | 9 |
− | | <code>number</code> | + | | <code>numero</code> |
| | <code>4</code> | | | <code>4</code> |
− | | The minimum water depth. | + | | A profundidade mínima da água. |
| |- | | |- |
| | 10 | | | 10 |
− | | <code>number</code> | + | | <code>numero</code> |
| | <code>.3</code> | | | <code>.3</code> |
− | | Spawn multiplier; used in spawn rate calculation (see below). | + | | Multiplicador de geração; usado no cálculo da taxa de reprodução (veja abaixo). |
| |- | | |- |
| | 11 | | | 11 |
− | | <code>number</code> | + | | <code>numero</code> |
| | <code>.5</code> | | | <code>.5</code> |
− | | Depth multiplier; used in spawn rate calculation (see below). | + | | Multiplicador de profundidade; usado no cálculo da taxa de reprodução (veja abaixo). |
| |- | | |- |
| | 12 | | | 12 |
− | | <code>level</code> | + | | <code>nivel</code> |
| | <code>0</code> | | | <code>0</code> |
− | | The minimum [[skills|fishing level]]. | + | | O mínimo [[habilidades | nível de pesca]]. |
| |} | | |} |
− | 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 <tt>FishingRod::draw</tt>.
| + | 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 <samp> FishingRod :: draw </samp>. |
| | | |
− | ===Spawn rate=== | + | === Taxa de geração === |
− | 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.
| + | 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. |
| | | |
| [[Category:Modificações]] | | [[Category:Modificações]] |
| | | |
| [[en:Modding:Fish data]] | | [[en:Modding:Fish data]] |