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 03-22-2013, 12:05 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Chain cast bug seems to be gone, thanks.

I have not been able to create duplicate mercs yet, not very many on yet.

I have not had any crashes yet, will take some time to see if this happens.

Thanks again, those were showstoppers for me.
Reply With Quote
  #2  
Old 03-22-2013, 12:53 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

To clarify, I didn't commit his fixes for two crashes you listed in your other thread, the one for emotes and the other. I just got the merc ones in, so you might still get those. I just didn't have much time last night and wanted to get those couple of things fixed.
Reply With Quote
  #3  
Old 03-23-2013, 10:07 AM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Ok thanks for info.

I found a few sql errors you may want to correct...

From 2013_03_14_Merc_Spells.sql

Code:
((SELECT merc_spell_list_id FROM merc_spell_lists WHERE class_id = 2 AND proficiency_id = 1), (SELECT id FROM spells_new WHERE name = 'Ethereal Remedy' ORDER BY id DESC LIMIT 1), 8, 0, 59, 60, 6, 0 ),
I think the 8 stands for buff, when it should be 2 for a heal?? This happens throughout all the merc healer ranks.

Pious Remedy has max level of 255?? Pious elixir has maxlevel of 255. Aura of Devotion has max level of 255. All those i THINK should be alot lower max level??

Just trying to pitch in.
Reply With Quote
  #4  
Old 03-23-2013, 11:18 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Yeah, Ethereal Remedy should be spell type should be 2 for heal, and slot 1.
The others with their max levels:
Pious Remedy 70
Pious Elixir 71
Aura of Devotion 71

Code:
UPDATE merc_spell_list_entries 
SET spell_type = 2, slot = 1
WHERE spell_id = (SELECT id FROM spells_new WHERE name = 'Ethereal Remedy' ORDER BY id DESC LIMIT 1);

UPDATE merc_spell_list_entries 
SET maxlevel = 70
WHERE spell_id = (SELECT id FROM spells_new WHERE name = 'Pious Remedy' ORDER BY id DESC LIMIT 1);

UPDATE merc_spell_list_entries 
SET maxlevel = 71
WHERE spell_id = (SELECT id FROM spells_new WHERE name = 'Pious Elixir' ORDER BY id DESC LIMIT 1);

UPDATE merc_spell_list_entries 
SET maxlevel = 71
WHERE spell_id = (SELECT id FROM spells_new WHERE name = 'Aura of Devotion' ORDER BY id DESC LIMIT 1);
This is untested, but should work.

Good catch.
Reply With Quote
  #5  
Old 03-23-2013, 12:04 PM
vkrr
Sarnak
 
Join Date: Mar 2013
Posts: 65
Default

is there a way besides cost to restrict merc purchases? I'd prefer players to not have access to a Tier V merc at level 1. Are there any rules in place for this, either flagging Qglobals or level?
Reply With Quote
  #6  
Old 03-23-2013, 01:35 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Update-

After i pulled down secrets source around 11:30am CST and built that i hopped into the game ( UCS seems broken after that, says mail key is not right for world.exe).

Bug where develeing after death would cause merc to become unresponsive is gone. The only way i can temporarily get it to become unresponsive is if i die, lost level, and rezz in same zone, and even then after i zone the merc comes back just fine.

Chain casting bug is gone.

Well see on the zone crash stuff.

Pretty much every possible thing i could think of, cant break mercs right now. We will see if players can.
Reply With Quote
  #7  
Old 03-25-2013, 04:23 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Quote:
Originally Posted by vkrr View Post
is there a way besides cost to restrict merc purchases? I'd prefer players to not have access to a Tier V merc at level 1. Are there any rules in place for this, either flagging Qglobals or level?
The database allows for a qglobal value to be entered. Currently there aren't any checks in the code for it since the ones from live ( theme completion to unlock specific merc level) aren't coded yet, I don't believe.

It will get put in eventually, but if you want to play around with it, check for where it sends the available merc templates to the client in MercenaryMerchantResponse or whatever.
Reply With Quote
  #8  
Old 03-25-2013, 08:15 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Things are getting better. Trying secrets update to fix the one crash in last 20 hours ive had.

Here is a summary of bugs and issues:

Bug - If you die and delevel/rezz in same zone merc unresponsive.

Issue - Healer mercs do not cure themselves or anyone else of anything?
Issue - Healer mercs do not cast healdots, tried enabling it and they cast them but the spells dont heal for anything... weird..
Issue - Tank Mercs dont rest regen


Thanks for all the work!
Reply With Quote
  #9  
Old 03-26-2013, 09:45 AM
vkrr
Sarnak
 
Join Date: Mar 2013
Posts: 65
Default

Great info Bad_capn. I will play with it.

In the meantime, If i wanted to remove (I'd much rather just disable them) journeyman mercs (without completely breaking the merc tables) what's the easiest way to do that?

Should I:
1) Wipe the hired merc table, delete the mercs from the merchant template entries where (and i'm not sure how to do in in SQL -- MERC ID matches with name like '%journeyman%' from the merc_npc_types table) so they should be unpurchasable?

2) Just delete * where name like '%journeyman%' from merc_npc_types table -- but will that break the merc merchants?

3) Is there a way to implement a cost PER MERC? -- I would love to set the journeyman mercs to cost a crazy amount of plat, that would solve everything rather nicely.

Thanks again for any help you guys can provide
Reply With Quote
  #10  
Old 04-05-2013, 08:09 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default Possible bug

Is that GetSTR() supposed to be there in merc.cpp

Code:
int16 Merc::CalcAGI() {
	int16 val = _baseAGI + itembonuses.AGI + spellbonuses.AGI;
	int16 mod = aabonuses.AGI;

	int16 str = GetSTR();

	AGI = val + mod;

	if(AGI < 1)
		AGI = 1;

	return(AGI);
}
Reply With Quote
  #11  
Old 04-02-2013, 07:31 PM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

Quote:
Originally Posted by Armm View Post
Issue - Healer mercs do not cast healdots, tried enabling it and they cast them but the spells dont heal for anything... weird..
They should now cast the heal over time spells. I'll look further into the spells not being effective.
Reply With Quote
  #12  
Old 04-03-2013, 08:03 AM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Thank you much, that should ease the mana strain on them.
Reply With Quote
  #13  
Old 03-26-2013, 11:22 AM
bad_captain
Developer
 
Join Date: Feb 2009
Location: Cincinnati, OH
Posts: 512
Default

There is a function that returns the cost of the merc based on a simple formula I came up with that is pretty close up to level 65 or so. You should be able to add more based on the proficiency if you wanted to.

You could also do it in sql. I can't test right now, but removing the templates from the merchants would be the best of your options, so you could keep most of the data there in case you wanted it later.

Another option is client version, which is in merc_templates. Set that to a very high number so it won't show up for any client (this restriction works so you don't get unknown dbstring errors for invalid races or classes depending on your client). I'll try to come up with a script when I get a chance.
Reply With Quote
  #14  
Old 03-27-2013, 03:02 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

After yesterdays build with secrets latest patch, the crashes stopped, so i thought things were good until i noticed mercs with no owners standing around in hub area today. I checked DB and lots and lots of multiple mercs per PC in merc database.

I am cleaning out the DB and rebuilding source and will let you know results.
Reply With Quote
  #15  
Old 03-27-2013, 04:33 PM
Armm
Sarnak
 
Join Date: Feb 2013
Posts: 70
Default

Running latest git pull, x86 build, seems to happen on either UF and ROF clients.

Considering ive only had 6 people over last couple hours, and already i have 2 instances of multiple mercs per PC.

No crashes that i can find.
Reply With Quote
Reply

Thread Tools
Display Modes

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 02:41 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