summaryrefslogtreecommitdiff
path: root/src/map/quest.h
diff options
context:
space:
mode:
authorAsheraf <acheraf1998@gmail.com>2019-04-21 17:07:47 +0100
committerAsheraf <acheraf1998@gmail.com>2019-05-06 19:59:30 +0000
commitabe4b83a81c437d404aadea723165d98c33d462d (patch)
treee6b5eaeda12876358d6a00636d20bc311502f8ad /src/map/quest.h
parent403939af8bdb08e33f9b0a6613fe2e5e00bbea04 (diff)
downloadhercules-abe4b83a81c437d404aadea723165d98c33d462d.tar.gz
hercules-abe4b83a81c437d404aadea723165d98c33d462d.tar.bz2
hercules-abe4b83a81c437d404aadea723165d98c33d462d.tar.xz
hercules-abe4b83a81c437d404aadea723165d98c33d462d.zip
Move questinfo data from map to npc_data
this will fix the issue where having multiple `questinfo()` blocks wont work properly
Diffstat (limited to 'src/map/quest.h')
-rw-r--r--src/map/quest.h34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/map/quest.h b/src/map/quest.h
index 206a7902f..d60b9b33c 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -60,6 +60,39 @@ enum quest_check_type {
HUNTING, ///< Check if the given hunting quest's requirements have been met
};
+struct questinfo_qreq {
+ int id;
+ int state;
+};
+
+struct questinfo_itemreq {
+ int nameid;
+ int min;
+ int max;
+};
+
+struct questinfo {
+ unsigned short icon;
+ unsigned char color;
+ bool hasJob;
+ unsigned int job;/* perhaps a mapid mask would be most flexible? */
+ bool sex_enabled;
+ int sex;
+ struct {
+ int min;
+ int max;
+ } base_level;
+ struct {
+ int min;
+ int max;
+ } job_level;
+ VECTOR_DECL(struct questinfo_itemreq) items;
+ struct s_homunculus homunculus;
+ int homunculus_type;
+ VECTOR_DECL(struct questinfo_qreq) quest_requirement;
+ int mercenary_class;
+};
+
struct quest_interface {
struct quest_db **db_data; ///< Quest database
struct quest_db dummy; ///< Dummy entry for invalid quest lookups
@@ -93,7 +126,6 @@ struct quest_interface {
bool (*questinfo_validate_homunculus_type) (struct map_session_data *sd, struct questinfo *qi);
bool (*questinfo_validate_quests) (struct map_session_data *sd, struct questinfo *qi);
bool (*questinfo_validate_mercenary_class) (struct map_session_data *sd, struct questinfo *qi);
- void (*questinfo_vector_clear) (int m);
};
#ifdef HERCULES_CORE