This thread was created to track the development of Mercenaries in EQEmu.
Here is the previous (old) thread on this subject from when the work was initially started:
http://www.eqemulator.org/forums/showthread.php?t=35147
Overall, Mercenaries are now more functional than ever. There are still a few remaining issues to work out.
Last Updated - February 1st 2015
Top Priority Work:
1. Grouping - Mercenaries can sometimes still cause a group to get bugged in certain scenarios of creating/disbanding groups.
2. Stances - Currently, changing mercenary stances is not supported. This will require writing AI for different stance types and applying it.
Medium Priority Work:
1. Casters - There have been reports that the damage caster Mercenary does not cast often or at all. Needs further investigation.
2. Resurrection - Mercenaries resurrections are not yet supported in EQEmu.
Low Priority Work:
1. Timers - The timers for upkeep and suspend aren't always accurate. This is probably due to how/when we send certain packets.
2. Mercenary Window - Sometimes the Mercenary Window will pop up for players that don't own a mercenary. They also get messages related to Mercenaries. This needs to be investigated.
3. Base Settings - Mercenaries only save their current settings such as size, race, etc. They should have base settings added for those fields and only save the base instead.
4. Follow Distance - Mercenaries currently follow a bit too closely. Need to adjust the follow distance to about double (or so) what it is now.
Client Issues:
1. The dbstr_us.txt file does not include all Mercenary types for every race that is available for Mercenaries. This can be corrected by adjusting the database to match what the clients have available.
Database and Source Code Changes that will be needed at some point:
1. AAs - There is now a Mercenary AA tab on newer clients. No support for this yet in EQEmu.
2. Inventory - Mercenaries now have a few slots for inventory in newer clients. No support for this yet in EQEmu.
3. Multiple Mercenaries - Newer clients support owning multiple Mercenaries at a time, so you can switch between then without needing to visit the merchant again. Still only able to have 1 Mercenary spawned at a time.
4. Give Mercenary - Giving a Mercenary to another player is not yet supported in EQEmu.
5. Simplicity - Need to simplify database management of Mercenaries and their Merchants.
Recently Resolved Issues:
1. /split - Splitting money to a group using /split (and probably turning split on) caused Mercenaries to take a share. This has been resolved.
2. No Mercenary Messages - On zoning, you get duplicate no Mercenary messages. This was resolved by removing a duplicate SpawnMercOnZone() function during zone process.
3. Unsuspend Issues - Sometimes it is required to zone/relog in order to be able to unsuspend a Mercenary. This bug was resolved by having unsuspend load the Mercenary data if it isn't already loaded.
4. Leveling - Mercenaries currently don't level with a character. This was resolved by adding the level appearance on level as well as scaling their stats.
If there are any other issues with the current Mercenary updates, please feel free to post them in this thread and they will get added to the list above once verified.