I have seen a few threads about adding items to the merchants... the main problem being that there is no way to buy master work items I suggest adding dialog trees to the blacksmith rather than changing the inventory. Through the dialog tree you can order any masterwork item that you want This way people can get whatever they want and any number of items that they need, and it should solve the problem of changing the inventory of the merchants. I am going to tinker with this over the weekend, but from what I have seen it should not be hard to add the dialog options... taking the coins from the party and giving the item to the player... You could also add a time delay, since the blacksmith has to make the item, and even a quest or two that he might ask help with for certain items. Anyway, this seemed like an appropriate work around for changing the shop inventory and it is realistic to have to order an item. Livonya
The replacement of the Craft Rod feat was what got me started on thinking up a decent alternative. That was a cleaver replacement, but what if someone wanted to craft a rod? Anyway, I can't see anything preventing this change. We already know how to make a NPC give an item to a player via dialog. We already know how to change the dialog options. We already know how to take/give gold. So really it is just a matter of changing the code in the appropriate files. It should be really easy, or relatively easy at worst. I would like to add a time delay, though, like a day for the smith to craft the item. That is the one thing I have to tinker with... can't wait to get home from work.
Heh... you must be reading my mind... I've already got the basework done for the Hommlette blacksmith, and was getting ready to copy the code over to Otis in Nulb. It's fairly simple... the only limitation, is that you can only display 5 lines of "reponses" to choose from. This is how I was doing it: [Blacksmith intro/question] +PC original response 1 +PC original resposne 2 ... +PC NEW 'Say, do you happen to make master-quality items?} [Blacksmith -- why yes, I do! What are you interested in?} +PC Armor +PC Weapons I've then got the weapons dialogue tree's going down "Simple", "Martial", "Exotic"... armor goes down into "Shield" or "Armor" Below each of those, I display 4 items per category, and a PC choice that says "Next Page", until I've displayed all items. Only thing I have yet to do, is drop in the MW #'s for the items. EDIT::: Left out, that I also have to put the adj money function, amounts for each item, and create.item functions. But, they'll all be the same, except for cost and item #. I could probably have all this finished tonight, if I drop everything else and turn up the heat.
Two things: 1: If someone wants to help out, they could get me a complete list of every 'MW' item in Protos, and the cost for it. That'd shave off and hour or two of my dev time. 2: Until I have access to pc/global flags, the best I can do for a "takes a day to build" is a fade.and.teleport, and advance the clock two days...
1. Here are the proto numbers of all the masterwork weapons and armor. Armor: {6063}{Large masterwork steel shield} 170gp {6065}{Large masterwork wooden shield} 157gp {6075}{Small masterwork steel shield} 159gp {6079}{Masterwork metal tower shield} 190gp {6141}{Masterwork Full Plate Armor} 1500gp {6154}{Masterwork scale armor} 200gp {6220}{Masterwork padded armor} 155gp {6221}{Masterwork leather armor} 160gp {6222}{Masterwork studded leather} 175gp {6223}{Masterwork chain shirt} 250gp {6224}{Masterwork hide armor} 165gp {6225}{Masterwork chainmail armor} 300gp {6226}{Masterwork breastplate} 350gp {6227}{Masterwork splint mail} 350gp {6228}{Masterwork banded armor} 400gp {6229}{Masterwork half-plate} 750gp {6230}{Masterwork full plate armor} 1650gp {6231}{Masterwork buckler} 165gp {6232}{Small masterwork wooden shield} 153gp Weapons: {4012}{Masterwork greatsword} 350gp {4035}{Masterwork katana} 315gp {4048}{Masterwork scimitar} 315gp {4065}{Masterwork greataxe} 320gp {4155}{Masterwork dagger} 302gp {4156}{Masterwork rapier} 320gp {4157}{Masterwork bastard sword} 335gp {4158}{Masterwork falchion} 375gp {4159}{Masterwork shortsword} 310gp {4160}{Masterwork throwing dagger} 302gp {4163}{Masterwork dwarven war axe} 330gp {4164}{Masterwork greatclub} 305gp {4165}{Masterwork handaxe} 306gp {4166}{Masterwork heavy mace} 312gp {4167}{Masterwork heavy pick} 308gp {4168}{Masterwork morningstar} 308gp {4169}{Masterwork light mace} 305gp {4170}{Masterwork scythe} 318gp {4171}{Masterwork single axe} 306gp {4172}{Masterwork club} 3gp (don't ask, that's what it says) {4173}{Masterwork gnome hooked hammer}320gp {4174}{Masterwork light hammer} 301gp {4175}{Masterwork warhammer} 312gp {4176}{Masterwork longbow} 375gp {4177}{Masterwork light crossbow} 335gp {4178}{Masterwork heavy crossbow} 350gp {4179}{Masterwork quarterstaff} 305gp {4180}{Masterwork guisarme} 310gp {4181}{Masterwork battleaxe} 310gp {4182}{Masterwork sling} 301gp {4183}{Masterwork Shortspear} 301gp {4184}{Masterwork spear} 302gp {4185}{Masterwork glaive} 308gp {4186}{Masterwork ranseur} 310gp {4187}{Masterwork javelin} 301gp {4188}{Masterwork dart} 6g5s {4196}{Masterwork longspear} 305gp {4202}{Masterwork shortbow} 330gp {4204}{Masterwork greathammer} 320gp {4206}{Masterwork maul} 305gp {4208}{Masterwork heavy flail}315gp {4210}{Masterwork spiked chain} 325gp {4212}{Masterwork Shuriken} 660gp Misc. masterworks: {12013}{Masterwork thieves' tools} 100gp Edit: Added prices. That's all I could find, but I can't guarantee 100% that every single thing is there.
Hrmmm... This isn't turning out as I had planned. It's going to require a LOT more code... mostly because the engine will let your money amount go into the NEGATIVE. heh. Other than that, it works like a charm. Added all the Shields, and Armor types. Weapons is all that is left. What I'm going to do to fix the money issue is this: Instead of making each <item> choice buy the item, I'll drop it down into another branch with two lines of Reponses: 1: "Buy" ---> Do a pc.money_get() >= <amount_of_item_to_buy> 2: "Uhm... I don't have enough." pc.money_get() <= <amount_of_item_to_buy> In other words, if you have enough to buy it, 1 will show up. If you don't, 2 will. This means that instead of the 95+ lines of code/dialogue I've written, I'll have to write close to 300 and test it all. I'm going to spend a day or two hacking at the ShopKeeper inventories, and then if I can't make any headway there, finish up this script.
Ok.. got it working.. this is what I'm doing: {221}{Masterwork Buckler - 165gp}{}{1}{}{2000}{} goes to: {2000}{...Purchase Screen...}{}{}{}{}{} {2001}{...Buy...}{}{1}{pc.money_get() >= 16500}{1000}{pc.money_adj(-16500); create_item_in_inventory(6231,pc)} {2002}{...Don't Buy / Not Enough Money...}{}{1}{}{200}{} Works just like it should... so, I'll Copy'n'Paste that "Purchase screen" abotu 90 times, modify a few of the numbers, and SHAZAAM! Still gonna look tomorrow to see if I can figure out the shop inventory.
Yes, there was. I'm done now I turned the 7kb Blacksmith's dialogue file into a 26kb dialogue file. Works damn good, if I say so myself. http://members.cox.net/dhoom/masterwork_blacksmith.zip Drop that in .\data\dlg\ Only thing I noticed, is that there weren't any Masterwork Longswords or Masterwork Halfling Siangham(sp?) listed. Ya'll test it out, and lemme know if there are any bugs or if you have any features that could improve it.
Heh Dhoom Here ya go {4132}{Masterwork Longsword} don't know the gp for it but the MW Bastard Sword is 335gp and a MW Short Sword is 310gp so you could probably just say it costs 320gp can't find the Halfing Siangham so there may not be one. ps. I looked through the .dlg all I have to say is YER CRAZY...hehehe