summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-10-25 09:32:22 -0200
committershennetsind <ind@henn.et>2013-10-25 09:32:22 -0200
commitbf27a9e0cf1bfe9be298c4191010ba6876457d64 (patch)
tree5a7e85a639423109b6e8cf935f2f4c8ddf1bb595 /src/map/clif.c
parent94b7b25456aa8a9de1e0f2a147d58dba6e5976dd (diff)
downloadhercules-bf27a9e0cf1bfe9be298c4191010ba6876457d64.tar.gz
hercules-bf27a9e0cf1bfe9be298c4191010ba6876457d64.tar.bz2
hercules-bf27a9e0cf1bfe9be298c4191010ba6876457d64.tar.xz
hercules-bf27a9e0cf1bfe9be298c4191010ba6876457d64.zip
Quest Bubbles Update
- Introduced questinfo cache, memory & processing speed improvement - Fixed mini-map marker support Special Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 3dba530f4..e47bd2bf4 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -9631,28 +9631,19 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) {
skill->unit_move(&sd->bl,timer->gettick(),1);
// NPC Quest / Event Icon Check [Kisuka]
- #if PACKETVER >= 20090218
- for(i = 0; i < map->list[sd->bl.m].npc_num; i++) {
- TBL_NPC *nd = map->list[sd->bl.m].npc[i];
-
- // Make sure NPC exists and is not a warp
- if(nd != NULL)
- {
- // Check if NPC has quest attached to it
- if(nd->quest.quest_id > 0)
- if(quest->check(sd, nd->quest.quest_id, HAVEQUEST) == -1) // Check if quest is not started
- // Check if quest is job-specific, check is user is said job class.
- if(nd->quest.hasJob == true)
- {
- if(sd->class_ == nd->quest.job)
- clif->quest_show_event(sd, &nd->bl, nd->quest.icon, 0);
- }
- else {
- clif->quest_show_event(sd, &nd->bl, nd->quest.icon, 0);
- }
+#if PACKETVER >= 20090218
+ for(i = 0; i < map->list[sd->bl.m].qi_count; i++) {
+ struct questinfo *qi = &map->list[sd->bl.m].qi_data[i];
+ if( quest->check(sd, qi->quest_id, HAVEQUEST) == -1 ) {// Check if quest is not started
+ if( qi->hasJob ) { // Check if quest is job-specific, check is user is said job class.
+ if( sd->class_ == qi->job )
+ clif->quest_show_event(sd, &qi->nd->bl, qi->icon, qi->color);
+ } else {
+ clif->quest_show_event(sd, &qi->nd->bl, qi->icon, qi->color);
}
}
- #endif
+ }
+#endif
}