EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::General Support (https://www.eqemulator.org/forums/forumdisplay.php?f=598)
-   -   Is there a DB setting for max damage? (https://www.eqemulator.org/forums/showthread.php?t=42481)

Melandril 05-30-2019 09:11 AM

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

chrsschb 05-30-2019 09:57 AM

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.

Maze_EQ 05-31-2019 11:09 AM

LevelBasedDamageCaps I believe?

chrsschb 05-31-2019 12:07 PM

Quote:

Originally Posted by Maze_EQ (Post 262703)
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

Maze_EQ 05-31-2019 12:45 PM

That's it.

Don't have a database in front of me. just shitty memories.

Melandril 06-02-2019 12:21 AM

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

superpally1 06-02-2019 01:33 AM

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')


Maze_EQ 06-03-2019 01:33 PM

Quote:

Originally Posted by Melandril (Post 262722)
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


All times are GMT -4. The time now is 09:41 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.