Comments (5)
We can't deprecate the guest/vehicle/zombie flags for rooms - that is widely used (I use it on my own MUCKs and I've seen it used elsewhere). That's one of those things that would sneakily break something :) And it doesn't hurt anything to keep it.
Regarding flags on exits, I largely agree to the utility -- I am unsure what "cannot be forced" would stop on an exit ? Because you can't force exits or programs? -- and I don't think any of those flags are currently used on exits so we might just want to straight up implement it. I don't see a harm or need to make it tunable; if anyone can do it for a room today, they may as well be able to do it to exits too.
Devil's advocate time - the alternative would be to improve @lock
to be able to lock on flags and/or MPI. I believe we already have an issue to make locks work with MPI. If locks worked with MPI, then {flags} and a somewaht clunky set of string comparisons (... MPI doesn't seem to have a check-if-flag call) could be used to do the same thing.
That said ... as the kids say, por que no los dos? Doing it one way doesn't exclude the other, and implementing flags on exits is relatively simple from a code perspective.
Anyway, I'm rambling now: the TL;DR: I think we should implement the flags on exits and this is a good idea, and I don't think they need any proplist/@tune
parameters, just implement it straight up. Not everything has to be configurable, and this is expanding on an existing idea of the same ilk with no potential harm that I can see.
from fuzzball.
Agreed on the room flags; I should have thought about that more before suggesting. Lots of early-morning obfuscation in this Idea.
For clarification:
- "cannot be forced" should have been stated as "cannot be used by an object being forced"
- programs with a no-vehicles or no-zombies mark would be a second line of defense against people linking their own exits.
But probably those are limited use cases. Not doing them solves the "these flags are already used by these objects" problem that made me suggest a property to track them.
We can certainly add an MPI-parsing option to @lock
, and an easier "check_flag" function.
from fuzzball.
Oh I see, I think I misunderstood your proposed scope.
I was thinking you were going to add these flags just to exits, which don't use any of the proposed flags I don't think.
You're talking about putting them on programs and other objects that DO use those flags, too? Hmm. I'm not sure that's practical or even necessary ... to block a zombie from a MUF program, for instance, is a simple:
me @ "z" flag? if exit then
While I know not everyone is technical enough to know how to do that, I think the audience that would care about zombies using a program probably would. Or simply don't allow people to link to the program :)
If we do add an MPI call, should probably call it {flag?:...}
to make it match the MUF. :D
from fuzzball.
That's fair. Ok, this becomes:
- Add lock-parsing to MPI (already an Issue)
- Add a
{flag?}
MPI function (this probably will initially have duplicated code in it) - Add G, V, and Z to exits to prevent their use by those flagged objects a la rooms.
from fuzzball.
Perfect! {flag?}
is a different issue, I'll go ahead and put this in. And then this issue can become bullet 3 on your list there.
from fuzzball.
Related Issues (20)
- READ from MUF called on Welcome Screen causes oddities HOT 1
- {force} allows escape character in input HOT 2
- Use XML to store helpfile content
- Make users always have a new dbref HOT 4
- Improve READ handling on Welcome Screen
- Appveyor build failing with Conan 2.0 HOT 1
- Wizards can GUEST themselves, but can't un-GUEST themselves HOT 3
- It Might Be Possible to Stack Overflow in propqueue(...) in timequeue.c HOT 1
- Idea: categorize messages (including in-server) with prefix coding HOT 3
- Propqueue Documentation Improvement HOT 2
- Oddities and server crash while MUF debugging
- DESCRDBREF is not a direct replacement for CONDBREF HOT 10
- RIDE program on starterdb not properly configured HOT 2
- Page needs 'W' bit HOT 1
- Improve abort_interp macro to avoid usage of globals HOT 4
- Add flag? MPI Function HOT 2
- @restart within docker doesn't bring the MUCK back up
- Look into hanging unit tests
- New password hashing algorhithm causes crash on login HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fuzzball.