Another idea.. but this one I've actually got partially working in code.. Basically, jobs. Similar to quests, but of a less sweeping nature. In a nutshell.. the game will have a collection of little jobs for the player to perform. There will be a board in town, where players read the board, and accept a job. A job can be something simple, like "bring me a gold dagger". The player reads the job description, and accepts the job. The board marks that job as [ACCEPTED], so nobody else can take it. The player can only take one job at a time. Now the player finds a gold dagger, and comes back to the board. He "completes" the job, with a command, and the board acknowledges that he has completed the job, and marks it [OPEN] again for other players. If the player cannot complete the job, he can give up. Jobs will have an exp stat, and a value, so a reward can be exp, or monetary in nature. Perhaps if you fail to complete a job, it will give you a penalty of 1/10th the exp of the job. A job could have a timelimit, after which, it will expire, charge the player the exp penalty, and return to an open status. Jobs can only be performed by a player once each. Implementation details: A new object type, JOB. This object contains data on the job, such as reward, object required, name of creature you have to kill, or whatever. These jobs are placed inside a "board" object. The board object is a simple object that can be used for other things than just the job system. When a player applies the board, he sees the contents of the board, or in the case of jobs, the individual jobs that are available. A player can get details of a job by typeing "checkboard 1" Which will give him the details on job number 1 on the board. A player can accept a job with "accept_job 1". This will mark the job as accepted on the board, and give the player a copy of the job object. A player can complete the job with "complete_job 1". This doles out the reward, marks the job open on the board, and complete in his inventory. A player can giveup a job with "abort_job 1". Same deal. A player can look at his job status, with "jobs". This will tell him about the job he is currently tasked to complete. It might also tell him about jobs he has allready completed. A sample job object: Object job1 name Retrive a mithril dagger type 101 msg I am in need of a mithril dagger, without one, I cannot hope to regain my family honor. endmsg level 3 <- suggested level for job food 1 <- unique identifier, or jobnumber. exp 500 <- Exp reward value 1000 <- monetary reward other_arch dagger <- what the job expects materialtype mithril <- it wants the dagger to be mithril end A "kill this person" job could be done with: other_arch man <- the archtype of the target slaying Bob <- the op->name of the target title The Dork <- the title of the target. A simple check can be placed in the kill routine, so when a monster is killed, it checks the player's job inventory, and looks for a job matching that monster. --- Tim Rightnour < root at garbled.net > NetBSD: Free multi-architecture OS http://www.netbsd.org/ NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel