Aura of Shadows broken



  • Area name:
    Issue Location:
    Quest Name:
    Store Name:
    NPC Name:
    NPC Location:
    Server Version:
    Screen Shot:

    Aura of Shadows says it provides 100% cold immunity and 1d6 bonus cold damage. It does not say what the 1d6 cold damage is -to- though. It did not apply cold damage to weapon, or to spell damage, or as a damage shield. It also didn't apply the 100% cold immunity either. The forum says it absorbs up to 12xlevel cold damage, like a protection from elements specifically for the cold element, but the in game description doesn't mention that.

    Needs its effects, and a better description of what the effects are.


  • Storyteller [DM]

    #include "x2_inc_spellhook"
    #include "x0_i0_spells"
    /***1d6 cold damage, cold immunity until 12 points / caster level
    damage has been taken. 2 turns per level***/
    void AuraOfShadows(object oPC, int iSpell) {
        int nDuration = 2 * GetAdjustedCasterLevel(oPC);
        int nMetaMagic = GetMetaMagicFeat();
        int nCasterLvl = GetAdjustedCasterLevel(oPC);
        object oTarget = GetSpellTargetObject();
    
        if(nCasterLvl > 5) nCasterLvl = 5;
    
        if (nMetaMagic == METAMAGIC_EXTEND) {
            nDuration = nDuration * 2;
        }
    
        float fDur = TurnsToSeconds(nDuration);
        int iDamAmt = 12 * nCasterLvl;
    
        if(iDamAmt > 120) iDamAmt = 120;
    
        effect eVis = EffectVisualEffect(VFX_IMP_MAGBLUE);
        effect eLink = EffectDamageIncrease(DAMAGE_BONUS_1d6, DAMAGE_TYPE_COLD);
        eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_COLD, 100, iDamAmt));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, fDur);
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
    }
    
    
    void main() {
        object oPC = OBJECT_SELF;
        int iSpell = GetSpellId();
        AuraOfShadows(oPC, iSpell);
    }
    

    This is the script for it. If people can translate it, by all means.



  • If the problem is purely with the visuals (meaning you didn't see the effect take place), currently 28th line ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC) uses the default length of that function, which is 0.0f.



  • It isn't just visual. It doesn't apply anything when cast.



  • Alright, fair enough. Also, after looking at the script more carefully, I realized that part was supposed to be set on default anyway >_>

    I don't see anything wrong with the script itself! It works if you change GetAdjustedCasterLevel(oPC) to the vanilla script GetCasterLevel(oPC). Could be a problem with the GetAdjustedCasterLevel-script, where it's setting the nDuration and nCasterLvl to 0 automatically.


  • Admin [DM]

    @Tempest-Rose said in Aura of Shadows broken:

    It does not say what the 1d6 cold damage is -to- though

    It's supposed to be your weapon according to this https://www.dandwiki.com/wiki/Aura_of_Shade_(5e_Spell)


  • Admin [DM]

    I know what's wrong with it but not yet how to fix it. I'll get back with you on it next weekend when I have time to delve into it.



  • Could be something in our haks.

    Haks have highest priority concerning content overrides.

    I had the same problem initially with the poison application system. Server side 2da vs hak with embedded 2da.


  • Admin [DM]

    @StrawMan - it's missing lines that tell it what to target (ie, weapon) and who to protect.

    This spell affects the caster directly AND the weapon carried.

    It's supposed to make the caster 100% immune to cold until 12 * caster level damages is absorbed AND give 1d6 cold damage to the weapon wielded.

    Currently it's doing neither.



  • @Echo
    Aha! I see.
    Makes sense. 👍🏻



  • object oRWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC);
    
    itemproperty ipDamage = ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_COLD, IP_CONST_DAMAGEBONUS_1d6);
    
    if(GetIsObjectValid(oRWeapon)){
                    IPSafeAddItemProperty(oRWeapon,ipDamage,fDur,X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
    }
    

    That needs to be added separately for the weapons and gloves to add the damage property. I dunno how merging for animal shapes works, which is what I imagine Rose is looking for.

    Also, where in the spell hook is the spell actually identified? Is it one of those naming convention things? As far as I'm reading it this spell hook won't fire. It needs something like

    if(spellID == 2DA_ID_FOR_AURAOFSHADOWS){
    

    Above the last line. I could be wrong about all that but I don't think I am.



  • This is a sorc/wizard only spell. Though how it applies if Polymorph spell is used.. shrug Dunno! Probably won't work since bows and gloves were made able to be buffed but creature weapons were not, though could just check for property and transfer it over.


  • Admin [DM]

    @Sljppers I'll leave this one to you


  • Admin [DM]

    Fix imported v6748


Log in to reply