New Content - Implemented Stealth update of Smile of Mr. A

ereinion

Member
Judging from the skill page it seems I have gotten a new skill, at least:
HTML:
Use Buff: <select name=whichskill><option value=999>(select a buff)</option><option disabled value=3>The Smile of Mr. A. (0 MP)</option><option value=111>Psychokinetic Hug (0 MP)</option><option selected value=7208>New Smile of Mr. A. (0 MP)</option>
Apart from the new name and number, I can't really see much difference from the old one.

-edit- Not a stealth update anymore: https://twitter.com/asym/status/501439808602787840
 
Last edited:

Cool12309

Member
To add to this, the old skill is called "The Old Old Smile of Mr. A." and the new skill is just "The Smile of Mr. A."
 
Using KoLmafia-14452.jar

Inside of a cli script:
cast 5 smile of Mr. A on deandra

results in the error message:
You don't have a skill uniquely matching "5 smile of Mr. A. on deandra"

Changing it to:
cast The Smile of Mr. A. on deandra

results in the error message:
You don't have a skill uniquely matching "5 The Smile of Mr. A. on deandra"

Putting the following in an ash script:
void main() {
use_skill(5, $skill[The Smile of Mr. A.], "Deandra");
}

results in the error message:
You don't have a skill uniquely matching "5 The Smile of Mr. A. on Deandra"

I also tried substituting in the skill number, to no avail, as well as doing "to_skill($effect[The Smile of Mr. A.])" also to no avail.
 

Darzil

Developer
Hmm, I don't have an item to test, but does the skill still appear on your character sheet ? 7xxx skills are normally only in affect conditionally, in this case when you have the item in your inventory, so maybe we have to detect it in your inventory and activate the skill from that? That wasn't necessary with it on the character sheet.
 

Veracity

Developer
Staff member
As I understand it, you can have the item in your display case - and probably even in storage or closet. Simply having bought the item is good enough.

> ash to_int( $skill[ the smile of mr. a. ] )

Returned: 7208
We know the new skill number.

> ash to_int( $skill[ smile of mr. a. ] )

Changing "smile of mr. a." to "The Old Old Smile of Mr. A." would get rid of this message ()
Returned: 3
On the other hand, fuzzy matching of a substring of multiple skills simply gives you first match.

> ash to_int( to_skill( $effect[ the smile of mr. a. ] ) )

Returned: 7208
Yes, the effect maps back to the correct skill.

ASH (and our skill database) clearly understands. the new skill number. Now, "use_skill( X, SKILL )" is executed by invoking "cast X NAME", so, no surprise that the ASH function and the CLI command behave the same way.

> ash have_skill( $skill[ the smile of mr. a. ] )

Returned: false
What do you get for that? If you have the item and KoL doesn't put it on the char sheet any more, that would break things. As Darzil says, 7xxx skills are "item driven" skills, so perhaps KoL is no longer putting the skill there.

If so, I could argue that is a KoL bug.

I assume the skill shows up in KoL's skill casting interface? Does it show up if the GMA is in your display case?
 

Veracity

Developer
Staff member
As a follow up, we maintain a setting - "goldenMrAccessories" - which is the total count of that item you possess. If the Smile of Mr. A. skill no longer occurs on the Character Sheet, we could manually add it to your known skill list if that setting is > 0.
 

ereinion

Member
r14453:
Code:
[COLOR=olive]> get goldenMrAccessories[/COLOR]

1

[COLOR=olive]>      prefref smile[/COLOR]

_smilesOfMrA (user, now '0', default '0')

[COLOR=olive]>      ash have_skill( $skill[ the smile of mr. a. ] )[/COLOR]

Returned:      false
The skill appears in KoL's skill casting interface even if the GMA is in my display case.

The skill doesn't appear on my character sheet, even when the GMA is in my inventory.
 

Veracity

Developer
Staff member
Revision 14456 adds The Smile of Mr. A to your known skills list if you have any Golden Mr. Accessories. It will also do that when you buy your first Golden Mr. Accessory.
 
Top