• 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

Ubarh4x - How I bard with a kiss fork and mq2medley

Joined
May 22, 2015
RedCents
3,467¢
⚠️Note: I don't have time to really maintain or support this. If somebody is interested in maintaining and improving usability of this let me know. However, I feel it's awesome enough if it gets a bit of support from the community, it can fill the gap until mq2bard is released.

If you aren't proficient in kiss, recommend waiting a week or two until this gets a bit more usable. I've used this version of kiss all through the NoS expansion to do all missions and achievements, but it does have a few issues and isn't quite ready for total handsfree play. It automatically improvs a great song lineup, and also uses dots for mega dps.

  1. Get the kiss fork from https://gitlab.com/WinnowerLab/kissassist/-/blob/medley/kissassist.mac - rename this file kissmedley.mac and place in macros directory
  2. backup your bard's Kissassist.ini
  3. No, really! backup your bard's Kissassist.ini
  4. Update your bard's ini - https://www.redguides.com/community/resources/mq2medley-120-nos-bard-requires-medley-kiss-fork.2863/
    Note that all ini entries containing "twist" will be ignored. The main config is in the new ini section [Bard]
  5. add kiss medley to config/servername_bardsname.ini, this is where the songs you had in "TwistWhat" need to go.
    [CODE title="servername_charname.ini"][MQ2Medley-kiss]
    songIF=!${Me.Invis}
    song1=xxxPlaceholderSituationalySongxxxXetheg's Spry Sonata^30^1
    song2=Aria of Pli Xin Liako^27^1
    song3=Blade of Vesagran^180^${Me.Combat}
    song4=Ecliptic Psalm^60^${Me.Combat} && (${Target.PctHPs} > 50 || ${Target.Named} || ${Me.XTarget} > 1)
    song5=War March of Centien Xi Va Xakra^30^1
    song6=Unified Phoenix Feather^30^(!${Group} || ${SpawnCount[group radius 250]}==${Group.GroupSize}) && !${Me.Song[Grace of Unity].ID} && ${Me.CombatState.Equal[COMBAT]} && ${Me.PctEndurance} < 95
    song7=Shak Dathor's Chant of Flame^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song8=Sylra Fris' Chant of Frost^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song9=Cruor's Chant of Poison^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song10=Coagulus' Chant of Disease^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song11=Shojralen's Song of Suffering^24^1
    song12=Fyrthek Fior's Psalm of Potency^30^1
    song13=Nord's Disdain^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.PctMana} > 5
    song14=Sogran's Insult^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${doBurn}
    song15=Zelinstein's Lively Crescendo^30^${Group.LowMana[95]} > 0[/CODE]
  6. Add and enable reacts
    [CODE title="mq2react.yaml"] BrdCacophony: action: "/multiline ; /alt act ${Me.AltAbility[Cacophony].ID} ; /echo Cacophony"
    condition: >-
    ${Me.Combat} && ${Me.CombatState.Equal[COMBAT]} && ${Target.Type.Equal[NPC]}
    && ${Me.AltAbilityReady[Cacophony]} && ${useDots}
    BrdFierceEye:
    action: >-
    /multiline ; /alt act ${Me.AltAbility[Fierce Eye].ID} ; /echo Fierce
    Eye
    condition: >-
    ${Me.Combat} && ${Me.AltAbilityReady[Fierce Eye]} && !${Me.ItemReady[Blade
    of Vesagran]} && (!${Me.Song[Spirit of Vesagran].ID} || ${doBurn})
    BrdReflexive:
    action: /multiline ; /disc Reflexive Rebuttal Rk. II ; /echo Reflexive
    condition: "${Me.Combat} && ${Me.CombatAbilityReady[Reflexive Rebuttal Rk. II]}"[/CODE]
  7. say a prayer and do /mac kissmedley

Changelog
1. Attached kissmedley.bat
2. Fixed kiss medley to not use "Rk. III", medley should automatically find correct rank if you omit the rank
 

Attachments

Last edited:
I've attached kissmedley.mac to the original post.

I'm welcome to any advice on how to best use gitlabs with a fork/branch if anybody has any ideas.
 
I have a 115 ftp silver bard (meaning Tov, CoV on Wed though), fair amount of AA. Would this work or I need to modify something?
 
Since the latest release of CoV, I have come back and started to take an in-depth look into improving this for my own bard, but I am not a coding wizard. I will probably be asking way too many questions, but hoping I/we can get this streamlined a little better until a certain someones release their awesome sauce.
 
I have a 115 ftp silver bard (meaning Tov, CoV on Wed though), fair amount of AA. Would this work or I need to modify something?
The main thing you would need to do is update the song names in medley (config/server_charname.ini)

Check the kiss ini mainly to update mounts, familiars, etc
 
I use this for my CoV Bard, shamefully copied from @winnower example.

Code:
songIF=!${Me.Invis}
song1=Blade of Vesagran^180^${Me.Combat}
song2=Aria of Margidor^27^1
song3=Composite Psalm^60^${Me.Combat} && (${Target.PctHPs} > 50 || ${Target.Named} || ${Me.XTarget} > 1)
song4=War March of Radiwol^30^1
song5=Kellek's Spry Sonata^27^1
song6=Omorden's Song of Suffering^24^1
song7=Sontalak's Chant of Flame^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Target.PctHPs} > 40 && ${Target.Named}
song8=Yelinak's Chant of Frost^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Target.PctHPs} > 40 && ${Target.Named}
song9=Malvus's Chant of Poison^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Target.PctHPs} > 40 && ${Target.Named}
song10=Zlexak's Chant of Disease^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Target.PctHPs} > 40 && ${Target.Named}
song11=Yelinak's Insult^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 10) && (${Me.PctMana} > 5)
song12=Omorden's Insult^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 10) && (${Me.PctMana} > 5)
song13=Zburator's Lively Crescendo^30^${Group.LowMana[95]} > 0
 
Github by default makes your projects visable to others. Gitlabs does not.

For gitlab

Change project visibility
  1. On the top bar, select Menu > Projects and find your project.
  2. On the left sidebar, select Settings > General.
  3. Expand Visibility, project features, permissions.
  4. Change Project visibility to either Private, Internal, or Public.
  5. Select Save changes.
 
⚠️Note: I don't have time to really maintain or support this. If somebody is interested in maintaining and improving usability of this let me know. However, I feel it's awesome enough if it gets a bit of support from the community, it can fill the gap until mq2bard is released.
Thank you for showing us ... how to stop worrying and learn to love the bard.
 
sorry that doesnt help a lot? where do i type this? windows command line? or mq2 command line?

mq2react.yaml would be a file on your computer in the /config/ folder wherever you installed the mq software. If you haven't used mq2react before the file may not yet exist. If the file does exist, then you would just add the above text into the file.

I'd recommend looking through the docs for mq2react for some additional info.
 
mq2react.yaml would be a file on your computer in the /config/ folder wherever you installed the mq software. If you haven't used mq2react before the file may not yet exist. If the file does exist, then you would just add the above text into the file.

I'd recommend looking through the docs for mq2react for some additional info.
only thing i can find is mq2react.dll and none of the commands listed for mq2react work all i get is "can not parse /react on" etc
 
This has greatly improved my Bards DPS. So thank you. I do have a few issues/questions though.
1. The reacts should be added under reacts: in the mq2react.yaml correct?
1a. When I put them into the react for cacophany gives me an error of invalid quote. Removing the quotation marks from the front and back of that line resolves the error. Am I doing something wonky there?
2. I wholesale stole your INI and just copied the above portion to my server-charactername. Seems to work though so yay. This is ok right?
3. I got some error messages in the INI because clickies are different. Easy enough to fix, however in the eqbc window I am getting the spam listed in the screenshot below. How can I turn this off? Using /medley quiet has no impact.


I _think_ everything is working as intented except for the debug spam but wanted to make sure I didnt miss anything.

Thanks for the help folks.
1697137980528.png
 
Last edited:
Can someone help me figure out what I messed up? I wanted to try this, but when I /Mac kissmedley, I get spammed over and over with missing variables?

1698090415847.png
 
I use these variables as flag to control functionality in KConditions. You can these to ingame.cfg (create in your mq/config folder). Or maybe add to kiss StartupCommands would work as well
[CODE title="ingame.cfg"]/if (!${Defined[doBurn]}) /declare doBurn timer global
/if (!${Defined[useDots]}) /declare useDots int global 1[/CODE]

What do you guys do for melee? Just turn on melee in the ini?
Hmm, looks liike that section got garbled when I posted it, I use this
Code:
[Melee]
AssistAt=99
MeleeOn=1
FaceMobOn=1
MeleeDistance=50
StickHow=60%
AutoFireOn=0
UseMQ2Melee=0
TargetSwitchingOn=0
PetTauntOverride=0
 
Here is my 110 version --

[CODE title="110 Bard"][MQ2Medley-kiss]
songIF=!${Me.Invis}
song1=Kluzen's Spry Sonata^30^1
song2=Aria of Begalru^27^1
song3=Blade of Vesagran^180^${Me.Combat}
song4=Dichotomic Psalm^60^${Me.Combat} && (${Target.PctHPs} > 50 || ${Target.Named} || ${Me.XTarget} > 1)
song5=War March of Dekloaz^30^1
song6=Unified Phoenix Feather^30^(!${Group} || ${SpawnCount[group radius 250]}==${Group.GroupSize}) && !${Me.Song[Grace of Unity].ID} && ${Me.CombatState.Equal[COMBAT]} && ${Me.PctEndurance} < 95
song7=Qunard's Chant of Flame^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
song8=Ekron's Chant of Frost^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
song9=Nexona's Chant of Poison^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
song10=Hoshkar's Chant of Disease^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
song11=Travenro's Song of Suffering^24^1
song12=Sathir's Insult^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.PctMana} > 5
song13=Arcane Ballad^30^1
song14=Jembel's Lively Crescendo^30^${Group.LowMana[95]} > 0[/CODE]
 
Has anyone worked on a 120+ version of this as of yet? Might give it a shot when I have some time in the next few weeks but do not want to reinvent the wheel.
 
Is there any place that this macro is hosted that doesn't require a phone number to register for the website? Gitlab asks for way more personal info than is necessary for account creation.

Nevermind, I just realized the .mac is actually attached as a file in the original post here.
 
⚠️Note: I don't have time to really maintain or support this. If somebody is interested in maintaining and improving usability of this let me know. However, I feel it's awesome enough if it gets a bit of support from the community, it can fill the gap until mq2bard is released.

If you aren't proficient in kiss, recommend waiting a week or two until this gets a bit more usable. I've used this version of kiss all through the NoS expansion to do all missions and achievements, but it does have a few issues and isn't quite ready for total handsfree play. It automatically improvs a great song lineup, and also uses dots for mega dps.

  1. Get the kiss fork from https://gitlab.com/WinnowerLab/kissassist/-/blob/medley/kissassist.mac - rename this file kissmedley.mac and place in macros directory
  2. backup your bard's Kissassist.ini
  3. No, really! backup your bard's Kissassist.ini
  4. Update your bard's ini - https://www.redguides.com/community/resources/mq2medley-120-nos-bard-requires-medley-kiss-fork.2863/
    Note that all ini entries containing "twist" will be ignored. The main config is in the new ini section [Bard]
  5. add kiss medley to config/servername_bardsname.ini, this is where the songs you had in "TwistWhat" need to go.
    [CODE title="servername_charname.ini"][MQ2Medley-kiss]
    songIF=!${Me.Invis}
    song1=xxxPlaceholderSituationalySongxxxXetheg's Spry Sonata^30^1
    song2=Aria of Pli Xin Liako^27^1
    song3=Blade of Vesagran^180^${Me.Combat}
    song4=Ecliptic Psalm^60^${Me.Combat} && (${Target.PctHPs} > 50 || ${Target.Named} || ${Me.XTarget} > 1)
    song5=War March of Centien Xi Va Xakra^30^1
    song6=Unified Phoenix Feather^30^(!${Group} || ${SpawnCount[group radius 250]}==${Group.GroupSize}) && !${Me.Song[Grace of Unity].ID} && ${Me.CombatState.Equal[COMBAT]} && ${Me.PctEndurance} < 95
    song7=Shak Dathor's Chant of Flame^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song8=Sylra Fris' Chant of Frost^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song9=Cruor's Chant of Poison^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song10=Coagulus' Chant of Disease^30^${Me.Combat} && ${Target.Type.Equal[NPC]} && (${Target.PctHPs} > 40 || ${Target.Named})
    song11=Shojralen's Song of Suffering^24^1
    song12=Fyrthek Fior's Psalm of Potency^30^1
    song13=Nord's Disdain^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${Me.PctMana} > 5
    song14=Sogran's Insult^6^${Me.Combat} && ${Target.Type.Equal[NPC]} && ${doBurn}
    song15=Zelinstein's Lively Crescendo^30^${Group.LowMana[95]} > 0[/CODE]
  6. Add and enable reacts
    [CODE title="mq2react.yaml"] BrdCacophony: action: "/multiline ; /alt act ${Me.AltAbility[Cacophony].ID} ; /echo Cacophony"
    condition: >-
    ${Me.Combat} && ${Me.CombatState.Equal[COMBAT]} && ${Target.Type.Equal[NPC]}
    && ${Me.AltAbilityReady[Cacophony]} && ${useDots}
    BrdFierceEye:
    action: >-
    /multiline ; /alt act ${Me.AltAbility[Fierce Eye].ID} ; /echo Fierce
    Eye
    condition: >-
    ${Me.Combat} && ${Me.AltAbilityReady[Fierce Eye]} && !${Me.ItemReady[Blade
    of Vesagran]} && (!${Me.Song[Spirit of Vesagran].ID} || ${doBurn})
    BrdReflexive:
    action: /multiline ; /disc Reflexive Rebuttal Rk. II ; /echo Reflexive
    condition: "${Me.Combat} && ${Me.CombatAbilityReady[Reflexive Rebuttal Rk. II]}"[/CODE]
  7. say a prayer and do /mac kissmedley

Changelog
1. Attached kissmedley.bat
2. Fixed kiss medley to not use "Rk. III", medley should automatically find correct rank if you omit the rank
Hey , Can these reacts be made into a Lua? The plugin works great. The only problem am getting is the bard wont always attack the target. The bard will always cast songs correctly. Does anyone use something else foe melee attack?


Thanks,
 
Hey , Can these reacts be made into a Lua? The plugin works great. The only problem am getting is the bard wont always attack the target. The bard will always cast songs correctly. Does anyone use something else foe melee attack?


Thanks,
You can have kiss fire the abilities from reacts, as in Sic's bard in.

Not sure about melee attacks, there are a few bugs where it gets "lost" for a bit after some actions like buffing with clickies.
 
I might try and mess around with this and see if I get a better response out of my bard. @winnower I am assuming the kiss assist commands like burn, chase, pause, etc work the same doing it this way, or no?
 
Ubarh4x - How I bard with a kiss fork and mq2medley

Users who are viewing this thread

Back
Top
Cart