Enhancement: Proc buffs turn on/off with ExpGroup on/off

Discussion in 'E3' started by mrelephant, Dec 25, 2017.

  1. mrelephant

    mrelephant Orc Pawn

    Messages:
    19
    Hey Cream,

    After getting rogue poisons working and ExpGroup running on my 2 groups, my "off" group was still out-DPSing my "on" group. I realized that Panther was adding around 800-1000 DPS to the group, so I added functionality to toggle Proc buffs on and off when ExpGroup is on and off. See added code below. Perhaps if people like/agree to this, we could get it into the next version? Or, perhaps we could make the functionality another toggle-able setting in General ini? Let me know what you think.

    Green = Add
    Yellow = Change
    Red = Remove


    E3 Version: 7.0
    File: e3_Basics.inc


    SUB EVENT_exp_group(line, ChatSender, expToggle)
    /if (!${checkEventArgs[${ChatSender},${line},UZ,${expToggle}]}) /return

    /if (${Select[${c_eventArgData},On,Yes,True,1]} > 0) {
    /call IniToArrayV "${Character_Ini},Melee Abilities,Ability#" MyAbilities
    /if (${Defined[MyAbilities]}) /call BuildSpellArray "MyAbilities" "Abilities2D"
    /if (${Me.Class.ShortName.Equal[Rog]}) {
    /call buff_SpellArrays
    /if (${Defined[strikeDiscStr]}) {
    /varset strikeDisc ${strikeDiscStr.Arg[1,/]}
    }
    }
    /if (${Select[${Me.Class.ShortName},ENC,SHM]}) {
    | Turn proc buffs on
    /varset procBuff TRUE
    }

    /if (${Ini[${Character_Ini},Nukes,${KSSpellSet}].Length}) /call event_SpellSet "PLACEHOLDER" "${Me}" ${KSSpellSet}
    /if (${Ini[${Character_Ini},Swap Items,${KSWeaponSet}].Length}) /swap ${KSWeaponSet}
    /echo \ag KS Mode Activated - get exp

    |remove anything that could kos when out of group
    } else /if (${Select[${c_eventArgData},Off,No,False,0]} > 0) {
    /if (${Select[${Me.Class.ShortName},${Ini[${genSettings_Ini},ExpGroup,NoCombatAbil]}]}) {
    /if (${Defined[MyAbilities]}) /deletevar MyAbilities
    /if (${Defined[Abilities2D]}) /deletevar Abilities2D
    }
    /if (${Ini[${Character_Ini},Nukes,${NoKSSpellSet}].Length}) /call event_SpellSet "PLACEHOLDER" "${Me}" ${NoKSSpellSet}
    /if (${Defined[NoKSWeaponSet]} && ${Ini[${Character_Ini},Swap Items,${NoKSWeaponSet}].Length}) /swap ${NoKSWeaponSet}
    /if (${Select[${Me.Class.ShortName},ENC,SHM]}) {
    | Turn proc buffs off
    /varset procBuff FALSE
    }

    /if (${Me.Class.ShortName.Equal[Rog]}) {
    /varset strikeDisc 0
    /declare poisonInUse string local
    /declare i int local
    :remove_poisons
    /if (${Defined[poisonPR]}) {
    /if (${Bool[${Me.Buff[${FindItem[=${poisonPR}].Spell}]}]}) /varset poisonInUse ${poisonPR}
    }
    /if (${Defined[poisonFR]}) {
    /if (${Bool[${Me.Buff[${FindItem[=${poisonFR}].Spell}]}]}) /varset poisonInUse ${poisonFR}
    }
    /if (${Defined[poisonCR]}) {
    /if (${Bool[${Me.Buff[${FindItem[=${poisonCR}].Spell}]}]}) /varset poisonInUse ${poisonCR}
    }
    /if (${Defined[CombatBuffs2D]}) {
    /for i 1 to ${CombatBuffs2D.Size[1]}
    /if (${CombatBuffs2D[${i},${iCastName}].Find[${poisonInUse}]}) {
    /call RemoveSpellArrayElement "CombatBuffs2D" ${i}
    /goto :remove_poisons
    }
    /next i
    }
    /if (${Defined[SelfBuffs2D]}) {
    /for i 1 to ${SelfBuffs2D.Size[1]}
    /if (${SelfBuffs2D[${i},${iCastName}].Find[${poisonInUse}]}) {
    /call RemoveSpellArrayElement "SelfBuffs2D" ${i}
    /goto :remove_poisons
    }
    /next i
    }
    /squelch ${Me.Buff[${FindItem[=${poisonInUse}].Spell}].Remove}
    }
    /echo \ag NoKS Mode Activated - do not get exp
    }
    /return
     
    Last edited: Dec 26, 2017
  2. Hive

    Hive Froglok Krup Watcher

    Messages:
    340
    So in order to make my non-exp groups stop casting proc buffs all I would have to do is add those two green sections you have to e3_Basics.ini?
     
  3. mrelephant

    mrelephant Orc Pawn

    Messages:
    19
    Correct.
     
  4. Merstin

    Merstin Orc Centurion

    Messages:
    54
    How do you setup the exp group in the macro? How do you toggle it on and off?
     
  5. Hive

    Hive Froglok Krup Watcher

    Messages:
    340
    /expgroup on or /expgroup yes will toggle all toons to get exp (act normally) /expgroup off (and possibly /expgroup no) will toggle all toons to not get exp. So you can /expgroup off followed by /expgroup on /only|group to get only your group to get exp and you can /bct that command to make any group get the exp.
     
  6. Merstin

    Merstin Orc Centurion

    Messages:
    54
    Thank you! I’ll have to try when I get home. Iirc, /expgroup on did not work for me.
     
  7. Merstin

    Merstin Orc Centurion

    Messages:
    54
    yeah, neither commands work as far as i can tell
     
  8. Merstin

    Merstin Orc Centurion

    Messages:
    54
    ok, the bc command works, just need to make an alias. Thanks! Not sure the /only|group part. what do I put in the "group" statement?