Recent changes made cigs last 6 times longer, leading to 6 times the smoke.
Also I have never seen anyone except for the biggest chain smoker hit their cig every 1 second.
Smoke a cig
Change it so while smoking your character hits the cig every 6 seconds with smoke being produced then too instead of every second.
Use it to your advantage.
Applies to placeable smoking racks too, the amount of smoke is several times greater than before the 1s turn update.
Smoked a joint, filled an entire large basement with smoke with one joint.
I see what the problem is, but this looks like just the tip of the iceberg.
Taking a cigarette for example, it takes the average character 1 minute to smoke it. (30 second with tolerance, 2 minutes with lightweight) After the time change it's still one minute, so far so good, right? The problem is the effects are meted out not by clock time but by ticks. The drug effects are passed to the player every two ticks, and a smoke cloud is released every 5. Before the time change, that was 5 inhales and 2 smoke clouds per cigarette. After the time change, that's 30 inhales and 12 smoke clouds, because there are now six ticks for every one prior.
The obvious fix is to change it to inhale every 12 ticks and blow smoke every 30, but this has to be done for a lot more than just cigarettes, because this stuff is all over the code. Somebody might have to go through top-to-bottom so as to get them all.
Update: I had a half hour free so I just did a quick bit of patching and testing, and now I'm not sure what's up anymore. I can fix the cartoon chain-smoker thing so you're not taking a puff every other second, but something's up with the smoke generation in item.cpp. The smoke-producing code I was looking at doesn't seem to do much of anything -- I even removed it completely, and the cigarette still pumps out roughly the same amount of smoke.
I'm out of time but will look again when I have a chance.
Most helpful comment
Use it to your advantage.