SF and GSF Transmutation not applying to animal spells



  • Area name: N/A
    Issue Location: N/A
    Quest Name: N/A
    Store Name: N/A
    NPC Name: N/A
    NPC Location: N/A
    Server Version: Puffy 6571
    Screen Shot: oops
    Time: lots of times

    Issue Description: You can still roll 2s and 3s on animal buffs, even with GSF Transmutation.

    Going ahead and compiling the module to see if that helps.



  • Area name: N/A
    Issue Location: N/A
    Quest Name: N/A
    Store Name: N/A
    NPC Name: N/A
    NPC Location: N/A
    Server Version: 6662
    Screen Shot:
    Time: lots of times
    3bb8a595-fcb7-4576-9827-379bc576bcdd-image.png
    6cd30a7a-a038-40f4-96de-413a17a224a4-image.png
    74b2f2b9-b24b-4e32-9cfe-e1a0d64b6596-image.png
    4f306b71-8988-40ec-8f47-f8168ef08cc4-image.png
    ad608065-9263-40ad-b838-c491aa52ab0e-image.png
    f1e50f8b-ddd9-4fa9-88a4-cb34a91d4c49-image.png


  • Admin [DM]

    We know, and we know it's still broken. We do not need duplicate entries. When it's fixed, a DM will post here.



  • I was told by a DM who was not aware that this bug existed to bug report it.


  • Storyteller [DM]

    /////////////////////////////////////////////////
    // Bull's Strength
    //-----------------------------------------------
    // Created By: Brenon Holmes
    // Created On: 10/12/2000
    // Description: This script changes someone's strength
    // Updated 2003-07-17 to fix stacking issue with blackguard
    /////////////////////////////////////////////////
    //:: Modified By: Fargle
    //:: Modified On: 11/26/19
    //:: Modifications: Casters with SF Transmutation now buff by 1d3+2 (3-5)
    //::                Casters with GSF Transmutation now buff by 1d2+3 (4-5)
    //:://///////////////////////////////////////////
    
    #include "x2_inc_spellhook"
    #include "nw_i0_spells"
    
    void main() {
        /*
          Spellcast Hook Code
          Added 2003-06-23 by GeorgZ
          If you want to make changes to all spells,
          check x2_inc_spellhook.nss to find out more
    
        */
        if (!X2PreSpellCastCode()) {
            // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
            return;
        }
    
        // End of Spell Cast Hook
        //Declare major variables
        object oTarget = GetSpellTargetObject();
        effect eStr;
        effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE);
        effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
        int nCasterLvl = GetAdjustedCasterLevel(OBJECT_SELF);
        // int nModify = d4() + 1; ---REMOVED BY FARGLE 11/26/19:--- deprecated by new code
        //---ADDED BY FARGLE 11/26/19---
        int bHasSFT = GetHasFeat(FEAT_SPELL_FOCUS_TRANSMUTATION, OBJECT_SELF);
        int bHasGSFT = GetHasFeat(FEAT_GREATER_SPELL_FOCUS_TRANSMUTATION, OBJECT_SELF);
        int nModify;
    
        //---ADDED BY FARGLE 12/16/19---
        //Debug messages, to figure out why the heck stuff isn't working.
        SendMessageToPC(OBJECT_SELF, "bHasSFT, checking feat no. " + IntToString(FEAT_SPELL_FOCUS_TRANSMUTATION) + ": " + IntToString(bHasSFT));
        SendMessageToPC(OBJECT_SELF, "bHasGSFT, checking feat no. " + IntToString(FEAT_GREATER_SPELL_FOCUS_TRANSMUTATION) + ": " + IntToString(bHasGSFT));
        //---END ADDED BY FARGLE 12/16/19---
    
        //If the caster has GSF Transmutation, then the buff should be 4-5 points;
        //If they have SF Transmutation, the buff should be 3-5 points;
        //If neither, it should be the standard 2-5.
        if(bHasGSFT == TRUE) {
            nModify = Random(2) + 4;
        } else if(bHasSFT == TRUE) {
            nModify = Random(3) + 3;
        } else {
            nModify = Random(4) + 2;
        }
    
        //---END ADDED BY FARGLE 11/26/19---
        float fDuration = HoursToSeconds(nCasterLvl);
        int nMetaMagic = GetMetaMagicFeat();
        //Signal the spell cast at event
        SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_BULLS_STRENGTH, FALSE));
    
        //Enter Metamagic conditions
        if (nMetaMagic == METAMAGIC_MAXIMIZE) {
            nModify = 5;//Damage is at max
        }
    
        if (nMetaMagic == METAMAGIC_EMPOWER) {
            nModify = nModify + (nModify / 2);
        }
    
        if (nMetaMagic == METAMAGIC_EXTEND) {
            fDuration = fDuration * 2.0;    //Duration is +100%
        }
    
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
        // This code was there to prevent stacking issues, but programming says thats handled in code...
        /*    if (GetHasSpellEffect(SPELL_GREATER_BULLS_STRENGTH))
            {
                return;
            }
    
            //Apply effects and VFX to target
            RemoveSpellEffects(SPELL_BULLS_STRENGTH, OBJECT_SELF, oTarget);
            RemoveSpellEffects(SPELLABILITY_BG_BULLS_STRENGTH, OBJECT_SELF, oTarget);
        */
        eStr = EffectAbilityIncrease(ABILITY_STRENGTH, nModify);
        effect eLink = EffectLinkEffects(eStr, eDur);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration);
    }
    

    This is the script.


  • Admin [DM]

    Resolved(?)



  • @Echo
    Yes


Log in to reply