Variable Not Changing on Interact

I'm trying to make a stealth game in pulp where standing on shadow-clad ground changes the 'stealth' variable to indicate being hidden. The ground tiles are marked as items so they can set the stealth variable to either 0 or 1 on interact, and that's literally the only script they have:
(normal ground)
on interact do
stealth = 0
end
(shadow ground)
on interact do
stealth = 1
end
This should make the variable change to accurately represent whether or not the player is hidden, but using a label shows me that stealth starts as 0 and never changes when I step onto the shadow ground. I imagine that there is some really simple rule that I'm missing here, but I just can't figure out what it would be. Any help would be much appreciated.

Ok, I found out that I just spent a week straight being an idiot. I should have used collect instead of interact because the tiles are marked as items, not sprites. I tried deleting the post but it didn't work, so... just ignore this I guess.

Ive done the same multiple times.

It is kind of weird that theres a different event type for the different non-player objects.

I get the difference, but also it's just unintuitive to think about exactly which one to use each time. Especially when the editor itself doesnt tell you that interact doesnt work on a sprite (or all of the player-only events that it wont stop you from putting on non-player objects.)

You're not alone lol

Worth pointing out that while these events aren't called by default, there is nothing stopping you (for example) adding an interact event handler to an item tile and calling it in code.