Andreas Vogl wrote: > Thats the point why i want potions: I don't want a player which have armor, > rings and > amulets on, giving him 99% prot in fire and cold and all the stuff. Remember > a char can wear&wield > at the moment more than 13 items at the same time (yeah, count it!). You > will come in some problems > to balance it without a cap. I agree this can be a problem. Even if you put proposed caps for items at some low value like 30, 4 items that have that level of protections gives you 75% protection. > > I want a value X you can maximal get with items, which gives you enough > protection to avoid > killing by fire for example of a red dragon, perhaps the abillity (if you > are fast) to kill the > critter with a good weapon, but you should nearly dead then. To boost your > res to nearly immunity, you > never should be able to do this permanent with armors or other tricks. > Also, when he has about > 80%-90% natural in all (that means you can cut through a row of red dragons > all times you want), > i will call the char and the game then broken. We dont want this kind of > super chars. Agree. But I think that can also be a problem in the balancing of the items and not implementation. At one point, characters could basically get all stats up to 30 with the weapon improvement code. End result was to reduce the potency of that a bit The problem here is that there are really only 5-6 attacktypes you really need to protect yourself again (fire, cold, electricity, physical). So that protection of fear is really irrelevant. > ** The protection spells in the game are really useless at this point **! > I never use them, because when i get them i always have items which do the > same. > So, simply make potions and spells cap indepentend and you got the non > permanent style > we all want. I mostly agree that the protection spells are useless. However, I am getting a little fearful of making this protection code too complicated. > > Real caps are shown to the player too and are simple to include. > If you have a armor of fire res +30% and a amulet of 30% you should not get > automatically > 60% fire res. Every point you got nearer the cap, you need more points to > get closer. > If yur caps 60, you got 40 points for example. If your caps are 70, you got > 44% from both or so. > And if you caps are 20, you got 19. The armor code sort of does this. If you have two 30% items, you armor is 51. One question is where do these caps come from? I would think that one way this could be done is instead of using the 100 value in the armor code, you use this cap. I just tried this out on my demo program, assuming a cap of 60, and with 1 item, your protection is 30, two it is 45, three is 52, 56,58, 59, 59. One effect of the way it is done is that if you have an item above the cap, your ability is basically the cap (actually one side effect is that if you only have 1 item above the cap, you get full value, and each additional protection reduces you towards the cap, but that should be easy to fix). At least from the fix_player perspective, to implement this would require two arrays within the function, and in one we fill in the values are limited by the cap, and the other has the spell effects. Then afterwards, we apply the spell effects to the item (capped) value, for a higher resistance that can go beyond the cap. Is that what you are describing? > Also, all items automatically fits in the system, no one can give you to > much. If they do, they get caped. > Calculate also the numbers of items with a special res, so you get more res > >from 5 items with all 10% fire res > as from wear one item with 50%. This will cap the "super items". Unfortunately, the way the calculations work, you actually get the opposite effect. One item with 50% will give you more than 5 items with 10%. It becomes more difficult if you want to cap values/make it harder to get near the cap and at the same time reward the player for having multiple items of protection. And I'm not sure a good way to implement that without getting too complicated or too easy for players to bypass. I mean I guess you could take the average value of all the protections (on a per item basis), and increase it by some point, but with that method, then a set of items that are like 50, 1, 1, 1, 1 would appear the same as 11,11,11,11,11. I think the real solution is to prevent the super items from getting created in the first place. If map designers put unbalancing items in the maps, I really don't want to try to have the code prevent that. Simply put, that map should be fixed. And some of that is that if a map maker really wants to put unbalancing items in, they will always be able to figure out how to get beyond code restrictions. Now it may be worth while to set strict guidelines on what acceptable items are (for example, can not provide more than 120% total protection, and no one protection can be more than 30%).