Made sure in-inventory trigger is called at pickup

Also added checks for invalid item and zero amount

Reviewed-by: bjorn.