Building

Welcome to the Wiki Article on Building for Dark Horizons!
There are several facets to building which will be briefly covered along with some code issues. If you have any questions in game, please feel free to contact the Head Builder on the game at the time. (Check +staff to find out who it currently is.) For current policies, costs, and additional rules, refer to Building Help.
There are three levels to building in progressive succession of what is required and expected to be done.
==Descing==
This is the first level but by no means the easiest. The desc is important in that it determines what the room looks like. It is not a code intensive part of the process and is usually the starting point for most individuals in the process of joining the build team. A good desc does not simply state what is in the room but rather describes it. Rather than telling the player, help them envision it. It is the difference between:
A white table standing on four legs.
Entwined legs etched with vine carvings that support a smooth granular surface which reflects the light from a nearby window.
More words doesn't make a desc better, a good desc is something that people can easily visualize and 'be there'. A very important part of Describing something (and in the exit messages) is to /NOT/ power pose. Do not say what players are/should be doing, let them decide that. A common one is 'So and so walks into the room' as an exit message. How do you know they're walking and not running? You don't. 
Descing consists of several parts. The first of which is the actual desc which command wise goes as follows:
@describe here=<description> There should be NO use of %t. If you wish to start a new paragraph simply do %r%r to create a line break. This is done so all descs are uniform and there is a conformity on the MUSH!
But, there are four other important parts of the desc that need to be done!
@desc <exit>=<description> This is to describe an exit. Solid doors? What kind, is there an emblem on them? What of the building they lead into? 
@succ <exit>=<message> This command will set the message that the PLAYER sees when walking through an exit.
@osucc <exit>=<message> This command will set the message OTHERS see when a player LEAVES a room through the exit.
@odrop <exit>=<message> This command will set the message OTHERS see when a player ARRIVES from the previous room.
==Design==
Room Design goes into the next step of the Build process. There are several more facets involved in doing this and it is the code side of building. This is what usually occurs first. Usually only experienced builders do this part of the process as it does take time. Room design involves creating a cohesive, well designed plan for how an area should work together. Dark Horizons has many unique coded systems such as +jump and +sight that should be utilized to make areas work. In addition, design should incorporate real estate, government areas, wilderness areas, exploration and adventure in its design. A brief overview of the code involved will be given.
@dig <Room Name>=<Exit There>;<Alias1>;<AliasN>,<Exit Back>;<Alias1>;<AliasN>
This command digs a room. Room names are structured specifically in the following format:
Planet Name: Area - Location (i.e. Coruscant: Government Sector - Senate Chamber)
@open <Exit Name>;<Alias>=<Room #>,<Exit Name Back>;<Alias>
This command opens just an exit from current location to <Room #>
These two commands are the bread and butter of setting up an area. Dark Horizon has special commands and attributes however to add to the feel of the world. These will now be covered:
&System Here=<System Name> This should always be added to a room. The System should be in all CAPS.
(i.e. &system here=CORUSCANT)
&Sights here=<List of DB#'s> A space seperated list of DB #s. These are the other rooms visible from the current room. This is used in binocular and snipe code and is very important.
(i.e. &sights here=#445 #2343 #9343)
&Combatants here=<5-250> This is a value between 5-250 of the number of coded armies that can participate in combat per turn.
(Use the following Code in order to quickly do Combatants. It will search all the rooms of the builder, and output a list of those that need combatants. Copy/paste the list into notepad and go through and add the necessary numbers. When done, repaste it back into the MUSH.)
@dol lsearch(me,type,room)=th [if([not([hasattr(##,Combatants)])],@@ This is for [name(##)]%R&combatants ##=)]
&Clutter here=<Value 1-5> <Space Seperated List> Clutter is what vehicles hit, allow people to hide, and is thrown by Force Users. This is an extremely important part of room design as well. All Clutter /MUST/ be inanimate objects. Droids are allowable.
(i.e. &clutter here=3 astromech_droid speeder_bike)
General parameters for making the value might look like this:
1. small_rock
2. heavy_tree_branch
3. small_boulder
4. stone_column
5. starfighter
===Jumps===
The Jump system on DH is one of the most enjoyable parts for many types of characters. Jumps should be included in Room design but is a mildly complicated process at first. First, Jumps of over 20 meters generally will require a Jetpack except for some of the strongest Force Users. So when designing keep that in mind. There is nothing wrong with multiple Jumps to get to a location of short distance. A jump is set up like a regular Exit but is done with special commands put on the Jump. There are three kinds of Jumps. A Jump up, a Jump Across, and a Jump Down.
Jump Up:
@open Jump<#>=<Dest #>
This will open the Jump. The Exit name must be Jump<#> so like Jump1 or Jump2 depending on how many jumps the room has. 
@lock Jump<#>=Jump<#>
@set Jump<#>=Dark
@fail Jump<#>=Try +jump, friend.
&Span Jump<#>=<Distance>
This command sets the distance (In Meters) of the Jump. It must be an integer value, no decimal points.
The Jump Up is the most basic form of Jump. The other two types include one additional attribute that will assist in determining what is going on.
&Fall Jump<#>=<Room DB#> This attribute says that if you 'fail' a jump then you fall to this room location. This is useful for jumping 'down' as you can make it the same as the exit destination. Or for jumping across a chasm so you can 'fall' in. Do not forget this for Jumps going down or across.
==Beautification==
The process of Beautification is perhaps the most difficult of the Build Process. Rather than creating new planets or designing them, you are going back over others work that was done before code and features were added to bring them up to speed. The process of Beautification means that all the above work is being looked at and analyzed. Adding Jumps and Sights, making sure the descs are proper and appropriate, adding the exit descs/@succ/@osucc/@odrop, making sure the System is correct and adding Combatants value. All of this takes time and requires reading over others work, which makes it the most time consuming. The fortunate part is, once you have comprehended the other information, it is rather easy to do. 
An important command for Beautification is the +roomreport command which will give a readout of important attributes in the room which may or may not be set.
Category:OOC Help Files