From cee0d4ea91eba30990b55fb15bed29176a498c30 Mon Sep 17 00:00:00 2001 From: trioct Date: Sun, 12 Jul 2020 17:27:17 -0500 Subject: [PATCH 1/2] Don't add item to self --- src/character.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/character.cpp b/src/character.cpp index 8c5aab4dd8d28..59291b3800a11 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -2321,11 +2321,11 @@ std::vector Character::nearby( const item_pocket *Character::best_pocket( const item &it, const item *avoid ) { item_pocket *ret = nullptr; - if( &weapon != avoid ) { + if( &weapon != &it && &weapon != avoid ) { ret = weapon.best_pocket( it ); } for( item &worn_it : worn ) { - if( &worn_it == avoid ) { + if( &worn_it == &it || &worn_it == avoid ) { continue; } item_pocket *internal_pocket = worn_it.best_pocket( it ); From 533483b6261a22b39d99855fb9147dce8517fac8 Mon Sep 17 00:00:00 2001 From: trioct Date: Sun, 12 Jul 2020 19:01:55 -0500 Subject: [PATCH 2/2] Fix tie_or_untie and insert_battery --- src/monexamine.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/monexamine.cpp b/src/monexamine.cpp index 76c8dd6741ac7..698ba83495cce 100644 --- a/src/monexamine.cpp +++ b/src/monexamine.cpp @@ -363,11 +363,8 @@ void monexamine::insert_battery( monster &z ) return; } item *bat_item = bat_inv[index - 1]; - int item_pos = player_character.get_item_position( bat_item ); - if( item_pos != INT_MIN ) { - z.battery_item = cata::make_value( *bat_item ); - player_character.i_rem( item_pos ); - } + z.battery_item = cata::make_value( *bat_item ); + player_character.i_rem( bat_item ); } bool monexamine::mech_hack( monster &z ) @@ -739,12 +736,9 @@ void monexamine::tie_or_untie( monster &z ) return; } item *rope_item = rope_inv[index - 1]; - int item_pos = player_character.get_item_position( rope_item ); - if( item_pos != INT_MIN ) { - z.tied_item = cata::make_value( *rope_item ); - player_character.i_rem( item_pos ); - z.add_effect( effect_tied, 1_turns, num_bp, true ); - } + z.tied_item = cata::make_value( *rope_item ); + player_character.i_rem( rope_item ); + z.add_effect( effect_tied, 1_turns, num_bp, true ); } }