                        ----------------------------  
                        | THE WRATH OF SONA ENGINE |
                        |      MAP FILE FORMAT     |
                        |      MAP REVISION 03     |
                        ----------------------------

Map X and Map Y are integers
String: "MAP2"
String: name of area
String: path\etxfile.etx
Map data:
        dual layer, layer 0 and 1
String: path\gdmfile.gdm
Integer: Number of warps
Four integer sets: door data, X Y warp, X Y destinations
String set: ETX tags
String: GIF tile file
String: path\tilefile.gif
Exit point sets:
        Integer: X Y entrance
        Strings: path\mapfile.km2
        Integer: X Y destination
Integer: encounters legal
Two strings: path\backgroundimages.gif
String: path\monsterdatabasefile.mon

Finally, there's conditional selection. What it is is when a certain event is
true, a certain thing happens. This thing will be activated as the map is
loaded. This is somewhat of an extension of the ETX format. Here's what powers
lie in conditional selection:
        TILECHANGE-
                -If then event is true, change tile ID at location x,y to n.
                 Here's a full example:
                 "TILECHANGE",23,0,54,34,26
                      |        | |  |  |  |
The command to change tiles    | |  |  |  The ID to give the tile at x,y
                               | |  |  |  
The event (EVNT(n)) to check --| |  |  The Y position
      The layer on which to act--|  The X position

        MUSICCHANGE-
                -If the event is true, play this music. Example:
                 "MUSICCHANGE",45,"MUSIC\WOS-TEST.GDM"
                 this one is self-explainatory.
        ETXCHANGE-
                -If the event is true, load this ETX file when called. Example:
                 "ETXCHANGE",76,"TEXT\ALTERNAT.ETX"
                 this one is self-explainatory.
        *NEW TAG*
        ALLTILECHANGE-
                -If the event is true, all tiles on the specified layer that
                 are of the specified type become tiles of a new type.
                 Example:
                 "ALLTILECHANGE",23,0,13,14
                 This means that if event 23 is true, change all 13 tiles to
                 14 tiles on layer 0.
        *NEWTAG*
        SPRITECHANGE-
                -If the event is true, change the default character sprite to
                 the sprite specified. Example:
                 "SPRITECHANGE",23,"SPRITES\CHAR2.PUT"
                 this one is self-explainatory.
        END-
                -This signals the end of the conditions. This MUST be present.
                 In fact, this tag must be used even if no conditions are
                 applied.

The map interpreter reads each in sequence and only reads once. Therefore, it
is possible to use many sequences using the same event ID. For example...say
you have an area with constantly shifting music. This is based on certain
events that are happening. Like, you kill something and the city music will
change. Later, you might find something and the music changes again. Like
that. Also, this technique is useful for tiles. Especially when it comes to
things like NPC boss enemies. This is going to be the only way you can pass
Trath in the Southern Pass. When you defeat him, he'll disappear from the map.
However, in the map file, he's still there! The reason he disappears is
because of the conditional selector. If in the future I wanted to put him back
there, or place another boss in his place, I would just use another condition.
The reason this works is because the line to eliminate him from the map and
the line to add somebody new are in order...Am I confusing you yet? Just check
out the maps...you'll see what I mean...
------------------------------------------------------------------------------
This document will change over the course of the WOS engine's improvement.
------------------------------------------------------------------------------
THE PLANNED MAP EDITOR HAS BEEN CANCELLED
A new LSS coder has taken over the responsibilities with this area, and has
released "Wosifier", an excellent map editor and so much more.
