Make armor event cancellations update the player's inventory correctly

Also fix possible NPE and random unfixed scrap from my last commit.