text.skipToContent text.skipToNavigation

LEGO Icons Optimus Prime Transformers Robot Set 10302

  • Age: 18 years+
£159.99
Discontinued

12 Surprises of Christmas

December 1, 2025 0/12 doors opened
There's a new festive gift, discount code or fabulous prize draw every day until 15th December. Unlock each door at 9am - some offers are only available in limited numbers and are first-come, first-served so don't leave it too late!
Calendar doors will be generated by JavaScript
🎁

Day 1

Special Offer

20% OFF

Use code at checkout:

CODE20
Code copied to clipboard

* Offer valid until December 31st, 2025. Terms and conditions apply.

// Advent Calendar Data const adventOffers = [ { day: 4, dayNumber: 1, title: '', discount: "25% off", description: "Selected Gabby's Dollhouse toys", code: "GABBY25", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/c/daily-deals', linkText: 'Shop Now', codeUsed: true, terms: 'Offer ends 5th December 2025 at 9am Terms and conditions apply' }, { day: 5, dayNumber: 2, title: '', discount: "Free Toothless soft toy", description: "When you spend £40 or more via home delivery", code: "x200 available", color: "#AE1F23", emoji: "", link: 'https://www.thetoyshop.com/c/all-categories', linkText: 'Shop Now', codeUsed: false, terms: 'Styles vary. While stocks last. Offer ends 6th December, 2025 Terms and conditions apply' }, { day: 6, dayNumber: 3, title: '', discount: "Win a Jurassic World Toy Bundle", description: "x3 Jurassic World prize bundles", code: "", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/jurassic-bundle-prize-draw', linkText: 'Enter Now', codeUsed: false, terms: 'Closes Sunday, 7th December 2025 at 9am Terms and conditions apply' }, { day: 7, dayNumber: 4, title: '', discount: "Win a Wicked beauty bundle", description: "x3 to be won", code: "", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/wicked-bundle-prize-draw', linkText: 'Enter Now', codeUsed: false, terms: 'Closes Monday, 8th December 2025 at 9am Terms and conditions apply' }, { day: 8, dayNumber: 5, title: '', discount: "20% off", description: "Selected Wicked dolls", code: "WICKED20", color: "#AE1F23", emoji: '', link: 'NOW https://www.thetoyshop.com/c/all-categories', linkText: 'Shop Now', codeUsed: true, terms: 'Offer ends Tuesday, 9th December 2025 at 9am Terms and conditions apply' }, { day: 9, dayNumber: 6, title: '', discount: "20% off", description: "Selected How to Train your Dragon action figures ", code: "DRAGON20", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/c/daily-deals', linkText: 'Shop Now', codeUsed: true, terms: 'Offer ends 10th December 2025 at 9am Terms and conditions apply' }, { day: 10, dayNumber: 7, title: '', discount: "Free Jurassic World soft toy", description: "When you spend £40 or more via home delivery", code: "x200 available", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/c/all-categories', linkText: 'Shop Now', codeUsed: false, terms: 'While stocks last. Offer ends 11th December, 2025 Style vary. Terms and conditions apply' }, { day: 11, dayNumber: 8, title: '', discount: "Free Wicked bag clip", description: "When you spend £40 or more via home delivery", code: "x200 available", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/c/all-categories', linkText: 'Shop Now', codeUsed: false, terms: 'While stocks last. Offer ends 12th December, 2025 Styles vary. Terms and conditions apply' }, { day: 12, dayNumber: 9, title: '', discount: "20% off", description: "Selected Jurassic World action figures ", code: "DINO20", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/c/daily-deals', linkText: 'Shop Now', codeUsed: true, terms: 'Offer ends 13th December 2025 at 9am Terms and conditions apply' }, { day: 13, dayNumber: 10, title: '', discount: "Win a Gabby's Dollhouse bundle", description: "x3 to be won", code: "", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/gabbys-dollhouse-bundle-prize-draw', linkText: 'Enter Now', codeUsed: false, terms: 'Closes 14th December 2025 at 9am Terms and conditions apply' }, { day: 14, dayNumber: 11, title: '', discount: "Win a How to Train Your Dragon bundle", description: "x3 to be won", code: "", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/httyd-bundle-prize-draw', linkText: 'Enter Now', codeUsed: false, terms: 'Closes 15th December 2025 at 9am Terms and conditions apply' }, { day: 28, dayNumber: 12, title: '', discount: "Win a magical weekend in France", description: "", code: "", color: "#AE1F23", emoji: '', link: 'https://www.thetoyshop.com/wicked-france-prize-draw', linkText: 'Enter Now', codeUsed: false, terms: 'Closes 31st December 2025 at 11:59pm Terms and conditions apply' }, ]; // Global state let openedDoors = new Set(); let selectedDoor = null; // Initialize the page document.addEventListener('DOMContentLoaded', function() { loadOpenedDoors(); updateCurrentDay(); generateCalendar(); updateProgress(); setupEventListeners(); // const reviews = document.querySelectorAll('.door-number'); // const maxAngle = 10; // const minAngle = -10; // reviews.forEach(review => { // const randomAngle = Math.floor(Math.random() * (maxAngle - minAngle + 1)) + minAngle; // review.style.transform = `rotate(${randomAngle}deg)`; // }); }); // Load opened doors from localStorage function loadOpenedDoors() { // remove to store when done localStorage.removeItem('advent-opened-doors'); const saved = localStorage.getItem('advent-opened-doors'); if (saved) { openedDoors = new Set(JSON.parse(saved)); } } // Save opened doors to localStorage function saveOpenedDoors() { localStorage.setItem('advent-opened-doors', JSON.stringify([...openedDoors])); } // Update current day display function updateCurrentDay() { const currentDay = new Date().getDate(); document.getElementById('current-day').textContent = currentDay; } // Check if date is available // Check if date is available function isDateAvailable(day) { const today = new Date().getDate(); const currentMonth = new Date().getMonth(); const currentTime = new Date(); const currentHour = currentTime.getHours(); return true; // Today at 9am or later if (currentMonth === 10 && day === today && currentHour >= 9) { return true; } // Yesterday until 9am today (gives users until 9am next day to claim) if (currentMonth === 10 && day === today - 1 && currentHour < 9) { return true; } //return true; return false; } function isDatePast(day) { const today = new Date().getDate(); const currentMonth = new Date().getMonth(); const currentTime = new Date(); const currentHour = currentTime.getHours(); // More than 1 day ago if (currentMonth === 10 && day < today - 1) { return true; } if (currentMonth === 10 && day === today - 1 && currentHour >= 9) { return true; } return false; } // Get current day function getCurrentDay() { return new Date().getDate(); } // Get current month function getCurrentMonth() { return new Date().getMonth(); } // Get current hour function getCurrentHour() { const currentTime = new Date(); const currentHour = currentTime.getHours(); return currentHour; } // Generate calendar grid function generateCalendar() { const calendarGrid = document.getElementById('calendar-grid'); calendarGrid.innerHTML = ''; adventOffers.map(offer => { const door = document.createElement('div'); door.className = 'calendar-door'; door.dataset.day = offer.day; const isOpened = openedDoors.has(offer.day); const isAvailable = isDateAvailable(offer.day); const isToday = getCurrentDay() === offer.day && getCurrentMonth() === 10 && getCurrentHour() >= 9; const isPast = isDatePast(offer.day); // Add appropriate classes if (isOpened) { door.classList.add('opened'); } else if (isPast) { door.classList.add('opened'); door.classList.add('past'); } else if (isAvailable || isToday) { door.classList.add('available'); } else { door.classList.add('locked'); } if (isToday) { door.classList.add('today'); } // Create door locked const doorContent = document.createElement('div'); doorContent.className = 'door-content'; // Door number const doorNumber = document.createElement('div'); doorNumber.className = `door-number ${isOpened ? 'opened' : ''}`; doorNumber.textContent = offer.dayNumber; doorContent.appendChild(doorNumber); // Door main content if (isPast || isOpened) { const openedContent = document.createElement('div'); openedContent.className = 'door-opened'; const emoji = document.createElement('div'); emoji.className = 'door-emoji'; emoji.innerHTML = offer.emoji; openedContent.appendChild(emoji); emoji.appendChild(doorNumber); const title = document.createElement('div'); title.className = 'door-title'; title.textContent = offer.title; openedContent.appendChild(title); const discount = document.createElement('div'); discount.className = 'door-discount'; //discount.style.background = offer.color; discount.textContent = offer.discount; openedContent.appendChild(discount); doorContent.appendChild(openedContent); } else if (isAvailable || isToday) { const availableContent = document.createElement('div'); availableContent.className = 'door-available'; const openText = document.createElement('div'); openText.className = 'door-open-text'; openText.textContent = 'OPEN'; availableContent.appendChild(openText); doorContent.appendChild(availableContent); } door.appendChild(doorContent); // Add click event if (isAvailable || isToday) { door.addEventListener('click', () => handleDoorClick(offer.day)); } // if (isToday) { // const todayIndicator = document.createElement('div'); // todayIndicator.className = 'today-indicator'; // todayIndicator.textContent = '⭐'; // doorContent.appendChild(todayIndicator); // } calendarGrid.appendChild(door); }); } function random(max){ return Math.random() * (max - 0) + 0; } // Handle door click function handleDoorClick(day) { // if (openedDoors.has(day)) { // // Door already opened, just show the offer // return; // } // Open new door openedDoors.add(day); saveOpenedDoors(); // Update the door visually const door = document.querySelector(`[data-day="${day}"]`); door.classList.remove('available'); door.classList.add('opened'); // Regenerate the door content generateCalendar(); updateProgress(); // Show offer after animation setTimeout(() => { showOffer(day); }, 600); } // Show offer modal function showOffer(day) { const offer = adventOffers.find(o => o.day === day); // const sound = audios.find(o => o.id === day); // const indicator = document.getElementById('sound-indicator'); // indicator.src = sound.sound; // indicator.play(); if (!offer) return; selectedDoor = day; // Update modal content const modal = document.getElementById('offer-modal'); const modalContent = modal.querySelector('.advent-modal-content'); // Set background gradient //modalContent.style.background = offer.color; document.getElementById('offer-emoji').innerHTML = offer.emoji; document.getElementById('offer-day-number').textContent = offer.dayNumber; document.getElementById('offer-title').innerHTML = offer.title; document.getElementById('offer-discount').textContent = offer.discount; document.getElementById('offer-description').textContent = offer.description; document.getElementById('offer-code').textContent = offer.code; document.querySelector('.modal-actions .hero-button').textContent = offer.linkText; document.querySelector('.modal-actions .hero-button').setAttribute('href', offer.link); document.querySelector('.offer-terms').innerHTML = offer.terms; if (!offer.codeUsed) { document.querySelector('.offer-code-box').classList.add('hide'); } else { document.querySelector('.offer-code-box').classList.remove('hide'); } if (offer.code === '') { document.querySelector('.offer-code-box').classList.add('vanish'); } else { document.querySelector('.offer-code-box').classList.remove('vanish'); } var c = document.createDocumentFragment(); for (var i=0; i<70; i++) { var startX = Math.random() * 100; var styles = 'left: ${startX}%;\ transform: translate3d(' + (random(500) - 250) + 'px, ' + (random(200) - 50) + 'px, 0) rotate(' + random(360) + 'deg);\ background: #DAB96A;\ animation: bang 1.5s ease-out forwards;\ opacity: 0'; var e = document.createElement("i"); e.style.cssText = styles.toString(); modalContent.appendChild(e); } var e = document.createElement("i"); document.querySelector(`[data-day="${day}"]`).appendChild(c); // Show modal modal.classList.add('show'); //copy code document.querySelector('.offer-code').addEventListener('click', function() { var copyText = document.querySelector('.offer-code'); navigator.clipboard.writeText( copyText.textContent ); document.querySelector('.offer-code-box').classList.add('copied'); setTimeout(function() { document.querySelector('.offer-code-box').classList.remove('copied'); }, 2000); }); } // Close offer modal function closeOffer() { const modal = document.getElementById('offer-modal'); modal.classList.remove('show'); selectedDoor = null; } // Update progress function updateProgress() { let count = document.querySelectorAll('.door-opened').length; if (count < 12 && count !== 0) { count = count + 1 } const percentage = (count / 12) * 100; document.getElementById('doors-opened').textContent = count; document.getElementById('progress-fill').style.width = percentage + '%'; document.getElementById('progress-sleigh').style.marginLeft = percentage + '%'; } // Play sound effect function playSound(soundType = 'door') { const indicator = document.getElementById('sound-indicator'); switch (soundType) { case 'door': indicator.src = "https://assets.mixkit.co/active_storage/sfx/2988/2988-preview.mp3"; indicator.play(); break; case 'bell': indicator.src = "https://assets.mixkit.co/active_storage/sfx/939/939-preview.mp3"; indicator.play(); break; case 'magic': indicator.src = "https://www.zapsplat.com/wp-content/uploads/2015/sound-effects-77317/zapsplat_human_santa_says_ho_ho_ho_merry_christmas_77682.mp3"; indicator.play(); break; default: indicator.src = "https://www.zapsplat.com/wp-content/uploads/2015/sound-effects-344-audio/344_audio_christmas_reindeer_approach_left_to_right_207.mp3"; indicator.play(); } } // Setup event listeners function setupEventListeners() { // Modal close button document.getElementById('modal-close').addEventListener('click', closeOffer); // Modal background click document.getElementById('offer-modal').addEventListener('click', function(e) { if (e.target === this) { closeOffer(); } }); // Escape key to close modal document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && selectedDoor) { closeOffer(); } }); }

How much does UK delivery cost?

Standard Delivery

FREE - when you spend over £49.99 or £3.99 for orders under £49.99

  • Delivery in 3-5 working days (excluding weekends and bank holidays)
  • Free delivery when you spend over £49.99 applies for UK mainland only

Next Day Delivery

£5.99 for all orders

  • Order by 7pm to receive delivery for the next working day (excluding weekends and bank holidays).
  • The Entertainer is closed on Sunday so orders placed before 2pm on Saturday for Next Day delivery will be with you on Monday. Orders placed after 2pm Saturday and on Sunday will be delivered to you on Tuesday.
  • Orders placed after 7pm will be delivered in 2 working days.
  • UK mainland only.
  • Next Day Delivery excludes online only and large sized items.

FREE Click & Collect

  • If your items are available in store, you can collect your order in as little as 30 minutes. 
  • Items that are not available in store will take 2-3 working days (excluding weekends and bank holidays) to be delivered to your nominated store.
  • Monday to Saturday during opening times.
  • You will be notified by email when your order is ready to collect from your chosen store

Just like the beloved original, this Optimus Prime Transformers figure converts from a robot to a truck model and back again.

Admire the 19 points of articulation in robot mode and open the chest chamber to store the Autobot Matrix of Leadership. Attach the jetpack in robot mode and place the ion blaster and Energon axe in the Autobot’s hands. Other authentic accessories include an Energon cube and optional waist panel. Add the plaque to display your passion for Transformers with pride. Spend quality time with premium LEGO model building kits for adults.

This set makes an immersive project for you or a top gift idea for anyone who loves Transformers collectibles. Welcome to your zone! Leader of the heroic Autobots. And now an impressive 2-in-1 LEGO build for Transformers fans. 

Product features: 

  • With this set, based on the legendary Transformers Autobot, adults build LEGO Optimus Prime figure that converts from robot to truck and back
  • Relive the Transformers saga with accessories, including the ion blaster, Autobot Matrix of Leadership, an Energon axe, Energon cube and jetpack
  • This LEGO Optimus Prime figure is part of a range of LEGO sets designed for adult builders, looking for their next immersive project
  • Open the robot model's chest chamber to store the Autobot Matrix of Leadership and admire the 19 points of articulation in robot mode
  • Attach the jetpack in robot mode and place the ion blaster and Energon axe in the legendary Autobot leader's hands
  • Suitable for ages 18 years + 

Specifications

    • Age:
  • Manufacturer:
  • Manufacturer Number:
  • Our Product Number:
  • Pieces:
  • Safety Information:

Reviews