Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

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

Reply
 
Thread Tools Display Modes
  #136  
Old 02-07-2013, 11:35 AM
thepoetwarrior
Discordant
 
Join Date: Aug 2007
Posts: 307
Default

Some of these rule values seem duplicated.

Mercs:SuspendIntervalMS
Mercs:SuspendIntervalS

Mercs:UpkeepIntervalMS
Mercs:UpkeepIntervalS

Mercs:AggroRadius
Mercs:AggroRadiusPuller

Is one or the other obsolete?
Reply With Quote
  #137  
Old 02-07-2013, 08:47 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

The top two sets are, and I think were done for convenience. The last pair are not, as it allows two different aggro radii, depending on if the mob's target is the puller or not (puller radius is smaller, or they would run out to attack before you want them to.)
Reply With Quote
  #138  
Old 02-08-2013, 12:39 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Here are the default rule settings from ruletypes.h for the merc timer stuff:

Code:
RULE_INT (Mercs, SuspendIntervalMS, 10000)
RULE_INT (Mercs, UpkeepIntervalMS,  180000)
RULE_INT (Mercs, SuspendIntervalS, 10)
RULE_INT (Mercs, UpkeepIntervalS, 180)

I dunno why they were done in seconds and ms, since we could just multiple or divide by 1000 in the source to switch from seconds to ms. I think the reasoning was because some places use seconds and some use ms, so it might be a bit less resources to not have to do the math even though the math is pretty simple/quick. We can probably remove whichever rule is used the least and just do the math for the seconds or ms depending on which one is kept. Either way, for now, just make sure they are the same amount of time for the MS and S rules with the same name (as shown in the defaults).

To be Live-Like, the UpkeepIntervals should actually be 15 minutes, otherwise you get spammed every 3 minutes about upkeep costs. Currently, upkeep costs are disabled until the merc stuff is more finalized, so there is no actual charge that happens, just a message about it.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #139  
Old 02-24-2013, 10:56 PM
Thuz989
Sarnak
 
Join Date: Jan 2006
Posts: 45
Default

I would love to see mercs succeed. That being said here is what i am observing..

ROF clients trying to zone with most mercs = zone crash Ill have to compile with debug and try this...

Cleric mercs just chain cast group loyalty buffs
Cleric mercs just keep chain casting group hp buff if it cant buff pet of PC.

When you dismis a bot, it still hows on your screen, and is targetable, but strangely enough you can do anything to it. Still shows in group. Zoning seems to clear the issue ONLY for the PC that zoned. everyone else can still see merc in group and standing there doing nothing.

After you dismiss a merc it is not deleted from database.

I realize its an enormous amount of work, and i appreciate your efforts.
Reply With Quote
  #140  
Old 02-25-2013, 01:29 AM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

Quote:
Originally Posted by bad_captain View Post
The top two sets are, and I think were done for convenience. The last pair are not, as it allows two different aggro radii, depending on if the mob's target is the puller or not (puller radius is smaller, or they would run out to attack before you want them to.)
So since the 2/18 merc update with:

REQUIRED SQL: 2013_02_18_Merc_Rules_and_Tables.sql
OPTIONAL SQL: 2013_02_18_Merc_Spells.sql

...is the mercs.sql in the utils\sql\svn still required as well?
Reply With Quote
  #141  
Old 02-25-2013, 07:40 AM
myeqsf
Fire Beetle
 
Join Date: Oct 2006
Posts: 6
Default

How unlock mercs slot one more?
Reply With Quote
  #142  
Old 02-25-2013, 08:18 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Quote:
Originally Posted by myeqsf View Post
How unlock mercs slot one more?
That is not possible yet in EQEmu. The only client we have that can even support that option is RoF. And there are probably some new packets that deal with owning multiple mercs that we have not yet looked into.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #143  
Old 02-25-2013, 09:51 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Quote:
Originally Posted by Shiny151 View Post
So since the 2/18 merc update with:

REQUIRED SQL: 2013_02_18_Merc_Rules_and_Tables.sql
OPTIONAL SQL: 2013_02_18_Merc_Spells.sql

...is the mercs.sql in the utils\sql\svn still required as well?
No, from now on, all sql scripts will be in the git folder. They are basically the same file.


Edit: the file referenced in my git commit about merc spells is the same as the one you referenced. The earlier files are required as they add the necessary tables, if this is an initial install. If it is just an update, then just use the version in the git sql folder.

Last edited by bad_captain; 02-25-2013 at 12:06 PM.. Reason: Added reference to initial install.
Reply With Quote
  #144  
Old 02-25-2013, 11:41 AM
Thuz989
Sarnak
 
Join Date: Jan 2006
Posts: 45
Default

Can this code even work anymore now that mercs have own table?? I assume they dont have NPC ids that i have seen?? I assume since they dont have a special attack field this wont ever be true?

Code:
//try main hand first
				if(attack_timer.Check()) {
					Attack(GetTarget(), SLOT_PRIMARY);

					bool tripleSuccess = false;

					if(GetOwner() && GetTarget() && CanThisClassDoubleAttack()) {

						if(GetOwner()) {
							Attack(GetTarget(), SLOT_PRIMARY, true);
						}

						if(GetOwner() && GetTarget() && SpecAttacks[SPECATK_TRIPLE]) {
							tripleSuccess = true;
							Attack(GetTarget(), SLOT_PRIMARY, true);
						}

						//quad attack, does this belong here??
						if(GetOwner() && GetTarget() && SpecAttacks[SPECATK_QUAD]) {
							Attack(GetTarget(), SLOT_PRIMARY, true);
						}
					}
Reply With Quote
  #145  
Old 02-25-2013, 11:59 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

I haven't tested it specifically, but mercs have a specialattks field. They also have an attack_count field. I'm pretty sure I've at least seen my merc triple, but I'd have to look. I dont think there's any data in the specialattks field, whereas attack_count should match where client get double, triple, and quad attacks. I know there will be a lot of little things that need tweaked, but I am focusing on the major issues right now.

The best way to test is to parse or do some debugging to see for sure.
Reply With Quote
  #146  
Old 02-25-2013, 12:01 PM
Shiny151
Hill Giant
 
Join Date: Jul 2009
Location: Indianapolis
Posts: 228
Default

Quote:
Originally Posted by bad_captain View Post
No, from now on, all sql scripts will be in the git folder. They are basically the same file.


Edit: the file referenced in my git commit about merc spells is the same as the one you referenced. The earlier files are required as they add the necessary tables, if this is an initial install. If it is just an update, then just use the version in the git svn folder.
Okay great because how you described the update is how i followed it. I just wanted to make sure i didn't miss anything. And by the way, thank for for working on Mercs; I have a half a dozen folks who play on my server and we have really been enjoying the greater possibilities they bring. We appreciate all the work you've done to bring this to us.
Reply With Quote
  #147  
Old 02-25-2013, 09:49 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Using ROF and UF client with latest 32 bit GIT build, running latest PEQ and patches, up to and including git sql patches.

These problems happen on both ROF and UF clients every time:

Suspend and Dismiss merc leaves merc standing there, targetable, but only has an entity number. Cant use #kill or #damage on him. If you zone you cant see them anymore.


With 2PC in group with mercs, if you suspend a bot, UNSUSPEND him and then zone, you end up with 2 mercs with same name in database. Repeat and you get more mercs in database with same name. The old ones show as suspended. If you start chain dismissing them you can get rid of some but not all of dupes.


Assuming 2 PCs and mercs in group, 1 tank merc, 1 healer merc... 2 pets. Healer will chain cast loyalty group buff series because it wont stick on pets im guessing. Get rid of pets, problem goes away.


Thank you for working on mercs! they seem to zone better than bots. If the ghost/dupe thing was figured out it would be great.
Reply With Quote
  #148  
Old 02-26-2013, 01:44 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

I'm working on the dismiss/suspend issue. I'm not sure why that broke, but I'm working on it.

I'll check out the duplicate save entries as well.

About the spell, do you mean Blessing of Loyalty, the spell haste buff? I'll have to look more into this, as I don't see this issue at 65. What level and what kind of pet?

Thanks for the feedback.


Edit: I think I've fixed the duplicate saves, and will try to commit tomorrow after more testing.

Last edited by bad_captain; 02-26-2013 at 01:50 AM..
Reply With Quote
  #149  
Old 02-26-2013, 05:00 AM
myeqsf
Fire Beetle
 
Join Date: Oct 2006
Posts: 6
Smile

Quote:
Originally Posted by trevius View Post
That is not possible yet in EQEmu. The only client we have that can even support that option is RoF. And there are probably some new packets that deal with owning multiple mercs that we have not yet looked into.
I realize its an enormous amount of work, and i appreciate your efforts.
Reply With Quote
  #150  
Old 02-26-2013, 08:47 AM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

I had level 85 characters, not sure what level the spell is but the spell haste cleric buff yes. If you have pets in the group who dont have pet affinity ( and thus cant get buffs) the cleric chain casts it. If you give the characters pet affinity, the buff sticks on pets and the clerics stop casting it.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:16 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3