Page 50 of 57 FirstFirst ... 40 48 49 50 51 52 ... LastLast
Results 491 to 500 of 568

Thread: My personal Meat farming script

  1. #491
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    Revision 227 adds support for the Boxing Daycare

    boolean boxing_daycare = define_property( "VMF.UseBoxingDaycare", "boolean", "true" ).to_boolean();

    It's optional, but defaults to true.

    Having a Boxing Daydream can be done once a day to receive an item. There is no reason to defer doing that, so we'll always do that.

    // Boxing Daycare Spa - get a buff once per day
    //
    // Muddled (muscle) Muscle Percent: +200, Monster Level: +15
    // Ten out of Ten (moxie) Moxie Percent: +200, Initiative: +50
    // Uncucumbered (mysticality) Mysticality Percent: +200, Item Drop: +25
    // Flagrantly Fragrant (regen) Maximum HP: +100, Maximum MP: +50, Damage Reduction: 25, MP Regen Min: 5, MP Regen Max: 10, HP Regen Min: 10, HP Regen Max: 20

    string boxing_daycare_buff = define_property( "VMF.BoxingDaycareBuff", "string", "mysticality" );

    You can get a buff once a day. You can specify it either by buff name or by keyword. The default is "mysticality" - "Uncucumbered" - which gives you an item drop bonus

    // Number of times to scavenge for equipment. 1st is free, so that's the default
    int boxing_daycare_scavenge = define_property( "VMF.BoxingDaycareScavenge", "int", "1" ).to_int();

    // Number of times to recruit toddlers. Cost increases geometrically: 100, 1000, 10,000, ...
    int boxing_daycare_recruit = define_property( "VMF.BoxingDaycareRecruit", "int", "0" ).to_int();

    // Sparring takes a turn. It gives you a small amount of stats. The first time also gives PVP fights.
    // If you want fights, it is reasonable to spar once. Otherwise, don't spar
    boolean boxing_daycare_spar = define_property( "VMF.BoxingDaycareSpar", "boolean", "false" ).to_boolean();

    Scavenging for equipment is free, the first time each day, so we'll do that by default.

    Recruiting toddlers costs an increasing amount of Meat each time. If you want to improve the effectiveness of Sparring, you want more toddlers. But, because it costs Meat, we don't do it by default.

    Hiring instructors does ... something ... but costs variable amount of random items. Do that by hand, if you want to.

    Sparring costs an adventure and gives PVP fights (and some stats) the first time each day. Only you can decide if you want/need PVP fights, so only you can decide if spending a turn to get some is worth it.

  2. #492
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    Revision 228 fixes a typo in my code that reports on which items you got from CheeseFax.

    And here's a fun little alias:

    alias zatara => ashq import <VeracityMeatFarm.ash>; consult_with_madame_zatara()

  3. #493
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    Revision 230 saves the items we received from Madame Zatara in _zataraPrizes, so you can look at it later, if you are not running the function by itself.

    I noticed that CheeseFax was out of the clan for two whole minutes after I requested the relationship test with him. He came back later and answered, but the function had timed out by then.
    I reran it and it picked up where it left off and got all three prizes.

    Makes me think that I need a longer timeout.

  4. #494
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    Revision 231 fixes a bug:

    If you have a fax monster but neither rain-doh nor spooky putty, we'd still try to set up copying with both of those.

    My only multi who didn't have a VIP key and is not a clan leader bought a VIP key, so I could have a character whose clan had nothing but a fax machine in its VIP lounge to test stuff. This character went to BAFH just fine for Madame Zatara, but when I set a Fax Monster (Knob Goblin Embezzler), EasyFax sent it over but the script failed attempting to use a Rain-doh black box.

    I'm astonished that nobody reported this before. Apparently, everybody who has a VIP key and a fax machine in their clan also had a copying item?

    Maybe this character will make me consider whitelisting over to BAFH (and back) in order to use clan lounge items.

  5. #495
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    Central Virginia, USA
    Posts
    4,787

    Default

    I'm astonished that nobody reported this before. Apparently, everybody who has a VIP key and a fax machine in their clan also had a copying item?
    Originally Posted by Veracity View Post
    I run the script. It works as expected so I have nothing to report. The issue is probably my expectations.

    I have no recollection of ever seeing it fax so there may be a combination of settings that kept it from trying or it may be that I have no expectation of it copying anything so I don't notice the absence. I'm sure I can't provide an accurate list of copiers but I don't think I have any of the ones I know about. Character does not clan hop and Madame Z is done entirely within the clan.

    Is there anything I should check/watch for before I run tomorrow?
    Well, thank you.
    Originally Posted by Veracity View Post

  6. #496
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    I have no recollection of ever seeing it fax so there may be a combination of settings that kept it from trying or it may be that I have no expectation of it copying anything so I don't notice the absence.
    Originally Posted by fronobulax View Post
    Here are the settings:

    monster fax_monster = define_property( "VMF.FaxMonster", "monster", "" ).to_monster();
    boolean use_rain_doh = define_property( "VMF.UseRainDoh", "boolean", "true" ).to_boolean();
    boolean use_spooky_putty = define_property( "VMF.UseSpookyPutty", "boolean", "true" ).to_boolean();

    If you don't set VMF.FaxMonster, it will not fax.
    If you do set it, VMF.UseRainDoh and VMF.UseSpookyPutty will let you make additional copies of your faxed monster.

    I had two characters with VIP keys. They both also have at least one copier. They faxed and copied monsters.
    I now have a third character with a VIP key - and no copiers. That didn't work - until I fixed it.
    Today, that charaacter faxed in a monster and fought it with no problem. I.e., without trying to use a copier she did not own.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  7. #497
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    Revision 232 removes Gingerbread City from being automatically installed - and, in fact, imported into the script at runtime. Instead, this script treats it like any of the other External Scripts that it can invoke: if you configured VMF to use the script and have the appropriate IOTM, it will be invoked via "call", rather than by calling an internal function.

    The only required External scripts which ARE automatically installed - and imported at compile time - are vprops, vcon, and Garden Harvester.

    This revision also changes the timeout for consulting 3 times with Madame Zatara to be 5 minutes, waiting 5 seconds at a time. The normal case, when CheeseFax is at home in BAFH, will finish in 20 seconds, but if he is out distributing faxes some of the time, we won't give up for 5 minutes, which should be plenty, even right after rollover. I hope.

    Here's the comment I put in about external scripts:

    Code:
    // ***************************
    // *     External Scripts    *
    // ***************************
    
    // Required scripts which are are installed automatically
    //
    // vprops			Veracity's property management library
    //				https://kolmafia.us/showthread.php?21593
    //				veracity0-vprops
    // vcon				Veracity's consumable library
    //				https://kolmafia.us/showthread.php?23145
    //				veracity0-vcon
    // Garden Harvester		Veracity's Garden Harvester
    //				https://kolmafia.us/showthread.php?21651
    //				veracity0-garden
    //
    // The following scripts are optional. If they are installed and this
    // script is configured to use them, they will be invoked as needed
    //
    // Here are the script name (as seen in the Script Manager), the forum
    // thread describing it, and the repo in your "svn" directory
    //
    // Veracity Scripts:
    //
    // Beach Comb			Veracity's BeachComber
    //				https://kolmafia.us/showthread.php?23993
    //				veracity0-beach
    // Spacegate			Veracity's Spacegate
    //				https://kolmafia.us/showthread.php?23335
    //				veracity0-spacegate
    // Gingerbread City		Veracity's Gingerbread City
    //				https://kolmafia.us/showthread.php?21609
    //				veracity0-gingerbread
    //
    // Ezandora scripts:
    //
    // Detective School		Detective Solver
    //				https://kolmafia.us/showthread.php?20406
    //				Ezandora-Detective-Solver-branches-Release
    // TimeSpinner			Far Future
    //				https://kolmafia.us/showthread.php?20575
    //				Ezandora-Far-Future-branches-Release
    // (soon)
    // Kremlin's Greatest Briefcase	KGBriefcase
    //				https://kolmafia.us/showthread.php?21892
    //				Ezandora-Briefcase-branches-Release
    // Bastille Battalion		Bastille
    //				https://kolmafia.us/showthread.php?22957
    //				Ezandora-Bastille-branches-Release
    Note that I tell you what the optional scripts are named in the Script Manager - so you can find them to install - as well as the kolmafia.us forum thread pertaining to the script. Also, mostly for my own reference, the directory in KoLmafia's "svn" directory where that script is installed.

    Some those scripts have VMF configuration and if you enable the script, at validation, we require them to be installed.
    Some have no configuration needed (Detective Solver, for example) and we don't check if they are installed at validation time.

    Some options:

    1) List all optional scripts as svn dependencies, which will install them all, whether or not you have the prerequisites (IOTM) to use them.
    2) Or for all external scripts, provide a configuration property to say whether they should be used, and fail validation if they are not installed.
    3) Or for all external scripts for which you have the prereqs (IOTM), if you have not installed (and configured) them, give a warning (suggestion) to install and configure the script.

    Not that you will see validation warnings, unless you watch the validation phase of the script - which is the very first stage of execution.

    Thoughts?

    (By the way, I'll be releasing an Arrrbor Day script, which VMF will require - and therefore install - but not import. Considering I won't be able to test it for anoth 86 days, I haven't started writing it yet. )

  8. #498
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    Central Virginia, USA
    Posts
    4,787

    Default

    Thank you. I set VMF.FaxMonster and got a fax but not any further copying which is what I expect. I note the undesirable visual clutter of a chat window that remains open but if it REALLY bothers me, I can close it manually. I will run with the chatless character eventually just to see what happens but I don't expect any changes to be made. It would have been nice if VMF "suggested" a fax monster but I understand why there isn't a default. Knob Goblin Embezzler or is there something better? Given its role as a "don't forget" script I can imagine a FR for it to pick a fax monster based upon lack of Manuel information but I can also see that being a whole lot of work for you compared to me just making sure I do that before I run VMF and knowing the fax opportunity wasn't wasted if I forget.

    Thank you again.

  9. #499
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    13,510

    Default

    Thank you. I set VMF.FaxMonster and got a fax but not any further copying which is what I expect. I note the undesirable visual clutter of a chat window that remains open but if it REALLY bothers me, I can close it manually. I will run with the chatless character eventually just to see what happens but I don't expect any changes to be made.
    Originally Posted by fronobulax View Post
    Well, yes. KoLmafia's built-in support for faxbots in tied to chat: it sends a chat message and recognizes the specific chat message that comes in response to it, which requires chat to be open.

    I would not be surprised if there was a scripting way to do without that: perhaps by receiving chat messages directly, somehow, and processing them. A little chat bot, of sorts. But I didn't want to include that in my script. Perhaps I will poke around in cc_ascend, or something, and see what others do.

    In any case, I am sure that a character who is not chat literate will be unable to interact with a faxbot at all.

    It would have been nice if VMF "suggested" a fax monster but I understand why there isn't a default. Knob Goblin Embezzler or is there something better?
    Knob Goblin Embezzler is a good choice. Two of my characters with Fax access do that. The third does a Black Crayon Penguin (with a Robortender) in order to collect fish heads - an ingredient for the drive-by shooting, which doubles the Meat Drop of the Robortender. That's a free fight and the fish head is worth more than what the Embezzler drops

    Given its role as a "don't forget" script I can imagine a FR for it to pick a fax monster based upon lack of Manuel information but I can also see that being a whole lot of work for you compared to me just making sure I do that before I run VMF and knowing the fax opportunity wasn't wasted if I forget.
    I could see somebody (not me) writing a script to pick a Fax Monster based on needed Manuel factoids. I say "not me" because only my main has Manuel, and I have all factoids.

    I might make the Knob Goblin Embezzler the default Fax Monster. If you have a VIP key and access to a fax machine, that's a perfectly reasonable way to spend a turn.
    Ph'nglui mglw'nafh Cthulhu
    R'lyeh wgah-nagl fhtagn.

  10. #500
    Developer fronobulax's Avatar
    Join Date
    Feb 2009
    Location
    Central Virginia, USA
    Posts
    4,787

    Default

    Thank you. I will confirm illiterate inability to interact with faxbot.

    Code:
    faxtoid	checkmanuel; ash monster fax_mon() { foreach mm in $monsters[] if (can_faxbot(mm) && monster_factoids_available(mm,true)<3) return mm; return $monster[none];} faxbot(fax_mon());
    Above is the alias I use. I decided maybe VMF integration might not be a good thing if there were copies made of the fax. Someone might only need one factoid and have a better idea for how to use the copies.

    I can either run the alias manually or have it select a target and update VMF.FaxMonster.

    Or for all external scripts for which you have the prereqs (IOTM), if you have not installed (and configured) them, give a warning (suggestion) to install and configure the script.
    I prefer that option, at least until there is a relay script that allows the setting of VMF parameters.

Posting Permissions

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