Fix detector tube item counting
authorZefram <zefram@fysh.org>
Mon, 14 Jul 2014 18:34:15 +0000 (19:34 +0100)
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Mon, 14 Jul 2014 18:55:22 +0000 (14:55 -0400)
commitce1505d008b273eeff4241453eee114f40ceb6cd
treeb2883525a1f6da18400bd812e5c6c06ab5b3e37c
parent8aea4b1a1364e0cb6c4bb7b344c5b83455ed4bb5
Fix detector tube item counting

A detector tube would sometimes miss a decrement, due to the pos structure
passed to can_go being modified by the tubed-item entity while it's also
sitting in the timer queue as an argument to item_exit.  As the can_go
API actually depends on being able to mutate the pos structure (see the
teleporter tube), we can't just start passing in a never-mutated copy
of pos.  So for now just fix in the detector tube's can_go, by copying the
structure there.  Incidentally, make the decrement mechanism consistent
between the two forms of increment.
tubes.lua