The other day I made 5 new accounts with 5 new toons and began leveling them up.
As they leveled I made downshts and holyshits for them.
Tedious and time consuming to say the least.
So on Sunday I set out to make some code that would create them for me.
I put together a macro that would inventory spells memmed and clickies worn.
Then took that information and made a little program in VB that would generate the Downshits and Holyshits.
At the moment it's pretty simple.
Detrimental spells get put in Holyshits.
Beneficial spells get put in Downshits.
Pet spells are handled with /target ${Me.Spawn.Pet.CleanName}
Targeted single and group spells are handled with /target ${Me.CleanName}
Discs are setup as Holyshits. Will need modification.
It does not check for duplicate spells such as some items have the same click effect.
It does not handle AA at the moment.
It generates generic code.
Clicky items are pretty much ready to go as generated.
Buffs may need mana checks modified
Nukes will need MobHPs and mana checked and possibly other conditions added
Definitely saves a ton of time and eliminate errors in syntax and spelling.
Shits generated from 100 SK.
Bottom line is it saves time and frustration.
How to use:
1. Put the shitsBuilder.mac macro in your /macro folder.
2. Copy the ShitsBuilder.exe to the folder of your choice. (PM me for source code)
3. Log in the toon you want to generate shits for.
4. Mem only the spells you want to use. Both damage and buffs.
5. Equip the items you want to fire. ie.. equip epic for macro and it will be clicked from inventory.
6. Run the macro /mac ShitsBuilder
7. Run ShitsBuilder.exe, select the TOON_SERVER_Shits.ini file from the /macro folder
8. Click the MAKE MY SHITS button.
9. Go to your /macro folder and find the new file, TOON_SERVER_Shits.txt
10. Copy paste the shits into your SERVER_TOON.ini file in the root MQ2 folder
11. Check all the lines for duplicates, correct numbers ie.. downshit0=XXX, downshit1=XXX, auras and mana/mobHP level checks.
12. Go have fun
Not sure what the policy is on giving out exe
I've put it here but if it's against some policy, let me know and I'll take it down.
If you prefer I can send you the code to compile yourself.
EDIT:
Latest version uploaded.
As they leveled I made downshts and holyshits for them.
Tedious and time consuming to say the least.
So on Sunday I set out to make some code that would create them for me.
I put together a macro that would inventory spells memmed and clickies worn.
Then took that information and made a little program in VB that would generate the Downshits and Holyshits.
At the moment it's pretty simple.
Detrimental spells get put in Holyshits.
Beneficial spells get put in Downshits.
Pet spells are handled with /target ${Me.Spawn.Pet.CleanName}
Targeted single and group spells are handled with /target ${Me.CleanName}
Discs are setup as Holyshits. Will need modification.
It does not check for duplicate spells such as some items have the same click effect.
It does not handle AA at the moment.
It generates generic code.
Clicky items are pretty much ready to go as generated.
Buffs may need mana checks modified
Nukes will need MobHPs and mana checked and possibly other conditions added
Definitely saves a ton of time and eliminate errors in syntax and spelling.
Shits generated from 100 SK.
Code:
Downshitif=${If[!${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && !${Me.Moving} && ${Me.Standing} && !${Me.Invis},1,0]}
Downflag0=1
Downshit0=/if (!${Me.Buff[Grelleth's Skin].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Grelleth's Skin]} && ${Spell[Grelleth's Skin].Stacks}) /casting "Grelleth's Skin" gem2
Downflag1=1
Downshit1=/if (!${Me.Buff[Steadfast Stance].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Steadfast Stance]} && ${Spell[Steadfast Stance].Stacks}) /casting "Steadfast Stance" gem8
Downflag2=1
Downshit2=/if (!${Me.Buff[Might of Stone IV].ID} && ${Cast.Ready[Jade Speckled Earhoop]} && ${Spell[Might of Stone IV].Stacks}) /casting "Jade Speckled Earhoop" item
Downflag3=1
Downshit3=/if (!${Me.Buff[Guardian Circle I].ID} && ${Cast.Ready[Guise of Dark Lies]} && ${Spell[Guardian Circle I].Stacks}) /casting "Guise of Dark Lies" item
Downflag4=1
Downshit4=/if (!${Me.Buff[Might of Stone IV].ID} && ${Cast.Ready[Jade Inlaid Earhoop]} && ${Spell[Might of Stone IV].Stacks}) /casting "Jade Inlaid Earhoop" item
Downflag5=1
Downshit5=/if (!${Me.Buff[Myrmidon's Skill VI].ID} && ${Cast.Ready[Bubbling Shoulderpads]} && ${Spell[Myrmidon's Skill VI].Stacks}) /casting "Bubbling Shoulderpads" item
Downflag6=1
Downshit6=/if (!${Me.Buff[Illusionary Spikes VI].ID} && ${Cast.Ready[Vile Fin Cloak]} && ${Spell[Illusionary Spikes VI].Stacks}) /casting "Vile Fin Cloak" item
Downflag7=1
Downshit7=/if (!${Me.Buff[Prismatic Ward I].ID} && ${Cast.Ready[Gilded Bow of the Hunter]} && ${Spell[Prismatic Ward I].Stacks}) /casting "Gilded Bow of the Hunter" item
Downflag8=1
Downshit8=/if (!${Me.Buff[Knowledge of the Past X].ID} && ${Cast.Ready[Wrapping Antennae]} && ${Spell[Knowledge of the Past X].Stacks}) /casting "Wrapping Antennae" item
Downflag9=1
Downshit9=/if (!${Me.Buff[Knowledge of the Past IX].ID} && ${Cast.Ready[Band of Minimal Effort]} && ${Spell[Knowledge of the Past IX].Stacks}) /casting "Band of Minimal Effort" item
Downflag10=1
Downshit10=/if (!${Me.Buff[Baleful Rapacity].ID} && ${Cast.Ready[Twilight Breastplate of the Revenant]} && ${Spell[Baleful Rapacity].Stacks}) /casting "Twilight Breastplate of the Revenant" item
Downflag11=1
Downshit11=/if (!${Me.Buff[Expanding Mind VI].ID} && ${Cast.Ready[Snow Cord]} && ${Spell[Expanding Mind VI].Stacks}) /casting "Snow Cord" item
; holyflagX=1
; holyshitX=/if (${Target.PctHPs}<30 && ${Target.Fleeing} && ${Cast.Ready[PUT YOUR SNARE OR DARKNESS SPELL HERE]} && ${Target.Speed}<50) /casting "PUT YOUR SNARE OR DARKNESS SPELL HERE"
Holyflag0=1
Holyshit0=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Terror of Poira]}) /casting "Terror of Poira" gem1
Holyflag1=1
Holyshit1=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Dire Stricture]}) /casting "Dire Stricture" gem4
Holyflag2=1
Holyshit2=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Touch of Lanys]}) /casting "Touch of Lanys" gem5
Holyflag3=1
Holyshit3=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Demand for Power]}) /casting "Demand for Power" gem7
Holyflag4=1
Holyshit4=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Spike of Disease]}) /casting "Spike of Disease" gem11
Holyflag5=1
Holyshit5=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Final Breath]} && ${Me.CurrentEndurance}>188 && ${Melee.DiscID}==0) /casting "Final Breath" disc
Holyflag6=1
Holyshit6=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Withstand]} && ${Me.CurrentEndurance}>342 && ${Melee.DiscID}==0) /casting "Withstand" disc
Holyflag7=1
Holyshit7=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Last Gasp]} && ${Me.CurrentEndurance}>150 && ${Melee.DiscID}==0) /casting "Last Gasp" disc
Holyflag8=1
Holyshit8=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Rigor Mortis]} && ${Me.CurrentEndurance}>150 && ${Melee.DiscID}==0) /casting "Rigor Mortis" disc
Holyflag9=1
Holyshit9=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Last Breath]} && ${Me.CurrentEndurance}>120 && ${Melee.DiscID}==0) /casting "Last Breath" disc
Holyflag10=1
Holyshit10=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Defy]} && ${Me.CurrentEndurance}>274 && ${Melee.DiscID}==0) /casting "Defy" disc
Holyflag11=1
Holyshit11=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Renounce]} && ${Me.CurrentEndurance}>284 && ${Melee.DiscID}==0) /casting "Renounce" disc
Holyflag12=1
Holyshit12=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Gouging Blade]} && ${Me.CurrentEndurance}>338 && ${Melee.DiscID}==0) /casting "Gouging Blade" disc
Holyflag13=1
Holyshit13=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Undivided Acrimony]} && ${Me.CurrentEndurance}>431 && ${Melee.DiscID}==0) /casting "Undivided Acrimony" disc
Holyflag14=1
Holyshit14=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Final Gasp]} && ${Me.CurrentEndurance}>193 && ${Melee.DiscID}==0) /casting "Final Gasp" disc
Holyflag15=1
Holyshit15=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Crimson Blade]} && ${Me.CurrentEndurance}>3950 && ${Melee.DiscID}==0) /casting "Crimson Blade" disc
Holyflag16=1
Holyshit16=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Reflexive Rancor]} && ${Me.CurrentEndurance}>355 && ${Melee.DiscID}==0) /casting "Reflexive Rancor" disc
Holyflag17=1
Holyshit17=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Reprove]} && ${Me.CurrentEndurance}>294 && ${Melee.DiscID}==0) /casting "Reprove" disc
Holyflag18=1
Holyshit18=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Terminal Breath]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Terminal Breath" disc
Holyflag19=1
Holyshit19=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Scarlet Blade]} && ${Me.CurrentEndurance}>4088 && ${Melee.DiscID}==0) /casting "Scarlet Blade" disc
Holyflag20=1
Holyshit20=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Unbroken Acrimony]} && ${Me.CurrentEndurance}>446 && ${Melee.DiscID}==0) /casting "Unbroken Acrimony" disc
Holyflag21=1
Holyshit21=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Gashing Blade]} && ${Me.CurrentEndurance}>350 && ${Melee.DiscID}==0) /casting "Gashing Blade" disc
Holyflag22=1
Holyshit22=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Deflection Discipline" disc
Holyflag23=1
Holyshit23=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Leechcurse Discipline]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Leechcurse Discipline" disc
Holyflag24=1
Holyshit24=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Soul Guard]} && ${Me.CurrentEndurance}>1800 && ${Melee.DiscID}==0) /casting "Soul Guard" disc
Holyflag25=1
Holyshit25=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Ichor Guard]} && ${Me.CurrentEndurance}>1100 && ${Melee.DiscID}==0) /casting "Ichor Guard" disc
Holyflag26=1
Holyshit26=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Soul Shield]} && ${Me.CurrentEndurance}>3000 && ${Melee.DiscID}==0) /casting "Soul Shield" disc
Holyflag27=1
Holyshit27=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Respite]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Respite" disc
Holyflag28=1
Holyshit28=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Reprieve]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Reprieve" disc
Holyflag29=1
Holyshit29=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Rest]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Rest" disc
Holyflag30=1
Holyshit30=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Fearless Discipline]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Fearless Discipline" disc
Holyflag31=1
Holyshit31=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Malarian Carapace]} && ${Me.CurrentEndurance}>6853 && ${Melee.DiscID}==0) /casting "Malarian Carapace" disc
Holyflag32=1
Holyshit32=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Malarian Mantle]} && ${Me.CurrentEndurance}>6853 && ${Melee.DiscID}==0) /casting "Malarian Mantle" disc
Holyflag33=1
Holyshit33=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Umbral Carapace]} && ${Me.CurrentEndurance}>5618 && ${Melee.DiscID}==0) /casting "Umbral Carapace" disc
Holyflag34=1
Holyshit34=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Soul Carapace]} && ${Me.CurrentEndurance}>5040 && ${Melee.DiscID}==0) /casting "Soul Carapace" disc
Holyflag35=1
Holyshit35=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Gorgon Mantle]} && ${Me.CurrentEndurance}>5738 && ${Melee.DiscID}==0) /casting "Gorgon Mantle" disc
Holyflag36=1
Holyshit36=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Recondite Mantle]} && ${Me.CurrentEndurance}>5939 && ${Melee.DiscID}==0) /casting "Recondite Mantle" disc
Holyflag37=1
Holyshit37=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Bonebrood Mantle]} && ${Me.CurrentEndurance}>6147 && ${Melee.DiscID}==0) /casting "Bonebrood Mantle" disc
Holyflag38=1
Holyshit38=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Gorgon Carapace]} && ${Me.CurrentEndurance}>1979 && ${Melee.DiscID}==0) /casting "Gorgon Carapace" disc
Holyflag39=1
Holyshit39=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Sholothian Carapace]} && ${Me.CurrentEndurance}>2048 && ${Melee.DiscID}==0) /casting "Sholothian Carapace" disc
Holyflag40=1
Holyshit40=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Unholy Guardian Discipline]} && ${Me.CurrentEndurance}>4845 && ${Melee.DiscID}==0) /casting "Unholy Guardian Discipline" disc
Holyflag41=1
Holyshit41=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Grelleth's Carapace]} && ${Me.CurrentEndurance}>2120 && ${Melee.DiscID}==0) /casting "Grelleth's Carapace" disc
Holyflag42=1
Holyshit42=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Resistant Discipline]} && ${Me.CurrentEndurance}>200 && ${Melee.DiscID}==0) /casting "Resistant Discipline" disc
Holyflag43=1
Holyshit43=/if (${Me.PctEndurance}<30 && ${Me.CombatAbilityReady[Unholy Aura Discipline]} && ${Me.CurrentEndurance}>900 && ${Melee.DiscID}==0) /casting "Unholy Aura Discipline" disc
Bottom line is it saves time and frustration.
How to use:
1. Put the shitsBuilder.mac macro in your /macro folder.
2. Copy the ShitsBuilder.exe to the folder of your choice. (PM me for source code)
3. Log in the toon you want to generate shits for.
4. Mem only the spells you want to use. Both damage and buffs.
5. Equip the items you want to fire. ie.. equip epic for macro and it will be clicked from inventory.
6. Run the macro /mac ShitsBuilder
7. Run ShitsBuilder.exe, select the TOON_SERVER_Shits.ini file from the /macro folder
8. Click the MAKE MY SHITS button.
9. Go to your /macro folder and find the new file, TOON_SERVER_Shits.txt
10. Copy paste the shits into your SERVER_TOON.ini file in the root MQ2 folder
11. Check all the lines for duplicates, correct numbers ie.. downshit0=XXX, downshit1=XXX, auras and mana/mobHP level checks.
12. Go have fun
Not sure what the policy is on giving out exe
I've put it here but if it's against some policy, let me know and I'll take it down.
If you prefer I can send you the code to compile yourself.
EDIT:
Latest version uploaded.
Attachments
Last edited: