summaryrefslogtreecommitdiff
path: root/src/map/mob.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-02-23 14:28:21 -0800
committerBen Longbons <b.r.longbons@gmail.com>2013-02-23 15:13:16 -0800
commit1e77f5dc8d95bbf912205c85274d294a80ea65c9 (patch)
tree054aa52764297b205431dfe82119a7f3e5e7ecd1 /src/map/mob.cpp
parent25823b36905a84d92f9299ba7f9f0c713141c8fb (diff)
downloadtmwa-1e77f5dc8d95bbf912205c85274d294a80ea65c9.tar.gz
tmwa-1e77f5dc8d95bbf912205c85274d294a80ea65c9.tar.bz2
tmwa-1e77f5dc8d95bbf912205c85274d294a80ea65c9.tar.xz
tmwa-1e77f5dc8d95bbf912205c85274d294a80ea65c9.zip
Replace struct dbt with typesafe std::map wrappers
Also fix broken save/accreg.txt reading.
Diffstat (limited to 'src/map/mob.cpp')
-rw-r--r--src/map/mob.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/map/mob.cpp b/src/map/mob.cpp
index 79a21ea..709df2b 100644
--- a/src/map/mob.cpp
+++ b/src/map/mob.cpp
@@ -2094,17 +2094,14 @@ void mob_ai_hard(TimerData *, tick_t tick)
*------------------------------------------
*/
static
-void mob_ai_sub_lazy(db_key_t, db_val_t data, tick_t tick)
+void mob_ai_sub_lazy(struct block_list *bl, tick_t tick)
{
- struct mob_data *md = (struct mob_data *)data;
-
- nullpo_retv(md);
+ nullpo_retv(bl);
- if (md == NULL)
+ if (bl->type != BL::MOB)
return;
- if (md->bl.type == BL::NUL || md->bl.type != BL::MOB)
- return;
+ struct mob_data *md = (struct mob_data *)bl;
if (tick < md->last_thinktime + MIN_MOBTHINKTIME * 10)
return;
@@ -2161,7 +2158,8 @@ void mob_ai_sub_lazy(db_key_t, db_val_t data, tick_t tick)
static
void mob_ai_lazy(TimerData *, tick_t tick)
{
- map_foreachiddb(std::bind(mob_ai_sub_lazy, ph::_1, ph::_2, tick));
+ for (auto& pair : id_db)
+ mob_ai_sub_lazy(pair.second, tick);
}
/*==========================================