Feature - Implemented Spring 2017 Challenge: Gelatinous Noob!

Bale

Minion
"path":"29",
"pathname":"Gelatinous Noob"
"class":"23"

Prime Stat is moxie

Code:
--------------------
9216	interesting clod of dirt	718542	ragwad.gif	none	d	15
# Item interesting clod of dirt: Absorb it for a useful skill!
--------------------
--------------------
9343	dirty bottlecap	1180423	bottlecap.gif	none	d	15
# Item dirty bottlecap: Absorb it for a useful skill!
--------------------
--------------------
9344	discarded button	2951341	redbutton.gif	none	d	15
# Item discarded button: Absorb it for a useful skill!
--------------------
 

Darzil

Developer
r17808 adds the Passive Skills, and a couple more modifiers.

Will be interesting to see what happens with spading of the skill gain mechanism. We might want to support that in some way, as managing it could be nightmarish.
 

Darzil

Developer
Well, sounds like Ezandora has the answer (http://forums.kingdomofloathing.com/vb/showpost.php?p=4903390&postcount=63)

The skill you seem to get is an item's descid % 125 + 23001.
Only PvPable items can be absorbed (not no trade, no sell, no discard, gift items, and quest items).

I guess we should work out what we want.
What I'd want is a way to have Maximizer suggest "Learn X by Absorbing Y" when you maximize for something.
I guess people would also want a cli and ash way to get skill from item (and maybe item list from skill?)
 
Last edited:

Darzil

Developer
r17816 adds noob_skill proxy record to items, returns skill learned by absorbing the item. Assumes the above item spading.
 

Darzil

Developer
r17817 adds absorb <item> cli command.

Edit - And that'll be all I add today.
 
Last edited:

Bale

Minion
For Gelatinous Noobs I've just made an extremely important upgrade to my "desc wikiLinks" relay script. I recommend that you install (or update) it if you are playing this path.

Want to know what skill you'll gain if you choose to absorb an item? Now if you use my relay script, that information is added to the description of the item!!

svn checkout https://svn.code.sf.net/p/bale/relay/code/desc_wikiLinks
 

Bale

Minion
BUG!

Mafia says that Pathological Greed gives +70% to item drops. That is wrong. It gives +70% to meat drops!
 

Bale

Minion
Using r17821

Code:
[COLOR="#808000"]> absorb pixel lemon[/COLOR]

[COLOR="#FF0000"]Item not accessible.[/COLOR]

> find pixel lemon

Verifying ingredients for pixel lemon (1)...
Creating 1 pixel lemon...
You acquire an item: pixel lemon
Successfully created pixel lemon (1)

[COLOR="#808000"]> absorb pixel lemon[/COLOR]

You gain 8 Adventures
You gain 7 Beefiness
You gain 7 Strongness
You gain 16 Muscleboundness
Absorbing pixel lemon
You learned a new skill: Optic Nerves

Shouldn't item acquisition be a default part of absorb like it is for similar CLI commands like use and drink?
 

Darzil

Developer
Probably. I tried adding a retrieve item bit, but I guess that doesn't craft. Now my test character has adventures and absorb space again I'll be able to actually test the code!
 

Bale

Minion
So much work for this!

I guess we should work out what we want.
What I'd want is a way to have Maximizer suggest "Learn X by Absorbing Y" when you maximize for something.
I guess people would also want a cli and ash way to get skill from item (and maybe item list from skill?)

I'd love if the maximizer could find items for absorption. Let it figure out what I want to buy from my gift store or should suck up from my inventory.
 

Veracity

Developer
Staff member
Probably. I tried adding a retrieve item bit, but I guess that doesn't craft. Now my test character has adventures and absorb space again I'll be able to actually test the code!
InventoryManager.retrieveItem will craft. However InventoryManager.getAccessibleCount never considers crafting.
InventoryManager.hasItem will call InventoryManager.getAccessibleCount and - if you pass in optional second argument - will check if you can create it.

Therefore, your correct sequence of calls is:

Code:
		// If not in inventory, try to retrieve it
		if ( !InventoryManager.hasItem( match, true ) )
		{
			KoLmafia.updateDisplay( MafiaState.ERROR, "Item not accessible." );
			return;
		}

		if ( !InventoryManager.retrieveItem( match ) )
		{
			KoLmafia.updateDisplay( MafiaState.ERROR, "Failed to retrieve item." );
			return;
		}
 

Darzil

Developer
I don't think there is any way to tell which enchantments you have absorbed from equipment, so we might need to capture the eaten items, add to a preference, and add them in, and face the fact we can't tell if it happened outside mafia.

Code:
You absorb the chef's hat and feel great. You have internalized 2 enchantments for the rest of the day.
Two spaces between the sentences.
 

lostcalpolydude

Developer
Staff member
I don't think there is any way to tell which enchantments you have absorbed from equipment, so we might need to capture the eaten items, add to a preference, and add them in, and face the fact we can't tell if it happened outside mafia.

It's listed in charpane.php.
 
Top