ID:2655423
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Currently, it seems that when multiple atoms are Bump()ed by the same movement, the Bump()s occur in descending order of the values of the Obstacles' refs. This is, as far as developers are concerned, essentially random. This means that if, for example, you want certain objects to block you from Bump()ing other objects on their tile under certain circumstances, you need to either ensure that those objects have higher refs (which is not really feasible) or completely reimplement large parts of BYOND's internal collision handling. If you could just change the order such that you Bump() those objects first, you could simply set a var making the later Bump()s do nothing.
I don't especially care what form the control takes, but the most obvious solution is just a numerical priority var on /atom where, in a given collision, objects with a higher (or lower; doesn't really matter) priority get Bump()ed first. If you're worried about performance, it could even be integer-only over a limited range, etc.