W
Wolfborn
Setting up my 6 toon team with down and holy shits got to be a pain so I came up with this little combo to help ease the pain.
Basically it makes an .ini file with all the spells in your spell gems, all clickes and discs. The shitsbuilder.exe then takes that data and builds downshits and holyshits that can be copied to your SERVER_TOON.INI file.
You will need to look them over and make a few modifications such as MobHp and Mana checks but most are ready to go as produced.
It will read Discs at this time but is limited in how it sets them up.
It will read all clickies, worn or in bags. (use carefully!!)
It will check for pure caster and set up accordingly. (no Holyshits)
It detects PB AE spells and sets them up for mob proximity and number check.
It Detects Lifetaps and adds to Holyshits section.
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 and will need modification.
Detects pure casters and sets up spells as downshits but detrimental spells are handled via “/if ${Me.CombatState.Equal[COMBAT]}”
Discs are not processed with pure casters.
Clickies will be checked worn or in bags/inventory. Be careful because it will list anything that can be clicked including potions, campfire transport devices, anchor transport, amnesia potions, etc... just about anything that can be clicked. Look over your shits carefully or you may be in for a surprise.
How to use:
1. Put the shitsBuilder.mac and ShitsBuilder.exe in your /macro folder. (PM me for source code)
2. Mem only the spells you want to use. Both damage, heals and buffs
3. Run the macro /mac ShitsBuilder
4. Run ShitsBuilder.exe, locate the TOON_SERVER_Shits.ini file from the /macro folder
5. Click the MAKE MY SHITS button.
6. Go to your /macro folder and find the new file, TOON_SERVER_Shits.txt
7. Copy paste the shits into your SERVER_TOON.ini file in the root MQ2 folder
8. Check all the lines for duplicates, correct numbers ie.. downshit0=XXX, downshit1=XXX, auras. Verify mana/mobHP level checks.
9. Enjoy ))
Any and all comments are welcome. Bug fixes will be handled as soon as possible.
New version will be released after I get back home (out of the country for now)
Example Code: (Shadowknight circa lvl 80ish)
UPDATE: 04/07/2014
Version 2.2 - Need new MAC and EXE. Will not function with old ini files.
Cleaned up code, fixed few errors such as loop when wrong file is selected.
Added downshit conditions for zone, invis, standing and moving to suit Redguides MQ2Melee plugin. - !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && !${Me.Moving} && ${Me.Standing} && !${Me.Invis}
Automatic Pure Caster selection, disc checkbox disabled, holyshits will not be generated if you are pure caster.
Better handling of spells such as LifeTaps and PB nukes etc.
Added more Target.HPs checks, ie: ${Target.PctHPs}<90 && ${Target.PctHPs}>80 - Modify these lines to start and stop casting of nukes based on Target health. Example starts casting at 90% and stops at 80%.
Added option to disable generation of the flag set bit, ie: downflag0=1 or holyflag0=1 to make cleaner output for when you just want to modify or check some lines.
I've got time on my hands. Send suggestions to add features or functionality.
I have been contemplating a button to generate KissAssist.ini entries as well.
Ie: DPS1=Claw of Gorenaire, Buffs1=Voice of Prescience
Use spell gem order to determine pct health to cast.. ie first spell in DPS section DPS1=Bite of Tashani|98, second would be DPS2=Desolate Deeds|95. Allow setting of interval (3 in this case)
Would save a lot of typing and finger mistakes.
UPDATE: 07/18/2014
Fixed bug when reading ID of older spells with only two numbers.
-Wolf
Basically it makes an .ini file with all the spells in your spell gems, all clickes and discs. The shitsbuilder.exe then takes that data and builds downshits and holyshits that can be copied to your SERVER_TOON.INI file.
You will need to look them over and make a few modifications such as MobHp and Mana checks but most are ready to go as produced.
It will read Discs at this time but is limited in how it sets them up.
It will read all clickies, worn or in bags. (use carefully!!)
It will check for pure caster and set up accordingly. (no Holyshits)
It detects PB AE spells and sets them up for mob proximity and number check.
It Detects Lifetaps and adds to Holyshits section.
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 and will need modification.
Detects pure casters and sets up spells as downshits but detrimental spells are handled via “/if ${Me.CombatState.Equal[COMBAT]}”
Discs are not processed with pure casters.
Clickies will be checked worn or in bags/inventory. Be careful because it will list anything that can be clicked including potions, campfire transport devices, anchor transport, amnesia potions, etc... just about anything that can be clicked. Look over your shits carefully or you may be in for a surprise.
How to use:
1. Put the shitsBuilder.mac and ShitsBuilder.exe in your /macro folder. (PM me for source code)
2. Mem only the spells you want to use. Both damage, heals and buffs
3. Run the macro /mac ShitsBuilder
4. Run ShitsBuilder.exe, locate the TOON_SERVER_Shits.ini file from the /macro folder
5. Click the MAKE MY SHITS button.
6. Go to your /macro folder and find the new file, TOON_SERVER_Shits.txt
7. Copy paste the shits into your SERVER_TOON.ini file in the root MQ2 folder
8. Check all the lines for duplicates, correct numbers ie.. downshit0=XXX, downshit1=XXX, auras. Verify mana/mobHP level checks.
9. Enjoy ))
Any and all comments are welcome. Bug fixes will be handled as soon as possible.
New version will be released after I get back home (out of the country for now)
Example Code: (Shadowknight circa lvl 80ish)
Rich (BB code):
------------------------ SPELL DOWNSHITS ------------------------------------
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[Amygdalan Horror].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Amygdalan Horror]} && ${Spell[Amygdalan Horror].Stacks}) /casting "Amygdalan Horror" gem8
Downflag1=1
Downshit1=/if (!${Me.Buff[Remorseless Demeanor].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Remorseless Demeanor]} && ${Spell[Remorseless Demeanor].Stacks}) /casting "Remorseless Demeanor" gem6
Downflag2=1
Downshit2=/if (!${Me.Buff[Drape of Korafax].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Drape of Korafax]} && ${Spell[Drape of Korafax].Stacks}) /casting "Drape of Korafax" gem9
Downflag3=1
Downshit3=/if (!${Me.Buff[Steely Stance].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Steely Stance]} && ${Spell[Steely Stance].Stacks}) /casting "Steely Stance" gem10
------------------------ CLICKABLE ITEMS ON CHARACTER ------------------------------------
Downflag4=1
Downshit4=/if (!${Me.Buff[Geomantra V].ID} && ${Cast.Ready[Earring of the Dancing Shade]} && ${Spell[Geomantra V].Stacks}) /casting "Earring of the Dancing Shade" item
Downflag5=1
Downshit5=/if (!${Me.Buff[Form of Endurance V].ID} && ${Cast.Ready[Gohednugh's Mask of the Goat]} && ${Spell[Form of Endurance V].Stacks}) /casting "Gohednugh's Mask of the Goat" item
Downflag6=1
Downshit6=/if (!${Me.Buff[Soothing Breath II].ID} && ${Cast.Ready[Dried, Shriveled Ear]} && ${Spell[Soothing Breath II].Stacks}) /casting "Dried, Shriveled Ear" item
Downflag7=1
Downshit7=/if (!${Me.Buff[Myrmidon's Skill I].ID} && ${Cast.Ready[Executioner's Shoulders]} && ${Spell[Myrmidon's Skill I].Stacks}) /casting "Executioner's Shoulders" item
Downflag8=1
Downshit8=/if (!${Me.Buff[Illusionary Spikes II].ID} && ${Cast.Ready[Kalkek's Cloak of the Obsolete]} && ${Spell[Illusionary Spikes II].Stacks}) /casting "Kalkek's Cloak of the Obsolete" item
Downflag9=1
Downshit9=/if (!${Me.Buff[Form of Defense VII].ID} && ${Cast.Ready[Darksteel Band of the Turncoat]} && ${Spell[Form of Defense VII].Stacks}) /casting "Darksteel Band of the Turncoat" item
Downflag10=1
Downshit10=/if (!${Me.Buff[Form of Defense VII].ID} && ${Cast.Ready[Woven Steel Fingerguard]} && ${Spell[Form of Defense VII].Stacks}) /casting "Woven Steel Fingerguard" item
Downflag11=1
Downshit11=/if (!${Me.Buff[Malign Rapacity].ID} && ${Cast.Ready[Rustic Breastplate of the Revenant]} && ${Spell[Malign Rapacity].Stacks}) /casting "Rustic Breastplate of the Revenant" item
Downflag12=1
Downshit12=/if (!${Me.Buff[Expanding Mind II].ID} && ${Cast.Ready[Grendlaen Hide Belt]} && ${Spell[Expanding Mind II].Stacks}) /casting "Grendlaen Hide Belt" item
------------------------ CLICKABLE ITEMS IN INVENTORY ------------------------------------
Downflag21=1
Downshit21=/if (!${Me.Buff[Bottle of Adventure III].ID} && ${Cast.Ready[Bottle of Adventure III]} && ${Spell[Bottle of Adventure III].Stacks}) /casting "Bottle of Adventure III" item
Downflag22=1
Downshit22=/if (!${Me.Buff[Fellowship Calling].ID} && ${Cast.Ready[Fellowship Registration Insignia]} && ${Spell[Fellowship Calling].Stacks}) /casting "Fellowship Registration Insignia" item
Downflag23=1
Downshit23=/if (!${Me.Buff[Primal Fusion].ID} && ${Cast.Ready[Focus of Primal Elements]} && ${Spell[Primal Fusion].Stacks}) /casting "Focus of Primal Elements" item
Downflag24=1
Downshit24=/if (!${Me.Buff[Primary Anchor Gate].ID} && ${Cast.Ready[Primary Anchor Transport Device]} && ${Spell[Primary Anchor Gate].Stacks}) /casting "Primary Anchor Transport Device" item
------------------------ HOLYSHIT & DISC SECTION ------------------------------------
; 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 Rerekalen]}) /casting "Terror of Rerekalen" gem1
Holyflag1=1
Holyshit1=/if (${SpawnCount[npc radius 30 zradius 10]}>=3 && ${Me.PctAggro}<100 && ${Target.PctHPs}<90 && ${Cast.Ready[Burst of Spite]}) /casting "Burst of Spite" gem2
Holyflag2=1
Holyshit2=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Charge for Power]}) /casting "Charge for Power" gem3
Holyflag3=1
Holyshit3=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Touch of Lanys]}) /casting "Touch of Lanys" gem4
Holyflag4=1
Holyshit4=/if (${Target.PctHPs}<90 && ${Me.PctMana}>30 && ${Cast.Ready[Touch of Tharoff]}) /casting "Touch of Tharoff" gem5
Holyflag5=1
Holyshit5=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Last Gasp]} && ${Melee.DiscID}==0) /casting "Last Gasp" disc
Holyflag6=1
Holyshit6=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Rigor Mortis Rk. II]} && ${Melee.DiscID}==0) /casting "Rigor Mortis Rk. II" disc
Holyflag7=1
Holyshit7=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Withstand]} && ${Melee.DiscID}==0) /casting "Withstand" disc
Holyflag8=1
Holyshit8=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Final Breath]} && ${Melee.DiscID}==0) /casting "Final Breath" disc
Holyflag9=1
Holyshit9=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Last Breath]} && ${Melee.DiscID}==0) /casting "Last Breath" disc
Holyflag10=1
Holyshit10=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Deflection Discipline]} && ${Melee.DiscID}==0) /casting "Deflection Discipline" disc
Holyflag11=1
Holyshit11=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Leechcurse Discipline]} && ${Melee.DiscID}==0) /casting "Leechcurse Discipline" disc
Holyflag12=1
Holyshit12=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Soul Guard]} && ${Melee.DiscID}==0) /casting "Soul Guard" disc
Holyflag13=1
Holyshit13=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Ichor Guard]} && ${Melee.DiscID}==0) /casting "Ichor Guard" disc
Holyflag14=1
Holyshit14=/if (${Me.PctEndurance}>30 && ${Me.CombatAbilityReady[Soul Shield]} && ${Melee.DiscID}==0) /casting "Soul Shield" disc
UPDATE: 04/07/2014
Version 2.2 - Need new MAC and EXE. Will not function with old ini files.
Cleaned up code, fixed few errors such as loop when wrong file is selected.
Added downshit conditions for zone, invis, standing and moving to suit Redguides MQ2Melee plugin. - !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && !${Me.Moving} && ${Me.Standing} && !${Me.Invis}
Automatic Pure Caster selection, disc checkbox disabled, holyshits will not be generated if you are pure caster.
Better handling of spells such as LifeTaps and PB nukes etc.
Rich (BB code):
holyshit3=/if (${Me.PctHPs}<90 && ${Target.PctHPs}<90 && ${Target.PctHPs}>40 && ${Cast.Ready[Touch of Falsin]}) /casting "Touch of Falsin" gem6
Added more Target.HPs checks, ie: ${Target.PctHPs}<90 && ${Target.PctHPs}>80 - Modify these lines to start and stop casting of nukes based on Target health. Example starts casting at 90% and stops at 80%.
Added option to disable generation of the flag set bit, ie: downflag0=1 or holyflag0=1 to make cleaner output for when you just want to modify or check some lines.
I've got time on my hands. Send suggestions to add features or functionality.
I have been contemplating a button to generate KissAssist.ini entries as well.
Ie: DPS1=Claw of Gorenaire, Buffs1=Voice of Prescience
Use spell gem order to determine pct health to cast.. ie first spell in DPS section DPS1=Bite of Tashani|98, second would be DPS2=Desolate Deeds|95. Allow setting of interval (3 in this case)
Would save a lot of typing and finger mistakes.
UPDATE: 07/18/2014
Fixed bug when reading ID of older spells with only two numbers.
-Wolf
Attachments
Last edited:


just need to spend a few hours cleaning them up now hehe
