New Content - Implemented Dingy Planks now in the General Store

Bale

Minion
This is weird. Right now I can buy them from the Hermit for a trinket, or the General Story for 400 meat.

I'm suspecting the former will go away soon.
 

Winterbay

Active member
Or not? It's possible that the hermit option is seen as a poweruser thing that can speed up (ie.e by costing potentially less meat) your run somewhat but isn't really necessary if you don't know about it. Highly speculative though :)
 

Veracity

Developer
Staff member
I started doing this, but then I noticed the Use Link you get when you acquire the dinghy plans:

Code:
			case ItemPool.DINGHY_PLANS:

				if ( InventoryManager.hasItem( ItemPool.DINGY_PLANKS ) )
				{
					return new UseLink( itemId, 1, "use", "inv_use.php?which=3&whichitem=" );
				}

				if ( HermitRequest.getWorthlessItemCount() > 0 )
				{
					return new UseLink( ItemPool.DINGY_PLANKS, 1, "planks", "hermit.php?autopermit=on&action=trade&quantity=1&whichitem=" );
				}

				return new UseLink( ItemPool.DINGY_PLANKS, 1, "planks", "hermit.php?autoworthless=on&autopermit=on&action=trade&quantity=1&whichitem=" );
It directs you to the Hermit. Which, might or might not be what you want, since they cost 400 Meat in the General Store.

Since the trivial announcement says that General Store "cornered the market" in dingy planks, I suspect that it is a mistake that they are still at the Hermit.

I'd like to wait and see before deciding what to do.
 

Veracity

Developer
Staff member
They fixed it. I moved the planks into the general store.
I did not fix the use links, so this is not quite done yet.
 

eggman

New member
Got an error when using the use link,

Code:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
         KoLmafia v15.4 r11388, Windows 7, Java 1.7.0_05
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Please note: do not post this log in the KoLmafia thread. If you
 would like the dev team to look at it, please write a bug report
 at kolmafia.us. Include specific information about what you were 
 doing when you made this and include the log as an attachment.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Timestamp: Fri Aug 10 06:50:28 EDT 2012
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Unexpected error, debug log printed.
class java.lang.NullPointerException: null
java.lang.NullPointerException
	at net.sourceforge.kolmafia.request.CoinMasterRequest.buyStuff(CoinMasterRequest.java:430)
	at net.sourceforge.kolmafia.request.CoinMasterRequest.buyStuff(CoinMasterRequest.java:423)
	at net.sourceforge.kolmafia.request.CoinMasterRequest.registerRequest(CoinMasterRequest.java:653)
	at net.sourceforge.kolmafia.request.HermitRequest.registerRequest(HermitRequest.java:511)
	at net.sourceforge.kolmafia.RequestLogger.doRegister(RequestLogger.java:928)
	at net.sourceforge.kolmafia.RequestLogger.registerRequest(RequestLogger.java:476)
	at net.sourceforge.kolmafia.request.GenericRequest.execute(GenericRequest.java:1386)
	at net.sourceforge.kolmafia.request.GenericRequest.run(GenericRequest.java:1328)
	at net.sourceforge.kolmafia.request.RelayRequest.run(RelayRequest.java:2056)
	at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:222)
	at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:185)
	at net.sourceforge.kolmafia.webui.RelayAgent.readServerResponse(RelayAgent.java:520)
	at net.sourceforge.kolmafia.webui.RelayAgent.performRelay(RelayAgent.java:159)
	at net.sourceforge.kolmafia.webui.RelayAgent.run(RelayAgent.java:132)
 
Got an error when using the use link,

Code:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
         KoLmafia v15.4 r11388, Windows 7, Java 1.7.0_05
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Please note: do not post this log in the KoLmafia thread. If you
 would like the dev team to look at it, please write a bug report
 at kolmafia.us. Include specific information about what you were 
 doing when you made this and include the log as an attachment.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Timestamp: Fri Aug 10 06:50:28 EDT 2012
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


Unexpected error, debug log printed.
class java.lang.NullPointerException: null
java.lang.NullPointerException
	at net.sourceforge.kolmafia.request.CoinMasterRequest.buyStuff(CoinMasterRequest.java:430)
	at net.sourceforge.kolmafia.request.CoinMasterRequest.buyStuff(CoinMasterRequest.java:423)
	at net.sourceforge.kolmafia.request.CoinMasterRequest.registerRequest(CoinMasterRequest.java:653)
	at net.sourceforge.kolmafia.request.HermitRequest.registerRequest(HermitRequest.java:511)
	at net.sourceforge.kolmafia.RequestLogger.doRegister(RequestLogger.java:928)
	at net.sourceforge.kolmafia.RequestLogger.registerRequest(RequestLogger.java:476)
	at net.sourceforge.kolmafia.request.GenericRequest.execute(GenericRequest.java:1386)
	at net.sourceforge.kolmafia.request.GenericRequest.run(GenericRequest.java:1328)
	at net.sourceforge.kolmafia.request.RelayRequest.run(RelayRequest.java:2056)
	at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:222)
	at net.sourceforge.kolmafia.RequestThread.postRequest(RequestThread.java:185)
	at net.sourceforge.kolmafia.webui.RelayAgent.readServerResponse(RelayAgent.java:520)
	at net.sourceforge.kolmafia.webui.RelayAgent.performRelay(RelayAgent.java:159)
	at net.sourceforge.kolmafia.webui.RelayAgent.run(RelayAgent.java:132)

I can confirm this same error / stack trace when I clicked the Use link. Also got a message in the Relay browser (presumably from KoL) saying: "The Hermit doesn't have that item."
 

Veracity

Developer
Staff member
Thank you for reporting that the use links, which I specifically said were not fixed yet, were not fixed yet.
 
I just (re) noticed this, and whipped up a trivial patch to fix. :) It will likely take more effort to apply the patch than it will to just code the fix, especially since I can't test it (since I just got the planks). But, here you are on the off chance that this is helpful... Usual caveats - against latest subversion (r11393), builds (but not yet tested since I believe the only way to get the link is to ascend again).
 

Attachments

  • fix_use_planks.patch
    901 bytes · Views: 44

roippi

Developer
I'm thinking the link should buy the planks instead of just opening store.php?

(question mark placed at the end of that sentence because I'm not sure)
 
seems reasonable, although I believe the old behavior was to just take you to the hermit, even if you already had a worthless item? I could be wrong, though. Easy enough to change my patch accordingly, although like the original patch I suspect it will take a dev less time to just do it themselves. :)
 
Cool. I can adjust the patch, although like the original one, I suspect it will take a dev less time to just make the change and move on than to apply it... But I'll take a stab at it later if it's not already fixed.
 

Veracity

Developer
Staff member
The original behavior was to obtain a worthless item (if necessary) and a permit (if necessary) and take you to the Hermit, yes.

I think I'd like to see a "buy planks" link which buys the planks - using ajax, perhaps, so all you see is the result - with a "use plans" link on the newly acquired planks (which happens already, if you have the plans).
 

heeheehee

Developer
Staff member
Use link for dinghy plans still points to hermitage

The link for using the plans when you get them from the shore still points to the hermitage, instead of general store (or auto-acquiring and using, even if you have the "automatically buy from NPCs" preference set). r11415, although I don't think anything relevant has happened in the past 4 revisions.

Also, in a marginally related note (but entirely unrelated in implementation), "use dinghy plans" without planks in inventory aborts instead of retrieving the dingy planks. Relevant bits seem to be
Code:
sourceforge/kolmafia/webui/UseLinkDecorator.java
770:                            if ( InventoryManager.hasItem( ItemPool.DINGY_PLANKS ) )
777:                                    return new UseLink( ItemPool.DINGY_PLANKS, 1, "planks", "hermit.php?autopermit=on&action=trade&quantity=1&whichitem=" );

sourceforge/kolmafia/request/UseItemRequest.java
2369:                   if ( InventoryManager.hasItem( ItemPool.DINGY_PLANKS ) )
 

heeheehee

Developer
Staff member
Hm. Apologies; I forgot about that thread. (although, the second point wasn't addressed in the other thread)
 

heeheehee

Developer
Staff member
I think I'd like to see a "buy planks" link which buys the planks - using ajax, perhaps, so all you see is the result - with a "use plans" link on the newly acquired planks (which happens already, if you have the plans).

So a "URL" looking like
Code:
javascript:singleUse('store.php','phash&buying=1&which=3&whichitem=140&ajax=1');singleUse('inv_use.php','whichitem=146&pwd&ajax=1');void(0);
?
(140 is the planks, 146 is the plans)
 

Theraze

Active member
Second point is the same as the first, where the use links, which Veracity "specifically said were not fixed yet, were not fixed yet." The only difference was pointing out the lines in the code which haven't been updated, but that's still the exact same bug/old content... right? In both your code examples, you're giving the item usage code links, not item retrieval links... thereby having them fall under the aegis of usage links.
 
Top