depwl9992 / anomalyjobs

Automatically exported from code.google.com/p/anomalyjobs
0 stars 0 forks source link

+job/source and /tag behavior #174

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I'd like to conform the /source and /tag behaviors, and how these things are 
set.

Right now, /source can take a list of people, but it's an 'all or nothing'. 
It'd be handy if /source can do a bitwise shift when a name is encountered, 
either adding them if they aren't sourced on the job, or removing them if they 
are. So if Bob and Ted are sourced, and you '+job/source Ted Mary', it'd remove 
Ted and add Mary.

Perhaps the current behavior can be replicated with '+job/resource <list of 
player>' and have it wipe the old list and put in the new list.

The same with /tag - it should allow for lists of people too (if it doesn't 
already, I've not tested it specifically for it).

People find the economy of /tag easier to do than retyping everyone in a 
/source list, especially if you get a large group, and redoing it every time is 
a chore. But /tag has informational-security issues - the tagged player can 
read every entry in the job, even what needs to be private, but you can quickly 
add a player to the job. So there's been a trade-off, informational security 
for economy, when we can easily accommodate a merged behavior and get people 
back on the /source, as intended, and use the /tag function for an 'elevation 
of privileges' purpose rather than its common 'you need to look at this job' 
purpose.

Original issue reported on code.google.com by Fleety...@gmail.com on 23 May 2014 at 5:08

GoogleCodeExporter commented 9 years ago
I'm not a fan of changing existing behavior that people have been using (adding 
vs. toggling), particularly when that behavior is consistent and well-defined:
- Source has only one command, which essentially means "set the source to X".
- Tag always adds tags (it accepts "lists" in the form of jgroups) and Untag 
always removes them.
Changing either of these commands to start removing people unexpectedly is not 
a good idea.

That said, there are a few changes I think would be ok:
- Allow /source to use jgroups and the /tag and /untag commands to use lists.
- Create a new command which accepts individuals or lists and toggles them, 
e.g., 
   +job/source/toggle #=name or list
   +job/tag/toggle #=name or list

Original comment by widdis@gmail.com on 23 May 2014 at 3:29

GoogleCodeExporter commented 9 years ago

Original comment by Fleety...@gmail.com on 27 May 2014 at 2:45