Task System

From LSWiki

Revision as of 22:24, 19 May 2008; Matts (Talk | contribs)
(diff) ←Older revision | Current revision | Newer revision→ (diff)
Jump to: navigation, search

This page is for the developers to discuss, debate, and collaborate on the in-process dynamic task system. To start I'll outline the various sections that I think we will need to interact with and then list the expected interactions there of.

Contents

Incarnos

  • ability to store gathered tasks
  • ability to show and retrieve information on stored tasks via show?

Autonomon

  • This section will all likely be encompassed by an extension attachable to a living. Incarnoi could possibly inherit this functionality?
  • ability to know it's a task granter
  • ability to poll for available, and suitable, tasks
  • ability to respond to queries for available tasks
  • ability to describe available tasks to incarnoi
  • ability to evaluate progress of an incarnoi's relevant task
  • ability to complete and reward an incarnoi who completes a relevant task

Task Daemon

  • broker for task type definitions
  • stores all tasks? ever? (database interaction?) at minimum, provides ability to specify an incarnos/autonomon/unique-tag and find out what active tasks in the MUD it is involved with and what roles it has in them

Task Descriptor

  • Fields:
    • Task_Type_Code
      • Specifies the defined type of task, ie 'Task_Type_Elimination'
      • /lib/task_types.h and /def/task_types encompasses this. Ideally the definitions for each type will define a lot of the functionality.
    • Task_Name
      • A semi-unique name for the task at hand, ie 'aildrek's rat Problem'
    • Task_Description
      • A verbose explanation of the task, ie 'aildrek at the lost lamb tavern is known to have an on-going rat problem.'
    • Task_Status
    • Task_Roles
    • Task_Objectives
      • Ideally this would fill out the objectives of the task, ie '30 rats'
    • Task_Info
      • Task general-purpose infostore
    • Task_Flags
      • Bitwise flags (see below)
    • Task_Unique_Tag
      • System generated tag to uniquely identify this task.
  • Flags:
    • Task_Flag_Active
  • Functions:
    • Placeholder

Task Type

  • Courier
    • Originator gives object/information to Actor who must deliver it to Objective.
  • Knowledge
    • Originator dictates X pieces of Objective knowledge Actor must become familiar with/memorize.
  • Exploration
    • Originator dictates location Objective that Actor must become familiar with/memorize.
  • Elimination
    • Originator dictates Objective target that Actor must kill.
  • Collection
    • Originator dictates X Objective items that Actor must gather.
  • Escort
    • Originator dictates Actor must escort Objective to destination.
Personal tools