various questions
- disaster
- Needs Help
- Posts: 572
- Joined: Sat Jan 18, 2003 12:47 am
- Location: the true north strong and free
- Contact:
various questions
ok, i have a question. if a scavenger mob repops in a room with a current and something on the ground, will it have enough time to pick up the item or will it get pushed out of the room first?
"Freedom of speech" is not the same thing as "Freedom from consequences".
I don't know if it's intentional or not, but I have a pretty good guess why it happens!
I think it mimics the immortal at command - which essentially places the player in the room for a very brief amount of time and executes a "look". Since you can't enter a private/solitary room when it's occupied, that's why birdseye failed.
It's a good theory anyway. I would vote for bug.
I think it mimics the immortal at command - which essentially places the player in the room for a very brief amount of time and executes a "look". Since you can't enter a private/solitary room when it's occupied, that's why birdseye failed.
It's a good theory anyway. I would vote for bug.
Fine art is the only teacher except torture.
- George Bernard Shaw
- George Bernard Shaw
- disaster
- Needs Help
- Posts: 572
- Joined: Sat Jan 18, 2003 12:47 am
- Location: the true north strong and free
- Contact:
could someone please explain for me if and how I can make items that load in shops sell for a certain price? and how to set the amounts that other items sell for too, for that matter. i'm pretty fuzzy on the whole price thing.
"Freedom of speech" is not the same thing as "Freedom from consequences".
I've wished for this ability for a long time. Sadly, you can only set prices on pills and potions...or so I believe. The only other thing that you can do to alter the prices of shops is to make them sell high or low. I'm not sure exactly how much the prices rise or fall, but it affects it a little bit at least.
The stars brightly shine upon our world, a constant reminder of our origin. We are stars.
Technically, you are correct. Sell_low, sell_mid, and sell_high do directly affect the level of the item, but an items value is determines as a factor of its level. Cost of items, especially items loaded on a shopkeeper, is one of those pieces of code still mired in the early days of original merc code, and I don't think anyone fully understands it. In a perfect world, this would probably be something we'd fix, but unfortunately, I don't think it's very high on our current prioities.
The issues are understood fairly well, except for the bizarre suggested cost stuff for potions that I always have to look up. The problem is not the code so much as the crufty area format. Long ago, in the original merc and diku code, almost every piece of information you can think of was specified in the area file. Hit dice for mobs, hit dice for weapons, gold carried, experience value, levels and values of items, you name it, it was in there. This made shops work very simply; the shopkeeper merely sold the item at the level and value specified in the area file.
Over time, the merc guys noticed a trend in their area files; they were entirely out of control. The mob that gave the most experience in a stock mud was the green dragon in Haon Dor, despite being only level 25 or so. Some areas had high level mobs with low level equipment, which defeated the purpose of leveling the equipment to begin with. Hit points for certain mobs, hit dice for certain weapons, values on certain items, levels on certain items, were beyond anything rational. They decided to put a stop to all that.
Since intellectual property rights for area files have always been touchy, they weren't able to just modify all the areas to align them to the game balance of their mud. So, they let the code handle it by simply ignoring most of the gameplay information in the area file and generating it based on level. This instantly improved certain things. Unfortunately, it complicated shops a great deal. Shopkeepers were nearly always loaded at a very high level to prevent them from being killed all the time. This was a sensible precaution to be sure, but suddenly the new code had all the shops' inventories loading at some ridiculously high level...no character could buy anything. Their compromise solution was the sell_low, sell_mid, and sell_high flags, which assigned a level range to a shop's inventory, and fixed the problems of both the items' levels and their prices at the cost of some area flexibility.
In restoring some of that flexibility, we face the same problems they did in terms of not being able to touch many of our existing area files. We can't just simply turn the old features back on, because newer area files have zeroes in the ignored portions of the files. We can't co-opt those sections of the area files and update them, because the older files still have values there. Any code change to add features like this require an update to the area file syntax, something I was long reluctant to do, because I didn't want to start duct-taping added syntax onto area files.
Now, however, there is already a plan to develop an entirely new syntax for new area files, which will add several long-desired features to provide new levels of flexibility to builders. This could be one of them; I'll remind everyone again to start getting their requests for this kind of thing in early while I'm still in the process of designing the new format.
Over time, the merc guys noticed a trend in their area files; they were entirely out of control. The mob that gave the most experience in a stock mud was the green dragon in Haon Dor, despite being only level 25 or so. Some areas had high level mobs with low level equipment, which defeated the purpose of leveling the equipment to begin with. Hit points for certain mobs, hit dice for certain weapons, values on certain items, levels on certain items, were beyond anything rational. They decided to put a stop to all that.
Since intellectual property rights for area files have always been touchy, they weren't able to just modify all the areas to align them to the game balance of their mud. So, they let the code handle it by simply ignoring most of the gameplay information in the area file and generating it based on level. This instantly improved certain things. Unfortunately, it complicated shops a great deal. Shopkeepers were nearly always loaded at a very high level to prevent them from being killed all the time. This was a sensible precaution to be sure, but suddenly the new code had all the shops' inventories loading at some ridiculously high level...no character could buy anything. Their compromise solution was the sell_low, sell_mid, and sell_high flags, which assigned a level range to a shop's inventory, and fixed the problems of both the items' levels and their prices at the cost of some area flexibility.
In restoring some of that flexibility, we face the same problems they did in terms of not being able to touch many of our existing area files. We can't just simply turn the old features back on, because newer area files have zeroes in the ignored portions of the files. We can't co-opt those sections of the area files and update them, because the older files still have values there. Any code change to add features like this require an update to the area file syntax, something I was long reluctant to do, because I didn't want to start duct-taping added syntax onto area files.
Now, however, there is already a plan to develop an entirely new syntax for new area files, which will add several long-desired features to provide new levels of flexibility to builders. This could be one of them; I'll remind everyone again to start getting their requests for this kind of thing in early while I'm still in the process of designing the new format.
- disaster
- Needs Help
- Posts: 572
- Joined: Sat Jan 18, 2003 12:47 am
- Location: the true north strong and free
- Contact:
*nod stars* ok, pending possible new toys (thank you slart!), i'll ask a few simpler questions i know from being stuck with them time and time again in my inventory that some items have a value of 0, making them unsellable. is there a way that i can create items with a value of 0 instead of a value based on the level of the item? and given the current situation with values, if i wanted to make an item be really prohibitively expensive would the best way to go just be to load it into a shopkeeper's inventory and set a really high sell percentage to artificially increse the cost of the item? also, what are the ranges for sell-low, sell-mid and sell-high? and what, approximately, is a way to know the base (unadjusted by sell/buy percentage) value of an item of a certain type of a certain level, or should i just try to find examples that already exist in the mud and assume that it'll be similar?
"Freedom of speech" is not the same thing as "Freedom from consequences".
Well, I can answer a couple of those questions... iirc, anything with a value of 0 comes about because it repops into a room (instead of into a container in a room, or into a mob's inventory or equipment). Everything else should have some value associated with it via the inherent what-level-it-is-sets-the-value-of-the-object system. Base values for an object (I believe) can be seen with the identify spell, otherwise I'm sure an imm would be willing to get some numbers for you.
-EB
Your local know-it-all.
Your local know-it-all.