• 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

Fork / Mod My Kiss mods [ UberBard, BurnOn, LateEvals, BuffByClass, CalledAssist]

Joined
May 22, 2015
RedCents
3,467¢
Here are my mods for kiss. For most classes(where class != BRD) your existing inis should work out of the box and you can just add in new functionality as needs. You may want to rename this script and copy your ini's so you don't mess up your existing versions.

Typically each release is run through a few hours of testing with a typical group in one of William12's AFK macs.

Uberbard
You must get and setup MQ2Medley to use this version with your bard. I would unload MQ2Twist to be safe.

Because the way MQ2Twist works, and KissAssist switching your twist between combat and out of combat, there is a lot of inefficiency in how bard songs are sung. The reason I wrote MQ2Medley was I could see how KissAssist struggled to handle bard songs and bard state with MQ2Twist. Also a modern bard can have A tune Stuck in your Head up about 9 of every 12 minutes and can do a 7 song twist during that time (although I'd probably only do 6).

UberBard Features:
* uses MQ2Medley
* attacks while mezzing (probably like about 1-2% chance of breaking mez if mob is in front of you)
* never stops medley(twist), only interrupts medley to cast initial mez of pull
* increased mez duration when Tune is active
* with MQ2Medley, after mezzig several mobs, MQ2Medley will automatically switch back to your high priority songs
* uses /medley queue to cast items and DPS spells so they are just weaved into the song schedule.
* better item casting support via MQ2Medley
* new bard section

After running first time, update the new bard section in your characters ini
Rich (BB code):
[Bard]
MedleyOn=1
MedSongGem=5
MedleyName=melee

Kiss will pretty much use that Medley continuously. You can set conditions in the medley so certain songs are only song out of combat, when attack is on, when target is named, etc.

Make sure you have holyshit for A tune stuck in your head like
holyshit0=/if (${Me.AltAbilityReady[A Tune Stuck In Your Head]}) /alt activate 8261

I have a few other little things in this Kiss version as well, notably the chase while medding fix and disabling the taskecho stuff.

I never use bard to pull, so bard pulling is likely borked. If you use bard to pull let me know how it goes and I can see about getting it going.
It has been tested extensively in the assist role while running William's tempest.mac
It should be easy to modify kiss to have bard in tank role and mezzing now, but I don't have much desire to do so :)

Burn Changes

Added new config variable BurnMobCount to burn section. If this is not 0, will activate burn if # mob on XTarget is >0 BurnMobCount
Rich (BB code):
[Burn]
BurnText=put out the seatbelt fire
BurnAllNamed=1
BurnMobCount=4

Macro Variable ${BurnOn} is set and maintained for all types of burns.

LateEvals

Do you want to put conditional expression in your INI just like your holies? I have this prototyped for the dps sections. There are two major differences
* use pound(#) instead of ($)
* use OR instead of ||
* place it in the 4 section of your DPS# line with the prefix "eval:"
* make sure you have something in your 3rd section, can use "x" if not using me,MA,once, etc

An example for druid is probably worth a thousand words.
Rich (BB code):
[DPS]
DPSOn=1
DPSSkip=0
DPSInterval=2
DPS1=Improved Twincast|100|x|eval:#{BurnOn}
DPS2=Group Spirit of the Black Wolf|100|x|eval:#{BurnOn}
DPS3=Season's Wrath|100|x|eval:#{Target.Named}
DPS4=Fire Storm|99|x|eval:#{Target.PctHPs} > 80 OR #{Target.Named}
DPS5=Remote Sunflash|98|x|eval:#{Spawn[=#{MainAssist}].PctHPs}<90
....

Most everything from http://www.redguides.com/community/showthread.php/31644-KissAssist-gets-Holyshits applies. If I get some good feedback will try to get this working with heals and other stuff as well
See http://www.redguides.com/community/...he-macroquest-language-auto-eval-l-and-dpsifs for proof of concept macro code for late eval


BuffByClass

Added a new option for buff where you can specify the classes you want to buff. Similar to |caster or |melee, but you specify the classes

Rich (BB code):
[Buffs]
BuffsOn=1
Buffs1=My buff name|class:CLR,DRU,SHM,etc

See this thread for more details and examples.

Called Assist
This feature requires EQBC and is currently experimental (no promises!)

To enabled called assist, set it to 1 in the melee section
Rich (BB code):
[Melee]
...
CalledAssist=1

The "/switch" command now has an optional parameter of spawn id. This will force kiss to use that mob as the kill target.

If CalledAssist is enabled, your MA will now do /bcg //switch id when he starts tanking a mob

For your other classes, enabling CalledAssist will prevent them using /assist command. You must issue the switch command to cause the character to start combat.
If called assist is enabled, "/switch" with no argument, is effectively /backoff

AssistAt threshholds still apply.

To be honest, this is a part of Kiss I really didn't want to muck with, but I've just been having too many problems lately where my group assists tank and picks up a target before he has selected his target (riposte/ds dmg).

This options prevents several interesting new possibilities
* safely use AssistAt=100 (let me know how this works lol)
* reduced server packets for all the /assist command. KissAssist issues a ton of /assist
* can still use the new /switch id command without enabling CalledAssist, to assist different group members different mobs.
* Cool commands like this one /noparse /bcg //switch ${NearestSpawn[npc range 100]}

Enjoy!

Attached version: 8.3.0Win 20150825
 

Attachments

Last edited:
Re: My Kiss mods / UberBard

Oh its on. I wrote KissAssist specifically for my bard because no other macros handled them very well. I will be testing this on the weekend.

276164_Papel-de-Parede-Meme-Challenge-Accepted_1280x1024.jpg
 
Re: My Kiss mods / UberBard

Sweet. I'm sorry I can't give you a nice diff with current kiss atm. Once I get back to desktop this should be easy I hope. Something with my git repo got corrupted when I copied to laptop.

Some things I think of doing are changing use TTQE < 1.0 for mez, and 0.5 for buffs/dps. Right now I think dps can race mez for priority
Med song may not be working. I use mana aura and aria song so I don't worry about the bard medding much.

What's the challenge? :)

- - - Updated - - -

Oh and here's my Ini/holies. Was able to burn with bard for about 40k back when using MQ2Twist, was hoping to see ~75k once I get insults worked in and a bit better adps support.

Note I have Kiss doing selo's instead of mq2melee.
Remember to "/mezon 3" if you just want to only AE mez, I do that a lot on easier content
Rich (BB code):
[General]
KissAssistVer=8.2.5Win
Role=Assist
CampRadius=30
CampRadiusExceed=400
ReturnToCamp=0
ChaseAssist=1
ChaseDistance=20
MedOn=0
MedStart=25
MedCombat=0
LootOn=0
RezAcceptOn=1
AcceptInvitesOn=1
GroupWatchOn=0
EQBCOn=1
IRCOn=0
MiscGem=7
HoTTOn=0
CampfireOn=0
[SpellSet]
LoadSpellSet=0
SpellSetName=bardbot
[Buffs]
BuffsOn=1
Buffs1=Songblade of the Eternal
Buffs2=Selo's Sonata
Buffs3=NULL
Buffs4=Aura of Sionachie|aura
Buffs5=NULL
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=NULL
Buffs11=/mac kissclickies :)
Buffs12=NULL
Buffs13=NULL
Buffs14=NULL
Buffs15=NULL
Buffs16=NULL
Buffs17=NULL
Buffs18=NULL
Buffs19=NULL
Buffs20=NULL
RebuffOn=1
CheckBuffsTimer=20
[Melee]
AssistAt=99
MeleeOn=1
FaceMobOn=1
MeleeDistance=75
StickHow=loose
AutoFireOn=0
[AE]
AEOn=0
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
[DPS]
DPSOn=1
DPSSkip=20
DPSInterval=2
DPS1=Boastful Bellow|99|once
DPS2=Requiem of Time|99
DPS3=Selo's Kick|98
DPS4=NULL
DPS5=NULL
DPS6=NULL
DPS7=NULL
DPS8=NULL
DPS9=NULL
DPS10=NULL
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
[Aggro]
AggroOn=0
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
[Pull]
PullTwistOn=0
PullWith=Melee
MaxRadius=350
MaxZRange=50
PullWait=0
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
ChainPullPause=30|2
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=0
Heals1=NULL
Heals2=NULL
Heals3=NULL
Heals4=NULL
Heals5=NULL
XTarHeal=0
[Cures]
CuresOn=0
Cures1=NULL
Cures2=NULL
Cures3=NULL
[Mez]
MezOn=1
MezRadius=35
MezMinLevel=90
MezMaxLevel=108
MezStopHPs=80
MezSpell=Slumber of Silisia
MezAESpell=Wave of Torpor|3
[Burn]
BurnText=flaming nuts
BurnAllNamed=0
Burn1=NULL
Burn2=NULL
Burn3=NULL
Burn4=NULL
Burn5=NULL
Burn6=NULL
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
Burn11=NULL
Burn12=NULL
Burn13=NULL
Burn14=NULL
Burn15=NULL
[AFKTools]
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
AFKToolsOn=0
AFKGMAction=1
AFKPCRadius=150
CampOnDeath=0
ClickBacktoCamp=0
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=0
MercAssistAt=92
[Bard]
MedleyOn=1
MedSongGem=5
MedleyName=melee

I know there's a lot of stupid stuff in my holyshits but I'm too lazyto fix it when it ain't broke. Replace ${doBurn} with how you want to trigger burn
Rich (BB code):
holyshit10=/if (${Melee.Combat} && ${doBurn} && ${Me.AltAbilityReady[Dance of Blades]}) /alt activate 359
holyshit11=/if (${Melee.Combat} && ${doBurn} && ${Me.CombatAbilityReady[Thousand Blades]}) /disc Thousand Blades
holyshit13=/if (${Melee.Combat}  && ${doBurn} && ${Me.AltAbilityReady[Frenzied Kicks]}) /alt activate 910
holyshit14=/if (${Melee.Combat}  && ${doBurn} && ${Me.AltAbilityReady[Flurry of Notes]}) /alt activate 899
holyshit15=/if (${Melee.Combat} && ${doBurn} && ${Cast.Ready[YOUR EQUIPPED ]}) /useitem 17
holyshit16=/if (${Me.AltAbilityReady[A Tune Stuck In Your Head]}) /alt activate 8261
holyshit17=/if (${Melee.Combat} && ${Me.AltAbilityReady[Lyrical Prankster]}) /alt activate 8204
holyshit3=/if (${Melee.Combat} && ${doBurn} && ${Me.AltAbilityReady[Quick Time]}) /alt activate 3702
holyshit4=/if (${Melee.Combat} && ${Me.AltAbilityReady[Cacophony]}) /alt activate 553
holyshit5=/if (${Melee.Combat} && ${Me.AltAbilityReady[Fundament: Third Spire of the Minstrels]}) /alt activate 1422
holyshit6=/if (${Melee.Combat} && ${Me.AltAbilityReady[Bladed Song]}) /alt activate 669
holyshit7=/if (${Melee.Combat} && ${Me.AltAbilityReady[Fierce Eye]}) /alt activate 3506
holyshit8=/if (${Melee.Combat} && ${Me.AltAbilityReady[Song of Stone]}) /alt activate 544
holyshit9=/if (${Melee.Combat}  && ${doBurn} && ${Me.AltAbilityReady[Funeral Dirge]}) /alt activate 777

- - - Updated - - -

And Maskoi, about 95% of the time I spent on this was on MQ2Medley, the kiss changes are relatively minor. Only major is change the paradigm for bards CastWhat returns immediately, so bard can keep doing stuff while doing a /medley queue (new version of /twist once)

And about 1/3 the time on MQ2Medley was wasting time hanging myself with C and figuring out how to debug. I never figured out how to debug with a redguides build... Did all my development on a stock macroquest.com build.
 
Re: My Kiss mods / UberBard

Changes 20150810
Minor bard fixes
Add BurnMobCount to ini and ${BurnOn} variable
Add DPS late eval conditions

You probably don't want to download this diff unless you are a dev. If you just want to use download the kissassist.mac on the first post.
 

Attachments

Last edited:
Re: My Kiss mods [ UberBard, BurnOn, LateEvals]

I think auto-attack is a serverside thing and I doubt it would work well. Even when I just switch target for a pulse (less than 1/10 of a second) to mez, I find it breaking more mezs than I would expect it to.

- - - Updated - - -

There is some weird race condition type error I'm seeing which causing the macro to terminate. With my druid this is happening once per half hour or so.
In this log you can see it works for one eval, then immediately doesn't for the next.
Rich (BB code):
[2015/08/11 18:37:33] [MQ2] Eval_exp(eval:#{BurnOn})

[2015/08/11 18:37:33] [MQ2] Eval_Exp Math.Calc[0]}

[2015/08/11 18:37:33] [MQ2] Eval_exp(eval:#{BurnOn})

[2015/08/11 18:37:33] [MQ2] Eval_Exp Math.Calc[>> ]}

[2015/08/11 18:37:33] Illegal arithmetic in calculation

with this version of the sub
Rich (BB code):
sub LateEval(string KissPart)
    /declare Result string 0

    /echo Eval_exp(${KissPart})
    /declare Expression string ${KissPart.Arg[2,:]}
    /declare OrExpression string ${Expression.Replace[OR,||]}
    /varset Result ${OrExpression.Replace[#,$]}
    /echo Eval_Exp Math.Calc[${Result}]}
    /varset Result ${Math.Calc[${Result}]}
    |/echo Eval_exp(${KissPart}) = ${Result}
/return ${Result}
 
Re: My Kiss mods [ UberBard, BurnOn, LateEvals]

Thank you for this, question -
Kissassist Bard mez seems a little clunkier than an Enchanter mezzing, I'd say it's 80% effective but sometimes my bard just stands there is melees the assisted target without even attempting to mez, or attempts to mez once gets a resist and stops.

Does mac potentially mez more efficiently?
Additionally how often will this plugin need to be updated to work correctly? If a new MQ2 comes out, will this most likely need an update as well before it works again? Thanks.
 
Re: My Kiss mods [ UberBard, BurnOn, LateEvals]

Neither stock kiss nor my mod check for mez resist. That comes from MQ2Cast for enchanter and neither MQ2Twist or MQ2Medley support song results. It would require making events for mez resist and killing the meztimer when that happens.

If you're really concerned about reliable mez, should probably use stock stick. My mods focuses more on dps than reliable mezzing. The mez code is pretty much the same, but the way it does the targeting for mez is different, is isn't as safe/reliable.

Not sure about the bard not mezzing, I've seen that a bit but not sure what's causing that. Curious has your bard just done something (buff, dps, etc) before it goes lazy?

And yes, best practice is to get a new build each patch, but it will often work without upgrading depending on what changes.
 
Re: My Kiss mods [ UberBard, BurnOn, LateEvals]

Thanks, not to derail yours , What is stock stick? or does that mean use the default Kissassist build?
This is on TLP so isn't doing too much, typically twisting a normal twist, or potentially in melee twist. When it doesn't mez I switch over to the Bard window and watch, sometimes after 15 seconds it'll say hey, there's another mob! abruptly stop it's song and cast mez, other times doesn't appear to notice the add.
Sometimes it's super on the ball, mez's 100 units out on incoming and I'm happy, but the missed mez's are the only thing hurting my fragile group :) I don't need the bard for much dps I just want it comparable to an enchanter. At this point though it's hard to justify the bard. I really want one for a melee group but they don't seem to outshine an enchanter until Luclin when overhaste becomes a thing.
 
Re: My Kiss mods [ UberBard, BurnOn, LateEvals]

That was a typo, meant "stock kiss", the official release.

Just curious, what's your mezon value from ini? Probably want 2 (single men only) for your bard.

Are you depending on bard song for haste? That would be the only real big advantage of using my mods on TLP. Would keep haste up more reliably.
 
Re: My Kiss mods [ UberBard, BurnOn, LateEvals]

Put it on mezon=2 and it seems to be performing much better, thank you :)
 
I have updated the attached kissassist.mac

Changes
* addes BuffByClass
* added CalledAssist
* added workaround for the Eval macro termination issue, this should work a lot better now
 
Most macros don't need to be updated with the compile, this should work.
 
Most macros don't need to be updated with the compile, this should work.

the thing with this is it is embedded in kissassist. so you are supposed to replace the 'kissassist.mac' in your macros folder. i just renamed it, but it is running KA 8.3, not the newest version.
 
If you run it, and it works for you and does what you need it to do, does it matter?
 
of course, there are additions in the newer releases of KA that arent in 8.3...and there will be even more so down the line.
 
of course, there are additions in the newer releases of KA that arent in 8.3...and there will be even more so down the line.

Well there's the trade, Older version with addons, or newer version with different extra features.
 
Fork / Mod My Kiss mods [ UberBard, BurnOn, LateEvals, BuffByClass, CalledAssist]

Users who are viewing this thread

Back
Top
Cart