I kinda figured out what I wanted by editing the bootstrap file in apollo.
Code:
bind_distance_action 1, true, player, event.position, 1 do |action|
player.teleport(STAIRS[event.id].position);
action.stop
end
Code:
class ProcDistancedAction < DistancedAction
def initialize(block, delay, immediate, player, position, distance)
super delay, immediate, player, position, distance
@block = block
end
def executeAction
@block.call self
end
end
def bind_distance_action(*args, &block)
if block_given?
args[2].startAction ProcDistancedAction.new(block, args[0], args[1], args[2], args[3], args[4])
end
end