From the wonderful RedGuides Wiki
The most-used all class box assistant, for beginners and experts.
View details
Authors Maskoi, ctaylor22, anonymoushero, crystane, thenomadman, william12, TreeHuginDruid, Toadwart, kaen01, drwhomphd, sl968, vsab, jande, GPS_Soldier, zuesizgod, LrdDread
Software type Macro
Config file Kissassist_name.ini, KissAssist_Info.ini
Includes used
Plugins used MQ2Nav, MQ2Exchange, MQ2MoveUtils, MQ2Posse, MQ2Rez, MQ2Twist, MQ2Cast, MQ2Melee, MQ2DanNet, MQ2EQBC, MQ2AdvPath, MQ2DPSAdv
Maintained Yes and supported

🏠Resource (download) (review)
🥤Quick start •🤝Support •🛠️Repository

A short link to this manual:

maskoi, kissassist logo, 2013.

KissAssist is a MacroQuest script designed to turn any EverQuest character into a personal assistant, like an advanced mercenary. It's a popular choice for multi-boxers due to its universal class handling, flexibility and easy-to-read configuration (.ini) files.

This wiki page serves as the instruction manual. The latest version of KissAssist can be downloaded on the resource page. Other useful links include the .ini library, discussion thread, discussion forum, and support forum.

Getting Started with KissAssist

KissAssist will not work without configuration. EverQuest presents too many obstacles for one configuration to work in all circumstances, so you'll have to learn to change spells, buffs, and abilities. Thankfully it's easy, and there are some shortcuts, such as using other's configurations and a beginner's walkthrough.

Creating your KissAssist .ini

Without having a target selected, type "/mac kissassist"

KissAssist will generate an .ini file that looks like "KissAssist_Charactername.ini" in your config folder. Once the macro ends, you can proceed to edit the .ini to your liking. You must edit the .ini for KissAssist to work, it does nothing out of the box.

KissAssist settings are editable in your KissAssist_ToonName.ini

NOTE: If you have characters on different servers with the SAME NAME, you can maintain separate ini files for each character by renaming the KissAssist_ToonName.ini file to reflect the server.
Example: Joe Blow has a mage called Megamage on Xegony and Cazic Thule servers. He would need to have two separate ini files of KissAssist_Xegony_Megamage.ini and KissAssist_Cazic_Megamage.ini.

Starting KissAssist

Basic usage

Target your main assist and type "/mac kissassist" and kissassist will automatically use your current target as the assist and use the predefined role set in your .ini. Alternately, you can make specifications on startup:

/mac kissassist [KissRole] [AssistsName] [AssistHealth%]


/mac kissassist assist Bob
/mac kissassist assist Bob 98
/mac kissassist puller BobTank
/mac kissassist tank

For tank characters, you can have them assist themselves, which will make the tank decide which mobs to target. It's generally a good idea to have your tank decide which mobs he is to tank if a real player is not going to be the main assist. Characters with Tank Roles will default to themselves as MA. You should have only 1 character in your group set in a Tank role and all other characters should be in an Assist or Puller roll.

For all other characters, assist the main assist or your tank if they are the main assist.

The optional [KissRole] startup modifier is used to define which role you will be in when starting KissAssist. If you choose not to define a role, KissAssist will default to whatever role you have selected in your .ini file.

The optional [AssistsName] startup modifier is used to declare who you will assisting. This can either be someone else, or if using either puller or tank modes, you can declare yourself the main assist. You MUST have a target selected if you choose not to declare a main assist when starting Kiss.

The optional [AssistHealth%] startup modifier is used to define specific melee assist settings. By default (without using the modifier), it will be 95, or whatever your .ini defined values are in your Melee settings. This setting only applies to melee and /petattack.

Tip: Using EQBC or DanNet you can create a social hotkey to automatically start your other characters in assist mode to assist your primary character. Simply create a hotkey with one of the following commands. EQBC: /bca //mac kissassist assist BobTank DanNet: /dgtell all /mac kissassist assist BobTank

Alternate ini files: You can also tell KissAssist to load an alternate ini file. If your wizard has a separate ini to use ice nukes instead of fire nukes or your tank wants to run a DPS setup on easier content, you can just save another ini file and load that instead of your defaults, e.g.

/mac kissassist ini kissassist_Name_IceNukes.ini

More startup options can be found on the /mac kissassist page.

Notice for Commands

The following commands are used for on-the-fly changes while KissAssist is running (if KissAssist is not running, they will not work.) Most of these commands mirror values in your KissAssist_Info.ini or KissAssist_ToonName.ini. Changed values are persisted to your ini(s).


Syntax Description
/addfriend Adds current target to MQ2Posse list, which is used in AFKTools. Basically it performs a /posse save
/addignore [<text>] | [<spawnid#> [1|0]] Adds target, <text> or <spawnid#> to the MobsToIgnore list - accepts partial names and checks against TLO:Spawn. "Double quotes" are required when passing names with spaces. For spawnid#, see examples.

Modifies KissAssist_Info.ini

/addimmune <text> Adds <text> to the MezImmune list - accepts partial names and checks against TLO:Spawn. "Double quotes" are required when passing names with spaces.

Modifies KissAssist_Info.ini

/addpull <text> Adds <text> to the MobsToPull list - accepts partial names and checks against TLO:Spawn. "Double quotes" are required when passing names with spaces.

Modifies KissAssist_Info.ini

/afktoolson Toggles usage of your AFKTools entries on/off. Note: AFKTools utilizes MQ2Posse

.ini section: [AFKTools]

/assistat <#> Sets/resets Mob HP% assist at setting e.g. /assistat 50 will assist at 50% Mob HP

.ini section: [Melee]

/autofireon Toggles AutoFire on/off (Ranged Attacks)

.ini section: [Melee]

/autorezon Toggles AutoRez on/off (auto/battle rez feature)

.ini section: [Heals]

/backoff [on|off] Controls "backing off". Will toggle with no parameters. ON = stop attacking. OFF = resume attacking. Backing off turns off attack, melee, stick, and if ReturnToCamp is set, it will also return to camp. This is a great way to stop your puller without having to pause or end the macro, see examples.
/buffgroup Forces the caster to re-cast group buffs.

.ini section: [Buffs]

/buffson Toggles buffs usage on/off.

.ini section: [Buffs]

/burn on | off | <targetid#> [doburn | on] With no parameters, will toggle [Burn] on or off. Burns are turned ON by default when starting the macro. So if you do a /burn off on a character and then issue the /burn command, the character will NOT execute the burn routine.

.ini section: [Burn]

/campfire [on|off] Turns campfire usage on/off. No parameter will toggle. "On" will summon campfire if 3 or more Fellowship members are in range and a campfire is not already present.

.ini section: [General]

/camphere [on|off] Turns on|off ReturnToCamp. No parameter will toggle. Turning on will reset your camp loc

.ini section: [General]

/campradius <#> Resets CampRadius to the specified number.

.ini section: [General]

/chase [on|off] | [charname] ON will abandon camp and have your group follow the MA - good for manual pulling, or Hunter mode. CharcterName is optional, and can be used to change who you want to chase. The chase(WhoToChase) no longer has to be the MA.

.ini section: [General]

/chasedistance <#> Sets/resets ChaseDistance to the specified number.

.ini section: [General]

/chaseoff Turns Chase off. Updates ChaseAssist=0 in .ini file.
/chaseon Turns Chase on. Updates ChaseAssist=1 in .ini file.
/debug <command> [on|off] [log] | help Controls debugging for KissAssist. No parameter will toggle. See examples. Will load MQ2Log if necessary.
/dpsinterval <#> Attaches a timer in <number> seconds to DPS spells with 0 duration after they are cast.

.ini section: [DPS]

/dpsmeter [on|off] Turns built-in Kiss DPSMeter on and off. No parameter will toggle.

.ini section: [General]

/dpson <0-2> Controls DPSOn setting. 0 is off, 1 is on, 2 is absolute descending order sorted by mob % health. See settings for more information.

.ini section: [DPS]

/dpsskip <#> Halt DPS (spells) at <#> % Mob HP

.ini section: [DPS]

/dpswrite [on|off] Turns on or off writing Kiss DPS Parsing to KissAssist_DPS.ini (or MuleAssist_DPS.ini)
/healson <0-4> Controls healson setting.

0=Off 1=On 2=Group only healing. 3=MainAssist only. 4=Self only. - Mainly used by SK's to not waste time checking others for heals.

.ini section: [Heals]

/interrupton [on|off] Toggles spell casting interrupt detection on/off. If On KA will cast again upon interrupt.
/kasettings load [<section> [0|1]] For reloading all or some sections of your ini file without restarting kissassist. The last parameter controls error skipping. See examples.
/kisscheck Will check your character's .ini for any errors.
/kissedit Edits .ini file in game, alias for /notepad kissassist_${Me}.ini Will load MQ2Notepad if needed.
/looton [1|0] Turns Looting on/off, if you're not using advloot or another loot handling system. Useful for when KA turns off looting because your bags are full.
/mac kissassist [<role>] [<assist>] [<health%>] | [<options>]... KissAssist startup command. Can set the basic role, assist, and assist health %, but also advanced options such as using a custom .ini, debug mode, etc. See examples.
/makecamphere Sets current location to Return To Camp location.
/maxradius <#> <#> determines how far from camp the puller will pull.

.ini section: [Pull]

/maxzrange <#> <#> determines how far above/below you will pull from.

.ini section: [Pull]

/medcombat [on|off] Turns on or off medding during combat.

.ini section: [General]

/medstart <#> <#> determines the % mana/endurance to begin meditating

.ini section: [General]

/meleedistance <#> <#> determines melee distance to engage

.ini section: [Melee]

/meleeon [on|off] Turns melee on or off. Doesn't modify .ini
/memmyspells Reads the entries from your [Spells] section and mems the spells to your current spell set. See /writespells

.ini section: [Spells]

/mercassistat <#> <#> determines the % mob health at which to send in the merc

.ini section: [Merc]

/mezon <0-3> Controls mezon setting. 0=Off/1=Single & AE Mez/2=Single Mez only/3=AE Mez only.
/movewhenhit [on|off] Toggled pet move on/off. See settings for more information.

.ini section: [Pet]

/mycmd <command> [param]... Command to control any custom commands you or others have made. A detailed guide on adding custom commands can be found here.
/peton [on|off] Toggles pet functionality on/off

.ini section: [Pet]

/pettoyson [on|off] Toggles PetToys functionality on/off
/pettoysplz Request Pet Toys. - See [Pet] Section
/rebuffon Toggles buff watching on/off

.ini section: [Buffs]

/rezalloff Turns off rezzing all PC Corpses. Using this command resets the corpse list.
/rezallon Turns on rezzing all PC Corpses.
/setbackoff on|off Turn backoff on or off. See /backoff
/setpullarc <anglewidth#> [<direction>] This command allows you to set your pull width and the direction you want to pull from. An angle width of 0 will disable directional pulling. Valid directions are n,ne,e,se,s,sw,w,nw, or any number from 1 - 360. If you leave the direction blank your current heading is used.
/stayhere Tells the Group to stop following, and waithere, but DON'T make camp.
/switchnow [0/1] [#] Switch to your MA's Current Target. First parameter is for locking onto(1)/releasing(0) the target. 0 is default. Second parameter can be a spawn ID. Both parameters are optional
/tbmanager add|remove [<spawn#>] Manage characters you want to buff in special situations. If no character <spawn#> is given, it will use your current target.

This list is dynamic and resets upon kiss restart.

/togglevariable <setting> [1|0] Changes any valid variable in KissAssist. See examples.
/trackmedown <stickoff#> <usenavonly#> <ignoredistance#> Runs to the current WhoToChase Target. When in range, /chase is activated. See examples.

Alias: /trackme

/writespells Writes your current spell set to the .ini file.

.ini section: [Spells]

/zoneinfo Displays the entries from the KissAssist_Info.ini file, for the current zone.


KissAssist uses several configuration files, but the most common are:

  • KissAssist_CharacterName.ini - holds character settings
  • KissAssist_Info.ini - holds settings for NPCs and zones

KissAssist_ToonName.ini setup

Once the KissAssist_CharacterName.ini has been created in your Macros folder, edit it with your favorite text editor.

[General] Settings

Default roles can be assigned in your KissAssist_ToonName.ini or overridden at startup using the modifiers listed above

Role Values - Use the following list to determine and define your default role.

  • Role=Assist - Default role of assisting Main Tank on mobs.
  • Role=Tank - Sets up tanking feature and will target and attack any aggressive mob that comes into defined melee range. Target (or declare) yourself as MA.
  • Role=PetTank - This role allows for a pet class (Mage/Necromancer/Beastlord) to 'have their pet tank'.
  • Role=PullerPetTank - This role allows for a pet class (Mage/Necromancer/Beastlord) to BOTH 'pull and have their pet tank'.
  • Role=Puller - This role basically duplicates the oldie but goldie puller.mac. It will pull mobs within a certain radius back to camp for your party to kill. Target Main Assist for this role.
  • Role=PullerTank - This role combines pulling and tanking. The character will pull mobs back to camp then engage them when within defined melee distance. Target your self for Main Assist with this role.
  • Role=Hunter - This role duplicates the old hunter mac. It will run your character around a zone and hunt any or predefined mobs with the pull radius. Target yourself for Main Assist with this role. ** This setting will ignore any Mob HP % you may have defined in your DPS section in the .ini **
  • Role=HunterPetTank - This role duplicates the old hunter mac. This role allows for a pet class (Mage/Necromancer/Beastlord) to 'have their pet tank'. It will run your character around a zone and hunt any or predefined mobs with the pull radius.
  • Role=Petassist - This is mainly for Pallys, Rangers, Beastlords and SKs asssiting Mage pets tanking . It turns off melee so they just send in pets and cast.
  • For Manual Role/Mode see the Miscellaneous section.

Settings Default Values/Mods What this setting does
KissAssistVer N/A N/A Tells KissAssist which ini version you are running, and will update this accordingly upon new version releases.
CampRadius 30 Any # Determines how far your characters interact based on your initial camp spot. This value should be less than MeleeDistance. See MeleeDistance in the Melee section for more information.
CampRadiusExceed 400 Any # Disables the ReturnToCamp setting upon moving large distances from your camp. (Summoned, warp, teleport etc)
ReturnToCamp 0 0/1 0=Off/1=On - Determines if your characters return to the camp after each fight. (Note: Set ChaseAssist to 0 if using this).
ChaseAssist 0 0/1 0=Off/1=On - If set to 1 macro will follow main assist around instead of returning to camp (Note: Set ReturnToCamp to 0)
ChaseDistance 25 Any # How close you want your character to follow main assist.
MedOn 1 0/1 0=Off/1=On - Toggles the medding feature for mana or endurance based on the MedStart and MedCombat settings.
MedStart 20 0-100 What mana/endurance percentage to start medding at.
MedCombat 0 0/1 If this is enabled, your character will med to full during combat. Healers will heal, but melee characters won't attack.
LootOn 0 0/1 0=Off/1=On - Turns looting on or off based on your Loot.ini file in your macros folder.
RezAcceptOn 0


0=Off/1=On|%=minimum rez% to accept the rez. - Enables MQ2Rez autoaccept. Example:

AcceptInvitesOn 1 0/1 0=Off/1=On - Toggles automatic party invite offers while KissAssist is running.
GroupWatchOn 0


0=Off/1=EntireGroup/2=HealersOnly,|%=What % to start waiting for party mana/end to get to 90%. Default % is 20.

GroupWatchCheck False False/cond# To use this option, you must have turned on conditions(ConOn=1) and created a condition for this option. This entry is used in the GroupWatch routine and pauses the macro if the condition is evaluated to True. The macro will continue when the condition evaluates to False.


CorpseRecoveryOn 0 0/1 0=Off.(Default) Over ride for dragging corpse back to camp when pulling.

1=Check for group member corpses including your own and summon them. This requires "Tiny Jade Inlaid Coffin" to work. If you run out of coffins or just don't have any, summoning corpses is turned off but dragging corpses back to camp is still enabled. This can be used to turn on and off dragging corpses back to camp when pulling.
NOTE: Summoning corpses requires character to be level 70 or higher and have appropriate spell/AA.



0=Off/1=On,|ChannelName - Messages for Mez, Heals, Pulls and Tanking in MQ2EQBC. See EQBC for more info.

DanNetOn 0


0=Off/1=On,|ChannelName - Messages for Mez, Heals, Pulls and Tanking in DanNet. See DanNet for more info. If both EQBCOn and DanNetOn are on then EQBC is used for messaging and DanNet for everything else .

IRCOn 0 0/1 0=Off/1=On - Displays/listens to IRC commands.
TwistOn 0 0/1 1= Bard will twist out of combat. TwistOn=0 Bard will NOT twist out of combat (preventing song aggro).
TwistMed 0 0/#/# # #

TwistMed=0 - Bard will NOT sing or twist but just sit.
TwistMed=1-13 (a single Gem value).
Example: TwistMed=5 - Bard will sing the one song and sit.
TwistMed=1-13 1-13... (multiple Gem values).
Example: TwistMed=5 6 7 8 - Bard will twist the song list and stay standing.
Note: TwistMed=0 5 6 7 8 - Bard will NOT sing or twist but just sit, and your list is preserved.

TwistWhat N/A Twist Order Ex: TwistWhat=1 2 4 6 - Song order (Gem#s) when out of combat. (Or always when using MeleeTwist=Continuous)
GroupEscapeOn 0 0/1 0=Off/1=On - If this character is a Druid or Wizard then if the MA dies (or is not present) when in combat, trigger group evacuation (Exodus or Succor/Evacuate).
CampfireOn 0 0/1

Use CampFireOn to select what campfire you want to select from the list of camp fires.
0=No Fellowship camp fire.
1=Normal Fellowship campfire.
2=Empowered Fellowship campfire, etc...
Note: You must have the required items in your inventory or CampFireOn is set to 1(normal Fellowship campfire).

DPSMeter 1 0/1 0=Off/1=On - Toggles the dps meter that is displayed after each fight. Uses MQ2DPSAdv plugin. ++
CharInfo N/A N/A Basic info regarding the characters class, level, and account status (gold/silver/etc). Generated upon ini creation.
ScatterOn 0 0/1 Will randomize the return to camp location.
DefaultUI TRUE TRUE/FALSE Used internally when checking to see if you are using the default UI or not. KISS will throw a warning if not using the default UI.
LOSBeforeCombat 0 0/1 Will try and move the character closer to the mob to gain LOS (Line of Sight) before attacking. This works for DPS Casters as well. Implemented in version 12.002.006
++Advanced Options Available

[Spells] Settings

Settings Default Values/Mods What this setting does
MiscGem 8 1-13 Spell Gem # Kiss uses to mem spells that need to be memmed (buffs, pet summons, etc)
MiscGemLW 0 1-13 Similar to (MiscGemRemem), however this is used for LONG MEMORIZATION / LONG RECAST time spells.
MiscGemRemem 1 0/1 0=Off/1=On - Toggles rememming the original spell in MiscGem slot that was there when the macro was started.
LoadSpellSet 0 0/1/2 0=Off/1=Loads SpellSetName/2=Loads Spells from the [Spells] in the ini file. If you have no [Spells] section defined and are using option 2 for LoadSpellSet, a default [Spells] section is created. See Misc section for more information on how to set up [Spells].
SpellSetName KissAssist The name of the pre-saved spell set you want to use for kiss.
CastingInterruptionOn 0 0/1 0=Off/1=On - Will try and interrupt casting to help save mana. Is used for healing, DPS, buffs, and Mez routines.++
++ Advanced Options Available

[Melee] Settings

Settings Default Values/Mods What this setting does
AssistAt 95 1-100 Mob health to assist/attack. This affects when you engage and is NOT specific to melee characters. IE pet classes will send pets at this %.
MeleeOn 0 0/1 0=Off/1=On - Toggles physical melee (Note: Generally set to 0 for casters or they will run in and melee).
FaceMobOn 1 0/1/2/3 0=Off/1=Will Face mobs (includes casting spells)/2=More realistic facing - Toggles facing mob when incoming to camp, and right before combat starts. (Casters should generally disable this)/3=For any Puller role and only valid when pulling. Will face mob just before attacking.
MeleeDistance 75 Any # Mobs outside this radius will not be engaged. Tank modes will use this distance to decide if mobs should be engaged. This distance applies to casters engaging with spells as well and will be checked even when MeleeOn=0.NOTE: Setting this entry to the same value as CampRadius will keep the Tank from taking that initial Jump at the mob on incoming.
StickHow snaproll 0/I/Stick Option(s) Tells character how to stick to mob when fighting. !front, behindonce, snaproll rear, front. See mq2moveutils for valid commands and descriptions.

I - Ignore Sticking in Combat, When NOT Using MQ2Melee.
0(Zero) - will use just /stick with NO additional options.

Note: Stick while in combat will try and use MAX melee distance. To adjust for this, use the % option in your StickHow command to move closer to the mob. Example: StickHow=MoveBack 50% loose

MeleeTwistOn 0 0/1/2 MeleeTwistOn=0 No Melee Twist. This is the default.

MeleeTwistOn=1 Start Melee Twist when you engage your target in combat.
MeleeTwistOn=2 Start Melee Twist when there are mobs in the XTarget window.

MeleeTwistWhat Twist Order/Continuous Song order to twist during combat if MeleeTwistOn is on. If set to MeleeTwistWhat=Continuous the bard will continue to twist the normal song order as defined in TwistWhat from the General Section
AutoFireOn 0 0/1 0=Off/1=On - Toggles Auto fire on/off. Ranged item and ammo must be equipped.
UseMQ2Melee 1 0/1/2 0=Turn off and unload MQ2Melee.

1=Use MQ2Melee and let MQ2Melee auto control sticking. This options does NOT use the melee StickCMD. 2=Use MQ2Melee and let MQ2Melee control sticking. This option uses the melee StickCMD.

Autohide 0 0/1 0=Off/1=On - Toggles auto Sneak Hide for Rogues. Rogue will hide sneak after every fight
TargetSwitchingOn 0 0/1 0=Off/1=On - This allows the MA to manually switch targets. TargetSwitchingON can only be turned on if your the MA, It is ignored for any other character/role.
PetTauntOverride 0 0/1 0=Off/1=On - Toggles Manual control of the Pet taunt function. 0 - Macro functions as normal and controls /pet taunt. 1 - Macro ignores /pet taunt state.

[DPS] Settings

  • In the DPS section, you'll want to align your spells in order in which they cast. They don't need to be in order, but it helps to visually see which spells are going to be cast first and which spells will follow.
  • If using DPSOn=1, KissAssist will cast each spell starting when the Mob Health is less than the Spell/AA's MobHealth% and pausing for the DPSInterval timer that starts when the fist spell starts to cast and will pause casting until the timer ends. Once the Mob's Health gets below the next Spell/AA's MobHealth% number that Spell/AA is added to the rotation making a snowball of damage that gets bigger and bigger as more Spell/AA's are added to the rotation. Dot's will be reapplied when they drop off the target. If you have an order that you want the Spell/AA's to cast in, you must use a different MobHealth% for each. An example would be first spell at 99 next at 98 then later in the rotation you might have a 76, 75, 74. once the target gets below 74 all the spells will cast in order from highest MobHealth% to the lowest tying to recast a spell if it gets resisted or interrupted as to not break the sequence. --good for debuff stacking using the |Once tag. If you use spells with the %health 98,98,98 70,70 and 30,30 you will not know what order it will pick, the 2nd or 3rd spell with the same %health may cast first.
  • If using DPSOn=2, KissAssist will cast in a sequential order, a chain of Spell/AAs starting with the highest MobHealth% to the lowest, with no casting delay/pause. As soon as the chain of casting starts, the DPSInterval timer starts. If it takes 12 seconds to cast all the spells in the chain and the DPSInterval is set to 10 you will see no delay in recasting the chain. If DPSInterval is set to 20, there will be an 8 second delay/pause before the chain will recast. If the Mob dies in the middle of a chain, the chain starts over for the new target. If the |Once tag is used with a Spell/AA, it will no longer be cast and will be skipped if the chain is cast a second or third time on the same target. If the target is new, the Spell/AA will cast again, but only once for the new target. If Dot's are used in the chain and they are still ticking on the target there will be a delay in the chain as Kiss checks target for the Dot's and if present will skip it, before moving to the next Spell/AA, but if the Dot ends it will be recast as soon as the current Spell/AA finishes casting, causing the order to be out of place when the chain is cast 2 or more times.

Very Basic Syntax: DPS1=Spell/AA|MobHealth% -- There are a bunch of modifiers you can use to fine tune this, please see the #Extra section below!!!

Settings Default Values/Mods What this setting does
DPSOn 0 0/1/2 0/1/2- =0 is Off, =1 is On and cast normally by mob % health, =2 is absolute descending order using mob health % tag as order control. This will cast every spell with a health tag. This Prevents skipping spells that may occur when mobs die too fast. When set to 2, Mob HP % is only used to prioritize cast spell order
DPSSize 20 Any #? Used to control the number of DPS entries.
DPSSkip 20 1-100 Stops casting DPS spells when the mob reaches health percentage. Default 20%
DPSInterval 2 Any # Attaches a timer in seconds to DPS spells with 0 duration after they are cast. If you are nuking too fast you can slow down by increasing the interval.


Spells/Disc/Item/AA,|MobHealth% - See below for examples and details on how this works, as well as additional modifiers. Conditions are supported.

DebuffAllOn 0 0/1/2 0=Off/1=On/2=More Persistent debuffing - Enables debuffs to be cast on all targets in camp while DPSing the main target. See Below.

* If you edit your dps section often, setting the mobhealth value to 0 disables the line, example: DPS4=Markar's Discord|0


DPS1=Flaming Sword of Xuzl|99
DPS2=Bonds of Force|95|Once
DPS3=Shock of Magic|93
DPS4=Markar's Discord|30


You can apply the debuffall tag specifically to spells you want to cast debuffs on all mobs in camp. Spells without this tag will revert to the default Kiss debuffing style.

  • Syntax: DPS1=Spell/AA|MobHealth%|debuffall|slow/tash/malo/crip/snare/strip|always -- See below for examples.
    • When setting up the order of your debuffs. If you are going to use a combination of Spells and AA's. It's a good idea to stagger them, where an AA follows a Spell. The reason for this is that AA's can be cast while spells are still in a global cool down.
    • Currently, in MQ2 there is no way to test if a debuff spell will overwrite/stack/land on the mob before you cast it. Also there is no easy way to determine if spell is a slow, tash, malo, crip, snare type spell. So it is required that users specify this tag for the debuff type, if it applies.
DebuffAllOn=0 OFF. Kiss casts debuffs normally, debuffing only the primary kill target assigned by the MA. It is advised when turning off DebuffAllOn, that you set DPSOn=2 for better results.
DebuffAllOn=1 This will try and cast every buff, but will not wait for spells/AAs to become ready. If spell is ready, cast it. If spell is not ready move on to next spell/AA. rinse and repeat. After best try casting on current mob. Move on to next mob. This behavior will continue until all debuffs have been cast on all mobs. This option is considered best try and gives priority to DPS than Debuffing. Take into consideration that after trying to debuff each mob if you are a caster with DPSOn set up, That the DPS routine will be run on the MA's current target between each mob being checked for debuffs.
DebuffAllOn=2 This option will spend more time trying to make sure all debuffs are cast on each mob. This option is considered persistent and gives priority to Debuffing than DPS. There is an exception. If you have a debuff that has a long recast timer, that debuff may be skipped.

Slow/tash/malo/crip tag - is used to check mob for the current TYPE of debuff, and the "always" tag is used to know if to overwrite the current TYPE debuff.

Strip tag - is used for dispelling beneficial buffs from mobs.

Always tag - Be careful when using the always tag, because this could cause your character to spam that debuff, if your spell will not overwrite an existing debuff already on the mob.


DPS1=Regenerating Counterbias|99|debuffall|slow|always




DPS1=Enunciation of Tashan|99|debuffall|tash|always
DPS2=Dreary Deeds|98|debuffall|slow
DPS3=Demolished Consciousness|97|debuffall|crip


DPS1=Staff of Elemental Flux|99|debuffall|always


Extra DPS Flags and Modifiers What they do and how they work


This tag is used to Tell the DPS section what to do before attacking. Can be used on all Melee characters not just the Tank.
Only supports 5 entries, This will replace the BeforeCombat in the Melee section.
Example: DPS1=Slap in the face|99|ambush


Attempt to further eliminate the need for MQ2Melee
This tag will attempt to press/mash a button whenever the AA/item/disc/skill is available. DOES NOT WORK ON SPELLS.
This tag ignores all normal timing. It just uses the AA/item/disc/skill when ever it pops. Maximum of 10 mash entries
Example: DPS1=Bash|99|mash


This will cast your Feign Death type spell/ability at whatever % of the mobs health you specify, and will stand up 10 seconds later. Useful for necros to load up a bunch of DoTs then FD.
Example: DPS5=Improved Death Peace|70|feign

|once The |once flag is used to force a spell to only cast one time per fight.

Example: DPS1=Unswerving Hammer of Faith|99|once


This argument is used to "weave" in non-cooldown timer based spells/clickies while cooldown spells refresh. It is a way for you to add DPS from things like instant click nuke items, summoned clicky nuke items from mages/necros/quests. Use the |weave tag on the spell/item clicky that isn't effected by spell GCD.

Mage Example:

DPS1=Darksteel Malosenete|98
DPS3=Force of Elements|94
DPS5=Bottled Essence of Vex|90|Weave
DPS6=Remorseless Servant|88
DPS7=Bolt of Molten Shieldstone|86
DPS8=Summoned: Elemental Ice Fragment|84|Weave
DPS9=Spear of Molten Shieldstone|82
DPS10=Spear of Blistersteel|80
DPS11=Traumatize Pet|78


This supports short duration spells frequently cast during combat that targets group members.

Spells like Panther, Yaulp, short term damage shields, etc.

The MAOnce tag functions the same as the Once tag, but the MA is the target.


DPS3=Talisman of the Tiger|90|Me 
DPS4=Untamed Growth|90|MA
DPS5=Lethargy |90|MA


The first tag must be the word command:. This can also be used with the mash, weave, and ambush tags. But the mash, weave, and ambush tag must be the last tag on the entry. Examples:

DPS2=command:/removebuff levitation|99
DPS4=command:/bandolier activate shield|100

The command tag is not setup to use ${Variables} in any of the parameters. Conditionals are required.

Bandolier Example
DPS1=Command:/bandolier activate 1hander|100|Cond1
DPS2=Command:/bandolier activate 2hander|100|Cond2
Cond1=!${InvSlot[mainhand].Item.Name.Equal[Conflagrant Bastard Sword]} && ${SpawnCount[NPC radius 20 zradius 10 targetable]}>=2
Cond2=!${InvSlot[mainhand].Item.Name.Equal[Conflagrant Great Sword]} && ${SpawnCount[NPC radius 20 zradius 10 targetable]}<=1 && ${SpawnCount[NPC radius 20 zradius 10 targetable named]}==0


Dynamic Logic DPS (Deprecated)

[Buffs] Settings

KissAssist Buffing System - How it works:

  • Any character using KissAssist now writes all current and blocked buffs to the kissassist_buffs.ini file. KissAssist scans this file and compares it with the buffs that are listed in the character's Buffs section of their ini file. If another character is missing a buff, and it stacks, they will cast it on that character.
  • This addition works only with characters boxed on the same computer because it writes to a central ini file in the macro folder. The feature writes and scans every 60 seconds so there should not be any noticeable lag. The file is self cleaning so you won't end up with a 30 mb ini file.
  • To allow other macros to work see the Extras section!
  • To overcome the limitation of running all characters on the same computer. Use DanNetOn=1.

Syntax: BUFF1=Spell/AA/Item|OptionalTypeOfBuffMod|Flag/Modifier/Target -- See below for examples.

Settings Default Values/Mods What this setting does
BuffsOn 0 0/1/2 0=Off/1=On/2=Group+Pets (DanNet must be on) - Toggles the buff feature.
BuffsSize 20 Sets the number of Buff# to parse. Similar function to DPSSize. (Speculation: if BuffsSize=10, then Buff11, Buff12, etc. will be ignored.)
Buffs1-20 NULL Spell/AA/Item

What to buff.
MA, !MA, Me, Melee, Caster, Class are valid targets flags.
Kiss automatically detects self-only buffs, but single target and group buffs can apply the Me tag if you only want them cast on you. The MA flag also works out of group.
The Class tag requires an additional paramater, and must follow the Class tag. Use with single target spells only.

Buffs3=Flameshield of Ro (This will cast on everyone)
Buffs3=Flameshield of Ro|MA (This will only cast on MA)
Buffs3=Flameshield of Ro|CLASS|WAR,SK,PAL (This will only cast on Warrior, Shadow Knight, or Paladin)

Conditions are supported.

RebuffOn 1 0/1

0=Off/1=On - Toggles rebuffing from spell worn off message.
If turned on and the caster get the worn off message then the caster will drop the buff from them self. This causes them to Rebuff.

CheckBuffsTimer Number in seconds to skip checking buffs/rebuffing
PowerSource NULL Specify the name of the PowerSource you want to maintain being equipped and active in your PowerSource inventory slot, as well as destroy/remove used powersources. You can maintain the PowerSource by treating it as a summoned item. (See Summon Items modifier below).
Extra Buff Flags and Modifiers What they do and how they work


The |dual modifier allows for spells that have 2 (or more) parts, where the actual buff effect has a different name than the spell or ability used to cast it. Designed for recourse type spells, or newer spells that combine buffs, but can be used for lots of things.
Example: Buffs1=Talisman of Soul's Unity|Dual|Exigent Focusing
In this example, if the DUAL syntax is not used, KissAssist will rebuff Unity every 8-12 seconds where the other 3 or 4 effects last hours.
MA, !MA, Me, Caster, Melee, Class, and !Class flags can be used with the dual modifier, but must be at the end of the line, and before the |cond tag, if used.
Caster, Melee, Class, and !Class flags are ignored when casting group type buffs on your group. The tags are only useful, when casting group version buffs on characters that are not in your group. See the explanation below for using these tags with single target buffs.


Used to summon items that your character needs for combat/buffs. Useful for summoning ModRods, Mage Nuke objects, arrows, and Zerker axes. The quantity flag is so you know how many to summon. Lore items should be set to 1.

Buffs6=Wand of Arcane Transvergence|summon|Rod of Arcane Transvergence|1
Buffs7=Huntsman's Ethereal Quiver|summon|Ethereal Arrow|500
Buffs8=Axe of the Savage|summon|Axe of the Savage|200
Buffs2=Sealed Pure Energeian Metal Orb|summon|Pure Energeian Orb|1
Buffs10=Mysterious Belt of Daggers|summon|Well Balanced Throwing Knife|300
Buffs11=Dusty Soriz Worker Pouch|summon|Shissar Fangs|500


Mana and Endurance spells are handled using the |mana/end or |managroup/endgroup modifiers. They will be used whenever mana or endurance levels are below the specified percent. The MinHealth%ToUse setting is only needed for spells that might kill the cast such as Canni/Death Blossom. It can be left off other spells. Examples:

Buffs1=Paragon of Spirit|mana|50
Buffs2=Focused Paragon of Spirits|endgroup|80
Buffs3=Mana Robe|mana|90|50
Buffs6=Quiet Miracle|managroup|20'''


Any of the Aura type spells should include the |aura modifier so KissAssist will treat it like an aura instead of a buff. Supports up to 2 auras for Clerics and Enchanters if they have the required AAs.
Example: Buffs7=Aura of the Poet|aura


Any mount buff should include the |mount modifier. This will tell kissasist to treat this buff as a mount.
Example: Buffs1=Verdant Hedgerow Leaf|mount


The |melee, |caster, |class and |!class flags are used to define single target buffs that you only want to cast on specific archetype classes instead of being cast on the entire group. This is important when your Monk Puller is out of range during normal buff cycles. Using the |melee tag will make sure he/she gets buffed.
|!class Is used to exclude(Not Class) classes in the list.


Beastlord (BST) Aura example:

Buffs1=command:/alt act 3709|Cond1
Cond1=!${Me.Buff[Pact of the Wurine].ID}


The |remove flag is used to remove unwanted buffs that might be cast on you, or procced. Some spells with illusions have the illusions split now, and you can have Kiss click off the unwanted illusion to make room for other buffs.
This can be applied and combined with the dual modifier for mount blessings to dismount after getting your mount blessing buff!
Example: Buffs6=Illusion: Plaguebringer|remove


Mass Group Buff. Uses Tranquil Blessing AA Not Mass Group Buff AA.
Will Not cast Group only spells(Group_V1).
You have to be in active or resting combat state.
The Caster must NOT have the Buff.
Works with the dual tag, when used with dual tag, mgb must be the last tag on the line.


This format is used for Begging for an item or buff.
Valid Item AliasesName:
Valid Buff AliasesName:


Buffs1=Wand of Pelagic Transvergence|begfor|1|alias|modrodp
Buffs2=Summoned: Small Modulation Shard|begfor|1|alias|modrods
Buffs3=Wulthan Focusing|begfor|1|alias|focus

NOTE: Begging for items currently only works for items that do NOT have to be handed to other players.
0(zero) in 3rd arg(##) will skip this entry.


This format is for giving items/buffs to those that ask for them.
AliasName Uses the same lists from above.

Buffs1=Summon Modulation Shard|summon|Summoned: Small Modulation Shard|1|alias|modrods
Buffs2=Mass Dark Transvergence|summon|Wand of Pelagic Transvergence|1|alias|modrodp
Buffs3=Wulthan Focusing|alias|focus (For Single Target)
Buffs3=Unity of the Wulthan|dual|Wulthan Focusing|alias|focus (For Group)

**Buffs3 use one or the other but not both.

Buffing non-Kiss toons

KissAssist can buff characters that are running another macro
KissAssist characters automatically keep track of buffs they have on by constantly writing to the include file in the macros folder.
If one of your characters is running a macro or plugin other than kissassist, that macro/plugin will need to write to in order to receive buffs.
Thankfully it's easy to add!

Instructions to use this feature in other macros

  1. Make sure exists in the macro folder.
  2. Add this line to the top of your macro with any other include files:
  3. Add this line the your the main loop of your macro:
    /call WriteBuffs

[Heals] Settings

  • KissAssist heal feature works by watching each group members health and heals the the member at lowest health.
  • KissAssist will automatically detect single target and group spells and cast them accordingly
  • Kiss will treat Targeted AE heals like Shaman line Spiritual Surge as a Single Heal spell with the MA|Me|Pet tag

Settings Default Values/Mods What this setting does
HealsOn 0 0/1/2/3/4

1=On - Toggles the healing feature.
2=Group only healing.
3=MainAssist only.
4=Self only. - Mainly used by SK's to not waste time checking others for heals.

HealInterval 0 Number of seconds? Designates the number of seconds to pause(do other things) after exiting the Heal Routine. The Macro doesn't pause it just doesn't call the heal routine until the timer is exhausted.
HealsSize 15 Any number? Number of Heals# entries to parse. Similar to DPSSize.
Heals1-15 NULL


Heal Spells must use the following syntax: Spell Name|% health to heal at as seen below. Not using flags will cast that spell on anyone if they meet the spells casting criteria.
|MA - Specific to just cast on the MA
|!MA - Specific to everyone EXCEPT the MA
|Me - Specific setting for just the healer
|pet - Specific to only cast on the pet
|tap - Applies to lifetap spells and drain spells. Forces KissAssist to target a mob to cast.
|Mob - Applies to Heal Nuke spells.
|Class/!Class - Requires list of class shortnames, see example in the Buffs section above. Use with single target heals.
|UAS - Use As Single heal. To cast a Group spell on Single targets.

Rez Spells
|rez, |rezooc, |rezcombat - - Declare your rez spells/AA's/Items.
rez = In and out of combat.
rezooc = Out of Combat only
rezcombat = In Combat only.


Heals1=Devout Elixir|75
Heals2=Devout Light|70|MA
Heals3=Devout Light|50
Heals4=Drain Soul|70|tap
Heals5=Frostbitten Gift|70|Mob
Heals6=Blessing of Resurrection|0|rez

Conditions are supported.

XTarHeal 0 0/1/2 Turns on and off XTarget Healing. Is used in conjunction with XTarHealList, and has 3 options. 0=off (Heal Group Only), 1=on (Heal Group and XTargets), and 2=on (Heal XTargets only). Note: Will Heal Self in all modes.
XTarHealList null 1-15, all

all=Use all XTarget slots. To only use a specific XTarget slot set equal to the slot number, to use multiple XTarget slots separate slot numbers using | character. Example: XTarHealList=2|5|6|10|11 will use XTargets 2, 5, 6, 10, and 11 to check for healing. It is not recommended to use Xtarget slot 1, KissAssist has some features that expect Xtarget1 to be auto-hater.
XTargets on this list will be checked for rezzing. Note: You should have all your XTargets setup before starting KissAssist, and if you add or remove entries to your XTarget window, you will need to restart kissassist.

AutoRezOn 0 0/1/2

Turns on auto Rez feature. Will rez any character with in a radius of 100 units of the Rezzer. AutoRezOn=0 (Don't Rez at all). AutoRezOn=1 (Rez On). AutoRezOn=2 (Rez ON, But only when there is NO Aggro. See Heals section for in and out of combat rez instructions.

*** Please note, if you edit your heal settings often, leaving the heal percentage at 0 will disable the spell

[Cure] Settings

Settings Default Values/Mods What this setting does
CuresOn 0 0/1/2/3 0=Off/1=On - For self and others/2=On - Cure self only. - For curing of debuffs./3=On - Cure Self and Group Members Only.
CuresSize 5 Any number? Number of Cures# entries to parse. Similar to DPSSize.
Cures1-5 NULL


Cures you want you use (spell/item/AA). Leaving the tag off will try to cure any debuff same as before.
Valid DebuffType(s): Poison, Disease, Curse, Corruption, and Mezzed. Examples:

Cures1=Radiant Cure
Cures2=Remove Curse|Curse
Cures3=Unblemished Blood|Poison
Cures4=Ornate Stone Medicine Totem
Cures5=Ward of Purity|Corruption

Conditions are supported.

  • Be aware you need to have your cure spells memmed if your using spells, kiss won't mem a cure to cast it.

[Pet] Settings

Settings Default Values/Mods What this setting does
PetOn 0 0/1 0=Off/1=On - Toggles pet feature. This includes all features below. If PetOn=0 will not summon,shrink or buff pet.
PetSpell Name of pet spell/item/AA.

If you have a pet focus item, list it here to equip it. Can also use Items or Spells
PetFocus=Bonespike Earring|rightear
PetFocus=Imprint of the Enhanced Minion|buff|Enhanced Minion

PetShrinkOn 0 0/1 0=Off/1=On - Toggles pet shrinking.
PetShrinkSpell Tiny Companion

Pet shrink AA/Spell/Item.

PetHoldOn 1 0/1 This configurable option is not used any longer in the code for KissAssist, as of version 8.0. PetHold ON commands are controlled and initiated by detection of the existence and level of Pet Discipline AA you have.
PetBuffsOn 0/1 0=Off/1=On - Toggles curing of debuffs.
PetBuffsSize 8 Any number? Number of PetBuffs entries to parse. Similar to DPSSize.
PetBuffs1-8 NULL Spell/AA/Item

Toggles pet buffing. The |dual| tag from the buffs section can be used here as well. Examples:

PetBuffs1=Iceflame Armor
PetBuffs2=Focus of Primal Elements
PetBuffs3=Burnout X
PetBuffs4=Metamorph Totem: Night Harvest Scarecrow|Dual|Pet Illusion: Night Harvest Scarecrow

Conditions are supported.

PetCombatOn 0/1 0=Off/1=On - Use to initiate pet combat for your pet class.
PetAssistAt 95 1-100 Adjusts what % of the mobs health your pet should start attacking.
PetToysSize 6 Any number. Number of PetToys# entries to parse. Similar to DPSSize.
PetToysOn 0 0/1 0=Off/1=On - Toggles pet toy summoning and gives them to your pets.

Feature should handle all versions of items to give to pets including single, bags and folded bags.
Keeps track of what you give to pet (by pet name) and will reequip when you summon a new pet.

PetToys1-6 NULL SpellName Pet weapons in bags must be defined.

Syntax: PetToys=Spell|Weapon 1|Weapon 2
To give specific items from a summoned bag Use.
Syntax: PetToys=Spell|Item 1|Item 2|Item 3|Item 4


PetToys1=Grant Visor of Gobeker
PetToys2=Grant Manaforged Armaments|Summoned: Manaforged Fireblade|Summoned: Manaforged Shortsword
PetToys3=Grant Frightforged Plate
PetToys4=Grant Nint's Heirlooms

You can now give items to your pet using the Inventory tag.

PetToys2=Inventory|Armor Item1|Armor Item2|Armor Item3|Armor Item4|Armor Item5|...

If the pet gives the items back to you. The character will try and place the items back in the bag/slot they were removed from and not delete the items. -- Notice the use of the word "try" --

Conditions are supported.

PetToysGave Automatically updated by KissAssist to determine what toys your pet currently has. No need to edit this, typically.
PetBreakMezSpell NULL Spell to use to break mez when in PetTank or PullerPetTank roles.
PetRampPullWait 0 0/1 0=Off/1=On - Wait until rampage/swarm pets drop before starting next pull. (Used for pet classes in PullerPetTank role).
PetSuspend 0 0/1 0=Off/1=On - Toggles the function to determine if we have suspended pets / and unsuspend a pet if available when our current pet dies.
MoveWhenHit 0 0/1 0=Off/1=On - Use to enable/disable movement away from mob when code for GotHit (mob beating on pet owner) is called for pet class roles of (pettank,pullerpettank,hunterpettank).
PetForceHealOnMed 0 0/1 This will cause the master to check the health level of his/her pet. If health level is low the master will heal/wait for pets health to recover.

Requesting pet gear on other characters from your mage
Works with any box communication option, including MQ2EQBC and MQ2DanNet.
EQBC Examples:
/bct magename //pettoysplz ${Me.Pet.Name} - Pet toys: ability to request pettoys on demand for any pet.
/bct magename //pettoysplz GROUP - Pet toys: ability to request pettoys for all group's pets.

Syntax: /bct {Group.Member} //pettoysplz {MyPetName}
Example: /bct MegaMage //pettoysplz StinkyPet
Syntax: /bct {Group.Member} //pettoysplz GROUP
Example: /bct MegaMage //pettoysplz GROUP

[Mez] Settings

KissAssist will single target mez all adds up to the #Mob count indicated in your MezAESpell tag. Once the add count gets to the #Mob count it will use your AE spell. Note: If you set MezAESpell to less than 3, i.e. 2, it will fire your AE mez when there is a double pull and immediately single mez the add. That is why it is recommended to set it to 3 or more.

Settings Default Values/Mods What this setting does
MezOn 0 0/1/2/3 0=Off/1=Single & AE Mez/2=Single Mez only/3=AE Mez only.
MezRadius 50 Any # Radius to detect mobs surrounding enchanter/bard
MezMinLevel N/A Minimum level of mobs to mez within MezRadius
MezMaxLevel N/A Maximum level of mobs to mez within MezRadius
MezStopHPs 80 1-100 Mob HPs to stop mezzing at.
MezSpell N/A Spell/Song Your single target mez spell or song
MezAESpell N/A

AE Spell/Song|#

AE Mez spell/song|Number of mobs to start mezzing. 3 is generally a good minimum value.
Example: MezAESpell=Wake of Subdual|3

MezDebuffOnResist 0 0/1 This will allow you to cast a debuff on the mob in the Mez routine if they resist mez.
MezDebuffSpell Name of Spell Example: MezDebuffSpell=Bite of Tashani

As of version 12.2.032
All that applies to MezAESpell now apply to MezSpell.
You can specify the number of mobs that need to be in camp to start single mezzing
MezSpell=Mez Spell Name|2
The second tag is optional and if excluded will default to 2.

[Merc] /callassist Settings

This feature will keep your mercenary from attacking until mobs health hits a defined percentage. Requires you to turn off Auto Assist in Manage Mercenary Window, which is recommended to keep the merc from prematurely engaging mobs outside of group member radius.

Settings Default Values/Mods What this setting does
MercOn 0 0/1 0=Off/1=On - Toggles /callassist feature for mercs.
MercAssistAt 92 1-100 Target health percentage for mercenary to assist at.

[Pull] Settings

You can use the "/mapfilter castradius #" command in-game to see how large your radius should be (KissAssist will readjust this when you start, it's not permanent)
MQ2Nav:MQ2Nav features can be used in Puller and Pullertank modes. This requires no additional settings in KissAssist to use. If you have the plugin loaded and the zone meshes generated, it should automatically be used. When troubleshooting, try "/nav reload" first!

Maskoi, Nifty KissAssist Pull Visual, 2013. Overhead view (above) side view (below).
Settings Default Values/Mods What this setting does
PullWith Melee

Melee/AA/Pet/Spell /Disc/Ranged|Ammo

Melee - will attack the mob to pull.

Pet - will pull with pet. Does not require LOS.
AA/Spell/Disc - will cast on the mob to pull.
RangedItem|AmmoItem - Must define 2 arguments. Item to pull with and Ammo slot item. (Separated by |)

PullWith=Dragon Force
PullWith=Summoned: Shuriken of Quellious|Summoned: Shuriken of Quellious
PullWith=Extravagant Infused Recurve Bow|Ethereal Arrow

See PullRadiusToUse for more information on controlling distance from mob puller will stop and try to pull.

MaxRadius 350 Any # Radius in which you want to pull. (visual)
MaxZRange 50 Any # Z Axis Radius in which you want to pull. Default =50 for hilly zones try 100-200. (visual)
PullWait 5 Any # Time in seconds to wait looking for mobs if no spawns are up (you killed everything). Used mostly for camping named so you are aren't looking for mobs every second.
PullRoleToggle 0 0/1 0=Off/1=On - Toggles puller tag in group window before pulls and turns it off once back in camp after a pull. You must be group leader to do this. Used to keep healer merc in camp during pulls. (Currently only active in PullerPetTank role)
PullTwistOn 0 0/1 Bard Only - will turn off twisting before pulling if set to 0.
ChainPull 0 0/1 0=Off/1=On - Toggles chain pulling. Chain pulling ONLY works in the Puller role, not PullerTank.++
ChainPullHP 90 1-100 Mob HP level to start looking for another mob to pull
PullPause 2 #Minutes

Time in Minutes to pull mobs before Holding Pulls|How long in minutes after holding to resume pulls. Optional Cond# can be used to check if pulls should continue to be held.
Pulls will be held if condition returns true. Example:




MinLevel|MaxLevel - 10|20 would set lowest level of mobs to pull to 10 and highest level to 20.

PullMeleeStick 0 0/1 Use this flag to stick to target when pulling with melee. Helps with mobs that are moving.
UseWayPointZ 0 0/1 Only used with Advanced Path. This feature will use the paths waypoint, not the Pullers, when checking mobs MaxZRange.
PullRadiusToUse 90 1-100 The percentage, of the items range you want to use when determining when to stop and pull a mob. Basically you can use this to determine how close you want to get to mobs when pulling.
PullArcWidth 0 0-360 The width in degrees on the compass. See /setpullarc in the command section.
PullOnReturn 0 0/1 If the puller fails to pull current target. Then on the way back to camp, the puller will search for another mob to pull.
++ See Advanced Options

[PullAdvanced] Settings

Settings Default Values/Mods What this setting does
PullLocsOn 0 0/1 Turn on or off using the PullLocs areas in the KissAssist_Info.ini file for the zone. For more information see the KissAssist_info.ini Setup Instructions.

[Burn] Settings

This section is for boosting your groups DPS/Survivability based on named or triggered bind. It can be used as a DPS boost, send your tank into a crazy defensive frenzy or healers to pop all group heals. When the definable burn bind is called the character will give all priority to cast everything in the list. Adjust your KissAssist_Info.ini to define which mobs to burn.

Settings Default Values/Mods What this setting does
BurnSize 15 Any number? Number of Burn# entries to parse. Similar to DPSSize.
BurnAllNamed 0 0/1/2 0=Off/1=On - When enabled, this will burn ALL named mobs, Ignoring kissassist_info.ini MobsToBurn entry. 2=On - Will burn ONLY mobs listed in your kissassist_info.ini MobsToBurn entry.
Burn1-15 NULL


What to use in the burn event. Mob, MA, Me, and Pet are valid targets flags. (Example: Burn1=Call of Xuzl|Mob). Conditions are supported.

****Note: you can Use the /burn command on each character, or "/bc //burn" for EQBC users and /dgge /burn for DanNet users. See the /burn command in the In Game Commands section below, for detailed usage.

[AFKTools] Settings

This can let you know if anyone is near while you are temporarily distracted with a bio break. Its a small feature that will beep if PCs come into defined ranged and will pause all macro actions other than killing adds in camp.
Remember: EverQuest is a social game, if you're not interacting with others you should log off. Alternately, you can use the MacroQuest command /mqp to pause until you return.

Settings Default Values/Mods What this setting does
AFKToolsOn 0 0/1 0=Off/1=On - Toggles AFKTools feature
AFKGMAction 1 0/1/2/3/4 0=Off, 1=Pause Macro, 2=End Macro, 3=Unload MQ2, 4=/Quit Game
AFKPCRadius 150 Any # Radius to detect PC's. Will alert you and pause all macro activity
CampOnDeath 0 0/1/2 0=Off - Will stand around till the servers go down or connection is lost.

1=Camp if not in camp zone. Waits on a 10 minute timer before camping.
2=Camp if not in camp zone. No waiting, If you weren't rezed while hovering you will be camped out.
Note: ClickBackToCamp should be turned off if you don't want the characters to use fellowship to zone back to camp zone.
If ClickBackToCamp is on then CampOnDeath=2 may not work as described on first death.

ClickBacktoCamp 0 0/1/2 0=Off, 1=On - No wait, 2=On - Wait 10 seconds. Will attempt to click back to campfire using fellowship insignia.

[GoM] Settings

Settings Default Values/Mods What this setting does
GoMSpell1-3 NULL


These options allows you assign a spell to cast during combat if Gift of Mana AA goes off. Allows you to tag with |mob, |MA or |me

GoMSpell1=Gift of Mana Spell
GoMSpell2=Gift of Mana Spell

Conditions are supported.

GoMSize 3 # Number of GoMSpell# entries to parse. Similar to DPSSize.

[AE] Settings

Area effect settings for spells & abilities

Settings Default Values/Mods What this setting does
AEOn 0 0/1 0=Off/1=On - Toggles AE on and off.
AESize 10 Number of AE ini entries. Similar to DPSSize.
AERadius 50 Any # Radius around character to detect mobs.


What to cast|Min Number of mobs in radius to activate|TargetFlag - Mob, MA, Me, Pet, Single are valid targets flags. Example: AE1=Explosion of Spite|2|Mob
Single - Use an AE ability if there is only 1 mob in camp. Example: AE1=Rain of Jerikor|1|single
Note: Using the Single tag will also override the check for aggroing additional mobs in AE range. So use with caution. Conditions are supported.

[Aggro] Settings

Settings Default Values/Mods What this setting does
AggroOn 0 0/1 0=Off/1=On - Toggles aggro boosting or lowering mechanics settings.
AggroSize 5? # Number of Aggro# entries to parse. Similar to DPSSize.
Aggro1-5 Null

AA/Disc/Item/Spell|% aggro|>/</<<|TargetFlag|Cond


AA/Disc/Item/Spell|% aggro|<,>,<< less than/greater than/double less than| Me/MA/Pet/Mob(Default) cast on Target.
use < to increase or maintain aggro
use > to decrease or avoid aggro
use << to check secondary aggro

Targetflag defaults to the targeted mob if left empty, or null. You may also use targetflag INC for incoming mobs, those further away than MeleeDistance. Targetflag Me, MA, and Pet are also accepted.

Aggro also evaluates Conditions.

Examples (Gain Aggro):

Aggro2=Terror of Kra`Du|100|<

Examples (Drop Aggro):

Aggro2=Divine Peace|95|>

Examples (Secondary Aggro):


This will use MobsHateThis if targets secondary aggro gets above 50
If TargetFlag is not provided it is defaulted to Mob.
Conditions are supported.

[Gmail] Settings

Depreciated. Currently not supported by MQNext.

MQ2Gmail must be loaded.
Gmail settings allow for notifications on the following supported events:
Events currently supported:

  • Dead=Your character has died.
  • GM=A GM or Guide has entered your zone (LOOKOUT!)
  • Level=You have just dinged the defined level you wanted to be alerted to. Format is: Level|#
  • Named=Your group just engaged a Named Mob . . . Perhaps you should monitor this fight.
  • Leftgroup=Someone in your group has left, maybe they went LD or crashed???? Check on it.
  • Tells=Someone sent you a tell. You may want to respond.

Settings Default Values/Mods What this setting does
GMailOn 0 0/1 0=Off/1=On - Toggles sending of emails using the MQ2Gmail plugin.

For instructions on how to setup MQ2Gmail settings (required prior to using the function in KissAssist) Please go here:MQ2Gmail

Gmail1-5 NULL EventName See above for event descriptions



List of events: Dead,Drag,GM,Level,Named,Leftgroup,Tells

GMailSize 5 # Sets how many of the gmail events should be monitored/executed given the event conditions.

KissAssist_info.ini setup

MobsToPull, MobsToIgnore, MobsToBurn, MezImmune and PullLocs 1-5 settings

This file is also created when you start up KissAssist for the first time, and for each new zone you start KissAssist in, a new section is created in the .ini file. Alternately, you can predefine zones using the shortzone names by adding them using the example listed below. For Instanced zones kiss adds an "_I" to the end of the zone name. This allows for a separate setup for instanced and normal zones.
PullLocs 1-5 are used to EXCLUDE mobs in an area from being pulled. Think of it as MobsToIgnore, but using a physical area. PullLocs must use Y,X map location(s) with a range. The Y,X location is used as the center point of the range and the Range is how big of an area(Circle) around the center point you want to search. Any mob found in the area is Ignored and not pulled. You can use this function to BLOCK out areas inside/overlapping your existing Pull MaxRadius. Note: MobsToPull Entries, if found will override/ignore PullLocs.
An "*" can be used for wild card name checks in MobsToPull. Example: Use goblin* to select any mob with goblin in their name.
Note: Mobs that names start with a #. You must include the # in the name for MobsToPull, MobsToIgnore.

Sample KissAssist_Info.ini file

MobsToIgnore=a sentry stone,Leaf Pile,Tyzen,Faltar,A Rabid Selyrah
MobsToBurn=List up to 10 mobs. Use full names i.e. Deathsqueak,A_Raging_Braxi,Guggles or NULL
MezImmune=List up to 10 mobs. Use full names i.e. a green snake,a blue tiger,a wide eye ooze or NULL


Manual mode

/mac kissassist manual - starts kissassist with everything turned off. You may then use In Game Commands to turns certain things on, such as /buffson, /healson, /dpson, etc.

Fast Spell Setup

Add memorized spells by their gems to the ini file

  • /setdps Gem# Gem# Gem# Gem# - write spell in gem slots to DPS section of ini file
  • /setbuffs
  • /setheals


/setdps 1 3 4 5
[MQ2] Set DPS 1 3 4 5
[MQ2] This command will write over current DPS settings
[MQ2] WRITING: DPS1=Sha's Legacy|95
[MQ2] WRITING: DPS2=Binaesa Blood|90
[MQ2] WRITING: DPS3=Frostrift Lance|85
[MQ2] WRITING: DPS4=Rotsil's Bite|80

Add single AA/Disc/Spell/Item to first empty slot in Buffs,Burn,DPS,Heals,AE

  • /setdps spell 1 - Will add the spell in Gem 1. Valid selections are gems 1-13
  • /setdps item - Will add whatever item you have on your cursor.
  • /setdps disc 1 - Will add the disc in slot 1 of your Combat Ability window. Valid selections are slots 1-8
  • /setdps aa 611 - will add the AA, Battle Leap. AA numbers can be found in the AA Windows

This feature is just to speed up setup. You still need to edit your ini file.

Example zerker .ini

DPS1=Cry Carnage|98
DPS2=Open Wound|99|Once
DPS3=Bubbling Rage|0
DPS4=Phantom Assailant|0
DPS5=Battle Stomp|98
DPS8=Juggernaut Surge|85|Me
DPS9=Demolishing Volley|83
DPS10=Demolishing Frenzy|81
DPS11=Axe of Numicia|79
DPS12=Binding Axe|86
DPS13=Dichotomic Rage|92|Mob

BurnText=Decepticons Attack
Burn1=Reckless Abandon
Burn2=Silent Strikes
Burn3=Fundament: Third Spire Of Savagery
Burn4=Distraction Attack

AE2=Vicious Cyclone|1|Single
AE3=Blinding Fury|3|Me
AE4=Battle Cry of the Mastruq|3
AE5=Distraction Attack|3
AE6=Reckless Abandon|3
AE7=Silent Strikes|3
AE8=Fundament: Third Spire Of Savagery|3

Change to how many slots you need in Your MQ2 folder/macros/kissassist.mac file. Default 6

/declare Burn[10] string outer

Mage example:

BurnText=Decepticons Attack
Burn1=Frenzied Burnout|pet
Burn2=Host of the Elements|Mob
Burn3=First Spire|Me
Burn4=Servant of Ro|Mob
Burn5=Ruthless Servant|mob

Advanced Settings

These settings have been added by request and are not officially supported.


You can now determine What interrupt(s) you want checked. Using 1 in the INI file turns on all Interrupts by defaulting CastingInterruptOn=62.
Each Interrupt check has been given a value:
Buffs = 2, Heals = 4, DPS = 8, Mez = 16 and Cures = 32
By doing this you are now able to control any of the interrupts you want turned on.
To turn on more than one interrupt simply add the values together.
To Interrupt Mezzing(16) and DPS(8) set CastingInterruptOn=24
To Interrupt Buffing(2) and Heals(4) set CastingInterruptOn=6
To Interrupt Just Mezzing(16) set CastingInterruptOn=16


This requires you to manually add the section to your ini file.


KissAssist checks for this section at macro startup and will execute each of the commands.
If you startup kiss and have kotkeys that you use everytime you startup kiss you can have the macro do it for you.
The routine uses the MQ2 /docommand to execute each of the commands.
You can now use conditions with the startup entries.

Chain Pulling Explained

Things you need to know about chain pulling, but you never thought about.

  1. Current DPS Mobs distance from camp.
    This is important when chain pulling. If the current DPS mob is still up/alive when the next mob comes into camp, the new/incoming mob will stop and aggro the tank. If your using CC then the mob will get mezzed. The problem here is that each incoming mob gets mezzed a little farther from camp, causing a creeping effect of the tank. Gradually the Tank will be to far from camp, so there is a check for the Tank to be with in 75 units of the pullers camp location.
  2. Is there a named in camp?
    Well you guessed it. If there is a named in camp, then don't pull more mobs.
  3. Number of mobs on Xtarget/in camp.
    There is a check done to not go and pull more mobs until you are left with 1 mob in camp and/or Autohater mobs on Xtarget.
  4. Current DPS Mobs HP%
    This is extremely important and can make a big difference in how smooth your camp works. A big part of this has to do with your individual play style and your Tanks ability to maintain aggro. If your tank is having issues with keeping/maintaining aggro, it is better to have the Puller go pull your next mob sooner than later. So set your ChainPullHP to a higher number like 75 or above. This will help with keeping your puller from building up aggro. The down side to this method is it will contribute to the tank creeping out from camp more. Now if there is no issues with your Tank keeping aggro then set your ChainPullHP below 50%. You will need to play with the value to find, what you consider the sweet spot. But what you are looking for is the next mob to come into camp as the current mob is dying.
    Things to keep in mind. The character that you use for pulling, and setting up their DPS entries, to use their abilities to reduce aggro. Like classes that can feign-death. Also the Aggro section in your ini, is your BESTIST friend here. The Aggro section is not just for increasing and keeping aggro, it can also be used to reduce/loose your aggro.
  5. Current Aggro PCT on Current DPS mob.
    There is a check to NOT pull the next mob if your puller has 50% or more aggro.
    Well this should be self explanatory, but if you have 50% or more aggro on your puller and he/she takes off, out of camp, to pull another mob. Guess who is going to follow? That's right. Not only that, but all your melee characters will be chasing the mob.
    To help with this issue we added something for the tanks to use in the Aggro section. That's right the tank can now monitor the Secondary aggro level of the mob and try and do something about it. We added the "<<" tag for monitoring mobs secondary aggro level. See the kiss Beginner/Intermediate instructions for more information.
  6. How far away from camp is the next mob I am about to pull?
    Why would I care? Well you may not, but if your trying to level your puller you should care.
    There is a limit on how far away you can be from a mob for you to get experience credit. The limit is around 400 units. So if the next mob to pull is greater than your PullRange plus 400 units, then we do NOT pull them.
    Now if your pulling character is maxed out on everything, or your just into depriving the working class of their just rewards. Then there is a flag for you. You can override this check by setting the PullXPCheck to zero(0).
    Now you won't find this flag/entry in your ini file. LOL, did you run off and check your ini file before reading this? You have to either change it in the macro, or use a hot key or even better, use the new [StartupCommands] section.
    Command1=/varset PullXPCheck 0
    Command1=/togglevariable PullXPCheck 0

So now your all set to start chain pulling, but things just aren't working as expected. The puller is not running out and pulling mobs like you expect. Well your in luck, we added a way to see what the puller is doing. Or in your case, not doing.

You can now turn on/off chain pulling spam/debug messages. Use the /debug ChainP 1 to start the messages and /debug ChainP 0 to turn them off.

Chain Pull Debug

Chain Pull Failure messages explained

Chain Pull Failed 0:
Your role is not puller or you have ChainPull turned off.​
Values after Message: ${Role} ${ChainPull}​
Chain Pull Failed 1:
PullHold could be on, or there is a Named in camp or you have 2 or more mobs in camp​
Values after Message: ${PullHold} ${MobCount}<2 ${Me.XTarget[${XTSlot2}].ID} ${Target.Named}​
Chain Pull Failed 2:
Targeted Mobs HP is at or above ChainPullHP value.​
Values after Message: ${Target.ID} ${Target.PctHPs}<${ChainPullHP}​
Chain Pull Failed 3:
No mob found for next pull, or PullXPCheck on and Mob to far away, or I am the target of my target, or I have 50% or more aggro.​
Values after Message: ${Macro.Return} ${PullXPCheck} ${Spawn[${ChainPullTemp}].Distance}<${Math.Calc[${PullRange}+400]} ${Me.TargetOfTarget.Name} ${Me.PctAggro}​

DPS Meter

Using the DPS meter in kiss is now dependent on the MQ2DPSAdv plugin. The plugin comes with its own UI that will load, if setup properly. See the Plugin's instructions for more information. If you want this window closed when starting kissassist. Then use the new [StartupCommands] section and add an entry to close the window.
Example: Command1=/invoke ${Window[dpsadvwnd].DoClose}

Control movement in camp

The following settings and explanation only applies if UseMQ2Melee ini entry is turned off and during Combat.

  1. To keep the MA/Tank from darting/jumping out to meet the mob. Set MeleeDistance and CampRadius to the same Value. This will tell Kiss to skip any /moveto commands.
  2. To keep any melee characters (Melee0n=1) from moving. Set the StickHow ini entry to "I". That's a capital "i" for Ignore.

Buff Begging Logic(s)

This Feature was designed as an automation tool internal to kissassist and not to be a buff bot for anyone running by. The Beggar has to be a member of one of the following: Group, Fellowship, Guild, Friends List. If the beggar is NOT a member of one of the mentioned groups, then they are ignored.

For those of you who just have to have a hot key to pound on. Here are some examples that you can use to trigger the Buffer to give you what you need.

/say KABeg for ${Me.CleanName} modrodp 0
/tell TheGiver KABeg for ${Me.CleanName} modrodp 0

There are a few assumptions made when Buff begging. First assumption is the beggar only begs for the buff if he needs it. There are no additional conditions for the caster to check. If you begged for a buff, then you know what you are asking for.

Using a condition, on an entry in the buffs section that is a begfor entry, does not get checked. The condition is useless. For items, the logic checks the quantity you have against what is in the entry, and for buffs it checks if you have the buff or not.

From the casters side the buff entry is looked at as a normal buff entry.

Buffs1=Shining Aegis|dual|Shining Defense
Buffs1=Shining Aegis|dual|Shining Defense|alias|Symbol

are processed identically in the buffs routine when the caster is checking buffs. You can also use Buffs1=Shining Aegis|dual|Shining Defense|alias|Symbol|cond1 and create a condition. The condition is checked in the normal buffing routine, but is ignored when casting on a character that begged for it.

See also