New Content - Implemented New Challenge Path - KOLHS

Veracity

Developer
Staff member
Actually, come to think of it, registerShopRowRequest also looks at buymax to decide what to log and that method will not work. I predict that your session log says:

Trade 0 eraser nubbin
You acquire an item: giant eraser (4)

I wonder if simply marking the mixing methods as permitted - and figuring out how to suppress them from the Creatable tab of the item manager in a different way - might be easier.
 

Darzil

Developer
That is indeed what the session log says.

Currently the Creatable tab just shows ConcoctionDatabase.getCreatables(), which comes from ConcoctionDatabase.creatableList. getCreatables seems to be used only for CreateItemPanel, ManageItemPanel, ItemTableManagePanel, TableCellFactory and CreateItemCommand. It shows things which are creatable or pullable. It looks like we could create an additional blacklist category.

Maybe add NOLIST to Concoction.txt, add it to ConcoctionDatabase.info as CraftingMisc.NOLIST, and check for !concoction.getMisc().contains( CraftingMisc.NOLIST ) as well as creatable or pullable ?
 

Veracity

Developer
Staff member
Revision 12664 marks the creation methods as permissible. I also made KOLHSRequest set the appropriate fields to attempt to make the correct shop.php request, although I short-circuit the actual call to shop.php in the run() method. When I commented that out, I got this:

Requesting: http://www.kingdomofloathing.com/shop.php?whichshop=kolhs_art&action=buyitem&whichrow=163&quantity=2
Retrieved: http://www.kingdomofloathing.com/shop.php?whichshop=kolhs_art&action=buyitem&whichrow=163&quantity=2

response text says: Students of KOLHS only.

My session log says:

Trade 8 eraser nubbin

so it did recognize the URL submitted. And it did not deduct the (pseudo) ingredients from my inventory.

(I say pseudo because I am not in a KOLHS run. I added a new command to add things to my inventory.

Code:
test result You acquire <b>8 eraser nubbin</b>

Quick and dirty, but when I did that, the Creatables tab said I could make 2 giant erasers.)

Anecdotally (on this thread, even), once you make your way into the appropriate shop.php, you can continue submitting URLs to keep making stuff. It might be worthwhile to remove the short-circuit in KOLHSRequest.run and actually allow people to attempt to make things via the Creatable menu, although that (probably) won't work if you haven't visited the shop appropriately. I expect that KOLHSRequest.processResults could check for various errors in the responseText and tell you why creation failed, as appropriate.
 

Theraze

Active member
The way it worked when I was there, it didn't leave the shop until I clicked to exit. I was able to make 2 giant erasers as my third after-school activity, one at a time.

Whether that would work if I tried to do that as my first or second activity, I couldn't say. But it definitely did let me do two separate craftings/purchases as a single (third) trip.
 

Darzil

Developer
Booze from Gnomads shows up in booze manager. It seems be that creation.getItem().getName() returns null, so it never gets marked false.

Code:
			if ( KoLCharacter.inHighschool() && UseItemEnqueuePanel.this.booze )
			{
				AdventureResult item = creation.getItem();
				String name = item != null ? item.getName() : null;
				if ( name != null && !name.equals( "steel margarita" ) &&
				     ( ItemDatabase.getNotes( name ) == null || !ItemDatabase.getNotes( name ).startsWith( "KOLHS" ) ) )
				{
					return false;
				}
			}
 
Top