Task System
From LSWiki
Revision as of 11:15, 20 May 2008; Msb (Talk | contribs)
(diff) ←Older revision | Current revision | Newer revision→ (diff)
(diff) ←Older revision | Current revision | Newer revision→ (diff)
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.
- Task_Type_Code
- 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.