Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 05-30-2019, 09:11 AM
Melandril
Sarnak
 
Join Date: Jun 2003
Posts: 75
Default Is there a DB setting for max damage?

Maze_EQ (in another topic/question) suggested an issue I was having with procs might be related to a DB setting on damage caps. At the time (and for the specific issue) that was not the case.

I'm now testing 2hs weapons against a creature in zone 476 (which have supernaturally high regen in the default install), so I changed my weapon from 35 dmg to 350, 500, 750 and now 10000 (baby steps, right?)

however, from 350 up to 10000, my max is still roughly 1500 on a hit (and lower as an average).

I've been attacking this creature for the last 10 minutes, and it is still full life (due to the regen.) While I would be interested in knowing more about the regen, I'd also love to get that 10k dmg base showing up.

What is the table where I can change this? (I didn't see anything for 'dmg' or 'damage' related to users, clients, or accounts)

Thank you
Reply With Quote
  #2  
Old 05-30-2019, 09:57 AM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

I've seen this mentioned before but don't remember where. There's a hardcap in the source somewhere. I think the level based caps allow you to go up to around 1000, but with those turned off the cap is around 1200-1500. Not sure where as I haven't really looked into it.
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #3  
Old 05-31-2019, 11:09 AM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,106
Default

LevelBasedDamageCaps I believe?
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
Reply With Quote
  #4  
Old 05-31-2019, 12:07 PM
chrsschb's Avatar
chrsschb
Dragon
 
Join Date: Nov 2008
Location: GA
Posts: 905
Default

Quote:
Originally Posted by Maze_EQ View Post
LevelBasedDamageCaps I believe?
Combat:LevelToStopDamageCaps

I think that's it, I have it set to 0 but haven't exactly had a reason to test anything with damage that high lol
__________________
Clumsy's World: Resurgence
Clumsy's World [2006-2012]
Reply With Quote
  #5  
Old 05-31-2019, 12:45 PM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,106
Default

That's it.

Don't have a database in front of me. just shitty memories.
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
Reply With Quote
  #6  
Old 06-02-2019, 12:21 AM
Melandril
Sarnak
 
Join Date: Jun 2003
Posts: 75
Default

that sound like something I'd like to try. I don't see any variation on those terms in either the Variables table or information_schema.columns

Where should I look for adjusting this? or is this strictly on the cpp side?

Thank you
Reply With Quote
  #7  
Old 06-02-2019, 01:33 AM
superpally1
Sarnak
 
Join Date: Jul 2018
Location: Tennessee
Posts: 33
Default

Here is another way you can scale your damage.

in attack.cpp after line 5100.

(below this block)
Code:
if (IsClient()) {
		int extra = 0;
		switch (hit.skill) {
		case EQEmu::skills::SkillThrowing:
		case EQEmu::skills::SkillArchery:
			extra = CastToClient()->GetHeroicDEX() / 10;
			break;
		default:
			extra = CastToClient()->GetHeroicSTR() / 10;
			break;
		}
		hit.damage_done += extra;

add this:

Code:
//#####################################################################################################################################################################
		if (GetClass() == WARRIOR || GetClass() == PALADIN || GetClass() == SHADOWKNIGHT || GetClass() == BARD || GetClass() == BERSERKER) {
			hit.damage_done = ((hit.damage_done*(CastToClient()->GetSTR())/(RuleI(Combat,StatModDivideByAmount)))/(RuleI(Combat,TotalModDivideByAmount)));
		}
		if (GetClass() == MONK || GetClass() == BEASTLORD || GetClass() == ROGUE || GetClass() == RANGER) {
			hit.damage_done = ((hit.damage_done*(CastToClient()->GetDEX())/(RuleI(Combat,StatModDivideByAmount)))/(RuleI(Combat,TotalModDivideByAmount)));
		}
//#####################################################################################################################################################################
So it looks like this:


Code:
if (IsClient()) {
		int extra = 0;
		switch (hit.skill) {
		case EQEmu::skills::SkillThrowing:
		case EQEmu::skills::SkillArchery:
			extra = CastToClient()->GetHeroicDEX() / 10;
			break;
		default:
			extra = CastToClient()->GetHeroicSTR() / 10;
			break;
		}
		hit.damage_done += extra;
//#####################################################################################################################################################################
		if (GetClass() == WARRIOR || GetClass() == PALADIN || GetClass() == SHADOWKNIGHT || GetClass() == BARD || GetClass() == BERSERKER) {
			hit.damage_done = ((hit.damage_done*(CastToClient()->GetSTR())/(RuleI(Combat,StatModDivideByAmount)))/(RuleI(Combat,TotalModDivideByAmount)));
		}
		if (GetClass() == MONK || GetClass() == BEASTLORD || GetClass() == ROGUE || GetClass() == RANGER) {
			hit.damage_done = ((hit.damage_done*(CastToClient()->GetDEX())/(RuleI(Combat,StatModDivideByAmount)))/(RuleI(Combat,TotalModDivideByAmount)));
		}
//#####################################################################################################################################################################
	}

	// this appears where they do special attack dmg mods

Now in ruletypes.h add this :

Code:
RULE_INT(Combat, StatModDivideByAmount, 100) // Stat divided by amount for melee damage
RULE_INT(Combat, TotalModDivideByAmount, 100) // Total divided by amount
now recompile source.

This is damage scaled for Warrior, Paladin, Shadowknight, Bard, Berzerker using the Strength stat and Monk, Beastlord ,Rogue, Ranger using Dexterity stat, using 2 settings in your ruletypes which can be changed via sql query.

You can change the math to whatever you wish in the source then change the variables on the fly in the Variable tables. This is just an example.

Oh yeah, and the sql entries:

Code:
INSERT INTO `rule_values` (`ruleset_id`,`rule_name`,`rule_value`) VALUES ('1','StatModDivideByAmount','100')
INSERT INTO `rule_values` (`ruleset_id`,`rule_name`,`rule_value`) VALUES ('1','TotalModDivideByAmount,'100')
Reply With Quote
  #8  
Old 06-03-2019, 01:33 PM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,106
Default

Quote:
Originally Posted by Melandril View Post
that sound like something I'd like to try. I don't see any variation on those terms in either the Variables table or information_schema.columns

Where should I look for adjusting this? or is this strictly on the cpp side?

Thank you
Rule_Values
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
Reply With Quote
Reply

Tags
damage cap

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 03:18 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3