Task System

From LSWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 12:15, 20 May 2008 (edit)
Msb (Talk | contribs)
(Task Type)
← Previous diff
Revision as of 14:46, 20 May 2008 (edit)
Matts (Talk | contribs)
(Task Descriptor - Expanded on Task_Roles)
Next diff →
Line 29: Line 29:
** Task_Status ** Task_Status
** Task_Roles ** Task_Roles
 +*** This encompasses the various roles which are variable to the task types. For example for Elimination we may need Originator, whom gives the task, Actor whom receieves the task, and Target, the rats. With this in mind Task_Objectives may need to be eliminated as too general and we may need Task_Count or some other designator of quantity.
 +*** I'll ponder over _Roles under task types below a bit more.
** Task_Objectives ** Task_Objectives
*** Ideally this would fill out the objectives of the task, ie '30 rats' *** Ideally this would fill out the objectives of the task, ie '30 rats'

Revision as of 14:46, 20 May 2008

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
      • This encompasses the various roles which are variable to the task types. For example for Elimination we may need Originator, whom gives the task, Actor whom receieves the task, and Target, the rats. With this in mind Task_Objectives may need to be eliminated as too general and we may need Task_Count or some other designator of quantity.
      • I'll ponder over _Roles under task types below a bit more.
    • 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.

(suggestions by twi -- dunno if some of these are too uwieldy for the system being envisioned)

  • Heal
    • Originator dictates Objective target with an injury, malady, or curse that Actor must remedy.
  • Befriend
    • Originator dictates Objective target of whom Actor must acquire friendship (befriended status).
  • Recruit
    • Originator dictates Objective target of whom Actor must acquire "ownership" (command).
  • Arbitrate
    • Originator dictates two or more Objective targets for whom Actor must forge a friendship between (reciprocal befriended status)
  • Ally
    • Originator dictates two or more Objective targets for whom Actor must forge a command relation between.
  • Convert
    • Originator dictates Objective target that Actor must convince/force to change worships.
  • Protect
    • Originator dictates Objective target(s) that the Actor must protector from harm for some delimited amount of time [with the amount of injury that can be sustained and the proportion of the targets that must survive being variables].
  • Guard
    • Originator dictates Objective target item(s) that must be kept in a location for some delimited amount of time.
  • Alter
    • Originator dictates Objective target item(s) that must be altered in some way -- cursed, uncursed, enchanted, disenchanted, sharpened, repaired.
  • Destroy
    • Originator dictates Objective target item(s) that must be destroyed.
Personal tools