Files
monkeygg2.github.io/games/planet-life/presentManager.js
T
2023-08-25 13:31:04 +05:30

124 lines
3.6 KiB
JavaScript

function present(navn,ID,image) {
this.navn = navn;
this.ID = ID;
this.image = image;
this.enabled = true;
}
var yourPresents = [];
function newPresent(navn,image) {
var hits = 0;
for (var i = 0; i < yourPresents.length; i++) {
if (yourPresents[i].navn == navn) {
hits++;
}
}
var newPresent = new present(navn,navn + hits,image);
yourPresents.push(newPresent);
}
//newPresent("small soft present","smallSoftPresent");
//newPresent("medium hard present","mediumHardPresent");
//newPresent("big massive present","bigMassivePresent");
function goOpenPresent(arrayNr) {
yourPresents[arrayNr].enabled = false;
var giftDelays = [];
if (state.impatientMode) {
giftDelays = [50,100];
} else {
giftDelays = [1500,2000];
}
changeScene("Let's open this bad boy",yourPresents[arrayNr].image);
setTimeout(function() {
playSound(soundEffect.explosion);
changeScene("GIFT EXPLOSION!!!","explosion");
},giftDelays[0]);
setTimeout(function() {
var prize = pickPrize(yourPresents[arrayNr]);
changeScene("You get " + prize.navn + "!! Yay",prize.img);
if (place == "newPresent") {
createButton("Well well",slotMachine);
} else if (place == "dungeonSummary") {
createGoButton("Well well","talk",backFromPresent,true);
} else {
createButton("Well well","talk",backFromGift);
}
},giftDelays[1]);
}
var prizes = [];
function prize(navn,image,availability,rarity,resource,amount) {
this.navn = navn;
this.img = image;
this.availability = availability;
this.rarity = rarity;
this.resource = resource;
this.amount = amount;
}
function newPrize(navn,image,availability,rarity,resource,amount) {
var newPrize = new prize(navn,image,availability,rarity,resource,amount);
prizes.push(newPrize);
}
function pickPrize(present) {
var presentAvailability = 0;
if (present.navn == "small soft present") {
availability = 3;
} else if (present.navn == "medium hard present") {
availability = 2;
} else if (present.navn == "big massive present") {
availability = 1;
}
var presentScores = [];
for (var i = 0; i < prizes.length; i++) {
if (prizes[i].availability <= availability) {
var score = prizes[i].rarity * Math.random();
presentScores.push(score);
} else {
presentScores.push(0);
}
}
var highscore = 0;
var magicNumber = 0;
for (var i = 0; i < prizes.length; i++) {
if (presentScores[i] > highscore) {
highscore = presentScores[i];
magicNumber = i;
}
}
if (prizes[magicNumber].resource == "wood") {
updateState('wood', state.wood + prizes[magicNumber].amount);
} else if (prizes[magicNumber].resource == "coco") {
updateState('coco', state.coco + prizes[magicNumber].amount);
} else if (prizes[magicNumber].resource == "gold") {
updateState('gold', state.gold + prizes[magicNumber].amount);
} else if (prizes[magicNumber].resource == "stardust") {
updateState('stardust', state.stardust + prizes[magicNumber].amount);
}
return prizes[magicNumber];
}
newPrize("150 wood","wood",3,10,"wood",150);
newPrize("300 wood","wood",3,8,"wood",300);
newPrize("1000 wood","wood",2,6,"wood",1000);
newPrize("150 coco","coco",3,10,"coco",150);
newPrize("300 coco","coco",3,8,"coco",300);
newPrize("1000 coco","coco",2,6,"coco",1000);
newPrize("50 gold","gold",3,8,"gold",50);
newPrize("100 gold","gold",2,6,"gold",100);
newPrize("500 gold","gold",1,3,"gold",500);
newPrize("1000 gold","gold",1,1,"gold",1000);
newPrize("1 stardust","stardust",3,8,"stardust",1);
newPrize("1 stardust","stardust",3,8,"stardust",1);
newPrize("3 stardust","stardust",2,5,"stardust",3);
newPrize("10 stardust","stardust",1,3,"stardust",10);
newPrize("30 stardust","stardust",1,1,"stardust",30);