Само предложение, че не мога да тествам локално в момента: Според мен пробвай първо да махнеш дефолтния кейс със съобщението за грешна команда и тествай. Сложи и try-catch, който само лови ексепшъни без да изписва нещо. Ако е нещо със сметките, ще трябва да намеря начин да дебъгна, но явно няма да е сега. ;)
Здравей,
Нямам C#6 и съм с VS2012 и не мога да дебъгна, но след като модифицирах твоя код, успях да докарам 100%.
Мисля си, може ли проблемът да е в: Type weaponType = Type.GetType(weaponTokens[1]) /
weaponType да е null, понеже не виждам Namespace в класовете за оръжията?
Ако е така добавяне на Namespace, май трябва да реши проблема. Ако и това не помогне, добави целия път, например: Type weaponType = Type.GetType("InfernoInfinity.Models.Weapons." + weaponTokens[1]);
Ако става въпрос само за грешка в сметките, виж StartUp.cs. Сложих коментар, където мисля, че е проблемът.