2009scape-website/site/candybox/scripts/buttons.js
2020-11-29 20:55:42 -05:00

401 lines
15 KiB
JavaScript

var buttons = {
// Variables
homeButtonsDisabled : false, // Block any enabling home button process when true
// Functions
enableHomeButtons : function(){
if(this.homeButtonsDisabled == true){
this.homeButtonsDisabled = false;
htmlInteraction.enableButtonClass("home_button");
this.checkHomeEnabled();
}
},
enableButton : function(name){
// If the home buttons are enabled or our button isn't a home button
if(this.homeButtonsDisabled == false || htmlInteraction.getElement(name).className != "home_button"){
htmlInteraction.enableButton(name);
}
},
checkEatAndThrowButtons : function(){
// Show the eat button
if(candies.nbrOwned >= 1){
htmlInteraction.showButton("eat");
this.enableButton("eat");
}
else htmlInteraction.disableButton("eat");
// Show the throw button
if(candies.nbrOwned >= 10){
htmlInteraction.showButton("throw_10");
this.enableButton("throw_10");
}
else htmlInteraction.disableButton("throw_10");
},
checkHomeEnabled : function(){
this.checkEatAndThrowButtons();
this.checkQuestBuyingButtons();
this.checkEncrustSwordButton();
this.checkPolishSwordButton();
this.checkCoatSwordButton();
this.checkLollipopsStockShortage();
this.checkObjects();
this.checkLollipopsPlantingButtons();
this.checkQuestTiredTime();
},
checkCandies : function(){
this.checkEatAndThrowButtons();
this.checkQuestBuyingButtons();
this.checkEncrustSwordButton();
this.checkLollipopsStockShortage();
this.checkWishingWell();
},
checkSword : function(){
this.checkQuestBuyingButtons();
this.checkEncrustSwordButton();
this.checkPolishSwordButton();
this.checkCoatSwordButton();
this.checkTabPanel();
},
checkTabPanel : function(){
// If we have a sword
if(sword.name != "none"){
// We enable the tab bar
htmlInteraction.setElementDisplay("tabBar", "");
// And we enable some tabs
tabs.enable(0);
tabs.enable(1);
tabs.enable(2);
// And we show the switch tabs button
htmlInteraction.showButtonClass("toggle");
}
},
checkQuestBuyingButtons : function(){
// Enable/disable quest buying buttons (show/hide is handle by sword&shop algorithms)
// Swords
if(shop.currentSwordButtonId != "none"){ // If the merchant is selling a sword right now
if(candies.nbrOwned >= shop.currentSwordPrice) this.enableButton(shop.currentSwordButtonId);
else htmlInteraction.disableButton(shop.currentSwordButtonId);
}
// Potions & scrolls
if(candies.nbrOwned >= 600) this.enableButton("buy_health_potion");
else htmlInteraction.disableButton("buy_health_potion");
if(candies.nbrOwned >= 150) this.enableButton("buy_escape_potion");
else htmlInteraction.disableButton("buy_escape_potion");
if(candies.nbrOwned >= 400) this.enableButton("buy_scroll");
else htmlInteraction.disableButton("buy_scroll");
},
checkEncrustSwordButton : function(){
// Show the encrust the diamond sword button
if(candies.nbrOwned >= 101 && sword.name == "diamond sword"){
htmlInteraction.showButton("encrust");
this.enableButton("encrust");
htmlInteraction.setElementDisplay("encrust", "inline");
htmlInteraction.setElementDisplay("polish", "none");
htmlInteraction.setElementDisplay("coat", "none");
}
else htmlInteraction.disableButton("encrust");
},
checkPolishSwordButton : function(){
// Show the polish the diamond sword button
if(lollipops.nbrOwned >= 30 && sword.name == "candy diamond sword"){
htmlInteraction.showButton("polish");
this.enableButton("polish");
htmlInteraction.setElementDisplay("encrust", "none");
htmlInteraction.setElementDisplay("polish", "inline");
htmlInteraction.setElementDisplay("coat", "none");
}
else htmlInteraction.disableButton("polish");
},
checkLollipops : function(){
this.checkPolishSwordButton();
this.checkLollipopsPlantingButtons();
this.checkHut();
this.checkLollipopsStockShortage();
this.checkComputer();
},
checkComputer : function(){
if(lollipops.nbrOwned >= 1000000){
htmlInteraction.showButton("computer_bug_1");
htmlInteraction.showButton("computer_comment_1");
}
else{
htmlInteraction.hideButton("computer_bug_1");
}
if(lollipops.nbrOwned >= 10000000){
htmlInteraction.showButton("computer_bug_2");
htmlInteraction.showButton("computer_comment_2");
}
else{
htmlInteraction.hideButton("computer_bug_2");
}
if(lollipops.nbrOwned >= 100000000){
htmlInteraction.showButton("computer_bug_3");
htmlInteraction.showButton("computer_comment_3");
}
else{
htmlInteraction.hideButton("computer_bug_3");
}
if(lollipops.nbrOwned >= 1000000000){
htmlInteraction.showButton("computer_bug_4");
htmlInteraction.showButton("computer_comment_4");
}
else{
htmlInteraction.hideButton("computer_bug_4");
}
if(lollipops.nbrOwned >= 10000000000){
htmlInteraction.showButton("computer_bug_5");
htmlInteraction.showButton("computer_comment_5");
htmlInteraction.showButton("computer_note");
}
else{
htmlInteraction.hideButton("computer_bug_5");
}
if(lollipops.nbrOwned >= 100000000000) htmlInteraction.showButton("computer_bug_6");
else htmlInteraction.hideButton("computer_bug_6");
if(lollipops.nbrOwned >= 1000000000000) htmlInteraction.showButton("computer_bug_7");
else htmlInteraction.hideButton("computer_bug_7");
if(lollipops.nbrOwned >= 10000000000000) htmlInteraction.showButton("computer_bug_8");
else htmlInteraction.hideButton("computer_bug_8");
},
checkCoatSwordButton : function(){
// Show the coat the diamond blbl sword button
if(chocolateBars.nbrOwned >= 1 && sword.name == "polished candy diamond sword"){
htmlInteraction.showButton("coat");
this.enableButton("coat");
htmlInteraction.setElementDisplay("encrust", "none");
htmlInteraction.setElementDisplay("polish", "none");
htmlInteraction.setElementDisplay("coat", "inline");
}
else htmlInteraction.disableButton("coat");
},
checkChocolateBars : function(){
this.checkCoatSwordButton();
},
checkLollipopsStockShortage : function(){
// If the shop is shown
if(shop.shown){
// If there's a lollipops stock shortage
if(lollipops.stockShortage == true){
// We show the stock shortage and hide the buttons used to buy lollipops
htmlInteraction.setElementVisibility("lollipops_stock_shortage", true);
htmlInteraction.hideButton("buy_1_lollipop");
htmlInteraction.hideButton("buy_10_lollipops");
}
// Else, no lollipops stock shortage
else{
// We don't show the stock shortage
htmlInteraction.setElementVisibility("lollipops_stock_shortage", false);
// We show and maybe enable the button to buy one lollipop
htmlInteraction.showButton("buy_1_lollipop");
if(candies.nbrOwned >= shop.oneLollipopPrice) this.enableButton("buy_1_lollipop");
else htmlInteraction.disableButton("buy_1_lollipop");
// We maybe show and maybe enable the button to buy 500 lollipops
if(candies.nbrOwned >= shop.tenLollipopsPrice || shop.buy10LollipopsButtonShown){
shop.setBuy10LollipopsButtonShown(true);
if(htmlInteraction.isElementVisible("buy_10_lollipops") == false){ // If it wasn't shown yet
htmlInteraction.showButton("buy_10_lollipops");
shop.setMerchantSpeech("There's now a discount for 10 lollipops! Buy them please.. I need candiiiies!");
}
this.enableButton("buy_10_lollipops");
}
if(candies.nbrOwned < shop.tenLollipopsPrice) htmlInteraction.disableButton("buy_10_lollipops");
}
}
},
checkObjects : function(){
// Show the button to go to the swamp map
if(objects.list.swampMap.have){
htmlInteraction.setElementDisplay("go_to_swamp", "block");
htmlInteraction.showButton("go_to_swamp");
this.enableButton("go_to_swamp");
}
// Show the button to go to the hut
if(objects.list.hutMap.have){
htmlInteraction.setElementDisplay("go_to_hut", "block");
htmlInteraction.showButton("go_to_hut");
this.enableButton("go_to_hut");
}
// Show the button to go to the wishing well
if(objects.list.wellMap.have){
htmlInteraction.setElementDisplay("go_to_well", "block");
htmlInteraction.showButton("go_to_well");
this.enableButton("go_to_well");
}
// Show the button to go to the forge
if(objects.list.forgeMap.have){
htmlInteraction.setElementDisplay("go_to_forge", "block");
htmlInteraction.showButton("go_to_forge");
this.enableButton("go_to_forge");
}
// Check the farm visibility
farm.checkVisibility();
// Check some farm's buttons
this.checkLollipopsPlantingButtons();
// Check the candies converter visibility
candiesConverter.checkVisibility();
// Check the cauldron visibility
cauldron.checkVisibility();
},
checkLollipopsPlantingButtons : function(){
// If we have the key of the lollipop farm
if(objects.list.key.have){
// innerHtml of the lp_buttons span
// Plant 1000 button
if(lollipops.nbrOwned >= 1000 && farm.plantingButtonsStep < 4){
farm.setPlantingButtonsStep(4);
}
// Plant 100 button
else if(lollipops.nbrOwned >= 100 && farm.plantingButtonsStep < 3){
farm.setPlantingButtonsStep(3);
}
// Plant 10 button
else if(lollipops.nbrOwned >= 10 && farm.plantingButtonsStep < 2){
farm.setPlantingButtonsStep(2);
}
// Plant 1 button
else if(farm.plantingButtonsStep < 1){
farm.setPlantingButtonsStep(1);
}
// Buttons activation
// Plant 1000 button
if(farm.plantingButtonsStep >= 4){
htmlInteraction.showButton("plant_1000_lp");
if(lollipops.nbrOwned >= 1000){
this.enableButton("plant_1000_lp");
}
else htmlInteraction.disableButton("plant_1000_lp");
}
// Plant 100 button
if(farm.plantingButtonsStep >= 3){
htmlInteraction.showButton("plant_100_lp");
if(lollipops.nbrOwned >= 100){
this.enableButton("plant_100_lp");
}
else htmlInteraction.disableButton("plant_100_lp");
}
// Plant 10 button
if(farm.plantingButtonsStep >= 2){
htmlInteraction.showButton("plant_10_lp");
if(lollipops.nbrOwned >= 10){
this.enableButton("plant_10_lp");
}
else htmlInteraction.disableButton("plant_10_lp");
}
// Plant 1 button
if(farm.plantingButtonsStep >= 1){
htmlInteraction.showButton("plant_1_lp");
if(lollipops.nbrOwned >= 1){
this.enableButton("plant_1_lp");
}
else htmlInteraction.disableButton("plant_1_lp");
}
}
},
checkQuestTiredTime : function(){
// Buttons related to the quest tired time
if(quest.tiredTime == 0 && quest.weAreQuestingRightNow == false) this.enableButton("quest_button");
else htmlInteraction.disableButton("quest_button");
},
checkHut : function(){
if(hut.shown){
switch(hut.step){
case 0:
htmlInteraction.showButton("hut_throw_lollipops");
if(lollipops.nbrOwned >= 10){
this.enableButton("hut_throw_lollipops");
}
else htmlInteraction.disableButton("hut_throw_lollipops");
break;
case 2:
for(var i = 0; i < spells.list.length; i++){
if(hut.canThisSpellBeUsed(i)){
this.enableButton("hut_spell_" + i);
}
else htmlInteraction.disableButton("hut_spell_" + i);
}
// Special surpass button
if(quest.maxLandOrder == 7 && yourself.canSurpass == false){
if(lollipops.nbrOwned >= 1000000) this.enableButton("hut_surpass");
else htmlInteraction.disableButton("hut_surpass");
}
break;
}
}
},
checkWishingWell : function(){
if(wishingWell.shown){
switch(wishingWell.step){
case 0:
if(candies.nbrOwned >= 1){
this.enableButton("wishingWell_throw_candy");
}
else htmlInteraction.disableButton("wishingWell_throw_candy");
break;
}
}
},
checkForge : function(){
if(forge.shown && forge.step == 1){
// Health
if(potions.list.health.shown && potions.list.health.nbrOwned >= 1){
this.enableButton("enchant_health");
}
else htmlInteraction.disableButton("enchant_health");
// Fire
if(potions.list.fireScroll.shown && potions.list.fireScroll.nbrOwned >= 1){
this.enableButton("enchant_fire");
}
else htmlInteraction.disableButton("enchant_fire");
// Imp invocation
if(potions.list.impInvocationScroll.shown && potions.list.impInvocationScroll.nbrOwned >= 1){
this.enableButton("enchant_imp_invocation");
}
else htmlInteraction.disableButton("enchant_imp_invocation");
}
}
};