Sundew Farms Research Division Presents: Animal Mechanics

Discussion in 'General Discussion' started by SunTide, Oct 26, 2016.

  1. Shiverwarp

    Shiverwarp Starship Captain

    Well, because you're raising sheep, having medium amounts of happiness will not be as extremely detrimental like it would be for things that produce deluxe produce (The punishing mood score where it multiplies by -2, only happens when calculating Large Milk/Eggs, Rabbit feet, and Duck feathers) If you have enough mood for them to produce at all, and they've eaten, and it's been enough days since they last produced, then they will. Mood will only then be used to calculate the quality, and since you have shepherd, you'll get a bonus chance at higher quality.
     
    • nevyn21

      nevyn21 Cosmic Narwhal

      Results of 7 day testing (Almost same circumstances as Case 3. Petted and sheared, barn closed by 10pm, player in bed by 11pm):

      Starting from Day 3

      Day 3 Spring 19th
      :

      Weather: Sunny Luck: Neutral Forecast: Rain
      General Mood of flock: Really Happy
      Iridium Wool: 14 Silver Wool: 7
      Gold Wool: 8 Wool: 0
      Producton: 29/60 :)

      Day 4 Spring 20th:

      Weather: Rain Luck: Good Humor Forecast: Sunny
      General Mood of flock: Really Happy
      Iridium Wool: 12 Silver Wool: 7
      Gold Wool: 7 Wool: 0
      Producton: 26/60 :)

      Day 5 Spring 21st:

      Weather: Sunny Luck: Very Displeased Forecast: Sunny
      General Mood of flock: Really Happy
      Iridium Wool: 14 Silver Wool: 5
      Gold Wool: 8 Wool: 0
      Producton: 25/60 :)

      Day 6 Spring 22nd:

      Weather: Sunny Luck: Mildly Perturbed Forecast: Sunny
      General Mood of flock: Really Happy
      Iridium Wool: 13 Silver Wool: 5
      Gold Wool: 5 Wool: 0
      Producton: 23/60 :)

      Day 7 Spring 23rd:

      Weather: Sunny Luck: Good Humor Forecast: Sunny
      General Mood of flock: Really Happy
      Iridium Wool: 14 Silver Wool: 4
      Gold Wool: 7 Wool: 0
      Producton: 25/60 :)

      These results are steady and don't reflect the penalty for being awake past 7pm. Going to bed at 7pm was killing my production. I don't know what's going on.
       
        Last edited: Oct 31, 2016
        Shiverwarp likes this.
      • Shiverwarp

        Shiverwarp Starship Captain

        At what time were you checking their mood message, out of curiousity?
         
        • nevyn21

          nevyn21 Cosmic Narwhal

          When I pet them in the morning before letting them out.

          Edit: I've attached my savefile, in case anyone wants to experiment.
           

            Attached Files:

            Last edited: Oct 31, 2016
          • Shiverwarp

            Shiverwarp Starship Captain

            Alright, so when you go to sleep, they'll be at 150 Mood, which is when their produce is decided. (Because they're sheep this isn't so bad, they don't have a chance for Deluxe produce anyway) They'll gain +10 from the fact you fed them, putting them at 160 mood. Because you're shepherd, you'll gain 70 Mood from petting (Normally for sheep you'd get 35), that puts you at 230 Mood, which gives you the "Really happy" message.

            So what happened was, you were overflowing their Mood in your first two cases, because you were going to bed early, leaving your animals with higher mood, so your large bonus to petting from Shepherd was actually hurting their mood because of the rollover bug.
             
              nevyn21 likes this.
            • nevyn21

              nevyn21 Cosmic Narwhal

              So when I was going to bed at 7pm my Shepherd bonus was tripping the stack overflow error with Mood. Ok, makes sense now. :) So if I want max mood I need to sleep at 9pm? Will try.
               
                Last edited: Oct 31, 2016
              • Shiverwarp

                Shiverwarp Starship Captain

                Well it makes things pretty complicated for you, because you're much more likely to trigger the overflow. If you didn't lose friendship for not petting, I would suggest that option, but sadly... Well, it would be just fine for your sheep that were already max friendship, because they would only lose 5 points of friendship for not being pet, which would get refilled for eating grass outside.

                I think probably the optimal way for you would be to pet them, let them eat grass outside, and then yeah, go to bed at 9PM (Should leave them with around 175 Mood when you go to sleep, giving you the highest mood without causing the roll over or losing friendship)
                 
                  nevyn21 likes this.
                • nevyn21

                  nevyn21 Cosmic Narwhal

                  Honestly, I'm just glad you figured it out. It was driving me crazy.
                   
                  • Shiverwarp

                    Shiverwarp Starship Captain

                    If I were you I would just be lazy and stay awake late, the 25 extra mood probably isn't worth it lol. Sheep lose 5 mood per 10 minutes, but that only starts when they go inside, if one somehow has weird pathing and stays outside a long time, their happiness will go up, and you might roll them over. Staying awake makes sure you won't.

                    Pretty shit situation, to be honest. I hadn't even considered the possibility of rolling over from lower mood amounts.
                     
                    • nevyn21

                      nevyn21 Cosmic Narwhal

                      I just want to get them consistently above 200 so I can check and see if Shepherd can make them produce daily. My income would be sick then.
                       
                      • Shiverwarp

                        Shiverwarp Starship Captain

                        You don't need 200 mood to reduce their time to produce. You already have shepherd, that reduces the time by a day. The following code is what determines if an animal will produce something that day:
                        Code:
                        bool flag2 = this.daysSinceLastLay >= this.daysToLay - ((this.type.Equals("Sheep") && Game1.getFarmer(this.ownerID).professions.Contains(3)) ? 1 : 0) && random.NextDouble() < (double)this.fullness / 200.0 && random.NextDouble() < (double)this.happiness / 70.0
                        It checks the time since the animal last created produce (It's increased every time you sleep, before this particular snippet is evaluated.) Then it sees if the "days to lay" is the same, or less than that amount. If it's a sheep and you're a Shepherd, it reduces the requirement by a day. The rest just checks if the animal was fed, and whether they have over 70 happiness. [There's a chance they'll still produce if below 70 happiness, but that's not important in this case]

                        The OTHER thing that reduces the time to lay for sheep, which is by default 3, is this bit here that happens whenever you pet an animal:

                        Code:
                                    if (this.type.Equals("Sheep") && this.friendshipTowardFarmer >= 900)
                                    {
                                        this.daysToLay = 2;
                                    }
                        Which just sets the days required to produce to 2 if it's a sheep and you have 900 or greater friendship (4.5 hearts)
                         
                          Last edited: Oct 31, 2016
                        • Magistrella

                          Magistrella Big Damn Hero


                          so that means that sheep can not produce wool every day even if you have sheperd and max friendship? >.>

                          Which would make sheperd... useless if friendship is maxxed out? ><
                           
                          • Shiverwarp

                            Shiverwarp Starship Captain

                            No I think you're confused by the way the boolean flag2 is evaluated. It doesn't actually change the value in daysToLay, it just subtracts 1 if it's a sheep before it evaluates.

                            When it sets the daysToLay is irrelevant, as long as you've pet the animal, it will set it.

                            However... the fact that nevyn hasn't seen his sheep producing every single day is confusing, and makes me think there's something else weird happening.
                             
                              Last edited: Oct 31, 2016
                            • nevyn21

                              nevyn21 Cosmic Narwhal

                              Once every two days is already pretty good, now that the issues I was having is nailed down. Daily would have me laughing all the way to the bank, with Scrooge McDuck levels of wealth. What does this mean for winter, btw? What would be my optimal sleep-time?
                               
                              • SunTide

                                SunTide Scruffy Nerf-Herder

                                Could someone with a more active presence than me in social media try to reach CA via Twitter or some such? It has been over a week since he logged into these boards, and I'm also not sure he noticed the reddit post about this issue. This is, no joke, a really huge issue, cluster of issues, even. I know that CA is working on ports of SDV right now, but that makes it even more important for him to know about this problem.
                                 
                                  Last edited: Oct 31, 2016
                                • nevyn21

                                  nevyn21 Cosmic Narwhal

                                  I don't have a twitter account unfortunately. I agree, this issue is no joke and doesn't need to make it into the console versions. The way I see it, what really needs to happen is the following:

                                  Item 1: The stack over-flow issues with the Mood variable needs fixed.

                                  Item 2: The mood affects of when the player sleeps needs removed or just changed to coming into affect if there are no heaters in winter. Trying to counter a negative effect by giving heaters a positive effect is counter-intuitive and causing problems. If it where just a negative effect that kicks in in winter with no heaters present this would be better.

                                  Really, Item 2 seems to have reworked because of Item 1. Or at least it looks that way to me.
                                   
                                  • SunTide

                                    SunTide Scruffy Nerf-Herder

                                    I would add 3) the sign switch at 200 doesn't make sense and was probably not intentional. I just can't believe that having "sad" be better than "fine" is the game working as intended.
                                     
                                      nevyn21 likes this.
                                    • nevyn21

                                      nevyn21 Cosmic Narwhal

                                      *sigh* I thought I had a handle on my bedtime and then I hit Spring 24 or The Flower Festival. If I attend my production the next day tanks, even though I was in bed at 11pm as usual. If I don't attend and still go to bed at 11pm my production is fine. Turns out when the game skips time, as in festivals days, the mood effect does *not* kick in and my Shepherd bonus tripped the mood bug. :(
                                       
                                      • Shiverwarp

                                        Shiverwarp Starship Captain

                                        It's actually a bit strange to me that you're seeing production tank in that way. What order are you petting, shearing, and letting them outside to eat grass?

                                        Because even if they're high happiness in the morning, and you pet them and shear them, and get the "is sad" message, after you let them outside and they eat grass they should be set back to 255 happiness again and you should get the "Very happy" message, and the only time that the mood value matters is when you go to bed and produce is rolled.

                                        Edit: Nevermind. See below

                                        Well I found another bug. Sheep don't have a deluxe produce index set in FarmAnimals.xnb, it's set to (-1) Same with Pigs, and Dinosaurs. The code makes no affordances for this, so if your Pig, Sheep, or Dinosaur ROLLS WELL for Deluxe produce... it will NOT produce that day. This means that if you're at max friendship and mood with a Sheep/Pig/Dinosaur, they will never produce anything ever. Thanks so much for helping me find this nevyn21, I wouldn't have seen it without your testing.

                                        I think this may actually be the worst bug of them all.
                                         
                                          Last edited: Oct 31, 2016
                                          ChaosAzeroth likes this.
                                        • nevyn21

                                          nevyn21 Cosmic Narwhal

                                          *bangs head against desk*

                                          Item 4) Being at max friendship and mood with sheep, dinosaurs and pigs causes them to produce nothing.
                                           

                                          Share This Page