AbilitiesPossibilityQuestValueIndexLibrary
[ First Topic | Previous Topic | Next Topic | Last Topic | Index | Library ]

Property Property

Data Models
Properties represent the basic building blocks of objects within an object model. They are used to store pieces of information known about the object which owns them. Each property can be assigned a value according to its purpose and function, such as text or numbers.

Properties within MUDzilla are organized into the following groups:

Group Description
Data Type The data type of a property specifies the memory allocation characteristics of the property. For persistent properties, this represents the data type of the underlying database field. Data types are used by simulation administrators to extend the features of MUDzilla.
Property Type The property type of a property specifies a MUDzilla object type associated with the property, allowing properties to be organized into independent, abstract groups. MUDzilla uses property types as the basis for the navigation of property editors within the Web Administrator.
Data Model The data model defines how the property is treated when an instance of the owning object is created, and when the value of the property can be assigned. During event construction, MUDzilla uses data models to organize logical operators, which are expressed as either conditions or effects.
Formal Type Used by developers, the formal type of a property specifies the PASCAL type of a property as declared in code. The MUDzilla Object Profiler uses formal types to create valid PASCAL unit files.

A property common to all objects within MUDzilla is inherited from the root TObject class: TObject.ClassName. This property, a string value, defines the instance class of an object, the object's class at run-time.

Data Types

Data Type Memory Model Persistent Model
String Properties String (n) All memory strings are declared using the PASCAL string type, which can contain up to 65535 characters, and is terminated with the null character (0). All persistent string values use the CHAR(n) type, where n specifies the maximum length of the string.
Integer Properties Integer All integers in memory are declared using the PASCAL longint type, a 32-bit signed value with a numeric range of -2,147,483,648 to 2,147,483,647. Persistent integer values use the INTEGER data type, a 32-bit signed value with a numeric range of -2,147,483,648 to 2,147,483,647.
List Properties Real All real memory values are declared using the PASCAL double type, a 64-bit floating point value with a numeric range of 5.0 x 10-324 to 1.7 x 10308, and 15 digits of precision. Persistent real values are declared using the DOUBLE type, a 64-bit floating point value with a numeric range of 1.7 x 10-308 to 1.7 x 10308, and 15 digits of precision.
Date/Time Properties Date All date memory values use the PASCAL TDateTime type, a 64-bit floating point value that stores a date in the whole part of the value, and a time in the fractional part. The range of valid dates is 12/30/1899 12:00am to 12/31/5941 12:00am. Persistent date values use the DATE data type, a 64-bit floating point value that stores a date in the whole part of the value, and a time in the fractional part. The range of valid dates is 12/30/1899 12:00am to 12/31/5941 12:00am.
Memo Properties Memo Memo values are declared using the PASCAL string type, which can contain up to 2,147,483,647 (2GB - 1) characters, and is terminated with the null character (0). Persistent memo values use the BLOB (binary large object) data type. Text BLOBs contain lines of text, and binary BLOBs contain images or other binary information. There is no size limit on a BLOB data type.
Pointer Properties Pointer Pointers are used to specify the current memory address of property value. All object data types are pointer values, and represent the location in memory where an object instance is defined. n/a

Property Types

System Properties System System properties are low-level containers used by the MUDzilla Simulation System to record system information regarding an object. System properties are typically available as read-only information, to ensure the logical integrity of the simulation's data.
Information Properties Information Information properties contain general knowledge of an object, data which does not affect the simulation's treatment of an object at the system level.
Identity Properties Identity Identity properties indicate a formal object name, such as the TIdentifier.MZName property, which grants an object a MUDzilla name..
Object Type Properties Object Types Object type properties contain MUDzilla object types, such as the TMZTable.TypeID property, which grants object type functionality to any object which inherits the TMZTable class.
Response Properties Responses Response properties are blocks of text which are passed through the simulation's property tag filter, which expands all MUDzilla property tags into their final form, just prior to transmission to a simulation participant. One response property common to all mana pool objects is the TPool.LookDescription property, which is displayed whenever a mana pool becomes the target of a LOOK command.
Flags Flags Flags contain integer values which are treated as on-off switches by the simulation. A flag is considered set if the value of the flag is any non-zero value. By convention, the value 1 is assigned to a flag property when it is set. A flag is considered clear if the flag has been set to a value of zero (0).
Counters Counters Counters contain integer values which are used to store incremental numeric data, such as the number of times an object has been loaded into memory, as expressed by the TIdentifier.LoadCount property.
Time Properties Time Time properties store information regarding the passage of time, whether it be real dates and times, simulation dates and times, or other properties relating to time management.
Object Properties Object Object properties are used to store references to other simulation objects. For memory properties, object values are expressed as pointers. For persistent properties, object values are expressed as object identifiers.
String List Properties String List String lists are used to store zero or more strings in a compact form within a single property. String lists are useful for storing itemized information which does not require a complete, new class to express. Each element within a string list is separated by a semicolon (;).
Multimedia Properties Multimedia Multimedia properties store images, icons, audio, video, binary images, or any other valid MIME type.
Power Properties Power Power properties contain real values which are used by the MUDzilla power system to regulate mana within the simulation. Power properties collect raw mana in terms of points, which are expressed as either positive or negative whole numbers. These points follow two numeric scales simultaneously. The first scale uses an exponential formula to group ever larger numbers of points into the second scale, called the power index. Power indicies form a linear scale referenced by whole numbers, either positive or negative.

MUDzilla uses a default scale for all power properties, which includes abilities, alignment, experience, and skills. Below is an expression of the default scale as it applies to global experience:

Points Power
Index
Title
00Newborn
10,0001Adventurer
30,0002Explorer
70,0003Voyager
150,0004Leader
310,0005Veteran
630,0006Champion
Points Power
Index
Title
1,250,0007Mentor
2,500,0008Master
5,000,0009Enlightened One
10,000,00010Icon
20,000,00011Sovereign
100,000,00012Gatherer
1,000,000,00013Weaver

Data Models

Memory Properties Memory Memory properties exist only during the lifetime of an object instance. Once an object is destroyed, the values associated with memory properties are lost.
Persistent Properties Persistent Persistent properties have their values stored within the fields of database tables, and survive between instances of their owning objects. Data is written directly to the table for write operations.
Key Properties Key A key property indicates that the property is part of a database index. Indices are used to speed certain kinds of database activity, particularly where data in one table is used to locate data in another table. By definition, all key properties are also persistent properties. The most common key property within MUDzilla is the TIdentifier.ObjectKey property, called the MCL (MUDzilla Class Library) identifier, which uniquely identifies all objects descending from the TIdentifier class.
Simulation Clocks Clock Clock properties are used to store simulation time values, which are composed of strings of up to 40 characters. The exact format of a simulation clock string is dependent upon the simulation clock upon which the time value is based. All simulation clocks are derived from the TClock class. Clock properties are otherwise treated as persistent properties.
List Properties List List properties are used to store zero or more objects associated with the owning object, and indicate a master-detail relationship between owning object and objects within the list. Where these relationships remain persistent, a cross-reference table is used to associate master objects with detail objects through a common key value. When a list property is persistent, all objects within the list have the same class. When a list property is a memory property, the objects in the list can be of different classes.
Design-time Properties Design-time Indicates the property can be assigned a value during design-time, using some data manipulation tool, such as the Object Editor, or the Web Administrator.
Developer Properties Developer Indicates that the property can be assigned at design-time, but is typically assigned in code. This sort of access applies to low-level system properties.
Run-time Properties Run-time Indicates that the property is assigned a value at run-time, during the course of execution of a MUDzilla application, such as the Event Driver.
Required Properties Required Required properties must be assigned a value in order for the object to function properly. This designation is used by MUDzilla applications to validate data entry.


See Also See Also:


AbilitiesPossibilityQuestValueIndexLibrary
[ First Topic | Previous Topic | Next Topic | Last Topic | Index | Library ]


The MUDzilla Simulation System
Please e-mail us your comments and inquiries.
© 1994-2002 Myne Corporation

Myne Corporation