Roleplay +Prefs

Hello! Here is code for you if you want it. It's about 99% done. It'll work well as it is, there's just one command I haven't finished yet. I'll update here when I do. You can change the categories you think your game might support via changing &data.categories prco=category1.category2.category3.etc. And then the code needs no other updates.

Prefs is code that is meant to help people find likeminded RP partners.

+prefs
This command will show your preferences.
+prefs <name>
This command will show you someone else's preferences.
+prefs/list
This command shows you the list of available categories.
+prefs/set <category>=<0-5>
This command lets you rate from 0 to 5 how much you enjoy that kind of RP. Think of these ratings like stat dots. 0 is no interest, 1 is mild, 2 is neutral, 3 is interested, 4 is significant, 5 is what you absolutely love. Roughly.
+prefs/note <note>
This code sets a note on your +prefs expanding or explaining anything you choose.
+prefs/find <category>
Finds all connected people with the specified category rated 3+.

:::::::::::::::::::::::::::::. Cobalt's +Prefs .:::::::::::::::::::::::::::::
Action: **
Adventure: ***
Casual: ***
Comedy: **
Conflict:
Mystery: ***
Public: ***
Romance: **
Social: ***
Note: Every time I write these words they become a taboo
Making sure my punctuation curve every letter is true
Living my life in the margin and that metaphor was proof
I'm talking poetic justice poetic justice
If I told you that a flower bloomed in a dark room would you trust it?
I mean you need to hear this
Love is not just a verb it's you looking in the mirror
Love is not just a verb it's you looking for a maybe
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Hey @Cobaltasaurus, this looks cool! How comfortable are you with someone modifying it and using it for a slightly difference means?

My general idea is to change this from rp-prefs to actual character traits, such as, say, how confrontational your character is, how much your character cares about the suffering of others, etc. I think I would lock it down to use during cgen, and make it replace a background.

Hey @Cobaltasaurus, this looks cool! How comfortable are you with someone modifying it and using it for a slightly difference means?

My general idea is to change this from rp-prefs to actual character traits, such as, say, how confrontational your character is, how much your character cares about the suffering of others, etc. I think I would lock it down to use during cgen, and make it replace a background.

@Cobaltasaurus Got it! Thanks. My current plan is have a questionnaire that spits out data into the attrib that +prefs will read. Will let you know how it works! (Or you can see if you pop in when game is open.)

@Misadventure Not to be the cynic here but almost everyone will claim they are super mature about this kind of thing until it actually happens. At least I've never actually met anyone who openly admitted they are a big baby when they stand to lose.

He who takes offense when not intended is a fool. He who takes offense when intended is a greater fool.

I'm on a tablet and I can't check, mostly I can't remember if delete works that way. Maybe ldelete()? Anyhow, what I want deletes words at a numeric list of positions. You are skipping the first one with rest(). Should work.

I do, but I never give up a chance to see if you want to jump on a particular code-wagon.

Without the help files in front of me, I can think of a few things:

escape() instead of secure(). Escape will comment out commas and similar. However, when you read the attribute, you will probably need to s( get( <blah> )) to turn it back into legible text.

The attribute flag 'no_parse' (or possibly 'no_parse') on the $command attribute. This will mean that the system is reads the text as typed (tho space compression still happens). The danger here is that when you read it, you must use get() or v(). If you don't, you risk running the contents as the object, which could be pretty horrible. If this is what you want (it happens), you want to do it this way: [setq( x, get( <blah >))][eval( %#, s( %qx ))] <-- there may be better ways to do this.

If you're using my update to @Sammi's notes system, the latter half of the 'no_parse' method is kind of what I do, because showing a %r as a return is pretty darned important for notes. What I think I do is more like this:

THIS IS SUPER DUPER IMPORTANT. If you are using this code please, please, please replace this function with this:

&fn.dispref prco=[repeat(
*,
after(
graball(%0, %1*, .),
:)
)]

The code that was bad was bad recursion, and caused Fallcoast to crash. So please., please go in and change 'fn.dispref' to what's above. If you must have the - for non-set prefs, I'll have not bad code up eventually.