Comments (8)
Confirmed. The local scope action is selected when trying to execute the action, but anything involving name matching is selecting the global scope action instead of the local one whenever the priority values are equal.
from fuzzball.
Could be an unintended side effect of commit bc98723. I’m not by a computer today, so if you’re in a position to revert the commit, I’d appreciate the testing! Either way, I’ll be able to look at it sometime tomorrow.
If I remember correctly, SPR’s previous compile date was July 6? If that’s right, that commit seems to be the only one affecting matching. But I only looked briefly.
Sorry for the inconvenience :(
from fuzzball.
That appears to have partially solved the issue, but this gets a little more strange now.
With that commit reverted, if I try to examine a player that has a name that conflicts with a global scope exit, I will either get the global scope exit, or the local player, and it's random as to which one I get.
@muf "PlayerName" match
repeated ten times:
Program compiled successfully.
[%] Result: #231
Program compiled successfully.
[%] Result: #174407
Program compiled successfully.
[%] Result: #174407
Program compiled successfully.
[%] Result: #174407
Program compiled successfully.
[%] Result: #231
Program compiled successfully.
[%] Result: #174407
Program compiled successfully.
[%] Result: #231
Program compiled successfully.
[%] Result: #174407
Program compiled successfully.
[%] Result: #231
Program compiled successfully.
[%] Result: #231
from fuzzball.
Apparently, this issue has existed for quite some time. So not as critical.
Update: Apparently, this issue is present on FM as well.
from fuzzball.
Great. I’ll officially revert that commit tomorrow. I ran into the same issue, on mucks with the “delimiter” command: by repeatedly issuing the “;” command, it was random what would actually execute.
Thanks for reminding me of it. The matching routine for exits and contents DOES randomly choose one if there are two equally named choices. If there’s not much more to it, perhaps it should favor a local exit.
from fuzzball.
More specifically, choose_thing() needs to choose the more local before tossing a coin.
from fuzzball.
That was my thinking. In our case, the player was the local thing for "examine," and it would select the local player or the global exit randomly. Thanks!
from fuzzball.
Commit reverted. Locality check should be in an upcoming fix.
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
- Idea: exit and program restrictions HOT 5
- 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.