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
  #1  
Old 01-26-2013, 11:14 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Yeah, I think the SQL for the upkeep cost was committed as testing settings, where it is easier to tell if upkeep is working properly when you don't have to wait 15 minutes between each one. On live, it is 15 minutes for upkeep and 3 minutes for the suspend interval. If you want to set that, you can run the following SQL:

Code:
UPDATE rule_values SET rule_value = 900000 WHERE rule_name = 'Mercs:UpkeepIntervalMS';
UPDATE rule_values SET rule_value = 900 WHERE rule_name = 'Mercs:UpkeepIntervalS';
UPDATE rule_values SET rule_value = 180000 WHERE rule_name = 'Mercs:SuspendIntervalMS';
UPDATE rule_values SET rule_value = 180 WHERE rule_name = 'Mercs:SuspendIntervalS';
I think the upkeep timers are still a bit flakey, but hopefully we can get that stuff ironed out along with a few other things soon.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #2  
Old 01-27-2013, 03:05 AM
gibroni
Hill Giant
 
Join Date: Jun 2009
Location: glendale
Posts: 193
Default

noticed that after zoning the mercs mana goes to zero. so it isnt retaining their mana when zoning.
Reply With Quote
  #3  
Old 01-27-2013, 01:43 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Yeah, nothing is saved currently. I plan on working on buffs & other stuff in the next couple days.
Reply With Quote
  #4  
Old 02-04-2013, 11:27 AM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default

I left Trevius a message on IRC but I am really not sure who this should go to.
After looking into the dbstr_us.txt file changes I was able to pull out data for 2375 mercs. The data includes ID, Race, Type, Confidence, Proficiency and Tier.

Anyone want it?
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
Reply With Quote
  #5  
Old 02-04-2013, 04:01 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

What's in there that's not already in game? I haven't looked at RoF to see if there were any new mercs, but the rest should be in there ( then again, half or more of them are only available through expansion purchases, special merchant contracts, and other methods that may not be available in game).
Reply With Quote
  #6  
Old 02-05-2013, 12:17 AM
Drajor's Avatar
Drajor
Developer
 
Join Date: Nov 2012
Location: Halas
Posts: 355
Default

Quote:
Originally Posted by bad_captain View Post
What's in there that's not already in game? I haven't looked at RoF to see if there were any new mercs, but the rest should be in there ( then again, half or more of them are only available through expansion purchases, special merchant contracts, and other methods that may not be available in game).
I don't know. I haven't played live since PoP!
__________________
Drajor regards you indifferently -- what would you like your tombstone to say?
Reply With Quote
  #7  
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
  #8  
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
  #9  
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
  #10  
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
  #11  
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
  #12  
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
  #13  
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
  #14  
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
  #15  
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
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 03:24 AM.


 

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