I touched on meeting Elliot earlier in the original post, but I will expand on how the billboard works for those who are interested.
The game uses the C# Random class for most of its RNG checks. For determining what the type of quest will be, the game uses Random((int)Game1.uniqueIDForThisGame + (int)Game1.stats.DaysPlayed). uniqueIDForThisGame (commonly known as game seed) is a number saved to your game save that is used for a lot of RNG calculations. DaysPlayed is self explanatory. The key thing is that each day, the seed passed into Random will increase by 1 each day. A RNG result is a number between 0 and 1. To determine the type of quests, this Random is called once. When a Random is called once and the seed has increased by 1, the result increases by ~0.5224253141891330 (ignore any whole numbers). This means that every 2 days the result increases by ~ 0.044850628378266
To determine what quest you get on the billboard, the following ranges are used.
0 - 0.08 - Resource Collection (e.g. Clint asking for ores)
0.08 - 0.18 - Slay Monster Quest
0.18 - 0.53 - Nothing
0.53 - 0.6 - Fishing Quest
0.6 - 1 - Item Delivery Quest - This is the one we want.
By a (fortunate?) coincidence, the person who is chosen as the recipient uses the same RNG result as selecting the type of quest, and it is tied into how many people you know and the order that you meet them.
If Haley was the only person met, then the quests will always be for Haley.
As mentioned above, opening your inventory meets Pierre and Robin. I do not want to go through a play through not being able to open my inventory (no crafting!).
By meeting Robin and Lewis first, then Haley, the ranges for whoever is chosen looks like:
0 - 0.333... - Robin
0.333... - 0. 666... - Lewis
0.666... - 1.0 - Haley
Note that since we can only get Item Delivery Quests from 0.6 - 1.0, we will never get a request for Robin.
If the RNG result on the 2nd is 0.67, then the numbers look like:
2 | 0.67 |
4 | 0.7148506284 |
6 | 0.7597012568 |
8 | 0.8045518851 |
10 | 0.8494025135 |
12 | 0.8942531419 |
14 | 0.9391037703 |
16 | 0.9839543986 |
Guaranteeing Item Delivery Quests for Haley from the 2nd to the 14th (Note 12th has no quests due to being a day before a festival).
If I meet Elliot on the 13th, then the ranges look like:
0 - 0.25 - Robin
0.25 - 0.5 - Lewis
0.5 - 0.75 - Haley
0.75 - 1.0 - Elliot
And Elliot takes the last quest on the 14th. I lose 150 points to gain 100 points.
The last thing to consider is meeting Elliot before Haley:
0 - 0.25 - Robin
0.25 - 0.5 - Lewis
0.5 - 0.75 - Elliot
0.75 - 1.0 - Haley
If the RNG result is 0.75 on the 2nd:
2 | 0.75 |
4 | 0.7948506284 |
6 | 0.8397012568 |
8 | 0.8845518851 |
10 | 0.9294025135 |
12 | 0.9742531419 |
14 | 0.01910377027 |
And we don't get a billboard quest on the 14th.
The numbers are close, but they aren't there for meeting Elliot before the 14th unfortunately...