extends Node2D #Cupcake Values var ccVanNum: int = 0 var ccVanValue: int = 1 var ccChocNum: int = 0 var ccChocValue: int = 1 var ccStrawNum: int = 0 var ccStrawValue: int = 1 var ccRVelNum: int = 0 var ccRVelValue: int = 1 var ccCinNum: int = 0 var ccCinValue: int = 1 var ccHonNum: int = 0 var ccHonValue: int = 1 var ccNightmareNum: int = 0 var ccNightmareValue: int = 1 #Cupcake Upgrade Prices var ccVanPrice: int = 10 var ccVanPrice2: int = 15 var ccVanPrice3: int = 15 var ccVanPrice4: int = 250 var ccChocPrice: int = 10 var ccChocPrice2: int = 15 var ccChocPrice3: int = 15 var ccChocPrice4: int = 500 var ccChocPrice5: int = 150 var ccChocPrice6: int var ccStrawPrice: int = 10 var ccStrawPrice2: int = 15 var ccStrawPrice3: int = 15 var ccStrawPrice4: int = 750 var ccStrawPrice5: int = 150 var ccStrawPrice6: int = 200 var ccRVelPrice: int = 10 var ccRVelPrice2: int = 15 var ccRVelPrice3: int = 15 var ccRVelPrice4: int = 1000 var ccCinPrice: int = 10 var ccCinPrice2: int = 15 var ccCinPrice3: int = 15 var ccCinPrice4: int = 1250 var ccHonPrice: int = 10 var ccHonPrice2: int = 15 var ccHonPrice3: int = 15 var ccHonPrice4: int = 1500 var ccNightPrice: int = 10 var ccNightPrice2: int = 15 var ccNightPrice3: int = 15 var ccNightPrice4: int = 1750 #Upgrade counts var vanUpNum1: int = 0 var vanUpNum2: int = 0 var vanUpNum3: int = 0 var vanUpNum4: int = 0 var chocUpNum1: int = 0 var chocUpNum2: int = 0 var chocUpNum3: int = 0 var chocUpNum4: int = 0 var chocUpNum5: int = 0 var chocUpNum6: int = 0 var strawUpNum1: int = 0 ###Preloaded scenes and scripts var upgradeUI = preload("res://Scenes/UI/upgrades.tscn") var horse_scene = preload("res://Scenes/horse.tscn") var horse = preload("res://Scripts/horse.gd") #Cupcakes var ccVanilla = preload("res://Scenes/Cupcakes/cupcake.tscn") var ccChocolate = preload("res://Scenes/Cupcakes/chocCupcake.tscn") var ccStrawberry = preload("res://Scenes/Cupcakes/strawCupcake.tscn") var ccRedVelvet = preload("res://Scenes/Cupcakes/rvelCupcake.tscn") var ccCinnamon = preload("res://Scenes/Cupcakes/cinCupcake.tscn") var ccHonest = preload("res://Scenes/Cupcakes/honCupcake.tscn") var ccNightmare = preload("res://Scenes/Cupcakes/nightCupcake.tscn") var ccRock var ccRuby var ccSapphire var ccEmerald var ccDiamond var ccLoyal var ccChaos #Areas var location = null const AREA_PATHS = [ "res://Scenes/Locations/yard.tscn", "res://Scenes/Locations/neighYard.tscn" ] var areaScenes = [] #Area Locks var neighYardLocked = true #Instantiations var ccVan = ccVanilla.instantiate() var ccChoc = ccChocolate.instantiate() var ccStraw = ccStrawberry.instantiate() var ccRVel = ccRedVelvet.instantiate() var ccCin = ccCinnamon.instantiate() var ccHon = ccHonest.instantiate() var ccNight = ccNightmare.instantiate() var ccRoc = ccRock var ccRub = ccRuby var ccSap = ccSapphire var ccEme = ccEmerald var ccDia = ccDiamond var ccLoy = ccLoyal var ccCha = ccChaos #Cupcake Locks var ccChocLocked = true var ccStrawLocked = true var ccRVelLocked = true var ccCinLocked = true var ccHonLocked = true var ccNightLocked = true var ccRocLocked = true var ccRubLocked = true var ccSapLocked = true var ccEmeLocked = true var ccDiaLocked = true var ccChaLocked = true #Spawnrates var ccVanSpawnRate = 30 var ccChocSpawnRate = 30 var ccStrawSpawnRate = 30 var ccRVelSpawnRate = 30 var ccCinSpawnRate = 30 var ccHonSpawnRate = 3 var ccNightSpawnRate = 3 var ccRocSpawnRate = 3 var ccRubSpawnRate = 3 var ccSapSpawnRate = 3 var ccEmeSpawnRate = 3 var ccDiaSpawnRate = 3 var ccChaSpawnRate = 3 #Combo var comboLocked = true var combo = 1.00 var comboMultiplier #Tools var tool = null const TOOL_PATHS = [ "res://Scenes/Tools/hooves.tscn", "res://Scenes/Tools/bakingTray.tscn" ] var toolScenes = [] #Other @onready var timer = get_node("Cupcake Spawn Timer") var horseAttached = true var horse_instance var horseScene var mouse_position = Vector2.ZERO var ccCount = 0 var ccMaxOnScreen = 3000 #General func _ready(): for path in AREA_PATHS: var scene = load(path) var instance = scene.instantiate() areaScenes.append(instance) horse_instance = horse_scene.instantiate() add_child(horse_instance) location = areaScenes[0] spawnHorse() for path in TOOL_PATHS: var scene = load(path) var instance = scene.instantiate() toolScenes.append(instance) tool = toolScenes[0] add_child(tool) func _process(delta): if horseAttached == true: mouse_position = get_global_mouse_position() horse_instance.position = mouse_position if $"Tool": tool.position = mouse_position func _input(event): if event is InputEventMouseButton and event.pressed: if Input.is_action_pressed("horseAttach"): if horseAttached == true: horseAttached = false else: horseAttached = true #AreaTeleporter func spawnHorse(): if $Location.get_child_count() >= 1: $Location.remove_child(location) $Location.add_child(location) #Tool Refresh func toolRefresh(): pass #Update Count func collectCupcakes(): $InGameUI/Num/NumGrid/ccVanNum.text = str(ccVanNum) $InGameUI/Num/NumGrid/ccChocNum.text = str(ccChocNum) $InGameUI/Num/NumGrid/ccStrawNum.text = str(ccStrawNum) $InGameUI/Num/NumGrid/ccRVelNum.text = str(ccRVelNum) $InGameUI/Num/NumGrid/ccCinNum.text = str(ccCinNum) $InGameUI/Num/NumGrid/ccHonNum.text = str(ccHonNum) $InGameUI/Num/NumGrid/ccNightNum.text = str(ccNightmareNum) #Cupcake Timer func _on_timeout(): spawnCupcakes(ccVan, ccVanSpawnRate) if not ccChocLocked: spawnCupcakes(ccChoc, ccChocSpawnRate) if not ccStrawLocked: spawnCupcakes(ccStraw, ccStrawSpawnRate) if not ccRVelLocked: spawnCupcakes(ccRVel, ccRVelSpawnRate) if not ccCinLocked: spawnCupcakes(ccCin, ccCinSpawnRate) collectCupcakes() timer.start() #Spawn func spawnCupcakes(cupcake: Node2D, spawn_rate: int): var randX var randY randomize() if ccCount <= ccMaxOnScreen: for i in range(spawn_rate): randX = randi_range(50, 1870) randY = randi_range(50, 1030) cupcake.position = Vector2(randX, randY) $Cupcakes.add_child(cupcake.duplicate()) ccCount += spawn_rate ###Upgrades### #Vanilla func _on_upgrades_one_more_cupcake(): if ccVanNum >= ccVanPrice: ccVanSpawnRate += 1 ccVanNum -= ccVanPrice ccVanPrice = ccVanPrice * 1.3 vanUpNum1 += 1 $Upgrades/Control/VanScroll/VanGrid/VanUp1/Price.text = str(ccVanPrice) collectCupcakes() func _on_upgrades_faster_cupcake(): if ccVanNum >= ccVanPrice2: ccVanNum -= ccVanPrice2 ccVanPrice2 = ccVanPrice2 * 1.3 timer.wait_time = timer.wait_time - (timer.wait_time * 0.01) vanUpNum2 += 1 $Upgrades/Control/VanScroll/VanGrid/VanUp2/Price.text = str(ccVanPrice2) collectCupcakes() func _on_upgrades_condensed_cupcake_1(): if ccVanNum >= ccVanPrice3: ccVanNum -= ccVanPrice3 ccVanPrice3 = ccVanPrice3 * 1.3 ccVanValue += 1 vanUpNum3 += 1 $Upgrades/Control/VanScroll/VanGrid/VanUp3/Price.text = str(ccVanPrice3) collectCupcakes() #Chocolate func _on_upgrades_one_more_cupcake_2(): if ccChocNum >= ccChocPrice: ccChocSpawnRate += 1 ccChocNum -= ccChocPrice ccChocPrice = ccChocPrice * 1.3 chocUpNum1 += 1 $Upgrades/Control/ChocScroll/ChocGrid/ChocUp1/Price.text = str(ccChocPrice) collectCupcakes() func _on_upgrades_faster_cupcake_2(): if ccChocNum >= ccChocPrice2: ccChocNum -= ccChocPrice2 ccChocPrice2 = ccChocPrice2 * 1.3 timer.wait_time = timer.wait_time - (timer.wait_time * 0.01) chocUpNum2 += 1 $Upgrades/Control/ChocScroll/ChocGrid/ChocUp2/Price.text = str(ccChocPrice2) collectCupcakes() func _on_upgrades_condensed_cupcake_2(): if ccChocNum >= ccChocPrice3: ccChocNum -= ccChocPrice3 ccChocPrice3 = ccChocPrice3 * 1.3 ccChocValue += 1 chocUpNum3 += 1 $Upgrades/Control/ChocScroll/ChocGrid/ChocUp3/Price.text = str(ccChocPrice3) collectCupcakes() #Strawberry func _on_upgrades_one_more_cupcake_3(): if ccStrawNum >= ccStrawPrice: ccStrawSpawnRate += 1 ccStrawNum -= ccStrawPrice ccStrawPrice = ccStrawPrice * 1.3 strawUpNum1 += 1 $Upgrades/Control/StrawScroll/StrawGrid/StrawUp1/Price.text = str(ccStrawPrice) collectCupcakes() func _on_upgrades_faster_cupcake_3(): if ccStrawNum >= ccStrawPrice2: ccStrawNum -= ccStrawPrice2 ccStrawPrice2 = ccStrawPrice2 * 1.3 timer.wait_time = timer.wait_time - (timer.wait_time * 0.01) $Upgrades/Control/StrawScroll/StrawGrid/StrawUp2/Price.text = str(ccStrawPrice2) collectCupcakes() func _on_upgrades_condensed_cupcake_3(): if ccStrawNum >= ccStrawPrice3: ccStrawNum -= ccStrawPrice3 ccStrawPrice3 = ccStrawPrice3 * 1.3 ccStrawValue += 1 $Upgrades/Control/StrawScroll/StrawGrid/StrawUp3/Price.text = str(ccStrawPrice3) collectCupcakes() #Red Velvet func _on_upgrades_one_more_cupcake_4(): if ccRVelNum >= ccRVelPrice: ccRVelSpawnRate += 1 ccRVelNum -= ccRVelPrice ccRVelPrice = ccRVelPrice * 1.3 $Upgrades/Control/RVelScroll/RVelGrid/RVelUp1/Price.text = str(ccRVelPrice) collectCupcakes() func _on_upgrades_faster_cupcake_4(): if ccRVelNum >= ccRVelPrice2: ccRVelNum -= ccRVelPrice2 ccRVelPrice2 = ccRVelPrice2 * 1.3 timer.wait_time = timer.wait_time - (timer.wait_time * 0.01) $Upgrades/Control/RVelScroll/RVelGrid/RVelUp2/Price.text = str(ccRVelPrice2) collectCupcakes() func _on_upgrades_condensed_cupcake_4(): if ccRVelNum >= ccRVelPrice3: ccRVelNum -= ccRVelPrice3 ccRVelPrice3 = ccRVelPrice3 * 1.3 ccRVelValue += 1 $Upgrades/Control/RVelScroll/RVelGrid/RVelUp3/Price.text = str(ccRVelPrice3) collectCupcakes() #Cinnamon func _on_upgrades_one_more_cupcake_5(): if ccCinNum >= ccCinPrice: ccCinSpawnRate += 1 ccCinNum -= ccCinPrice ccCinPrice = ccCinPrice * 1.3 $Upgrades/Control/CinScroll/CinGrid/CinUp1/Price.text = str(ccCinPrice) collectCupcakes() func _on_upgrades_faster_cupcake_5(): if ccCinNum >= ccCinPrice2: ccCinNum -= ccCinPrice2 ccCinPrice2 = ccCinPrice2 * 1.3 timer.wait_time = timer.wait_time - (timer.wait_time * 0.01) $Upgrades/Control/CinScroll/CinGrid/CinUp2/Price.text = str(ccCinPrice2) collectCupcakes() func _on_upgrades_condensed_cupcake_5(): if ccCinNum >= ccCinPrice3: ccCinNum -= ccCinPrice3 ccCinPrice3 = ccCinPrice3 * 1.3 ccCinValue += 1 $Upgrades/Control/CinScroll/CinGrid/CinUp3/Price.text = str(ccCinPrice3) collectCupcakes() #Honest func _on_upgrades_condensed_cupcake_6(): if ccHonNum >= ccHonPrice: ccHonSpawnRate += 1 ccHonNum -= ccHonPrice ccHonPrice = ccHonPrice * 1.3 $Upgrades/Control/HonScroll/HonGrid/HonUp1/Price.text = str(ccHonPrice) collectCupcakes() func _on_upgrades_faster_cupcake_6(): if ccHonNum >= ccHonPrice2: ccHonNum -= ccHonPrice2 ccHonPrice2 = ccHonPrice2 * 1.3 timer.wait_time = timer.wait_time - (timer.wait_time * 0.01) $Upgrades/Control/HonScroll/HonGrid/HonUp2/Price.text = str(ccHonPrice2) collectCupcakes() func _on_upgrades_one_more_cupcake_6(): if ccHonNum >= ccHonPrice3: ccHonNum -= ccHonPrice3 ccHonPrice3 = ccHonPrice3 * 1.3 ccHonValue += 1 $Upgrades/Control/HonScroll/HonGrid/HonUp3/Price.text = str(ccHonPrice3) collectCupcakes() func _on_upgrades_cupcake_damage(): pass func _on_upgrades_horse_health(): pass func _on_upgrades_sweetie_damage(): pass #Nightmare #Unlock func _on_upgrades_unlock_choc(): if ccVanNum >= ccVanPrice4: ccVanNum -= ccVanPrice4 ccChocLocked = false $"InGameUI/Main/HBoxContainer/Choc".visible = true $"InGameUI/Num/NumGrid/chocIcon".visible = true $"InGameUI/Num/NumGrid/ccChocNum".visible = true $"Upgrades/Control/VanScroll/VanGrid/VanUp4/Buy".visible = false func _on_upgrades_unlock_straw(): if ccChocNum >= ccChocPrice4: ccChocNum -= ccChocPrice4 ccStrawLocked = false $"InGameUI/Main/HBoxContainer/Straw".visible = true $"InGameUI/Num/NumGrid/strawIcon".visible = true $"InGameUI/Num/NumGrid/ccStrawNum".visible = true $"Upgrades/Control/ChocScroll/ChocGrid/ChocUp4/Buy".visible = false func _on_upgrades_unlock_r_vel(): if ccStrawNum >= ccStrawPrice4: ccStrawNum -= ccStrawPrice4 ccRVelLocked = false $"InGameUI/Main/HBoxContainer/RVel".visible = true $"InGameUI/Num/NumGrid/rvelIcon".visible = true $"InGameUI/Num/NumGrid/ccRVelNum".visible = true $"Upgrades/Control/StrawScroll/StrawGrid/StrawUp4/Buy".visible = false func _on_upgrades_unlock_cin(): if ccRVelNum >= ccRVelPrice4: ccRVelNum -= ccRVelPrice4 ccCinLocked = false $"InGameUI/Main/HBoxContainer/Cin".visible = true $"InGameUI/Num/NumGrid/cinIcon".visible = true $"InGameUI/Num/NumGrid/ccCinNum".visible = true $"Upgrades/Control/RVelScroll/RVelGrid/RVelUp4/Buy".visible = false func _on_upgrades_unlock_hon(): if ccCinNum >= ccCinPrice4: ccCinNum -= ccCinPrice4 ccHonLocked = false $"InGameUI/Main/HBoxContainer/Honest".visible = true $"InGameUI/Num/NumGrid/honIcon".visible = true $"InGameUI/Num/NumGrid/ccHonNum".visible = true $"Upgrades/Control/CinScroll/CinGrid/CinUp4/Buy".visible = false func _on_upgrades_unlock_nightmare(): if ccHonNum >= ccHonPrice4: ccHonNum -= ccHonPrice4 ccNightLocked = false $"InGameUI/Main/HBoxContainer/Night".visible = true $"InGameUI/Num/NumGrid/nightIcon".visible = true $"InGameUI/Num/NumGrid/ccNightNum".visible = true $"Upgrades/Control/HonScroll/HonGrid/HonUp4/Buy".visible = false #Collect func _on_van_cupcake_cc_van_collected(): ccVanNum += ccVanValue ccCount -= 1 collectCupcakes() func _on_choc_cupcake_cc_choc_collected(): ccChocNum += ccChocValue ccCount -= 1 collectCupcakes() func _on_straw_cupcake_cc_straw_collected(): ccStrawNum += ccStrawValue ccCount -= 1 collectCupcakes() func _on_rvel_cupcake_cc_rvel_collected(): ccRVelNum += ccRVelValue ccCount -= 1 collectCupcakes() func _on_cin_cupcake_cc_cin_collected(): ccCinNum += ccCinValue ccCount -= 1 collectCupcakes() func _on_honest_cupcake_cc_hon_collected(): ccHonNum += ccHonValue ccCount -= 1 collectCupcakes() func _on_night_cupcake_cc_night_collected(): ccNightmareNum += ccNightmareValue ccCount -= 1 collectCupcakes() #Areas func _on_upgrades_your_yard(): if $Upgrades/Control/AreaScroll/AreaGrid/Area1/Buy.disabled == false: location = areaScenes[0] $Upgrades/Control/AreaScroll/AreaGrid/Area2/Buy.disabled = false $Upgrades/Control/AreaScroll/AreaGrid/Area1/Buy.disabled = true $Upgrades/Control/AreaScroll/AreaGrid/Area1/Buy.text = str("Teleport (You're here)") $Upgrades/Control/AreaScroll/AreaGrid/Area2/Buy.text = str("Teleport") spawnHorse() func _on_upgrades_neigh_yard(): if neighYardLocked == true: if ccStrawNum >= ccStrawPrice6: ccStrawNum -= ccStrawPrice6 neighYardLocked = false elif neighYardLocked == false and $Upgrades/Control/AreaScroll/AreaGrid/Area2/Buy.disabled == false: location = areaScenes[1] $Upgrades/Control/AreaScroll/AreaGrid/Area2/Buy.disabled = true $Upgrades/Control/AreaScroll/AreaGrid/Area1/Buy.disabled = false $Upgrades/Control/AreaScroll/AreaGrid/Area1/Buy.text = str("Teleport") $Upgrades/Control/AreaScroll/AreaGrid/Area2/Buy.text = str("Teleport (You're here)") spawnHorse() func _on_upgrades_honest_dungeon(): pass # Replace with function body. func _on_upgrades_abandoned_castle(): pass # Replace with function body. #Tools func _on_upgrades_tool_1(): remove_child(tool) tool = toolScenes[0] add_child(tool) func _on_upgrades_tool_2(): remove_child(tool) tool = toolScenes[1] add_child(tool)