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)

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 08-12-2004, 08:42 AM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default Complete Tradeskill Rewrite

Hello all,

I have completely rewritten the tradeskill system.... I would really like some feedback on what I have done... It works on my FreeBSD server with up-to-live client. I consider this 'beta 1', everything is working from my perspective, but is not throughly tested. most of the recipes are obviously untested due to quantity.

I dont know if it is broken for everybody else, but it was completely
broken for me when I started looking at it. a lot of the recipes are obviously untested.

Heres my 'release notes':
Code:
Big picture:
 - gets tradeskills working (they didnt work at all for me)
 - new trade skill interface works
   - searching
   - viewing details
   - auto combining
 - recipes can return unlimited items on success and fail
 - recipes have names on them :)
 - nofail works (not in recipes yet)


API level:
 - added constants invWhere* to represent inventory places
 - added optional argument to HasItem to specify where to search
   this is an OR'd set of invWhere* constants, default=ALL
 - changed prototype and split GetTradeRecipe into two methods
   but this is never used elsewhere
 - added HandleAutoCombine to Object
 - changed HandleCombine to be static for non-world objects
 - added to Client:
   TradeskillSearchResults - search tradeskills and send res
   SendTradeskillDetails - send details about a recipe
   TradeskillExecute - check success on a recipe and send results


Database:
 - added two new tables to replace tradeskillrecipes:
  tradeskill_recipe - info about a specific recipe
  tradeskill_recipe_entry - items involved in tradeskills relation
  - based on suggestions in http://www.eqemulator.net/forums/viewtopic.php?t=12067

Network:
 - new opcodes:
	OP_RecipesFavorite
	OP_RecipesSearch
	OP_RecipeReply
	OP_RecipeDetails
	OP_RecipeAutoCombine
 - and some new structures to go with them

Other:
 - Identified object type for tackle box :)

Recipes:
 - Pulled all recipes from eqtraders.com
 - converted all for which all items existed in the database.
   - includes fishing, research, etc..
   - have a script to do this for future DB updates
   - there are still several thoudand which are missing items
   - 5344 recipes total

Issues:
 - are tradeskill gains supposed to use a different forumal that others?
 - unfired pottery items are not in here since most do not
   exist in the database
 - I have not implemented restrictions based on race/class/etc
   but the script is pulling them from the pages, so it can 
   be done, I just dont have any desire to do it (:
 - if you dont have all the components for a recipe and you
   hit combine, it dosent send you a message saying that...
 - I didnt alter the success or gain forumals... assuming
   that somebody more knowledgable than me made them...
 - the CloseContainer_Struct has changed, but I am not able
   to figure out how... tradeskills still work with it broken
 - I dont know what the second ulong in the new recipe packets
   actually means, I just echo it in my replies...
 - my auto-converted recipes have whatever errors might exist on eqtraders.com
 - My script is not pulling nofail flags from the pages yet.
 - any recipe which needs to return two+ of a non-stackable item
   MUST insert several 'on success return 1 item' tuples with the 
   same item_id to get it to work correctly.
Description of tables and columns:
http://eqemu.psend.com/tradeskill_tables.txt

The patch is here: http://eqemu.psend.com/tradeskill_overhaul_b1.diff
it applies cleanly to 7/31 CVS, with a little fuzz due to my server having a lot of my patches on it.

The sql file with all my converted recipes is here:
http://eqemu.psend.com/new_recipes_all.zip


please give me feedback, positive or negative, whatever...
Reply With Quote
 


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 12:08 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3