Bug - Fixed Outfit not recognized when wearing parts of it at login (Not buying from Hippy Stand)

bumcheekcity

Active member
r9032

In hardcore, have the war hippy and hippy outfits and have killed the filthworm queen. I can buy grapes, peaches, etc. from the hippy store with the outfit on, but with it off, I get told they're "waiting for the soldiers...".

Code:
> buy grapes

You are not yet out of ronin, and are unable to buy this item from a NPC store.

I can buy grapes manually of course. This has happened for a few days very recently, and has been fine before then.
 

Theraze

Active member
Actually had something similar with the seltzer yesterday... while not wearing the KGE outfit, it told me I couldn't buy seltzer because I was still in ronin, just like your grape message. Bought fine when I swapped manually.
 

Darzil

Developer
There 'might' be somethign a bit screwy with outfits. The last few days it's been not showing that I had a Mining outfit possible. I've not had time to experiment and pin it down, but looked like it might have been having some of the outfit in my inventory, and some worn, when I started Mafia.
 

slyz

Developer
What is the result of those commands in the gCLI?
Code:
get lastFilthClearance
get currentHippyStore
ash have_outfit( "Frat Warrior Fatigues" );

EDIT: I just logged out/on with 2/3 pieces of the Frat Warrior Outfit on, and Mafia correctly tells me that I have it. I am out of Ronin though. Running r9032.
 
Last edited:

bumcheekcity

Active member
> ash have_outfit( "War Hippy Fatigues" );

Returned: false

> ash equipped_item($slot[hat])

Returned: reinforced beaded headband
fullness => 0
inebriety => 0
spleen => 0
notes =>
descid => 213151374
levelreq => 0

> ash equipped_item($slot[pants])

Returned: bullet-proof corduroys
fullness => 0
inebriety => 0
spleen => 0
notes =>
descid => 516499807
levelreq => 0

> ash equipped_item($slot[acc1])

Returned: pirate fledges
fullness => 0
inebriety => 0
spleen => 0
notes =>
descid => 642596336
levelreq => 0

> ash equipped_item($slot[acc3])

Returned: round purple sunglasses
fullness => 0
inebriety => 0
spleen => 0
notes =>
descid => 144082186
levelreq => 0

So I'm definitely wearing the outfit and can access the store.
 

slyz

Developer
I'm at a loss. Maybe a corrupt data file? Try:
Code:
ash outfit_pieces( "war hippy fatigues" );
ashq foreach i, it in outfit_pieces( "war hippy fatigues" ) print( can_equip( it ) );
 

bumcheekcity

Active member
> ash outfit_pieces( "war hippy fatigues" );

Returned: aggregate item [3]
0 => bullet-proof corduroys
1 => round purple sunglasses
2 => reinforced beaded headband

> ashq foreach i, it in outfit_pieces( "war hippy fatigues" ) print( can_equip( it ) );

true
true
true
 

roippi

Developer
Weird... I have a hexagonal wand and yet no [zap things] link has been added to my inventory. Related?

Using r9032
 
I had this last night in HC as well. Mafia doesn't think I have the Filthy Hippy Outfit, but i can equip both parts and shop at the store manually. The outfit isn't even listed in the Outfits drop down. I vaguely remember seeing something about changing the way Mafia parsed outfits, surely, that's where it's at.

eta: No, it's not fixed in 9033. But I have the filthy hippy outfit today. It doesn't think I have the Swashbuckling getup today.

Code:
> ash outfit_pieces("swashbuckling");

Returned: aggregate item [3]
0 => eyepatch
1 => swashbuckling pants
2 => stuffed shoulder parrot

> ashq foreach i, it in outfit_pieces("swashbuckling") print(can_equip(it));

true
true
true
 
Last edited:

Darzil

Developer
Yup, pretty certain it's to do with what you are wearing logging into the game (or refreshing in item manager).

Logged in (9034), not wearing any outfit pieces, had all outfits listed on the Gear Changer Tab.
Put on Miner's Helmet and Knob Goblin Elite Pants, logged out.
Logged in, had all outfits listed on Gear Changer Tab EXCEPT Mining Gear and Knob Goblin Elite Uniform.
Put on Filthy Knitted Dread Sack and Knob Goblin Harem Pants, logged out.
Logged in, had all outfits listed on Gear Changer Tab EXCEPT Hippy Outfit and Knob Goblin Harem Costume.

You can get the same effect if you swap the gear then hit the refresh on item manager, rather than logging out and in again. If you take off all outfit pieces, then hit referesh on item manager, all outfits are again available.
 

Darzil

Developer
Or the interpretation of the api.php results, as Mafia does know what you have equipped. Perhaps api.php only passes inventory excluding equipped items, and Mafia assumes it includes equipped items?
 

StDoodle

Minion
Well, I thought I remembered new api.php options specific to options being made available and used, which is why I wondered. Would have to ask the devs to know for sure (or someone better at finding things in source than me). ;)
 

Veracity

Developer
Staff member
Yup, pretty certain it's to do with what you are wearing logging into the game (or refreshing in item manager).
I cannot reproduce this.

Validating login server (www3.kingdomofloathing.com)...
Redirected to www.kingdomofloathing.com...
857 players online.
Sending login request...
Initializing session for Veracity...
Refreshing session data...
Synchronizing moon data...
Retrieving character data...
Retrieving familiar data...
Familiar data retrieved.
Refreshing closet...
Updating consumable items...
Updating miscellaneous items...
Refreshing stickers...
Retrieving campground data...
Session data refreshed.
You have a present under the Crimbo tree in your clan's VIP lounge!
5 days until Arrrbor Day, 2 days until Muscle.

> ash have_outfit( "filthy" )

Returned: true

> inv filthy

filthy pestle
filthy poultice (26)

> equip

Hat: filthy knitted dread sack
Weapon: time sword
Off-hand: time sword
Shirt: General Sage's Lonely Diamonds Club Jacket
Pants: filthy corduroys

Acc. 1: dead guy's memento
Acc. 2: plexiglass pocketwatch
Acc. 3: stainless steel solitaire

Pet: Hobo Monkey (40 lbs)
Item: tiny bindle
As you can see, I logged in wearing the outfit. I had no extras in inventory. "have_outfit" returned true, and the outfit was on the dropdown in the Gear Changer.

You can get the same effect if you swap the gear then hit the refresh on item manager, rather than logging out and in again. If you take off all outfit pieces, then hit referesh on item manager, all outfits are again available.
I can't reproduce this. Here's a test, following up from previous, in which I unequip a piece - so the outfit is partially equipped, partially in inventory - followed by a refresh.

> equip flowing

Putting on flowing hippy skirt...
Equipment changed.

> ash have_outfit( "filthy" )

Returned: true

> refresh inv

Refreshing closet...
Updating consumable items...
Updating miscellaneous items...
Refreshing stickers...
Requests complete.

> ash have_outfit( "filthy" )

Returned: true
Here's a previous test I did from NOT logging in wearing the outfit.

> ash outfit_pieces ("filthy" )

Returned: aggregate item [2]
0 => filthy knitted dread sack
1 => filthy corduroys

> inv filthy

filthy corduroys
filthy knitted dread sack
filthy pestle
filthy poultice (26)

> ash have_outfit( "filthy" )

Returned: true

> outfit filthy

Putting on outfit: Filthy Hippy Disguise
Equipment changed.

> ash have_outfit( "filthy" )

Returned: true

> refresh inv

Refreshing closet...
Updating consumable items...
Updating miscellaneous items...
Refreshing stickers...
Requests complete.

> ash have_outfit( "filthy" )

Returned: true

> inv filthy

filthy pestle
filthy poultice (26)

> equip

Hat: filthy knitted dread sack
Weapon: time sword
Off-hand: time sword
Shirt: General Sage's Lonely Diamonds Club Jacket
Pants: filthy corduroys

Acc. 1: dead guy's memento
Acc. 2: plexiglass pocketwatch
Acc. 3: stainless steel solitaire

Pet: Hobo Monkey (40 lbs)
Item: tiny bindle
In all of these tests, the Filthy Hippy Disguise was available in the Gear Changer.

Any chance this is related to the custom outfit detection? Changes 9018 and 9025?
Custom outfit detection used to look at the equipment page and get the names of any outfits with id < 0 - custom ones. We never detected regular outfits that way - and still don't. We did (and do) detect regular outfits by looking at what you had in your inventory. That's how we add them to the Gear Changer immediately whenever you acquire the last outfit piece - from a fight, the mall, whatever - rather than requiring you to visit the equipment page.
 
Last edited:

Darzil

Developer
Any chance this is related to the custom outfit detection? Changes 9018 and 9025?

Downloaded 9017, wearing Mining Helm (no other outfit piece). Mining Outfit available in Gear Changer dropdown.
Downloaded 9018, wearing Mining Helm (no other outfit piece), Mining Outfit not available in Gear Changer dropdown.

No idea why Veracity isn't seeing the same, and clearly no idea if others are seeing the same as me.
 

Veracity

Developer
Staff member
Well, that looks convincing. Wish I could reproduce it!

I looked at the changes I made to EquipmentRequest and EquipmentManager and it appears I removed a request to update the outfit list after parsing the equipment page. I assume that's the issue.

Revision 9035
 
Top