Script execution order differs from original engine
At least compared to cell load. Tested 3 kinds of scripts,
local: script on cell object
item: script on object in player inventory
global: start script (it's the same with global scripts that aren't start scripts but started by one or by a local script)
and the value of the global variable Random100 from Main, the global script with hardcoded start
in openMW I got this order:
1 local 2 item 3 global the global script Main from Morrowind.esm runs either before all of them or after all of them
in original engine:
1 item 2 local the global script Main from Morrowind.esm runs between 2 and 3 except the first time when new game is started 3 global
it doesn't make a difference if items and their scripts are in files before or after the others in the load order.
Don't take my word for it, vanilla's CellChanged bugs were not well documented and it's not reliable to test with it like the last message in https://github.com/OpenMW/openmw/pull/1588 , drove me nuts when testing this so something could be wrong here too. This test is in reference to GetPCCell. ScriptOrderTest.ESP coc "Ghostgate, Temple" and grab the 3 hearts. You can move between that cell and the two cells it's connected to.