Fixed a bug with GridSight not working on some terms.
There was an issue with the factions code that made it so if two people that were liked by a group, were in a room with group members, the victim would ALWAYS get the backup, if the two people fought in front of those NPCs.
Now, the backup goes to the person with the highest faction standing.
I've updated the results when you run a command to see what commands a device or location offers. The results when a command takes an argument have been updated to give a better idea of what is expected.
For example:
add_sic_guest => add a SIC ID to the guest list for X amount of seconds
– ARGUMENT 1: STRING with length between [12-12] (SIC ID)
– ARGUMENT 2: NUMBER between [1-2419200] (EXPIRY SECONDS)
Previously (SIC ID) and (EXPIRY SECONDS) were not present and you had to guess what the command wanted. Should be more clear now.
(Edited by Slither at 1:36 pm on 8/1/2025)
If you had a node with a line of text that was partially colored, the default-color for your term wasn't being applied.
I believe I have resolved this, but I had to make some changes to the way colors were applied. It's possible this has broken something that I haven't noticed. So please @bug any color wonkiness with nodes or terms in general.
(Edited by Slither at 10:14 pm on 8/1/2025)
Grid 3.0 doesn't pass the topic id when a new topic is created, so I can't do the notification with the ID [34330] like I want. Instead, if the topic id doesn't exist it will just say [Grid 3.0] instead of the ID. You can still go look at the topics in the forum and read it no problem, but the notification won't have the topic ID for new topics.
I have identified and fixed the bug that was causing PCs to put weapons away during combat. It was not random. Here was the situation and the context:
Player A is in a room with Player B and NPC A.
NPC A likes Player B (and will join combat to fight anyone who attacks them)
NPC A is holding something that IS NOT their best weapon (a progia, instead of a machete, for instance)
Player A attacks Player B
– Combat is created
--Player A joins combat.
-- Player B joins combat.
-- NPC A is notified that combat is happening
-- NPC A checks and realizes they like Player B
-- NPC A joins combat, attacking Player A.
----- NPC A executes 'hold best weapon' as part of joining combat
--------- hold best weapon checks if the NPC is holding something and finds they are
-------------- NPC runs 'freehands' command
------------------- freehands command uses the 'player' variable to see what items are being held in their hand, getting the WRONG item because 'player' is the player that started the combat in this context, then sheaths that object
-------------------- Player A sheaths their weapon
This was a difficult bug to identify. For anyone that knows MOO code, the 'player' variable in a verb is set to the player who initiated the initial verb that triggered any additional verbs to be called. 'freehands' was not designed to be called programmatically and was using 'player' instead of 'this' where this is the object the verb is being called on.
I've resolved the issue, and it should not happen anymore. If anyone sees this happen again, please @bug right away so I can investigate.
Apologies to anyone who was impacted by this bug.
Bars now have a new player accessible command: @submit-drink [bar]
Players who own the bar or are on the bar roster can use it to submit drinks
ADMIN CAN
@manage now has a new option (8) for admin to review player submitted drinks. They can edit the messages. It will automatically create the drink for the admin.
Admin will still need to add the drink to the bar after it is created.
Daemons were only intended to monitor one thing. Multiple monitor commands in a daemon should have been prevented but I missed that in both my code and the documentation. I have corrected this. I believe this will resolve some of the issues people were seeing with daemons not monitoring things properly.
I've added a new bit of code which can tell if a person is visibly disguised, and have begun using it in some places the code simply checked if someone WAS codedly disguised. This should make those with high disguise scores, walking around as other people with different names, work better.
This applies to:
- selling items at stores
- delivering crates
- scavenger npcs that want items
- NPCs that want items
It does not apply to the bank, and several other areas where it is problematic to deal with disguised people. The bank in particular is super annoying as it uses the literal character name in some places as it is super old code.
Hopefully this improves the experience for disguised folx.
I've updated the g links / g link code to refactor it, and make it support types of links better. All links that were cached in your session have been cleared to make way for the update, but moving forward, topiclinks, anchorlinks, and gridmail links, along with regular #link tags should get logged to terms correctly.
I've updated the messaging daemons receive when things happen on devices they are monitoring to make it more clear in cases where a backtrace isn't happening, that the notification is simply a detection of activity on the device
DAEMON MONITORING DAEMON INSTALLS
Daemons will now receive a notification if they are monitoring a device and a new daemon is installed on that device.
The 'node name' across all Brlang commands should now accept 50 characters of input and not 20, making it match the maximum node length.
If anyone has issues (if I missed a command) let me know via an @bug and I'll fix it right away.
The BrlangNode documentation has been updated as well.
The NodeEditing node was getting too big so I broke it out into NodeEditing and NodeEditingAdvanced. I also updated the documentation in several places.
I've also added a new #weather tag which shows the current weather with a little ascii visual of the weather, and a screen reader readout of the weather for those with accessibility turned on.
If you have a connected grid term to your gridsight and the term leaves your body, it will automatically disconnect and you'll see a disconnect message. This will happen if it is wrested, dropped, stolen, etc. I think I got all the cases, but if I missed any, let me know in an @bug report.
If your gridsight is linked to a term in your inventory, you can 'use term' without holding the term in your hands. ONLY works if you are linked to the term already. Lets you switch to using a different term (like a street term or held term) then switch back, without it being visible to anyone but you.
I used my trusty friend GPT5 which is getting pretty darn good at MOO code to review all 16k lines of code + properties and flag issues for me to review. It actually found a bunch of stuff that I had missed in my original reviews. So many I won't list them all, but generally:
- Fixed a lot of node/program/daemon messaging
- Fixed a bunch of bugs that would have resulted in TBs in edge cases across all grid code
- Fixed the code comments for a bunch of verbs with copypasta issues
- g programs scheduled was showing the wrong time
- Fixed a bug with notifications not being cleaned up properly
- A bunch of other stuff
(Edited by Slither at 5:13 pm on 8/31/2025)