player_consume and projectile_hit events, plus 1.5 abstraction