Page 3 of 24 FirstFirst 1 2 3 4 5 13 ... LastLast
Results 21 to 30 of 239

Thread: Two Crazy Random Summer

  1. #21
    Developer
    Join Date
    Apr 2010
    Posts
    5,109

    Default

    This is close to having the modifiers, for standard items anyway : http://plasticlobster.com/summer/

    So we could use to with override in modifiers maybe?

    It's random seeded I think (and a Dev might have hinted ), so I think populating it from such a datafile would be the way. Ideally one with not just standard for those who break ronin or play after path end, of course.

  2. #22

    Default

    This is the first path that, during testing, I had no idea how mafia could sanely support it.

  3. #23
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,741

    Default

    I'm thinking this (this is ASH, but it will be Java):

    Code:
    record tcrs
    {
            string name;
            int size;
            string quality;
            string modifiers;
    };
    
    tvrs [int] tcrsItemMap;
    CLI commands usable while you are in TCRS:

    tcrs derive

    for all items:
    Read derscription
    Add to map

    tcrs save

    save the map to Accordion-Thief-Vole.text, a la ASH's map_to_file

    tcrs load

    read the (appropriate) file into the map

    tcrs apply

    adjust modifiers and consumable data for every object in the map

    tcrs reset

    reset modifiers and consumable data to normal

    Upon login:

    tcrs load
    tcrs apply

    Upon freeing the king:

    txrs reset

    ---------

    Something like that. I have not looked at Ezandora's data yet. If she has saved all the _desc files for various class/sign, I'd be happy to have a command which is the equivalent of "txrs load + tcrs save" do create and save the map from those data.

    In any case, after load/apply, I think that the maximizer, green side bar, item manager, etc. should Just Work.

    I agree (I think) with lost that having 54 new data files, each with a line for every item, doesn't seem "reasonable". I am curious to see how it bloats the size of our .jar file. But, if we want to make this path pleasent to play with KoLmafia, I think we need to do this. I imagine we could ZIP them.

    I'll take a look at load/save/apply later.

  4. #24
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,741

    Default

    Oh. Consumables seem to have random (a range?) stat drops and fixed? adventure gain based on quality.
    I frank a 10 fullness EPIC drink with Ode and got 60 adventurse - (5 + 1 ) * 10.
    We would set appropriate ranges based on quality and size for consumables and the Item Manager would sort your best choices for you, as normal.

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

    Default

    Revision 19233 is (most of) a proof of concept for this.

    tcrs load
    tcrs derive
    tcrs save

    are all present. You can load a map of TCRS data for your current class/sign, "derive" such a map from item descriptions, and write out the data file.

    TCRS_Accordion_Thief_Vole.txt is included. It's about 600K, which would make the jar file bloat with all 54 files something north of 32M.

    I don't have the "apply" or "reset" functionality in yet, but that's all known technology; we do exactly that stuff when registering new items.
    And I think making .gzip (or .zip) files will be a good idea; gzip reduces it to less than a third of its size. Still bloat.

  6. #26
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,741

    Default

    Revision 19225 adds the "tcrs apply" command which will update items and consumables as appropriate based on currently loaded/derived TCRS data.

    Strikes me that we don't actually have to build in all the 54 data files. They could go perfectly well into a package you can load via the Script Manager, since such can put things in the "data" directory and don't actually need a script in the "scripts" folder. Files in the "data" directory will act as overrides for scripts built-in to KoLmafia's data directory. Both a loaded package and the "tcrs derive" command will put files in the local data directory where they will be found when referenced.

    tcrs load
    tcrs derive
    tcrs save
    tcrs apply

    Done when you log in will work for anybody in a TCRS run.

    tcrs will load a file, if present, otherwise is a no-op.
    tcrs derive will look at item descriptions for items it does not already know about - which means it will be a no-op if you previously loaded them alll
    tcrs save will write the data to your local directory - which will overrided built-in data, which is no big deal if we don't publish built-in data.
    tcrs apply will apply TCRS adjustments to all items.

    - the Green Side Pane is correct
    - the Maximizer works
    - The Food/Booze panels have correct sizes and my guess about adventures work given quality and size.

    This is probably all the time I have for at least a week. Looking forward to an easier life in Two Crazy Random Summer.

  7. #27
    Senior Member
    Join Date
    Jun 2016
    Posts
    334

    Default

    Well, after waiting 1,5 hours for tcrs derive to check everything on Sauceror/Packrat (and saving it), it seems to be working very nicely, so thanks for that.

    Edit: the maximizer works for equipment, but not for potions.
    Last edited by the dictator; 05-23-2019 at 11:40 PM.

  8. #28
    Senior Member
    Join Date
    Jan 2014
    Posts
    195

    Default

    There's a few ways you can reduce file size without compression:

    -Store all path data in a single file. Each item's field could be something like, Hot Resistance: +1|Cold Resistance: +1|Monster Level: +25|etc|etc|etc, using a predetermined indexing method like (moon_sign_id * 6 + class_id) or (class_id * 9 + moon_sign_id)

    -Omit items that haven't changed - a significant percentage of items are identical in and outside the path.

    -Refrain from storing path-specific item names? Better to just use the canonical names in mafia - this is the same situation as pantogram pants, which has a dynamic display name that nobody pays attention to.

    Pie in the sky idea: use JSON to store the relevant data. I feel like CSV limits mafia's potential for its data files.

  9. #29
    Developer Veracity's Avatar
    Join Date
    Mar 2006
    Location
    The Unseelie Court
    Posts
    11,741

    Default

    It's a lot faster for me, although still slow.
    Glad you saved it.

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

    Default

    There's a few ways you can reduce file size without compression:

    -Store all path data in a single file. Each item's field could be something like, Hot Resistance: +1|Cold Resistance: +1|Monster Level: +25|etc|etc|etc, using a predetermined indexing method like (moon_sign_id * 6 + class_id) or (class_id * 9 + moon_sign_id)
    Originally Posted by Ezandora View Post
    This wpuld work best if all the class/sign data is available. Not yet, for me, although you may have it.

    -Omit items that haven't changed - a significant percentage of items are identical in and outside the path.
    This is good

    -Refrain from storing path-specific item names? Better to just use the canonical names in mafia - this is the same situation as pantogram pants, which has a dynamic display name that nobody pays attention to.
    I suppose, although I am finding the path-specific names useful/interesting for spading. For example:

    "prompt" -> Adventures: +3
    "up-at-dawn" -> Adventures: +5
    "of the early riser" -> Adventures: +7
    "family-friendly" -> Sleaze Resistance: +1

    "spinning", "jittery", etc. are purely cosmetic.

    Pie in the sky idea: use JSON to store the relevant data. I feel like CSV limits mafia's potential for its data files.
    I agree that JSON is better. It's not smaller - which my issue with this - but it has a lot of advantages.

    I noticed that one thing I have not done yet is to change the sources for various effects and modify the "ways to get this effect" section of status effects appropriately.
    So, for each item that causes an effect, add that item to the effect and remove that item from every other effect.
    Maximizer will need this.

    I don't have to be the one to do this.
    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
  •