It seems that the paragraph about missing or 'wrongly' implemented features was ill-chosen. I apologize for that, it wasn't intended as a critique of the existing code. My main motivation for posting came from a thread about shielding, and how it was obliterating all mob damage. I didn't just want to bump that old thread though, and so instead gathered some other information, that seemed to apply to existing combat code pieces. And to keep the thread helpful beyond that small issue, the bigger focus of the whole combat system was chosen. I probably should have communicated that intention better. Bleh, the internet and context, always making it hard to have it come across right. x_x
None of what I posted was really meant as a 'do it this way, because that is how it is on live.' Rather, it was meant as a comparison to what live has, and by extension what we might easily (or not so easily) incorporate into the server code.
ChaosSlayer makes a good point about having our own combat system, and, as KLS noted as well, replicating SOE's implementation is pretty much impossible anyway. The existing re-write was actually what got me to finally play around with an implementation of the combat as is. (With the whole Shielding issue getting me to look up the relevant code pieces in the existing source.)
Sadly, my understanding of the relevant code-paths isn't in depth enough, to offer more than the mechanics I did. The fuzzy vision I have, of simplifying the combat routine, and having one piece handle abstract combat between two entities, is a rather far-reaching change, that a) seems to demean the great work already done, and b) looks to be a minor nightmare to properly debug, anyway.
In the meantime, I'm hopeful that any of the information I posted, or post is at all helpful, but if it isn't, I'm not going to be upset.
Oh, and since it was mentioned, some fun tidbits about aggro. I have no idea if any of this is already in use by the existing code, or if it would even help, but in keeping with the overall purpose of the thread...
Aggro
The basic hate of a weapon attack is based upon its damage (the stat), and the fact that you tried to bean the mob with it. You can miss, you can crit for a million points, or land a minor hit; the hate you get is going to be identical. (At least, if the warrior and shadowknight boards haven't been lying to me. ;) -- Though, in all seriousness, that jives with what I remember from playing. Perhaps not the best endorsement, but keeping the code simple should minimize headaches.)
Likewise, the hate from a spell cast is also based upon its base damage, and not if you crit or not. (That is, this applies to damage effects. There are a number of effects that mobs hate with a passion, snare, stun, fear, slow and charm leading that list.)
Heals are handled pretty much identical, the base amount is used for aggro purposes, with no regards to actual health healed. (With regards to group heals, it seems to matter how many people are actually hit by the heal.) Given how efficient heals are, and that EQ isn't filled with clerics getting swarmed at their first cast, the base value is probably divided by some factor.
Bard songs were stated as being pretty uniformly 1 hate.
Runes seem to be treated as somewhat akin to a heal, but without the modifier, making them some of the biggest aggro around. (And part of the reason why rune procs make for great AE aggro procs, without actually doing AE damage.) Likewise, the good old Wizard Epic 1.0 was a very big aggro magnet back in the day, and since it has a rune effect, this again speaks for the high hate value on these.
Taunt, on a successful one, you are meant to end up at the top of the hate-list. (Highest hate value + 1) There was some testing done that has thrown some doubt on the instant highest +1 part (four successful taunts necessary, to get aggro from a target that has stopped attacking, but otherwise pissed off the mob big time), but what it certainly doesn't do, is add any appreciable hate when you are already at the top of the hate-list. So, the taunt smashing school of tanking isn't exactly doing any good. (Murky info at best, I know, but the idea is to pick and chose ideas that might help the emu, not a laundry list of 'do this.')
Resists and aggro. In general, this goes along the same lines as a weapon swing. The mob hates you for even trying, no matter that it didn't work. With immunities I have conflicting data. I know that stuns will give the same hate value (and it's a big one) as they do when they land, fears are also treated the same way (hybrids were using fear for aggro for a good while, due to the high hate, low cast time, and mobs 55+ being immune), but I don't know about snare and mobs that a immune.
Simplicity would suggest that snare is capable of pissing off the mobs immune to run-speed changes, but I just can't really remember it happening that much. (*shrugs* I probably didn't try enough, and the simplicity of not needing to special case the code, speaks for it working the same as everything else.)
Rooted mobs and proximity
Whatever is closest to a rooted mob is attacked. The actual hate a mob holds for the targets doesn't matter, when they are rooted.
Pets and their aggro
In groups with more than 3 players, a pet is just plain incapable of getting aggro. (This was a change to nerf charm tanking, since around the PoP area charmed pets were just insane DPS.) For the smaller groups, proximity is still key. A mob will only attack a pet if it is the closest target to it. (So, much as if root was in play, only that the mob does this all the time.)
Snare and movement speed
Not directly aggro, but it plays into it, with regards to things like mobs running away at low health, feign splitting and so on.
Why mobs stop and just stand there: Much like players, mobs, when they get low health, are no longer capable of running. The only real alternative to run is walking. Walking is simulated by setting down the movement speed to 50% (or thereabouts). A snare effect isn't a percentage of your current movement speed, but rather is directly substracted from it. (So, the mob trying to walk away is further slowed down by the effect of the snare, landing it at 0% movement speed. It's still trying to run, but just not getting anywhere.)
This isn't exactly smart on the part of the mob, since it's just standing there, and this could be something improved by the emu, by either applying the the snare proportionately (another multiplication, or rather multiplication and division, since EQ seems to primarily use pure int math), or just letting the mob recognize that it isn't getting anywhere.
And this is probably all part of the emu already anyway, and I'm just telling you what you already know and do.
For completeness sake, why feign splitting works wonders with snare: In short, it comes down to the mobs walking back to their spawn-points. Much like with the running mob, the snare pushes down the walk speed of the mob in question to 0%, effectively rooting it. It can still move while in aggro mode, and is thus running, but the return mode is walking.
This isn't the be all, end all of aggro, and probably both full of holes, missing info, as well as already implemented in parts, but I hope it was still at least helpful as a reference checklist of what all the emu can already do. :)
PS: Yes, you are right, Rogean, a good part is available on the Shaman site.
http://crucible.samanna.net/ The shadowknight, warrior, enchanter and mage forums also provided some aspects. I didn't just want to copy and paste those sources though, which is why I focused on the parts that seemed to be directly applicable, with some interpretation and personal experiences/anecdotes as well.