I spent a few hours looking through the code that is supposed to handle combat. The conclusion is that it will need a lot of rework. My current goal is to get the SPAR command working. This will let me work with the underlaying systems. As they stand, they are a no-go. The code feels quite disjointed when comparing it with the behavior stuff.
The actual ideas presented in WheelMUD.Core.GameEngine.CombatSession.cs are pretty solid, but the current implementation stinks. Yes, I wrote that code a while back.
It looks to me like this class will a shell for custom logic from the specific gaming systems. A lot of the methods need to be coded specifically for whatever the current combat system is.
I'm going to sit with my notebook and get something very basic on paper, so that I can wrap my head around it. Once I get that done, I'll create a spike to code it, and see where that goes.