Loathing Documentation | Fear Documentation

Section I: Welcome to Loathing

Introduction
"If you want to play God, you need to create a world." Back in the day, when map editing meant hex editing, partially implemented tools, and lots of time in Photoshop, those people who could create a really slick map definitely possessed a slice of divinity. It took a lot of patience, a lot of skill, and a very empty calendar. Not that it's any different now, mind you. Loathing, the answer to the collective scream of anguish that occurred when map makers first started working, makes life easier. Note that I said "easier", not "easy." Make no mistake--making a good map requires a lot of practice, and a fair amount of skill. Loathing just makes it a lot easier to make a much better map. Anyone who has ever suffered through the creation of shadow, passability, media, and slope maps will adore Loathing. And those who have not will never realize that these tasks ever existed. Small comfort to those of us who finally mastered them... Anyways, if you're ready to forge a new world in the realm of Myth, dig in. The authors of this document have over a dozen maps under their belts, many of which you are probably already familiar with. We hope their experience will be of great benefit to you as you learn to use Loathing. After all, they made slope maps. Ooooh...

What Loathing Does
Loathing is a special, stripped down version of the Myth II engine that allows you to modify a mesh with considerably more accuracy than is possible with a couple of dwarves and wights. In tandem with Fear, it can be used to create entirely new and unique netmaps, limited only by the imagination and skill of the map maker--as well as a few limitations in the Myth engine that you'll eventually bump into. The first things most people do with Loathing is hurry into an existing netmap and change all of the warriors into Soulblighters and dwarves into Screaming Iron Assault Dwarves. This is quick, easy, and healthy. These maps might not be too much fun to play, but making them is really good practice for a new map maker. Later on, you will be creating new mesh, importing color and media maps, generating units sets from scratch, and eventually tweaking a nearly finished map. Loathing can do all of these things, and with a minimum in ritual sacrifices and voodoo rites. Read on to see how.

Table of Contents
It's a big document out there... Section II: Getting Familiar With Loathing Installing Loathing What's Involved In Map Making Getting Started Loathing Interface Elements The Tools Section III: Editing Map Components Displacement Maps Color Maps Shadow Maps Terrain and Passability Media Maps Units Projectiles Scenery Models Netgame Setups Sounds Observers Model Animations Section IV: Map Actions, aka "Scripting" Introduction to Map Actions Editing Map Actions Action Types and Subordinate Parameters

Section II: Getting Familiar With Loathing

Installing Loathing
To do its work, Loathing must be placed in the same folder as your Myth II application. That is, it should be placed in the same folder as your tags and local folders, which contain the information Loathing will need to edit maps. If you are using a small install, make sure your Myth II CD is in the drive when you run Loathing. On both the PC and Mac platforms, you will need to do a "Custom Install" to install Loathing onto your hard drive. See the "Read Me" text on the Myth II CD for more information.

What's Involved In Map Making |
The first step in creating a map is understanding what is involved. Myth uses a powerful system of objects known as tags. Tags are Bungie's own platform-independent data format capable of storing everything from the units in the game and their behavior to the graphics and textures you see in a level. Creation of a map is simply the creation and careful integration of numerous tags. Once you know what the various tags mean, using Bungie's intuitive editors will make more sense. What follows is a description of some of the tags that exist in Myth and their purposes in the game. Collection - The collection tag is one of the most universal tags in the game. Collections store all of Myth's two-dimensional graphics. All interface elements, all textures, all monster and player graphics, and all scenery are stored in collection tags. Collection Reference - The collection reference is, as you might expect, a reference to a collection tag. Some collection tags have colors in them that are treated as "transparent" by the Myth engine. For each of these colors, the collection reference can substitute in its own colors. This is very helpful in creating one object of many different colors. As an example, a tree could appear as a summer tree with a collection reference featuring shades of green, and then be used again later as an autumn tree with a collection reference containing orange and red as its colors. Collection references also contain a "tint" which can be used to give an object a dark feel appropriate to a night map. String - String tags are relatively simple tags, but they play an important role in developing a map. They contain text strings for use in maps, units, and other places. As an example, the name of a map and the description of a unit are kept in string tags. Projectiles and Projectile Groups - The projectile tag is a very interesting part of the Myth engine. It can take the form of flaming arrows, a warrior's sword swing, or a dwarf's bottle. These are one of the only things in the Myth engine that can actually cause damage to units. Projectiles can call other tags such as Lightning or Projectile groups. Projectile groups are, as you might expect, groups of projectiles. Each projectile can call a projectile group, which in turn can call as many as 15 more projectiles. This is a powerful and useful feature, but be careful what you create. If you overuse this, you will slow the engine down, and create unusable maps. Local Projectile Groups - These are special groups of particles that react to special physics models, and are responsible for such special effects as smoke, fires, magical effects, and all sorts of other strange things. Mesh - The mesh is by far the most important piece of a Myth map. Basically, the mesh contains all information about the organization, layout, and structure of a Myth map. Important elements such as scenery/unit placement, as well as ground elevation, terrain type, and more are kept in the mesh. Since this tag is so important and contains so many things, each of its components will be discussed individually: Submeshes - Every mesh is composed of one or more submeshes. A submesh is a 256x256 pixel section of the mesh. This is the basic unit of size for mesh tags, and as such, all meshes must have dimensions that are a multiple of 256 pixels. Object placement - All objects that exist on a map, including 3D models, player-controlled units, non-player characters such as villagers, monsters, scenery, ambient sounds, projectiles, and weather are located and placed by the mesh. Color Map (Texture map) - The color map is the actual texture that the player sees. All map details such as grass, dirt, walkways, paths, and any other details not added through models or scenery must be painted onto the color map. Displacement Map (Elevation) - One of the most important factors in determining the quality of a map is the elevation of the terrain. The displacement map in the mesh contains all information about where hills, valleys, and stream beds exist in the map. Shadow Map - The shadow map determines where shadows appear on the map. It is important that the shadows are placed in the shadow map and not in the color map so that shadows from units and projectiles display correctly. Reflection Map - This data determines which areas of the map show reflectivity because of the presence of media. For media to reflect correctly, it must be marked as such in the Waterfx map. Terrain Map - Similar to the slope map, passability is determined by data in the mesh. Dwarves, for example, cannot get to all the areas that ghols can (their legs are just too short). They cannot pass through medium depth water or climb steep hills. Some places are so steep that only flying units such as soulless can reach them. Media - The presence or absence of media such as water or lava is determined by its selection and placement in the mesh. Slope - Myth has a very sophisticated physics model. Balls and heads roll downhill when sent in the right direction. The slope is the way a map determines what areas are steep enough to warrant such behavior by the Myth engine. The steepness of all areas of the landscape are kept in the slope information of the mesh. Collection - While the mesh does not contain any collection tags, it does contain references to the tags it needs. A mesh needs a collection tag for the texture map, and another one for the overhead map. If the map is a multiplayer level, then a pregame collection tag is also necessary. Map Actions - Map actions are one of the most interesting and powerful aspects of Myth maps. They are the programming behind the computer's actions on a solo or multiplayer map. They determine what causes a win or loss of a game, and how all non-player characters behave. Other Data - There is a lot more data stored in a mesh as well. Game types, references to text strings, next/previous level information, and more is stored in the mesh.

Getting Started |
Before launching Loathing, you will need a color map--the flat image that will be laid over the mesh to create the terrain for your map. This image will determine your map's size, and its dimensions (in pixels) must be divisible by 256. Color maps must use no more than 240 colors and need to be stored in PICT format on the Mac, or bmp on Windows. Color maps will be discussed in greater detail in the color map section. If you are feeling ambitious, you can also create a grayscale image for a displacement map--the altitudes for the various points of your mesh. White is high, black is low. If you choose to create a displacement map, it needs to line up with the color map, and be the same size. You can find more information on displacement maps in the color map section. After you launch Loathing, select "New" from the "File" menu. Enter a map name in the first dialog box; we recommend that you choose a descriptive one that can be understood by other people. You can change the name later if you need to. The second dialog asks for the media type, choose "Water." You will learn more about media in the color map section. The third and final dialog prompts you for the color map. Choose the color map you created earlier. A new flat plane with your color map is created. Choose "Save" from the file menu. You have created a basic mesh. It does not have units or scenery on it, and is flat. Also, the camera will not be correctly implemented until you do so manually. Still, this is sufficient if you only want to view the map. If you created a grayscale image for a displacement map you can add height to your map by choosing "Displacement Map> Import" from the Maps menu. To place teams on your map you first need to add Unit Types to the map. Double-click on the Unit Tool (body icon). Use the Add button to introduce different troops to your map. Each unit needs to be assigned to a team. If a unit appears on more than one team, you need to create an instance for each team. Keep it simple: only use a few units types at first, and only one or two teams. Ignore the various check boxes. After closing the dialog with the OK button you are ready to place units on your map. Each time you click on the map (in the 3d window) you add a unit at that location; the unit type is chosen in the unit dialog window. You also need to place an Observer (camera) for each team. Double-click on the Observer Tool (eyeball icon). Use the Add button to create observers for each team, Value is the number of each team, enter "1" for Team 1, "2" for Team 2, etc.. After closing the dialog, place a single observer for each team: choose each team from the observer dialog window and click once on the map for each team. If you added a displacement map and/or units you need to save your map again. The map you have created will not be displayed in Myth II yet. You must first edit your map with Fear. When Fear has finished launching, double click on the folder "Meshes" in the "Tags" list, and choose the mesh you created. Check the box labeled "Is complete" from the Flags section. This is technically not true, you will be working on the map later, but for Myth to recognize the map it must be tagged as such. If you added units to your map, check the box labeled "Body Count" from the Game Scoring Types. Choose "OK" and launch Myth II: Soulblighter. Start a multi-player game. Choose your new map from the options dialog. Start the game and you can look at your new map.

Loathing Interface Elements |
If you're not familiar with Loathing's interface, you might find yourself up the proverbial creek without a paddle. Here is an overview of Loathing's main, and some minor, interface elements. You will become familiar with all of these things over time, so don't worry if you're overwhelmed at first. Windows 2D view: The 2D view window works much like the overhead map that appears in the Top Right corner of your screen during a game of Myth. You can use it to place or move the editing camera used in the 3D view. At times it also displays the locations of scenery or other markers placed on the map. 3D view: This is the view window that is much like the main view in the actual game. It shows you a 3D view of the terrain, units and objects. You can place, delete, and move objects, raise the mesh, and edit the entire map through the 3D view. List view: This window appears when you click on a tool in the palette that has a corresponding pop-up menu. It appears below the Tool Palette and contains a list for these tools: scenery models units observers projectiles passability sound map action local projectile group model animations Menus File - New, Open, Close... If you don't know how to use 'em, learn. Only one map can be opened at a time. Edit - Certain things such as unit placement are not undoable. But, a mistake like this is quickly alleviated with the tap of the delete/backspace key. Others can be duplicated, such as unit placements. Object placements, on the other hand, cannot. View Preferences - Allows you to edit your preferences, including grid overlays, and whether you want media, objects or models to be displayed. Note that preferences for the various tools are not saved; they need to be reset each time you choose each tool. Tool Preferences - Certain tools such as the Displacement brush have preferences, use this to edit the preferences for the tool. For tools that place objects like units and scenery there is only one option: "Show All." When this option is unchecked, only instances of the current object are shown on the overhead view. This is very useful should you need to look at the placements of, for example, flags, deer, or wind sounds. Maps - This is where you can import or export or edit these different maps: Shadow Map Color Map Reflection Map Displacement Map Terrain Map Models Set Model Location - Sets the X, Y, and Z coordinates for the selected model. Mesh Bounded Observer - Bounds the observer to the dimensions set in Mesh>Set Mesh Parameters. Drop Observer - Drops an observer camera underneath the current camera in the 3D view. Set Height - Sets the numerical height of the selected point(s). Use the meshpoint tool to select points. Set Height to Zero - Lowers or Raises the selected point(s) to zero. Set Media Height - Sets the height of all media on the map. Edit Jitter Amount - Edits the amount the selected point(s) are "jittered" by Jitter Selected Vertices. Try it, you'll like it. Jitter Selected Vertices - Jitters the selected vertices. Do the jitterbug with your mesh. Edit Mesh Edge Raise Amount... - this sets the height to which the map edges should be raised (see below). Raise Mesh Edge - Allows you to edit the edge of the mesh. For example, make a large wall around the edges to prevent units from leaving the mesh. Set Mesh Parameters - Sets how close to each edge of your map the observer can get. Shift Mesh Markers - Shifts everything on the map, including heights and water however many units you specify in the dialogue that appears. Be careful with this one, there's no undoing. Recompute Mesh LOD - Recomputes the LOD of the mesh fixing any abnormalities in the mesh. Export/Import Map Actions - Export the actions for your map to text or Import actions for your map that you have made somewhere else. Selection Edit Marker - Edits the Marker. You may raise or lower the height of the marker, change its difficulty or other perform other actions. Rotate Selection - Rotates the position of the selection you have made by the amount you have entered. Create Data Container - Creates a Data Container in the Map Actions Dialogue. Create Squad - Creates a squad out of the selection of units you have made. The squad will appear in the Map Actions Dialogue. Create Observer Movement Action - Creates an action in the Map Actions Dialogue that will tell the observer (camera) what to do. (For example: rotate, pan forward, up, back, etc.) Windows Visual - This opens the Visual or 3D window. Overhead - This opens the overhead window. Tools - This opens the Tools window. Zoom In/Zoom Out - This zooms the overhead map in and out.

The Tools |
Loathing's tools might seem complex at first, but don't worry--you'll get the hang of them with a little practice. The palettes for the Mac and PC are a bit different, but all the tool icons are the same. Tools Selection Tool - Selects units, scenery, objects, and other devices in the 3D view. Clicking selects an object. Shift-click adds objects to the selection set. Click and drag selects all objects within the bounding-box. Units added to a selection automatically face in the same direction. The orientation of selected units may be changed by dragging (an arrow appears to indicate the new direction), and their position on the mesh can be changed by Control-dragging. Meshpoint Tool - This tool turns on the grid in the 3D view. Click on a vertex to select it. Shift-click adds/removes vertices from the selection set. Dragging selects all vertices within the dragged region. Dragging a vertice raises or lowers any selected vertices. When trying to raise or lower more than one meshpoint, be sure to hold down the shift key. Displacement Brush - This brush is used to raise or lower terrain levels in the 3D view. Use the Edit>Tool Preferences... menu option to change the shape and function of the displacement brush. Terrain Tool - This tool is much like the Meshpoint Tool, but it is used when dealing with multiple meshpoints, instead of one. This does not require that you hold down the shift key when raising or lowering multiple meshpoints. Submesh Tool - Edits the mesh, shadows, and colors on a submesh basis. A submesh is a 256x256 unit. Therefore, a 1792x1792 size map would have forty-nine submeshes (7x7). When selected, this tool shows the outlines of the submeshes in the 3D view window. Scenery Tool - Adds and edits scenery. Model Tool - Adds and edits models. Unit Tool - Adds and edits units (troops and ambient lifeforms). Observer Tool - Adds and edits observers (cameras). Passability Tool - Edits the passability of mesh triangles, determining which units may pass over which cells. Projectile Tool - Adds and edits projectiles. Sound Tool - Adds and edits sound sources. Action Tool - Brings up its own special window which allows you to "script" actions into your map. Local Projectile Groups - Adds and edits local projectile groups on your map, such as the mist from a waterfall. Model Animations - Adds and edits Model Animations on your map, such as a turning windmill. Water Mask Adjustment - tool edits the reflection mask for the media on your map.

Section III: Editing Map Components

Displacement Maps |
The displacement map is the mesh that makes up the contours of your map; it was frequently referred to as the "height map" by Myth I mapmakers. An example displacement map, taken from the netmap "Gimble on the Wabe" and reduced to one quarter of its full size, can be seen here if you still aren't clear on what these things are. Creating Displacement Maps Mapmakers for the original Myth relied heavily on grayscale representations of height maps. The lighter the shade of gray, the higher the altitude. These documents can be made and edited in your favorite graphics program, such as Photoshop or Painter. Counterintuitively, they must be saved as "indexed color" rather than "grayscale" before they can be used in Loathing. To import a greyscale document, select "Displacement Map...> Import" from the Maps menu. Editing Displacement Maps Loathing introduces powerful mesh editing tools into the cartographer's arsenal. It is now possible to edit the displacement map completely from within Loathing, rather than starting with a greyscale document. Meshpoint Tool - edits the mesh on a vertex by vertex level. When you select this tool a red grid is overlaid on the 3D window. Click on a vertex to select it. Shift click adds/removes vertices from the selection set. Drag click selects all vertices within the dragged region. Dragging raises or lowers any selected vertices; remember to hold down the shift key before clicking on a selection set or vertices to drag them. Displacement Brush - This tool may be intimidating at first, but it is by far the most powerful and useful tool for editing meshes in Loathing. There are three modes for this tool: Raise Tool, Flatten Tool, and Filter Tool. The function keys controls the tool's behavior: F7 - changes the mode F8 - toggles the brush shape between circular and square F9 - decreases the brush radius F10 - increases the brush radius F11 - decreases the feather radius F12 - increases the feather radius Raise Tool - This is the default mode, and perhaps the most useful one. The tool behaves like a magnetic brush, raising or lowering the mesh beneath it. The brush is displayed by two concentric circles or squares: the inner shape indicates the brush area, the outer displays the feather radius. You can adjust the rate of change by pressing the + and - keys on the main keyboard (not the keypad); the Shift key reverses the direction of displacement. Flatten Tool - This tool flattens the terrain towards a specified height. You can increase or decrease the target elevation by pressing the + and - keys on the main keyboard (not the keypad) or in the tool preferences; the Shift key moves the terrain away from the targeted height. Filter Tool - There are four filters available; each can be selected in the Edit menu under "Tool Preferences." You can increase or decrease the filter effect rate by pressing the + and - keys on the main keyboard (not the keypad). Elevation Adjustment - This tool raises only. Absolute Elevation - sets the elevation of meshpoints to a specific height Smooth - smoothes terrain Noise - adds noise (bumps) Terrain Tool - This tool is designed for band selecting. It is very similar to the Meshpoint Tool, except : You cannot select a single vertex by clicking directly on it. You do not need to hold down the shift key to maintain the selection set when clicking on a selected vertex

Color Maps |
A color map is the graphic which overlays the mesh. In Myth I cartography it was known as the texture map. The color map has the greatest influence on the appearance of your map. Keep in mind that your color palette is limited, and that an excessive number of different textures and colors will lead to jarring transitions and poorly rendered textures. An example color map, again from "Gimble on the Wabe" and reduced to one quarter size, can be seen here. Color Map Format The file has to be saved at 240 colors and 72 pixels per inch, and as a PICT file on the Mac or a BMP file on the PC. The dimensions of your colormap must be a multiple of 256 (the submesh size), such as 1536x1280, or even a very small mesh with dimensions of 512x512. If your color map does not meet this format, it may fail to load, or produce unexpected results. Importing Color Maps When you create a new document in Loathing, you are asked to name the map, and to choose its media type. When Loathing prompts you for a file, it is looking for the color map. Select the graphic you have prepared (make sure it adheres to all the guidelines in the Format section above). You can update or change this graphic at any time by choosing "Color Map> Import..." from the Maps Menu. You can also export the current graphic by selecting "Export..." from the same menu. Tips on Creating Color Maps Using Photoshop - The most common way to create and edit color maps is in 2D graphics editors such as Photoshop or Painter. In Photoshop, it is usual to maintain and edit the main document in RGB color, saving Indexed Color versions under another name as needed. Working with layers makes it easier to organize your document, and create smooth transitions. Bryce - Color maps can also be generated with good results by Bryce 3D, a rendering package that specializes in landscapes. Bryce can automatically apply different styles of landscape textures to a terrain mesh. This involves importing a greyscale height image, applying a landscape texture to it, and rendering the image to disk from an overhead perspective. Bryce can also be used to create greyscale height maps and export them for use in Loathing.

Shadow Maps |
A shadow map is an overlay for the color map which shows where the shadows created by the mesh fall. This map is extremely important because it determines if the shadows on your finished map are consistent with those of the units and scenery. The light source is at 45° from the northeast corner (note that this is the opposite side that most interfaces use, such as the MacOS interface, in which light always comes from the northwest corner... keep this in mind). Take a look at an example from "Gimble on the Wabe" (we really like that map) here. Creating Shadow Maps Back in the dark ages, creating accurate shadow maps was one of the banes of Myth cartography. They were usually made by hand, by a trick in Photoshop, or by rendering them in Bryce 3D; each of the three options was either inaccurate, or labor-intensive. Loathing has made this burdensome task trivial: choose Shadow Map> Add Mesh Shading from the Maps menu. To update the shadows after you have been working on a section of the mesh, use the Shadow Map feature of the Submesh tool.

Terrain and Passability |
The terrain type of a given cell determines which unit types may move onto it. Passability has both dramatic and subtle effects on gameplay; its layout on your map deserves careful consideration. It is important that its layout corresponds to the slope and color map so that gameplay is intuitive. There is nothing more frustrating than trying to move your troops onto regions where they should obviously be able to pass, only to have their movement hindered by a poorly done Passability map. Different units can pass over different terrain types--their ability to pass over various terrain types is determined in Fear, inside of the monster tags. The terrain descriptions below give examples of which units can and can't pass, but keep in mind that you can change these things. Terrain Types ## Dwarf-Depth Media - Most units can pass through this, with the notable exceptions of shades, which cannot pass over water of any sort. Like all media, this terrain type always kills fires. Human-Depth Media - Hardy, human sized units and larger can handle this, while some other, more frail units (like archers and warlocks) cannot. Giant-Depth Media - Only Trow, large Myrkridia, and dead units may pass through this terrain type. Deep Media - Only dead or amphibious units may pass through this terrain type. Sloped - Impassable to most two legged units, but passable to agile units like ghols and wolves. Steep - Impassable to most units, with the notable exceptions of spiders and soulless. This terrain type is also non-flammable--fires will start, but they won't spread. Grass - The default terrain type, flammable and passable to all current units. Desert - Passable to all current units, nonflammable. Units also leave tracks over this terrain, as they would in sand. Rocky - Nonflammable, cocktails break/explode easier, passable to all current units. Marsh - Cocktails and other burning projectiles extinguish more often on this terrain type. Snow - Units leave tracks, completely nonflammable, cocktails extinguish more often. Forest - Not really used, and with no special effects. Walking Impassable - Only flying units can traverse this terrain. Flying Impassable - Used for preventing units from wandering off the map. No unit should be able to cross this terrain type. Scenery Impassable - These purple cells are created automatically when scenery items are placed. This option is not available as an option in the menu window, and scenery impassable cells cannot be edited until the scenery is moved. This image shows samples of all four media depths, desert, steep, grass (clear), and scenery impassable terrain types. Editing Passability Passability Tool - When the Passability tool is selected, a red grid appears on the map, and a menu window opens listing the various terrain types. Attributes may be selected from this list, and applied to individual cells or regions of the mesh. There are three modes for applying Passability. Default: A single click edits all cells under the brush. Drag-click edits all cells that pass under the brush. Option Key: A single click edits one cell at a time. Drag-click edits each cell that passes under the cursor Shift Key: This option fills a larger region. If you click on grass, it fills approximately a window's worth, or 16 x 16. If you click on another terrain type, it fills (replaces) all the contiguous cells of that type. Think of it as a fill tool. F8: Toggles brush shape between round and square. F9: Decreases brush radius. F10: Increases brush radius. Map Edges In order to prevent units from wandering off the edges of a map, it is necessary to border the map entirely with a band of Flying Impassable cells. Loathing can perform this tedious task for you automatically by first selecting Raise Mesh Edges, and then Make Mesh Edges Impassable from the Mesh menu.

Media Map |
The media map determines whether a given cell is liquid or solid. Your media map should be the same size as your colormap and be in greyscale or bitmap format (refer to your image editor's documentation for instructions on how to save or convert files to these formats). When creating a media map, black is media, and white is land. Ensure that there is only black and white on this map, or there may be strange results. To use a media map, choose import reflection map from the Maps> Reflection sub menu, in the maps menu. In Myth 2, the elevation of media can vary throughout the level. This means you may have a pool of water at the top of a hill, and also at the bottom. The water elevation is determined by the water displacement map. Contiguous parts of water do not need to have the same elevation, so you can have stream flow downhill, or even uphill, since the water in myth does not have a current, it is largely irrelevant. You can also set the media height of all the media in the water by using the “Set All Media Heights” option in the mesh menu, this can only be used to set all the media to a specific level within the map. To take advantage of multiple water heights, you will need to create a custom water displacement map in an external image editor. The elevations on this media displacement map use the same scale as the normal displacement map. You can also use the Water Mask Adjustment tool to set the media flag (on or off) of a given cell.

Units |
Units include both the troops and the ambient life forms that populate maps. Teams In order to add troops to your map, you will need to first decide how many teams you will be using. In Myth 2, the first team is Team 0 and the others are sequenced from there. In addition to troops, certain scenery items such as Capture The Flag flags can be assigned to a team by assigning a team id number to them. Scenery items that do not start being owned by a given team, such as Territories flags, should be assigned to Team -1. Adding Units To Teams Unit Tool Before adding units to your map, you need to construct a palette of units you will use. You need to create a separate instance of a given unit for each team it appears on. Double click on the unit tool to open the Unit Marker Palette. Add units to the palette by clicking on the Add button, or hitting Command-A on the keyboard. (The following options can also be changed via the Edit button). Tag - The unit type. Team - Enter the team number to which this instance belongs. If this unit is ambient life, enter "-1." Uncontrollable - Makes the unit uncontrollable. May Be Traded - Allows this instance of a unit to be traded. If you want to have a unit that you must keep a certain number of but may trade some of them you need to create two instances of that unit, one with this option on and one with it off. May Use Veterans - When this option is enabled, veterans from this instance may be carried over to subsequent games. Must Use Veterans - This option forces all units of this instance to be veterans. By using this, you can make units only appear on a map if they are veterans continuing on from a previous level. Is Ambient Life - Used for chickens, crows, and the like. Is Hunted Creature - Used in the Hunting game. Appears In Netgame Type - With this option you can create instances of units which are only used in certain game types. Close the dialog with the OK button when you are done. Add Unit dialog Placing Units Units are placed on the map by selecting the desired unit from the menu and then clicking somewhere in the 3D view. Loathing with create a unit standing on the point that you clicked. You can duplicate units, but all the duplicates are visible by default, and they cannot be reassigned to a different team. Note that you can duplicate selected units using the Duplicate command under the Edit menu, or Command-D. If you later decide to move a unit, hold down the Control key and drag it to its new position. Note that you can do this with multiple units by selecting them, and then Control-dragging. Selecting Units You can select units with the unit tool, but only by directly clicking on the target unit. You have to be careful where you click, or else you will create another instance of the current unit. You can add units to the selection set by holding down the shift key. Unless you also hold down the option key the direction that the units face will often be directly away from you. You can also band-select with the select unit tool by clicking away from a group of units, and then dragging the cursor over them. Orienting Units To change the direction selected units face, click on them, and drag the mouse. The units will rotate in place, displaying a purple arrow indicating the direction they will face when you release the mouse-button. Editing Units When you double click on a member of a selection set of units, you can change a variety of attributes for those units. The units in the selection set do not all need to be of the same type, or even belong to the same team. Minimum Difficulty - This is the minimum difficulty level at which units will appear on the map. If you set a unit as having a level of Legendary, then it will only appear on Legendary games. Handy for making more or less units available depending on difficulty level. I - This is the initial east/west velocity of this unit. Since units never, ever use this setting (and it has no effect), it should be left at 0. J - This is the north/south velocity of the unit. Has no effect, should be 0--see above. K - Up/down velocity, no effect. Z - This is the height off the ground at which this unit appears. Since units don't fall nicely, and tinkering with this will result in weird results, you shouldn't tinker with it. The exception is in the case of flying units, which you will need to move into the air, since all units are automatically placed on the ground when created. Yaw - The is the direction in which the unit is facing. Much easier to set by dragging in the direction you want. Pitch - Used only for models, and not much even then. Ignore. Invisible - Invisible units are hidden until they are summoned by something like a map action or Unit Trading. If you make units invisible in a netgame, the can be traded for, but won't be initially present at the beginning of Unit Trading. Stone - This makes units petrified upon entering a level. Not all that useful... Detonates Immediately - Units with this option will detonate immediately upon being created. Handy for creating exploding wights, or maybe for scatting blood and guts over an area in advance. Is Invisible Observer - This is used to create an invisible, uncontrollable unit that acts as an observer, allowing the owner team to see in a given area. Netgame Target - Used for assigning the target in the Assassin netgame, or for livestock in Stampede games. Unused - True to their name, these are unused. Unit Edit dialog Tool Preferences Select Tool Preferences from the Edit Menu, and you find only one option: "Show All." When the option is unchecked only instances of the currently selected unit appear in the overhead view.

Projectiles |
Projectiles are the variety of objects found on a map. They range from satchel charges surrounding a helpless chicken, to rocks. Projectiles can be launched by units as well, although there are many more kinds than are used as defaults by units. Adding Projectiles Types Before it is possible to add projectiles to your map, you must make a palette of projectiles. You may choose as many as you need, although too many projectiles could give the users of your map memory problems or lag. Double-click on the projectile icon in the tools window. You will be presented with a window which allows you to add, delete, and edit the projectile types in your palette. Add- After selecting Add (command-A) from the window, you will be prompted to select a type of projectile from all the valid projectiles that are placed there by default, or projectiles that you have made using Fear. After choosing a projectile and clicking OK, you will be presented with another window, to verify your selection. You have now added a projectile to your palette, which can later be added to your map. Delete- To delete a projectile type, choose a projectile group, and click Delete (command-D) from the base of the window. Edit - This button allows you to change the projectile type. Placing Projectiles After making a projectile type palette, you can add those projectiles to your map. With the projectile icon selected in your tools window, there should be a smaller window below it listing the projectiles you selected. By clicking on the drag-down menu, you can select the type of projectile you would like to add. Click on the map in the Visual window to add selected projectiles to the mesh. Placing Projectiles Within Scenery Placing projectiles in scenery is fairly involved process, but it gives people a good reason to pat you on the back. Before tackling this task, it may be a good idea to read the section on scenery and projectile groups in the Fear manual. First, create a new projectile group containing all of the projectiles you want to fly out of a scenery item once it is destroyed. You can also assign sounds and mesh effects within the new projectile group window. Save your new projectile group with an appropriate name, and open up the scenery item listing. Select a scenery item that has the graphic that you'd like to use, and duplicate it. After naming it, open the new scenery item to edit it. You must edit a number of aspects of the scenery in Fear to get your desired effect. The following steps can be edited to created different effects. First, since you want the scenery to explode, make sure the 'is solid' box is not checked. Next, edit the projectile groups, assigning which groups will come out of the scenery when it is destroyed. The group that is assigned to 'impact' will come off of the scenery when a melee unit attacks it. Most of the time, this doesn't need to be linked to a projectile group. The next menu, labeled 'detonation' is the group that will be shot off in various directions when the scenery is destroyed. Link your newly made projectile group through this menu, and save your scenery. To place your new combustible scenery on your map, open your map in Loathing, and place it wherever you want. If you followed the steps correctly, you should be able to spew chickens and various odds and ends from your scenery.

Scenery |
Scenery is generally used to give your map some variety, and to improve gameplay. It includes plant life, rocks, and netgame flags. Most scenery should be assigned to team -1. Adding Scenery Types To add scenery to your map, first you must build a palette of the types you will use. Double-click on the scenery icon from the tool window to edit your palette. Using the add button, select a scenery type that you want to include. In the next window, you will be presented with a list of editable features for that scenery. Team - Assigns a team to scenery. Generally it should be -1, unless you'd like the item to be owned by someone. This only applies to netgame flags such as Capture the Flag and Balls on Parade. Netgame Types - These checkboxes edit when the scenery shows up. There is no need to edit this for netgame scenery, as unused flags are hidden automatically. It can be used if you'd like a certain clump of trees to be hidden for one game type, and there for another. Placing Scenery Placing scenery is fairly simple. Choose a scenery type from the drag down menu that appears when the scenery tool is selected, and click in the visual view to place it. Editing Scenery After placing a scenery item, select it, choose edit marker from the selection menu, or double click on it to change its attributes. >From the next window you can edit its coordinates, yaw, pitch, and attributes. Coordinates - The force vectors I, J, and K are apparently ignored. Yaw - The facing direction of the scenery. This can be edited in three ways. The first and easiest way is to select the scenery with the normal cursor, and drag in the direction that you'd like it to face. Second, you can rotate selected scenery using the rotate selection option from the selection menu. Last, you can edit facing from within the edit marker window. Pitch - Only used for models. Ignore. Attributes - Generally these don't need to be used with scenery, but can. They are meant for use with units. However, if you really want to, you can use the check boxes to activate any of these attributes.

Models |
Models can give your map variety, and improve gameplay. They are objects such as houses, walls, castles, windmills, bridges, etc. Keep in mind that models are a rather tricky thing to master, or even use, and that you should have a little map making experience under your belt before you try to tackle them. Adding Model Types To add models to your map, first you must build a palette of the types you will use. Double-click on the model icon from the tool window to edit your palette. Using the add button, select a model type that you want to include. You may also delete models types form this list if you want by using the "delete" button. Placing Models Placing models can vary in difficulty depending on which model type you are placing. Some models are only parts that make up a whole castle, while others are all in one such as the windmill. Choose a scenery type from the drag down menu that appears when the scenery tool is selected. Move the cursor into the visual window, and you will see the yellow boundary box of the model. This box is a simple representation of the how much space the model will consume. You may also change the orientation of the model by using the left and right arrow keys. When you are ready to place the model, click in the visual window, and the model will appear per your specified location and orientation. Editing Models After placing a model, use the selection tool to further change its attributes. Command clicking on a model brings up a pop-up menu with texture options for the selected model. Clicking and dragging will change the yaw or facing of the selected object, you will see a yaw arrow similar to the one used by units and scenery. You may also use the model: set model location menu command to fine tune model location.

Netgame Setups |
We assume that you are already familiar with the various net games from Myth. For netmaps with goals (such as flags and balls), you will find these goals in the scenery lists (specified by type for each net game). You can create palette entries, and place these items just as you would any scenery item. You can enable game types by opening your mesh in Fear, and checking the appropriate box(es). Selecting Game Types Not all game types are appropriate for all maps. For instance, King Of The Hill should be avoided on maps where a team starts on, or very close, to the hill. Maps for ball games should be free of places where balls can become trapped out of the reach of all units. It is often a good idea to create your map with multiple game types in mind, and tailor it accordingly. Game Types & Requirements Some netgames require special scenery objects to be placed before you can play that netgame type. Body Count - No special requirements. Just units on the map. Steal The Bacon - There must be a Steal The Bacon ball scenery object. Last Man on the Hill - Netgame LMOTH flag. Scavenger Hunt - Netgame Balls 1 -> 9 . You can include one of each number, and you don't need to include them all (perhaps you only want a two or three ball game). Flag Rally - Netgame Flags 1 -> 9 . Same as with Scavenger Hunt, but with flags. Capture The Flag - Netgame Capture The Flag flags. A separate scenery item needs to be created for each team, and assigned that team's number. Balls On Parade - Netgame Balls on Parade balls. A separate scenery item needs to be created for each team, and assigned that team's number. Territories - Netgame territories flags. You can place any number of these on the map, but do so intelligently. Captures - Netgame captures balls. Otherwise the same as Territories flags. King of the Hill - Netgame King of the Hill Flag. It is strongly, strongly recommended that all teams be an equal distance from this flag, or else one team might have a major advantage or disadvantage. Whatever you do, never, ever allow a team to start on a King of the Hill flag. Stampede - Stampede requires designated units (often barnyard life such as chickens) for each team, and flags to designate a pen, or goal. The stampede animals all need to be checked as "Netgame Targets", and the flags need to either be set to a team number, or -1. If they are set to a team number, only stampede target units of that team will be teleported out, whereas a -1 flag will teleport out all units. Assassination - A target unit. A separate target unit needs to be added for each team. The target may marked as Uncontrollable for "Choke The Chicken" variations. The only netgame that should be selected is "Assassination." Once the unit is placed it must be designated as "Netgame Target" by double-clicking on the unit, and checking the appropriate box. Hunting - Ambient life forms. Deer, chickens, crows and other animals can all be added to the map. They all need to be assigned to Team -1, and marked Uncontrollable, Must use veterans, and Is hunted creature. All netgames should be unchecked for these units except Hunting. Custom - For special scripted game types... you may well never have to use this. Before these net objectives can be added to your map, you need to construct a palette of net scenery items. Double click on the scenery tool to open the Scenery Marker Palette. Add net objectives to the palette by clicking on the Add button, or hitting Command-A on the keyboard; they all start with the word "netgame." Capture the Flag and Balls on Parade require that you create a flag or ball palette entry for each team. All other net objectives should be assigned to "Team -1." You can leave all the netgame types selected as Myth will only activate those netgame objects required for the chosen game. Close the dialog with the OK button when you are done. Placing Net Objectives The flags and balls are placed on the map by selecting the desired type from the menu, and then clicking in the 3D view. Keep in mind that these objectives need to be placed in a manner that is fair to all teams, but that some variety is also desirable to encourage different attack and defense strategies. Note that you can filter which objects are shown on the overhead by selecting Tool Preferences from the Edit Menu. When you uncheck the "Show All" option only instances of the currently selected item in the scenery menu appear in the overhead view. Thus you can see the placement of just the territories flags (for example). This is very helpful for balancing these objectives. Selecting and Moving Net Objectives You can select flags and balls with the scenery tool, but only by directly clicking on the target item. You have to be careful where you click, or else you will create another instance of the current scenery item. You can add items to the selection set by holding down the shift key. The selection tool is often a better method of selecting and moving objects as it removes the possible confusion of creating new objects. You can also use it to band-select items. To move flags and balls, click on a selected object, and drag the mouse while holding down the Control key. To move items over a large distance (more than one screen's worth) keep holding down the Control key, and move the view with the keyboard. The selected objects will follow along. Setting Game Types After adding all the flags and balls to your map, you still need to specify the game types. Launch Fear and open the meshes folder in the Tags list. Your map should appear in the meshes list. Open it. In the Game Scoring Types section check all the options that your map supports. Click OK, and close Fear.

Sounds |
Sounds add atmosphere to a map. They are a very important part in making a map seem realistic. There are two basic types of sounds on maps. The first is the map's ambient sound -- this is a sound file that is played all over the map. The second are sound sources which you can place in different regions of your map. Ambient Sounds Ambient sounds are set with Fear. Open your mesh from within the application, and set the appropriate field. Note that only ambient sounds may be stereo files. If you attempt to use an "st" sound as a sound source, your map will crash. Sound Sources To add a sound source to a map, double click on the sound tool. Choose “Add…”. Then select the sound you want. Should you change your mind, you can change this sound and all of its markers on the map. Just choose “Edit,” or double-click its name in the sound list. To place a sound on the map, choose it from the pop up menu on the floater, and then click the point on the mesh where you want it appear. To change other attributes of the sound, you will need to edit it in Fear.

Observers |
Observers are the cameras of Myth II. Each team has its own observer which usually starts out showing their units. Creating Observers Observer Tool You first need to create palette entries for the observers you will place. Double click on the observer tool and use the Add button (or type Command-A) to add one observer for each team. You can use the Delete button to remove any mistakes, and the Edit button to change an observer's team. Close the dialog with the OK button when you are done. One way to place an observer is to select a team from the palette, and click in the 3D view. A large eyeball will appear in the view. The observer can then be reoriented by dragging the mouse, or moved by holding down the control key and dragging the mouse. A better way to place observers is to orient the editing camera in Loathing the same way you want the observer to start. Select the team from the palette, and choose "Drop Observer" from the Mesh menu. Loathing will then create a new observer for you, and set it to mimic the current view. If you have already created an observer for that team, you can get the same effect by selecting that team's eyeball, setting up the view, and choosing the Drop Observer command.

Model Animations |
Model Animations are in fact animated models, and are the most striking new feature added to Myth II. Not only do they look neat and add to the feel of realism, (as in the case of the windmill blades), but animated models, like the drawbridge, can play an integral role in gameplay. Keep in mind that models will slow down some older machines, and, as such, you should avoid unnecessary animation. Adding Model Animations Model Animations Tool You first need to create palette entries for the animated models you will place . Double click on the model animations tool and use the Add button (or type Command-A) to add the desired animations. You can use the Delete button to remove any mistakes, and the Edit to change to a different animation. Close the dialog with the OK button when you are done. Placing Model Animations Animated models are placed on the map by selecting the desired model from the menu, and then clicking in the 3D view. To move selected animated models, drag the mouse while holding down the Control key. To move them over a large distance (more than one screen's worth) keep holding down the Control key, and move the view with the keyboard. The model will follow along. Selecting Model Animations Unlike other objects in Loathing, you cannot select animated models with its creator tool; you must use the selection tool. Orienting Model Animations Unfortunately, due to the implementation of model animations in Myth II, you can't change their orientation.

Section IV: Map Actions, aka "Scripting"

Introduction to Map Actions |
Actions scripting is not an easy task, and we recommend that users base their map actions on those Bungie has used for their maps. Indeed, unless you have had past programming experience, trying to create original map actions is ill-advised. The existing maps cover almost everything anyway, so completely original map actions are probably unnecessary for all but the most obscure uses. Anyone who has used a functional programming language such as LISP or Scheme should have no difficulty understanding the interface to the map actions. There are differences, to be sure, but the underlying formula is the same. Basically, all actions take in either a parameter or a set of parameters, and return a completion status. The primary difference is that the return isn't literal as in common languages - instead you have to query the action for its return. Also, the return does not occur immediately, and possibly never will while the map is being played. As with all programming languages, actions must be activated to execute. There are two calling mechanisms available within the system. Actions can be activated as soon as a game begins by using the Initially Active flag, or they may be called when another action returns a status of some type. An explanatory code equivalent may be found in Actions Appendix A. The last important thing that remains in common with most programming languages is type matching. Loathing does a very good job of enforcing this, but if you want to get really fancy you ought to keep this in mind. Building good map actions essentially boils down to copying existing actions, or being good enough at designing them to risk making your own. Map scripts are complex to play around with, so, unless you need something really special, copying is a better option than creating original actions.

Editing Map Actions |
Action Tool - clicking on this button opens a three-pane dialog which allows you to create and edit map actions. Map Actions Menu Add/Edit Map Action Name: The name of the map action Type: The AI tag that the action will use Expiration Mode: On Trigger - Kills the action at the time specified in the Trigger Time box. On execution - Kills the action as soon as an action has been completed (i.e., a model animation is out of frames). On successful execution - Kills the action if an action has executed successfully. On failed execution - Kills the action if an action has executed without success. Never - Never kills the action, regardless of circumstances. Trigger Time: The start and end timers for an action. Activates only once: Action can only be executed once (used for things like the destruction of wall animations). Initially active: Begins active, needs no trigger. No initial delay: No delay before the action begins. Only initial delay: Doesn't insert a delay after the first time through. Main Map Actions Menu Map Actions List of all map actions, each individually defined as <TYPE>.<name>. Add: Add a new item to the list. Delete: Delete the item from the list. Edit: Make changes to the currently selected action. Duplicate: Makes a copy of the currently selected action, and allows you to assign a new name. Arrows: Up/Down - Selection of Action List items. Left/Right - Exists purely for the user's organization. Changes the indentation of the action by one whitespace character. Parameters List of map action parameters Add: Add a new parameter to the list. Delete: Delete a parameter from the list. Edit: Make alterations to a parameter, where possible. Add Custom: Add a custom parameter. Elements The matching values for a parameter. Add: Add an element to the parameter list. Note - many elements' values can also be set by clicking on the desired unit, model, or point. Delete: Remove an element from the parameter list. Edit: Change the value of an element in the parameter list.

Action Types and Subordinate Parameters |
Consider this a reference to all of the action type parameters. We are not responsible for the psychological trauma that might result from reading through this entire list in one sitting. Refer to it as necessary. Universal Link - Takes an action identifier, linking another action. Debug Flag - If true, used to write debug information. Activates on Success - Takes an action identifier, if successful executes all actions in the list. Activates on Failure - Takes an action identifier, if failed executes all actions in the list. Activates on Trigger - Takes an action identifier, if triggered executes all actions in the list. Activates on Execution - Takes an action identifier, if executed executes all actions in the list. Activates on Activation - Takes an action identifier, when activated executes all actions in the list. Activates on Deactivation - Takes an action identifier, when deactivated executes all actions in the list. Activates on Error - Takes an action identifier, when an error occurs all actions in the list are executed. Activates on Inhibition - Takes an action identifier, when inhibited all actions in the list are executed. Activates on Missing Prerequisites - Takes an action identifier, when missing prerequisites all actions in the list are executed. Deactivates on Success - Takes an action identifier, deactivates all actions in the list when successful. Deactivates on Activation - Takes an action identifier, deactivates all actions in the list when activated. Deactivates on Deactivation - Takes an action identifier, deactivates all actions in the list when deactivated. Deactivates on Error - Takes an action identifier, deactivates all actions in the list when an error occurs. Inhibitions - Takes an action identifier, will not trigger if all given (and non-linked) actions are successful. Prerequisites - Takes an action identifier, will not trigger unless one of the given (and non-linked) actions is successful. Activates Simultaneously - Takes an action identifier, triggering the actions triggers all actions in the list. None No additional subordinate parameters. Action List Actions to Activate - Takes action identifiers, a list of actions to be activated. Random Selection Flag - Takes action identifiers, randomly selects an action to activate. Activate Only One - Takes action identifiers, stepping through the list activating until a success occurs. Chance of Activating - Takes a number, contains an array giving the chances of listed actions to activate. Actions to Deactivate - Takes action identifiers, a list of actions to be deactivated. Chance of Deactivating - Takes a number, contains an array giving the chances of listed actions to deactivate. Ambient Sound Control Sound - Takes a source identifier, determining the sound to be played. Volume - Takes a number, determining the volume it is played at. Duration - Takes a number, duration in seconds to fade out a sound effect. Model Animation Model Animation - Takes a model identifier, determining the model to animate. Start Forward Flag - Takes a flag, if true starts playing an animation forward from the beginning. Start Backward Flag - Takes a flag, if true starts playing an animation backward from the end. Stop Flag - Takes a flag, if true stops playing an animation. Back and Forth Flag - Takes a flag, if true plays an animation back and forth. Cycle Flag - Takes a flag, if true makes an animation cycle. Reset Frame Index Flag - Takes a flag, if true resets to the start or end of a sound. Advance Animation Flag - Takes a flag, if true moves the animation forward a single frame. Frame Greater Than - Takes a number, tests if the current animation frame index is greater than that number. Frame Less Than - Takes a number, tests if the current animation frame index is less than that number. Frame Equal To - Takes a number, tests if the current animation frame index is equal to that number. Assassin (Mahir only) Subject - Takes monster identifiers, the suicide monsters to attack with. Visibility - Takes a number, the radius around the suicide unit which is visible. Fear Duration - Takes a number, the amount of time the suicide unit waits before deciding that an attacking missile unit is no longer paying attention. Initial Delay - Takes a number, the maximum random delay in calls to the unit before starting. Attack Attackers - Takes monster identifiers, monsters that will do the attacking. Targets - Takes monster identifiers, monsters that will be the target of the attack. Attack All Enemies Flag - Takes a flag, if true attacks all enemies on map. Use Special Abilities Flag - Takes a flag, if true use special abilities in attack. Attack Ground Location - Takes a world point, attacks the ground at that position. Attack Nearest Flag - Takes a flag, if true monsters attack the nearest available targets. Don't Retarget Flag - Takes a flag, if true only monsters without targets are used to do move on. Polygon - Takes world points, attack only units within the defined clockwise, convex polygon. Closed Polygon Flag - Takes a flag, if true indicates that the polygon is closed. Reversed Polygon Flag - Takes a flag, if true tests for units outside the polygon rather than within. CDAudio Play Track - Takes a number, plays the selected track index. Repeat Flag - Takes a flag, if true repeats the tracks. Fade Out Flag - Takes a flag, if true fades out the track. Fade In Flag - Takes a flag, if true fades in the track. Chicken No additional subordinate parameters--this map action is called from the unit via its Map Action attribute. You can use Fear to edit this characteristic. Connector Objects - Takes object identifiers, the objects to connect. Connection Tag - Takes a connector, to define the projectile. Distance to Interpolants - Takes a number, defining the distance between interpolation points. Unit Control Monsters - Takes monster identifiers, the monsters to affect. Received User Control Flag - Takes a flag, if true denotes that user control is received. Ignores User Control Flag - Takes a flag, if true monsters ignore user commands. Does Not Autotarget Flag - Takes a flag, if true monsters do not autotarget. Cannot Be Autotargeted Flag - Takes a flag, if true monsters cannot be autotargeted. Delete Monsters - Takes monster identifiers, deletes the monsters. Fade Flag - Takes a flag, if true deletes monster by fading them off of the map. Visible Flag - Takes a flag, if true makes the monster visible. Invisible Flag - Takes a flag, if true makes the monster invisible. Monster Source Flag - Takes a flag, if true makes the marker a monster source. Health Fraction - Takes a number, setting the health fraction of the monster. New Monster Name - Takes a number, setting the monster's name to the indexed name in the monster name list. Experience - Takes a number, setting the experience level of the monster. Levels Survived - Takes a number, setting the number of levels a unit has survived. Use Monster Entrance Flag - Takes a flag, if true uses the monster entrance projectile group. World Knot Visibility Flag - Takes a flag - if true makes the monster appear with the world knot appearance method. Tain Visibility Flag - Takes a flag, if true makes the monster appear with the tain appearance method. Magic Visibility Flag - Takes a flag, if true makes the monster visible/invisible magically. Set Marker Height - Takes a number, adds the value to the monster's marker height. Give Monster Artifact - Takes an object identifier, gives a monster the artifact. Ammunition - Takes a number, sets the amount of ammunition a unit has without regard to normal in-game maximums. Remove Artifact - Takes a flag, if true removes the artifact from the monster. Default Actions No additional subordinate parameters. Delay Results Action - Takes an action identifer, directs the results of a delay to the target action. Delay Time - Takes a number, sets the time in seconds to delay. Results Type - Takes a field name, signifies the field name under which subjects are stored. Even Distribution Flag - Takes a flag, if true delays the monsters evenly over the given time. Endgame Condition Dark Victory Flag - Takes a flag, if true Dark side wins. Light Victory Flag - Takes a flag, if true Light side wins. Failure Flag - Takes a flag, if true Light side fails a victory. Suspend Flag - Takes a flag, if true game goes to Sudden Death instead of an abrupt ending. Winning Team - Takes a number, denotes the index of the winning team. No Celebration - Takes a flag, if true units on winning team don't cheer. Follow Radius - Takes a number, denotes the radius to determin spatial groups. Follow Radius - Takes a number, determines the distance to follow at. Falling Behind Actions - Takes action identifiers, determines actions to activate the first time that the units start to fall behind. Abandoned Actions - Takes action identifiers, determines which actions to activate once the units are abandoned. Follower Elimination Actions - Takes action identifiers, determines which actions to activate if all of the following monsters are eliminated. Followed Elimination Actions - Takes action identifiers, determines which actions to activate if all of the followed monsters are eliminated. Stop When Idle Flag - Takes a flag, if true following monsters will not attack. General Action Command Type - Takes a number of action to do: 0: Stop 1: Scatter 2: Retreat 3: Special Ability (immediate) 4: Guard 5: Taunt Monsters - Takes a monster identifier, determines which monsters follow the command type. Geometry Filter Monsters - Takes monster identifiers, monsters to check for in the geometry. Object Type - Takes object types, objects to check for in the geometry. Object Identifier - Takes object identifiers, object identifiers to check for in the geometry. Polygon Points - Takes world points, points to define a polygon. Must be in clockwise order. Polygon Closed Flag - Takes a flag, if true polygon is closed. Circle Centerpoint - Takes a world point, defines the center point of a circle. Circle Centerpoint (Monster) - Takes a monster identifier, defines the center point of a circle as a monster's location. Circle Radius - Takes a number, defines the radius of a circle. Holding Object - Takes an object identifier, defines which units are holding that object. Not Holding Object - Takes an object identifier, defines which units are not holding that object. Entire Map - Takes the map itself, defines the entire map as the geometry. Results Action Identifier - Takes an action identifier, defines where to place the results of a geometry test. Tested Items Inside Field Name - Takes a field name, defines the field name in the results action identifier in which to place monster or object identifiers that are inside the geometry. Tested Items Outside Field Name - Takes a field name, defines the field name in the results action identifier in which to place monster or object identifiers that are outside the geometry. Tested Items Inside Location Field Name - Takes a field name, defines the field name in the results action identifier in which to place monster or object locations that are inside the geometry. Tested Items Outside Location Field Name - Takes a field name, defines the field name in the results action identifier in which to place monster or object locations that are outside the geometry. Maximum Number of Items - Takes a number, restricts the number of items added to the result to this number if set. Use Markers Instead of Monsters - Takes a flag, if true uses monster markers instead of marker positions. Harass (for ghols) Subject - Takes monster identifiers, defines the monsters doing the harassment. Visibility Radius - Takes a number, defines the area around the harassing units that can be seen. Initial Delay - Takes a number, defines the amount of time each unit will delay before beginning evaluation. Activate On Casualty - Takes action identifiers, defines the actions to activate if the unit takes a casualty. Reevaluation Delay - Takes a number, defines how long to delay before reevaluation. Projectile Radius - Takes a number, defines the radius around the unit to look for projectiles to throw. Guard Waypoint - Takes a world point, defines where a unit should go to if no enemies are in range. Netgame Goal Polygon - Takes a polygon, defines the area around the goal. Team Index - Takes a number, defines the index of the team who currently owns the goal. Group Initial State - Takes an action identifier, which must be either a guard or split up action. Defines how the unit wtarts on the map. Group Guard Guard Point - Takes a world point, defines where the unit is guarding. Guard Radius - Takes a radius, defines the inner and outer radius to guard within. Actions - Takes two action identifiers, the first of which is used to set up the group, the second of which is the action used to attack. Invisible Pursuit Invisible Unit - Takes a monster identifier, defining the invisible unit. Pursuers - Takes monster identifiers, defining which monsters are pursuing. Meander Points - Takes world points, defining which places the unit should meander to. Activate on Casualty - Takes action identifiers, defining a list of actions to activate when the team recieves a casualty. Activate on Visible - Takes action identifiers, defining a list of actions to activate when the unit becomes visible. World Knot Models - Takes model identifiers, defining the models composing the world knot. Duration - Takes a number, defining the duration of the teleportation effect. Model Animations - Takes model identifiers, defining animations to perform on the world knot models. NEVER EVER EVER EVER run a model animation while the world knot is doing something! Teleporting Out Flag - Takes a flag, if true the world knot teleports out. Activate On Wave - Takes action identifiers, defining a set of actions to activate when matching waves come through. One action per wave only. Monsters to bring in - Takes action identifiers, each defining subject fields of monster to bring in. Next world knot to go to - Takes an action identifier, places the next world knot onto the end of a linked list. Trigger on Teleport In - Takes action identifiers, defines actions to trigger when the world knot begins a teleport in sequence. Use Bounding Box For Knot Center Flag - Takes a flag, if true uses a point bounding box to determine the center of the world knot. If false, an average is used. Use Bounding Box For Wave Center Flag - Takes a flag, if true uses a point bounding box to determine the center of the wave. If false, an average is used. World Knot Centerpoint - Takes a world point, defining the center of the world knot if you know the map action would specify it wrong otherwise. World Knot Radius - Takes a radius, defining the radius of the world knot if you know that the map action would specify it wrong otherwise. Leading Leader - Takes a monster identifier, defining the leader. Maximum Distance - Takes a number, defining the distance between the maximum range between leader and the group. Desired Range - Takes a number, defining the desired distance between the leader and the group. Minimum Range - Takes a number, defining the minimum distance between the leader and the group. Target Type - Takes a number, defining the type of the target: 0: Waypoint 1: Monster 2: Object The Group - Takes monster identifiers, defining the group. Range To Target - Takes a number, defining the distance between the leader and the target at which the leader thinks the target has been found. Target Waypoints - Takes world points, defining the waypoints to lead the group to. Target Object - Takes object identifiers, defining the objects to lead the group to. Target Monster - Takes monster identifiers, defining the monsters to lead the group to. Beckoning Actions - Takes action identifiers, determining the actions to execute when beckoning to the group. Fleeing Actions - Takes action identifiers, determining the actions to execute when the leader flees from the enemy. Leader Died Actions - Takes action identifiers, determining the actions to execute when the leader is killed. Target Gone Actions - Takes action identifiers, determining the actions to execute when the target is eliminated. Success Actions - Takes action identifiers, determining the actions to execute when the group is led to the target. Delay Before Yelling - Takes numbers, defining the lower bound and delta to delay before successive yells. Maximum Times To Yell - Takes a number, defining the maximum number of times to yell before stopping. Delay Before Beckoning - Takes numbers, defining the lower bound and delta to delay before successive beckons. Maximum Times To Yell - Takes a number, defining the maximum number of times to beckon before stopping. Minimum Radius Before Fleeing - Takes a radius, defining how close the leader can get to the enemy before running. Fleeing Radius - Takes a radius, defining how far behind the group the leader will flee when he cowers. Legion (defensive) Group Count - Takes a number, defining how many groups there are in the legion. Line - Takes numbers, the first of which defines the point to retreat towards, and the second of which is the point to advance towards. Group Centerpoint Array - Takes world points, defining an array of group centerpoints. Group Unit Container Array - Takes action identifiers, defining an array of map actions which contain the subject lists for each group. Power Ratio - Takes a number, defining the strength ratio at which the legion attacks. Maximum Damage Before Attack - Takes a number, defining how much damage a unit will sustain before attacking. Visibility Radius - Takes a radius, determining the radius around its current centerpoint within which it will look for enemies. Outer Attack Radius - Takes a radius, determining the radius around its current centerpoint within which the legion will attack enemies. Inner Attack Radius - Takes a radius, determining the radius around its current centerpoint within which the legion never stop attacking enemies. Global Centerpoint - Takes a world point, defining the absolute center of the legion. Global Facing - Takes an angle, determining which direction the legion is facing. Fallback Actions - Takes action identifiers, determining which actions will be activated when the legion starts to fall back. Advancing Actions - Takes action identifiers, determining which actions to activate when the legion reaches the end of its advance. Activate On Attack - Takes action identifiers, determining which actions to activate when the legion attacks. Deactivate On Attack - Takes action identifiers, determining which actions to deactivate when the legion attacks. Activate After Attacking - Takes action identifiers, determining which actions to activate after the legion stops attacking. Deactivate After Attacking - Takes action identifiers, determining which actions to deactivate after the legion stops attacking. Group Facing Array - Takes angles, defining an array of the group facings. Group Formation Array - Takes numbers, defining an array of the indices of the group formations: 0: Short line 1: Long line 2: Loose line 3: Staggered Line 4: Box 5: Rabble 6: Shallow Encirclement 7: Deep Encirclement 8: Vanguard 9: Circle Group Position Dependency Array - Takes numbers, defining an array of which groups are guarding which. Allied Legions - Takes action identifiers, defining which legion actions will act with the legion. Lightning Central Sound Source - Takes a sound, defining where the lightning will be shot from. Radius - Takes a radius, defining the radius around the center to scan for monsters. Lock Keys - Takes action identifers, defining keys. Actions To Activate - Takes action identifiers, defining actions to be activated when the lock is opened. Actions To Deactivate - Takes action identifers, defining actions to be deactivated when the lock is opened. Look No additional subordinate parameters. Local Projectile Group Action Groups - Takes local projectile groups, defining the groups to use. Turn On Flag - If true, turns on the groups. Turn Off Flag - If true, turns off the groups. Opacity - Takes a number, determining how opaque the groups are. Meander Action (wander aimlessly) Meanderers - Takes monster identifiers, defining which monsters will meander. Meander Points - Takes world points, defining locations to wander to. Activate On Casualty - Takes action identifiers, defining actions to activate when a casualty occurs. Scan For Threats - Takes a flag, if true the units will scan for nearby threats. Threat Scan Width - Takes a number, designating the width in cells to scan for threats. Mesh Cell Modifier Mesh Cells To Affect - Takes world points. Each cell with a world point in it is modified. Kill This Cell - Takes a flag, if true kills the cell. If false unkills the cell. Killing a cell is used under models so that the pathfinding treats it all as a single big block. Terrain Cost - Takes a number: 0: Dwarf-Depth Media 1: Human-Depth Media 2: Giant-Depth Media 3: Deep Media 4: Sloped 5: Steep 6: Grass 7: Desert 8: Rocky 9: Marsh 10: Snow 11: Forest 12: Unused 13: Unused 14: Walking Impassable 15: Flying Impassable Melee Formation - Takes a number, defining the formation to use: 0: Short Line 1: Long Line 2: Loose Line 3: Staggered Line 4: Box 5: Rabble 6: Shallow Encirclement 7: Deep Encirclement 8: Vanguard 9: Circle Power Over Distance Threshhold - Takes a number, the distance at which to choose a more powerful group isntead of a closer one. Subjects - Takes monster identifiers, defines the subjects of the action. Mission Advance Flag - Takes a flag, if true advances the mission objective. Model Effect Model - Takes a model identifier, defining the model to use. Model Animation - Takes a model identifier, defining the model animation to affect. Duration - Takes a number, determines the duration in seconds. Delta Yaw - Takes an angle, defining the change in yaw per second. Delta Pitch - Takes an angle, defining the change in pitch per second. New Permutation - Takes a number, determining which permutation to crossfade to over the duration. Permutation - Takes a number, determining which permutation to force immediately. Fade In Flag - Takes a flag, if true fades in the model. Fade Out Flag - Takes a flag, if true fades out the model. Delete Model Flag - Takes a flag, if true deletes the model upon completion. Permutation Only Flag - Takes a flag, if true only change the model permutation. Material Index - Takes a number, defining the material index to fade in or out. Material Final Opacity - Takes a number, defining what opacity to fade the material index to fade to. Initial Scale - Takes a number, defining the initial scale of the model. Final Scale - Takes a number, defining the final scale of the model. Projectile Type To Detonate - Takes a projectile type, defining a projectile type to create and detonate immediately. Projectile Origin - Takes a world point, defining a the point to create the projectile at. Move Marker Team Index - Takes a number, defining the index of the team to move the marker near. Subject - Takes a monster identifier, defining the monster to move. The monster MUST NOT have been created before you attempt to move the marker. Movement Waypoints - Takes world points, defining the locations to move to. Monsters - Takes monster identifiers, defining which monsters to move. Cycle Flag - Takes a flag, if true the units repeatedly move through the waypoints. Back And Forth Flag - Takes a flag, if true the units move back and forth through the waypoints. Preserve Target Flag - Takes a flag, if true the target is kept. Formation Index - Takes a number, defining which formation to use: 0: Short Line 1: Long Line 2: Loose Line 3: Staggered Line 4: Box 5: Rabble 6: Shallow Encirclement 7: Deep Encirclement 8: Vanguard 9: Circle Final Facing - Takes an angle, defining which facing to assume at the last waypoint. Munger * This is something that by general Bungie consensus, users should NEVER mess around with. It is included simply for the purposes of comprehensive documentation. Insert Parameters - Takes action identifiers, defines parameters to insert. Replace Parameters - Takes action identifiers, defines parameters to replace. Delete Parameters - Takes action identifiers, defines parameters to delete. Append Parameters - Takes action identifiers, defines parameters to append. Deactivate Actions - Takes action identifiers, defining the actions to deactivate. Activate Actions - Takes action identifiers, defining the actions to activate. Delete Actions - Takes action identifiers, defining the actions to delete. Actions To Make Successful - Takes action identifiers, defining the actions to make successful. Netgame Type Type - Takes numbers corresponding to each netgame type, if true the action succeeds. Winning Team Index - Takes number corresponding to team number, if true the action succeeds. Winning Team Can Tie - Takes a flag, if true the action can succeed even if the winning team is tied. Winning Team Minimum Score - Takes number corresponding to minimum score of winning team, if true the action succeeds. Object Control Projectile Tag - Takes a field name, defining which projectile tag to affect. Reveal All Flag - Takes a flag, if true reveals all instances of the object. Reveal Random Flag - Takes a flag, if true reveal a random instance of the object. Observer Movement Camera Mode - Takes a number, defining the camera mode: -1: Controlled by user 0: Uncontrollable by user 1: Controlled by map actions 2: Object tracking Destination - Takes a world point, defining where to move the observer to. Final Facing - Takes an angle, defining where the observer needs to face when it reaches the destination. Viewing subject - Takes a monster identifier, defining which monster to follow if desired. Linear Interpolant Separation - Takes a number, defining the distance between linearly interpolated camera positions. Angular Interpolant Separation - Takes a number, defining the distance between angularly interpolated camera positions. Maximum Time Before Cutting - Takes a number, defining how long to move the camera through interpolation before snapping to the destination. Particle System Control Switch Particle System State - Takes a flag, if true toggles between snowing and not snowing. Target Multiplier - Takes a number, defining a multiplier to determine number of particles. Peasant No additional subordinate parameters. Pick Up Object Object - Takes an object identifier, defining which object to pick up. Monsters - Takes monster identifiers, defining which monsters to pick the object up. Netgame Time Planning Time Over - Takes a flag, if true the action succeeds if planning time has expired. Sudden Death - Takes a flag, if true the action succeeds if sudden death is in progress. Game Over - Takes a flag, if true the action succeeds if the game is over. Time Remaining Less Than - Takes a number, if remaining game time (not including Sudden Death) is less than this number, the action succeeds. Platoon Initial State - Takes an action identifier, defining the starting state. Initial Squads - Takes action identifiers, defining the the initial squads comprising the platoon. Centerpoint - Takes a world point, defining the unit's initial centerpoint. Facing - Takes an angle, defining the unit's initial facing. Allies - Takes action identifiers, defining the other platoons which may be called when attacking. Platoon Movement Waypoints - Takes world points, defining which points to use as waypoints. Waypoint Radii - Takes radii, defining the random radius at each waypoint. Radii - Takes radii, defining the minimum and maximum distances for detecting and attacking enemies. Loop Flag - Takes a flag, if true loops through the waypoints. Charge Flag - Takes a flag, if true charge when an attack is ordered. Interpolate Flag - Takes a flag, if true interpolates between waypoints. Interpolant Spacing - Takes a number, defining the distance between interpolated waypoints. Congregate Flag - Takes a flag, if true the platoon will congregate toward its apparent center before moving toward the first waypoint. Platoon Scouting Waypoints - Takes world points, defining the list of waypoints to use. Waypoint Radii - Takes radii, defining the random radius at each waypoint. Radii - Takes radii, defining the minimum and maximum distances for detecting and attacking enemies. Loop Flag - Takes a flag, if true loops through the waypoints. Charge Flag - Takes a flag, if true charge when an attack is ordered. Interpolate Flag - Takes a flag, if true interpolates between waypoints. Interpolant Spacing - Takes a number, defining the distance between interpolated waypoints. Congregate Flag - Takes a flag, if true the platoon will congregate toward its apparent center before moving toward the first waypoint. Prohibited Netgame Teams * This Map Action is not fully implemented and can cause problems such as incorrect team counts and false game reporting. Game Type + Team Indexes - Takes two numbers, the first is the number of the game type and the second is the team to be removed. As many of these as required can be added to the same action. Rout Destinations - Takes world points, defining the positions to run to when routed. Subject - Takes monster identifiers, defining the monsters to rout. Shaman Shaman - Takes a monster identifier, defining the shaman to control. Allies - Takes monster identifiers, defining the allies that the shaman tries to heal. Vitality Threshhold - Takes a number, determining the health level of allies before the shaman tries to heal them. Fallback Action Identifier - Takes an action identifier, defining which action to trigger if the shaman has nobody to heal. Action Sniffing Test Case - Takes a number, defining which case to test for. Don't Clear Flag - Takes a flag, if true don't clear the test case after success. Keep Reporting Errors After Initial Success Flag - Takes a flag, if true keep reporting errors after the action is successful the first time. Time Between Errors - Takes a number, defining the minimum time between reporting errors. Delay Before Announcing Errors - Takes a number, defining how long to wait before beginning to report errors. Soaring No additional subordinate parameters--this map action is called from the unit via its Map Action attribute. You can use Fear to edit this characteristic. Sound Action Sound Tag - Takes a sound, defines the sound to use. Monster - Takes a monster identifier, defining which monster generates the sound. Override Flag - Takes a flag, if true the monster will generate the sound despite any player commands that have been issued. Group Split Up Threshholds - Takes numbers, defining surviving monster counts. Setup Action Pointers - Takes field names, defining setup action lists. Squad Centerpoint - Takes a world point, defining the centerpoint of the squad. Facing - Takes an angle, defining the facing of the squad. Formation - Takes a number, defining the formation to assume while walking between waypoints. Monsters - Takes monster identifiers, defining the monsters in the squad. Suicide (for wights) Subjects - Takes monster identifiers, defining the monsters to suicide with. Visibility Radius - Takes a radius, defining the area around the suiciding area that is visible. Fear Duration - Takes a number, defining the amount a time the unit will wait before trusting that enemy missile units are no longer paying attention. Enemy Detonation Threshold - Takes a number, defining the number of enemy units must be adjacent before detonating. Power Over Distance Threshhold - Takes a radius, defining how far to look for a more powerful unit than the closest one. Detonation Radius - Takes a radius, defining how big a detonation radius there will be. Minimum Power Threshhold - Takes a number, defining the minimum enemy strength before attacking. Initial Delay - Takes a number, defining the minumum amount of time before the units start caring. Activate On Casualty - Takes action identifiers, defining which actions to activate when a casualty occurs. Inhibition - Takes an action identifier, determining which units to prevent from creating. Never Avoid - Takes a flag, if true will never attempt to avoid the enemy during a charge. Surround Units Lost Before Attacking - Takes a number, defining the maximum number of units which may be lost before triggering an attack. Time Before Attacking - Takes a number, defining how long to wait before attacking. Activate On Attack - Takes action identifiers, defining which actions to activate when the attack is triggered. Subject - Takes monster identifiers, defining the monsters used to surround with. Test Unit Unit Count Greater Than - Takes a number, and tests for a unit count greater than it. Unit Count Less Than - Takes a number, and tests for a unit count less than it. Unit Count Equal To - Takes a number, and tests for a unit count equal to it. Polygon - Takes world points, defining a polygon to use for the test. Closed Polygon Flag - Takes a flag, if true the polygon is closed. Reversed Polygon Flag - Takes a flag, if true tests for monsters outside of the polygon. Vitality Greater Than - Takes a number, and tests for cumulative vitality greater than it. Vitality Less Than - Takes a number, and tests for cumulative vitality less than it. Change in Vitality - Takes a number, and tests for a change in vitality greater than it. Power Greater Than - Takes a number, and tests for cumulative power greater than it. Power Less Than - Takes a number, and tests for cumulative power less than it. Difficulty Greater Than or Equal To - Takes a number, and tests for a difficulty greater than or equal to it. Difficulty Less Than or Equal To - Takes a number, and tests for a difficulty less than or equal to it. Power Ratio Less Than - Takes a number, and tests for a power ratio less than it. Power Ratio Greater Than - Takes a number, and tests for a power ratio greater than it. Received User Command - Takes a flag, if true tests whether or not the unit has received a command from the user. Object Held - Takes an monster identifier, and tests whether the unit is holding anything. Object Held By aLl Units Flag - Takes a flag, and tests whether all units are holding the object. Object Test Radius - Takes a world point and a radius, and tests whether an object is in the area. Radius About Centerpoint - Takes a radius, and tests for points in the resulting circle. Enemy List - Takes monster identifiers, defining a list of enemies to use for the Enemy Closer Than radius test. Enemy Closer Than Radius - Takes a radius, and tests whether there are enemies within the given radius of the subject. Ignore Invisible Units Flag - Takes a flag, if true forbids test from acknowledging magically invisible units withing the radius. Wandering Movement Centerpoint - Takes a world point, defining the centerpoint of the wandering. Wander Radius - Takes a radius, defining the radius within which to wander. Monsters - Takes monster identifiers, defining which monsters are wanderers.

Appendix A |
GenericActionPass (parameter set) { if (this.status != Active) { switch (this.status) { case Deactivating: //Activate specially flagged actions ActivateOnDeactivate(action1); ActivateOnDeactivate(action2); break; case Inactive: //It's dead - do nothing; break; case Activating: //Activate specially flagged actions ActivateOnActivate(action3); ActivateOnActivate(action4); break; case Error: //Activate specially flagged actions ActivateOnError(action5); ActivateOnError(action6); break; case Successful: //Activate specially flagged actions ActivateOnSuccess(action7); ActivateOnSuccess(action8); break; case Failure: //Activate specially flagged actions ActivateOnFailure(action9); ActivateOnFailure(action10); break; } } else { <execute action body> //Do whatever the main function of the action is }

Section V: Contributors and Credits |

Contributors and Credits
The following people contributed their time and effort to this manual, a sacrifice for which we offer our thanks, adoration, and first born children: Credits John Scott (Bellendaine), editor in chief Chris Barrett (plague) Nathan Bastian (Bastian) Joe Doll (Fly Molo) Chris Dreessen (Manus Celer Dei) Chris Schaefgen (Hoder) David Shaw (Arkham) James Trevett (Setik) Tyson Green (Ferrex the Dead) Special Thanks to: Jamie Griesemer (Case) Darren Bahr (Khayman) Max Hoberman (Yeroen) Bungie Software cannot provide phone-support for Loathing or its documentation. Any updates to this manual, or to Loathing itself, will be made available via Bungie's website. Keep tuned to <http://www.bungie.com/mythii> for details.

Loathing and Myth II copyright 1998 Bungie Software

Loathing Documentation | Fear Documentation