|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum) |

03-14-2013, 11:35 PM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
Spell recast timers should be fixed, and OOC regen shouldn't happen, even if no damage was done (it now looks at the mob's hate list and if a group member is present, it adds the mob to the merc's hate list).
I still have to test out rezzing (I've only had about an hour this week to work on this stuff), but it should find all group member's corpses.
I've added Caster DPS merc spells in (at least a few spells for them to use, I'm still compiling data from live - lvl 65 & 85 dps caster mercs use like 10 spells total for all of the different stances. Multiply that by all the different levels and that's a lot of spells)
|

03-15-2013, 07:10 AM
|
Hill Giant
|
|
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
|
|
DPS casters seem to be working good so far. Definitely another fun element to the game. Captain, I know this isn't a priority right now but later it would be great to have each merc have a randomized look each time you hire one (robe, face, hair etc.)
Thank you for all of your work!
|

03-15-2013, 07:29 AM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
This is awesome. Ill start testing these right away. Thank you!
|

03-15-2013, 08:10 AM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
Good news - ooc regen problem seems solved, nice work and thank you.
Bad news - recast timers still dont work.
Level 85 merc cleric still chain casts frenetic renewal spell every couple seconds till oom. Should be 30 second recast like stated here...
http://lucy.allakhazam.com/spell.htm...64&setcookie=1
Ill test more later. Thanks again, the ooc regen was a real issue.
|
 |
|
 |

03-15-2013, 09:21 AM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
Hmmm.. I'll try a longer recast spell and test on it. Maybe I only saw them being respected because the math worked out. I know the recast time is now being carried over ( before it was saved somewhere different than where it was accessed).
I'm glad the ooc regen thing is fixed. It actually is a better method of getting aggro anyway, I think, so it's good that was fixed.
As far as randomizing the merc's look, there is code in there to randomize hair, face, tattoos, eyes, etc, so maybe it just isn't being called at the right time or is being overwritten. The robes is a different thing (well, similar, but many different options), so it makes it harder to randomize I.E. you have to know the available texture values for each race. One live, they will change their armor or robe at certain levels, which is available in the code now. I just have 1 set in the database, but it could easily have more added. I suppose it could be changed to allow different textures to be selected from when the merc is created, but that may be more work than it would be worth. I'll check out the other random stuff and see why it's not working.
|
 |
|
 |
 |
|
 |

03-15-2013, 09:50 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
First, there is still a major bug where when for example at level 85 i am fighting a mob with just merc and PC and the PC dies and loses a level. After i zone back to bind point the merc is visually there, but unresponsive, i cant unsuspend, i cant dismiss them, cant purchase a new one, and the old merc remains in database. If i RELOG, when i come back into the game the merc is there and responsive. If i then dismiss it it in fact dismisses properly, and is erased from the database.
The second bug i think i can help you out with. When a tank merc is fighting a mob and you get within melee range you draw immediate aggro no matter what, just like with pets... Since i had just been looking into changing that for pets i tested this code and it seems to work. I basically modified what you did with bots.... After i applied this ,ercs could hold aggro no problem even when in melee range unless i outdmged them... Hope this helps.
This is in hate_list.cpp
Code:
+++ "b/C:\\EQEMU\\EQEmuServer\\zone\\hate_list.cpp"
@@ -361,6 +361,20 @@ Mob *HateList::GetTop(Mob *center)
}
}
#endif //BOTS
+
+
+ if(!isTopClientType) {
+ if(top->IsMerc()) {
+ isTopClientType = true;
+ topClientInRange = top;
+ }
+ }
+
if(!isTopClientType)
return topClientInRange;
|
 |
|
 |
 |
|
 |

03-17-2013, 08:45 AM
|
Sarnak
|
|
Join Date: Jan 2011
Location: Northern VA
Posts: 91
|
|
Quote:
Originally Posted by Armm
First, there is still a major bug where when for example at level 85 i am fighting a mob with just merc and PC and the PC dies and loses a level. After i zone back to bind point the merc is visually there, but unresponsive, i cant unsuspend, i cant dismiss them, cant purchase a new one, and the old merc remains in database. If i RELOG, when i come back into the game the merc is there and responsive. If i then dismiss it it in fact dismisses properly, and is erased from the database.
|
I haven't looked at the mercenaries code (and don't have a dev environment set up to check), but I'm going to assume that gating back to bind (or porting) doesn't break mercenaries in the same way.
It sounds like you're losing a pointer to your mercenary. When you die, does your character object get recreated? If so, perhaps the code responsible isn't transferring over the pointer to the mercenary.
|
 |
|
 |

03-17-2013, 02:48 PM
|
Hill Giant
|
|
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
|
|
One thing with cleric mercs my server has noticed is that if you suspend them and then unsuspend them their mana will regen to full. Is this intended by default? I can't remember how that works on Live
|

03-18-2013, 08:32 AM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
I'm not 100% sure, but I believe that they do. The issue is, on live, they become available to unsuspend in 5 minutes, as opposed to a few seconds here. Someone would have to verify though.
|

03-18-2013, 09:58 AM
|
Banned
|
|
Join Date: May 2009
Location: USA
Posts: 22
|
|
Mercs on live do not change state while suspended, they come out at the exact hp/mana/end that they were suspended with.
|

03-18-2013, 12:59 PM
|
Hill Giant
|
|
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
|
|
Maybe there's a setting within the database we can tweak but if there isn't, would it be possible to change the minimum health that a cleric merc actually starts casting heals?
For example, if you're looting your corpse and you have a cleric merc, they will spam you for each item you reequip since this raises your total hitpoints and you would normally have to regen that health. The cleric thinks you are taking damage and tries to top you off and wastes a bunch of mana for each item you reequip.
I'm thinking if you go below 30-40% of your health then the cleric starts healing you. Just a suggestion.
|

03-18-2013, 02:25 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
The cleric mercs on live are the same way. It's even more fun if you're in a zone where buff timers are suspended. When my int casters cast their shielding spell I end up with a hot and a promised heal sucking up buff slots if I'm not paying attention. All for a gap that was less than I'd regen in a single tick.
|

03-20-2013, 04:17 AM
|
 |
Demi-God
|
|
Join Date: May 2007
Location: b
Posts: 1,449
|
|
Just posting that I *think* I fixed the remaining mercenary memory leaks in code and when my pull request is accepted you should probably update. These were rather large fixes, and your RAM will thank you for it.
|

03-20-2013, 04:50 PM
|
Sarnak
|
|
Join Date: Feb 2013
Posts: 70
|
|
Summary of existing issues:
x86 debug build, built March 20th 8:47am. Using ROF or UF clients.
Cleric mercs chain cast bulwark of vie on themselves with a level 66 j2 healer merc for example, this happens on a number of buffs for healer mercs. Strange part is after i died and delveled to 65 the merc would still chain cast buff but it wouldnt say bulwark of vie, just say casting a spell, surrounded by bright white aura...
Tank mercs dont rest regen at all, ever.
If you suspend your merc and delvel(like if you died in a zone, had someone rezz you in zone, and tried to bring merc back) you cant unsuspend, dismiss, or do anything with pet. Sometimes zoning brings it back, sometimes not.
Seeing lots and lots of chars with 1-8 mercs for same charid with the multiples suspended. i saw one instance of a single char having 14 different mercs with all suspended but 1.
All in all, lots of improvements, thank you for the hard work.
|

03-20-2013, 07:53 PM
|
Developer
|
|
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
|
|
I'll have to do some more testing. I haven't seen the chain casting of any of the vie spells, at least at 65, but there shouldn't be much difference between the two.
Unless I'm wrong, you need to sit to rest regen, correct? I guess I could have them sit, but that would look a little strange, the tank merc sitting in between pulls.
I still haven't fixed the delevel bug. Yes, it will be the same between suspending and dying and deleveling. I will try to get it done by the end of the weekend.
I know i fixed the multi-save issue a while back, so I'm not sure why that came back. I know there have been a lot of changes in the last week or so, so maybe something broke again. Or it's happening after the merc gets bugged. Right now, mercs are being suspended when you die, so that could be the cause. I'll look into it.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 02:28 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |