New Content - Implemented eXtreme Cold Weather Gear

fronobulax

Developer
Staff member
r11334

(Pastamancer in a HC Bugbear run, in case it is relavent).

I set the location to McLarge: eXtreme slope. I set (and check) the condition to outfit. I enter the number of adventures that I currently have available as the number of turnips (am I getting the vocabulary right?) and press Begin. It stops when it gets to zero adventures. I eat, check the Gear Changer and it says I can equip the eXtreme Cold Weather Gear (but I do not do so). Since I deem it unlikely that I completed the outfit on the very last adventure, I set things to autoadventure for 5 turnips with outfit as a goal. It stops when the five adventures have elapsed.

I seem to recall that in some cases when a condition is a collection and some of the items are present, mafia will replace the condition text with the specific items that are missing. That did not happen.

I am guessing that something got missed with the quest revamp, but I have not looked for it myself, yet.
 

Theraze

Active member
When I manually told it to add the outfit, mafia said in the gCLI that there was no outfit associated with the eXtreme Slope. Like so:
> set_location extreme slope

Returned: void

> goals add outfit

No outfit corresponds to eXtreme Slope.
 

fronobulax

Developer
Staff member
Thanks. So I guess this is a FR to add the outfit as a condition since we have been over the much larger issue of having mafia somehow validate that the condition makes sense for the area and are unlikely to implement that.
 

Veracity

Developer
Staff member
EquipmentDatabase.getOutfitId( KoLAdventure adventure) needs to be updated.

Code:
		// The slope has eXtreme cold weather gear
		if ( adventureId.equals( "63" ) )
		{
			return 7;
		}

- "63" is the old eXtreme Slope.
- Why is that constant hard-coded, rather than using something from AdventurePool?
- Why is "7" as the outfit ID hard-coded rather than using something from OutfitPool?

The answer to the latter two is that this code was written before we started extracting hard-coded constants into files where we can define names for them and was never migrated over to use the new system.

If we had done so, then simply changing that file when a snarfblat changes would have automatically fixed this.
 

lostcalpolydude

Developer
Staff member
That's updated in 11335.

Only barely related, I don't really like that AdventurePool has ints and Strings. The alternative is to pick one (int would fit with all of the other Pool files) and make other code adapt to that data type. I could do that, unless there's a place where it would actually be a bad idea to switch to ints for that.
 

roippi

Developer
I agree that the mixture of datatypes is messy. I don't know why it's like that, but converting the pool to an Enum is always an attractive option in my head.
 
Top