[ yn / yndd / fg / yume ] [ o / lit / media / og / ig / 2 ] [ ot / cc / x / sugg ] [ hikki / rec ] [ news / rules / faq / recent / annex / manage ] [ discord / matrix / scans / mud / minecraft ] [ aurorachan / desuchan / sushigirl / lewd ]

/mud/ - Dream World MUD

Discussion board for Dennis MUD (the software) and its public test instance, the Uboachan Dream World MUD server.
Name
Email
Subject
Comment
Verification
File
Password (For file deletion.)

Seisatsu's Lost Cities Minecraft Server is up to current again (1.17.1) if you'd like to take another look!
We have a pretty unique gimmick if you haven't seen it yet. :)

File: 1550875799420.png (90.32 KB, 400x219, lever.png)

 No.5

This thread is for planned features, and updates when new features or bugfixes are introduced, or things are changed.

Currently, I am planning some features for items and exits to finally do some more stuff.

> imbue item <id> <action> <text>

This command, similar to decorate item, will let you set custom text to broadcast when an item is used. The difference is that you will be able to set the broadcast response to a custom command to be used on an item. Any number of imbuements can be added. If the action is "use", then the effect is identical to just using "decorate item".
> Ex. 1: imbue item 4 pull pulled the lever, but nothing happened.
In this example, assuming that item 4 is named "big lever", when a player enters the command "pull big lever", the text "Playername pulled the lever, but nothing happened." will broadcast.
> Ex. 2: imbue item 5 """look into""" looked into the crystal ball.
In this example, a multi-word custom action is set by surrounding it with triple-double quotes. If the item is named "crystal ball", then the custom text will be broadcast when the player runs the command "look into crystal ball".
> This also works with the %player% marker.
> Possible custom commands that can be used on an item will be listed when the item is looked at.

> unimbue item <id> <action>

Removes an imbuement from an item.

> imbue exit <id> <action>

This command sets an alternative command that can be called by a player to take an exit. It makes taking an exit seem more natural.
> Ex. 1: imbue exit 3 climb
In this example, if exit 3 is named "ladder", then in addition to being able to use the exit with the command "go ladder", the player could also do "climb ladder" and they would use the exit. Any number of imbuements can be added. Since <action> is the last argument, you do not have to use triple-double quotes to define a multi-word action.

> unimbue exit <id> <action>

Removes an imbuement from an exit.

> pair telekey <item> <room>

This command sets the item <item> to teleport the user to <room> when used.
> Ex. 1: pair telekey 4 12
In this example, item 4 will teleport a player to room 12 when they use it.

> unpair telekey <item>

This undoes the "pair telekey" command.

> rig item <id> <action> <effect> <arguments>

This command allows fine-tuned control over stuff that will happen when specific custom commands are used on an item. It is useful to use "imbue item" in conjunction with this command. The first effect that will be added is "teleport". Similar to "imbue item", multi-word actions can be defined with triple-double quotes.
> Ex. 1: rig item 4 pull teleport 12
This is similar to using "pair telekey", except while "pair telekey" will cause the item to teleport a user when the use command or any custom command is used on that item, with this example, the item will only teleport the user when they "pull" it. If there is custom broadcast text set for the "pull" action on item 4 with the "imbue item" command, that text will be broadcast. Otherwise the default decoration will be broadcast. One item will be able to have multiple different effects depending on how it's used.
> Other planned rig effects:
> "lock exit" / "unlock exit": Lock or unlock an exit in the current room.
> "hide item" / "unhide item": Makes an item disappear or reappear in the current room.
> "hide exit" / "unhide exit": Makes an exit disappear or reappear in the current room.
> "toggle item" / "toggle exit": Like "(un)hide item" or "(un)hide exit", except the state switches back and forth every time it is used.
> "toggle lock": Like "(un)lock exit", except the state switches back and forth every time it is used.
> for (un)lock exit, (un)hide item, (un)hide exit, and toggle item/exit/lock, if one argument is given, it is the item or exit id in the current room; if two arguments are given, they are the room id first, and then the item or exit id.

> (un)hide item <id>

Hide the item <id> so that no one can see it is there, look at it, or pick it up until it is unhidden. This ties into the "hide item" effect for the rig command.

> (un)hide exit <id>

Hide the exit <id> so that no one can see it is there, look at it, or use it until it is unhidden. This ties into the "hide exit" effect for the rig command.

 No.7

> Added the "enable autolook" and "disable autolook" commands.

 No.29

It's been a long time, hasn't it! About a year and a half since I did any real work on this project.

Aside from a ton of behind the scenes overhauls and cleanups in the past two weeks (dozens of hours worth), I've added Telekeys! A Telekey is an item that teleports the player when they use it. See the `pair telekey` and `unpair telekey` commands.

I also added the `list entrances` command, which lists all of the exits in other rooms that lead to a room that you own.

Besides that, a bunch of things were tweaked or fixed, and there may be some new bugs. One neat new smaller feature is that you can now tell by looking at an item you own if it's glued or duplified.

The web interface has also been redesigned to (hopefully) be somewhat usable on most smartphones.

Overall the code is super well documented now, and the command modules are smaller and easier to read because they follow a standardized style now, and because the most common tasks have been moved into shared functions.

Also, for people who want to run their own games, it's super easy now because the world is stored in a flat file database instead of MongoDB (which can be a fucking headache to set up and maintain.) This also means that you can easily share worlds with each other just by sharing a file, instead of having to be a level 50 archmage.

 No.30

I added a feature that's been requested a few times: sitting down. I added laying as well. Here's how it works.

The `sit`, `lay`, and `stand` commands affect the player's description and perform a pre-defined action. The `sit` and `lay` commands can be performed by themselves or with an item, and the `stand` command can only be performed on its own, and undoes the description modification from `sit` or `lay`. Trying to `sit` or `lay` while already doing it will `stand`. However, you can move from sitting to laying, and vice versa, and you can always sit or lay on a different item. If the player takes an exit while sitting or laying, they will stand first, but if they leave by teleporting they will not change positions, but will no longer be sitting or laying on an item, just on the ground. A player cannot `sit` or `lay` on an item in their inventory, only one that is in the current room.

> `sit [item]`

* Without an argument, does the action "Player sat down.", and adds the line "They are sitting down." to the end of the player's description.
* With an argument, does the action "Player sat down on (item).", and adds the line "They are sitting down on (item)." to the end of the player's description.
* Has the aliases `sit on`, `sit down`, and `sit down on`.
* If the name of the item given doesn't start with one of "the", "a", or "an" followed by a space, the word "the" will be added before the name of the item.

> `lay [item]`

* Without an argument, does the action "Player laid down.", and adds the line "They are laying down." to the end of the player's description.
* With an argument, does the action "Player laid down on (item).", and adds the line "They are sitting down on (item)." to the end of the player's description.
* Has the aliases `lay on`, `lay down`, and `lay down on`.
* If the name of the item given doesn't start with one of "the", "a", or "an" followed by a space, the word "the" will be added before the name of the item.

> `stand`

* Does the action "Player stood up.", and removes the references to sitting or laying from the player's description.
* Has the alias `stand up`.

 No.32

I finally made the first Alpha release! This includes Windows binaries. You can grab it at https://github.com/seisatsu/Dennis/releases/tag/v0.0.1a-alpha

 No.33

Alpha-0.0.2 - The Ownership Update

This update primarily adds a distinction between primary and secondary ownership of world objects. Primary owners have special permissions, such as being unable to have their ownership removed by another owner, and being the one who receives an item whose parent room is broken. Here is a breakdown of the new features and changes in this release:

* Added the `transfer exit/room/item` commands for transferring primary ownership.
* Added the `give` command, which lets you give an item in your inventory to another player in the same room.
* Added the `set pronouns` command for the player to set their pronouns. This was necessary for the posture text from sit and lay to format with correct grammar in all cases.
* Added the `return item` command which returns an item in your inventory to its primary owner's inventory.
* Added the `return inventory` and `return room` commands, which return all items in your inventory or all items in a room that you own respectively to their primary owners.
* Added rotating backups; the server will keep up to a specified number of backups, rotating them each time it is started.
* Automatically add "the" in front of the names of items in certain various circumstances.
* The `enable/disable chat` commands and the `enable/disable autolook` commands are now `set chat` and `set autolook`.
* The `break room` command now returns items in the room to their primary owners, instead of losing them.
* The `requisition` command was renamed to `requisition item`.
* Improved reporting in the `list exits/items/rooms/users` commands.
* Fixed a bug that caused `list entrances` to just list the first entrance repeatedly.
* Fixed a bug that caused `break item` to not remove the item from the room it was in if used by a wizard who wasn't holding the item.
* Fixed a bug that caused looking at yourself to only work if `look self` was all lowercase.
* Fixed a bug that caused the `unduplify item` command to not actually unduplify items.
* Improved error reporting.
* Various other bugfixes and improvements.

Download: https://github.com/seisatsu/Dennis/releases/tag/v0.0.2-alpha
Play Online: https://play.dennismud.xyz/

Edit: I moved us back to https://dream.uboachan.net/ and https://play.dennismud.xyz/ is now a separate public test instance with a different world.

 No.34

Alpha-0.0.3 - Lots of Stuff!

The biggest features in this release are custom actions upon entering a room, partial name matching for many commands, more command aliases to better match what users expect, command line arguments for the singleuser and server programs, tags for properly formatting action grammar taking pronouns into account, a recovery code system for recovering lost passwords, config file validation, and lots of restructuring and minor bugfixes.

* Added the (un)decorate entrance commands for custom actions upon entering a room.
* Added partial name matching for help, look, go, drop, get, give, and use.
* Added lots of useful / generally expected command aliases.
* Added command line arguments for the server and singleuser mode.
* Added %noaction%, %they%, %them%, %their%, %theirs%, %themselves%, and %s% tags for action/pronoun formatting.
* Added an optional "seconds" argument to the shutdown command.
* Added a recovery code system (`recover`) for resetting lost passwords.
* Added brute force protection for logins.
* Tell users in exitless rooms how to use xyzzy to return to room 0.
* Replaced Twisted's logging facilities with our own.
* Validate configuration files with jsonschema.
* Give an error on duplicate command names.
* Provide CONFIG to command modules as a builtin.
* Fixed a bug that prevented telekeys from working properly for room 0.
* Lots of code restructuring and minor bugfixes.

Download: https://github.com/seisatsu/Dennis/releases/tag/v0.0.3-alpha

Play Online (Uboachan Dream MUD): https://dream.uboachan.net/
Play Online (Public Test Instance): https://play.dennismud.xyz/

 No.36

Small but significant: You can now use exits just by typing their name, without having to use the "go" command". So "go north" can just be "north" now. It works with partials as well, so "n" will go north too if no other exit contains the letter "n", as will "no" and "orth", etc. This is a feature a lot of people expected, but took me a while to get to. It ended up being easier than I thought it would be, partly because of other developments in the codebase since the last time I considered it.



[Return][Go to top] [Catalog] [Post a Reply]
Delete Post [ ]
[ yn / yndd / fg / yume ] [ o / lit / media / og / ig / 2 ] [ ot / cc / x / sugg ] [ hikki / rec ] [ news / rules / faq / recent / annex / manage ] [ discord / matrix / scans / mud / minecraft ] [ aurorachan / desuchan / sushigirl / lewd ]