I'd be quite happy being able to activate powers locally...and fight mobs 'locally.'
When Codewalker talks about having "a real powers system" I believe he means something that can read the embedded powers data within the client and use that to fill power trays, allow people to activate powers, and have power activation "do" what the powers database says to do. But I think most of that is to give him a general framework to allow users to instantiate the effects associated with those powers. In other words, the animations associated with the powers, the visual FX auras, and perhaps even the projectiles. But to fight things you need more than "a real powers system" in the sense Codewalker mentions: you also need a combat engine that can track, evaluate, and apply power effects. In some ways that's actually easier than the general powers engine. But in two distinct ways it is potentially a lot more difficult. Unless you are shooting at target dummies, combat all but requires that you either shoot at another player who is themselves moving and acting and that requires distributed synchronization, or you are shooting at an NPC which requires implementing AI to make it anything other than a destructible mayhem mission mailbox.
You could say that when it comes to everything except what Paragon Chat already does - seeing, chatting, zoning - City of Heroes is fundamentally two big things glued together. There's a component I'll call the reality engine, and a component I'll call the action engine. The reality engine in a sense executes the rules of the world and updates the world's state moment by moment. It is the software that applies gravity to objects that should be affected by gravity (i.e. things without the boolean FLY set). It is the thing that updates all attributes of all entities based on all other attributes. In other words it is what updates your health because of your regeneration. It updates your position based on your velocity and the surrounding geometry. It enforces geometry: it prevents you from walking through walls. Some of this stuff is implemented partially in the City of Heroes game client itself, but all of it would have been implemented in the CoH mapservers. Paragon Chat doesn't have this engine, of course, so Paragon Chat recreates bits and pieces of this functionality on a case by case basis. That's how movement powers work, for example. How movement works at all, really. Paragon Chat also has a sense of gravity. It doesn't do a lot else at the moment.
The action engine is conceptually the thing that takes user inputs and ultimately resolves them into things the reality engine can handle. It converts keypresses into commands. It converts power tray clicks into power executions. It also does things like convert "execute power Blaster.Ranged_Attack.Power_Bolt" into a set of distinct actions. It tells the animation engine to execute an animation, it spawns sound and visual effects and projectiles. It tells the combat part of the reality engine to roll some dice and perform a set of attribmod actions if those random rolls succeed. The attribmods modify the attributes of the target of the power as they are defined to. All of this converts a mouse click into numbers the reality engine can crunch by figuring out which power is being executed, reading and interpreting its definition, and performing the required actions. At the moment Paragon Chat pretends to do this on a case by case basis for things like movement powers, but it is all a fake.
In the real game clicking on fly in your power tray causes the game to look up what Inherent.Flight.Fly does, and it sets your FLY boolean to true, and that's it. Fly doesn't "do" much besides that, because the reality engine can take over: the reality engine sees your entity is flagged with FLY and doesn't apply gravity to you (technically, Fly also sets certain inertia attributes so you decelerate to a stop in a specific way if you aren't actively sending movement commands). WASD sends acceleration inputs into the reality engine and that causes the reality engine to adjust your velocity and position in specific ways. All of this is sort of "automatic" behavior built into the engines. Whoever made the "Fly" power didn't have to write any code to make Fly do anything. The game engines just processed the bits of data inside the Fly power, and flight emerges as a behavior.
In Paragon Chat, because these general purpose engines don't exist everything has to be done ad hoc. Within the game client itself implicitly is a complete description of how every single power, including travel powers, should work but Codewalker has to basically hard code their behavior for each one he implements by hand, because Paragon Chat can't use any of that information. *If* Codewalker makes more generic processing engines that can understand the powers database, and builds enough of the "reality engine" to understand that information, he can start leveraging the powers database itself rather than having to replicate each power's behavior manually. Instead of implementing each and every possible toggle aura, he can implement a generic "how to turn on auras" behavior and let Paragon Chat's action engine figure out on its own how to tell Paragon Chat's reality engine which aura to turn on and how.
That is of course much harder than implementing a single power by hand, but collectively it is easier to implement generic engines than implementing every power by hand. Codewalker is implementing things like travel powers by hand for two reasons I presume: first its better in the short term to get these critical powers working as fast as possible with short cuts, and save building more generic engines for less high priority powers. And second, doing the work of implementing these powers by hand can greatly inform how you will ultimately want to create generic engines rather than attempting to do so completely from scratch.
All of this is the long way around to saying that when Codewalker talks about implementing "a real powers system" that doesn't necessarily mean getting combat of any kind to work. Its really more of a statement about creating something that can understand the language of the powers database, so Paragon Chat can leverage that information to understand what powers are intended to do and translate that into things it knows how to do. Even if it knows nothing about how to make combat work, it can still do all the other things the powers database tells it to do: play animations, spawn visual effects, etc.