The ZHigh and ZLow are seperate options, but you can set both of them with /shd zradius ###
For example, I'm in an open zone that has hills, and I honestly just want to pull everything. I don't actually know what the z distances are from my location to above and below me. So for zones like this I will do something like /shd zradius 5000
In the above situation, the zradius doesn't matter, I just don't want to exclude anything. It's highly unlikely there is a zone where there is a ZHeight difference of 5000, but also the reason I use it.
Some zones I may want to camp on some stairs or something unusual. I then want to pull things below the stairs but not above. So using a /shd zradius 50 wouldn't work. Because then I'd pull stuff 50 above and 50 below.
So to handle that I'll set /shd zlow 50 and then /shd zhigh 10
That means I'll pull things that are below me by up to 50 units, and above me by only 10 units.
A typical "dungeon" you would use something like /shd zradius 25
This would allow you to consider something 25 above and below you by up to 25 units. This could be useful for a zone like ruins of old seb. So that you pull stuff on the floor you're on, even if the floors have a slight height difference.
When we implemented the ZHigh and ZLow seperated option, the intent was, as mentioned by burd, to use the map "Low" and "High" filters to determine what to use in a place with multiple floors/levels so that you could precisely set it to capture all the things you wanted to fight, and not the things you didn't want to fight.
As Rusang pointed out, there was an issue where "radius" was cutting any Zradius values to be a max of the "Radius" because we were using 3D distance to determine if something was in a radius. This essentially means we were drawing a sphere, and the only thing you could do with ZRadius was futher limit the extents of ZRadius. An example of this bug would be.
/shd zradius 250
/shd radius 150
So you want to pull anything in a circle around you up to 150 units away, but up to 250 units above or below you.
What was actually happening is zradius was being capped at the 150 by the radius. Which was making it a sphere instead of a cylinder.
This is actually how ${Spawn[npc radius 150 zradius 250].Name} would work as well. Because it uses 3d Radius distance instead of 2D. But with the spawn search in MQ2 there is no promise that a zradius is provided. As such, it makes sense. For the plugin, we always provide it a zradius. Since we know that a Zradius will always be provided, we can change that to a 2D distance check. Which means the plugin will be a cylinder after our latest round of changes goes live.
View attachment 31437 < This is what it will look like after the change.
View attachment 31438 < ~ This is what it looks like now, where only the area in the sphere is valid pull mobs. The areas in red are incorrectly ignored