RELEASED Longevity v1.3->v1.4 (w/DNPCC)

Discussion in 'Mods' started by RTGOAT, Dec 31, 2016.

  1. RTGOAT

    RTGOAT Cosmic Narwhal

    @joykiller91

    It sounds like the replanter is using hardcoded values.
    I can't do anything about that :(

    Seed prices are a large significance to Longevity's balance; your gameplay results will be different.
     
    • joykiller91

      joykiller91 Astral Cartographer

      @RTGOAT aah oh well~ raising the labor fee of the replanter might balance it a bit and it's just for single harvest crops anyway. No worries :D I do still have to buy for new seeds anyway hehe.
       
        RTGOAT likes this.
      • RTGOAT

        RTGOAT Cosmic Narwhal

        Longevity v1.4 & Dynamic NPC Clothing R2:

        This is a smaller update to Longevity because a lot of planned features are still being developed,
        and I also had something important that I wanted to get out to you guys as soon as possible.

        I was originally going to wait until I had more content to release a new version, however, these new features have become a bit more
        complex and time consuming than I had initially thought (last semester of college has me constricted for time as well).


        Longevity v1.4 Changes (Small Balance Changes):
        • All fish have been reduced by 20% of their base price
        • Stamina balance changes for tools are now more consistent (This is a setup for more complex balance changes to come)
        • Small code optimizations

        Dynamic NPC Clothing R2 (Main addition/change for v1.4):

        *To understand and properly customize the new DNPCC system, please ready carefully!


        DNPCC no longer reads a hard-coded list of .xnb files to change NPC sprites&portraits.
        Sprites&Portraits are now read through a file system that can be changed/altered by the user!

        The list of current triggers are as followed:
        • Season (Spring, Summer, Fall, Winter) /w indoor&outdoor variation
        • Rain (Non-Winter seasons only) /w indoor&outdoor variation
        • Beach Location (Only for Spring/Summer)
        These are all the triggers necessary for the current default content.
        I will add more as requested and as more community content is submitted.

        Default content is already installed in their intentional locations; these should be used to help you understand how the file system works.
        The naming convention if you would like to use one of these triggers to add your own xnb file for a character is below:

        1) - All files start with: RT_
        2) - Specify if it is a portrait or sprite by: P_ (portrait) or S_ (sprite)
        3) - Character/NPC name: Name_
        4) - Xnb Trigger: (This will be the file path starting from inside DNPCC) ; ex: Fall_Indoors

        Example file name: RT_S_Lewis_Spring_Rain_Indoors.xnb
        This sprite file will be applied to Lewis during spring when it rains and he is indoors.

        TO INSTALL:
        -Place the DNPCC folder that comes with Longevity into your game's content folder...
        (You should have a DNPCC folder in your content folder next to folders such as 'Characters' or 'Maps')​

        *NOTE 1: If you only have an outdoor variation for a sprite/portrait, be sure to duplicate the file for both indoor and outdoor triggers.
        If you only apply a sprite/portrait to outdoor and not indoor, the absence of an indoor file for that NPC will cause them to user their default sprite/portraits when indoors.​

        *NOTE 2: Feel free to delete any custom files that you had installed in your 'Characters' / 'Portraits' folder from DNPCC R1.

        *NOTE 3: This file system is subject to change for improvements in future versions;
        any customization you've applied will need to be redone if this file system changes in future versions

        I will be around to patch v1.4 if any issues are reported, and to also answer any questions you may have.
        (I understand this system can be a bit complex, don't be afraid to ask for clarification)

        I have some larger features and a new content mod that I'll hopefully be able to introduce in v1.5!

        Thank you guys!

        Link: Download v1.4.0!
         
          IronZelly and anothersarah like this.
        • RTGOAT

          RTGOAT Cosmic Narwhal

          UPDATE (v1.5):

          While I continue to work on Longevity, I wanted to give an update as to the current functions in development,
          and also how they'll be implemented, as well as when they'll be introduced.

          I hope to have v1.5 finished before the end of this month (Feb).
          Please be sure to voice suggestions or any feedback.

          MoreCropsMod Annex (v1.5):

          I'm currently working on implementing 'MoreCropsMods' as the author appears to be absent.

          'MCM' will come with the necessary edited .xnb files to add crop content.
          (Any mods that edit an xnb file that MCM edits will be incompatible)

          I will be implementing MCM by adding new crops into my price balancing and DR functions.
          I will also overwriting shop stocks to add new crops and to also have more control over the shop stocks for future features.


          Statistics and Economic Reports (v1.5-v1.6):

          This will be a set of reports and information that the player can access at anytime to help keep up with current and new features.


          Dynamic NPC Dialogue (v1.6):

          While including more dialogue overall, I want to create a more interactive dialogue system that better engages the player.
          This mod segment will also connect and work alongside default DNPCC content.


          Business Competition (v2.0; this will take time):


          If Pierre has to compete against Joja Co, so too should the player.

          [Pepsi v. Coca Cola]:

          I want to introduce a new mechanic with fruit trees that will create a long-term investment type idea.
          (I understand this was their initial intention, but done poorly in my opinion)

          Fruit from fruit trees will yield two types of fruit (Randomly determines which type you get on harvest):
          -Fermented: This is your normal fruit tree fruit that can be placed into kegs to produce wine.
          -Non-Fermented: This will be a different type of the same fruit that, when placed into a keg, will produce a soda.
          Selling soda will provoke a response from Joja Co.
          This will start numerous Pepsi v. Coca Cola type events that will have win and lose conditions for the player.

          The largest pro of the soda industry; soda will be immune to DR as it can be shipped globally [Soda will be high profit].
          This will also place the player within an industry (this industry will be worldwide and complex).

          You will need to interpret economic reports to make solid decisions on your soda brand.
          I'll disclose more information if anyone has questions.

          [General Competition]:

          If you give your business to Pierre, Joja Co will see little reason to sell seeds (You're the only farmer and you buy seeds from 1 of 2 business).
          Their competition will pivot to compete with not just Pierre, but the player also.

          Scenarios for the player will arise leading to decision making that can benefit or harm you.
          This can all be interpreted from reports.


          I'll be working on these as much as I can!
          Again, please be sure to voice suggestions or any feedback.
           
            IronZelly, Aveloren and xangria like this.
          • xangria

            xangria Subatomic Cosmonaut


            First, I really like the soda (pop, as we call it) idea. It would add another interesting level of complexity.

            Second, have you looked at the unofficial update to the MoreCrops mod? Would you be introducing compatibility with it, or making a standalone version within Longevity based on the old one?
             
            • RTGOAT

              RTGOAT Cosmic Narwhal

              @xanqria Thanks for the feedback!

              It will be standalone; there will be no need for it to be compatible with whatever TenkoKuugen is doing.
              The reasoning is that I plan to add a few items for the sodas, therefore, I will need control over xnb edits in the future.

              Hopefully I answered your question.
               
              • xangria

                xangria Subatomic Cosmonaut

                Thanks, that makes sense.
                 
                • TQRiver

                  TQRiver Void-Bound Voyager

                  Hi I just got your mod and installed it. The DNPCC folder is in the content folder and the Longevity folder is in the mod folder. The mods I have include: Better Ranching, Experience Bars, Gift Taste Helper, Harvest with Scythe, Loved Labels, NPC Map Locations, Part of a Community, Simple Crop Label and of course, Smapi. I also have some custom sprites and portraits.

                  Problems:
                  1.I don't see any of the sprite or portrait changes from your mod, I thought they would just overwrite the custom ones I had. Do I need to replace the custom ones with the default ones to see yours?

                  2. Game crashes when I sleep.

                  Below is my error log, I noticed the first few errors during the day while playing and the last one about TimeEvents is the last error before my game crashed. The Void Starvew Valley error didn't cause my game to crash. Only sleeping did.


                  [18:26:39 ERROR SMAPI] A mod failed handling the LocationEvents.CurrentLocationChanged event:
                  System.MissingMethodException: Method not found: 'Void StardewValley.Item.set_Name(System.String)'.
                  at Longevity.DiminishingReturn.CopyShippingBin()
                  at Longevity.Main.CurrentLocationChanged(Object sender, EventArgs e)
                  at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                  [18:26:39 ERROR SMAPI] A mod failed handling the PlayerEvents.InventoryChanged event:
                  System.MissingMethodException: Method not found: 'Void StardewValley.Item.set_Name(System.String)'.
                  at Longevity.DiminishingReturn.CopyPlayerInventory()
                  at Longevity.Main.InventoryChanged(Object sender, EventArgs e)
                  at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                  [18:26:39 ERROR SMAPI] A mod failed handling the TimeEvents.TimeOfDayChanged event:
                  System.MissingMethodException: Method not found: 'Void StardewValley.Item.set_Name(System.String)'.
                  at Longevity.Price.UpdateItem(String[] itemArrayName, Double[] itemArrayPrice, Int32[] itemArraySeason, Int32 itemIndex, String influenceType, Int32 updateType, Chest chest)
                  at Longevity.Price.UpdateInventory()
                  at Longevity.Main.SetAndUpdatePrices()
                  at Longevity.Main.TimeOfDayChanged(Object sender, EventArgs e)
                  at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                  [18:26:44 ERROR SMAPI] A mod failed handling the TimeEvents.DayOfMonthChanged event:
                  System.NullReferenceException: Object reference not set to an instance of an object.
                  at Longevity.DiminishingReturn.ShippingItemSales()
                  at Longevity.Main.DayOfMonthChanged(Object sender, EventArgs e)
                  at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                  [18:26:44 ERROR SMAPI] An error occured in the base update loop: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
                  at StardewValley.Game1.Update(GameTime gameTime)
                  at StardewModdingAPI.Framework.SGame.Update(GameTime gameTime) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\SGame.cs:line 313
                   
                  • RTGOAT

                    RTGOAT Cosmic Narwhal

                    @TQRiver

                    Thanks for the detailed report!

                    It looks like the errors are all raised by the same issue, "Void StardewValley.Item.set_Name(System.String)".
                    Longevity is trying to use this method when creating new objects.

                    My best assumption is a mod conflict since you're the only one with this issue, currently.

                    You don't need default content for DNPCC to work as it works independently of the game's default content.
                    The reason you don't see NPCs changing is because of the error being raised when switching locations.


                    The best place to start would be to remove all other mods.
                    If the mod runs fine without any other mods, put them back in 1 by 1. (Test each instance by loading the game and changing location at least once)
                    When an issue arises after putting a mod in, you can assume a conflict.

                    Post back results and I can help you from there.
                     
                    • TQRiver

                      TQRiver Void-Bound Voyager

                      Hi,

                      Thanks for the fast response!

                      I did what you said and took out all of my mods. For the record, I have SMAPI 1.9 beta5 and Stardew 1.2.7. Not sure if that has anything to do with the errors. This is the error code that I still get:


                      [19:32:51 ERROR SMAPI] A mod failed handling the LocationEvents.CurrentLocationChanged event:
                      System.MissingMethodException: Method not found: 'Void StardewValley.Item.set_Name(System.String)'.
                      at Longevity.DiminishingReturn.CopyShippingBin()
                      at Longevity.Main.CurrentLocationChanged(Object sender, EventArgs e)
                      at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                      [19:32:51 ERROR SMAPI] A mod failed handling the PlayerEvents.InventoryChanged event:
                      System.MissingMethodException: Method not found: 'Void StardewValley.Item.set_Name(System.String)'.
                      at Longevity.DiminishingReturn.CopyPlayerInventory()
                      at Longevity.Main.InventoryChanged(Object sender, EventArgs e)
                      at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                      [19:32:51 ERROR SMAPI] A mod failed handling the TimeEvents.TimeOfDayChanged event:
                      System.MissingMethodException: Method not found: 'Void StardewValley.Item.set_Name(System.String)'.
                      at Longevity.Price.UpdateItem(String[] itemArrayName, Double[] itemArrayPrice, Int32[] itemArraySeason, Int32 itemIndex, String influenceType, Int32 updateType, Chest chest)
                      at Longevity.Price.UpdateInventory()
                      at Longevity.Main.SetAndUpdatePrices()
                      at Longevity.Main.TimeOfDayChanged(Object sender, EventArgs e)
                      at StardewModdingAPI.Framework.InternalExtensions.SafelyRaiseGenericEvent[TEventArgs](IMonitor monitor, String name, IEnumerable`1 handlers, Object sender, TEventArgs args) in D:\source\_Stardew\SMAPI\src\StardewModdingAPI\Framework\InternalExtensions.cs:line 57
                       
                      • RTGOAT

                        RTGOAT Cosmic Narwhal

                        @TQRiver

                        "Stardew 1.2.7"

                        Thats the cause!
                        Longevity doesn't support any version passed 1.11

                        It will become compatible for newer versions as they are finalized (SDV 1.2 is still in beta).


                        I would like to help sooner, but I don't use SDV 1.2 beta, nor do I have time to keep up with
                        any quick changes they make up to its final release. (

                        At least now I know I have some upcoming updating work to do :S
                        Thanks for the reporting!
                         
                        • TQRiver

                          TQRiver Void-Bound Voyager

                          I opted out of beta and it seems to be working now, though the sprites and portraits still aren't show up.
                           
                          • RTGOAT

                            RTGOAT Cosmic Narwhal

                            What is the current season in your game?
                            You can look in the DNPCC folder and explore the triggers.

                            Do you know which NPCs should be changed and when?

                            Make sure you have DNPCC enabled in the config...
                            I'll look into it a bit more to see what the issue may be for you.
                             
                              Last edited: Feb 18, 2017
                            • TQRiver

                              TQRiver Void-Bound Voyager

                              It says true in the config.json Longvity mods folder. I'm in spring and Sebastian hasn't changed at all.

                              Also, when I look at how much each item gives me when shipped (in the collections tab) it still says the same amount for each item as before the mod. I am not sure the mod is actually working?
                               
                              • RTGOAT

                                RTGOAT Cosmic Narwhal

                                @TQRiver

                                I've tested the xnb to make sure its the right texture, and it is.

                                I'll do some quick testing to see if the trigger is broke.


                                Edit: I've made a typo mistake in the file name for the indoor/outdoor portrait files for Sebastian.

                                In 'spring->indoors' & 'spring->outdoors':
                                the portrait files for Sebastian misspell his name. (Marked as 'Sebsatian')

                                However, you claimed his sprites arnt changing either; those work fine on my end.

                                I'll be around tomorrow to patch my typo mistake, and hopefully fix your issue if you havn't figured it out yourself by then.
                                My best assumption is a misplacement of the DNPCC folder.
                                Your game environment is much different from mine, so it is hard to pinpoint the exact issue.
                                 
                                  Last edited: Feb 18, 2017
                                • brutus87

                                  brutus87 Void-Bound Voyager

                                  HI!! New the the community (only been playing the game for a week or so)

                                  I have a few quick questions - do we have to install Longevity to use the Dynamic Clothes?
                                  Question 2 - if we haven't installed any mods, will clicking the download link here give all that is needed to install and run the above in SDV 1.1 with the SMAPI console already installed? Haven't done anything significant yet but this looks like it could be cool so I wanted to check :D
                                   
                                    Last edited: Feb 19, 2017
                                  • RTGOAT

                                    RTGOAT Cosmic Narwhal

                                    @brutus87 Welcome to the community!!

                                    Longevity is my platform that will host all current and future modding features.
                                    A config is provided to allow you to pick and choose which of these main features you would like to use or opt out of.

                                    If you already have SMAPI, then all you need is my mod files provided through the posted link.

                                    Don't be afraid to ask any follow up questions if you have them.
                                    Thanks!
                                     
                                    • RTGOAT

                                      RTGOAT Cosmic Narwhal

                                      Progress Update (v1.5):

                                      Longevity v1.5 is just around the corner.
                                      The main addition being the integration of MoreCropsMod.

                                      I would like to also finish information menus for v1.5; however, if those require more time,
                                      I will prioritize releasing v1.5 with MCM and delay info menus until v1.6.

                                      [​IMG]

                                      *Note prices shown above are just test values, not actual.
                                       
                                        IronZelly likes this.
                                      • TQRiver

                                        TQRiver Void-Bound Voyager

                                        Hi,

                                        I'm not sure Longvity is working? I am still selling things at a really high price, cranberry wine I sold for 500g for example. I have also gone the last 10 days in spring with no taxes. I am on the first day of summer and no water tax was taken off.
                                         
                                        • RTGOAT

                                          RTGOAT Cosmic Narwhal

                                          @TQRiver

                                          Yeah, something isn't working properly...

                                          I'm going to go through the list of mods you said you were using alongside Longevity to see if it is a mod conflict.
                                          Those mods you run are the only difference between your game environment and mine.


                                          If you would like to be proactive with the issue:
                                          Play until you hit day 28.
                                          At day 28, remove all other mods excluding Longevity.
                                          Reload the game and play through day 28, and then go to day 1 of the next season.
                                          Taxes should trigger.

                                          Until then I'll do my best to figure out if and which mod is creating an issue.


                                          Edit 1: I've installed every mod you listed; my taxes and price balancing functions are all working.
                                          The only other difference left is that you're using SMAPI 1.9.5 beta and I'm developing with SMAPI 1.8

                                          Edit 2: "SMAPI 1.9 beta5 is for SDV 1.2 only"; if you're still using SMAPI 1.9.5 beta, revert back to SMAPI 1.8
                                           
                                            Last edited: Feb 20, 2017

                                          Share This Page