Does it mean in LSL3's room's initial room 200 when you look at the plaque, flag event 18 is set in global 112 due to 111+int(18/16) (111+1) and likewise when you use binocular for flag event 16 due to 111+int(16/16)?
In the OG code, global 111 is named
flagArray and its definition is followed by an enumeration of flags by name. Each first flag in a set of sixteen has its matching global number in a comment, so it goes:
logging ;*** 111
loadDebugNext
....
inQA
forceAtest
beenIn206 ;*** 112
beenIn200
beenIn203
...
beenIn266 ;*** 113
...
and so on.
beenIn206 is the binocular peep show and
beenIn203 is the plaque. So your math does
not check out. Both events are global 112: 16 (plaque) divided by 16 is 1, so
[flagArray 1] aka global 112. Then 16
modulo 16 makes 0, so it's the first (zeroth) bit in that global. Likewise, 18 (peepshow) divided by 16 is also 1, but 18 mod 16 is 2, so it's the second-from-zeroth bit of that same global.
(Note that LSL3 uses most-to-least flag ordering so it's actually
$8000 for the plaque and
$2000 for the peepshow, not 1 and 4. But ScummVM is aware of this and the script debugger uses the same flag procedures as the rest of the game so this doesn't matter.)
(And of course "zeroth" in this case just means it takes
$8000 and shifts it left/divides it by two zero times. Or takes 1 and shifts it right/multiplies it by two zero times for least-to-most flag ordering.)