My idea for how to make all of this doable without creating too large of a mess for myself is to make dsb_lock_game() take a bitflag as an argument. If it is passed nothing, for the sake of backward compatibility, that will be taken to mean "all flags." The separate flags, though, would then be:Joramund wrote:Well, something like freeze time would do the job, except the party arrow movement should also be blocked. Of course if it's not possible to change the game state (such as moving objects around etc.) it's not very interesting.Sophia wrote:So it would allow mouseclicks, but nothing else?
How about mouseclicks on dungeon objects? Can the party pick things up? How about changing the gamestate in general?
- FLAG_ACTUATORS = stop the party from being able to click on anything or trigger anything.
- FLAG_MOVEMENT = stop the party from being able to initiate a move
- FLAG_MAGIC = stop the party from casting spells
- FLAG_INVENTORY = stop the party from accessing inventory
- FLAG_ATTACK = stop the party from opening an attack method or from triggering an attack method
- FLAG_MESSAGES = stop all message timers
- FLAG_FLYERS = stop all flying object timers
- FLAG_CONDITIONS = stop all condition timers
- FLAG_MONSTERS = stop all monster timers.
This would deprecate the gameflag now used to handle Magic Boxes, and they would be done this way instead.
Anything I missed?