Rewrote shield pricing code

Initial revision to shield costs. I won't be surprised if we have to
revisit this time and time again.