• 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

Vanilla - PetToys Improvement

shanecol

Member
Joined
Nov 28, 2019
RedCents
180¢
I run multiple pet casters and have been generally frustrated with the downtime caused by the pettoysplz scripting as it is faster to do it manually.

So, I made some changes to the kissassist macro that radically improve the performance of this code section. These changes make pettoysplz run in a few seconds instead of several minutes in some cases. I don't know the official process to submit a code change recommendation, so just thought I would post it here.

Problems with old script:
1) Slllloooooooowwwwwwww
>>> changed some hard timers to conditional loops with a small delay so that macro can move as soon as the system responds.
>>> batched item give so that 4 items at a time can transfer at a time. This also helps with pets popping in and out of combat so the mage can get done sooner and back to fighting.
2) Mage will summon items it doesn't need for 76+ mage pets
>>> corrected case sensitive item filters
>>> Added ${PetToySpell.Find[Plate]} to the list since all items in the mass plate summons are already on the pet.
3) Mounted Mage is likely to overshoot the target pet which causes lots of flying around in potentially dangerous areas while wasting valuable combat time.
>>> changed moveto to nav as nav is more responsive especially when you are on a mount.
4) Mage will get stuck in pettoys loops if a fight starts while the mage is summoning.
>>> The above speed improvements coupled with kissassist_charname.ini files minimzes this.

PetToys1=Grant Visor of Gobeker
PetToys2=Grant Ocoenydd's Plate
PetToys3=Grant Crystasia's Heirlooms
PetToys4=Grant Wirn's Armaments|Summoned: Gorstruck Fireblade|Summoned: Gorstruck Iceblade

Buffs25=command:/multiline ; /nav id ${Group.Member[char_name].Pet.ID} ; /pettoysplz ${Group.Member[char_name].Pet.CleanName}|Cond16
Cond16=${Group.Member[char_name].Pet.Secondary}!=12508 && ${Group.Member[char_name].Pet.Secondary}!=12505

So, the Cond checks to see if secondary is either Summoned: Gorstruck Fireblade -or- Summoned: Gorstruck Iceblade. Since I put the weapons at the end of the list, this check effectively ensures that the pet has all items or it will spawn a new instance of pettoysplz.

Anyway, run a diff on the attached file vs the old code and you'll find ~40 changed/new lines. Should be fairly simple to put through your code standards process and include it in an upcoming release if you think it might help others.
 

Attachments

I didn't look at the code change, but contributions are always awesome.

Does the armor change impact non-mage pets?
 
I run multiple pet casters and have been generally frustrated with the downtime caused by the pettoysplz scripting as it is faster to do it manually.

So, I made some changes to the kissassist macro that radically improve the performance of this code section. These changes make pettoysplz run in a few seconds instead of several minutes in some cases. I don't know the official process to submit a code change recommendation, so just thought I would post it here.

Problems with old script:
1) Slllloooooooowwwwwwww
>>> changed some hard timers to conditional loops with a small delay so that macro can move as soon as the system responds.
>>> batched item give so that 4 items at a time can transfer at a time. This also helps with pets popping in and out of combat so the mage can get done sooner and back to fighting.
2) Mage will summon items it doesn't need for 76+ mage pets
>>> corrected case sensitive item filters
>>> Added ${PetToySpell.Find[Plate]} to the list since all items in the mass plate summons are already on the pet.
3) Mounted Mage is likely to overshoot the target pet which causes lots of flying around in potentially dangerous areas while wasting valuable combat time.
>>> changed moveto to nav as nav is more responsive especially when you are on a mount.
4) Mage will get stuck in pettoys loops if a fight starts while the mage is summoning.
>>> The above speed improvements coupled with kissassist_charname.ini files minimzes this.

PetToys1=Grant Visor of Gobeker
PetToys2=Grant Ocoenydd's Plate
PetToys3=Grant Crystasia's Heirlooms
PetToys4=Grant Wirn's Armaments|Summoned: Gorstruck Fireblade|Summoned: Gorstruck Iceblade

Buffs25=command:/multiline ; /nav id ${Group.Member[char_name].Pet.ID} ; /pettoysplz ${Group.Member[char_name].Pet.CleanName}|Cond16
Cond16=${Group.Member[char_name].Pet.Secondary}!=12508 && ${Group.Member[char_name].Pet.Secondary}!=12505

So, the Cond checks to see if secondary is either Summoned: Gorstruck Fireblade -or- Summoned: Gorstruck Iceblade. Since I put the weapons at the end of the list, this check effectively ensures that the pet has all items or it will spawn a new instance of pettoysplz.

Anyway, run a diff on the attached file vs the old code and you'll find ~40 changed/new lines. Should be fairly simple to put through your code standards process and include it in an upcoming release if you think it might help others.
@shanecol awesome contribution! Kiss has a contribution/tester team - if you are interested in assisting with KissAssist stuff (like being able to submit merge requests and open issues) let @ctaylor22 know you are interested
 
@shanecol If you would be interested in working on the Kiss test team, I have already made some changes to the PetToys routine in the next version of kiss. The biggest change is the ability to beg for pet toys. There is now a queue/list for giving pet toys. there are a lot of advantages in the new structure. Let me know if you are interested and I will get you set up on discord and send you more information on what we need to add in the new pettoys routine.
 
I didn't look at the code change, but contributions are always awesome.

Does the armor change impact non-mage pets?
No. It is specific to the mage's personal pet summon. Basically I noticed that if I had 4 summons to get my BL and Chanter pets geared fully, it also summoned the same items for the mage. This fixes it so it only does 2 summons for the mage and all 4 for other pet classes.
 
@shanecol If you would be interested in working on the Kiss test team, I have already made some changes to the PetToys routine in the next version of kiss. The biggest change is the ability to beg for pet toys. There is now a queue/list for giving pet toys. there are a lot of advantages in the new structure. Let me know if you are interested and I will get you set up on discord and send you more information on what we need to add in the new pettoys routine.

I'd be happy to assist with the testing.

IRL I'm a senior data engineer supporting Big Data ML apps for one of the worlds largest tech companies. I have ideas for a dynamic data structure that would reduce ML training cycle time to seconds instead of hours. I think that EQ/MQ2/KA is a perfect testbed for this and would like to talk with someone on your team about how we might partner on the project so that KA can benefit from the result.

Pop me a link to the discord channel so we can have a conversation.
 
I run multiple pet casters and have been generally frustrated with the downtime caused by the pettoysplz scripting as it is faster to do it manually.

So, I made some changes to the kissassist macro that radically improve the performance of this code section. These changes make pettoysplz run in a few seconds instead of several minutes in some cases. I don't know the official process to submit a code change recommendation, so just thought I would post it here.

Did some testing on my 112 Mage tonight and this code change is just amazing.
 
Well I am trying to get these changes included into the Kissassit 12 version, but there are some other changes in the making. Was hoping @shanecol would join in with the Kiss Test team and give us a hand..
 
Vanilla - PetToys Improvement

Users who are viewing this thread

Back
Top
Cart