Feature - Rejected Equip Ring of Detect Boring Doors while running Daily Dungeon Daily Deed

Saklad5

Member
Unlike other Daily Dungeon items, the Ring of Detect Boring Doors must be equipped before you reach rooms with a chest. Since the Daily Deed to run through the dungeon merely runs
Code:
adv * Daily Dungeon
, it won’t do that for you.

Since the chests always occur at specific rooms, and the current room of the Daily Dungeon is tracked, I propose the following sequence:

  1. Check if Ring of Detect Boring Doors is in inventory. If not, run
    Code:
    adv * Daily Dungeon
  2. Check if the choice adventure setting for either 690 or 691 is set to 2. If not, run
    Code:
    adv * Daily Dungeon
    .
  3. If 690 is set to 2, adventure until you are about to trigger it. Then equip the Ring of Detect Boring Doors, adventure once, and revert to the previous accessory. Repeat for 691.
  4. If the current room is past either of those choice adventures,
    Code:
    adv * Daily Dungeon
    .


I could code this myself fairly easily by just changing the daily deed to run an ASH script, and I plan to do so for my own instance, but that obviously is not acceptable as a patch. If anyone has any suggestions on how best to implement that logic in a clean manner, do tell.
 
Doesn't this neglect to check for wandering monsters? Fighting a wandering monster with that ring equipped causes you to be sad, or something.

I would have never imagined the Daily Dungeon being a Daily Deed but here we are.
 

ckb

Minion
Staff member
I would have never imagined the Daily Dungeon being a Daily Deed but here we are.

Maybe the Daily Deed button should do this:
Code:
print("Go complete the Daily Dungeon (and don't forget to equip the Ring of Detect Boring Doors");
 

fronobulax

Developer
Staff member
There has been a button to run the Dungeon as a Daily Deed for quite some time.

There is precedent for rejecting this because [a) it requires making choices for users OR b) providing configuration] AND [c) the functionality is easily provided by writing a script and making a Daily Deed button to execute the script.]

I'd be interested in hearing reasons why a) the existing deed is wrong for the entire user community which includes people with no poles, rings or cubes OR b) why a native implementation is better than a script.
 

lostcalpolydude

Developer
Staff member
I would be more inclined to remove the button completely and replace it with a text reminder to do the Daily Dungeon (which would go away when it's done, I assume that already happens currently?). Or just leave it as is.
 

Saklad5

Member
The reason this should be implemented is that doing the Daily Dungeon manually appears to automatically prompt you to equip the Ring of Detect Boring Doors already. The expected behavior is that using the Daily Deed to do that would automatically equip it, or abort in favor of the prompt. If you don’t want it to do so, I recommend removing the relay prompt entirely to avoid confusion.

The implementation I suggested should not require any additional configuration or prompts, as it only checks for existing configurations and conditions. It also avoids unwanted side-effects as much as possible. Since the user would have had to configure the choice adventures to use the Ring of Detect Boring Doors, it is fairly clear that they want to use it. Again, this change would only affect users who have the Ring of Detect Boring Doors and at least one of those two choice adventures set accordingly. For everyone else, it would literally run the same thing it does now.
 

Darzil

Developer
My gut feeling is it'll happen, one day, by someone. Don't expect it to happen fast though, there are a bunch of great ideas that have niche use that could be implemented but just require time.

These things seem simple, but there are edge cases that'll get someone else annoyed. For example, do you make sure you don't unequip something that drops your max HP or max MP, do you make sure you don't unequip Juju Mojo mask?
 

Saklad5

Member
In the interim, while the conditions I outlined are met, could you have it abort as if a counter expired? Or just remove the aforementioned relay prompt, since it is the reason the current behavior is unexpected.
 

Darzil

Developer
In the interim, while the conditions I outlined are met, could you have it abort as if a counter expired? Or just remove the aforementioned relay prompt, since it is the reason the current behavior is unexpected.

Really? Remove a feature for relay players if you don’t get one for your easy button?

You will now never get this feature from me.
 

Darzil

Developer
Or even better, redesign Daily Deeds to make them reference ASH scripts instead of being hardcoded.

You clan do that now with a custom daily deed. It is a trivial script, just maximiser call with whatever plus equip ring of detect boring doors, set choice adventures and run adventures in the location til you get the token.

That way it works as you want. What you maximise as depends on your resources level and skills, but is probably consistent for the way you play.
 

Darzil

Developer
Removing it is quite tempting as it is counterintuitive to have a deed button that spends turns. But it has been there so long and people hate removing a feature they use.
 

Saklad5

Member
I use the relay myself. The reason I am asking for the prompt to be removed is that it leads to the assumption that it would also appear when using the Daily Deed. It does more harm than good, in other words.
 

Saklad5

Member
My initial suggestion is pretty much code already. As I said then, the only reason I haven’t submitted a patch is that I am not sure what the appropriate style of implementation is.

Should I embed the code as a one-liner inside DailyDeedsPanel.java (which I doubt will be particularly readable), or should I add an ASH script and reference it? Some of the other Daily Deeds use an undocumented “Special” type. Should I use that?

Any specific suggestions about edge cases would be welcome.
 

Darzil

Developer
So, I have a custom daily deed (code stolen from elsewhere probably) that I can use to run Ezandora's Detective script:

$CUSTOM|Command|Solve cases|_detectiveCasesCompleted|call Detective Solver.ash|3|Solve detective cases|You have solved todays cases

So, replace Solve cases with your button caption, _detectiveCasesCompleted with dailyDungeonDone, Detective Solver.ash with your new scripts name, 3 with 1, Solve detective cases with your help test, and You have solved todays cases with your completed text.
 

Saklad5

Member
I know that would work, my question is whether that would be acceptable for a patch. I already have multiple custom Daily Deeds like that.
 
Top