Is there a way to "activate" henchmen?

I’m playing a module and a companion henchman does not like to engage enemies unless he is directly attacked. otherwise he just stands there. i tried the radial menu, attack nearest and it doesn’t work. any ideas on how i can get him attacking? dm_runscript or something? thanks in advance!

unfortunately, the vanilla henchman a/i isn’t all that great. some of the problems are related to the type of hench you have. one bug in particular that just infuriates me is sometimes henchmen in stealth/invis won’t attack, because the return from subroutine in the hench a/i script is in the wrong place. there are some community-developed add-ons that may work better for you [such as tony-k’s henchman override] ; ymmv.

without an override, you can try continually spamming vwe [the voicechat command for ‘attack’], but i’ve had mixed results w/that.

1 Like

thank u, i replaced the henchman and will also try vwe for future issues. I’m not sure if i want to install an AI override because i heard thry can negatively affect certain modules. thanks again!

1 Like

Trust me, Tony K. AI henchman mod is must-have, you will notice gameplay instantly how much much better your companions are (also enemy AI too). I have played many of custom modules and never noticed game-breaking bugs just because of this mod (but you can easily remove it from override if you play module which is not compatible with this mod)

1 Like

If you’re fine with a small override script, you can try this. I haven’t tested it, but in theory it should make all non-idle henchmen attack nearby enemies.

#include "nw_i0_generic"

void main()
{
    object oHench;
    int iHench;

    while(GetIsObjectValid(oHench = GetHenchman(OBJECT_SELF, ++iHench)))
    {
        switch(GetCurrentAction(oHench))
        {
            case ACTION_INVALID:
            case ACTION_FOLLOW:
            {
                AssignCommand(oHench, ClearAllActions());
                AssignCommand(oHench, DetermineCombatRound());
            }
        }
    }
}

Compile it, then extract the .ncs to override, then run it every time you need it. To save you that time, you could override x3_pl_toolXX instead, allowing you to invoke this functionality from feat. Just add a bit of code checking if your skin already has this feat and add it if it doesn’t.

2 Likes

will it be active on a module already in play and loading a save file? or do i need to restart the module?

@demoix Tony K causes showstopper bugs in many custom modules, including my own.