Gain Store Credit @ Ye Wizard's Shack Game Shoppe

fronobulax

Developer
Staff member
Version in #40 worked mechanically but there was nothing to buy given my parameters. Thanks, regardless. Like I said, "run daily".
 
I'm going to give this a try :) I spent months last year doing this by hand to get the tattoo... I gave up halfway through and bought 2 card sleeves lol. Now I feel like it is obtainable :D
 

Bale

Minion
Awesome! It seems to have been a good decision to continue supporting this script.

Let me know if it purchases and opens any packs of cards.
 

fronobulax

Developer
Staff member
Buying and using packs but the sell all vs sell all but one does not seem to be working. I keep forgetting to mention that or look at the script myself.
 

Bale

Minion
You wanted to keep a pack in inventory? I wasn't supporting that. I figured it made sense to keep a card, but not to keep a spare pack.

Check the name of the variable it prompts you for when you start the script: Keep_One_Card_in_Inventory
 

fronobulax

Developer
Staff member
You wanted to keep a pack in inventory? I wasn't supporting that. I figured it made sense to keep a card, but not to keep a spare pack.

Check the name of the variable it prompts you for when you start the script: Keep_One_Card_in_Inventory

Sorry I wasn't clear. Regardless of whether I answer the save card prompt with true or with false, there are cards in my inventory when the script exits. Just to be clear there were no cards in my inventory when I started the script. I wonder if extra = to_int(keep_one); is not doing what is expected. I'll throw in some prints when I get to that character later today.
 

fronobulax

Developer
Staff member
Mall conditions changed so that credits are available in my target range. As previously noted (and I'm just noting it in case there are other reasons to edit the script, not because I expect it to be addressed) I have one of each card in my inventory after execution regardless of whether I answer True or False when running from the script menu.

Second and much more interesting is what actually happens when it buys packs. What it seemed to be doing was buying the packs, using them and then only turning in the cards from that pack that were actually available in the mall at less than the target price. Since the expected credit yield is based upon turning in all the cards I feel like it bought more packs than necessary or that the effective cost per credit of buying packs was much higher than expected.

One solution would be to inform the user that packs were a viable option but that the user should use the packs and turn in the results manually.

One solution would be to turn in (subject to the keep one flag) the cards that were generated by the pack.

What might be the best solution would be to use the pack, turn in the resulting cards that have a mall price less than the target price per credit and mall sell the rest. The mall sale price would be what KoLmafia is reporting as the current price for the card and not a price derived from the target price per credit since it would be trivially easy to determine the price per credit someone was aiming for and manipulate the market accordingly. If my thinking is not too fuzzy, it seems to me that, once the cards sold, the effective price per credit from buying teh pack would be at or better than the target.

Anyway, just throwing that out there in case someone wants to address it.

Thanks for the script.
 

Bale

Minion
Mall conditions changed so that credits are available in my target range. As previously noted (and I'm just noting it in case there are other reasons to edit the script, not because I expect it to be addressed) I have one of each card in my inventory after execution regardless of whether I answer True or False when running from the script menu.

That doesn't make the slightest lick of sense to me and I cannot begin to figure out why that would not happen. I suppose I'll look at it again later.

Second and much more interesting is what actually happens when it buys packs. What it seemed to be doing was buying the packs, using them and then only turning in the cards from that pack that were actually available in the mall at less than the target price. Since the expected credit yield is based upon turning in all the cards I feel like it bought more packs than necessary or that the effective cost per credit of buying packs was much higher than expected.

One solution would be to inform the user that packs were a viable option but that the user should use the packs and turn in the results manually.

One solution would be to turn in (subject to the keep one flag) the cards that were generated by the pack.

What might be the best solution would be to use the pack, turn in the resulting cards that have a mall price less than the target price per credit and mall sell the rest. The mall sale price would be what KoLmafia is reporting as the current price for the card and not a price derived from the target price per credit since it would be trivially easy to determine the price per credit someone was aiming for and manipulate the market accordingly. If my thinking is not too fuzzy, it seems to me that, once the cards sold, the effective price per credit from buying teh pack would be at or better than the target.

Sigh. That sounds like I completely dropped the ball. Unlike the first problem it is obvious to me how I messed it up. I like your last idea and I'll implement it when I have a little time for it. (Not now, but probably within a week.)
 

fronobulax

Developer
Staff member
Thank you. If it is any consolation, I could not figure out why extra was not working either. It was 0 or 1 appropriately in my debug prints. I wondered if there were some kind of variable scoping thing going on but I haven't looked for it.

I was kind of amused by they way packs were handled since when everything was done I was able yo but the tattoo even if I had not idea what I actually paid for it ;-)
 

fronobulax

Developer
Staff member
Circa line 118 in get_credit

q = max(item_amount(list[card]) - 1, 0);

should be

q = max(item_amount(list[card]) - extra , 0);

And then the KeepOne works.

Prices, available meat and time have kept me from looking at what happens with buying and using packs, but squashed one bug for ya ;-)
 
One, last, INSANE upgrade to request.

It's quite possible, though unlikely that single foil, or foil packs will be within a declared price range.

Worth your time sir?
 

Bale

Minion
No, it really isn't. Maybe fronob or someone else who uses this script will be willing to code that in, but I checked the expected yield on those and it seems unlikely that they would be price effective.
 
Well... time to call it quits :D I messed up my input amount and before I noticed it had spent 3-4 mil and I had enough to buy the tattoo! I am glad it happened and I honestly think I did it unconsciously just to get it over with. Nice to have it done and not have to worry about it again, thanks yet again Bale!
 
Top