Aller au contenu

Photo

Arcane Wizard


  • Veuillez vous connecter pour répondre
10 réponses à ce sujet

#1
Master Jax

Master Jax
  • Members
  • 352 messages
So, I've asked this to some builders, modders and contributors, and I certainly opened topics on the matter, but I want to be 100% sure it isn't possible, so, here it goes again:

Is there a way for any other class (besides the Arcane Archer) to have a functional Hail of Arrows Feat?

One may add the feat via console or Leto, but it just won't work, the same as many other feats specific to a class. So, is there a chance that I may "activate" such feats with any other classes? Maybe by doing some .2da editing or something like that?

#2
WebShaman

WebShaman
  • Members
  • 913 messages
Have you checked the PRC, to see if they have done something with this?

#3
Alex Warren

Alex Warren
  • Members
  • 179 messages
As far as I know PRC didn't modified Hail of Arrow ability.

Is there a way for any other class (besides the Arcane Archer) to have a functional Hail of Arrows Feat?


Sure, but you'll have to modify x1_s2_hailarrow.nss script - it searches specifically for Arcane Archer levels so it won't work for other classes, but that's easy to change ;)

#4
WebShaman

WebShaman
  • Members
  • 913 messages
Hmmm...the Archer doesn't have hail of arrows?

#5
Alex Warren

Alex Warren
  • Members
  • 179 messages
You mean PRC base class Archer? It's no longer in PRC - there is a Bowman class now ;)

Can't find x1_s2_hailarrow.nss file in PRC haks, so it's using default (and default works only for AA).

#6
Master Jax

Master Jax
  • Members
  • 352 messages

Alex Warren wrote...

Sure, but you'll have to modify x1_s2_hailarrow.nss script - it searches specifically for Arcane Archer levels so it won't work for other classes, but that's easy to change ;)


It is? What part should I change? I thought it would have a class_TYPE_ config, similar to other scripts I've modified via the toolset, but there isn't. Should I just change every "ArcaneArcher" instance? Could you elaborate a bit on that, Alex? You may have just nailed the issue!

#7
Alex Warren

Alex Warren
  • Members
  • 179 messages
Changing
int nLevel = GetLevelByclass(class_TYPE_ARCANE_ARCHER, OBJECT_SELF);
to
int nLevel = GetLevelByclass(class_TYPE_ARCANE_ARCHER, OBJECT_SELF)
                       + GetLevelByclass(class_TYPE_SORCERER, OBJECT_SELF)
                       + GetLevelByclass(class_TYPE_WIZARD, OBJECT_SELF);

should enable wizards and sorcerers to use hail of arrows (you'll have to modify cls_feat_*.2da files for those classes and add the feat there with OnMenu set to 1)

#8
Shadooow

Shadooow
  • Members
  • 4 471 messages
I think the problem with this feat used by other class is that it doesnt show up in radial menu. To do this you must modify each class' cls_feat_*.2da and allow it there.

EDIT: Right just found out Alex also told you this... Now at least you know why.

Modifié par ShaDoOoW, 25 août 2011 - 06:09 .


#9
Master Jax

Master Jax
  • Members
  • 352 messages
Actually, Hail of arrows is supposed to be a passive feat, right? So there should be no problem. I mean, it is, right?

On the other hand, Wow Wow Wow, Alex... slow down a minute... there are no class_TYPE instances in my x1_s2_hailarrow.nss script! Are the changes you mentioned supposed to go in the cls_feat.2da?

#10
Alex Warren

Alex Warren
  • Members
  • 179 messages
No, Hail of Arrows is active feat.

This is how my x1_s2_hailarrow.nss look like (NWN Diamond, 1.69, SoU, HotU)

//::///////////////////////////////////////////////
//:: x1_s2_hailarrow
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    One arrow per arcane archer level at all targets

    GZ SEPTEMBER 2003
        Added damage penetration

*/
//:://////////////////////////////////////////////
//:: Created By:
//:: Created On:
//:://////////////////////////////////////////////
#include "x0_i0_spells"

// GZ: 2003-07-23 fixed criticals not being honored
void DoAttack(object oTarget)
{
    int nBonus = ArcaneArcherCalculateBonus();
    int nDamage;
    // * Roll Touch Attack
    int nTouch = TouchAttackRanged(oTarget, TRUE);
    if (nTouch > 0)
    {
        nDamage = ArcaneArcherDamageDoneByBow(nTouch ==2);
        if (nDamage > 0)
        {
            // * GZ: Added correct damage power
            effect ePhysical = EffectDamage(nDamage, DAMAGE_TYPE_PIERCING, IPGetDamagePowerConstantFromNumber(nBonus));
            effect eMagic = EffectDamage(nBonus, DAMAGE_TYPE_MAGICAL);
            ApplyEffectToObject(DURATION_TYPE_INSTANT, ePhysical, oTarget);
            ApplyEffectToObject(DURATION_TYPE_INSTANT, eMagic, oTarget);
        }
    }
}

void main()
{

    object oTarget;

[b]    [/b][u][b]int nLevel = GetLevelByclass(class_TYPE_ARCANE_ARCHER, OBJECT_SELF);[/b]
[/u]    int i = 0;
    float fDist = 0.0;
    float fDelay = 0.0;

    for (i = 1; i <= nLevel; i++)
    {
        oTarget = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, i);
        if (GetIsObjectValid(oTarget) == TRUE)
        {
            fDist = GetDistanceBetween(OBJECT_SELF, oTarget);
            fDelay = fDist/(3.0 * log(fDist) + 2.0);

            //Fire cast spell at event for the specified target
            SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, 603));
            effect eArrow = EffectVisualEffect(357);
            ApplyEffectToObject(DURATION_TYPE_INSTANT, eArrow, oTarget);
            DelayCommand(fDelay, DoAttack(oTarget));
        }
    }

}

Modifié par Alex Warren, 26 août 2011 - 05:56 .


#11
Master Jax

Master Jax
  • Members
  • 352 messages
This is really embarrassing, Alex, but, if you check your SOU scripts via the NWN Explorer, I swear to you the script has no class_TYPE instances. And then, I checked the HOTU scripts, and there it is! See, I'm not mad! I'M NOT MAD! Thanks for helping!