Feature - Rejected Provide a auto-checklist of 1x/ascension things

QVamp

Member
Would it be possible to create something like the Daily Deeds or Session Results that would just provide an auto-updated checklist of things that can only be done once per session? It is hard to keep track of which ones have been done, and I often end up trying to redo them.

A partial list of things that would be nice to track include:
- Completing Dis
- Completing Elves Shield
- Getting Thinknerd t-shirt and toy
- Completing Sea Monkees
- Getting Secret of the Future
- Getting silver shrimp fork
- Getting eternal car battery
- Slaying Ratsworth
- Dwarvish War item

I know some of these are related to quests, but even then, it requires me to pull up completed quests and try to find them among all the others.

There may be others that people would like. I tried to look through http://kol.coldfront.net/thekolwiki/index.php/Once_per_ascension_items and choose ones I thought made sense, but maybe there are others people would also like.
 

Theraze

Active member
Wouldn't this best be served by a relay script? Most of these have tracking preferences which the relay script could pull up... I know that Guide is a very popular such relay script already.
 

Bale

Minion
Ah, that was under info scripts. Got it. I'll try this out.

The headers can be clicked on to change sorting, so the next time you have trouble finding something, you can click on the "Script Name" header and find it without recourse to category.

PS. Guide is one of the most awesome scripts I have ever used.
 

ereinion

Member
I cobbled together this back in the day, I'm not sure if it covers anything Guide doesn't though, and I am sure that there aare quite a few things guide covers which this script doesn't :) I guess I should update it one of these days....

Code:
void main() {
    string campground = visit_url("campground.php");
    string dwelling = visit_url("campground.php?action=inspectdwelling");
    string quest_log_main = visit_url("questlog.php?which=2");
    string quest_log_accomplishment = visit_url("questlog.php?which=3");
    boolean check; string current_karma;
    
    print("############################################", "blue");
    print("CAMPGROUND:","blue");
    print("############################################", "blue");
    check = campground.contains_text("pagoda.gif");
    print("You " + (check? "have a pagoda." : "don't have a pagoda"), check? "blue" : "red"); 
    check = dwelling.contains_text("maid2.gif") || dwelling.contains_text("maid.gif");
    print(!check? "You don't have a meat maid!" : (dwelling.contains_text("maid2.gif")? "You have a clockwork maid." : "You have a meat maid."), check? "blue" : "red");
    print("############################################", "blue");
    print("QUESTS AND STUFF:","blue");
    print("############################################", "blue");
    print("You have " + (have_familiar($familiar[El Vibrato Megadrone])? "" : "not ") + "acquired an El Vibrato Megadrone.",have_familiar($familiar[El Vibrato Megadrone])? "blue" : "red");
    check = quest_log_main.contains_text("Despite being aided by");
    print("You have " + (check? "" : "not ") + "defeated your nemesis.", check? "blue" : "red");
    check = quest_log_main.contains_text("You've found Azazel's unicorn, his loll");
    print("You have " + (check? "" : "not " ) + "gotten your organ of steel.", check? "blue" : "red");
    check = quest_log_main.contains_text("You've used the power of all six elements");
    print("You have " + (check? "" : "not ") + "found the secret from the future.", check? "blue" : "red");
    check = quest_log_main.contains_text("You discovered and dug up the Pork Elves' rew");
    print("You have " + (check? "finished the Hyboria quest." : (quest_log_main.contains_text("Having defeated the High Priest of Ki'rhuss")? "not dug up your pork elf piece." : "not finished the Hyboria quest.")), check? "blue" : "red");
    check = quest_log_main.contains_text("You remember creating an unstoppable supervirus");
    print("You have " + (check? "" : "not ") + " created a supervirus.", check? "blue" : "red");
    check = quest_log_main.contains_text("You've successfully delivered a package, and b");
    print("You have " + (check? "" : "not " ) + "obtained a piece of the Dwarvish War Uniform.", check? "blue" : "red");
    check = quest_log_main.contains_text("Congratulations! You've saved a few of the elves");
    print("You have " + (check? "" : "not ") + "repaired the elves shield generator.", check? "blue" : "red");
    check = quest_log_accomplishment.contains_text("You have summoned the UB3r 31337 HaX0R.");
    print("You have " + (check? "" : "not ") + "summoned the UB3r 31337 HaX0R.", check? "blue" : "red");
    check = quest_log_main.contains_text("You helped the Old Man retrieve his boot from The Sea");
    print("You have " + (check? "" : "not ") + "retrieved the Old Man's boot from the sea.", check? "blue" : "red");
    /*check = quest_log_accomplishment.contains_text("");
    print((check? : ), check? "blue" : "red");*/
    
    matcher karma_check = create_matcher( "current Karmic balance is (\\d+)\." , quest_log_accomplishment );    
    if( karma_check.find() ) {
        current_karma = karma_check.group( 1 );
    } else {
        print("Seems you don't have any karma?", "red");
        exit;
    }
    print("############################################", "blue");
    print("KARMA BALANCE:" + current_karma ,"blue");
    print("############################################", "blue");
    
}
 

Bale

Minion
Guide doesn't cover everything on his list and yours does cover a few things that Guide laks, such as the pork elves and secret from the future.

KoLmafia doesn't even check the following
- Getting Thinknerd t-shirt and toy
- Getting silver shrimp fork
- Getting eternal car battery


Those would require a new mafia feature.
 

lostcalpolydude

Developer
Staff member
I don't see this ever being a feature of mafia, since it's a neverending thing to maintain and there are so many things that may or may not belong on the list.
 

QVamp

Member
wow... while Guide does have a lot of things, it seems to be more focused on 'here are the billion things you -could- do (and it is NOT happy when you start it in aftercore). If that's where you all feel the request should go, I can ask for these additions of that script owner instead.

lostcalpolydude... I get what you're saying, but that's true of every part of the game. The Daily Deeds themselves is a perfect example of this - I'm sure it is not complete by every single person's standards, and there are always requests to add things to it.

Bale - I'm not sure I understand. Should I put in a request to have those things tracked? And are fighting 'The Thing with No Name' and repairing the Shield Generator already tracked?

erinion - that looks like a good place to start for me. I like the guide, but may need something of my own too, if this isn't a candidate for mafia.
 

lostcalpolydude

Developer
Staff member
lostcalpolydude... I get what you're saying, but that's true of every part of the game. The Daily Deeds themselves is a perfect example of this - I'm sure it is not complete by every single person's standards, and there are always requests to add things to it.

And the usual response is that people can add things on their own, thanks to the GUI that roippi set up for that. If adding your own stuff was possible from the start, some of that stuff wouldn't be there by default probably.
 

fronobulax

Developer
Staff member
And the usual response is that people can add things on their own, thanks to the GUI that roippi set up for that. If adding your own stuff was possible from the start, some of that stuff wouldn't be there by default probably.

To add to this there has been some discussions of adding the ability to add user specified actions to the Ascension Page but it has been more work than any of the devs wanted to do. While Daily Deeds sets a precedent, I'm not sure that would be the precedent chosen if it had to be redone now.

If I personally wanted the capability I would write a script that just checked conditions and told me what had not been done. I would probably call it as part of my post-run login or call it manually when I wanted to know. I would then submit a FR so that mafia would track things that I couldn't figure out how to detect they were done.
 

Bale

Minion
Bale - I'm not sure I understand. Should I put in a request to have those things tracked? And are fighting 'The Thing with No Name' and repairing the Shield Generator already tracked?

I'm only saying that Guide couldn't track those, even if Ezandora wanted. I'm not saying he would even if it could.

I believe 'The Thing with No Name' is not tracked. The Suburbs of Dis quest is not listed in the quest log, although that does not make it impossible for mafia to track.

The Shield Generator is tracked by questF04Elves.
 

QVamp

Member
So, it sounds like the best plan then might be to use Guide as a way to learn how to build something similar to what I'm looking for then. Then add it as a relay script so that it is available via that drop-down menu. Correct?

Sorry for the stupid questions here, is it possible to write an ash script that keeps track of specific events that occurred during an ascension? And have it automatically reset when ascension occurs? Or would I need abilities added into mafia to do that?
 

fronobulax

Developer
Staff member
So, it sounds like the best plan then might be to use Guide as a way to learn how to build something similar to what I'm looking for then. Then add it as a relay script so that it is available via that drop-down menu. Correct?

Sorry for the stupid questions here, is it possible to write an ash script that keeps track of specific events that occurred during an ascension? And have it automatically reset when ascension occurs? Or would I need abilities added into mafia to do that?

Yes, although I might try write a non-relay script first to test and debug and then make a relay script, but that is from my jar of neuroses.

It depends upon the events you want to track and whether you are willing to have a non-robust solution that breaks if any adventures are burned outside of mafia. You may need a pre or post adventure script to track everything and a post-ascension script to clear or reset everything.
 

QVamp

Member
Got it... it looks like the basic things will be pretty easy. I'll submit requests to get additional states added in mafia, and can look at adding all of the scripts mentioned if they aren't. Thanks everyone.
 
Top