All JoyToy locations in the game

Publish date: 2024-06-13

The dystopian world of Cyberpunk 2077 offers various services mimicking the modern world. One of these services is known as "JoyToys," and they provide adult recreational services.

CDPR's pièce de résistance was that it was designed to be an 18+ video game. This means that besides violence, players will have the chance to experience explicit se*ual content as well throughout their journey as V in Cyberpunk 2077.

While the protagonist rallies through the streets of Night City, there are several instances where players will be given a side quest related to items called JoyToys. Most of these missions will result in V spending some "quality time" with the JoyToys in exchange for street credits. However, locating the JoyToys might be an issue for players, as Night City has an expansive map design.

Where to find the JoyToys throughout Night City in Cyberpunk 2077 2.1 update

Thus, this article will focus on the top JoyToy locations, thereby making it easier for players to find them. Simultaneously, there are several other romantic options added in Cyberpunk 2077, but most of them feature in core missions.

CDPR's humble assault on the commonplace transforms the quintessential one-night-stand into spending quality time with a JoyToy. The protagonist V does what he has to in order to survive in Night City.

Several NPCs in the game might interest V in an amorous manner, for one night of course. Although these random NPCs do not offer the same services as JoyToys, neither do they charge money. Subsequently, players can find only four JoyToys throughout the entire game, who charge money for their services.

Two of these JoyToys can be found on Jig-Jig Street in Westbrook. The JoyToys' locations on the map are marked with the sign of lips. These two JoyToys charge about €$100 each for the "best body massage."

Similarly, the other two JoyToys represent the high-class society and charge up to €$3000 for recreational services.

Image via CDPR

The Female JoyToy can be found in the southern region of Westbrook. Players can walk up to the NPC and indulge in a conversation. This JoyToy will charge €$100, and CDPR has programmed a brief one-night session with her.

Image via CDPR

Furthermore, players can walk up to the Male JoyToy in northern Westbrook near the Strip Club in Cyberpunk 2077. The Male JoyToy charges the same amount as its female counterpart.

The high-end JoyToys are rare to come by and might not offer the same visuals as the cheaper JoyToys. Similarly, players can find one high-end female and one male JoyToy.

Image via CDPR

If the high-class JoyToys are not showing on the map, then players are advised to complete the Kerry Eurodyne's Questline in Cyberpunk 2077. This is how players will be able to access the club where these high-end JoyToys spawn.

The high-class female JoyToy brags about knowing a thousand ways to make the night more entertaining. She charges €$3000 and gives V a complimentary glass of champagne.

Image via CDPR

The Male JoyToy at the club charges the same amount and speaks about "making dreams come true" in Cyberpunk 2077.

Players have reported that CDPR has added a relatively low number of sinners in a game that professes sin. Only four JoyToys can be accessed throughout Cyberpunk 2077, and some of them even have glitches and bugs.

It is important to note that V's se*ual orientation doesn't matter in the game, as these JoyToys will provide their service either way. Similarly, the same can be said for V's romantic interests, as players can engage in amorous conversations regardless of gender orientation.

Hopefully, this guide will help players locate the JoyToys quickly. However, it is advised that players save up some cash from missions before visiting them.

More from Sportskeeda

" modalPopup.closeOnEsc = false; modalPopup.setHeader("Why did you not like this content?"); modalPopup.setContentText(modalText); modalPopup.addCancelOkButton("Submit", resetRatingAndFeedbackForm, sendRating); modalPopup.removeCloseModalIcon(); modalPopup.disableDismissPopup(); modalPopup.open(); } else { sendRating(index); } } function sendRating() { var requestPayload = { "post_id": 756628, "rating_value": ratingValue } if (ratingValue > 3) { requestPayload.rating_feedback_type = null; requestPayload.rating_feedback = null; } else { if (!$('input[name="drone"]:checked') || !$('input[name="drone"]:checked').value) { showErrorMessage('option'); return; } if (!$(".post-rating-feedback-note textarea") || !$(".post-rating-feedback-note textarea").value) { showErrorMessage('note'); return; } var selectedOption = $('input[name="drone"]:checked').value; var feedbackNote = $(".post-rating-feedback-note textarea").value; requestPayload.rating_feedback_type = selectedOption; requestPayload.rating_feedback = feedbackNote; } pureJSAjaxPost(addratingAPI, requestPayload, onsaveRatingSuccess, onsaveRatingFail, function() {}, true); } function resetRatingAndFeedbackForm() { var activeStars = Array.from($all('.rating span.rating-star.active')); for (var i=0; i < activeStars.length; i++) { activeStars[i].classList.remove("active"); } if ($('input[name="drone"]:checked')) { $('input[name="drone"]:checked').checked = false; } var userNote = document.querySelector(".post-rating-feedback-note textarea"); userNote.value = ''; modalPopup.close(); } function onsaveRatingSuccess() { modalPopup.close(); savePostIdInUserRatedPostsCookie(); $("#post-rating-layout").classList.add("hidden"); $("#post-rating-message").classList.remove("hidden"); window.setInterval(function showMessage() { $("#post-rating-widget").classList.add("hidden"); }, 3000); } function onsaveRatingFail() { console.error('Saving post rating failed!'); modalPopup.close(); } function savePostIdInUserRatedPostsCookie() { userRatedPostIds.push(756628); var expiryTime = new Date(); expiryTime.setMonth(expiryTime.getMonth() + 12); // Expiry after 1 year setCookie("user_rated_post_ids", JSON.stringify(userRatedPostIds), expiryTime); } function isPostRatedByUser() { var userRatedPostIds = getCookie('user_rated_post_ids'); if (userRatedPostIds) { try { userRatedPostIds = JSON.parse(userRatedPostIds); } catch (err) { console.error(err); return false; } } else { return false; } if(userRatedPostIds.indexOf(756628) >= 0) { return true; } else { return false; } } function getRatingCountByPostId(postId) { return new Promise(function(resolve, reject) { pureJSAjaxGet( getRatingCountBaseURL + postId + '/rating/count', function(data) { try { data = JSON.parse(data); if (data.meta_value) { resolve(data.meta_value); } reject("Failed to fetch rating count for the post:" + postId); } catch (err) { reject("Failed to fetch rating count for the post:" + postId); } }, function(err) { reject("Failed to fetch rating count for the post:" + postId); }, true); }); } function showErrorMessage(messageType) { var messageContainerId = '#' + messageType + '-error'; $(messageContainerId).classList.remove('hidden'); window.setInterval(function () { $(messageContainerId).classList.add("hidden"); }, 5000); } (function() { var callFired = false; function lazyLoadPostRating() { if (callFired) return; callFired = true; if (!isPostRatedByUser()) { getRatingCountByPostId(756628) .then(function(ratingCount) { if (ratingCount < 10) { $("#post-rating-widget").classList.remove("hidden"); } }) .catch(function(err){ console.error(err); }); } } document.addEventListener("scroll", lazyLoadPostRating, { passive: true, once: true }); document.addEventListener("mousemove", lazyLoadPostRating, { passive: true, once: true }); document.addEventListener("touchmove", lazyLoadPostRating, { passive: true, once: true }); })();

ncG1vNJzZmivp6x7tLzOq6uso5WasaJ6wqikaJ2jpbyzwNJomrKalae9trrKZmlpb2dirq24jKOmsqyfrnqtu8Kaq6Knnqh6qrqMoJimnQ%3D%3D