Object Classes And Records: // This File Lists all the Record information for the Elements used in the Game // Elements are the objects in the game, each will have a list of attributes associated with // them that dictate how they react to the user, and to other elements in the game Basic Element TYPES: NPC : TYPE // Non Playable Character. The other people in the game besides the player can ocationally join the player Monster : Type // The enemy characters that the user will have to defeat // Other base objects will be added later, (ie, buildings, trees, ect…) NPC : TYPE Record Array CharacterName : The name of the NPC, used for interaction between user and NPC, generated from a list CharacterAge : The age, in years of the character CharacterPower : used for battle computations when NPC is fighting with a Monster CharacterHP : When reduced to zero, NPC is dead CharacterJob : The basic behavior routine for the NPC, will dictade how he acts CharacteModle : The save file of the character modle, will be of type .x, .3ds, or .mdl CharacterWeapon : Used for battle computations Monster : TYPE Record Array MonsterType : what is it, a sqwirl, or an ogre? Will dictate behavior MonsterClass : A,B,C…. soforth, will dictate NPC reaction, (ie run from class C, kill class A, ignore class b) MonsterHP : When Reduced to zero, monster is dead MonsterModle : the .x, .3ds, or .mdl file of the creature Job : TYPE Record Array // The record array for determining NPC behabvior Behavior : List of Behavior elements, how NPC Reacts to different situations MeasageStream : The Diologue Tree that is accessed when the user activates the talk to aspect of the NPC Behavior : TYPE A list of behavior Attributes for selected element TYPE Action1 : Action : TYPE . . . ActionN : Action : Type Action : TYPE action : the action performed (a .cpp, or .obj file that tells the computer what the element is doing, and the rendering softwear what to render, this is were the AI code goes) object : a single element, or list of elements on whitch to perform the action, bool ; a Boolean operator, used to suppress dormant traits (1 or 0) and bring out active ones, can switch as game progresses actions: Attack : The element will approach the selected object, and procede to "attack" it. Run : The element will avoid the selected object by moving away from it Talk : the activation of the talk to function, used only for NPC's Assist : The element will follow the selected object and defend object, as well as follow orders from object, not limited to NPC-User interaction Collect : The element will "pick up" the selected object Walk : a designated path, or point to which the element will follow/move to Wait: The element remains in current Location (No object listing needed) // other actions will be added as development procedes List of Elements, and their records: NPC's (Hunter Template Follows)(all values Initialized) ElementName: HunterN ElementType; NPC : TYPE CharacterName: (Randomly selected from a list) CharacterAge: (Randomly selected, between 20-30) CharacterPower: (Determined by D&D Rules) CharacterHP: (Determined by D&D Rules) CharacterJob ; Hunter : TYPE CharacterModle: (insert Modle name here) CharacterWeapon: (Randomly selected from a list) Behavior; HunterBehavior : TYPE MeasageStream: (insert name of text file containing diologue tree for the hunter) Action1: Attack Monster.Class=A 1 Action2: Attack Monster.Class=B 1 Action3: Run Monster.Class=C 1 Action4: Attack Player 0 Action5: Talk Player 0 Action6: Assist Player 0 Action7: Assist Hunter 1 Action8: Walk Path## 1 Action9: Walk Point(##,##) 0 Action10: Wait 0 (Town Guard Template Follows) ElementName: GaurdN ElementType; NPC : TYPE CharacterName: (Randomly selected from a list) CharacterAge: (Randomly selected, between 20-30) CharacterPower: (Determined by D&D Rules) CharacterHP: (Determined by D&D Rules) CharacterJob ; Gaurd : TYPE CharacterModle: (insert Modle name here) CharacterWeapon: (Randomly selected from a list) Behavior; GaurdBehavior : TYPE MeasageStream: (insert name of text file containing diologue tree for the Gaurd) Action1: Attack MonsterClassListA 1 Action2: Attack MonsterClassListB 1 Action3: Attack MonsterClassListC 1 Action4: Attack Player 0 Action5: Talk Player 0 Action6: Assist Player 0 Action7: Assist Guard 1 Action8: Walk point(##,##) 0 Action9: Walk Path### 0 Action10: Wait 1 (Villager Template Follows) ElementName: VillagerN ElementType; NPC : TYPE CharacterName: (Randomly selected from a list) CharacterAge: (Randomly selected, between 20-30) CharacterPower: (Determined by D&D Rules) CharacterHP: (Determined by D&D Rules) CharacterJob ; Villager : TYPE CharacterModle: (insert Modle name here) CharacterWeapon: (Not Used) Behavior; HunterBehavior : TYPE MeasageStream: (insert name of text file containing diologue tree for the Villager) Action1: Run MonsterClassListA 1 Action2: Run MonsterClassListB 1 Action3: Run MonsterClassListC 1 Action4: Attack Player 0 Action5: Talk Player 0 Action6: Assist Player 0 Action7: Walk Path## 1 Action8: Walk Point(#,#) 0 Action9: Wait 0