diff options
Diffstat (limited to 'src/ring.c')
-rw-r--r-- | src/ring.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/ring.c b/src/ring.c new file mode 100644 index 0000000..633648b --- /dev/null +++ b/src/ring.c @@ -0,0 +1,26 @@ +#include <assert.h> +#include <stdlib.h> + +#include "ring.h" +#include "tower.h" + +void pickup_ring() { + int i; + int pickup = -1; + + // should not be called if we are already holding a ring + assert(held == NULL); + + // find the smallest ring on the currently hovered tower (if there is one) + for(i = 2; i >= 0; --i) { + if(rings[i].location == hover) { + pickup = i; + break; + } + } + + if(pickup > 0) { + held = &rings[pickup]; + held->held = true; + } +} |