Feature - Rejected Use reflection of maps

Mystia

Member
I've got 40 reflections of a maps in my inventory, but to turn them into queen cookies, the process is tedious. Perhaps there could be a command to automatically turn a map into a cookie?

Unless there already is one and I'm just blind
 

Veracity

Developer
Staff member
Yes. We will not add a built-in script to get such-and-such a result from the reflection of the map, just as we don't supply a built-in script to fetch such-and-such a result from the Wormwood. Use the script that slyz pointed you to.
 

Raijinili

Member
Related: How about keeping track of reflections of a map?

For those who don't know: Every Drink Me gives you a +1, and every dropped reflection is a -1. Reflections only drop at >0. Resets to 0 on ascension.
 

Veracity

Developer
Staff member
Those are "related" in the way that a bird is "related" to an airplane because they both have wings...

You didn't look at your preferences before suggesting that, did you?

Take a look at "pendingMapReflections" ...
 

Raijinili

Member
Hey, I find that offensive! My cousin's a birdplane, and he has it hard enough without people making fun of his heritage.

Anyway, I don't read through the preferences. I rely on the "help" command. Is there some way to search through those variables without opening your pref file? As in, through the CLI in particular?
 

Winterbay

Active member
There is the wonderful prefref-alias whcih is floating around in this forum somewhere (I don't have my mafia here at the moment so cannot look it up).
 

Bale

Minion
Mine is a little different than the norm, but I'll copy-paste it here. The extra functionality won't hurt anything.

Code:
alias pref => ashq record r{string d;};r[string,string] m; string[int]a; file_to_map("defaults.txt",m); matcher s = create_matcher("(\\w+)(\\s=*\\s*(\\w+))?",$string[%%]); if(find(s)){foreach t,p,d in m if(to_lower_case(p).contains_text(to_lower_case(s.group(1)))) {print(p+" ("+t+", now '"+get_property(p)+"', default "+d.d+")"); a[count(a)] = p;}if(s.group(2)!="0"){if(count(a)==1)set_property(a[0],s.group(3));else print("You do not match exactly one preference!","red");}}else print("Invalid parameters","red");

It works like this:

Code:
[COLOR="#808000"]> pref map[/COLOR]

lastLouvreMap (user, now '141', default 0)
lastVioletFogMap (user, now '141', default 0)
pendingMapReflections (user, now '0', default 0)


In case anyone's curious, the bonus functionality to my version is that it can also do this:

Code:
[COLOR="#808000"]> pref slimeling = 0[/COLOR]

slimelingFullness (user, now '1.5', default 0.0)
slimelingFullness => 0

I find it tiresome to have to remember the exact name for a preference or capitalize anything so I added that function to this command only if there's a single match.

ICK. I just realized there's a problem with my matcher. It won't set properties to floats since a period is not part of a word. Oh well. That actually hasn't hurt me yet so I won't worry about it much, but anyone who corrects my regexp gets my thanks.
 
Last edited:

Winterbay

Active member
While we're on the theme of preferences. Is there any way to get that alias to also find and list user-defined preferences? It's slightly bothersome to have to either go dig in a script file for the correct preference or open up the preffile just to see what they are set to.
UR and BCCascend are two scripts that come in mind (i.e. ones that do not rely on zlib variables).
 

Alhifar

Member
Bale: Simply change this:
Code:
matcher s = create_matcher("(\\w+)(\\s=*\\s*(\\w+))?",$string[%%]);
to this:
Code:
matcher s = create_matcher("([\\w\\.]+)(\\s=*\\s*(\\w+))?",$string[%%]);
 

Bale

Minion
Wait... what? I don't want a decimal point in the name of the preference. I want it as an possibility in the value which is after the equals sign. Wouldn't that be...

Code:
matcher s = create_matcher("(\\w+)(\\s=*\\s*([\\w\\.]+))?",$string[%%]);

Yes?
 

Bale

Minion
I thank you anyway, I knew there was an easy way to do that, but I always have to get myself into a regex frame of mind to do those. regex is tricky for me.
 
Top