Line 16: |
Line 16: |
| * All other locations only have area -1, so where you fish from has no impact. | | * All other locations only have area -1, so where you fish from has no impact. |
| | | |
− | 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: | + | The fish that can be spawned in a given location are defined in the slash-delimited data from <code>Data\Locations.xnb</code> (see also: [[Modding:Location data]]) 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: |
| {| class="wikitable" | | {| class="wikitable" |
| |- | | |- |
Line 174: |
Line 174: |
| | <code>0</code> | | | <code>0</code> |
| | The minimum [[skills|fishing level]] needed for this fish to appear. | | | The minimum [[skills|fishing level]] needed for this fish to appear. |
| + | |- |
| + | | 13 |
| + | | {{t|first-catch tutorial eligible}} |
| + | | <code>true</code> |
| + | | Indicates whether the fish can be selected for the first-catch tutorial. |
| |} | | |} |
| | | |
Line 188: |
Line 193: |
| | | |
| ==Aquarium fish== | | ==Aquarium fish== |
− | Fish in [[Fish Tank|fish tank]]s can be edited via <samp>Data/AquariumFish</samp> and the <samp>LooseSprites/AquariumFish</samp> spritesheet. | + | Fish in [[Fish Tank|fish tank]]s can be edited via the <samp>Data/AquariumFish</samp> asset: |
| | | |
| {| class="wikitable" | | {| class="wikitable" |
Line 198: |
Line 203: |
| | 0 | | | 0 |
| | sprite index | | | sprite index |
− | | The index of the sprite within the above texture, starting at 0 for the top-left sprite. | + | | The index of the sprite in the <samp>LooseSprites/AquariumFish</samp> spritesheet, starting at 0 for the top-left sprite. |
| |- | | |- |
| | 1 | | | 1 |
− | | Type | + | | type |
− | | eel/cephalopod/crawl/ground/fish/front_crawl front crawl is used for crawling fish whose sprites extend past the floor. They are always closest to the glass and sort above other fish to avoid sorting issues. | + | | The fish type, which influences their behavior. Possible values: |
| + | {| class="wikitable" |
| + | |- |
| + | ! value |
| + | ! notes |
| + | |- |
| + | | <samp>eel</samp> |
| + | | |
| + | |- |
| + | | <samp>cephalopod</samp></samp> |
| + | | |
| + | |- |
| + | | <samp>crawl</samp> |
| + | | |
| |- | | |- |
− | | 2 | + | | <samp>ground</samp> |
− | | Idle animations
| + | | |
− | | | |
| |- | | |- |
− | | 3 | + | | <samp>fish</samp> |
− | | Dart start animation frames. | + | | |
− | | The index of the start of the dart animation
| |
| |- | | |- |
− | | 4 | + | | <samp>front_crawl</samp> |
− | | Dart hold animation frames. | + | | Used for crawling fish whose sprites extend past the floor. They are always closest to the glass and sort above other fish to avoid sorting issues. |
− | | The index of the hold of the dart animation | + | |} |
| |- | | |- |
− | | 5 | + | | 2<br />3–5 |
− | | Dart end animation frames. | + | | idle animation<br />dart animation |
− | | The index of the end of the dart animation | + | | The animation used by the fish when it's idling (2) or darting (3–5). This is specified as a list of space-delimited frames, where each frame is the sprite index in the <samp>LooseSprites/AquariumFish</samp> spritesheet to display. Each frame is displayed for 125ms. For example, [[Stingray]]s have their idle animation set to <samp>70 70 70 71 71 72</samp>. |
| + | |
| + | The dart animation is split into three fields: start (3), hold (4), and end (5). |
| |} | | |} |
| | | |