One of BYOND's most powerful features is the ability to split proc calls indiscriminately between many different places. This allows you to organize code in very convenient structures - such as taking an entire *feature* and putting it into its own file.
calculate local density
move the player
check if the target turf is a cliff
let the player leap down or climb up
check if the target turf is water
switch the player's graphics to swimming
slow their movement speed
reset them when they leave water
I'm racking my brain on different ways I could implement this into a C# application (preferrably single-threaded) such that I could use the same organizational methodologies that I've long enjoyed with BYOND.
Now, surprise to nobody, the C# community disdainfully abhores this methodology because there's no mechanism to specify the ORDER in which BYOND calls each proc/method fragment. However in my 12 years of developing on BYOND, I can count on one hand the number of times where the order actually mattered (fun fact: order is based on the order in which the files are compiled, generally alphabetical).
Aug 6 2013, 8:10 am