LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set
LOCKINK Teasing & Impact-Play Set

LOCKINK Teasing & Impact-Play Set

Discover limitless pleasure with LOCKINK's versatile BDSM Kit. Inspired by Lego bricks and ratchet belts, this set offers adjustable leather belts, blindfold, gag-bite, teasing wand, and nipple clamps for sensory delights in brown or black.
$256.50
$285.00
-$28.50
Color-Brown
Please select a color
Quantity
Free Worldwide Shipping
Fast Shipping
Discreet Packaging
Secure payments
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

LOCKINK have observed that traditional toys of BDSM are very boring having many limitations.  But LOCKINK always wanted to create products with unlimited and distinct qualities.  We found motivation from two things including Lego brick and ratchet belt. Without a pinch hole, this belt is adopted to screw up or loosen. While these bricks are collected and united by various methods. Motivated by these parts BDSM has reproduced the toys by disassembling the toys into different parts. Now users are permitted to assemble the toy completely to release more chances of intimacy. 

 This kit is specially designed for flirting and pat function. It includes an automatic buckle, leather belts, blindfold, an eye mask with metal parts, and Bit Gag. The latest shaped loop with leather pat and adjustable length can adjust pain and frequency.  It has one teasing pen and 4 variable kinds of pen heads. The beautiful fountain pen designs will give you totally unique feeling.  Its magnetic mode is easily switched according to will.

Its ankle cuffs and handcuffs are made of metal, belt, and automatic buckle. The leather eye mask is great. When no vision is observed then sensitive nerve is extended and erotic wishes will be aroused with a new feeling of pleasure. Helpless for mercy, want to shout but can't shout it out, and saliva drips slowly down the mouth. Its leather pat has a belt and metal grip in its composition. The sensitive spots will quiver by the crispy voice of striking and this will leave traces of love on the skin. The total materials used in the brown or black-colored kit are leather, silicone, and zinc alloy.

The butterfly-shaped nipple clamps love teeth and lips to softly bite. The soft-touch will make all sexual desires come out. The length of the long leather belt is 66cm.  In this light bondage play, your body will crumple with flirting and it will leave a spot of love. 


Multiple Play Way:

  • Combine a teasing wand and a pair of Nipple Clamps with a blindfold for even more fun!
  • The Bullhide Blindfold is soft and smooth, with a unique lockink design to fit most head sizes.
  • The Teasing Wand is equiped with 4 switchable teasing head, a pinwheel, 1-pointed and 1-round silicone head, and a metal tickler head.
  • The Nipple Clamps are Made for nipple play, also works great on other parts of the body, these clamps go around each nipple and squeeze.
  • The Pinwheel head works perfectly with the other teasing head in this kit, roll the pins of this wheel over their sensitive areas!
  • Slip these toys on your partner and increase their sensitivity to sensation - blind, teasing, and flog your lover with ease and satisfaction!
  • Put your partner in their place with the included flogger, which is designed to strike against the meaty parts of your lover to provide just the right amount of sting to get their sexual engines revving, while they wear the gag-bite.

 

Specification:

Blindfold Measurements: 7.75 inches in length, 3 inches in width
Gag-bite Measurements: 25 inches in length, adjusts from 15.5 - 23 inches, 1.8 inches diameter
Leather Slapper Measurements: 19.25 inches overall length, 13-inch tassels length
Materials: Bullhide Leather, nickel-free metal, Silicone,
Color: Brown / Black

 

Packaging List :

2 PCS - Long Leather Belt (for  Blindfold / Gag-bite Accessories)

2 PCS - Adjustable Buckles

1 PCS - Leather Blindfold Accessories

2 PCS - Metal Blindfold Accessories

1 PCS - Silicone Gag-bite Accessories

2 PCS - Metal Gag-bite Accessories

1 PCS - Extra-Length Leather Belt ( Leather Slapper Accessories)

1 PCS - Metal Handle ( Leather Slapper Accessories)

1 PCS - Teasing Wand

2 PCS - Nipple Clamps

Customer Reviews
Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.