Remove dipping wish engines
issueid=2964 05-12-2014 08:21 PM
The Creator
Number of reported issues by adom-admin: 479
Remove dipping wish engines

Wish engines still can be created by dipping.
Issue Details
Issue Number 2964
Project ADOM (Ancient Domains Of Mystery)
Category All
Status Fixed
Priority 5 - Medium
Affected Version ADOM 1.2.0 pre 23
Fixed Version ADOM r48
Milestone (none)
Users able to reproduce bug 1
Users unable to reproduce bug 7
Assigned Users adom-admin
Tags (none)




05-12-2014 08:26 PM
Ancient Member
I don't know about others but I have experimented with dipping rings a *lot* and it's not possible to create a wish engine anymore.
Since dipping 19 rings will now polymorph each separately, you'd need at least 400 stackable rings in the first place and about a tenth of that in potions of exchange to generate a semblance of a wish engine, and one that won't run forever as was the case before.
To put it shortly, you could achieve that around day 500 of in-game time, perhaps.
It's still reasonably possible to get 1-5 RoDS depending on how many potions and rings have been found but wish engine with the method is not possible anymore.

05-12-2014 08:35 PM
Senior Member
I've been unable to reproduce this "bug" even on highly scummed high-level merchant with 2 ring shops/1 potion shop generated and 500+ rings in inventory. It is sustainable, but not infinite - you need ~2000 rings to get to real wish engine. To start to sustain (without even surplus of wishes) - you need to somehow get 200+ rings with 10+ stacks, and even then it starts leaking random gain attrubute/defense/mental stablity/rusty rings, reducing stacks even more.

Relative: my pre-ToEF character have 25 rings total with biggest stack being 3. He would probably get ~50-80 rings near the end of the game, clearing majority of in-game locations. Ring dipping could be used as last attempt to get ring of ice/ring of fire/aols for khelly, but it could not interfere with normal gameplay without lots of grinding or really lucky big ring shop. In one word - why? You need to be really scummed to get something meaningful out of it, and you could easily complete the game if you could start one.

05-12-2014 08:37 PM
Junior Member
I have done it, and can assure you, it's doable in less time.
I think I actually have a savegame somewhere.

For all intents and purposes, it is a wish engine. It allowed me to max my stats and all weapon proficiencies.

It's tedious, but then again, it was also tedious previously.

05-13-2014 02:22 AM
Member
if you really want to remove this wish engine just remove the chance of getting RoDS from potions of exchange.

05-13-2014 03:46 AM
Ancient Member
Quote Originally Posted by Deathwind
if you really want to remove this wish engine just remove the chance of getting RoDS from potions of exchange.
This shouldn't be done just because some people are willing to farm hundreds of rings to start an engine and keep it running. As it works right now, ring dipping will give a non-obsessed player a chance of getting one wish. And that's fine.

05-13-2014 03:53 AM
Ancient Member
Quote Originally Posted by anon123
This shouldn't be done just because some people are willing to farm hundreds of rings to start an engine and keep it running. As it works right now, ring dipping will give a non-obsessed player a chance of getting one wish. And that's fine.
Strongly agreed.

05-13-2014 04:19 AM
Senior Member
Count me as someone else who is strongly opposed to this change. It's a cool little trick that might occasionally garner you a wish if you're lucky. It's not really possible to start a wish engine with a normal character, so the current behavior is fine.

05-13-2014 06:11 AM
Senior Member
I think with the changes how each ring is polymorphed individually really limits making a wish engine - in my recent game I had 2 ring shops, and attempted to make a wish engine with ~300 rings and 6 potions of exchange. After geting 1 or 2 RoDS from all of the PoEX I wished for more and it quickly ran out - what makes the ring wish engine obsolete is the fact that there are numerous rings below D:8 that can have variables (gain attribute, clear mind, defense/protection to a lesser extent) - not to mention the fact that some rings come out normal and other blessed/cursed makes it very expensive in terms of resources to really create a wish engine effectively. By the time you have said resources to invest in a wish engine you don't really need it anyway.

I enjoy the current set up as it gives a chance to maybe get a wish or two from a stack of 19 rings and the already rare potions of exchange.

05-13-2014 06:38 AM
The Creator
Thanks for the feedback. I have added ad additional adjustment that just will prevent you from repeatedly creating wishing items by dipping. Thus a normal player can have the excitement and fun of generating such items once, but wish farmers are out of luck.

05-13-2014 07:34 AM
Senior Member
(NOTE: I started writing this prior to the recent update from adom-admin)

Since the wish engine depends on wishing for more potions of exchange, and each wish only produces three such potions, you simply need to make sure that it will generally take more than three dips to produce one RoDS, and you can ensure that the wish engine is impossible (this doesn't stop someone from wish farming, but it would require a lot of luck for it to continue indefinitely, whereas the wish engine is effective because it doesn't require much luck to keep the cycle going).

I understand that a RoDS has a 4% chance, roughly, on DL:8. If this is accurate, then a dip of 19 rings has a 54% chance of producing at least one RoDS. To me, this is a bit too high as it is. Keep in mind, that's the chance of *at least* one RoDS. The chance of two or more is 17.5%. From this, the expected number of RoDSes works out to be 0.76. If limited to one RoDS per dip, you reduce this to 0.54. This is a step in the right direction. But with three potions of exchange per wish, and a sufficient number of rings to work with in your stockpile, even with a limit of one RoDS per dip, you'd expect 1.62 RoDSes from each wish (it's 2.28 if not limited to one per dip). Thus, the wish engine is still achievable even with that modification. We need this number to go below 1, preferably significantly below 1.

Note that the original change to the dipping system did make it much, much easier to get a RoDS using a pile of rings and a potion of exchange. Dipping a pile of 17 identical rings into a potion of exchange will give you a 50% chance (roughly) of getting at least one RoDS (and about a 14.5% chance of at least two, and about a 3% chance of at least three).

And ironically enough, while the change made it so that you need a lot more rings, it also made it more stable once set up; before the change, from 57 dips, you'd have nearly a 10% chance of not producing any RoDSes, and a successful dip would enable the production of 57 potions of exchange. With the new system, 57 dips would mean only a 6.3x10^-18% chance of not producing any RoDSes, and indeed the chance of at least 19 RoDSes (able to produce 57 potions of exchange) works out to 99.99915% (indeed, you've got a better than 50% chance of producing 43 RoDSes or more).

The obvious solutions are: reduce the chance of a RoDS being generated at all from a dip, reduce the cumulative chance of a RoDS being generated when dipping many rings at once, reduce the number of potions of exchange given from a wish, or make it harder to maintain the number of rings. To me, the second option is the optimal one.

Here's an idea: make it so that RoDSes can only be generated from a dip from, say, the first 1d(1dN) rings from the dipped set (where N is the number of rings). If dipping a single ring, the chance of a RoDS is 4%. If dipping two rings, it's 1d(1d2), so either 1d1 or 1d2, resulting in a chance of at least one RoDS being 4.96% (compared with 7.8% for unmodified version). For 19 rings, the game will check 1d(1d19) of them - so it could be 1d1, 1d2, 1d3, up to 1d19. As a result, the chance of at least one RoDS with 19 rings works out to be just under 19%, with an expected number of RoDSes of 0.22 - meaning, you'd expect to get one RoDS every 4-5 dips, rather than more than two every 3 dips before the change.

The algorithm should be pretty straightforward - on dip, roll V=1dN. Then, roll M=1dV. This is the number of rings that will include RoDS in the set of possible rings they could become. For the first M rings, exchange according to the current algorithm. After M rings, exchange without permitting RoDS (either by re-rolling if RoDS is chosen, replacing RoDS with Brass Ring, or using a modified algorithm that doesn't try to pick RoDS in the first place).

05-13-2014 08:47 AM
Senior Member
Quote Originally Posted by Aielyn
Here's an idea: make it so that RoDSes can only be generated from a dip from, say, the first 1d(1dN) rings from the dipped set (where N is the number of rings). If dipping a single ring, the chance of a RoDS is 4%. If dipping two rings, it's 1d(1d2), so either 1d1 or 1d2, resulting in a chance of at least one RoDS being 4.96% (compared with 7.8% for unmodified version). For 19 rings, the game will check 1d(1d19) of them - so it could be 1d1, 1d2, 1d3, up to 1d19. As a result, the chance of at least one RoDS with 19 rings works out to be just under 19%, with an expected number of RoDSes of 0.22 - meaning, you'd expect to get one RoDS every 4-5 dips, rather than more than two every 3 dips before the change.
Perfect solution, imho.

05-13-2014 08:51 AM
Senior Member
Once is plenty. I think I've managed to generate a RoDS by dipping only once ever, and an AoLS by dipping never!

How do people have the patience to gather so many rings? Even if I find a ring shop, by the time I have to make the decision whether or not to save Khelevaster, I might have a stack of 5 or 6. I think once I dipped a stack of 9. Then when I dip, I'm still excited if I generate a ring of slaying or ring of ice rather than a RoDS.

So I don't really understand the urgency some people feel for controlling this exploit. However, I think it would be interesting if the Wish spell were castable without reaching L50--I feel that a wizard with some luck and a high mana stat should be able to cast it by level 40, when there still might be something that the PC desperately needs.

e.g. If I have Mana 30 + staff of the magi + potion of boost mana + scrolls of power + dark/silvernight and/or "skin tingle" room -- Wish ought to be castable without killing myself. That PC could probably consume something like 1000 points between PP and HP and survive.

05-13-2014 09:14 AM
Senior Member
Quote Originally Posted by Aielyn
I understand that a RoDS has a 4% chance, roughly, on DL:8. If this is accurate, then a dip of 19 rings has a 54% chance of producing at least one RoDS. To me, this is a bit too high
The chances of getting a stack of 19 rings outside of gremlin bombing is pretty much zero. I recently had a very slow run through pre22 (over 100,000 turns, with no spamming actions or waiting on the spot), including pickpocketing EVERY humanoid opponent that I came across (even those in vaults and tension rooms), with a thief. The largest stack of rings I obtained was a stack of 6. Your post has 2 major weaknesses, and this is the main one - collecting a stack of 19 rings isn't trivial, it's FAR harder than, say, closing a couple of chaos gates.

ironically enough, while the change made it so that you need a lot more rings, it also made it more stable once set up
I doubt it's stable when you think it is, though. i can see what you're getting at, but as pointed out earlier, the current wish engines 'bleed' rings of gain attributes (among others), so even when you have your ~300 rings all in nice DLVL:8 stacks of 19, you'll end up, after a few iterations, with a load of unstacked rings of +1 dexterity or +2 strength or +1 toughness etc.
If you collect enough rings to have THOSE stacked to 19 (probably over 5000 rings at this point), the new wish engine finally becomes stable.

The problem with a wish engine, before, was that any character would be a fool not to try dipping a stack of 5 rings in a potion of exchange. If it rolled a RoDS, you had about a 75% chance of starting a wish engine (or enough wishes to win the game if you didn't want to try a wish engine). If it didn't, you got basically nothing. What i'm saying is, wish engines kinda started themselves without any real time invested by the player!
In newer versions, a typical player has a decent chance of getting a wish (normally about 20%, so nowhere near the chance you get from darkforge pool sipping, but less effort, too), but no real chance of getting a wish engine or enough wishes to break the game.

I really think players that are suggesting changes due to the current 'possibility' of wish engines need to actually go out there and make a stable wish engine in the current version. Only then can you appreciate how much more work it is than killing Andor Drakon.

05-13-2014 10:30 AM
Ancient Member
The chance to get 10 stackable rings in one game is slim without ring shops or some extreme luck.
I'm playing a mindcrafter right now, cleared everything on the surface except rift/library and robbed the casino.
That put me on a position with 5 potions of exchange and ~70 random rings, the biggest stack being that of 6.
After dipping everything, I got one RoDS. I think this is fair and should not be changed.
Getting a stack of 19 rings in the first place is quite a feat and from experience I know you don't always get a RoDS when you dip that.
Another time you might be lucky and get 4 RoDS, it happened to me once but I don't consider this an exploit.
ADoM relies heavily on luck and randomity; it would be a shame to change that regarding RoDS just because some people scummed more of those rings than they needed.
During the course of a normal gameplay (and I'm a completionist that feels the "itch" when there is one wall tile unexplored in a dungeon and single unpicked item) you have a chance to get 2-3 RoDS by polymorphing with potions of exchange, that's it.
I don't think this is exploitable; it feels right.

05-13-2014 11:31 AM
Ancient Member
Quote Originally Posted by adom-admin
Thanks for the feedback. I have added ad additional adjustment that just will prevent you from repeatedly creating wishing items by dipping. Thus a normal player can have the excitement and fun of generating such items once, but wish farmers are out of luck.
Sounds good to me.

05-13-2014 12:33 PM
Senior Member
Quote Originally Posted by adom-admin
Thanks for the feedback. I have added ad additional adjustment that just will prevent you from repeatedly creating wishing items by dipping. Thus a normal player can have the excitement and fun of generating such items once, but wish farmers are out of luck.
Is there any chance you could ellaborate a little?
If it's that a stack of rings can't be dipped once it's already been dipped, that sounds hard to implement, but I like it. If, on the other hand, it's that rings of djinni summoning have lower chances to morph after the first potion of exchange, then that's another thing entirely...

05-13-2014 02:40 PM
Ancient Member
Quote Originally Posted by sylph
The chances of getting a stack of 19 rings outside of gremlin bombing is pretty much zero. I recently had a very slow run through pre22 (over 100,000 turns, with no spamming actions or waiting on the spot), including pickpocketing EVERY humanoid opponent that I came across (even those in vaults and tension rooms), with a thief. The largest stack of rings I obtained was a stack of 6. Your post has 2 major weaknesses, and this is the main one - collecting a stack of 19 rings isn't trivial, it's FAR harder than, say, closing a couple of chaos gates.
Strongly agree with this as well - a stack of 19 rings - or anywhere close - is freaking hard to get. Now that they role randomly for each ring - it's even harder to keep a large stack of rings. (I haven't even tried dipping and I can tell you this!). I don't think there needs to be any further measures to prevent a ring wish engine because the current state of affairs does a really good job.

07-13-2014 05:45 AM
Junior Member
I prefer the mentioned solution of generating fewer potions of exchange per wish. I relish the thought of getting multiple RoDS, if I manage to get a big enough pile of rings for dipping, but I don't think anyone would ever be wishing for potions of exchange unless they were trying to sustain a wish engine. Maybe also limit the number of potions of water per wish, for the same reason. I would honestly say that I think the change to polymorphing individually is enough, but I want to keep the hope that maybe, just maybe, I'll get more than one RoDS and have a REALLY good day.
tl;dr Make PoX 1 per wish

07-13-2014 06:40 PM
Ancient Member
There's no need to touch this further. As long as there's a 0.001% chance of still being able to start wish engines, there will be someone attempting to do it, to prove it's possible or just for fun. This doesn't mean nerfs should continue until brass rings are all you can get.

The single change done so far (transforming PoEX-dipped items individually) has already stopped all non-obsessed people from starting wish engines.

07-13-2014 08:56 PM
Ancient Member
I'm an obsessed wish engine enthusiast and I don't see any feasible way of pulling this off after the change of transforming poex polymorphed items individually.
It was already quite a feat before but after that, you pretty much have to become an archmage first using spellbook of wish and then generate ~500 rings just to get some portable wishes for a later time when you want to avoid bookcasting due to -10 random attribute penalty.
Wish engines are not possible at the moment or at least I can't see any reasonable way of achieving such a feat without mentioned spellbook of wish casting and a ton of RL time.
That route has a price of its own anyway, one that *very* few people are willing to pay over the course of regular games, and I don't blame them.

+ Reply