Tasks:Schedules: Difference between revisions

From Adonthell
Jump to navigation Jump to search
Character schedule task
 
Updated for current state of implementation
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
== Requirements ==
== Requirements ==


* a master schedule decides what activity schedule controls the character at any given time. This master schedule is only executed when no other schedule is active
* <span style="text-decoration:line-through">a master schedule decides what activity schedule controls the character at any given time. This master schedule is only executed when no other schedule is active</span> (done)
* activity schedules let characters walk, talk, pick up, combine and drop [[Architecture:Rpg Module#Items and Inventories|items]], etc. ...
* <span style="text-decoration:line-through">activity schedules let characters walk, talk, pick up, combine and drop [[Architecture:Rpg Module#Items and Inventories|items]], etc. ... </span> (done)
* [[Architecture:Event Module|events]] (time, quest, etc.) can be used to stop the active schedule, thus triggering the master schedule.
* <span style="text-decoration:line-through">[[Architecture:Event Module|events]] (time, quest, etc.) can be used to stop the active schedule, thus triggering the master schedule.</span> (done)
* character activity can be paused and resumed
* <span style="text-decoration:line-through">character activity can be paused and resumed</span> (done)
* generic activities written in python can be used to create individual activity schedules for characters.
* generic activities written in python can be used to create individual activity schedules for characters.
* Schedules are event driven: schedule of player listens for keyboard events and reacts accordingly; other schedules are controlled by other types of events.
* <span style="text-decoration:line-through">Schedules are event driven: schedule of player listens for keyboard events and reacts accordingly; other schedules are controlled by other types of events.</span> (done)
* schedule state must be saved and loaded ([[Architecture:Base Module#Data_Persistance|Persistance]])
* schedule state must be saved and loaded ([[Architecture:Base Module#Data Persistence|Persistence]])


== References ==
== References ==


* [[Architecture:Map Module# Character_Schedules|Schedule description]]
* [http://cvs.savannah.gnu.org/viewvc/adonthell/src/world/schedule.cc?root=adonthell&view=markup Schedule implementation] in CVS.
* [http://cvs.savannah.gnu.org/viewvc/adonthell/test/data/schedules/char/?root=adonthell Sample schedules] in CVS.
* [http://lists.gnu.org/archive/html/adonthell-devel/2002-04/msg00208.html Suggestions] (take with a lump of salt)
* [http://lists.gnu.org/archive/html/adonthell-devel/2002-04/msg00208.html Suggestions] (take with a lump of salt)
* [http://lists.gnu.org/archive/html/adonthell-devel/2003-02/msg00035.html More suggestions] (take with a grain of salt)
* [http://lists.gnu.org/archive/html/adonthell-devel/2003-02/msg00035.html More suggestions] (take with a grain of salt)
* [http://lists.gnu.org/archive/html/adonthell-devel/2002-06/msg00002.html Sample code]
 
[[Category:Development]]
[[Category:Tasks]]

Latest revision as of 18:27, 11 May 2009

Back to Task List

Overview

Character schedules give life to a NPC. They are implemented by Python scripts specifing movement and actions of each character.

Dependencies

none

Requirements

  • a master schedule decides what activity schedule controls the character at any given time. This master schedule is only executed when no other schedule is active (done)
  • activity schedules let characters walk, talk, pick up, combine and drop items, etc. ... (done)
  • events (time, quest, etc.) can be used to stop the active schedule, thus triggering the master schedule. (done)
  • character activity can be paused and resumed (done)
  • generic activities written in python can be used to create individual activity schedules for characters.
  • Schedules are event driven: schedule of player listens for keyboard events and reacts accordingly; other schedules are controlled by other types of events. (done)
  • schedule state must be saved and loaded (Persistence)

References