Thread: Miscellaneous: paladin /sk defense skill bug-230
View Single Post
  #3  
Old 08-04-2016, 07:34 PM
Zaela Zaela is offline
Sarnak


Join Date: Jul 2014
Posts: 319
Default

Quote:
Originally Posted by Erati [You must be logged in to view images. Log in or Register.]
one day the monk epic graphic, after being broken and not visible to anyone but the wearer, worked. It was magical.
Hi.

EQEmu grabs skillcaps from the database, and has done so since before P99 was a thing, so I'll assume P99 also grabs them from the database. With that in mind, making an era-based system for skillcaps should require very little new code; a minor alteration and some additions to the database's skillcap table (and a corresponding change to the lookup query in the server code) should be enough.

First things first, there would need to be some kind of server-wide value that defines what era it currently is. Maybe something like that is already implemented (although this thread makes it sound like maybe era values vary by zone and/or stick to clients somehow..? The current era ought to be the same everywhere at all times, clearly). If not, adding something like that should be pretty trivial, just a few lines of code and somewhere to store (and occasionally update (offline, during patches)) the current era id/date.

From there it should just be a matter of adding an era_id field to the skillcaps table in the database. When it's time to load up the skillcaps, the server would grab the skill cap values corresponding to the highest era_id less than or equal to the current era_id. The query in the server code would need to be updated to consider the new era_id column, but otherwise the change should not need any new supporting code: the server would still just be dealing with one set of skill cap values at a time, just like before.

The only hard part would be to have someone sit down and go through the tedious and spreadsheet-tastic process of figuring out which classes have new skill caps for which skills at which levels starting with which era (and maybe which era_id number that era corresponds to, depending how eras are distinguished/counted), and plugging all of those into the database.

EQEmu has had at least two different skillcap systems/tables over the years and I'm not sure which (if either) of those P99 would use. But if we could get a quick hint about the schema for the skillcaps table and maybe how the devs would prefer to distinguish the different "eras", it shouldn't be too hard to crowdsource the necessary SQL statements and the new query to implement such an era-based skillcap table.