I have no clue offhand as to all the steps required for force powers. Weapons on the other hand...yeah, I could probably list all the places where you'd need to edit the code. Anyway, here's something to get you started. In game/q_shared.h (or possibly game/bg_public.h), there's an enum that goes something like this:
typedef enum
{
FP_FIRST = 1,
FP_HEAL = 1,
FP_LEVITATION,
FP_PUSH,
FP_PULL,
FP_GRIP,
...
} force_powers_t;
I don't know the exact order of the FP_FIRST and so forth, but what I do know is that each member of this corresponds to a specific force power. (Tip: FP_LEVITATION = jump, FP_TELEPATHY = Mind Trick)Essentially, what this code does is it assigns a number to each force power, kinda like a special identifier for it. In the code I listed above, FP_HEAL would be 1, FP_LEVITATION would be 2, and so forth. This is a good starting point for three reasons: 1. It can serve as an excellent reference point to where force power code might be referencing that identifier. If you right click on FP_LEVITATION and click "Find All References" (assuming you're using Visual Studio/MSVC), it'll tell you where FP_LEVITATION is used, and where you might need to reference your new power. 2. It's a logical place to start -- you want to define your power as existing before you can work with that, naturally. 3. Obligatory third reason because third time's the charm. If you have any questions about "How do I do X power?" I can probably answer that as well.