• 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

Guide - Using Holyshits and Downshits Guide

Joined
Mar 4, 2014
RedCents
1,804¢
Moved this info to it's own thread. Please feel free to add to this post or correct me if I am wrong!

This answers a few basic questions about building your own Holyshit and Downshits and gives some helpful links to use when building your own.

What are Holyshits and Downshits?


Holyshits and Downshits are an amazing flexible way to make your character do certain actions even when you don't have a macro running. It works through the MQ2Melee plugin and is constantly checking for certain conditions and then executing commands you choose.

Holyshits are used by characters in melee combat. They only work when you are actively in combat engaged with the enemy. Some popular holyshits do things like use Harmtouch on named mobs, use defensive alternate abilities when your health reaches a certain point, or activate a combat ability during combat if you have enough endurance.

Downshits are used by characters not in melee combat. This can be your wizard who never goes toe to toe with an enemy or for casting buffs on your shadow knight when he is out of combat. Some popular downshits do things like keeping your buffs up even if you don't have a macro running, having your caster use an alternate ability like twincast or calculated insanity when a named mob appears, or using a defensive AA if your casters health goes below a certain point.

Here are two questions I was asked recently and answers that I think will be of help to anyone interesting in learning how to use Shits. They are a game changer and worth spending a few hours learning how to use.

I have never used downshits or holyshits so in what area of the ini file do I place them?

You actually add them to the MQ2melee section of your servername_charactername.ini in your main MQ2 folder (not your macro folder). The file looks like this - povar_fattyogre.ini.

You basically put it in there and it should look like this

Rich (BB code):
[MQ2Melee]

holyflag0=1
holyflag1=1
holyflag2=1
holyflag3=1
holyflag4=1
holyflag5=1
holyflag6=1
holyflag7=1
holyflag8=1
holyflag9=1
holyflag10=1
holyflag11=1
holyflag12=1
holyflag13=1
holyflag14=1
holyflag15=1

downshit0=/if (!${Me.Buff[Steadfast Stance Rk. II].ID} && !${Me.CombatState.Equal[COMBAT]} && ${Me.PctMana}>80 && ${Cast.Ready[Steadfast Stance Rk. II]} && ${Spell[Steadfast Stance Rk. II].Stacks} && !${Me.Moving}) /casting "Steadfast Stance Rk. II" gem11 -invis
downshit1=/if (!${Me.Buff[Grelleth's Skin Rk. II].ID} && !${Me.CombatState.Equal[COMBAT]} && ${Me.PctMana}>80 && ${Cast.Ready[Grelleth's Skin Rk. II]} && ${Spell[Grelleth's Skin Rk. II].Stacks} && !${Me.Moving}) /casting "Grelleth's Skin Rk. II" gem10 -invis

holyshit0=/if (${Target.Named} && ${Me.AltAbilityReady[Fundament: Third Spire of the Reavers]}) /alt act 1452
holyshit1=/if (${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Target.Named} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc Grelleth's Carapace Rk. II
holyshit2=/if (${Me.CombatAbilityReady[Bonebrood Mantle]} && ${Target.Named} && !${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc Bonebrood Mantle
holyshit3=/if (${Me.CombatAbilityReady[Unholy Guardian Discipline Rk. II]} && !${Me.CombatAbilityReady[Bonebrood Mantle]} && ${Target.Named} && !${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc unholy Guardian Discipline Rk. II
holyshit4=/if (${Target.Named} && !${Me.Song[Lich Sting Recourse].ID}) /casting "Innoruuk's Dark Blessing"|Item
holyshit5=/if (${Target.Named} && ${Me.AltAbilityReady[Visage of Death]}) /alt act 9403
holyshit6=/if (${Target.Named} && ${Me.AltAbilityReady[Harm Touch]}) /multiline ; /alt act 6000 ; /alt act 1277 ; /alt act 651 ; /alt act 3822
holyshit7=/if (${Target.Named} && ${Me.AltAbilityReady[Leech Touch]}) /alt act 87
holyshit8=/if (${Target.Named} && ${Me.AltAbilityReady[Gift of the Quick Spear]}) /multiline ; /alt act 2034 ; /alt act 1278
holyshit9=/if (${Me.CombatAbilityReady[Scarlet Blade Rk. II]} && ${Me.Buff[Visage of Death].ID}) /disc "Scarlet Blade Rk. II"
holyshit10=/if (${Target.Named} && ${Me.AltAbilityReady[Glyph of the Cataclysm]}) /alt act 7019
holyshit11=/if (${Target.Named} && !${Me.AltAbilityReady[Glyph of the Cataclysm]} && ${Me.AltAbilityReady[Glyph of Destruction]}) /alt act 589
holyshit12=/if (${Target.Named} && !${Me.AltAbilityReady[Glyph of the Cataclysm]} && !${Me.AltAbilityReady[Glyph of Destruction]} && ${Me.AltAbilityReady[Glyph of Courage]}) /alt act 5000
holyshit13=/if (!${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance balanced
holyshit14=/if (${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Reactive]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance reactive
holyshit15=/if (${Target.Named} && ${Me.AltAbilityReady[Chattering Bones]}) /alt act 3822

You have to make sure you have the holy and down flags set in this section. Holyflag1=1 is ON and Holyflag1=0 would be OFF for example. This makes things extremely easy to turn ON/OFF in-game. To turn your holyflag1 ON you would type /melee holyflag1=1 in-game. **Note If you make changes in game you need to /melee save to save your changes.

Is there any way to have them cast at a % of my HP or will it only work for when my character pulls a named?


Yes! They are extremely flexible! At first it looks like a huge jumble of code that makes little sense, but it is actually fairly simple once you figure out the pattern.

For example:
Rich (BB code):
holyshit1=/if (${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Target.Named} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc Grelleth's Carapace Rk. II

In English:

If my combat ability Grelleth's Carapace Rk. II is up ${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} AND(&&) my target is named ${Target.Named} AND(&&) my endurance is over 8000 ${Me.CurrentEndurance}>8000 AND(&&) I don't currently have a combat ability running ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]} THEN use my combat ability Grelleth's Carapace Rk. II /disc Grelleth's Carapace Rk. II. **Note that parenthesis encase everything after /if and before the THEN part of the statement.

So lets say I don't care if the mob is named. I'm fighting in a tough area and I don't have super gear/augments yet.

Just remove ${Target.Named} and add ${Me.PctHPs}<40 (If my hitpoints are under 40%) instead.

Rich (BB code):
holyshit1=/if (${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Me.PctHPs}<40 && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc Grelleth's Carapace Rk. II

Bam!

Let me give you a few great links to get you started.

Here are my characters INI files which include Holyshits (used by characters who are meleeing) and Downshits (used by characters who do not melee or melee characters when they aren't in combat). Take a look and then cut and paste things as you'd like.

100 Enchanter
100 Bard
100 Shadow Knight

Here are some helpful links as you start to play around with Shits.

Holyshit builder (great examples on here if you don't want to mess with the builder)
A great thread I used for some examples for my SK's shits
Alt Activation List (List of every AA by class with it's corresponding /alt activation code)
MMOBugs (Great site, links to some common shit checks)
Redguides thread with examples

Want your Merc to step things up a bit when fighting named mobs? Add these shits

Wizard Merc - Set to burn!

Downshit for non-melee toons:
Rich (BB code):
downshit8=/if (${Me.CombatState.Equal[COMBAT]}&& !${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Wizard]}) /stance balanced
downshit9=/if (${Me.CombatState.Equal[COMBAT]}&& ${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Burn]} && ${Mercenary.Class.Name.Equal[Wizard]}) /stance burn

Holyshit for melee toons:
Rich (BB code):
holyshit8=/if (!${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Wizard]}) /stance balanced
holyshit9=/if (${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Reactive]} && ${Mercenary.Class.Name.Equal[Wizard]}) /stance burn

Cleric Merc - Set to Reactive for better heals

Downshit for non-melee toons:
Rich (BB code):
downshit1=/if (${Me.CombatState.Equal[COMBAT]} && !${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance balanced
downshit2=/if (${Me.CombatState.Equal[COMBAT]} && ${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Reactive]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance reactive

Holyshit for melee toons:
Rich (BB code):
holyshit1=/if (!${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance balanced
holyshit2=/if (${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Reactive]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance reactive

Good luck!
 
Last edited:
Guide - Using Holyshits and Downshits Guide

Users who are viewing this thread

Back
Top
Cart