(This is the "Dungeon Designs" column from the March 1989 issue of the Eamon Adventurer's Guild newsletter. Copyright 1989 Eamon Adventurer's Guild, 7625 Hawkhaven Dr., Clemmons, NC 27012-9408. You may reproduce this freely as long as this credit remains attached to the article.) Eamon Parameters by: Nathan Segerlind & Tom Zuchowski The Parameter option was introduced with the version 6 DDD. The programming for this option was left unchanged when the DDD was upgraded to version 7, so the following article applies to both versions. The purpose of the Parameters option is to allow the author to add to and change the way the data is stored. This feature allows the author to 1) generate additional artifact types with unique data fields; 2) modify existing data fields; 3) change the default values of the data fields. First, a few definitions: ARTIFACT TYPE: type of artifact, such as WEAPON or READABLE. FIELD: one of the 8 pieces of data for an artifact. For example, Artifact Field #1 is VALUE. DEFAULT: the value that a Field will have unless it is changed by the author. FORMAT: the Field labels for a given Type. Standard Artifact Data: 1: Value 2: Type 3: Weight 4: Room Format #1 (Weapons) Format #6 (Door/Gate) 5: Weapon Type 5: Room Beyond 6: Odds 6: Key # 7: Dice 7: Strength 8: Sides 8: Hidden? There are 9 such standard formats. For a complete list, see the DDD manual. There are 3 rules which MUST be followed, or Terrible Things May Happen: Rule #1: Before entering any data, make all parameter changes. Rule #2: Always save the parameters if changes were made. Rule #3: Whenever resuming data entry or editing, be sure to load the parameters file first. *** HOW TO ADD A NEW ARTIFACT TYPE The best way to describe this is to step through an example. Let's add an artifact type for ridable things, such as cars, horses, airplanes, etc. The fields of this new format will be: Field 5: TYPE (0=car, 1=horse, 2=boat, 3=plane) default: 0 Field 6: SPEED (in MPH) default: 45 Field 7: # SEATED default: 4 Field 8: ARMOR default: 10 The steps are as follows: RUN DUNGEON EDIT 7.0 Select: 6 SPECIAL FUNCTIONS Select: 8 CHANGE DATA ASSIGNMENTS Select: 6 ADD A FORMAT Enter the Fields and defaults described above Note that this is Format 10 that you are entering Select: 5 ARTIFACT TYPES Select: 12 NEW TYPE Enter the new type: RIDABLE Select: 6 SPECIAL FUNCTIONS Select: 8 CHANGE DATA ASSIGNEMENTS Select: 3 CHANGE FORMAT POINTER Enter '12' to select the RIDABLE Type Enter '10' to set the pointer to Format 10 Select: 7 RETURN TO MAIN MENU Select: 6 SPECIAL FUNCTIONS Select: 9 LOAD/SAVE CUSTOMIZED PARAMETERS Select: 2 SAVE PARAMETERS Enter a name for the Parameters file. It is recommended that you use PARAMETERS That's it. What could be easier? The next time that you start up DUNGEON EDIT 7.0 to continue your data entry, perform these steps: Select: 6 SPECIAL FUNCTIONS Select: 9 LOAD/SAVE CUSTOMIZED PARAMETERS Select: 1 LOAD PARAMETERS Enter the name of the parameters file. If you can't remember it, type '?' to get a catalog. TWO WARNINGS: 1) Every time that you add a new format, it will say that it is to be Format 10, even when it is not. You must keep track of how many formats you have so that you will know its real number. (Yes, this is a bug.) 2) When you reload the parameters file, the new Format Pointers are NOT set up correctly. In the above example, after reloading PARAMETERS, the Format Pointer for Artifact Type 12 will be 0, which points to the GOLD format. You must enter 6 (Special Functions), then 3 (Change Format Pointer), then change the pointer for Type 12 EVERY TIME that you run DUNGEON EDIT 7.0. *** ADDING EXTRA DATA FIELDS This option exists for both Artifacts and Monsters. The Artifact option doesn't work right. DON'T USE IT. The Monster option works OK, but you will be adding fields that are not supported by the MAIN PGM. Since you will have to make many changes to the MAIN PGM anyway, it is recommended that you add extra Artifact and Monster fields directly to the MAIN PGM, using DATA statements and the Applesoft READ command. It will probably be easier to do and remember, and won't make your data files non-standard. *** SOME OTHER DATA ASSIGNMENT OPTIONS 1. MONSTER DATA: allows you to change the Monster Field labels. 2. ARTIFACT DATA: allows you to change the labels for Fields 1 - 4. 4. CHANGE A FORMAT: allows you to change the Format's labels and defaults for Fields 5 - 8. *** SOME OTHER SPECIAL FUNCTIONS 7. CHANGE DEFAULTS: 1. ROOMS: aren't saved in the parameters file 2. MONSTERS: works OK 3. ARTIFACTS: changes Fields 5 - 8 only *** SOME COMMENTS AND SUGGESTIONS As you can see, changing the formats can be pretty complicated, and you must still keep track of a lot of things that are not stored in the parameters file. If your new artifact type will only have 2 or 3 artifacts, it may prove to be easier to do simple artifact number checking instead of messing about with adding new formats. For example, let's say that your RIDABLE artifacts are artifact numbers 12, 13, and 27. If you add a new format, every time your MAIN PGM wants to test if an artifact is ridable, you would use this test: 'IF A%(A,2) = 12 THEN...'. It would be much simpler to NOT generate a Ridable artifact type, but just make these artifacts Type 1, and use this test: 'IF A = 12 OR A = 13 OR A = 27 THEN...'. However, if you plan to have a lot of Ridable artifacts, then it might be better to go ahead and generate a special Type and Format for it. The DUNGEON LIST programs do NOT support parameters. Another option is to use an existing format in a new way. For example, a couple of Eamons are set in modern times and have a special 'Machine-gun' artifact type. It would have been better if the author had used artifact Type 3 (Magic Weapons) for machine-guns instead. Or you could make all treasures Type 1, and use Type 0 for a Special Artifact Type. Finally, since you have to keep track of it all anyway, it is easiest of all to just use the USER Fields for your special stuff. For example, if you want to add a Food Artifact, you could use Drinkable Artifacts for both food and drink. Then use the USER 8 Field to distinguish between them, setting it to 0 for drink and to 1 for food, then testing A%(A,8) in the MAIN PGM. One very important thing that you should also do, no matter which method you use, is to add some 'Author's Notes' to the intro program or as a stand-alone program, to explain what special Fields and Types you have used and how you have used any USER Fields.