EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Server Code Submissions (https://www.eqemulator.org/forums/forumdisplay.php?f=669)
-   -   Rogue Max Backstab Damage Rule (https://www.eqemulator.org/forums/showthread.php?t=28816)

Zeice 07-08-2009 02:57 PM

Rogue Max Backstab Damage Rule
 
Well I was thinking since there are now rules for the monk damage attacks and archery, there should be one for rogue's backstab damage. Granted I don't know what KLS has left to do to the formulas for backstab damage, but for custom server purposes this should be a temporary solution. Now I've just been delving into the code for the first time, so this is only my second attempt at something like this. I was comparing all the rule additions for monk/archery so I think I've figured this out. My only thing is I don't know if it would be better to use RuleR or RuleI...but I'll give both examples below and maybe someone can give me some better insight.

Another thing to note is this is just for max backstab damage above level 25. I would think min backstab damage is relatively fine, and damage below level 25 should be a moot point.

First RuleI:

Code:

ruletypes.h
----------------

ADD
RULE_INT ( Combat, MaxBackstabBonus, 10) //% Modifier

AFTER
RULE_INT ( Combat, RoundKickBonus, 10) //% Modifier that this skill gets to str and skill bonuses

Code:

special_attacks.cpp
--------------------------

REPLACE
max_hit = (((2*primaryweapondamage) * GetDamageTable(BACKSTAB) / 100) * 10 * GetSkill(BACKSTAB) / 355)  + ((level-25)/3) + 1;

WITH
max_hit = (((2*primaryweapondamage) * GetDamageTable(BACKSTAB) / 100) *  RuleI(Combat, MaxBackstabBonus) * GetSkill(BACKSTAB) / 355)  + ((level-25)/3) + 1;

Or using RuleR:

Code:

ruletypes.h
----------------

ADD
RULE_REAL ( Combat, MaxBackstabBonus, 1) // % Modifier to Max Backstab Damage (.5 = 50% base damage, 1 = 100%, 2 = 200%)

AFTER
RULE_INT ( Combat, RoundKickBonus, 10) //% Modifier that this skill gets to str and skill bonuses


Code:

special_attacks.cpp
--------------------------

REPLACE
max_hit = (((2*primaryweapondamage) * GetDamageTable(BACKSTAB) / 100) * 10 * GetSkill(BACKSTAB) / 355)  + ((level-25)/3) + 1;

WITH
max_hit = ((RuleR(Combat, MaxBackstabBonus)*(2*primaryweapondamage) * GetDamageTable(BACKSTAB) / 100) *  10 * GetSkill(BACKSTAB) / 355)  + ((level-25)/3) + 1;

Like I said I'm not sure which route would be the best way to go or if I even did it right, any help would be appreciated. =)

ChaosSlayerZ 07-08-2009 04:08 PM

KLS prabobly didn't see a need for BS rule cause BS has recently was changed to be based of new weapon property field called backstab_damage, which now used as base for BS sintead of normal weapon dmg (I am not however sure if this works for T. or just for SoF?)

This is a guess however =)

Nothing against the rule thought =)

Zeice 07-08-2009 04:12 PM

Yeah, I don't believe that field is being used just yet. It shows on items, but I don't think it's being used in the formula. Like I said this is just a temporary thing if people wanted to use it. /shrug

ChaosSlayerZ 07-08-2009 04:57 PM

well as of 6/15 changelog it says:

Recommended SQL: (This is recommended for databases that don't stay current with PEQ or are custom)
UPDATE items SET backstabdmg = damage WHERE backstabdmg = 0 AND itemtype = 2;


I guess it means that weapon no longer use normal DMG for BS base- though best way to test this is to take a weapon with high normal dmg, 1 bs dmg and see how mcuh it stabs for with the latest build

Zeice 07-08-2009 05:05 PM

Quotes from Trevius:

Quote:

I am sure those will be added in eventually. But, adding in Heroic stats is my first priority. Once I know how to add one, the others should be cake. For spelldmg and healamt, each of those would have to be coded in separate places, so it would be different than coding in Heroic stuff, which is why I am not doing them all at the same time. After Heroic stats, I will probably try to see about doing backstabdmg next, because that is a pretty cool stat IMO, considering I played a rogue on live for years. I like the idea of being able to have hard hitting weapons that devs don't have to nerf down just because they don't want insane backstabs from Rogues. I looked through the PEQ items table and it looks like many/most of the piercers already have the backstabdmg setting set. I will still put up a simple MySQL query when I add it for databases that can't update to PEQ so Backstab will still work perfect for them. Basically, I think this would work well:
Quote:

Well, I wasn't able to get to actually having the server make use of any of the new stats tonight, but I was able to get them all working to show up on items in game when using SoF.

I still plan to start the server side calculations by adding in Heroic stats first, but I am still not sure what exactly needs to be done to do it. From testing, I did verify that not only do Heroic stats increase the cap by the value set, but they also add that many of that particular stat for the value set. So, if you are capped at 300 STR and your items actually total 300 STR, and then you get an item that has 10 Heroic STR on it, you will then have 310 STR showing.

I will mess with it more tomorrow night and see if I can figure out how to handle the code for that stuff.

I also added in the field for normal (non-heroic) SV Corruption, since it wasn't coded yet. The Corruption and stuff will be the hardest stuff to add since it isn't anywhere in the source yet. At least the other stats are already everywhere they need to be and to code in Heroic stats should just mean making it add the extra values and increase the caps.
Fields are just for looks atm. They don't do anything, yet.

ChaosSlayerZ 07-08-2009 05:12 PM

roger that

trevius 07-08-2009 05:18 PM

Yeah, the new backstabdmg field in the items table will work for all clients once it is added to actually be factored into the source code. I don't see much of a reason for a rule for this since the new field should make it easy enough to fully customize all bs damage for all items, or even just for specific weapons as needed. If no one else gets the new stats added soon, hopefully I will be able to get to them sometime soon. I tried looking into getting them added already, but there are a few things I wasn't understanding. Usually a second look after taking a break from it will help me to understand it better. If anyone has coding suggestions to implement the new stats, I am all ears.

The rule isn't a bad temporary option if servers wanted to add it to thier source manually for now, but I don't personally think it should be added to the SVN just to be removed shortly after when the new item stat code goes in.

Zeice 07-08-2009 05:26 PM

Yeah, I figured it would only be temporary either way. Maybe this was the wrong forum, but just posted it incase anybody wanted to use it for now.

gaeorn 07-08-2009 06:14 PM

Although, it might be nice to have a rule to adjust the BS damage across the board so if a server wanted to increase all BS damage by 10%, they wouldn't have to go edit every item in the DB that has BS damage.

Zeice 07-08-2009 06:19 PM

Yeah, I was thinking about that, too. Although it only takes a small query to do that for items.

gaeorn 07-08-2009 07:12 PM

But it has the advantage of leaving the items in a pristine state.

trevius 07-08-2009 08:06 PM

I am not completely apposed to a rule for it, but I think we need to pick and chose what is really worth adding rules for. If we add a special rule for rogue BS damage, then why not add rules for every class damage, or spell effectiveness etc etc until it was overwhelming and bogging down the code? The main reason for adding a rule for monks is because it was added for stuff that items can't necessarily effect directly like their kick attacks. The archery rules are a bit of a special case as well.

For this particular case, it wouldn't exactly be a bad thing to have a rule, but it would be extremely easy to run 1 query on the items table to make the exact same adjustments you would make by changing that rule. And if you are worried about being able to get items to their original settings, just save the query and alter it slightly to run it in reverse. When I make changes to all items in the items table with queries, I always note them on my forums so I can easily undo them if ever needed.

I am sure that if KLS or the other devs like the idea of this rule, that it will be added. I just personally wouldn't add it myself for the reasons stated.

Zeice 07-08-2009 08:22 PM

Looks like KLS just added the formula to draw from the backstab damage field in items on the SVN an hour ago, so this isn't needed now. =p

gaeorn 07-08-2009 08:24 PM

Actually, I was thinking that eventually allowing the tweaking of character balance through rules for every class would be a great thing. If implemented properly it shouldn't bog down the code significantly. But in any case, I'm willing to go with whatever everyone prefers.

ChaosSlayerZ 07-08-2009 09:05 PM

Quote:

Originally Posted by trevius (Post 173842)
I am not completely apposed to a rule for it, but I think we need to pick and chose what is really worth adding rules for. If we add a special rule for rogue BS damage, then why not add rules for every class damage, or spell effectiveness etc etc until it was overwhelming and bogging down the code? The main reason for adding a rule for monks is because it was added for stuff that items can't necessarily effect directly like their kick attacks. The archery rules are a bit of a special case as well.

For this particular case, it wouldn't exactly be a bad thing to have a rule, but it would be extremely easy to run 1 query on the items table to make the exact same adjustments you would make by changing that rule. And if you are worried about being able to get items to their original settings, just save the query and alter it slightly to run it in reverse. When I make changes to all items in the items table with queries, I always note them on my forums so I can easily undo them if ever needed.

I am sure that if KLS or the other devs like the idea of this rule, that it will be added. I just personally wouldn't add it myself for the reasons stated.

Well yeah it depends on specific thing in question.
Spells I can easily modifiy in spell file. BS property for items - once it goes live, but few things stil remain out of reach. Such as - things like Harm Touch and Lay Hands are partialy hard coded in the source despite having a nice entries in spell file. (you cannot alter their refresh time for example). Would be nice to get back control over those things. (by simply allowing their properties to be read from spell data)


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

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