Skip to content

Commit 0e7e1e5

Browse files
authored
Pathfinding considers own locked doors more often (dkfans#4823)
Fixes dkfans#4822
1 parent bc29e75 commit 0e7e1e5

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

src/creature_states.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,10 +1083,10 @@ TbBool attempt_to_destroy_enemy_room(struct Thing *thing, MapSubtlCoord stl_x, M
10831083
return false;
10841084
if (!find_first_valid_position_for_thing_anywhere_in_room(thing, room, &pos))
10851085
return false;
1086-
if (!creature_can_navigate_to_with_storage(thing, &pos, NavRtF_NoOwner))
1086+
if (!creature_can_navigate_to_with_storage(thing, &pos, NavRtF_Default))
10871087
return false;
10881088

1089-
if (!setup_head_for_room(thing, room, NavRtF_NoOwner))
1089+
if (!setup_head_for_room(thing, room, NavRtF_Default))
10901090
{
10911091
ERRORLOG("The %s cannot destroy %s because it can't reach it",thing_model_name(thing),room_code_name(room->kind));
10921092
return false;

src/creature_states_hero.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,18 +232,18 @@ TbBool good_setup_wander_to_exit(struct Thing *creatng)
232232

233233
TbBool good_setup_attack_rooms(struct Thing *creatng, long dngn_id)
234234
{
235-
struct Room* room = find_nearest_room_to_vandalise(creatng, dngn_id, NavRtF_NoOwner);
235+
struct Room* room = find_nearest_room_to_vandalise(creatng, dngn_id, NavRtF_Default);
236236
if (room_is_invalid(room))
237237
{
238238
return false;
239239
}
240240
struct Coord3d pos;
241-
if (!find_random_valid_position_for_thing_in_room(creatng, room, &pos) || !creature_can_navigate_to_with_storage(creatng, &pos, NavRtF_NoOwner))
241+
if (!find_random_valid_position_for_thing_in_room(creatng, room, &pos) || !creature_can_navigate_to_with_storage(creatng, &pos, NavRtF_Default))
242242
{
243243
ERRORLOG("The %s index %d cannot destroy %s because it cannot reach position within it",thing_model_name(creatng),(int)creatng->index,room_code_name(room->kind));
244244
return false;
245245
}
246-
if (!setup_random_head_for_room(creatng, room, NavRtF_NoOwner))
246+
if (!setup_random_head_for_room(creatng, room, NavRtF_Default))
247247
{
248248
ERRORLOG("The %s index %d cannot destroy %s because it cannot head for it",thing_model_name(creatng),(int)creatng->index,room_code_name(room->kind));
249249
return false;
@@ -256,18 +256,18 @@ TbBool good_setup_attack_rooms(struct Thing *creatng, long dngn_id)
256256

257257
TbBool good_setup_sabotage_rooms(struct Thing* creatng, short dngn_id)
258258
{
259-
struct Room* room = find_nearest_room_to_vandalise(creatng, dngn_id, NavRtF_NoOwner);
259+
struct Room* room = find_nearest_room_to_vandalise(creatng, dngn_id, NavRtF_Default);
260260
if (room_is_invalid(room))
261261
{
262262
return false;
263263
}
264264
struct Coord3d pos;
265-
if (!find_random_valid_position_for_thing_in_room(creatng, room, &pos) || !creature_can_navigate_to_with_storage(creatng, &pos, NavRtF_NoOwner))
265+
if (!find_random_valid_position_for_thing_in_room(creatng, room, &pos) || !creature_can_navigate_to_with_storage(creatng, &pos, NavRtF_Default))
266266
{
267267
ERRORLOG("The %s index %d cannot destroy %s because it cannot reach position within it", thing_model_name(creatng), (int)creatng->index, room_code_name(room->kind));
268268
return false;
269269
}
270-
if (!setup_random_head_for_room(creatng, room, NavRtF_NoOwner))
270+
if (!setup_random_head_for_room(creatng, room, NavRtF_Default))
271271
{
272272
ERRORLOG("The %s index %d cannot destroy %s because it cannot head for it", thing_model_name(creatng), (int)creatng->index, room_code_name(room->kind));
273273
return false;

src/room_data.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2160,7 +2160,7 @@ TbBool creature_can_get_to_any_of_players_rooms(struct Thing *thing, PlayerNumbe
21602160
{
21612161
for (RoomKind rkind = 1; rkind < game.conf.slab_conf.room_types_count; rkind++)
21622162
{
2163-
struct Room* room = find_room_of_kind_creature_can_navigate_to(thing, owner, rkind, NavRtF_NoOwner);
2163+
struct Room* room = find_room_of_kind_creature_can_navigate_to(thing, owner, rkind, NavRtF_Default);
21642164
if (!room_is_invalid(room))
21652165
return true;
21662166
}

0 commit comments

Comments
 (0)