For those trying to save scum: it looks like rooms are rolled when you sleep, simply rolling back or saving and loading in the classroom will not work. You need to save before you go to sleep.
For the dev:
I decompiled scripts.rpa and have been poking around, I might be able to help you with that.
On lines 72-73 in 1actions.rpy you call:
$ superstore.addToCatalogue(alcopop)
$ superstore.inventory.append(alcopop)
You aren't checking for duplicates before adding the alcopop. Store() is a list internally; I am not familiar enough with renpy to know what the built in Set class is called, but I think python 2.7 has a set class you could use. If you want to do something super hacky and decidedly against multiple design patterns you could do something like superstore.inventory = Store(set(superstore.inventory)), however you do that properly with renpy Store(). I couldn't find the source code for Store() unfortunately. Casting a list as a set and back again obviously destroys information and can cause epicly bad things to happen, so I wouldn't recommend it.
Anyway, so in this scene you can keep drinking beer until you run out since you can't black out. Every single time you do so, another alcopop is added to the shop. Your code is kinda split up weirdly so it is hard to find all these classes and functions I am talking about, but it looks like you use a list to populate the store's catalogue, each element of which is appended to the store's inventory.
Instead of directly adding items to the store in scenes like my example, perhaps only add the items to the catalogue, then clear() the superstore's inventory and populate it with the catalogue every time you go to the store. If you want to have a limited supply of items you can assign a variable in a loop that copies the catalogue into the inventory the desired number of times for each item. Or better yet just use the catalogue directly, do not remove items from the catalogue like you do with superstore.inventory allowing you to buy as many as you have money for. It's not like a store is going to run out of alcohol or condoms after all.
Other thoughts/bugs:
The movie scene with the daughter does not check the unlimited items flag for the mc_pills if you used the cheat. Since you can put up to 4 in before her control caps this is actually pretty important. Until that is fixed, anyone who forgets to buy more pills can add them with inventory.add(mc_pill)
Roughly 30% of the time there was no event generated for the lounge, classroom, and hallway. Dead days suck. Since the lounge at best only give 1 affection to the person of you choice, maybe make it always there rather than random?
Not to shit on your organization or anything, but you might want to tidy things up a bit. Your game is small enough at the moment that having declarations spread out weirdly and not having a lot of consistency isn't going to slow you down quite yet, but it will eventually. It's also possible I'm just retarded and can't see how you are organizing things. I'd need to see your Design Document to know
.
After you have seen both dreams, it would be nice if a menu popped up letting you choose which to see. Once you add the other two dreams I see declarations for it might be worth the effort. It's 50/50 right now with the random roll occurring a single frame back so it is very easy to rollback scum.
The dialogue is pretty fucking hilarious, especially smashing the thermostat, keep it up man! You're doing great!