home *** CD-ROM | disk | FTP | other *** search
- !
- ! This file contains NAMES that can be used instead of numeric values
- ! when you are writing scripts or creating worlds. These names make
- ! it a lot easier to create the games because you don't have to remember
- ! what the numbers mean. You can use the name instead.
- !
- ! For example, the script line:
- !
- ! if object.type = WEAPON then ..
- !
- ! clearly is testing whether a given object is of type WEAPON. It is
- ! a lot better than trying to remember that weapons are represented by
- ! a # 1, as in:
- !
- ! if object.type = 1 then ..
- !
- ! You are welcome to add new tokens to this list, and to change the names
- ! being used. However, you should not REMOVE entries unless you are very
- ! sure of what you are doing.
- !
- ! Tokens are listed in groups, with the name of the group enclosed in
- ! brackets [group-name] and preceeding each group. You can create your
- ! own groups, but the groups already here must remain. You can change
- ! the lists, but the group names must not be changed. They are used to
- ! tell the game system what names are associated with specific types of
- ! values.
- !
- ! A brief explanation of what the values in a group mean preceeds each
- ! group.
- !
- ! EDITING OF THIS FILE WILL BRING NO BENEFITS TO THE PLAYER, AND MAY MESS UP
- ! THE GAME. SO, EVEN THOUGH IT LOOKS LIKE A FILE THAT COULD REALLY HELP A
- ! PLAYER TO CHEAT - IT'S NOT. <G.
-
-
- !
- ! TYPES OF ACTIONS THAT INVOKE SCRIPTS.
- ! The value shown below cannot be modifed. The name can be changed to any
- ! name you wish. When a script is invoked, it starts executing at the
- ! label :@<name>, where name is one of those listed below. The ACTION
- ! global variable returns the value of the action that invoked the script.
- !
- [ACTIONS]
- TALK 0 ! 'T'alk to OBJECT or NPC
- GET 1 ! 'G'et OBJECT or NPC
- DROP 2 ! 'D'rop item (from backpack to floor). CURRITEM = which.
- WEAR 3 ! 'W'ear item (currently in backpack). CURRITEM = which.
- REMOVE 4 ! 'R'emove item being worn (to backpack). CURRITEM = which.
- LOOK 5 ! 'L'ook at OBJECT or NPC
- EXAMINE 6 ! detailed look at an OBJECT or NPC (often a spell).
- INVOKE 7 ! i'N'voke a magical object being carried. CURRITEM = which.
- USE 8 ! 'U'se an OBJECT (not carried).
- ENTER 9 ! 'E'nter a new world. (World scripts only).
- EXIT 10 ! 'E'xit a world. (World scripts only).
- CAST 11 ! Fall into a world through a TRAP door.
-
- !
- ! TYPES OF OBJECTS. May be extended up to 255. Object types 0 through
- ! 35 are reserved. You can create your own starting with 36 and going
- ! all the way to 255. This way, I can add new types without affecting
- ! anything you write.
- !
- ! Note that object behaviour is controlled by the script OBJECT.SCR, which
- ! uses the object's TYPE and CLASS to decide how the object behaves.
- !
- [OBJECT TYPES]
- FOOD 0 ! This can be eaten.
- WEAPON 1 ! This can be wielded as a weapon.
- AMMO 2 ! This is ammunition for a weapon.
- ARMOR 3 ! This can be worn as armor.
- SHIELD 4 ! This can be carried as a shield.
- AMULET 5 ! This can be worn around your neck.
- RING 6 ! This can be worn around your finger.
- POTION 7 ! This can be drunk (some people say drinked)
- SCROLL 8 ! This can be invoked
- STAFF 9 ! This can be wielded and used to ZAP spells
- CHEST 10 ! A chest covers other objects. May be locked.
- KEYS 11 ! This key may be used to open doors or chests
- GEMS 12 ! This gems may be invoked.
- BOOK 13 ! This book may be read.
- GOLDSACK 14 ! Contains gold or silver.
- TORCH 15 ! has no special qualities yet.
- LANTERN 16 ! has no special qualities yet.
- ROPE 17 ! has no special qualities yet.
- HOOKS 18 ! has no special qualities yet.
- MIRROR 19 ! has no special qualities yet.
- SIGN 20 ! This has some text written on it
- VEHICLE 21 ! This can be used for transportation.
- BED 36 ! This is where the player can sleep while in town.
- FOUNTAIN 37 ! Get a drink.
- BODY 38 ! Gross stuff.
-
- !
- ! Types of CHARACTERS. The type determines the default behaviour of the
- ! character. The DCWORLD world builder will assume that a script has
- ! been (or will be) written to control the character's normal behaviour.
- !
- ! The script name must be the first 8 characters of the token name below.
- !
- [CHARACTER TYPES]
- REGULAR 0 ! REGULAR.SCR - Will join the party if asked to..
- HOSTILE 1 ! HOSTILE.SCR - Will attack on sight and follow you..
- MERCHANT 2 ! MERCHANT.SCR - Buys and Sells stuff..
- BARTENDER 3 ! BARTENDE.SCR - Sells beer. Good source of information.
- HEALER 4 ! HEALER.SCR - Cure, Heal, Resurrect, Remove Curse,..
- CIVILIAN 5 ! CIVILIAN.SCR - Will talk, but won't join..
- TELLER 6 ! TELLER.SCR - Fortune Teller or Oracle type..
- QUESTER 7 ! QUESTER.SCR - Asks you to find an object or person.
- BEGGAR 8 ! BEGGAR.SCR - Want's money. Might give you a tip.
- TRAINER 9 ! TRAINER.SCR - Will train someone (STR,DEX,AIM,IQ)
- GUARD 10 ! GUARD.SCR - Blocks your way unless given the password.
- PRISONER 11 ! PRISONER.SCR - Will join your party temporarily (to escape).
-
- !
- ! World TYPES
- !
- [WORLD TYPES]
- ENDGAME 0 ! Game will end if the players enter this room
- OUTDOORS 1 ! Outdoors
- CITYTYPE 2 ! Big civilized city
- TOWNTYPE 3 ! Small town
- DUNGEON 4 ! Dungeon
- HIDEOUT 5 ! Town that caters to thieves and pirates..
- HOUSE 6 ! Someone's house
- CASTLE 7 ! A lord's or king's castle
- ARENA 8 ! Training area. Frequent random monsters
- HAUNTED 9 ! Haunted place. Random monsters
-
- !
- ! System Graphics: The following values are used to differentiate
- ! graphics blocks in the DCSYSTEM graphics file. The first 5 entries
- ! (shown below) are also the first 5 graphics blocks in the file, and
- ! are used during regular game play.
- !
- [SYSTEM TYPES]
- SYS_PARTY 0 ! The party, except when fighting.
- SYS_FRAME 1 ! A frame around the character whose turn it is to move.
- SYS_SPLAT 2 ! Used to indicate the character was hit.
- SYS_TARGET 3 ! Used to point at things.
- SYS_BULLET 4 ! Use to represent a moving missle when fired.
-
- !
- ! CHARACTER CLASSES (ALL CHARACTER TYPES EXCEPT HOSTILE)
- !
- [CHARACTER CLASSES]
- HUMAN 0 ! standard stuff, with magic power!
- ELF 1 ! fast, magical power, not strong
- DWARF 2 ! slow, STRONG, no magic, no missles or shields
- WIZARD 3 ! slow, lot's of magic, not strong
- ARCHER 4 ! fast, no magic, + on missle weapons
- FIGHTER 5 ! fast, strong, no magic of any kind
- KULHAIN 6 ! The big bad guy. . .
-
- !
- ! MONSTER CLASSES (For HOSTILE type characters).
- !
- [MONSTER CLASSES]
- LAND_MONSTER 0 ! Land Based, cannot walk over water
- WATER_MONSTER 1 ! Water Based, cannot walk over land
- CAVE_MONSTER 2 ! Dungeon Based, found mostly in dungeons
- SPOOK_MONSTER 3 ! Ghosts, Zombies, Undead, etc.
-
- !
- ! Magical Effects, Type 1
- !
- [OBJECT CLASS: FOOD, POTION, RING, AMULET, GEMS]
- NONE 0 ! No magical effect
- CURE 1 ! Remove POISON
- HEAL 2 ! Restore some HP
- POISON 3 ! (Trap) POISON drinker
- RESTORE 4 ! Restore ALL HP
- PLUS_STR 5 ! Increase STRENGTH
- PLUS_DEX 6 ! Increase DEXTERITY
- PLUS_SPD 7 ! Increase SPEED
- PLUS_AIM 8 ! Increase AIM
- PLUS_AC 9 ! Increase AC
- PLUS_HP 10 ! Increase HP
- PLUS_IQ 11 ! Increase IQ
- PLUS_PWR 12 ! Increase POWER
-
- !
- ! Magical Effects, Type 2
- !
- [OBJECT CLASS: STAFF, SCROLL]
- NO_MAGIC 0 ! No magical effect
- DESTROY 1 ! Destroy an object
- DUPLICATE 2 ! Duplicates an object
- LEAVE 3 ! Exit through a DOOR from anywhere
- RESURRECT 4 ! Revive a DEAD person
- INFORM 5 ! Displays some text
- DOORS 6 ! Locate doors
- KILL 7 ! Kill 1 monster
- CONFUSE 8 ! Makes monsters shoot at other monsters
- SCARE 9 ! Scares monsters
- DAMAGE 10 ! Causes damage to monsters
- PARALYZE 11 ! Monster can't move
- RECHARGE 12 ! Recharge an ITEM
- FLOAT 13 ! Remove an object's weight
- ANALYZE 14 ! Discover object's properties
- ZOOM 15 ! Eagle-Eye's view of the world
-
- !
- ! WEAPON CLASSES
- !
- [OBJECT CLASS: WEAPON]
- BLUNT 0
- EDGED 1
- MISSILE 2
-
- !
- ! VEHICLE CLASSES
- !
- [OBJECT CLASS: VEHICLE]
- WALKING 0 ! Same as walking, no help at all.
- MOUNTED 1 ! Mounted
- ATV 2 ! All Terray Vehicle
- LOWFLYER 3 ! Not over mountains or deep water
- MIDFLYER 4 ! Not over mountains, but yes over water
- HIGHFLYER 5 ! Over mountains and water
- RAFT 6 ! Low water only
- BOAT 7 ! Deep water only
-
- !-------------------------------------------------------------------------
- !
- ! OBJECT MODIFIERS:
- !
- ! Every object has a set of 5 'generic' attributes which have different
- ! meaning depending on the object's type. These attributes are named
- ! m0 through m4, but this section allows you to assign specific names to
- ! the attributes.
- !
- ! For example, a WEAPON may use the attributes as follows:
- !
- ! object.m0 = # of HANDS needed to hold the weapon (0, 1 or 2)
- ! object.m1 = RANGE of the weapon (how many squares away can it hit)
- ! object.m2 = DAMAGE done during battle (deducted from monster's hit points)
- ! object.m3 = Type of AMMUNITION used by the weapon (if any)
- ! object.m4 = not used for weapons
- !
- ! Thus, the following definitions are made below:
- !
- ! .M0 = HANDS
- ! .M1 = RANGE
- ! .M2 = DAMAGE
- ! .M3 = AMMONEEDED
- !
- ! Which means that your script can have the line:
- !
- ! if player.weapon.hands > 2 then
- ! writeln( "That weapon was made for an octupuss, which you are not.." );
- ! ..
- !
- ! instead of
- !
- ! if player.weapon.m0 > 2 then
- ! writeln( "That weapon was made for an octupuss, which you are not.." );
- ! ..
- !
- ! NOTE: The names listed below are 'aliases' for the real names m0 through m4,
- ! which exist for all objects. No attempt is made to verify that the alias
- ! you have used is 'valid' for the object's type. Thus, the following line
- ! is also equivalent to the two lines in the example above:
- !
- ! if player.weapon.ac > 2 then
- ! writeln( "That weapon was made for an octupus, which you are not.." );
- ! ..
- !
- ! because the alias 'ac' is an alias for m0, the same as the alias 'hands'.
- !
- [OBJECT MODIFIERS]
-
- ! Object Type: FOOD
- ! 0 Is not used
- UNITS 1 ! If magical, how many units are affected
- PERMANENT 2 ! If magical, how long does effect last? (0=one day, 1=permanent)
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: WEAPON
- HANDS 0 ! # of hands needed to use the weapon
- RANGE 1 ! Range of this weapon
- DAMAGE 2 ! Damage done when using this weapon.
- AMMONEEDED 3 ! Type of ammunition needed (See AMMOTYPE below..)
- ! 4 Is not used
-
- ! Object Type: AMMO
- AMMOTYPE 0 ! Code that differentiates one ammunition from another
- RANGE 1 ! Range of this ammunition
- DAMAGE 2 ! Extra Damage (in addition to the weapon's normal damage)
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: ARMOR
- AC 0 ! Armor Class of the armor
- ACTYPE 1 ! Armor Type (not currently implemented)
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: SHIELD
- AC 0 ! Armor Class of the shield
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: AMULET
- CHARGES 0 ! Number of times this item can be used
- UNITS 1 ! If magical, how many units are affected
- PERMANENT 2 ! If magical, how long does effect last? (0=one day, 1=permanent)
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: RING
- CHARGES 0 ! Number of times this item can be used
- UNITS 1 ! If magical, how many units are affected
- PERMANENT 2 ! If magical, how long does effect last? (0=one day, 1=permanent)
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: POTION
- ! 0 Is not used
- UNITS 1 ! If magical, how many units are affected
- PERMANENT 2 ! If magical, how long does effect last? (0=one day, 1=permanent)
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: SCROLL
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: STAFF
- CHARGES 0 ! Number of times this item can be used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: CHEST
- LOCKTYPE 0 ! Type of lock on the chest (0=None, 1+=KEYTYPE needed)
- TRAPTYPE 1 ! Type of trap on the lock. 0=No trap, 1=poison,2+=bomb trap)
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: KEYS
- KEYTYPE 0 ! Type of lock that the key opens
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: GEMS
- CHARGES 0 ! Number of times this item can be used
- UNITS 1 ! If magical, how many units are affected
- PERMANENT 2 ! If magical, how long does effect last? (0=one day, 1=permanent)
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: BOOK
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: GOLDSACK
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: TORCH
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: LANTERN
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: ROPE
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: HOOKS
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: MIRROR
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: SIGN
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: VEHICLE
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: BED
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- ! Object Type: Fountain
- ! 0 Is not used
- ! 1 Is not used
- ! 2 Is not used
- ! 3 Is not used
- ! 4 Is not used
-
- !
- ! WORLD DENSITIES
- !
- ! These values are used to represent the landscaping density, and are
- ! used by the game driver to determine where a player can go, whether
- ! walking or riding a vehicle. The values between 0 and 15 are reserved
- ! for use by the game system, but you can add new values from 16 to 255.
- !
- ! For example, you might use value 27 to indicate a block that is a
- ! magical gate. If you step on the gate at exactly midnight, you get
- ! transported somewhere. You can then add some lines to the control
- ! script to check for midnight, and at exactly midnight verify if the
- ! character is standing on a landscape block with density 27. If so,
- ! you would transfer the character to wherever you wanted to go.
- !
- ! Any density value over 15 is treated as a 0, which means that it is
- ! equivalent to LAND (i.e. the character can walk on it, but a raft or
- ! boat cannot).
- !
- [WORLD DENSITIES]
- FLAT 0
- ROUGH 1
- VERY_ROUGH 2
- HIGH 3
- VERY_HIGH 4
- WALL 5
- ! # 6 is reserved
- LOW_WATER 7
- ROUGH_WATER 8
- DEEP_WATER 9
- ! # 10 through 15 are reserved
- LOCKED_DOOR 16
- HIDDEN_DOOR 17
- ! # 18 through 31 are reserved. You can use 32-255 for anything.
-
- !
- ! OTHER TOKENS
- !
- ! The rest of the tokens are just names associated with values. They
- ! are not used internally by the game system, only by the scripts. You
- ! may add any number of sections below, as long as the names are unique
- ! and different from the ones above.
- !
-
- !
- ! ENDGAME attribute values: The object attribute 'endgame' can be set
- ! to a non-zero value to indicate that the object causes the end of the
- ! game when a certain action happens. The value 1 indicates that the game
- ! should end when the player GETs the object. The value 2 indicates that
- ! the game should end when the object is given to a quester. (See the
- ! QUESTER script). The value 3 means the game should end when the player
- ! USEs the object. Values 4 through 15 are reserved for expansion. The
- ! values from 16 to 255 may be used as you please.
- !
- [END-GAME VALUES]
- END_ON_GET 1 ! Game ends if you GET this object (OBJECT.SCR)
- END_ON_GIVE 2 ! Game ends if you GIVE the object (QUESTER.SCR)
- END_ON_USE 3 ! Game ends if you USE/INVOKE the object (OBJECT.SCR)
-
- !
- ! Some usefull constant values used for general purposes
- !
- [CONSTANTS]
- FALSE 0 !
- TRUE 1 !
- NO 0 !
- YES 1 !
-
-