Whether it is acceptable is a matter of preference. But yeah, it has same effect as fudging if you decide those things only after the creature has entered play. Like if you leave hit points blank and only decide how many they have once the battle has been going on a while, then that's fudging. This is why I say you're not getting it, how cannot you see that this sort of thing has the same effect than the GM deciding the dice results?
Because it's not. It's really not the same thing at all. Because the HP of the creature would be established after the first hit. I mean, heck, I'm so open about this, the creatures have a HP bar running down the side of their token. The players know pretty well how many HP a creature has as soon as it takes damage. So, I couldn't actually do that, and it would be fudging, because I am contradicting established fiction. The creature has been hit, the creature has taken damage, and the players can literally see that.
But, deciding that my Deathlock has a particular invocation, which it absolutely could have according to the rules, at any point in time isn't fudging in the slightest. It is not contradicting anything in the game rules, nor is it contradicting any established fiction. There is no fudging going on here when I am not, in any way, contradicting anything. Even the most basic form of fudging - changing die rolls- is fudging because established facts are being changed - a hit is turned into a miss, or a creature is suddenly less damaged than it was before, that sort of thing.
No, I'm pretty sure they're rules. They definitely look like rules.
How so? You are encouraged to change anything and everything in that stat block. You, the DM, are 100% allowed to change every single thing in that stat block. This isn't suddenly deciding that the PC's attack bonus is lower than it is or the baddie's established AC is suddenly higher. Until it's established in the fiction of the game, every single thing on that stat block is 100% up for grabs.
/snip
It depends on when you decide those things.
I am really not a fundamentalist about this like some. I don't think this is necessarily a bad thing, and in practice it might be hard to decide everything beforehand. I get why one might want to do this, I'm sure I have sometimes. But more you do it more the game will proceed via GM fiat. Whether you think that is a bad thing or not is a matter of preference.
No, it really, really doesn't. It doesn't matter when you decide these things. Well, actually, the only time it does matter is if you are changing things that are previously established. That's fudging and I agree that's bad. It leads to the players being very confused about the game and often leads to some pretty bad feelings all the way around.
But before it's established? Every single thing you do is DM fiat. You change the stat-blocks. You said that you do. That's 100% DM fiat. You have decided that you will not change them after they hit the table. Fair enough. That's great. But, there's no particular reason why that's required. You ignore stat blocks every single time you sit down to run the game because there are things missing in the stat blocks. Deciding where the monsters attack is 100% DM fiat. Deciding monster tactics - fiat. Does that monster run out of arrows? No? Fiat. On and on and on.
Suddenly complaining about DM fiat is too little too late. The game is based on rulings not rules for a reason. It's not "rulings not rules unless it's a stat block of a monster you've introduced in play". This notion that timing suddenly makes all the difference doesn't carry any water for me. If I decided that the caster monster had a familiar (something virtually any caster monster certainly could have), it doesn't matter when I decided that. So long as I am not contradicting anything previously established, you can't raise the fudging flag.
Fudging is always about contradicting established game elements. Nothing in a stat block is established unless it's established in play.