@@ -16,12 +16,6 @@ function getContrastYIQ(hexcolor) {
1616 var yiq = ( r * 299 + g * 587 + b * 114 ) / 1000 ;
1717 return yiq >= 128 ? "black" : "white" ;
1818}
19-
20- function isEggUnlocked ( eggId ) {
21- // Returns true if the ID exists in the array, false otherwise
22- return unlockedEggs . includes ( eggId ) ;
23- }
24-
2519/**
2620 * 1. RETRO SOUND ENGINE
2721 */
@@ -263,25 +257,6 @@ window.createFloatingXP = function (e) {
263257 setTimeout ( ( ) => popup . remove ( ) , 800 ) ;
264258} ;
265259
266- // Re-attach listeners to your skill tags
267- function attachSkillListeners ( ) {
268- const skillTags = document . querySelectorAll ( ".skill-tag" ) ; // Use your actual class name
269- skillTags . forEach ( ( tag ) => {
270- // Use 'mouseenter' for a clean single-pop on hover
271- tag . addEventListener ( "mouseenter" , createXPPopup ) ;
272- } ) ;
273- }
274-
275- function unlockEgg ( eggId ) {
276- if ( ! unlockedEggs . includes ( eggId ) ) {
277- unlockedEggs . push ( eggId ) ;
278- localStorage . setItem ( "unlockedEggs" , JSON . stringify ( unlockedEggs ) ) ;
279- playSound ( "levelUp" ) ;
280- showLevelUpNotification ( unlockedEggs . length ) ;
281- updateGameUI ( ) ;
282- }
283- }
284-
285260function handleLevelClick ( ) {
286261 triggerSecretUnlock ( "badge_click" ) ;
287262}
@@ -412,19 +387,6 @@ function triggerMagicXP() {
412387 addExperience ( 50 ) ;
413388}
414389
415- // Visual Effect for Level 101+
416- function triggerForceEffects ( ) {
417- const badge = document . getElementById ( "level-badge" ) ;
418- if ( badge ) {
419- badge . classList . add ( "force-glow" ) ;
420- // Remove after 2 seconds unless it's a persistent rank
421- setTimeout ( ( ) => badge . classList . remove ( "force-glow" ) , 5000 ) ;
422- console . log ( "Trigger Force Effects" ) ;
423- } else {
424- console . log ( "Badge not found" ) ;
425- }
426- }
427-
428390function triggerSecretUnlock ( type ) {
429391 const eggId = `secret_${ type } ` ;
430392
@@ -450,11 +412,16 @@ function triggerSecretUnlock(type) {
450412 // Assign XP based on difficulty
451413 if ( type === "konami" ) {
452414 addExperience ( 500 ) ; // Massive bonus for the long code
453- } else if ( type === "gravity" || type === "matrix" ) {
454- addExperience ( 45 ) ; // 1 full level
415+ } else if ( type === "gravity" ) {
416+ addExperience ( 250 ) ; // 1 full level
455417 } else if ( type === "pulse" ) {
456418 addExperience ( 180 ) ; // 4 levels
419+ } else if ( type === "footer_surge" ) {
420+ addExperience ( 1000 ) ; // 4 levels
421+ } else if ( type === "badge_click" ) {
422+ addExperience ( 45 ) ; // 4 levels
457423 } else {
424+ // matrix
458425 addExperience ( 75 ) ; // 2 full levels
459426 }
460427
@@ -1243,13 +1210,14 @@ function handleFooterDotClick() {
12431210 const ping = document . getElementById ( "footer-dot-ping" ) ;
12441211
12451212 if ( clicks >= 10 ) {
1246- // Trigger the main function
1247- triggerForceSurge ( ) ;
1248-
12491213 // 3. Update the global unlockedEggs array
1250- unlockedEggs . push ( "footer_surge" ) ;
1251- localStorage . setItem ( "unlockedEggs" , JSON . stringify ( unlockedEggs ) ) ;
1214+ if ( ! unlockedEggs . includes ( "secret_footer_surge" ) ) {
1215+ // Trigger the main function
1216+ triggerForceSurge ( ) ;
12521217
1218+ unlockedEggs . push ( "secret_footer_surge" ) ;
1219+ localStorage . setItem ( "unlockedEggs" , JSON . stringify ( unlockedEggs ) ) ;
1220+ }
12531221 // Cleanup temporary click counter
12541222 localStorage . removeItem ( "footerDotClicks" ) ;
12551223
@@ -1297,8 +1265,6 @@ window.addEventListener("DOMContentLoaded", () => {
12971265document . addEventListener ( "DOMContentLoaded" , ( ) => {
12981266 const devToolsVisible = localStorage . getItem ( "devToolsVisible" ) === "true" ;
12991267 const devPanel = document . getElementById ( "dev-tools" ) ;
1300- // Add this to your initialization script
1301- let skillHoverCount = 0 ;
13021268
13031269 if ( devToolsVisible && devPanel ) {
13041270 devPanel . classList . remove ( "hidden" ) ;
0 commit comments