Page 1 of 2
Charmed pet health and invis macro request
Posted: Wed Oct 06, 2004 1:00 pm
by DeathOfRats
Basically, I need a macro that checks when I have just charmed a pet, and breaks charm by using a clicky item when the pet or my target reaches 4% hitpoints. The macro needs to be continually active.
I'm sure it's possible for some bright spark, but I am just a 2W spark atm.
Cheers!
Posted: Wed Oct 06, 2004 1:39 pm
by JimJohnson
want it to charm if targets hps => 4 and no current pet. then break charm once pets life is =< 4?
assum this for a bard swarm macro
Posted: Wed Oct 06, 2004 5:22 pm
by DeathOfRats
It's actually just an aid when I am soloing. I'm an Enchanter, charm soloing in HoH. XP goes much faster when you nuke your old pet, and it just so happens that Insanity does roughly 4% hitpoints worth of damage :)
I do the same run pretty much all the time. No doubt the routine could be scripted so that you could afk xp, but it would be tough and dangerous if used in locations with unrootable mobs.
One other routine that would be worth having in would be something that uses the Arcane Rune ability if health < 30%, I'm sure that is just a small thing to write though.
Posted: Wed Oct 06, 2004 5:40 pm
by DeathOfRats
Tash Target 1
Run to location x, y
Cast Command of Druzzil
Target target #2
Pet Attack
Run to location x, y
Cast tash
Cast Greater Fetter
Use blue ceramic band until spell holds. [constant routine to re-root if root breaks]
Watch health of both targets, if pet's health > target #2 by more than 5%, /pet back off and /pet sit until pet's health = health of target or > target by 2%
If pet's health or Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Nuke other target, rerooting as required.
Move to location x,y
Tash Target 1
Run to location x, y
Cast Command of Druzzil
Target target #2
Pet Attack
Run to location x, y
Cast tash
Cast Greater Fetter
Use blue ceramic band until spell holds. [constant routine to re-root if root breaks]
Watch health of both targets, if pet's health > target #2 by more than 5%, /pet back off and /pet sit until pet's health = health of target or > target by 2%
If pet's health or Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Nuke other target, rerooting as required.
Move to location x,y
Tash Target 1
Run to location x, y
Cast Command of Druzzil
Target target #2
Pet Attack
Run to location x, y
Cast tash
Cast Greater Fetter
Use blue ceramic band until spell holds.
Cast Haste on Pet
If Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Cast Command of Druzzil on old pet,
Target target #3
/pet attack
Cast tash,
When target #3 reaches y co-ordinate ###, cast greater fetter.
Use blue ceramic band until spell holds. [constant routine to re-root if root breaks]
Watch health of both targets, if pet's health > target #2 by more than 5%, /pet back off and /pet sit until pet's health = health of target or > target by 2%
If pet's health <20% and target #3 health >50%, cast Slow on Target #3
If pet's health or Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Nuke other target, rerooting as required.
Move to location x,y
Tash Target 1
Run to location x, y
Cast Command of Druzzil
Target target #2
Pet Attack
Run to location x, y
Cast tash
Cast Greater Fetter
Use blue ceramic band until spell holds. [constant routine to re-root if root breaks]
Watch health of both targets, if pet's health > target #2 by more than 5%, /pet back off and /pet sit until pet's health = health of target or > target by 2%
If pet's health or Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Nuke other target, rerooting as required.
Move to location x,y
Tash Target 1
Run to location x, y
Cast Command of Druzzil
Target target #2
Pet Attack
Run to location x, y
Cast tash
Cast Greater Fetter
Use blue ceramic band until spell holds.
Cast Haste on Pet
If Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Cast Command of Druzzil on old pet,
Target target #3
/pet attack
Cast tash,
When target #3 reaches y co-ordinate ###, cast greater fetter.
Use blue ceramic band until spell holds. [constant routine to re-root if root breaks]
Watch health of both targets, if pet's health > target #2 by more than 5%, /pet back off and /pet sit until pet's health = health of target or > target by 2%
If pet's health <20% and target #3 health >50%, cast Slow on Target #3
If pet's health or Target's health < 4%, use right click invis item
Target old pet,
Cast Greater Fetter,
Nuke lowest hp target until dead, rerooting as required.
Nuke other target, rerooting as required.
Also, within the script would be a check routine in case a sentry or one of two named mobs popped. If this happened there would be a separate routine for killing sentries, and most likely camp out if the named pops as it's a pain in the ass to kill. The aforementioned auto rune routine, checks for buffs, use of sow potions, GM checking, looting of corpses, and downtime if hp was reduced too low to safely continue would also all be included, plus a routine to do something if charm broke too early.
Anyway, like I said...the script would be easy enough to write if you knew what you were doing but it isn't what I want...I like playing EQ even in xp grinds like that...I just get fed up with the distractions of modern life on my techniques!
Posted: Wed Oct 06, 2004 10:55 pm
by Oid
Ahh you aint asking for much at all

Posted: Thu Oct 07, 2004 1:11 am
by DeathOfRats
LOL, I don't want that....just the charm break routine when hitpoints conditions are met.
Posted: Thu Oct 07, 2004 1:17 am
by JimJohnson
so what i said in first post
want it to charm if targets hps => 4 and no current pet. then break charm once pets life is =< 4
Posted: Thu Oct 07, 2004 1:23 am
by hiipii
Code: Select all
#event resist "#*#has resisted your Greater Fetter spell#*#"
#include spellcast.inc
sub main
:loop
/if (${Me.Pet.PctHPs}<5) {
/target ${Me.Pet}
/call cast "Item Name" item
/call cast "Greater Fetter"
/doevents
/popup "Kill That SL00t!"
/e nuke the crap out of it omg!
}
/goto :loop
/return
sub Event_resist
/popup root resisted recasting
/call cast "Greater Fetter"
/return
change Item Name to name of clicky invis
not quite sure if this will work out of the box but the concept is solid i think. good luck post any errors and someone if not me will be able to fix it.
Posted: Thu Oct 07, 2004 2:05 am
by DeathOfRats
Thanks Hiipii, and yes Jim, I guess recharming would be a great thing too....I could then concentrate more on the hp balancing act.
Posted: Thu Oct 07, 2004 2:11 am
by DeathOfRats
With regard to this:
/if (${Me.Pet.PctHPs}<5) {
/target ${Me.Pet}
I am a first time user for stuff like this, but how does it know what {Me.Pet} is? Does it 'just know'? or do I have to assign it somehow?
Also, the condition needs to be expanded so that it is something like:
/if (${Me.Pet.PctHPs}<5) or (${Target.PctHPs}<5)
but I don't know if those are correct variables at all.
Posted: Thu Oct 07, 2004 3:33 am
by Lum
as for Me.Pet, Pet owners are stored in memory, as how would it know when you group with em which pet is theirs?
I made this code, but since i dont haev a chanter of that level Im not sure how well it works.
its definately too crappy to afk, and feel free to tell me what i totally fooked up
Code: Select all
#event rootresist "#*#has resisted your Greater Fetter spell#*#"
#event nukeresist "#*#has resisted your Insanity spell#*#"
#event charmresist "#*#has resisted your Command of Druzzil spell#*#"
sub main
:newpet
/if (${Me.Pet.ID}) {
/goto :loop
}
:newpet2
/if (${Target.ID}) {
/if (${Target.ID!=${Me.ID}&&${Target.PctHPs}<5) {
/popup "Nuking target, Inadequate pet!"
/e Killing an invalid pet, ${Target.Name}
/cast "Greater Fetter"
/delay 4.1s
/doevents rootresist
/cast "Insanity"
/delay 8.4s
/doevents nukeresist
/if (${Target.ID}) {
/goto :newpet2
}
}
/if (${Target.ID}!=${Me.ID}&&${Target.PctHPs}>5) {
/popup "Valid pet targetted, Attempting to Charm"
/e Attempt to charm ${Target.Name}
/cast "Command of Druzzil"
/delay 7.4s
/doevents charmresist
/goto :newpet
}
}
/goto :newpet
:loop
/if (${Me.Pet.PctHPs}<5) {
/target ${Me.Pet}
/cast item "Item Name"
|Need to change this Delay value to the casting time of your clicky invis.
|Or you need to change /cast item "Item Name" to /cast "Improved Invisibility"
|If using improv invis, change delay to /delay 6.3s
/delay 1s
/goto :newpet2
}
/goto :newpet
/return
sub Event_rootresist
/popup Root resisted, Recasting.
/cast "Greater Fetter"
/delay 4.1s
/return
sub Event_nukeresist
/popup Nuke resisted, Nuking again.
/cast "Insanity"
/delay 8.4s
/return
sub Event_charmresist
/popup Charm resist! Casting again.
/cast "Command of Druzzil"
/delay 7.4s
/return
I started with the code hiipii posted and added on obviously

note that i added the notes wher eyou need to change the delay for however you are invising to break charm.
Posted: Thu Oct 07, 2004 4:14 am
by DeathOfRats
Thanks! I shall inform of the success of this in a few days, once I have re-installed my PC (HDD failure, eek)
Posted: Fri Oct 08, 2004 2:47 pm
by DeathOfRats
tried lums but it runs the nuke routine all the time when i don't have a pet...
Posted: Fri Oct 08, 2004 3:36 pm
by Lum
i see what i forgot, to check for target at all before checking if he has less than 5% hp.
are you invising yourself before it all starts by the macro?
edited the post above's code also.
Posted: Fri Oct 08, 2004 5:04 pm
by DeathOfRats
not that I am aware of! I shall go test this latest out.