let animal; while(document.title === 'BRB - Obchod'||document.title === 'BRB - Shop'){ //! Shopdope } addEventListener('scroll', () => { if(document.title === 'BRB - Obchod'||document.title === 'BRB - Shop'){ if(window.scrollY >= 460){ document.querySelector('.upwards').classList.add('active'); }else{ document.querySelector('.upwards').classList.remove('active'); } } }) //* DISPLAYING THE GENERATION OF CLICKS function displayClickGen(animal, make, upgrade, number){ const animalElement = document.querySelector(`#${animal}Make`); if(animalElement){ animalElement.innerHTML = `
+${fornum(make*upgrade*number*bigredbutton.settings.prestige)}/s`;
  }
}

function loadShop(){
  animal = bigredbutton.items.animals;

  if(navigator.language == 'cs' || navigator.language == 'cs-CZ'){
    document.querySelector('#disclick').innerHTML=`
Máš ${fornum(bigredbutton.items.special[0].number)} kliků`;
    document.querySelector('#clickMake').innerHTML = `+${fornum(cs)}/s`

    //* DISPLAYING THE NUMBER OF ANIMALS
    function czechDisplayAnimal(animal, number){
      const animalElement = document.querySelector(`#dis${animal}`);

      if(animalElement){
          animalElement.innerHTML = `Máš jich ${fornum(number)}`;
      }
    }

    bigredbutton.items.animals.forEach(({ name, number }) => {
      czechDisplayAnimal(name, number);
    });


    //* DISPLAYING THE COST OF ANIMAL BUY
    function purchaseTextCzech(animal, text = null){
      const animalElement = document.querySelector(`#${animal}1`);
  
      if(animalElement){
          if(text){
              animalElement.innerHTML = text;
          }else{
              animalElement.innerHTML = `${animal}`;
          }
      }
    }

    const purchases = [
      { id: 'dog', text: 'Kup za 100 kliků' },
      { id: 'cat', text: 'Kup za 10 psů' },
      { id: 'fox', text: 'Kup za 15 psů' },
      { id: 'wolf', text: 'Kup za:
5 lišek a 6 psů' }, { id: 'hamster', text: 'Kup za:
1 vlka a 2 kočky' }, { id: 'whale', text: 'Kup za:
2 vlky a 1 křečeka' }, { id: 'capybara', text: 'Kup za:
1 velrybu a 4 koček' }, { id: 'snake', text: 'Kup za:
1 kapybaru a 4 lišky' }, { id: 'cheetah', text: 'Kup za:
2 hady a 20 psů' }, { id: 'giraffe', text: 'Kup za:
1 geparda a 2 velryby' }, { id: 'otter', text: 'Kup za:
2 žirafy a 3 hady' }, { id: 'racoon', text: 'Kup za:
1 vydru a 4 kapybary' }, { id: 'badger', text: 'Kup za:
1 mývala a 6 křečeků' }, { id: 'squirrel', text: 'Kup za:
1 jezevce a 2 gepardy' }, { id: 'chameleon', text: 'Kup za:
1 veverku a 2 vydry'}, { id: 'chicken', text: 'Kup za:
1 chameleóna a 4 žirafy' }, { id: 'wombat', text: 'Kup za:
1 slepici a 6 velryb' }, { id: 'frog', text: 'Kup za:
1 vombata a 1 chameleóna' }, { id: 'pig', text: 'Kup za:
2 žáby a 5 mývalů' }, { id: 'seal', text: 'Kup za:
2 prasata a 10 lišek' } ]; function getPurchaseTextCzech(animalName){ const purchase = purchases.find(p => p.id === animalName); return purchase ? purchase.text : null; } //? Updating animal names from bigredbutton.items.animals with purchase text bigredbutton.items.animals.forEach(({ name }) => { const text = getPurchaseTextCzech(name); purchaseTextCzech(name, text); }); //* DISPLAYING THE COST OF ANIMAL BUY animal.forEach(a => { const animalId = `dis${a.name}Name`; const animalElement = document.getElementById(animalId); if(animalElement){ animalElement.innerHTML = transtaleAnimalName(a.name); } }); function transtaleAnimalName(animalName){ const translation = { dog: 'Psi', cat: 'Kočky', fox: 'Lišky', wolf: 'Vlci', hamster: 'Křečci', whale: 'Velryby', capybara: 'Kapybary', snake: 'Hadi', cheetah: 'Gepardi', giraffe: 'Žirafy', otter: 'Vydry', racoon: 'Mývalové', badger: 'Jezevci', squirrel: 'Veverky', chameleon: 'Chameleóni', chicken: 'Slepice', wombat: 'Wombati', frog: 'Žáby', pig: 'Prasata', seal: 'Tuleni', }; return translation[animalName] || animalName; } /* dislem `Máš fornum citrónů!` dislt3 `Máš fornum citronovníků!
Tvořící fornum citrónů
za 100 sec.` dislemName.innerHTML=`Citróny` dislt3Name.innerHTML=`Citrónovníky` lm1.innerHTML = 'Kup za 20 koček' lt1.innerHTML = 'Kup za 5 citrónů' */ //* BUYING FOR CLICKS DISPLAY function czechClickDisplay(animal, cost){ const animalElement = document.querySelector(`#C${animal}1`); if(animalElement){ animalElement.innerHTML = `Kup za ${fornum(cost)} kliků!`; } } bigredbutton.items.animals.forEach(({ name , cost }) => { czechClickDisplay(name, cost); }); }else{ document.querySelector('#disclick').innerHTML=`You've got ${fornum(bigredbutton.items.special[0].number)} clicks`; document.querySelector('#clickMake').innerHTML = `+${fornum(cs)}/s`; //* DISPLAYING THE NUMBER OF ANIMALS function displayAnimal(animal, number){ const animalElement = document.querySelector(`#dis${animal}`); if(animalElement){ animalElement.innerHTML = `You've got ${fornum(number)}`; } } bigredbutton.items.animals.forEach(({ name, number }) => { displayAnimal(name, number); }); //* DISPLAYING THE NUMBER OF ANIMALS function displayAnimalName(animal){ const animalElement = document.querySelector(`#dis${animal}Name`); if(animalElement){ animalElement.innerHTML = `${animal}`; } } bigredbutton.items.animals.forEach(({ name }) => { displayAnimalName(name); }); //* DISPLAYING THE COST OF ANIMAL BUY function purchaseText(animal, text = null){ const animalElement = document.querySelector(`#${animal}1`); if(animalElement){ if(text){ animalElement.innerHTML = text; }else{ animalElement.innerHTML = `${animal}`; } } } const purchases = [ { id: 'dog', text: 'Buy for 100 clicks' }, { id: 'cat', text: 'Buy for 10 dogs' }, { id: 'fox', text: 'Buy for 15 dogs' }, { id: 'wolf', text: 'Buy for:
5 foxes and 6 dogs' }, { id: 'hamster', text: 'Buy for:
1 wolf and 2 cats' }, { id: 'whale', text: 'Buy for:
2 wolfs and 1 hamster' }, { id: 'capybara', text: 'Buy for:
1 whale and 4 cats' }, { id: 'snake', text: 'Buy for:
1 capybara and 4 foxes' }, { id: 'cheetah', text: 'Buy for:
2 snakes and 20 dogs' }, { id: 'giraffe', text: 'Buy for:
1 cheetah and 2 whales' }, { id: 'otter', text: 'Buy for:
2 giraffes and 3 snakes' }, { id: 'racoon', text: 'Buy for:
1 otter and 4 capybaras' }, { id: 'badger', text: 'Buy for:
1 racoon and 6 hamsters' }, { id: 'squirrel', text: 'Buy for:
1 badger and 2 cheetahs' }, { id: 'chameleon', text: 'Buy for:
1 squirrel and 2 otters'}, { id: 'chicken', text: 'Buy for:
1 chameleon and 4 giraffes' }, { id: 'wombat', text: 'Buy for:
1 chicken and 6 whales' }, { id: 'frog', text: 'Buy for:
1 wombat and 1 chameleon' }, { id: 'pig', text: 'Buy for:
2 frogs and 5 racoons' }, { id: 'seal', text: 'Buy for:
2 pigs and 10 foxes' } ]; function getPurchaseText(animalName){ const purchase = purchases.find(p => p.id === animalName); return purchase ? purchase.text : null; } //? Updating animal names from bigredbutton.items.animals with purchase text bigredbutton.items.animals.forEach(({ name }) => { const text = getPurchaseText(name); purchaseText(name, text); }); //* BUYING FOR CLICKS DISPLAY function internationalClicksDisplay(animal, cost){ const animalElement = document.querySelector(`#C${animal}1`); if(animalElement){ animalElement.innerHTML = `Buy for ${fornum(cost)} clicks!`; } } bigredbutton.items.animals.forEach(({ name , cost }) => { internationalClicksDisplay(name, cost); }); } /* dislem.innerHTML= `You have ${fornum(items.lemons)}!` dislt3.innerHTML= `You have ${fornum(items.lt3)}!
Generating ${fornum((items.lt3*items.pres))} Lemons
every 100 sec.` dislemName.innerHTML=`Lemons` dislt3Name.innerHTML=`Lemon Trees` lm1.innerHTML = 'Buy for 20 cats' lt1.innerHTML = 'Buy for 5 lemons'*/ bigredbutton.items.animals.forEach(({ name , make , upgrade , number}) => { displayClickGen(name, make, upgrade, number); }); } // uploadShop function uploadShop(){update();loadShop();} /*                _____ _               / ____| | |              | (___ | |__ ___   _ __               \___ \ | '_ \ / _ \ | '_ \               ____) | | | | | | (_) | | |_) |              |_____/ |_| |_| \___/ | .__/                                        | |                                        |_| */ function numHis(animalIndex, num){ animal[animalIndex].number += num; animal[animalIndex].history += num; } function buyAnimal(animalName, conditions, amount = 1){ const animalIndex = animal.findIndex(a => a.name === animalName); if(animalIndex === -1) return; //? Error 404: Animal //? Calcs the max you can buy let maxAffordable = Infinity; for(const [item, requiredAmount] of Object.entries(conditions)){ const resourceIndex = animal.findIndex(a => a.name === item); if(resourceIndex === -1) return; //? Requirement doesn't exist const availableAmount = animal[resourceIndex].number; const affordableByThisResource = Math.floor(availableAmount/requiredAmount); //? What limits you maxAffordable = Math.min(maxAffordable, affordableByThisResource); } //? Was 'max' used? const buyAmount = (amount === 'max') ? maxAffordable : Math.min(amount, maxAffordable); if(buyAmount === 0) return; //? Broke for(const [item, requiredAmount] of Object.entries(conditions)){ const resourceIndex = animal.findIndex(a => a.name === item); animal[resourceIndex].number -= requiredAmount * buyAmount; } numHis(animalIndex, buyAmount); uploadShop(); } function buycat(){buyAnimal('cat',{ dog: 10 });} function mxCcat(){buyAnimal('cat',{ dog: 10 }, 'max');} function buyfox(){buyAnimal('fox',{ dog: 15 });} function mxCfox(){buyAnimal('fox',{ dog: 15 }, 'max');} function buywolf(){buyAnimal('wolf',{ dog: 6, fox: 5 });} function mxCwolf(){buyAnimal('wolf',{ dog: 6, fox: 5 }, 'max');} function buyhamster(){buyAnimal('hamster',{ wolf: 1, cat: 2 });} function mxChamster(){buyAnimal('hamster',{ wolf: 1, cat: 2 }, 'max');} function buywhale(){buyAnimal('whale', { wolf: 2, hamster: 1});} function mxCwhale(){buyAnimal('whale', { wolf: 2, hamster: 1}, 'max');} function buycapybara(){buyAnimal('capybara', { whale: 1, cat: 4});} function mxCcapybara(){buyAnimal('capybara', { whale: 1, cat: 4}, 'max');} function buysnake(){buyAnimal('snake', { capybara: 1, fox: 4 });} function mxCsnake(){buyAnimal('snake', { capybara: 1, fox: 4 }, 'max');} function buycheetah(){buyAnimal('cheetah', { snake: 2, dog: 20 });} function mxCcheetah(){buyAnimal('cheetah', { snake: 2, dog: 20 }, 'max');} function buygiraffe(){buyAnimal('giraffe', { cheetah: 1, whale: 2 });} function mxCgiraffe(){buyAnimal('giraffe', { cheetah: 1, whale: 2 }, 'max');} function buyotter(){buyAnimal('otter', { giraffe: 2, snake: 3 });} function mxCotter(){buyAnimal('otter', { giraffe: 2, snake: 3 }, 'max');} function buyracoon(){buyAnimal('racoon', { otter: 1, capybara: 4 });} function mxCracoon(){buyAnimal('racoon', { otter: 1, capybara: 4 }, 'max');} function buybadger(){buyAnimal('badger', { racoon: 1, hamster: 6 });} function mxCbadger(){buyAnimal('badger', { racoon: 1, hamster: 6 }, 'max');} function buysquirrel(){buyAnimal('squirrel', { badger: 1, cheetah: 2 });} function mxCsquirrel(){buyAnimal('squirrel', { badger: 1, cheetah: 2 }, 'max');} function buychameleon(){buyAnimal('chameleon', { squirrel: 1, otter: 2 });} function mxCchameleon(){buyAnimal('chameleon', { squirrel: 1, otter: 2 }, 'max');} function buychicken(){buyAnimal('chicken', { chameleon: 1, giraffe: 4 });} function mxCchicken(){buyAnimal('chicken', { chameleon: 1, giraffe: 4 }, 'max');} function buywombat(){buyAnimal('wombat', { chicken: 1, whale: 6 });} function mxCwombat(){buyAnimal('wombat', { chicken: 1, whale: 6 }, 'max');} function buyfrog(){buyAnimal('frog', { wombat: 1, chameleon: 1 });} function mxCfrog(){buyAnimal('frog', { wombat: 1, chameleon: 1 }, 'max');} function buypig(){buyAnimal('pig', { frog: 2, racoon: 5 });} function mxCpig(){buyAnimal('pig', { frog: 2, racoon: 5 }, 'max');} function buyseal(){buyAnimal('seal', { pig: 2, fox: 10 });} function mxCseal(){buyAnimal('seal', { pig: 2, fox: 10 }, 'max');} /*  _ | | | | | | | |__ |____| */ function buylemom(){ return; if(items.cats>=20){ items.cats-=20; items.lemons+=1; } uploadShop(); } function mxlemon(){ return; let RanLemCost = 20;////Math.floor(Math.random()*100); const amount = Math.floor(items.cats/RanLemCost) items.cats -= amount*RanLemCost items.lemons += amount uploadShop(); } function buylt3(){ return; if(items.lemons>=5){ items.lemons-=5; items.lt3+=1; } uploadShop(); } function mxlt(){ return; const amount = Math.floor(items.lemons/5) items.lemons -= amount*5 items.lt3 += amount uploadShop() } /* SHOPPING WITH ONLY                _____ _ _ _               / ____| | | (_) | |              | | | | _ ___ | | __ ___              | | | | | | / __| | |/ / / __|              | |____ | | | | | (__ | < \__ \               \_____| |_| |_| \___| |_|\_\ |___/ */ function buyAnimalWithClicks(animalName, amount = 1){ const animal = bigredbutton.items.animals.find(a => a.name === animalName); const clicksAvailable = bigredbutton.items.special[0].number; //Clicks const costInClicks = animal?.cost; //? optional chaining. It is used to safely access properties of an object that might be null or undefined. if(animal){ const maxAffordable = Math.floor(clicksAvailable/costInClicks); //? If amount is 'max' use maxAffordable const buyAmount = (amount === 'max') ? maxAffordable : Math.min(amount, maxAffordable); if(buyAmount >= 0){ const totalCost = costInClicks * buyAmount; bigredbutton.items.special[0].number -= totalCost; numHis(bigredbutton.items.animals.indexOf(animal), buyAmount); uploadShop(); }else{ console.log(`Not enough clicks to buy ${amount} ${animalName}(s).`); } }else{ console.log(`Animal not found: ${animalName}`); } } // dog function buydog(){buyAnimalWithClicks('dog');} function mxdog(){buyAnimalWithClicks('dog', 'max')} // cat function buyCcat(){buyAnimalWithClicks('cat')} function mxcat(){buyAnimalWithClicks('cat', 'max')} // fox function buyCfox(){buyAnimalWithClicks('fox')} function mxfox(){buyAnimalWithClicks('fox', 'max')} // wolf function buyCwolf(){buyAnimalWithClicks('wolf')} function mxwolf(){buyAnimalWithClicks('wolf', 'max')} // hamster function buyChamster(){buyAnimalWithClicks('hamster')} function mxhamster(){buyAnimalWithClicks('hamster', 'max')} // whale function buyCwhale(){buyAnimalWithClicks('whale')} function mxwhale(){buyAnimalWithClicks('whale', 'max')} // cappybarra function buyCcapybara(){buyAnimalWithClicks('capybara')} function mxcapybara(){buyAnimalWithClicks('capybara', 'max')} // Snuk function buyCsnake(){buyAnimalWithClicks('snake')} function mxsnake(){buyAnimalWithClicks('snake', 'max')} // Chetuch function buyCcheetah(){buyAnimalWithClicks('cheetah')} function mxcheetah(){buyAnimalWithClicks('cheetah', 'max')} // Gurllaf function buyCgiraffe(){buyAnimalWithClicks('giraffe')} function mxgiraffe(){buyAnimalWithClicks('giraffe', 'max')} // Other space function buyCotter(){buyAnimalWithClicks('otter')} function mxotter(){buyAnimalWithClicks('otter', 'max')} // C rac function buyCracoon(){buyAnimalWithClicks('racoon')} function mxracoon(){buyAnimalWithClicks('racoon', 'max')} // bad function buyCbadger(){buyAnimalWithClicks('badger')} function mxbadger(){buyAnimalWithClicks('badger', 'max')} // squirt function buyCsquirrel(){buyAnimalWithClicks('squirrel')} function mxsquirrel(){buyAnimalWithClicks('squirrel', 'max')} // cha cha function buyCchameleon(){buyAnimalWithClicks('chameleon')} function mxchameleon(){buyAnimalWithClicks('chameleon', 'max')} // chimken function buyCchicken(){buyAnimalWithClicks('chicken')} function mxchicken(){buyAnimalWithClicks('chicken', 'max')} // Write Only Memory function buyCwombat(){buyAnimalWithClicks('wombat')} function mxwombat(){buyAnimalWithClicks('wombat', 'max')} // fjog function buyCfrog(){buyAnimalWithClicks('frog')} function mxfrog(){buyAnimalWithClicks('frog', 'max')} // TECHNOBLADE function buyCpig(){buyAnimalWithClicks('pig')} function mxpig(){buyAnimalWithClicks('pig', 'max')} // Seal of approval function buyCseal(){buyAnimalWithClicks('seal')} function mxseal(){buyAnimalWithClicks('seal', 'max')} // 892 před V46 | 1160 ve V46