Seems to me like you made this whole system too complicated ...
For me programing there moves like "missed, dodged, blocked by armor, blocked by shield, parried with a weapon" ... and let random number generator decide wich will play will be totally sufficient ... i mean, our hit roll is random anyway, so ... why the hells not?
