City of Arabel
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    New Barbarian Rages

    Scheduled Pinned Locked Moved Implemented/Closed Suggestions
    5 Posts 2 Posters 245 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SpiffyMeisterS
      SpiffyMeister
      last edited by SpiffyMeister

      Okay: THESE ARE ALREADY IN GAME, we just need some balancing help to make them worth it, then we'll introduce them in loot tables or shops.

      1. Beserker Rage:
      2. Thunder Rage:
      3. Juggernaut:
      4. Malkizid's Wrath (Elf Rage):
      5. Default

      1. Beserker doesn't scale according to level, rather, it scales according to the amount of HP present on the character when they rage. This makes raging at low health a risky proposition.

      At: 100% hp = +2 str, +2 con, +2 will, 10% physical Damage Immunity
      At: 80% hp = +3 str, +3 con, +3 will, +15% physical Damage Immunity
      At: 60% hp = +4 str, +4 con, +4 will, +10 temp hp, +20% physical Damage Immunity
      At: 40% hp = +5 str, +5 con, +5 will, +20 temp hp, +25% physical Damage Immunity
      At: 20% hp = +6 str, +6 con, +6 will, +30 temp hp, +30% physical Damage Immunity

      1. Malkizid's Wrath is a bit lackluster, but the intention here is for ranged barbarians (archers) to assist them in their ranged angry shooting bowery.

      Lvl 1: +2 Dex, +1 Reflex
      Lvl 4: +1 Reflex, +1 Piercing DMG
      Lvl 6: +1 DEX
      Lvl 8: +1 Reflex, +1 AC, +1 Piercing DMG
      Lvl 10 - Total: +4 Dex, +2 Piercing DMG, +4 Reflex, +2 AC

      1. The Rage of Thunder is a rage that grants immunity to electric damage and possesses a damage shield that reflects electric damage back to the targets. As it levels up, it will create an AoE around the barb that strikes enemies with the wrath of storms to damage their foes.

      Lvl 1: +1 electrical DMG, 10% electrical Immunity
      Lvl 4: +1 electrical DMG, 15% electrical Immunity
      Lvl 6: 20% electrical Immunity
      Lvl 8: +1 electrical DMG, Electrical Shield,
      if hit damages opponent (1d4 electrical), 25% electrical Immunity
      Lvl 10 - Total: +3 electrical DMG, 30% electrical immunity, Electrical Shield (1d6),
      Special Effect: Lvl 6+ enemies will be hit by a lightning bolt (2d6).

      1. Juggernaught is an unstoppable force, and when charging, cannot be stopped. It will ignore all holds, bindings, entanglements etc... to reach their target, removing any energy drains or poisons in the process.

      Lvl 1: +2 str, +2 con, lesser restoration, ignore unit collision
      Lvl 4: +3 str, +2 con, lesser restoration, ignore unit collision, +10% movespeed
      Lvl 7: +3 str, +2 con, lesser restoration, clarity, ignore unit collision, +10% move speed
      Lvl 10: +4 str, +2 con, lesser restoration, clarity, ignore unit collision, +20% move speed

      1. Rage of the Wraith is a unique rage that summons the dead and slain foes of the barbarian to aid him in battle. Rise from the dead, my slain foes, and conquer my foes beside me.

      Level 4: 15% concealment, 1 allied spirit.
      Level 5: 20% concealment, 1 allied spirit, +2 neg damage to weapon
      Level 6: 25% concealement, 2 allied spirits, +2 neg damage
      Level 7: 30% concealment, 2 allied spirits, +2 neg damage, +10% immunity to negative energy.
      Level 8: 35% concealment, 2 allied spirits, +2 neg damage, +15 immunity to negative energy.
      Level 9: 40% concealement, 2 allied, +3 neg damage, +20% immunity to negative
      Level 10: 50% concealment, 3 allied spirits, +3 neg, +25 immunity to negative.

      Puffy's bumbling Scum-goblin minion.

      1 Reply Last reply Reply Quote
      • SpiffyMeisterS
        SpiffyMeister
        last edited by

        //::///////////////////////////////////////////////
        //:: Barbarian Rage
        //:: NW_S1_BarbRage
        //:: Copyright (c) 2001 Bioware Corp.
        //:://////////////////////////////////////////////
        /*
        The Str and Con of the Barbarian increases,
        Will Save are +2, AC -2.
        Greater Rage starts at level 15.
        */
        //:://////////////////////////////////////////////
        //:: Created By: Preston Watamaniuk
        //:: Created On: Aug 13, 2001
        //:://////////////////////////////////////////////

        #include "x2_i0_spells"
        //#include "_incl_rndloc"

        int GetIsSupernaturalCurse(effect eEff) {
        object oCreator = GetEffectCreator(eEff);

        if(GetTag(oCreator) == "q6e_ShaorisFellTemple")
            return TRUE;
        
        return FALSE;
        

        }

        void RageBerserker (object oPC, int nDuration, int nLevel) {
        int nHP, nHP_total, nHP_current, nSTR, nCON, nWILL, nImmun, nTMPHP;
        nHP_total = GetMaxHitPoints(oPC);
        nHP_current = GetCurrentHitPoints(oPC);
        nHP = (nHP_current * 100) / nHP_total;
        // SendMessageToPC(oPC, "nHP_total: " + IntToString(nHP_total));
        // SendMessageToPC(oPC, "nHP_current: " + IntToString(nHP_current));
        // SendMessageToPC(oPC, "nHP: " + IntToString(nHP));

        if (nHP < 20) {
            nSTR = 6;
            nCON = 6;
            nWILL = 6;
        } else if (nHP < 40) {
            nSTR = 5;
            nCON = 5;
            nWILL = 5;
        } else if (nHP < 60) {
            nSTR = 4;
            nCON = 4;
            nWILL = 4;
        } else if (nHP < 80) {
            nSTR = 3;
            nCON = 3;
            nWILL = 3;
        } else if (nHP < 100) {
            nSTR = 2;
            nCON = 2;
            nWILL = 2;
        } else {
            nSTR = 1;
            nCON = 1;
            nWILL = 1;
        }
        
        if (nLevel > 9) {
            nTMPHP = 30;
            nImmun = 30;
        } else if (nLevel > 7) {
            nTMPHP = 20;
            nImmun = 25;
        } else if (nLevel > 5) {
            nTMPHP = 10;
            nImmun = 20;
        } else if (nLevel > 3) {
            nTMPHP = 0;
            nImmun = 15;
        } else if (nLevel > 1) {
            nTMPHP = 0;
            nImmun = 10;
        } else {
            nTMPHP = 0;
            nImmun = 5;
        }
        
        effect eSTR, eCON, eWILL, eTMPHP, eIMMUN, eLink, eVis;
        eSTR = EffectAbilityIncrease(ABILITY_STRENGTH, nSTR);
        eLink = EffectLinkEffects(eLink, eSTR);
        eCON = EffectAbilityIncrease(ABILITY_CONSTITUTION, nCON);
        eLink = EffectLinkEffects(eLink, eCON);
        eWILL = EffectSavingThrowIncrease(SAVING_THROW_WILL, nWILL);
        eLink = EffectLinkEffects(eLink, eWILL);
        
        if (nTMPHP > 0) {
            eLink = EffectLinkEffects(eLink, EffectTemporaryHitpoints(nTMPHP));
        }
        
        if (nImmun > 0) {
            eLink = EffectLinkEffects(eLink, EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING, nImmun));
            eLink = EffectLinkEffects(eLink, EffectDamageImmunityIncrease(DAMAGE_TYPE_PIERCING, nImmun));
            eLink = EffectLinkEffects(eLink, EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING, nImmun));
        }
        
        // VFX
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_IMP_EVIL_HELP));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_IMP_PULSE_NEGATIVE));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_AURA_PULSE_RED_BLACK));
        eLink = ExtraordinaryEffect(eLink);
        SignalEvent(oPC, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE));
        PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, RoundsToSeconds(nDuration));
        

        }

        void RageJuggernaut (object oPC, int nDuration, int nLevel) {
        int nSTR, nCON, nMove;

        if (nLevel > 9) {
            nSTR = 4;
            nCON = 2;
            nMove = 20;
        } else if (nLevel > 6) {
            nSTR = 3;
            nCON = 2;
            nMove = 10;
        } else if (nLevel > 3) {
            nSTR = 3;
            nCON = 2;
            nMove = 10;
        } else {
            nSTR = 2;
            nCON = 2;
            nMove = 0;
        }
        
        effect eSTR, eCON, eMove, eCLARITY, eLink, eLink2, eBad;
        eSTR = EffectAbilityIncrease(ABILITY_STRENGTH, nSTR);
        eLink = EffectLinkEffects(eLink, eSTR);
        eCON = EffectAbilityIncrease(ABILITY_CONSTITUTION, nCON);
        eLink = EffectLinkEffects(eLink, eCON);
        
        if (nMove > 0) {
            eMove = EffectMovementSpeedIncrease(nMove);
            eLink = EffectLinkEffects(eLink, eMove);
        }
        
        // FREEDOM OF MOVEMENT
        eLink2 = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_PARALYSIS));
        eLink2 = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_ENTANGLE));
        eLink2 = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_SLOW));
        eLink2 = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE));
        
        if (nLevel > 6) eLink2 = EffectLinkEffects(eLink, EffectImmunity(IMMUNITY_TYPE_MIND_SPELLS)); // CLARITY
        
        // RESTORATION
        eBad = GetFirstEffect(oPC);
        
        //Search for negative effects
        while(GetIsEffectValid(eBad)) {
            if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
                    GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE) {
                //Remove effect if it is negative.
                if(!GetIsSupernaturalCurse(eBad))
                    RemoveEffect(oPC, eBad);
            }
        
            eBad = GetNextEffect(oPC);
        }
        
        // VFX
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_FNF_HOWL_WAR_CRY));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_FREEDOM_OF_MOVEMENT));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_IMP_SUPER_HEROISM));
        eLink = ExtraordinaryEffect(eLink);
        SignalEvent(oPC, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE));
        PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, RoundsToSeconds(nDuration));
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink2, oPC, RoundsToSeconds(2));
        

        }

        void SummonWraith(string Creature_ResRef, object oPC, int nDuration) {
        location lSelf = GetLocation(OBJECT_SELF);
        // Create Location in cut off cone
        // location lTarget = RndLoc(lSelf,3,1,BASE_SHAPE_CIRCLE,DIRECTION_SOUTH,42.5f);
        effect eSummon = EffectSummonCreature(Creature_ResRef, VFX_FNF_SUMMON_UNDEAD, 0.5f);
        // ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lTarget, RoundsToSeconds(nDuration));
        object oWraith = GetObjectByTag(Creature_ResRef);
        ChangeToStandardFaction(oWraith, STANDARD_FACTION_DEFENDER);
        }

        void RageWraith (object oPC, int nDuration, int nLevel) {
        int nWraith, nConceal, nHP, nHP_total, nHP_current, nSTR, nCON, nWILL, nImmun, nTMPHP;

        if (nLevel > 9) {
            nWraith = 3;
            nConceal = 25;
            nSTR = 4;
            nCON = 4;
        } else if (nLevel > 7){
            nWraith = 2;
            nConceal = 20;
            nTMPHP = 20;
        } else if (nLevel > 5) {
            nWraith = 2;
            nConceal = 15;
        } else if (nLevel > 3) {
            nWraith = 1;
            nConceal = 10;
        } else {
            nWraith = 1;
            nConceal = 5;
            nSTR = 2;
            nCON = 2;
        }
        
        int nTimer = 0;
        
        for (nTimer = 0; nTimer < nWraith; nTimer++) {
            DelayCommand(1.0f, SummonWraith("spiffymadethis", oPC, nDuration));
        }
        
        PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        

        }

        void RageThunder (object oPC, int nDuration, int nLevel) {
        int nEleDR, nDmg;

        if (nLevel > 9) {
            nEleDR = 30;
            nDmg = 3;
        } else if (nLevel > 7) {
            nEleDR = 25;
            nDmg = 3;
        } else if (nLevel > 5) {
            nEleDR = 20;
            nDmg = 2;
        } else if (nLevel > 3) {
            nEleDR = 15;
            nDmg = 2;
        } else {
            nEleDR = 10;
            nDmg = 1;
        }
        
        effect eLink, eVisCall, eVisShield, eEleShield, eEleDR;
        // ELECTRICAL DMG
        object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(oPC));
        itemproperty iKeen = ItemPropertyDamageBonus(IP_CONST_DAMAGETYPE_ELECTRICAL, nDmg);
        object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
        object oOffhand = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC);
        
        if(GetIsObjectValid(oWeapon))
            IPSafeAddItemProperty(oWeapon, iKeen, RoundsToSeconds(nDuration), X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
        
        if(GetIsObjectValid(oOffhand))
            IPSafeAddItemProperty(oOffhand, iKeen, RoundsToSeconds(nDuration), X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
        
        // ELECTRICAL DR
        eEleDR = EffectDamageImmunityIncrease(DAMAGE_TYPE_ELECTRICAL, nEleDR);
        eLink = EffectLinkEffects(eLink, eEleDR);
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_AURA_PULSE_BLUE_WHITE));
        eLink = EffectLinkEffects(eLink, EffectAttackIncrease(2));
        eLink = EffectLinkEffects(eLink, EffectAbilityIncrease(ABILITY_STRENGTH, 2));
        eLink = EffectLinkEffects(eLink, EffectAbilityIncrease(ABILITY_DEXTERITY,2));
        eLink = EffectLinkEffects(eLink, EffectACIncrease(1, AC_DODGE_BONUS, AC_VS_DAMAGE_TYPE_ALL));
        eLink = EffectLinkEffects(eLink, EffectSavingThrowIncrease(SAVING_THROW_REFLEX, 2, SAVING_THROW_TYPE_ALL));
        
        if (nLevel > 6) { // ELETRIC SHIELD + Call Lightining
            // ELETRICAL SHIELD
            eVisShield = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
            eEleShield = EffectDamageShield(DAMAGE_BONUS_1d4, DAMAGE_BONUS_1, DAMAGE_TYPE_ELECTRICAL);
        
            if (nLevel > 9)  eEleShield = EffectDamageShield(DAMAGE_BONUS_1d6, DAMAGE_BONUS_1, DAMAGE_TYPE_ELECTRICAL);
        
            eLink = EffectLinkEffects(eLink, eEleShield);
            eLink = EffectLinkEffects(eLink, eVisShield);
            //eEleShield = EffectLinkEffects(eEleShield, eVisShield);
            SignalEvent(oPC, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE));
            RemoveEffectsFromSpell(oPC, GetSpellId());
            ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, RoundsToSeconds(nDuration));
            eVisCall = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
            eLink =  EffectDamage(d6(2), DAMAGE_TYPE_ELECTRICAL);
            eLink = EffectLinkEffects(eLink, eVisCall);
        
            // CALL LIGHTINING
            while(GetIsObjectValid(oTarget)) {
                if(spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, OBJECT_SELF)) {
        

        // ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
        DelayCommand(GetRandomDelay(0.1, 0.5), ApplyEffectToObject(DURATION_TYPE_INSTANT, eLink, oTarget));
        }

                oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(OBJECT_SELF));
            }
        
            PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        }
        

        }

        void RageElf (object oPC, int nDuration, int nLevel) {
        int nStr, nDex, nConceal, nBlade;

        if (nLevel > 9) {
            nStr = 4;
            nDex = 4;
            nConceal = 20;
            nBlade = d6(6);
        } else if (nLevel > 7) {
            nStr = 4;
            nDex = 3;
            nConceal = 20;
            nBlade = d6(5);
        } else if (nLevel > 5) {
            nStr = 3;
            nDex = 3;
            nConceal = 15;
            nBlade = d6(4);
        } else if (nLevel > 3) {
            nStr = 2;
            nDex = 2;
            nConceal = 10;
            nBlade = d6(2);
        } else if (nLevel > 1) {
            nStr = 2;
            nDex = 2;
            nConceal = 10;
            nBlade = d6(2);
        } else {
            nStr = 2;
            nDex = 1;
            nConceal = 10;
            nBlade = d6(1);
        }
        
        PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        //Determine the duration by getting the con modifier after being modified
        effect eDex = EffectAbilityIncrease(ABILITY_DEXTERITY, nDex);
        effect eStr = EffectAbilityIncrease(ABILITY_STRENGTH, nStr);
        effect eConceal = EffectConcealment(nConceal);
        effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
        effect eLink = EffectLinkEffects(eLink, eDex);
        eLink = EffectLinkEffects(eLink, eStr);
        eLink = EffectLinkEffects(eLink, eConceal);
        eLink = EffectLinkEffects(eLink, eDur);
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_GHOST_SMOKE_2));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_IMP_MAGBLUE));
        eLink = EffectLinkEffects(eLink, EffectVisualEffect(460));
        eLink = ExtraordinaryEffect(eLink);
        SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BARBARIAN_RAGE, FALSE));
        PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, RoundsToSeconds(nDuration));
        // BLADE DANCE
        int nDC = 10 + GetAbilityModifier(ABILITY_DEXTERITY) + (nLevel / 2);
        object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_SMALL, GetLocation(oPC));
        DoWhirlwindAttack();     //ActionUseFeat(FEAT_WHIRLWIND_ATTACK, oEnemy)
        nBlade = GetReflexAdjustedDamage(nBlade, oTarget, nDC);
        effect eBlade = EffectDamage(nBlade, DAMAGE_TYPE_PIERCING);
        
        while(GetIsObjectValid(oTarget)) {
            if(spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, OBJECT_SELF)) {
                ApplyEffectToObject(DURATION_TYPE_INSTANT, eBlade, oTarget);
            }
        
            oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(OBJECT_SELF));
        }
        

        }

        void RageDefault (object oPC, int nDuration, int nLevel) {
        int nWill, nStr, nCon, nImmun;

        if (nLevel > 9) {
            nWill = 3;
            nStr = 4;
            nCon = 4;
            nImmun = 20;
        } else if (nLevel > 7) {
            nWill = 2;
            nStr = 4;
            nCon = 3;
            nImmun = 20;
        } else if (nLevel > 5) {
            nWill = 2;
            nStr = 3;
            nCon = 3;
            nImmun = 15;
        } else if (nLevel > 3) {
            nWill = 1;
            nStr = 3;
            nCon = 2;
            nImmun = 15;
        } else {
            nWill = 1;
            nStr = 2;
            nCon = 1;
            nImmun = 10;
        }
        
        PlayVoiceChat(VOICE_CHAT_BATTLECRY1);
        //Determine the duration by getting the con modifier after being modified
        effect eStr = EffectAbilityIncrease(ABILITY_CONSTITUTION, nCon);
        effect eCon = EffectAbilityIncrease(ABILITY_STRENGTH, nStr);
        effect eWill = EffectSavingThrowIncrease(SAVING_THROW_WILL, nWill);
        effect eImmun = EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING, nImmun);
        eImmun = EffectLinkEffects(eImmun, EffectDamageImmunityIncrease(DAMAGE_TYPE_PIERCING, nImmun));
        eImmun = EffectLinkEffects(eImmun, EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING, nImmun));
        effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
        effect eLink = EffectLinkEffects(eCon, eStr);
        eLink = EffectLinkEffects(eLink, eWill);
        eLink = EffectLinkEffects(eLink, eImmun);
        eLink = EffectLinkEffects(eLink, eDur);
        SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BARBARIAN_RAGE, FALSE));
        //Make effect extraordinary
        eLink = ExtraordinaryEffect(eLink);
        effect eVis = EffectVisualEffect(VFX_IMP_IMPROVE_ABILITY_SCORE); //Change to the Rage VFX
        //Apply the VFX impact and effects
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, RoundsToSeconds(nDuration));
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF) ;
        

        }

        void main() {
        if(!GetHasFeatEffect(FEAT_BARBARIAN_RAGE)) {
        object oPC = OBJECT_SELF;
        int nLevel = GetLevelByClass(CLASS_TYPE_BARBARIAN);
        int nDuration = 7 + GetAbilityModifier(ABILITY_CONSTITUTION);
        string sBarbRage = GetLocalString (oPC, "sBarbRage");

            if ((sBarbRage == "") || (sBarbRage == "Default")) {
                RageDefault (oPC, nDuration, nLevel);
                return;
            }
        
            if (sBarbRage == "RageThunder") {
                RageThunder (oPC, nDuration, nLevel);
                return;
            }
        
            if (sBarbRage == "RageElf") {
                RageElf (oPC, nDuration, nLevel);
                return;
            }
        
            if (sBarbRage == "RageWraith") {
                RageWraith (oPC, nDuration, nLevel);
                return;
            }
        
            if (sBarbRage == "RageJuggernaut") {
                RageJuggernaut (oPC, nDuration, nLevel);
                return;
            }
        
            if (sBarbRage == "RageBerserker") {
                RageBerserker (oPC, nDuration, nLevel);
                return;
            }
        }
        

        }

        Puffy's bumbling Scum-goblin minion.

        1 Reply Last reply Reply Quote
        • SpiffyMeisterS
          SpiffyMeister
          last edited by

          Code posted as well.

          Puffy's bumbling Scum-goblin minion.

          1 Reply Last reply Reply Quote
          • SpiffyMeisterS
            SpiffyMeister
            last edited by

            13 days, no comments. I guess these are fine as is and will be going live.

            Puffy's bumbling Scum-goblin minion.

            Prof. MisclickP 1 Reply Last reply Reply Quote
            • Prof. MisclickP
              Prof. Misclick @SpiffyMeister
              last edited by

              @SpiffyMeister said in New Barbarian Rages:

              13 days, no comments. I guess these are fine as is and will be going live.

              Good job Spiffy and co. Locking this thread. If anyone has feedback or suggestions please start a new post.

              As a reminder we likely will miss any suggestions/feed back on Discord for this or anything else. Please take the time to make a forum post and we’ll get to it when we can.

              Happy Gaming!

              Retired

              1 Reply Last reply Reply Quote
              • 1 / 1
              • First post
                Last post