You are here

How to make Flurry of Blows work with any weapon?

3 posts / 0 new
Last post
Hrenheim
How to make Flurry of Blows work with any weapon?

How to make Flurry of Blows work with any weapon?

  • up
    50%
  • down
    50%
kevL's

it looks hardcoded (action modes tend to be that way..)

ie, probly need source code or offsets in the main executable to change it. I don't think NWNx4 got this far ....


but Xoreos might :)

  • up
    50%
  • down
    50%
Clangeddin

The feat is hardcoded so you will have to make a new feat from scratch in feat.2da, associate it to a new spell in spells.2da and then remove the old feat by setting its REMOVED column value to 1. It also won't be displayed in the mode bar, so you will have to drag it on your hotbars. Remember to make the new feat active, with 0 uses per day and INSTANT. You may not even need a greater flurry feat for this, since it can all be included in the script as it's dependant on monk levels.

Obviosuly you will also have to modify the monk class feat files so that they receive the new flurry feat instead of the old (removed) one.

The impact script of the associated spell would be something like this:

#include "nw_i0_spells"

void main()
{
    object oPC = OBJECT_SELF;
    int nID = GetSpellId();
    int nEXTRA = 1;
    string sTXT = "*Flurry Mode";
    int nMONK = GetLevelByClass(CLASS_TYPE_MONK, oPC);
    if (nMONK > 10)
    {
        nEXTRA = 2;
        sTXT = "*Greater Flurry Mode";
    }
    if (GetHasSpellEffect(nID, oPC) == TRUE)
    {
        RemoveEffectsFromSpell(oPC, nID);
        sTXT = sTXT + " OFF*";    
    }
    else
    {
        sTXT = sTXT + " ON*";
        int nAB = 0;
        if (nMONK < 5) nAB = 2;
        else if (nMONK < 9) nAB = 1;
        effect eFLURRY = EffectModifyAttacks(nEXTRA);
        if (nAB > 0) EffectLinkEffects(eFLURRY, EffectAttackDecrease(nAB));
        eFLURRY = SupernaturalEffect(eFLURRY);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eFLURRY, oPC);
    }
    FloatingTextStringOnCreature(sTXT, oPC, FALSE);
}

There might be some minor issue to iron out that would have to be tested first, but it should be a decent workaround for what you're asking.

  • up
    100%
  • down
    0%