Page 2 of 4 FirstFirst 1 2 3 4 LastLast
Results 11 to 20 of 38

Thread: Veracity's Gingerbread City.ash

  1. #11
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,317

    Default

    Discovery: You can get the Violet Fog in the Gingerbread City. It takes a turn but does not advance time in the city.

    KoLmafia automated it and got me a munchies pill, but 8 turns later, the script prepared for Noon and got a fight, and then got a choice it was not expecting and aborted.

    I'll have to figure out how to deal with that, somehow. I wonder if I counted that in _gingerbreadCityTurns? Answer: yes.

    _gingerbreadCityTurns=31

    I'll have to rethink how I count those, too. Probably increment only for GC monsters and GC choices.

    And I'd like to figure out how to make the script continue from where it left off if I restart it after stopping it, which will depend on that count being correct.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  2. #12
    Senior Member
    Join Date
    Dec 2008
    Posts
    545

    Default

    If it's any help, my preliminary ginger-farming script looks like this:

    Code:
    int get_price(item item_to_check, float acceptable_age) {
        return ((historical_age(item_to_check) <= acceptable_age)? historical_price(item_to_check) : mall_price(item_to_check));
    }
    
    void ginger_outfit() {
        item it;
        familiar fam = $familiar[Chocolate Lab];
        buffer maximizer_string;
        slot[item] ginger_drop_items;
        
        ginger_drop_items[$item[sour ball and chain]]    =    $slot[acc1];
        ginger_drop_items[$item[candy dog collar]]        =    $slot[familiar];
        ginger_drop_items[$item[sprinkle-begging cup]]    =    $slot[off-hand];
        ginger_drop_items[$item[gingerbread hoodie]]    =    $slot[shirt];
        
        maximizer_string.append("sprinkle drops, 0.1 familiar weight, 0.01 mp regen, -tie");
        
        if (!have_familiar(fam)) {
            it = fam.hatchling;
            if (get_price(it, 0.5) <= 1000000) {
                if (buy (1, it, 1000000) > 0) {
                    use (1, it);
                }
            }
        }
        use_familiar(fam);
        
        foreach it in ginger_drop_items {
            if (available_amount(it) <= 0 && is_tradeable(it)) {
                if (get_price(it, 0.5) <= 200000) {
                    buy (1, it, 200000);
                }
            }
            if (can_equip(it)) {
                if (equip(ginger_drop_items[it], it)) {
                    maximizer_string.append(", -" + to_string(ginger_drop_items[it]));
                }
            }
        }
        maximize(maximizer_string, false);
    }
    
    void main() {
        int i;
        
        ginger_outfit();
        
        while (to_int(get_property("_gingerbreadCityTurns")) < 19 && i < 40) {
            adv1($location[Gingerbread Upscale Retail District], -1, "");
            i = i + 1;
        }
        while (to_int(get_property("_gingerbreadCityTurns")) < 20 && i < 50) {
            adv1($location[Gingerbread Civic Center], -1, "");
            i = i + 1;
        }
        while (to_int(get_property("_gingerbreadCityTurns")) < 30 && i < 80) {
            adv1($location[Gingerbread Upscale Retail District], -1, "");
            i = i + 1;
        }
    }
    However, I ran into the same issue as you with turn-free adventures increasing the counter, so I abondoned the project in favor of ascending. It's all very basic, so I don't know if it's actually of any use, but I figured it wouldn't hurt to share it.

  3. #13
    Senior Member AlbinoRhino's Avatar
    Join Date
    May 2008
    Posts
    772

    Default

    I'll have to rethink how I count those, too. Probably increment only for GC monsters and GC choices.
    Originally Posted by Veracity View Post
    The last I checked, free turtle drops DO advance the city counter, while free weiner dogs DO NOT advance it. I happened to be a Tamer when I was writing a counter for this (long before you added _gingerbreadCityTurns).

  4. #14

    Default

    And here comes Pooter the Ignorant again. I have the Gingerbread City script installed and configured. I also have it's usage set to "true" in the Meat Farming script. I own the City and can adventure in it manually. When I run Gingerbread City in the cli, nothing happens. Nor will the Meat Farming script adventure there. There are no entries regarding it added to the ascension log. Mafia doesn't hang - the graphical CLI simply repeats my "run Gingerbread City" command. Any hints on how to debug this would be appreciated.

  5. #15
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,317

    Default

    Look at the settings in the Gingerbread City script

    Chose a place to adventure in the morning
    Chose a thing to do at Noon
    Chose a place to adventure in the afternoon
    Choose a thing to do at Midnight
    Chose a place to adventure in the night

    Run the configureVGC.ash script for help.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  6. #16

    Default

    Dug around in my prefs and found two typos: gingerbreadCityAvail=able\=true which gave an invalid entry in prefref Gingerbread City, and VGCNoon=candy (missing period). Quit mafia, corrected the errors, and now when I invoke the script it tells me that I've already adventured there, which I did. I'll fully test it after RO, but I'm pretty sure these typos caused the problem.

  7. #17
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,317

    Default

    Yeah. I will, very soon, make this script able to pick up from where you left off, having previously adventured. KoLmafia has all the settings we need to detect how many turns you have spent there, so, how hard can it be to just pick up after that many turns?

    Well, it's a "simple matter of coding" - but I haven't done that coding yet. Soon.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  8. #18
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,317

    Default

    The last I checked, free turtle drops DO advance the city counter, while free weiner dogs DO NOT advance it. I happened to be a Tamer when I was writing a counter for this (long before you added _gingerbreadCityTurns).
    Originally Posted by AlbinoRhino View Post
    For some reason, I just saw this.

    I could have sworn KoL made Turtle Tamer choices not happen in the Gingerbread city. Perhaps I am hallucinating.

    If what you said is true, that is completely ridiculous. I vastly prefer to become an AT rather than a TT after an Avatar run, but after I start my one and only Noob run, in a week or so, perhaps I will have to end up as a TT at the end, just so I can test this kind of thing.

    #crap.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  9. #19
    Senior Member
    Join Date
    Feb 2010
    Posts
    964

    Default

    I seem to recall that things were in flux for a while. The Turtle Tamer choice may no longer increase the count.

  10. #20
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,317

    Default

    I'm planning on adding the concept of a "quest".

    You set VGC.Noon and VGC.Midnight to your "preferred" value. For me, probably, "robbery" and "high-end ginger wine", respectively.

    You then select a "quest". This will look at various tracking settings that KoLmafia maintains as well as the contents of your inventory to determine which day you are on - or if you are finished - and will override one of both of Noon and Midnight to advance you in the "quest".

    I envision 3 possible "quests". Here are my notes on the topic:

    Code:
    // Allow configuration of a "quest", where the Noon and/or Midnight
    // choices change from day to day and your progress can be determined
    // from settings and/or inventory. Based on your progress, one or both
    // choices will override your non-quest settings.
    //
    // "blackmail" quest (7 days):
    //  1-3	(Midnight x 3) "Muscle" -> gingerMuscleChoice == 3 -> gingerSubwayLineUnlocked
    //    4	(Midnight) "fruit-leather negatives" -> gain fruit-leather negatives
    //    5	(Noon) "photo counter" -> lose fruit-leather negatives & gingerNegativesDropped
    //    6	(Noon) "photo counter" -> gain gingerbread blackmail photos
    //    7	(Noon) "briefcase full of sprinkles" -> gain briefcase full of sprinkles & lose gingerbread blackmail photos & gingerBlackmailAccomplished
    //
    // "raygun" quest (10 days):
    //  1-3	(Midnight x 3) "Mysticality" -> gingerLawChoice == 3
    //    4	(Noon) "teethpick" -> gain teethpick
    // 4-10	(Midnight x 7) "dig" -> gingerDigCount == 7 -> gain sugar raygun & lose teethpick
    //
    // "blackmail+raygun" (14 days):
    //  1-3	(Midnight x 3) "Muscle" -> gingerMuscleChoice == 3 -> gingerSubwayLineUnlocked
    //    4	(Midnight) "fruit-leather negatives" -> gain fruit-leather negatives
    //    5	(Noon) "photo counter" -> lose fruit-leather negatives & gingerNegativesDropped
    //    5	(Midnight) "Mysticality" -> gingerLawChoice == 1
    //    6	(Noon) "photo counter" -> gain gingerbread blackmail photos
    //    6	(Midnight) "Mysticality" -> gingerLawChoice == 2
    //    7	(Noon) "briefcase full of sprinkles" -> gain briefcase full of sprinkles & lose gingerbread blackmail photos & gingerBlackmailAccomplished
    //    7	(Midnight) "Mysticality" -> gingerLawChoice == 3
    //    8	(Noon) "teethpick" -> gain teethpick
    // 8-14	(Midnight x 7) "dig" -> gingerDigCount == 7 -> gain sugar raygun & lose teethpick
    For the single quests - blackmail and raygun - we can simply look at the appropriate settings and decide which day we are on.
    For the combined quest - blackmail+raygun - we can probably do the same, but it might be a little trickier to handle the three overlapping says, if you have made some progress on the raygun quest previously, for example.

    Also, we don't (currently) reset the two settings it looks at - gingerLawChoice and gingerDigCount - on ascension, as I don't think it's been confirmed that you can actually run this quest once per ascension - although it would be stupid not to be able to.

    I have ascended multiple times since getting my raygun and I just manually reset those to settings to 0. I will attempt the quest and see if, in fact, the teethpick becomes available again on day 4.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •