Map Editor:  The Property Editor

The Object Editor allows you to edit the properties of any object in the game. All of the object's properties are shown in the Object Editor.

Some of the more common/popular objects provide custom editors that let you set specific properties that are common for those kinds of objects. The Property Editor is not as easy to use, but is more flexible — you can use it to edit any object, even if the object doesn't provide a custom editor.

Using the Property Editor

Editing all properties is a quick, easy way to change things in an object or monster that cannot be changed in an editing dialog. If you are doing the same thing to a number of objects or monsters, it is a good idea to make an .arch file for them. If, however, you are only making a few changes to one or two things, then editing in the all properties dialog works.

First, to edit a property not controlled in a standard editor, right-click the object. In the popup menu which appears, click 'all properties.' In the dialog that appears, you can now edit any property that the monster has, or add new ones. To add a new property, click the 'add property' button. To edit an existing property, simply click the property value and change it as if you were editing a text file. Make sure that the new value or property is valid before you add it. There is no instant-kill property or value.

Also, make sure that you use the right type of input in the value. Do not give a monster sk-death of ten, give it an sk-death 10. Generally, if a value is text originally, then your new value should also be text. If a value is a number, yours should also be a number. You can make sure that a property exists by checking to see if another object has it.

The Property Display

The object's properties are shown in the property table in the dialog box. There are two columns: Property, which shows the property names, and Value, which shows the property values.

Properties with values of type String, Class and Archetype have their values shown as a string in the Value column. Int and double properties show as a number that's right-justified (so you can tell it's not a plain String). Boolean properties show as a checkbox that's checked if the value is True.

You can edit the value for most properties by clicking on its value in the Value column of the table. Sometimes this lets you edit the value in-place, and sometimes it brings up a custom editor that lets you edit more complex value types, like the object's image. You cannot edit the "archetype" or "class" properties of an object.

Objects can inherit properties from the parent archetype(s). Inherited properties have their names drawn in blue. You cannot remove inherited properties, but you can override them by adding properties to your object with the same name.

Adding Properties

You can add a new property to an object by selecting the "Add..." button at the bottom of the Object Editor dialog. It will bring up the dialog shown above, titled "Add a Property".

Object properties consist of a name and a value. You type the name of the property in the text box at the top of the dialog. For the value, you must:

  • choose a type
  • enter a value for that type

There are four "primitive" types — String, int, double and boolean. There are two more complex types: Class and Archetype. Each property type has its own UI in the "Value" section of the dialog that lets you enter a value that's valid for that type.

If you choose type "class", you have to enter a fully-qualified java class name or a relative python path, such as "wiz/foobar/python/trashcan.py".

If you choose "archetype", you enter the path to the archetype, not including the ".arch" extension. It can be a game built-in archetype, such as "monsters/goblin/orc", or a wizard archetype like "wiz/rhialto/python/recycle_bin".

Removing Properties

To remove a property from an object, select the property in the Object Editor and click on the "Remove" button in the dialog. The property will disappear from the table and from the object.

Note: You cannot remove inherited properties. Inherited properties have their names shown in blue text. The only way to "remove" an inherited property is to override it in your object. For instance, if you inherit a boolean property called "no-display", you can override it by adding a boolean property to your object with a value of False.

Common Properties

Some common properties you might edit include:

  • Skills. These are all int properties, with sk-<skill name> as the property name, and the number of skill points that the monster has in the skill as the value. Make sure to add a skill that really exists. Check with a wizard if you aren't sure.

  • Flying. This is a boolean that is true if the monster can fly, and false or nonexistant if the monster cannot fly.

  • Pushable. This makes it so that an object can be pushed. It is also a boolean, just like flying.

  • Blocking. This means that the object cannot be walked on by a player.

There are many more properties. Check throught the archetype files and try bringing up the all properties dialog on a monster to see what some of them are, or check with a wizard. If you want to make a monster that does fire damage in melee, for instance, look at a fire elemental, and take his property for fire damage. What a property does isn't always obvious, though, so be sure to ask a Wizard if you have questions.

Good Luck!