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 06-14-2009, 08:11 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default New SoF Item Stats

I am going to take a shot at getting the new SoF item stats functioning. I am going to start with Heroic stats and maybe eventually add in the others like dsmitigation, healamt, spelldmg, clairvoyance, and backstabdmg.

Cavedude, if you see this, do you have any issues with me adding new fields to the database for Heroic Resists? I would name them all in the same format as the current Heroic fields such as; heroic_pr, heroic_dr, heroic_fr, heroic_cr, heroic_mr, heroic_svcorruption. These fields are not used on Live as far as I know and they are not in the 13th floor database either, but the client fully supports them and we have them identified in the item structure already. Since they are there for us, we might as well add in support to use them, I figure.

Once the new fields are all in the database for Heroic Resists, I will try to code in what is needed to be able to pull these fields for Serialization and also try to get calculate stats to observe these properly to exceed the caps on stats. I haven't messed with coding the handling of item fields before, but it isn't the first time I had to figure out how to do something new. Hopefully I don't break anything in the process, but I will make sure to test as well as possible before putting anything on the SVN for it.

Heroic stats should be pretty straight-forward, since all they do is increase the stat caps for normal stats and resists. The client observes these increases and it shouldn't be hard to reflect that on the server-side.

If I am able to figure out how to get Heroic stats in and it isn't too much of a pain to do, I might try adding in some of the other new stats as well. To do that, I need some input on them to make sure I understand each one properly. Here is the list of the new stats and what my current understanding of them is:

dsmitigation - I believe this is simply to reduce how much a damage shield lands for. I think it would be just a flat amount to subtract from the damage shield damage as long as it doesn't go lower than 0 value (essentially healing the character).

healamt - My guess is that this sets an amount to increase all healing spells for. I am also guessing that this is a flat rate, so if you have 100 total in healamt from items, all healing spells get increased by 100. Or maybe it is by percentage. Maybe it has restrictions too, like it might not work on CH. Could definitely use clarification on this.

spelldmg - I am guessing that this works the same or similar to healamt, accept this adds damage to spells. I don't know if there are restrictions, but I would guess that AE spells might not be affected by this.

clairvoyance - I really have no idea what this stat is or what it does.

backstabdmg - I am pretty sure that this is just a way to allow weapons to have different values to use for backstab vs just using the base damage on the weapon. All of my weapons on my Rog on Live had the same value for backstabdmg as they did for normal damage. So, when this is implemented, it would probably also be a good idea to add a SQL query that will update all piercers in the database to have a value for this field. The query should be as simple as checking if the weapon type is a 1hp, and then setting the backstabdmg to match the damage of the weapon if backstabdamage = 0. This would prevent it from overwriting any existing weapons that might have different values between the 2 fields. I think the main point of this field is so you could make really hard hitting piercers that aren't insanely overpowered for rogues using them to backstab. You could set the backstabdmg lower than damage if you want to do that, or you could set it higher for custom weapons that might not hit normal hits hard but land some amazing backstab damage to make the weapon more appealing to Rogues than to any other class.


I will probably start working on this tonight. Hopefully it isn't all too hard to get these fields to be used by the serialization. If anyone has suggestions or questions, lemme know. Also, if anyone wants to help get these all working, feel free!
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 06-15-2009 at 04:27 AM..
Reply With Quote
  #2  
Old 06-14-2009, 09:32 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

clairvoyance 2% chance on spell cast over 75 to return this amount of mana.

heal and spell damage don't affect duration spells only, and only affects spells above 75.

These have no caps.
Reply With Quote
  #3  
Old 06-14-2009, 10:15 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

I have no problem adding the new columns.
Reply With Quote
  #4  
Old 06-14-2009, 11:50 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,450
Default

I would love spelldmg and healamt being added in personally, and if you add one in, why not add them all?

I see no issue with that.
Reply With Quote
  #5  
Old 06-15-2009, 03:50 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

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:

Code:
UPDATE items SET backstabdmg = damage WHERE backstabdmg = 0 AND itemtype = 2;
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #6  
Old 06-15-2009, 07:30 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

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.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 06-18-2009, 04:00 PM
Majildian
Fire Beetle
 
Join Date: Jul 2006
Posts: 1
Default

Heroic stats actually do a lot more than increase the stat+cap, you can read about them and the other mods at http://www.evilgamer.net/forums/showthread.php?t=3508.
Reply With Quote
  #8  
Old 08-02-2009, 05:18 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

backstabdmg does not appear to be in the sql/svn updates anywhere. I'm still searching here for what it should be, but wanted to let you know.

(i haven't updated since Apr '09, so this is an all-day project lol)


edit: ok, there are apparently a bunch of new Items fields on SVN code, not yet in DB updates. Maybe I shouldn't have been so zealous
Reply With Quote
  #9  
Old 08-02-2009, 05:29 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

In fact, it seems all these are missing:

Code:
	itbs.BackstabDmg = item->BackstabDmg;
	itbs.DSMitigation = item->DSMitigation;
	itbs.HeroicStr = item->HeroicStr;
	itbs.HeroicInt = item->HeroicInt;
	itbs.HeroicWis = item->HeroicWis;
	itbs.HeroicAgi = item->HeroicAgi;
	itbs.HeroicDex = item->HeroicDex;
	itbs.HeroicSta = item->HeroicSta;
	itbs.HeroicCha = item->HeroicCha;
	itbs.HeroicMR = item->HeroicMR;
	itbs.HeroicFR = item->HeroicFR;
	itbs.HeroicCR = item->HeroicCR;
	itbs.HeroicDR = item->HeroicDR;
	itbs.HeroicPR = item->HeroicPR;
	itbs.HeroicSVCorrup = item->HeroicSVCorrup;
	itbs.HealAmt = item->HealAmt;
	itbs.SpellDmg = item->SpellDmg;
There is an update in 665_heroic_resists.sql that fail because heroic_str is not already in place (the AFTER statement).

Hope I am not just rambling nonsensically... it's been known to happen.
Reply With Quote
  #10  
Old 08-02-2009, 05:44 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I had the same problem when updating by hand back then, made me mad that Trev assumed everyone had updated item tables from peq... but I added them manually and forgot to yell at him for it.
Reply With Quote
  #11  
Old 08-02-2009, 06:17 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Oh, I had assumed those had been in for a long time. My items table was probably over a year old when I added the extra fields for the resists and new stats. I guess that since the heroics weren't previously being used, it wasn't required before like it is now. I didn't really think about that. Is there a way to add fields only if they don't already exist via SQL queries? If so, I could have just added that to the SQL file as well. I know you can do a "delete such and such if it exists", but is there an "add such and such only if it doesn't already exist"?

Sorry, I am not all that SQL savvy.

You should be able to run the following if you don't already have these fields:

Code:
ALTER TABLE `items` 
ADD COLUMN `dsmitigation` smallint(6) NOT NULL default '0',
ADD COLUMN `heroic_str` smallint(6) NOT NULL default '0' AFTER `dsmitigation`,
ADD COLUMN `heroic_int` smallint(6) NOT NULL default '0' AFTER `heroic_str`,
ADD COLUMN `heroic_wis` smallint(6) NOT NULL default '0' AFTER `heroic_int`,
ADD COLUMN `heroic_agi` smallint(6) NOT NULL default '0' AFTER `heroic_wis`,
ADD COLUMN `heroic_dex` smallint(6) NOT NULL default '0' AFTER `heroic_agi`,
ADD COLUMN `heroic_sta` smallint(6) NOT NULL default '0' AFTER `heroic_dex`,
ADD COLUMN `heroic_cha` smallint(6) NOT NULL default '0' AFTER `heroic_sta`,
ADD COLUMN `heroic_pr` smallint(6) NOT NULL default '0' AFTER `heroic_cha`,
ADD COLUMN `heroic_dr` smallint(6) NOT NULL default '0' AFTER `heroic_pr`,
ADD COLUMN `heroic_fr` smallint(6) NOT NULL default '0' AFTER `heroic_dr`,
ADD COLUMN `heroic_cr` smallint(6) NOT NULL default '0' AFTER `heroic_fr`,
ADD COLUMN `heroic_mr` smallint(6) NOT NULL default '0' AFTER `heroic_cr`,
ADD COLUMN `heroic_svcorrup` smallint(6) NOT NULL default '0' AFTER `heroic_mr`,
ADD COLUMN `healamt` smallint(6) NOT NULL default '0' AFTER `heroic_svcorrup`,
ADD COLUMN `spelldmg` smallint(6) NOT NULL default '0' AFTER `healamt`,
ADD COLUMN `clairvoyance` smallint(6) NOT NULL default '0' AFTER `spelldmg`,
ADD COLUMN `backstabdmg` smallint(6) NOT NULL default '0' AFTER `clairvoyance`;
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #12  
Old 04-27-2010, 04:25 PM
Kilralpine
Sarnak
 
Join Date: Jul 2004
Posts: 98
Default

What ever came of this trev? Id really like to see some of the new stats in action, i think it would bring a world of customization to eqemu... especially thru spell damage
Reply With Quote
  #13  
Old 04-28-2010, 05:15 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I just haven't had time to get back to it. I definitely want to get at least the Heroic Stats working sometime soonish. The spell damage mod would probably be something better for KLS to do, since she has some changes to spells for her Spell Branch.

I'm not really sure about the other mods like Healing yet, but those will probably come eventually.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #14  
Old 04-29-2010, 10:08 AM
Frosef
Sarnak
 
Join Date: Mar 2010
Posts: 36
Default

Semi-related: Is there a place to read up on what all the stats do? I couldn't find anything with my Google-fu on the "newer" stats introduced with Planes of Power(?), but Alla's did have some information on SoF stats under their guide to SoF.

Quote:
Heroic stats should be pretty straight-forward, since all they do is increase the stat caps for normal stats and resists.
According to Alla's the actually do more than just stat cap increases, by the way:

http://everquest.allakhazam.com/wiki/EQ:Heroic_Stats

Although it's lacking in specific numbers for certain stats.
Reply With Quote
  #15  
Old 04-30-2010, 04:08 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

http://everquest.allakhazam.com/wiki/eq:mod2%27s
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 11:58 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3