Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue Jan 06, 2009 5:52 pm   

[3.03a] Directions Editing and longstanding directions work-around
 
Various items regarding 'Directions':

1) When I look at the directions in 3.03a I no longer see anything in the folder for the normal view. I have to change over to the xml view to be able to edit them. Is that an oversight? Previously there was a form in the normal view for editing directions objects. Is it now normal practice to edit them directly in the xml?

2) When defining multiple actions that can cause a movement in a direction (see below), Cmud uses the item with the longest text as the default command for movement/mapper. So for my definitions below, if I didn't have a space padded item as the longest, it would try to either tumble or burrow by default (they are longest) and it would also use those as the direction definitions in the mapper window. Can something be done about the way this works? Can it either use the first item by default or allow us to specifically pick which item is used?

Code:
<class name="Directions" id="2256">
  <dir name="n" reverse="s" dir="n" id="2257">n|             n|north|swim n|leap n|tumble n|crash n|burrow n</dir>
  <dir name="s" reverse="n" dir="s" id="2258">s|             s|south|swim s|leap s|tumble s|crash s|burrow s</dir>
  <dir name="e" reverse="w" dir="e" id="2259">e|             e|east|swim e|leap e|tumble e|crash e|burrow e</dir>
  <dir name="w" reverse="e" dir="w" id="2260">w|             w|west|swim w|leap w|tumble w|crash w|burrow w</dir>
  <dir name="k" reverse="j" dir="sw" id="2261">sw|             sw|southwest|swim sw|leap sw|tumble sw|crash sw|burrow sw</dir>
  <dir name="j" reverse="k" dir="ne" id="2262">ne|             ne|northeast|swim ne|leap ne|tumble ne|crash ne|burrow ne</dir>
  <dir name="h" reverse="l" dir="nw" id="2263">nw|             nw|northwest|swim nw|leap nw|tumble nw|crash nw|burrow nw</dir>
  <dir name="l" reverse="h" dir="se" id="2264">se|             se|southeast|swim se|leap se|tumble se|crash se|burrow se</dir>
  <dir name="i" reverse="o" dir="other" id="2265">in|             in|swim in|leap in|tumble in|crash in|burrow in</dir>
  <dir name="o" reverse="i" dir="other" id="2266">out|             out|swim out|leap out|tumble out|crash out|burrow out</dir>
  <dir name="u" reverse="d" dir="u" id="2267">u|             u|up|swim u|leap u|tumble u|crash u|burrow u</dir>
  <dir name="d" reverse="u" dir="d" id="2268">d|             d|down|swim d|leap d|tumble d|crash d|burrow d</dir>
</class>


3) Could several additional 'other' directions be added? Having both an 'in' and an 'out' and only having one 'other' direction available is not adequate. I have to define both 'in' and 'out' as 'other' in the directions and this becomes very nasty when the room actually contains both an 'in' and an 'out' exit. Having several 'other' type exits, like 'other1', 'other2', etc would be very helpful in working with non-standard exits. Perhaps 'other1' could be a '+' sign, 'other2' could be a '-' sign, 'other3' and 'other4' could be 'left' and 'right' arrows, etc. Perhaps there could be lots of defined 'other' graphics and we could just pick the 'other' graphic that best suited what the direction is used for.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Jan 06, 2009 6:22 pm   
 
1) If you want to edit Directions in the package editor, you need to turn them on via the View/Show/Directions menu option. The normal way to edit directions is with the normal View/Directions menu command in the main MUD window. That opens a simpler editor for editing directions. This is done to reduce the clutter in the package editor since Directions don't usually get manipulated as extensively as other settings (like putting them in classes, etc). But you can still edit them in the package editor if you want by using the View/Show menu.

2) I am looking into that in the new mapper. In general, I am trying to improve how the mapper handles different prefixes for movement, such as swim, leap, tumble, etc. I'd like to implement a more general system for handling those special types of movement so that you can better script them. For example, a link between rooms marked as a "swim" link should only be accessed when you have the "swim flag" enabled (like you are carrying a boat or somehow able to swim). With a better system for handling this, CMUD could determine whether or not to include "swim" links in a speedwalk calculation, for example. In an improved system, you wouldn't need to list all of these possible movement verbs in your directions, which would simplify your direction code.

However, that doesn't really answer your question. Regardless of how CMUD handles movement verbs in the future, there will still need to be a better way to specify which command is sent to the MUD. I'd lean towards always using the first item in the direction list, but I will need to review all of the mapper code that uses the direction commands to see how this might conflict with other code. So it is something that will happen during the rewrite, but it's not a quick or trivial change.

3) There shouldn't be any problem having multiple "other" directions in the same room. Rooms are allowed to have any number of "other" exits. The "other" keyword in the Direction definition just tells the mapper which direction to create the new room when adding rooms. For example, if you gave "in" a mapper direction of "n", then when the mapper created a room in response to an "in" direction, the new room would be created to the north of the current room. The "other" direction just tells the mapper that there is no default space in the map to create the new room and adds the small black circle icon to the room to indicate that it has an "other" direction.

Having other graphic symbols for "other" exits is an interesting idea and something I'll try to support in the future.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue Jan 06, 2009 6:45 pm   
 
Thank you for your descriptive answers.

Just as a clarification to point #2)
Your explanation touched on how the Cmud speed-walker will work with non-standard movements. However, I just wanted to clarify that the issue I was trying to solve was one where perhaps normally I just use 'ne' to move from one particular room to another. However, if someone suddenly starts blocking the exit, I'd need to see the failure and switch to 'leap ne' to make the movement. So slightly different context, but it sounds like you might have already comprehended these items as part of your overall work objective.
Reply with quote
Fang Xianfu
GURU


Joined: 26 Jan 2004
Posts: 5155
Location: United Kingdom

PostPosted: Tue Jan 06, 2009 8:47 pm   
 
#2 sounds awesome. Especially great would be if you were able to set custom room costs for flagged links, dependent on whether or not you have certain personal flags. For example, you might want to ignore swim exits when you can't swim (very high cost); when you can swim you might want the cost to be a bit higher than normal, because the MUD puts a delay in when you try to swim, so make that 5; and when you have waterwalking, the cost is just 1, same as always.

Perhaps something where you can set the flag type of a link, and each flag type for links can have a number of associated verbs and costs. For example, a "rubble" link might be cost 5 and require the word "tumble" normally, but when you have the FrogLegs buff, the cost should be 2 and the verb should be "leap". I dunno if that's too complex for the normal mapper and should be kept for CMapper.
_________________
Rorso's syntax colouriser.

- Happy bunny is happy! (1/25)
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Tue Jan 06, 2009 10:11 pm   
 
For 3 it might also be nice to set which corner the other symbol is displayed on with a per exit basis. I know if I have a room with both in and out I want to be able to tell that at a glance. As it is now the single dot just can't do it. Having different graphics usable in place of the dot would allow that I could set one to display a graphic for both in and out, and it would be fine as long as turned off draw link on the other. Probably we could do this for ourselves by tweaking with the link drawing ofsets, but that just doesn't work if you zoom view to a different level.
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Jan 06, 2009 11:16 pm   
 
Well, when I do #3 you'll have full control over where the icon is placed. Complete X/Y offset. You can even put it "inside" the room instead of outside. The link offset will be relative to the default offset for the icon. So you'll even be able to have multiple exits with the same icon and still tell them apart. Currently the link offset doesn't do anything for Other exits (or for Up/Down exits either).
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net