From bfd5fc2d198aeff597d8a72bd52757d8289a23bb Mon Sep 17 00:00:00 2001 From: GuardianDll Date: Fri, 17 Jan 2025 18:11:14 +0100 Subject: [PATCH] prevent segfault if you do not have profession (for any technical reason) --- src/effect_on_condition.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/effect_on_condition.cpp b/src/effect_on_condition.cpp index 7cdf7449c25bf..023a28fd18679 100644 --- a/src/effect_on_condition.cpp +++ b/src/effect_on_condition.cpp @@ -150,11 +150,13 @@ void effect_on_conditions::load_new_character( Character &you ) } } - for( const effect_on_condition_id &eoc_id : you.get_profession()->get_eocs() ) { - effect_on_condition eoc = eoc_id.obj(); - if( eoc.type == eoc_type::PROFESSION_SPECIFIC && ( is_avatar || eoc.run_for_npcs ) ) { - queued_eoc new_eoc = queued_eoc{ eoc.id, calendar::turn_zero, {} }; - you.queued_effect_on_conditions.push( new_eoc ); + if( you.get_profession() ) { + for( const effect_on_condition_id &eoc_id : you.get_profession()->get_eocs() ) { + effect_on_condition eoc = eoc_id.obj(); + if( eoc.type == eoc_type::PROFESSION_SPECIFIC && ( is_avatar || eoc.run_for_npcs ) ) { + queued_eoc new_eoc = queued_eoc{ eoc.id, calendar::turn_zero, {} }; + you.queued_effect_on_conditions.push( new_eoc ); + } } }