Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function RandomizeMuts(seed){
- let extradiff = Number(prompt("Do you want the mutations to be easier or harder (negative = easier, positive = harder, leave 0 if you want to have them be somewhat balanced or whatever)"))
- M=Game.Objects.Farm.minigame;
- if(!seed) seed=Game.fullDate+"GR"+M.convertTimes;
- for(let i=0; i<M.plantsById.length; i++){
- M.plantsById[i].children=[]
- }
- Math.seedrandom(seed);
- let keys = Object.keys(M.plants);
- let availablePlants=[keys[0]];
- let mutations=[];
- let plantsLeft=keys.slice(1);
- while(plantsLeft.length>0){
- let plantID=Math.floor(Math.random()*plantsLeft.length);
- let plant=plantsLeft[plantID];
- plantsLeft.splice(plantID, 1);
- let avPlants=[...availablePlants];
- if(M.plants[plant].fungus||M.plants[plant].weed)
- {
- if(avPlants.includes('tidygrass'))avPlants.splice(avPlants.indexOf('tidygrass'),1);
- if(avPlants.includes('everdaisy'))avPlants.splice(avPlants.indexOf('everdaisy'),1);
- }
- availablePlants.push(plant);
- let muts=[];
- let maxNeighs=8;
- let p=10**((Math.random()-1)*(3+extradiff));
- while(avPlants.length>0&&(muts.length==0||Math.random()<0.8*(1+extradiff)/muts.length))
- {
- let xplantID=Math.floor(Math.random()*avPlants.length);
- let xplant=avPlants[xplantID];
- let count=Math.ceil(maxNeighs*((1-Math.random())**3));
- if(!M.plants[xplant].plantable) count=Math.min(count, 4);
- maxNeighs-=count;
- let mature = Math.random()<(0.9+extradiff/20)
- muts.push([count, xplant, mature]);
- avPlants.splice(xplantID, 1)
- M.plants[xplant].children.push(plant)
- }
- mutations.push({plant:plant, reqs:muts, chance: p})
- }
- return mutations
- }
- const mutations=RandomizeMuts()
- Game.Objects.Farm.minigame.getMuts=(All, Mature)=>{
- let muts = []
- for(let i=0; i<mutations.length; i++){
- let met=true;
- for(let a=0; a<mutations[i].reqs.length; a++){
- let req=mutations[i].reqs[a]
- if(!((!req[2]&&All[req[1]]>=req[0])||(Mature[req[1]]>=req[0])))met=false
- }
- if(met)muts.push([mutations[i].plant, mutations[i].chance])
- }
- return muts
- }
- Game.Objects.Farm.minigame.plants["meddleweed"].onKill=undefined;
- eval('Game.Objects.Farm.minigame.logic='+Game.Objects.Farm.minigame.logic.toString().replace("else if (loop==0)\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t//weeds in empty tiles (no other plants must be nearby)\r\n\t\t\t\t\t\t\t\t\t\tvar chance=0.002*weedMult*M.plotBoost[y][x][2];\r\n\t\t\t\t\t\t\t\t\t\tif (Math.random()<chance) M.plot[y][x]=[M.plants['meddleweed'].id+1,0];\r\n\t\t\t\t\t\t\t\t\t}",""))
Add Comment
Please, Sign In to add comment