All of them set it before checking it, so as long as there's no way for them to run concurrently, this won't cause problems in vanilla. But it could mess with poorly coded mods and people using the dev console.

Here are the files and first line where i is used as a global:
AutonBay 280
StockMarket 1155
CharonPirates 1564
CommonwealthFleet 1526
CommonwealthMining 562
CoreCode 541
EncountersVol01 545

george moromisato 9 Feb 2017:

I think it's used in more places than that. Almost all (for i ...) loops use it as a global variable. In general, I thought the use pattern as a for-loop variable is so common that I didn't think anyone would use it for anything else.

But I do agree that for cleanliness, we should change that.

nms 9 Feb 2017:

Actually, (for), and other functions that use a variable for iteration, create a new scope for the variable, so those cases can't affect global variables.

nms 18 Sep 2017:

I corrected these in 1.8A3. There are probably still other accidental uses of global variables though.