diff --git a/src/condition.cpp b/src/condition.cpp index 8c55915551b46..8985f307fac96 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -1586,6 +1586,13 @@ conditional_t::func f_tile_is_outside( const JsonObject &jo, std::string_view me }; } +conditional_t::func f_is_wall_adjacent( bool is_npc ) +{ + return [is_npc]( const_dialogue const & d ) { + return d.const_actor( is_npc )->is_wall_adjacent(); + }; +} + conditional_t::func f_is_underwater( bool is_npc ) { const map &here = get_map(); diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 6bd3eae0a1887..a6338dd64e469 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -5224,6 +5224,7 @@ talk_effect_fun_t::func f_message( const JsonObject &jo, std::string_view member const bool same_snippet = jo.get_bool( "same_snippet", false ); const bool outdoor_only = jo.get_bool( "outdoor_only", false ); const bool store_in_lore = jo.get_bool( "store_in_lore", false ); + const bool is_wall_adjacent = jo.get_bool( "is_wall_adjacent", false ); const bool sound = jo.get_bool( "sound", false ); const bool popup_msg = jo.get_bool( "popup", false ); const bool popup_w_interrupt_query_msg = jo.get_bool( "popup_w_interrupt_query", false );