PDA

View Full Version : smithing bug


sfisque
11-30-2006, 09:39 AM
i tried out the "sharpen weapon" recipe with a rusty scimitar. it failed first time, and i got my sharpening stone back. i tried it again, and it succeeded, and i got back the sharpening stone, again. both times it correctly returned the weapon in its proper state, but i should not have recieved back the sharpening stone. i'll look deeper to see if its a simple fix and hand up the patch, unless you are already aware of it.

== sfisque

sfisque
12-03-2006, 04:50 PM
further information:

upon doing more tests:

unsuccessful combine: returns stone (incorrect) does not return [still rusty] weapon (incorrect)

successful combine: returns stone (incorrect) returns tarnished weapon (correct)

== sfisque

bufferofnewbies
12-03-2006, 06:08 PM
I could have sworn the stone gets returned upon a combine fail or not. Been ages since I did that, but i remember the hard part was just finding the single stone in Qeynos.

We had to run up to halas for it in those days, or wait for those crazy people who would make the insane run all the way from Freeport to Qeynos to sell overpriced stuff.

Dralanna
12-03-2006, 06:33 PM
Nope, he's correct.... the sharpening stone should be consumed on success or failure (which is why sharpening stones are stackable)

bufferofnewbies
12-03-2006, 06:43 PM
wow, that sucks.
I hate being old with a bad memory...

EDIT: ALWAYS backup your files before you do anything I suggest, as I am old and loseing my mind.

ok, did some more looking at this in the dbase.
Sharpening stones part is easy enough:

REPLACE INTO tradeskill_recipe_entries
WHERE item_id = 12056
VALUES (successcount = 0), (failcount =0);

the rusty weapons I could find all had a fail count of 0, so lets swap that to 1 to have them return when the combine fails.

REPLACE INTO tradeskill_recipe_entries
WHERE item_id = 5013
OR item_id = 5013
OR item_id = 5014
OR item_id = 5015
OR item_id = 5016
OR item_id = 5019
OR item_id = 5020
OR item_id = 5021
OR item_id = 5022
OR item_id = 5023
OR item_id = 5024
OR item_id = 5025
OR item_id = 5040
OR item_id = 5072
OR item_id = 5074
OR item_id = 5076
OR item_id = 6011
OR item_id = 6013
OR item_id = 6014
OR item_id = 6015
OR item_id = 6016
OR item_id = 7007
OR item_id = 7008
OR item_id = 7009
OR item_id = 7010
VALUES (failcount = 1);

Hope that helps/ was what you needed.

bufferofnewbies
12-04-2006, 05:06 AM
bah, cant edit last post:

was going to ask someone to verify my code actually works. I'm still pretty new at all this, and tend to screw stuff up easily with a misplaced symbol, number or letter.

I say it always works for me, but I tend to change small things about my system and forget I did it.

sfisque
12-04-2006, 05:17 AM
very cool. i'll give it a whack tonight when i get home from work. thx for the insight. i figured it was gonna be a code patch, but i'm happy its just a DB whack.

== sfisque

sfisque
12-04-2006, 10:23 AM
went looking through the code, there might be a bug with this. i cant test my fix until i get home, but if i did catch it, i'll post the patch in this thread.

basically i looked at my DB and the success and fail values for the sharpening stone were indeed both ZERO. so i went fishing in the code. i might have a fix if this is indeed a bug. stay tuned. if not, i'll dig deeper.

== sfisque

sfisque
12-04-2006, 09:08 PM
code worked fine. i had to scrub and reload my recipe db fresh and apply the mods. seems i had repeat entries and the ones with one's were getting captured by the code, hence why my stones were not going away even with the value set to zero. all good now. thx for offering up the solution. now if i could only figure out the "disconnect on death bug".

== sfisque