diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-02-21 17:47:45 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-02-23 23:36:18 +0300 |
commit | 4e681ce12a3f9574c33dc1e11ca8665e8f04e8a0 (patch) | |
tree | 2821d43a8b8017c659376a3542fe281795d6d307 | |
parent | 6b949190402e71d5c489f627da79eb5f51669b44 (diff) | |
download | hercules-4e681ce12a3f9574c33dc1e11ca8665e8f04e8a0.tar.gz hercules-4e681ce12a3f9574c33dc1e11ca8665e8f04e8a0.tar.bz2 hercules-4e681ce12a3f9574c33dc1e11ca8665e8f04e8a0.tar.xz hercules-4e681ce12a3f9574c33dc1e11ca8665e8f04e8a0.zip |
Extend official_cell_stack_limit option.
Now if this option is zero server will not count objects before comparing
with official_cell_stack_limit.
If set official_cell_stack_limit to zero it will heavy reduce CPU usage.
-rw-r--r-- | src/map/battle.c | 2 | ||||
-rw-r--r-- | src/map/mob.c | 2 | ||||
-rw-r--r-- | src/map/unit.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index d5f523208..f5357f94a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6725,7 +6725,7 @@ static const struct battle_data { { "bone_drop", &battle_config.bone_drop, 0, 0, 2, }, { "buyer_name", &battle_config.buyer_name, 1, 0, 1, }, { "skill_wall_check", &battle_config.skill_wall_check, 1, 0, 1, }, - { "official_cell_stack_limit", &battle_config.official_cell_stack_limit, 1, 1, 255, }, + { "official_cell_stack_limit", &battle_config.official_cell_stack_limit, 1, 0, 255, }, { "custom_cell_stack_limit", &battle_config.custom_cell_stack_limit, 1, 1, 255, }, { "dancing_weaponswitch_fix", &battle_config.dancing_weaponswitch_fix, 1, 0, 1, }, diff --git a/src/map/mob.c b/src/map/mob.c index a94650438..8a8e96508 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -1311,7 +1311,7 @@ int mob_unlocktarget(struct mob_data *md, int64 tick) { md->ud.target_to = 0; unit->set_target(&md->ud, 0); } - if(map->count_oncell(md->bl.m, md->bl.x, md->bl.y, BL_CHAR|BL_NPC, 1) > battle_config.official_cell_stack_limit) { + if(battle_config.official_cell_stack_limit && map->count_oncell(md->bl.m, md->bl.x, md->bl.y, BL_CHAR|BL_NPC, 1) > battle_config.official_cell_stack_limit) { unit->walktoxy(&md->bl, md->bl.x, md->bl.y, 8); } diff --git a/src/map/unit.c b/src/map/unit.c index 6e4efd533..b8e84492b 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -454,7 +454,7 @@ int unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) { ud->to_x = bl->x; ud->to_y = bl->y; - if(map->count_oncell(bl->m, x, y, BL_CHAR|BL_NPC, 1) > battle_config.official_cell_stack_limit) { + if(battle_config.official_cell_stack_limit && map->count_oncell(bl->m, x, y, BL_CHAR|BL_NPC, 1) > battle_config.official_cell_stack_limit) { //Walked on occupied cell, call unit_walktoxy again if(ud->steptimer != INVALID_TIMER) { //Execute step timer on next step instead |