diff --git a/src/map.cpp b/src/map.cpp index 68747009132bc..b8e08f5da0ca3 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -6988,13 +6988,16 @@ void map::rotten_item_spawn( const item &item, const tripoint &pnt ) if( mgroup.is_null() ) { return; } - MonsterGroupResult spawn_details = MonsterGroupManager::GetResultFromGroup( mgroup ); - add_spawn( spawn_details, pnt ); - if( get_player_view().sees( pnt ) ) { - if( item.is_seed() ) { - add_msg( m_warning, _( "Something has crawled out of the %s plants!" ), item.get_plant_name() ); - } else { - add_msg( m_warning, _( "Something has crawled out of the %s!" ), item.tname() ); + + if( rng( 0, 100 ) < comest->rot_spawn_chance ) { + MonsterGroupResult spawn_details = MonsterGroupManager::GetResultFromGroup( mgroup ); + add_spawn( spawn_details, pnt ); + if( get_player_view().sees( pnt ) ) { + if( item.is_seed() ) { + add_msg( m_warning, _( "Something has crawled out of the %s plants!" ), item.get_plant_name() ); + } else { + add_msg( m_warning, _( "Something has crawled out of the %s!" ), item.tname() ); + } } } }