Planeshift
psQuest Class Reference

This class holds all information for one quest with its reference to parent quest, list of steps, lockoutime, sub quests, ... More...

#include <psquest.h>

Classes

struct  TriggerResponse
 

Public Member Functions

bool Active ()
 Check if the quest is active (and also it's parents). More...
 
void Active (bool state)
 Sets activation status of the quest. More...
 
bool AddPrerequisite (csString prerequisitescript)
 
bool AddPrerequisite (csRef< psQuestPrereqOp > op)
 
void AddSubQuest (int id)
 Adds a pointer to a menu. More...
 
void AddTriggerResponse (NpcTrigger *trigger, NpcResponse *response)
 Adds a set of pointers to a trigger and a response. More...
 
const csString & GetCategory () const
 
int GetID () const
 The id can be defined by the database or dynamically created. More...
 
const char * GetImage () const
 
const char * GetName () const
 
psQuestGetParentQuest () const
 
unsigned int GetPlayerLockoutTime () const
 
csRef< psQuestPrereqOp > & GetPrerequisite ()
 Return the prerequisite for this quest. More...
 
csString GetPrerequisiteStr ()
 
unsigned int GetQuestLastActivatedTime () const
 
unsigned int GetQuestLockoutTime () const
 
int GetStep () const
 
csArray< int > & GetSubQuests ()
 Returns an ordered list of the subquests of this quest (so it's steps). More...
 
const char * GetTask () const
 
bool HasInfinitePlayerLockout () const
 
bool hasTaskText ()
 Gets if the task (quest description/note) contains some text. More...
 
bool Load (iResultRow &row)
 loads the quest information from a supplied result set More...
 
bool PostLoad ()
 parses the prerequisite string and caches the result More...
 
 psQuest (int id=0, const char *name="")
 default constructor More...
 
void SetParentQuest (psQuest *parent)
 
void SetQuestLastActivatedTime (unsigned int when)
 
void SetTask (csString mytask)
 
virtual ~psQuest ()
 

Protected Attributes

bool active
 
csString category
 
int flags
 
int id
 quest id - either as stored in the database or as assigned by CacheManager::AddDynamicQuest More...
 
csString image
 
bool infinitePlayerLockout
 
csString name
 unique quest name More...
 
psQuestparent_quest
 parent quest of this quest (or NULL if there is none) More...
 
unsigned int player_lockout_time
 
csRef< psQuestPrereqOpprerequisite
 
csString prerequisiteStr
 
unsigned int quest_last_activated
 
unsigned int quest_lockout_time
 
int step_id
 natoka: never used, though i suppose it was ment for the substep number More...
 
csArray< intsubquests
 list of IDs of the subquests of this quest More...
 
csString task
 
csArray< TriggerResponsetriggerPairs
 list of trigger-response pairs added for the quest More...
 

Detailed Description

This class holds all information for one quest with its reference to parent quest, list of steps, lockoutime, sub quests, ...

Definition at line 67 of file psquest.h.

Constructor & Destructor Documentation

psQuest::psQuest ( int  id = 0,
const char *  name = "" 
)

default constructor

Parameters
idquestID - either from the database, or dynamically created
nameis a unique string
virtual psQuest::~psQuest ( )
virtual

Member Function Documentation

bool psQuest::Active ( )
inline

Check if the quest is active (and also it's parents).

A quest to be active must be active itself and, if so, also it's parents (most probably earlier steps) must be active themselves so check back to them if this quest is active else return as not active directly.

Returns
The active status of the quest.

Definition at line 226 of file psquest.h.

void psQuest::Active ( bool  state)
inline

Sets activation status of the quest.

Definition at line 234 of file psquest.h.

bool psQuest::AddPrerequisite ( csString  prerequisitescript)
bool psQuest::AddPrerequisite ( csRef< psQuestPrereqOp op)
void psQuest::AddSubQuest ( int  id)
inline

Adds a pointer to a menu.

This is needed for deallocation at desctruction time.

Parameters
menucreated by the quests questscript Register a quest as a subquest of this quest.

Subquests are normally generated when parsing quest_scripts.

Parameters
idof the subquest to register.

Definition at line 188 of file psquest.h.

void psQuest::AddTriggerResponse ( NpcTrigger trigger,
NpcResponse response 
)

Adds a set of pointers to a trigger and a response.

This is needed for deallocation at desctruction time.

Parameters
triggercreated by the quests questscript
responsecreated by the quests questscript
const csString& psQuest::GetCategory ( ) const
inline

Definition at line 213 of file psquest.h.

int psQuest::GetID ( ) const
inline

The id can be defined by the database or dynamically created.

Dynamic creation takes place in CacheManager::AddDynamicQuest

Returns
the quest's id

Definition at line 95 of file psquest.h.

const char* psQuest::GetImage ( ) const
inline

Definition at line 106 of file psquest.h.

const char* psQuest::GetName ( ) const
inline
Returns
the quest's name

Definition at line 102 of file psquest.h.

psQuest* psQuest::GetParentQuest ( ) const
inline

Definition at line 128 of file psquest.h.

unsigned int psQuest::GetPlayerLockoutTime ( ) const
inline

Definition at line 144 of file psquest.h.

csRef<psQuestPrereqOp>& psQuest::GetPrerequisite ( )
inline

Return the prerequisite for this quest.

Returns
The prerequisite for this quest.

Definition at line 208 of file psquest.h.

csString psQuest::GetPrerequisiteStr ( )
unsigned int psQuest::GetQuestLastActivatedTime ( ) const
inline

Definition at line 152 of file psquest.h.

unsigned int psQuest::GetQuestLockoutTime ( ) const
inline

Definition at line 148 of file psquest.h.

int psQuest::GetStep ( ) const
inline

Definition at line 136 of file psquest.h.

csArray<int>& psQuest::GetSubQuests ( )
inline

Returns an ordered list of the subquests of this quest (so it's steps).

Returns
A reference to an array containing the id of each subquests.

Definition at line 198 of file psquest.h.

const char* psQuest::GetTask ( ) const
inline

Definition at line 110 of file psquest.h.

bool psQuest::HasInfinitePlayerLockout ( ) const
inline

Definition at line 140 of file psquest.h.

bool psQuest::hasTaskText ( )
inline

Gets if the task (quest description/note) contains some text.

Returns
TRUE if the task has some text, FALSE otherwise.

Definition at line 120 of file psquest.h.

bool psQuest::Load ( iResultRow &  row)

loads the quest information from a supplied result set

Parameters
rowresult set to store in this object
bool psQuest::PostLoad ( )

parses the prerequisite string and caches the result

void psQuest::SetParentQuest ( psQuest parent)
inline

Definition at line 132 of file psquest.h.

void psQuest::SetQuestLastActivatedTime ( unsigned int  when)
inline

Definition at line 156 of file psquest.h.

void psQuest::SetTask ( csString  mytask)
inline

Definition at line 124 of file psquest.h.

Member Data Documentation

bool psQuest::active
protected

Definition at line 266 of file psquest.h.

csString psQuest::category
protected

Definition at line 248 of file psquest.h.

int psQuest::flags
protected

Definition at line 244 of file psquest.h.

int psQuest::id
protected

quest id - either as stored in the database or as assigned by CacheManager::AddDynamicQuest

Definition at line 240 of file psquest.h.

csString psQuest::image
protected

Definition at line 243 of file psquest.h.

bool psQuest::infinitePlayerLockout
protected

Definition at line 250 of file psquest.h.

csString psQuest::name
protected

unique quest name

Definition at line 241 of file psquest.h.

psQuest* psQuest::parent_quest
protected

parent quest of this quest (or NULL if there is none)

Definition at line 245 of file psquest.h.

unsigned int psQuest::player_lockout_time
protected

Definition at line 252 of file psquest.h.

csRef<psQuestPrereqOp> psQuest::prerequisite
protected

Definition at line 247 of file psquest.h.

csString psQuest::prerequisiteStr
protected

Definition at line 249 of file psquest.h.

unsigned int psQuest::quest_last_activated
protected

Definition at line 254 of file psquest.h.

unsigned int psQuest::quest_lockout_time
protected

Definition at line 253 of file psquest.h.

int psQuest::step_id
protected

natoka: never used, though i suppose it was ment for the substep number

Definition at line 246 of file psquest.h.

csArray<int> psQuest::subquests
protected

list of IDs of the subquests of this quest

Definition at line 264 of file psquest.h.

csString psQuest::task
protected

Definition at line 242 of file psquest.h.

csArray<TriggerResponse> psQuest::triggerPairs
protected

list of trigger-response pairs added for the quest

Definition at line 263 of file psquest.h.


The documentation for this class was generated from the following file: