RELEASED [STORM] and [SMAPI] RecatchLegendaryFish

Discussion in 'Gameplay Mechanics' started by cantorsdust, Mar 15, 2016.

  1. cantorsdust

    cantorsdust Existential Complex

    Current Version: 1.0.0.0.STORM for Storm and 1.2.0.0.SMAPI for SMAPI

    Allows Legendary Fish to be caught again and again. Will prevent the achievement for catching all 5 legendary fish, unfortunately.
    By cantorsdust.

    Storm version requires Storm.

    Storm

    SMAPI version requires SMAPI 0.39 for version 1.2. Version 1.1.0.0.SMAPI is for SMAPI 0.38. Version 1.0.0.0.SMAPI is for SMAPI 0.37

    SMAPI

    Installation for Storm

    There is one folder in this .zip. The All Crops All Seasons folder must be placed in %appdata%\StardewValley\Mods.

    Thus, the total path for both of the two files required for this mod to function are:
    %appdata%\StardewValley\Mods\RecatchLegendaryFish\RecatchLegendaryFish.dll

    AND

    %appdata%\StardewValley\Mods\RecatchLegendaryFish\manifest.json

    REQUIRES Storm to be installed!
    http://storm.handsomematt.co.uk/builds/


    Installation for SMAPI 0.39 (Mod version 1.2)
    The zip contains one folder, RecatchLegendaryFish, with two files RecatchLegendaryFish.dll and manifest.json. The folder must be placed in %appdata%\StardewValley\Mods.

    Thus, the total path for all 3 of the files required for this mod to function are:
    %appdata%\StardewValley\Mods\RecatchLegendaryFish\RecatchLegendaryFish.dll

    AND

    %appdata%\StardewValley\Mods\RecatchLegendaryFish\manifest.json


    REQUIRES SMAPI 0.39+ to be installed! Version 1.1.0.0.SMAPI is for SMAPI 0.38. Version 1.0.0.0.SMAPI is for SMAPI 0.37
    https://github.com/ClxS/SMAPI/releases

    Installation for SMAPI 0.37-0.38 (Mod versions 1.0-1.1)

    There is one dll in this .zip. The dll must be placed in %appdata%\StardewValley\Mods OR your main Stardew Valley\Mods.

    Thus, the total path for the one required for this mod to function is:
    %appdata%\StardewValley\Mods\RecatchLegendaryFish.dll

    OR

    Stardew Valley\Mods\RecatchLegendaryFish.dll


    REQUIRES SMAPI 0.37+ to be installed!
    https://github.com/ClxS/SMAPI/releases






    Download from releases.

    Source code at github.
     
      Last edited: Mar 23, 2016
      curi0, Zelnite and Davrial like this.
    • tandpastatester

      tandpastatester Scruffy Nerf-Herder

      This is awesome. Any idea why it disables the achievement though? And do you think there's a way to fix that?

      I'll absolutely use this mod, but for now I'll make sure to get the achievement first. Only two more fish to find!
       
      • cantorsdust

        cantorsdust Existential Complex

        Every time you catch a fish, it gets added to Farmer.fishCaught. To earn the achievement for catching all 5 legendaries, the game checks to see if all 5 are on that list. But my mod continuously removes the legendary fish from that list every time you catch a fish, so you'll never have all 5 on there.

        Edit: This means the mod will work for those people who have already caught all 5 legendaries, I believe.
         
        • clanf

          clanf Big Damn Hero

          but wait, i was catching legendaries all over the place (well, when all conditions for each kind is met of course), ending with 4-7 of each kind, without any mods
          so... it not supposed to work like that?
           
          • cantorsdust

            cantorsdust Existential Complex

            I have heard that there's a bug where you can catch the legendaries as many times as you want the first day you catch them, but not after that. The code in the game looks like:

            if (Game1.currentSeason.Equals("winter") && who.getTileX() == 58 && (who.getTileY() == 87 && who.FishingLevel >= 6) && (!who.fishCaught.ContainsKey(775) && waterDepth >= 3 && Game1.random.NextDouble() < 0.5))

            This is the code for the Glacierfish, found in Forest.cs. Basically, it's saying that if the current season is winter, you're fishing on tile (58, 87), your fishing level is at least 6, your fishCaught list doesn't contain fish ID 775 (the Glacierfish), the water depth is 3 or greater, you have a 50% chance (NextDouble < 0.5) of getting a Glacierfish.

            So no, you're not supposed to catch multiple legendaries.
             
              clanf likes this.
            • clanf

              clanf Big Damn Hero

              damn, good to know, thanks
              btw, is it possible to just remove (!who.fishCaught.ContainsKey(XXX) condition for each legendary? achievements should work normally in this case
               
              • cantorsdust

                cantorsdust Existential Complex

                Yes, but in Storm it would require me to make 5 events for 5 different wrappers and replace the code in each. For SMAPI I don't even have the events to do it.
                 
                • Saitofox

                  Saitofox Scruffy Nerf-Herder

                  thank you so much! did you see my request yesterday and do it yourself? or did you have this idea aswell?
                   
                  • cantorsdust

                    cantorsdust Existential Complex

                    I had a dream that I was at the fair with my display, proudly presenting 9 Legendary fish. Then I realized there were only 5, and was desperately trying to figure out which ones weren't legendary before the judges showed up. So I made this mod :p
                     
                      Drogean likes this.
                    • Saitofox

                      Saitofox Scruffy Nerf-Herder

                    • cantorsdust

                      cantorsdust Existential Complex

                    • cantorsdust

                      cantorsdust Existential Complex

                      Updated to version 1.2.0.0.SMAPI for SMAPI 0.39. (Skipped 1.1 internal version, whoops).
                       
                      • Zelnite

                        Zelnite Big Damn Hero

                        Is it possible to make this to be toggle-able? i mean you can turn it off/on while in-game or you can choose which legendary you want to re-catch?
                         
                          Last edited: Mar 24, 2016
                        • cantorsdust

                          cantorsdust Existential Complex

                          You can always uninstall the mod if you want to disable recatching the fish. Reinstalling it will clear your caught legendaries again. But I don't plan on making it toggle-able, I just don't see a big need. My source is open for anyone who wants to make a toggle-able version--just release your mod under GPL v3.
                           
                          • Zelnite

                            Zelnite Big Damn Hero

                            I see, that damn angler won't let me catch him at gold star :wot: , anyway thanks for the heads up and the mod! :)
                             
                            • Norfuer

                              Norfuer Orbital Explorer

                              Just installed it after getting Master Angler
                              (and the Stardrop for that achievement)
                              . Catching me several Glacierfish, and it's looking pretty sweet so far. I still have the achievement. But I've backed up just in case.
                              Just finishing Year 2, don't wanna miss out on the points that Master Angler will give for the Evaluation.


                              ... okay how do you black out the text ala censor bar? >>
                               
                              • curi0

                                curi0 Scruffy Nerf-Herder

                                I just realized that after you disable the mod, you need to recatch all of the legendary fish again. So, if you don't wanna do that, just follow the method below.

                                This fish IDs are just for reference, you don't need to copy them.
                                Angler Fish; ID 160
                                Crimsonfish; ID 159
                                Glacierfish; ID 775
                                Legend; ID 163
                                Mutant Carp; ID 682

                                <fishCaught>
                                (Just copy the fish data below between this fishCaught tags, preferably right above </fishCaught> to prevent mistake)
                                </fishCaught>

                                Note: You need to copy this data into both of your savegame files. Remember to backup them up first.

                                Code:
                                <item>
                                  <key>
                                    <int>160</int>
                                  </key>
                                  <value>
                                    <ArrayOfInt>
                                      <int>1</int>
                                      <int>18</int>
                                    </ArrayOfInt>
                                  </value>
                                </item>
                                <item>
                                  <key>
                                    <int>159</int>
                                  </key>
                                  <value>
                                    <ArrayOfInt>
                                      <int>1</int>
                                      <int>20</int>
                                    </ArrayOfInt>
                                  </value>
                                </item>
                                <item>
                                  <key>
                                    <int>775</int>
                                  </key>
                                  <value>
                                    <ArrayOfInt>
                                      <int>1</int>
                                      <int>27</int>
                                    </ArrayOfInt>
                                  </value>
                                </item>
                                <item>
                                  <key>
                                    <int>163</int>
                                  </key>
                                  <value>
                                    <ArrayOfInt>
                                      <int>1</int>
                                      <int>50</int>
                                    </ArrayOfInt>
                                  </value>
                                </item>
                                <item>
                                  <key>
                                    <int>682</int>
                                  </key>
                                  <value>
                                    <ArrayOfInt>
                                      <int>1</int>
                                      <int>36</int>
                                    </ArrayOfInt>
                                  </value>
                                </item>

                                Between each <item>fish</item> tags:
                                • the first <int> is the fish ID; so you can remove the fish data that you haven't caught yet.
                                • the second <int> is the number of this particular fish that you've caught.
                                • the third <int> is the max size of the fish; I just put the maximum size (gold star) on all of them.
                                 
                                • Redbel

                                  Redbel Void-Bound Voyager

                                  Is this compatible with stardew v1.1?
                                   
                                  • Pathoschild

                                    Pathoschild Tiy's Beard

                                    RecatchLegendaryFish 1.3-beta is now available!

                                    This mod is now maintained by the community, and this is the first official community update. Changes in this release:
                                    • Updated for SMAPI 1.9 and Stardew Valley 1.2.
                                    • Internal refactoring.
                                    Feedback, suggestions, and bug reports are welcome here. The non-beta version will be released once Stardew Valley 1.2 is out of beta. :)

                                    [Edit 2018-01-25: community mods discontinued.]
                                     
                                      Last edited: Jan 26, 2018
                                      Elrohir_of_Rivendell likes this.
                                    • Pathoschild

                                      Pathoschild Tiy's Beard

                                    Share This Page