• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Request - Auto Ranger Macro?

morisato

Captin Obvious!
Creator
Joined
Jun 8, 2013
RedCents
267¢
I've been Using Kissassist for my ranger but the Dps output since i don;t know rangers very well is Somewhat poor I have tried Precomplied Inis and still its nothing to write home about Was Hoping theres some IHC or Auto Ranger Style Macro out there?

TIA
 
I've been out of the game for a long time. What's best for high end ranger dps these days, melee or ranged?
 
having trouble Finding a Ranged Ranger 100.ini and i am not to famillar with them almost makes me wanna reroll to one of the Automac capable classes
 
Thankyou SOOO Much. all i could find was melee, and while better than what i had ranger in melee seems wrong.
 
Are you guys really seeing better DPS output from rangers bowing rather than using two 1-hander weapons and meleeing?

Back when I raided on a ranger, you got better dps bowing during your sureshot/pureshot bow discipline, but as soon as that was up dps was better meleeing (presuming similar weapons ... at the time I had all raid weapons from that stuff).

I’ve basically built my ranger .ini to only melee and spam the shit out of nukes and all the arrow spells, but every time I see a thread like this I wonder if that was a mistake. My .ini blows through mana, so I know it’s casting, but I’m wondering what optimizations (other than putting a condition on dicho to only fire if I have gift of mana or it’s a named) I could steal.
 
gom checks for big mana (dicho) is a must
lvl checks to not use all your stuff on blue mobs unless there are several
there is all kinds of things u can do to stretch your mana and basically not blow it on crap
 
gom checks for big mana (dicho) is a must
lvl checks to not use all your stuff on blue mobs unless there are several
there is all kinds of things u can do to stretch your mana and basically not blow it on crap

Yea, but I'm lazy and never did the conditions for it. My wife, job, school, and dogs keep my playtime somewhat limited, so I don't really spend as much time as I'd like optimizing my .inis
 
Are you guys really seeing better DPS output from rangers bowing rather than using two 1-hander weapons and meleeing?

105 ranger, autogrant, same mobs, dark blue, non headshottable. EOK T1 weapons (melee and ranged). DPS about 20k with melee, 35-40k with bow. And with headshots.....
 
Hrm, was bow dps really increased that much over the last 3-4 expansions??
 
Best part is you can park your ass on a mount and bow/cast from there if you want.
 
I melee my ranger. Its good and steady and solid dps though Ive been playing ranger since the beginning. Bowing is great if you are not doing progression and just in an open zone but they are not all like that. Take your rangers into the mines or other tight quarters and see if the dps is better using a bow than meleeing when you are too close to use a range item :)
 
105 ranger, autogrant, same mobs, dark blue, non headshottable. EOK T1 weapons (melee and ranged). DPS about 20k with melee, 35-40k with bow. And with headshots.....

Would love to see something similar to this with a max AA toon. Shoot, I should probably just try it. I have GMM weapons and bow and could compare apples to apples with abilities and procs and stuff. The tough part is standardizing the parsing... need to replicate real mob defensive abilities, which I'm not sure the dummies do very well.
 
Would love to see something similar to this with a max AA toon. Shoot, I should probably just try it. I have GMM weapons and bow and could compare apples to apples with abilities and procs and stuff. The tough part is standardizing the parsing... need to replicate real mob defensive abilities, which I'm not sure the dummies do very well.

FYI The AA list I used:-
Code:
[AAIHave]
AA0=Archery Mastery|8|9
AA1=Auspice of the Hunter|35|39
AA2=Bow Mastery|19|25
AA3=Bulwark of the Brownies|1|4
AA4=Chameleon's Gift|1|2
AA5=Close Combat Mastery|11|15
AA6=Coat of Thistles|24|35
AA7=Convergence of Spirits|9|13
AA8=Elemental Arrow|2|2
AA9=Empowered Blades|6|7
AA10=Endless Quiver|1|1
AA11=Entropy of Nature|1|1
AA12=Ferocious Kick|9|12
AA13=Ferocious Kick Subtlety: Enabled|2|2
AA14=Flaming Arrows|9|17
AA15=Frost Arrows|12|17
AA16=Fundament: First Spire of the Pathfinders|7|9
AA17=Fundament: Second Spire of the Pathfinders|5|9
AA18=Fundament: Third Spire of the Pathfinders|5|9
AA19=Glacial Arrow|1|4
AA20=Grasp of Sylvan Spirits|7|9
AA21=Group Guardian of the Forest|12|16
AA22=Guardian of the Forest|35|38
AA23=Harmonious Arrow|7|8
AA24=Headshot|28|31
AA25=Heavy Arrow|4|5
AA26=Hunter's Attack Power|51|56
AA27=Hunter's Fury|15|18
AA28=Imbued Ferocity|7|7
AA29=Nature's Reprieve|3|3
AA30=Outrider's Accuracy|26|27
AA31=Outrider's Attack|17|17
AA32=Outrider's Evasion|6|6
AA33=Pack Hunt|12|18
AA34=Poison Arrows|3|12
AA35=Precision of the Pathfinder|20|22
AA36=Protection of the Spirit Wolf|32|36
AA37=Ranged Finesse|20|22
AA38=Scarlet Cheetah's Fang|2|4
AA39=Scout's Mastery of the Elements|6|7
AA40=Scout's Weapon Mastery|18|20
AA41=Strengthened Strike|3|25
AA42=Stunning Kick|1|3
AA43=Tracking Mastery|5|5
AA44=Trick Shot|25|27
AA45=Volatile Arrow|1|4
AA46=Ambidexterity|14|23
AA47=Bind Sight|1|1
AA48=Burst of Power|71|90
AA49=Clenched Jaw|3|3
AA50=Combat Fury|6|8
AA51=Cover Tracks|15|15
AA52=Critical Affliction|9|12
AA53=Destructive Cascade|34|39
AA54=Destructive Fury|18|24
AA55=Double Riposte|6|6
AA56=Enhanced Aggression|43|60
AA57=Entrap|7|7
AA58=Expansive Mind|44|45
AA59=Extended Swarm|13|15
AA60=Fear Resistance|3|3
AA61=Finishing Blow|32|35
AA62=Forceful Rejuvenation|8|10
AA63=Fury of Magic|21|21
AA64=Gift of Mana|10|11
AA65=Gladestrider's Leap|1|6
AA66=Healing Adept|23|28
AA67=Healing Gift|33|36
AA68=Hunter's Return Kick|3|5
AA69=Innate Camouflage|1|2
AA70=Intrinsic Efficiency|6|6
AA71=Mass Group Buff|7|9
AA72=Mastery of the Past|35|40
AA73=Mental Clarity|45|46
AA74=Mental Stamina|31|43
AA75=Mnemonic Retention|4|5
AA76=Nature's Bounty|6|6
AA77=Perfected Levitation|2|2
AA78=Persistent Casting|15|15
AA79=Physical Enhancement|2|12
AA80=Quick Buff|3|3
AA81=Shared Camouflage|2|2
AA82=Shield Block|12|13
AA83=Spell Casting Mastery|4|4
AA84=Spell Casting Reinforcement|5|7
AA85=Spirit of Eagles|1|1
AA86=Strikethrough|9|9
AA87=Tranquil Blessings|1|1
AA88=Twinheal|8|10
AA89=Veteran's Wrath|27|33
AA90=Weapon Affinity|7|15
AA91=Armor of Wisdom|21|35
AA92=Battle Ready|4|4
AA93=Combat Agility|54|69
AA94=Combat Stability|58|78
AA95=Delay Death|40|65
AA96=Discordant Defiance|24|25
AA97=Energetic Attunement|20|25
AA98=Eyes Wide Open|8|8
AA99=First Aid|13|13
AA100=General Sturdiness|45|60
AA101=Hybrid Research|10|23
AA102=Identify|1|1
AA103=Innate Eminence|15|30
AA104=Innate Lung Capacity|6|6
AA105=Innate Metabolism|3|5
AA106=Innate Natureblade|17|18
AA107=Innate Regeneration|44|49
AA108=Innate Run Speed|9|10
AA109=Innate See Invis|1|1
AA110=Innate Spell Resistance|20|40
AA111=Mental Fortitude|3|3
AA112=Mystical Attuning|24|24
AA113=Mystical Shield|1|1
AA114=Natural Durability|11|21
AA115=New Tanaan Crafting Mastery|6|6
AA116=Origin|1|1
AA117=Packrat|11|11
AA118=Planar Power|60|70
AA119=Salvage|6|6
AA120=Twinproc|6|8
AA121=Veteran's Enhancement|1|1
 
FYI The AA list I used:-
Code:
[AAIHave]
AA0=Archery Mastery|8|9
AA1=Auspice of the Hunter|35|39
AA2=Bow Mastery|19|25
AA3=Bulwark of the Brownies|1|4
AA4=Chameleon's Gift|1|2
AA5=Close Combat Mastery|11|15
AA6=Coat of Thistles|24|35
AA7=Convergence of Spirits|9|13
AA8=Elemental Arrow|2|2
AA9=Empowered Blades|6|7
AA10=Endless Quiver|1|1
AA11=Entropy of Nature|1|1
AA12=Ferocious Kick|9|12
AA13=Ferocious Kick Subtlety: Enabled|2|2
AA14=Flaming Arrows|9|17
AA15=Frost Arrows|12|17
AA16=Fundament: First Spire of the Pathfinders|7|9
AA17=Fundament: Second Spire of the Pathfinders|5|9
AA18=Fundament: Third Spire of the Pathfinders|5|9
AA19=Glacial Arrow|1|4
AA20=Grasp of Sylvan Spirits|7|9
AA21=Group Guardian of the Forest|12|16
AA22=Guardian of the Forest|35|38
AA23=Harmonious Arrow|7|8
AA24=Headshot|28|31
AA25=Heavy Arrow|4|5
AA26=Hunter's Attack Power|51|56
AA27=Hunter's Fury|15|18
AA28=Imbued Ferocity|7|7
AA29=Nature's Reprieve|3|3
AA30=Outrider's Accuracy|26|27
AA31=Outrider's Attack|17|17
AA32=Outrider's Evasion|6|6
AA33=Pack Hunt|12|18
AA34=Poison Arrows|3|12
AA35=Precision of the Pathfinder|20|22
AA36=Protection of the Spirit Wolf|32|36
AA37=Ranged Finesse|20|22
AA38=Scarlet Cheetah's Fang|2|4
AA39=Scout's Mastery of the Elements|6|7
AA40=Scout's Weapon Mastery|18|20
AA41=Strengthened Strike|3|25
AA42=Stunning Kick|1|3
AA43=Tracking Mastery|5|5
AA44=Trick Shot|25|27
AA45=Volatile Arrow|1|4
AA46=Ambidexterity|14|23
AA47=Bind Sight|1|1
AA48=Burst of Power|71|90
AA49=Clenched Jaw|3|3
AA50=Combat Fury|6|8
AA51=Cover Tracks|15|15
AA52=Critical Affliction|9|12
AA53=Destructive Cascade|34|39
AA54=Destructive Fury|18|24
AA55=Double Riposte|6|6
AA56=Enhanced Aggression|43|60
AA57=Entrap|7|7
AA58=Expansive Mind|44|45
AA59=Extended Swarm|13|15
AA60=Fear Resistance|3|3
AA61=Finishing Blow|32|35
AA62=Forceful Rejuvenation|8|10
AA63=Fury of Magic|21|21
AA64=Gift of Mana|10|11
AA65=Gladestrider's Leap|1|6
AA66=Healing Adept|23|28
AA67=Healing Gift|33|36
AA68=Hunter's Return Kick|3|5
AA69=Innate Camouflage|1|2
AA70=Intrinsic Efficiency|6|6
AA71=Mass Group Buff|7|9
AA72=Mastery of the Past|35|40
AA73=Mental Clarity|45|46
AA74=Mental Stamina|31|43
AA75=Mnemonic Retention|4|5
AA76=Nature's Bounty|6|6
AA77=Perfected Levitation|2|2
AA78=Persistent Casting|15|15
AA79=Physical Enhancement|2|12
AA80=Quick Buff|3|3
AA81=Shared Camouflage|2|2
AA82=Shield Block|12|13
AA83=Spell Casting Mastery|4|4
AA84=Spell Casting Reinforcement|5|7
AA85=Spirit of Eagles|1|1
AA86=Strikethrough|9|9
AA87=Tranquil Blessings|1|1
AA88=Twinheal|8|10
AA89=Veteran's Wrath|27|33
AA90=Weapon Affinity|7|15
AA91=Armor of Wisdom|21|35
AA92=Battle Ready|4|4
AA93=Combat Agility|54|69
AA94=Combat Stability|58|78
AA95=Delay Death|40|65
AA96=Discordant Defiance|24|25
AA97=Energetic Attunement|20|25
AA98=Eyes Wide Open|8|8
AA99=First Aid|13|13
AA100=General Sturdiness|45|60
AA101=Hybrid Research|10|23
AA102=Identify|1|1
AA103=Innate Eminence|15|30
AA104=Innate Lung Capacity|6|6
AA105=Innate Metabolism|3|5
AA106=Innate Natureblade|17|18
AA107=Innate Regeneration|44|49
AA108=Innate Run Speed|9|10
AA109=Innate See Invis|1|1
AA110=Innate Spell Resistance|20|40
AA111=Mental Fortitude|3|3
AA112=Mystical Attuning|24|24
AA113=Mystical Shield|1|1
AA114=Natural Durability|11|21
AA115=New Tanaan Crafting Mastery|6|6
AA116=Origin|1|1
AA117=Packrat|11|11
AA118=Planar Power|60|70
AA119=Salvage|6|6
AA120=Twinproc|6|8
AA121=Veteran's Enhancement|1|1

Off topic but.. how do you get an AA dump like that?
 
Off topic but.. how do you get an AA dump like that?

Using my crappy magelo clone mac:-
(just noticed it mentions /bc aka eqbc but I actually changed it to use https://www.redguides.com/community/resources/mq2dannet.322/ )
Code:
| Ghetto Magelo v 1.2 -vsab
| v 1.0
| - Create a "Reports" folder under your macros folder. The "magelo will go there"
| v 1.1
| - fixed stat report by including it in quotes
| - no longer says mana as that triggers autobot to report mana...
| v 1.2
| - Cobbled together inventory dumps etc as well some extra stats (from showbonuses.mac)
| TODO: The caps for stats have changed somewhat in 7 years... they are way too low now.

Sub Main()
    /call ReportStat
/return


Sub ReportStat
    /outputfile Inventory
    /outputfile spellbook
    /outputfile missingspells
    /melee save
    | first thing I do is report my status to /bc
    /dgt all ${Me.Name} : Lvl ${Me.Level} (${Me.PctExp} %)  ${Me.AAPointsTotal} AA ${Me.AAPoints} unspent AA. HP ${Me.MaxHPs}  AC ? M ${Me.MaxMana}
    /declare a int local 1
    | Change to /declare b int local 4 if you want the "Special" tab included
    /declare b int local 3
    /declare AAcnt int local 0
    /declare MageloIniFile string local Reports\\${Me.Name}_GhettoMagelo.txt

    /ini ${MageloIniFile} Summary Stats "${Me.Name} : Lvl ${Me.Level} (${Me.PctExp} %)  ${Me.AAPointsTotal} AA ${Me.AAPoints} unspent AA. HP ${Me.MaxHPs}  AC ? Mana ${Me.MaxMana}"
   
    /call DumpGems ${MageloIniFile}  
    /call DumpStats ${MageloIniFile}
    /call DumpInventory ${MageloIniFile}

    /declare AALevelStr string local

    | don't need to do this bit really, it's irrelevant but it doesn't break it.
    /if (${Window[AAWindow].Child[CanPurchaseFilter].Checked}) /nomodkey /notify AAWindow CanPurchaseFilter leftmouseup
        /delay 10
        :Loop
            /if (${Window[AAWindow].Child[List${b}].List[${a}].Length}) {
            /varset AALevelStr ${Window[AAWindow].Child[List${b}].List[${a}, 2]}
            /if (${AALevelStr.Arg[1,"/"]}>0) {
            | This should list something like "AA1=Planar Power|10|20" If you have Planar power 10/20
                /ini ${MageloIniFile} AAIHave AA${AAcnt} "${Window[AAWindow].Child[List${b}].List[${a}]}|${AALevelStr.Arg[1,"/"]}|${AALevelStr.Arg[2,"/"]}"
                /varcalc AAcnt ${AAcnt}+1
            }
            /varcalc a ${a}+1
            /goto :Loop
        }
        /if (${b}>1) {
            /varcalc b ${b}-1
            /varset a 1
            /goto :Loop
        }
    /call DumpAA ${MageloIniFile}
    /mqlog Finished dump to file:${MageloIniFile}
/return

Sub DumpAA(MageloIniFile)
    /declare a int local 1
    /declare b int local 5
    /declare AAcnt int local 1

    /ini ${MageloIniFile} AAtoBuy AACount 0
    /declare AALevelStr string local

    /if (${Window[AAWindow].Child[CanPurchaseFilter].Checked}) /nomodkey /notify AAWindow CanPurchaseFilter leftmouseup
    /delay 10
    :Loop
        /if (${Window[AAWindow].Child[List${b}].List[${a}].Length}) {
            /varset AALevelStr ${Window[AAWindow].Child[List${b}].List[${a}, 2]}
        /if (${AALevelStr.Arg[1,"/"]}<${AALevelStr.Arg[2,"/"]}) {
            /ini ${MageloIniFile} AAtoBuy AA${AAcnt} "${Window[AAWindow].Child[List${b}].List[${a}]}|M|${b}"
                /varcalc AAcnt ${AAcnt}+1
        }
            /varcalc a ${a}+1
            /goto :Loop
        }
        /if (${b}>1) {
            /varcalc b ${b}-1
            /varset a 1
            /goto :Loop
        }

    /ini ${MageloIniFile} AAtoBuy AACount ${Int[${Math.Calc[${AAcnt} -1]}]}

/return

Sub DumpGems(MageloIniFile)
    /declare slot int local 1
    /for slot 1 to 12
      /ini ${MageloIniFile} MySpells Gem${slot} "${Me.Gem[${slot}].Name}"
    /next slot
/return

Sub DumpInventory(MageloIniFile)
    /declare ItemLinks int local 1

    /declare inv int local 0
    /declare aug int local 0
    /declare tmpLine string

    /for inv 0 to 22
        /varset tmpLine
        /if (${InvSlot[${inv}].Item.ID} ) {
            /varset tmpLine ${InvSlot[${inv}].Name} -- ${InvSlot[${inv}].Item.Name}
            /if (${ItemLinks}) {
                /varset tmpLine ${tmpLine} -- http://eq.magelo.com/item/${InvSlot[${inv}].Item.ID}
            }
            /for aug 1 to 5
                /if (${Me.Inventory[${inv}].Item[${aug}].ID} ) {
                    /varset tmpLine ${tmpLine} ( ${Me.Inventory[${inv}].Item[${aug}]}
                    /if (${ItemLinks}) {
                        /if (${Me.Inventory[${inv}].Item[${aug}].ID} ) /varset tmpLine ${tmpLine} -- http://eq.magelo.com/item/${Me.Inventory[${inv}].Item[${aug}].ID}
                    }
                    /varset tmpLine ${tmpLine} )
                }              
            /next aug
        } else {
            /varset tmpLine ${InvSlot[${inv}].Name} -- EMPTY
        }
        /mqlog ${tmpLine}
        /ini ${MageloIniFile} Inventory Slot${inv} "${tmpLine}"
    /next inv
/return

Sub DumpStats(MageloIniFile)

    /ini ${MageloIniFile} Currency Cash "${Me.Platinum}pp ${Me.Gold}g ${Me.Silver}s"
    /ini ${MageloIniFile} Currency "Marks of Valor" ${Me.AltCurrency[Marks of Valor]}
    /ini ${MageloIniFile} Currency "Remnants of Tranquility" ${Me.AltCurrency[38]}
    /declare statValue int local 0
    /mqlog
    /mqlog Stats Bonuses:
    /mqlog --------------
    /mqlog HP: +${Me.HPBonus}
    /varset statValue ${Me.HPBonus}
    /ini ${MageloIniFile} Stats HPBonus             "+${Me.HPBonus}"
    /ini ${MageloIniFile} Stats ManaBonus         " +${Me.ManaBonus}"
    /ini ${MageloIniFile} Stats EnduranceBonus     "+${Me.EnduranceBonus}"
    /ini ${MageloIniFile} Stats HpRegen     "+${Me.HPRegenBonus} / 45"

    /ini ${MageloIniFile} Stats HAGI    ${Me.HeroicAGIBonus}
    /ini ${MageloIniFile} Stats HCHA    ${Me.HeroicCHABonus}
    /ini ${MageloIniFile} Stats HDEX    ${Me.HeroicDEXBonus}
    /ini ${MageloIniFile} Stats HINT    ${Me.HeroicINTBonus}
    /ini ${MageloIniFile} Stats HSTA    ${Me.HeroicSTABonus}
    /ini ${MageloIniFile} Stats HSTR    ${Me.HeroicSTRBonus}
    /ini ${MageloIniFile} Stats HWIS    ${Me.HeroicWISBonus}

    | TODO: Mana regen
    /if (${Me.AltAbility[Expansive Mind]} == 25) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 20
    } else /if (${Me.AltAbility[Expansive Mind]} == 20) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 19
    } else /if (${Me.AltAbility[Expansive Mind]} == 15) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 18
    } else /if (${Me.AltAbility[Expansive Mind]} == 10) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 17
    } else /if (${Me.AltAbility[Expansive Mind]} == 5) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 16
    } else {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 15
    }

    | TODO: Offensive bonuses
    /mqlog
    /mqlog Offensive Bonuses:
    /mqlog ------------------
    /ini ${MageloIniFile} Stats Haste "${Math.Calc[${Me.AttackSpeed}-100].Int}%"
    /if (${Me.AltAbility[Enhanced Aggression]} == 25) {
        /mqlog Attack: +${Me.AttackBonus} / 300
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 20) {
        /mqlog Attack: +${Me.AttackBonus} / 290
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 15) {
        /mqlog Attack: +${Me.AttackBonus} / 280
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 10) {
        /mqlog Attack: +${Me.AttackBonus} / 270
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 5) {
        /mqlog Attack: +${Me.AttackBonus} / 260
    } else {
        /mqlog Attack: +${Me.AttackBonus} / 250
    }
    /ini ${MageloIniFile} Stats  "Accuracy" "+${Me.AccuracyBonus} / 150"
    /ini ${MageloIniFile} Stats  "Damage Shield" "+${Me.DamageShieldBonus} / 30"
    /ini ${MageloIniFile} Stats  "Strikethrough" "+${Me.StrikeThroughBonus}% / 35"
    /ini ${MageloIniFile} Stats  "Combat Effects" "+${Me.CombatEffectsBonus} / 100?"

    | TODO: Defensive bonuses
    /mqlog
    /mqlog Defensive Bonuses:
    /mqlog ------------------
    /ini ${MageloIniFile} Stats Avoidance "+${Me.AvoidanceBonus} / 100"
    /ini ${MageloIniFile} Stats Shielding "+${Me.ShieldingBonus}% / 35%"
    /ini ${MageloIniFile} Stats Spellshield "+${Me.SpellShieldBonus}% / 35%"
    /ini ${MageloIniFile} Stats "Stun Resist" "+${Me.StunResistBonus}% / 35%"
    /ini ${MageloIniFile} Stats "DoT Shielding" "+${Me.DoTShieldBonus}% / 35%"
/return
 
Using my crappy magelo clone mac:-
(just noticed it mentions /bc aka eqbc but I actually changed it to use https://www.redguides.com/community/resources/mq2dannet.322/ )
Code:
| Ghetto Magelo v 1.2 -vsab
| v 1.0
| - Create a "Reports" folder under your macros folder. The "magelo will go there"
| v 1.1
| - fixed stat report by including it in quotes
| - no longer says mana as that triggers autobot to report mana...
| v 1.2
| - Cobbled together inventory dumps etc as well some extra stats (from showbonuses.mac)
| TODO: The caps for stats have changed somewhat in 7 years... they are way too low now.

Sub Main()
    /call ReportStat
/return


Sub ReportStat
    /outputfile Inventory
    /outputfile spellbook
    /outputfile missingspells
    /melee save
    | first thing I do is report my status to /bc
    /dgt all ${Me.Name} : Lvl ${Me.Level} (${Me.PctExp} %)  ${Me.AAPointsTotal} AA ${Me.AAPoints} unspent AA. HP ${Me.MaxHPs}  AC ? M ${Me.MaxMana}
    /declare a int local 1
    | Change to /declare b int local 4 if you want the "Special" tab included
    /declare b int local 3
    /declare AAcnt int local 0
    /declare MageloIniFile string local Reports\\${Me.Name}_GhettoMagelo.txt

    /ini ${MageloIniFile} Summary Stats "${Me.Name} : Lvl ${Me.Level} (${Me.PctExp} %)  ${Me.AAPointsTotal} AA ${Me.AAPoints} unspent AA. HP ${Me.MaxHPs}  AC ? Mana ${Me.MaxMana}"
  
    /call DumpGems ${MageloIniFile} 
    /call DumpStats ${MageloIniFile}
    /call DumpInventory ${MageloIniFile}

    /declare AALevelStr string local

    | don't need to do this bit really, it's irrelevant but it doesn't break it.
    /if (${Window[AAWindow].Child[CanPurchaseFilter].Checked}) /nomodkey /notify AAWindow CanPurchaseFilter leftmouseup
        /delay 10
        :Loop
            /if (${Window[AAWindow].Child[List${b}].List[${a}].Length}) {
            /varset AALevelStr ${Window[AAWindow].Child[List${b}].List[${a}, 2]}
            /if (${AALevelStr.Arg[1,"/"]}>0) {
            | This should list something like "AA1=Planar Power|10|20" If you have Planar power 10/20
                /ini ${MageloIniFile} AAIHave AA${AAcnt} "${Window[AAWindow].Child[List${b}].List[${a}]}|${AALevelStr.Arg[1,"/"]}|${AALevelStr.Arg[2,"/"]}"
                /varcalc AAcnt ${AAcnt}+1
            }
            /varcalc a ${a}+1
            /goto :Loop
        }
        /if (${b}>1) {
            /varcalc b ${b}-1
            /varset a 1
            /goto :Loop
        }
    /call DumpAA ${MageloIniFile}
    /mqlog Finished dump to file:${MageloIniFile}
/return

Sub DumpAA(MageloIniFile)
    /declare a int local 1
    /declare b int local 5
    /declare AAcnt int local 1

    /ini ${MageloIniFile} AAtoBuy AACount 0
    /declare AALevelStr string local

    /if (${Window[AAWindow].Child[CanPurchaseFilter].Checked}) /nomodkey /notify AAWindow CanPurchaseFilter leftmouseup
    /delay 10
    :Loop
        /if (${Window[AAWindow].Child[List${b}].List[${a}].Length}) {
            /varset AALevelStr ${Window[AAWindow].Child[List${b}].List[${a}, 2]}
        /if (${AALevelStr.Arg[1,"/"]}<${AALevelStr.Arg[2,"/"]}) {
            /ini ${MageloIniFile} AAtoBuy AA${AAcnt} "${Window[AAWindow].Child[List${b}].List[${a}]}|M|${b}"
                /varcalc AAcnt ${AAcnt}+1
        }
            /varcalc a ${a}+1
            /goto :Loop
        }
        /if (${b}>1) {
            /varcalc b ${b}-1
            /varset a 1
            /goto :Loop
        }

    /ini ${MageloIniFile} AAtoBuy AACount ${Int[${Math.Calc[${AAcnt} -1]}]}

/return

Sub DumpGems(MageloIniFile)
    /declare slot int local 1
    /for slot 1 to 12
      /ini ${MageloIniFile} MySpells Gem${slot} "${Me.Gem[${slot}].Name}"
    /next slot
/return

Sub DumpInventory(MageloIniFile)
    /declare ItemLinks int local 1

    /declare inv int local 0
    /declare aug int local 0
    /declare tmpLine string

    /for inv 0 to 22
        /varset tmpLine
        /if (${InvSlot[${inv}].Item.ID} ) {
            /varset tmpLine ${InvSlot[${inv}].Name} -- ${InvSlot[${inv}].Item.Name}
            /if (${ItemLinks}) {
                /varset tmpLine ${tmpLine} -- http://eq.magelo.com/item/${InvSlot[${inv}].Item.ID}
            }
            /for aug 1 to 5
                /if (${Me.Inventory[${inv}].Item[${aug}].ID} ) {
                    /varset tmpLine ${tmpLine} ( ${Me.Inventory[${inv}].Item[${aug}]}
                    /if (${ItemLinks}) {
                        /if (${Me.Inventory[${inv}].Item[${aug}].ID} ) /varset tmpLine ${tmpLine} -- http://eq.magelo.com/item/${Me.Inventory[${inv}].Item[${aug}].ID}
                    }
                    /varset tmpLine ${tmpLine} )
                }             
            /next aug
        } else {
            /varset tmpLine ${InvSlot[${inv}].Name} -- EMPTY
        }
        /mqlog ${tmpLine}
        /ini ${MageloIniFile} Inventory Slot${inv} "${tmpLine}"
    /next inv
/return

Sub DumpStats(MageloIniFile)

    /ini ${MageloIniFile} Currency Cash "${Me.Platinum}pp ${Me.Gold}g ${Me.Silver}s"
    /ini ${MageloIniFile} Currency "Marks of Valor" ${Me.AltCurrency[Marks of Valor]}
    /ini ${MageloIniFile} Currency "Remnants of Tranquility" ${Me.AltCurrency[38]}
    /declare statValue int local 0
    /mqlog
    /mqlog Stats Bonuses:
    /mqlog --------------
    /mqlog HP: +${Me.HPBonus}
    /varset statValue ${Me.HPBonus}
    /ini ${MageloIniFile} Stats HPBonus             "+${Me.HPBonus}"
    /ini ${MageloIniFile} Stats ManaBonus         " +${Me.ManaBonus}"
    /ini ${MageloIniFile} Stats EnduranceBonus     "+${Me.EnduranceBonus}"
    /ini ${MageloIniFile} Stats HpRegen     "+${Me.HPRegenBonus} / 45"

    /ini ${MageloIniFile} Stats HAGI    ${Me.HeroicAGIBonus}
    /ini ${MageloIniFile} Stats HCHA    ${Me.HeroicCHABonus}
    /ini ${MageloIniFile} Stats HDEX    ${Me.HeroicDEXBonus}
    /ini ${MageloIniFile} Stats HINT    ${Me.HeroicINTBonus}
    /ini ${MageloIniFile} Stats HSTA    ${Me.HeroicSTABonus}
    /ini ${MageloIniFile} Stats HSTR    ${Me.HeroicSTRBonus}
    /ini ${MageloIniFile} Stats HWIS    ${Me.HeroicWISBonus}

    | TODO: Mana regen
    /if (${Me.AltAbility[Expansive Mind]} == 25) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 20
    } else /if (${Me.AltAbility[Expansive Mind]} == 20) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 19
    } else /if (${Me.AltAbility[Expansive Mind]} == 15) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 18
    } else /if (${Me.AltAbility[Expansive Mind]} == 10) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 17
    } else /if (${Me.AltAbility[Expansive Mind]} == 5) {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 16
    } else {
        /mqlog Mana Regen: +${Me.ManaRegenBonus} / 15
    }

    | TODO: Offensive bonuses
    /mqlog
    /mqlog Offensive Bonuses:
    /mqlog ------------------
    /ini ${MageloIniFile} Stats Haste "${Math.Calc[${Me.AttackSpeed}-100].Int}%"
    /if (${Me.AltAbility[Enhanced Aggression]} == 25) {
        /mqlog Attack: +${Me.AttackBonus} / 300
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 20) {
        /mqlog Attack: +${Me.AttackBonus} / 290
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 15) {
        /mqlog Attack: +${Me.AttackBonus} / 280
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 10) {
        /mqlog Attack: +${Me.AttackBonus} / 270
    } else /if (${Me.AltAbility[Enhanced Aggression]} == 5) {
        /mqlog Attack: +${Me.AttackBonus} / 260
    } else {
        /mqlog Attack: +${Me.AttackBonus} / 250
    }
    /ini ${MageloIniFile} Stats  "Accuracy" "+${Me.AccuracyBonus} / 150"
    /ini ${MageloIniFile} Stats  "Damage Shield" "+${Me.DamageShieldBonus} / 30"
    /ini ${MageloIniFile} Stats  "Strikethrough" "+${Me.StrikeThroughBonus}% / 35"
    /ini ${MageloIniFile} Stats  "Combat Effects" "+${Me.CombatEffectsBonus} / 100?"

    | TODO: Defensive bonuses
    /mqlog
    /mqlog Defensive Bonuses:
    /mqlog ------------------
    /ini ${MageloIniFile} Stats Avoidance "+${Me.AvoidanceBonus} / 100"
    /ini ${MageloIniFile} Stats Shielding "+${Me.ShieldingBonus}% / 35%"
    /ini ${MageloIniFile} Stats Spellshield "+${Me.SpellShieldBonus}% / 35%"
    /ini ${MageloIniFile} Stats "Stun Resist" "+${Me.StunResistBonus}% / 35%"
    /ini ${MageloIniFile} Stats "DoT Shielding" "+${Me.DoTShieldBonus}% / 35%"
/return

Oh that's very useful to me. Thanks a lot. Dannet is the next big thing I plan to take a look at now I've got mq2discord on it's feet.
 
Request - Auto Ranger Macro?

Users who are viewing this thread

Back
Top
Cart