![]() |
Public API Reference |
This is the quest manager. More...
#include <tools/questmanager.h>
Public Member Functions | |
| virtual iRewardFactory * | AddActionReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *id_par, const char *pcclass_par)=0 |
| Convenience method to add an 'action' reward factory to a response factory. | |
| virtual iChangePropertyRewardFactory * | AddChangePropertyReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *prop_par)=0 |
| Convenience method to add a 'changeproperty' reward factory to a response factory. | |
| virtual iRewardFactory * | AddCreateEntityReward (iQuestTriggerResponseFactory *response, const char *template_par, const char *name_par, const celEntityTemplateParams &tpl_params)=0 |
| Convenience method to add a 'createentity' reward factory to a response factory. | |
| virtual iRewardFactory * | AddCsSequenceReward (iQuestTriggerResponseFactory *response, const char *sequence_par, const char *delay_par)=0 |
| Convenience method to add an 'cssequence' reward factory to a response factory. | |
| virtual iRewardFactory * | AddDebugPrintReward (iQuestTriggerResponseFactory *response, const char *msg)=0 |
| Convenience method to add a 'debugprint' reward factory to a response factory. | |
| virtual iRewardFactory * | AddDestroyEntityReward (iQuestTriggerResponseFactory *response, const char *entity_par)=0 |
| Convenience method to add a 'destroyentity' reward factory to a response factory. | |
| virtual iRewardFactory * | AddInventoryReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *child_entity_par)=0 |
| Convenience method to add an 'inventory' reward factory to a response factory. | |
| virtual iRewardFactory * | AddMessageReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *id_par)=0 |
| Convenience method to add a 'message' reward factory to a response factory. | |
| virtual iRewardFactory * | AddNewStateReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *state_par)=0 |
| Convenience method to add a 'newstate' reward factory to a response factory. | |
| virtual iRewardFactory * | AddSequenceFinishReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sequence_par)=0 |
| Convenience method to add an 'sequencefinish' reward factory to a response factory. | |
| virtual iRewardFactory * | AddSequenceReward (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sequence_par, const char *delay_par)=0 |
| Convenience method to add an 'sequence' reward factory to a response factory. | |
| virtual iQuestFactory * | CreateQuestFactory (const char *name)=0 |
| Create an empty quest factory. | |
| virtual iQuestFactory * | GetQuestFactory (const char *name)=0 |
| Get a quest factory by name. | |
| virtual iRewardType * | GetRewardType (const char *name)=0 |
| Get a reward type from the quest manager. | |
| virtual iSeqOpType * | GetSeqOpType (const char *name)=0 |
| Get a seqop type from the quest manager. | |
| virtual iTriggerType * | GetTriggerType (const char *name)=0 |
| Get a trigger type from the quest manager. | |
| virtual bool | Load (iDocumentNode *node)=0 |
| Load a bunch of quest factories. | |
| virtual bool | RegisterRewardType (iRewardType *trigger)=0 |
| Register a quest reward type. | |
| virtual bool | RegisterSeqOpType (iSeqOpType *seqop)=0 |
| Register a seqop reward type. | |
| virtual bool | RegisterTriggerType (iTriggerType *trigger)=0 |
| Register a quest trigger type. | |
| virtual void | RemoveQuestFactories ()=0 |
| Delete all quest factories. | |
| virtual void | RemoveQuestFactory (const char *name)=0 |
| Delete a quest factory by name. | |
| virtual iTriggerFactory * | SetEnterSectorTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sector_par)=0 |
| Convenience method to set an 'entersector' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetInventoryTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *child_par)=0 |
| Convenience method to set an 'inventory' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetMeshEnterSectorTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sector_par)=0 |
| Convenience method to set a 'meshentersector' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetMeshSelectTrigger (iQuestTriggerResponseFactory *response, const char *entity_par)=0 |
| Convenience method to set an 'meshsel' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetMessageTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *mask_par)=0 |
| Convenience method to set an 'message' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetOperationTrigger (iQuestTriggerResponseFactory *response, const char *operation_par, csRefArray< iTriggerFactory > &trigger_factories)=0 |
| Convenience method to set a 'operation' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetPropertyChangeTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *prop_par, const char *value_par)=0 |
| Convenience method to set a 'propertychange' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetSequenceFinishTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *sequence_par)=0 |
| Convenience method to set a 'sequencefinish' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetTimeoutTrigger (iQuestTriggerResponseFactory *response, const char *timeout_par)=0 |
| Convenience method to set a 'timeout' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetTriggerTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, bool do_leave=false)=0 |
| Convenience method to set a 'trigger' trigger factory to a response factory. | |
| virtual iTriggerFactory * | SetWatchTrigger (iQuestTriggerResponseFactory *response, const char *entity_par, const char *target_entity_par, const char *checktime_par, const char *radius_par)=0 |
| Convenience method to set a 'watch' trigger factory to a response factory. | |
This is the quest manager.
This manager can be used to handle quests. A quest is basically a state machine which can advance from state to state when a trigger activates. It can also hand out 'rewards'.
Definition at line 230 of file questmanager.h.
| virtual iRewardFactory* iQuestManager::AddActionReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | id_par, | ||
| const char * | pcclass_par | ||
| ) | [pure virtual] |
Convenience method to add an 'action' reward factory to a response factory.
You need to specify exactly which entity and which action
| virtual iChangePropertyRewardFactory* iQuestManager::AddChangePropertyReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | prop_par | ||
| ) | [pure virtual] |
Convenience method to add a 'changeproperty' reward factory to a response factory.
You need to specify exactly which value should be modified after calling this.
| virtual iRewardFactory* iQuestManager::AddCreateEntityReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | template_par, | ||
| const char * | name_par, | ||
| const celEntityTemplateParams & | tpl_params | ||
| ) | [pure virtual] |
Convenience method to add a 'createentity' reward factory to a response factory.
You need to specify exactly which template to create a copy of, the name of the created entity and any other parameters required by the template.
| virtual iRewardFactory* iQuestManager::AddCsSequenceReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | sequence_par, | ||
| const char * | delay_par | ||
| ) | [pure virtual] |
Convenience method to add an 'cssequence' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddDebugPrintReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | msg | ||
| ) | [pure virtual] |
Convenience method to add a 'debugprint' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddDestroyEntityReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par | ||
| ) | [pure virtual] |
Convenience method to add a 'destroyentity' reward factory to a response factory.
You need to specify exactly which entity to destroy
| virtual iRewardFactory* iQuestManager::AddInventoryReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | child_entity_par | ||
| ) | [pure virtual] |
Convenience method to add an 'inventory' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddMessageReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | id_par | ||
| ) | [pure virtual] |
Convenience method to add a 'message' reward factory to a response factory.
You need to specify the message and which entity to send it to.
| virtual iRewardFactory* iQuestManager::AddNewStateReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | state_par | ||
| ) | [pure virtual] |
Convenience method to add a 'newstate' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddSequenceFinishReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | sequence_par | ||
| ) | [pure virtual] |
Convenience method to add an 'sequencefinish' reward factory to a response factory.
| virtual iRewardFactory* iQuestManager::AddSequenceReward | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | sequence_par, | ||
| const char * | delay_par | ||
| ) | [pure virtual] |
Convenience method to add an 'sequence' reward factory to a response factory.
| virtual iQuestFactory* iQuestManager::CreateQuestFactory | ( | const char * | name | ) | [pure virtual] |
Create an empty quest factory.
Returns 0 on failure (quest factory with that name already exists).
| virtual iQuestFactory* iQuestManager::GetQuestFactory | ( | const char * | name | ) | [pure virtual] |
Get a quest factory by name.
| virtual iRewardType* iQuestManager::GetRewardType | ( | const char * | name | ) | [pure virtual] |
Get a reward type from the quest manager.
Returns 0 if no such reward type exists.
| virtual iSeqOpType* iQuestManager::GetSeqOpType | ( | const char * | name | ) | [pure virtual] |
Get a seqop type from the quest manager.
Returns 0 if no such seqop type exists.
| virtual iTriggerType* iQuestManager::GetTriggerType | ( | const char * | name | ) | [pure virtual] |
Get a trigger type from the quest manager.
Returns 0 if no such trigger type exists.
| virtual bool iQuestManager::Load | ( | iDocumentNode * | node | ) | [pure virtual] |
Load a bunch of quest factories.
| node | is a node containing <quest> children. |
| virtual bool iQuestManager::RegisterRewardType | ( | iRewardType * | trigger | ) | [pure virtual] |
Register a quest reward type.
Quest rewards can be used by quests to give out some kind of reward to the game. Returns false on failure (reward type with that name already exists).
The following predefined reward types are automatically registered in the quest manager:
| virtual bool iQuestManager::RegisterSeqOpType | ( | iSeqOpType * | seqop | ) | [pure virtual] |
Register a seqop reward type.
Seqop rewards can be used by quest sequences to define operations in the sequence. Returns false on failure (swqop type with that name already exists).
The following predefined sequence operation types are automatically registered in the quest manager:
| virtual bool iQuestManager::RegisterTriggerType | ( | iTriggerType * | trigger | ) | [pure virtual] |
Register a quest trigger type.
Quest triggers can be used by quests to decide when to go to another state or when to activate a reward. Returns false on failure (trigger type with that name already exists).
The following predefined trigger types are automatically registered in the quest manager:
| virtual void iQuestManager::RemoveQuestFactories | ( | ) | [pure virtual] |
Delete all quest factories.
| virtual void iQuestManager::RemoveQuestFactory | ( | const char * | name | ) | [pure virtual] |
Delete a quest factory by name.
| virtual iTriggerFactory* iQuestManager::SetEnterSectorTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | sector_par | ||
| ) | [pure virtual] |
Convenience method to set an 'entersector' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetInventoryTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | child_par | ||
| ) | [pure virtual] |
Convenience method to set an 'inventory' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetMeshEnterSectorTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | sector_par | ||
| ) | [pure virtual] |
Convenience method to set a 'meshentersector' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetMeshSelectTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par | ||
| ) | [pure virtual] |
Convenience method to set an 'meshsel' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetMessageTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | mask_par | ||
| ) | [pure virtual] |
Convenience method to set an 'message' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetOperationTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | operation_par, | ||
| csRefArray< iTriggerFactory > & | trigger_factories | ||
| ) | [pure virtual] |
Convenience method to set a 'operation' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetPropertyChangeTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | prop_par, | ||
| const char * | value_par | ||
| ) | [pure virtual] |
Convenience method to set a 'propertychange' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetSequenceFinishTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | sequence_par | ||
| ) | [pure virtual] |
Convenience method to set a 'sequencefinish' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetTimeoutTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | timeout_par | ||
| ) | [pure virtual] |
Convenience method to set a 'timeout' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetTriggerTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| bool | do_leave = false |
||
| ) | [pure virtual] |
Convenience method to set a 'trigger' trigger factory to a response factory.
| virtual iTriggerFactory* iQuestManager::SetWatchTrigger | ( | iQuestTriggerResponseFactory * | response, |
| const char * | entity_par, | ||
| const char * | target_entity_par, | ||
| const char * | checktime_par, | ||
| const char * | radius_par | ||
| ) | [pure virtual] |
Convenience method to set a 'watch' trigger factory to a response factory.