Author Topic: Arcane Wizard  (Read 405 times)

Legacy_Master Jax

  • Hero Member
  • *****
  • Posts: 618
  • Karma: +0/-0
Arcane Wizard
« on: August 24, 2011, 06:51:27 am »


               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?
               
               

               
            

Legacy_WebShaman

  • Hero Member
  • *****
  • Posts: 1390
  • Karma: +0/-0
Arcane Wizard
« Reply #1 on: August 24, 2011, 01:40:28 pm »


               Have you checked the PRC, to see if they have done something with this?
               
               

               
            

Legacy_Alex Warren

  • Sr. Member
  • ****
  • Posts: 326
  • Karma: +0/-0
Arcane Wizard
« Reply #2 on: August 24, 2011, 02:12:30 pm »


               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 '<img'>
               
               

               
            

Legacy_WebShaman

  • Hero Member
  • *****
  • Posts: 1390
  • Karma: +0/-0
Arcane Wizard
« Reply #3 on: August 24, 2011, 11:48:51 pm »


               Hmmm...the Archer doesn't have hail of arrows?
               
               

               
            

Legacy_Alex Warren

  • Sr. Member
  • ****
  • Posts: 326
  • Karma: +0/-0
Arcane Wizard
« Reply #4 on: August 25, 2011, 04:46:46 am »


               You mean PRC base class Archer? It's no longer in PRC - there is a Bowman class now '<img'>

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

               
            

Legacy_Master Jax

  • Hero Member
  • *****
  • Posts: 618
  • Karma: +0/-0
Arcane Wizard
« Reply #5 on: August 25, 2011, 06:27:53 am »


               

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 '<img'>


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!
               
               

               
            

Legacy_Alex Warren

  • Sr. Member
  • ****
  • Posts: 326
  • Karma: +0/-0
Arcane Wizard
« Reply #6 on: August 25, 2011, 06:55:29 am »


               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)
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
Arcane Wizard
« Reply #7 on: August 25, 2011, 07:08:50 pm »


               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 .
                     
                  


            

Legacy_Master Jax

  • Hero Member
  • *****
  • Posts: 618
  • Karma: +0/-0
Arcane Wizard
« Reply #8 on: August 26, 2011, 06:15:44 am »


               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?
               
               

               
            

Legacy_Alex Warren

  • Sr. Member
  • ****
  • Posts: 326
  • Karma: +0/-0
Arcane Wizard
« Reply #9 on: August 26, 2011, 06:53:57 am »


               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 .
                     
                  


            

Legacy_Master Jax

  • Hero Member
  • *****
  • Posts: 618
  • Karma: +0/-0
Arcane Wizard
« Reply #10 on: August 27, 2011, 06:33:55 am »


               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!