extends Control @export var GoodJobStarQuotes: PackedStringArray @onready var CurrentTime = Time.get_date_dict_from_system() var Experience: float = 0 var Level: int = 1 func _process(_delta): if !get_node("LoopingAnim").is_playing(): get_node("LoopingAnim").play("Loop") get_node("ExperienceBar").value = Experience func _ready(): randomize() get_node("SaveNode").LoadVars("Tasks", 0) get_node("SaveNode").LoadVars("Daily Task", 1) get_node("SaveNode").SaveVars("Daily Task", 1) if get_node("SaveNode").SideVars["System Time"] == CurrentTime.day && get_node("SaveNode").SideVars["Current Tasks"].front() != "": # Don't do anything, just load! Load() else: # Put the new stuff in before loading get_node("SaveNode").SideVars["System Time"] = CurrentTime.day # Store the fun fun stuff var TempArray = get_node("SaveNode").MainVars.values() var PlacementArray: Array = ["", "", ""] for i in range(0, 3): var random1 = randi_range(0, TempArray.size() - 1) var random2 = randi_range(0, TempArray[random1].size() - 1) PlacementArray[i] = TempArray[random1][random2] get_node("SaveNode").SideVars["Current Tasks"] = PlacementArray # Store incomplete nums get_node("SaveNode").SaveVars("Daily Task", 1) Load() func Load(): # Load the current tasks. var file = get_node("SaveNode").SideVars["Current Tasks"] get_node("Task1/RichTextLabel").text = file[0] get_node("Task2/RichTextLabel").text = file[1] get_node("Task3/RichTextLabel").text = file[2] # Experience stuff Level = get_node("SaveNode").SideVars["Level"] Experience = get_node("SaveNode").SideVars["Experience"] # Play animation to give it some cool factor get_node("SpecificAnim1").play("Beginning") func _on_COMPLETE_pressed(extra_arg_0): # I don't want animation to break. var TaskThing = "Task" + str(extra_arg_0 + 1) + "/RichTextLabel" if !get_node("SpecificAnim1").is_playing() && !get_node("SpecificAnim2").is_playing() && get_node(TaskThing).text != "COMPLETE": get_node(TaskThing).text = "COMPLETE" # do animation related things get_node("SpecificAnim1").play(str(extra_arg_0)) var quote = GoodJobStarQuotes[randi_range(0, GoodJobStarQuotes.size() - 1)] get_node("GoodJobStar/Label").text = quote get_node("SpecificAnim2").play("Completion") # Now save that crap so I know I completed it. get_node("SaveNode").SideVars["Current Tasks"][extra_arg_0] = "COMPLETE" get_node("SaveNode").SaveVars("Daily Task", 1) func EarnExperience(): var ExperiencedGained = randf_range(21, 144) if randf_range(0, 10) > 9: ExperiencedGained = ExperiencedGained * 3 get_node("SpecificAnim1").play("ExperienceGainedCritical") get_node("ExperienceEarned").text = "CRITICAL!\nGained " + str(round(ExperiencedGained)) + " EXP" else: get_node("SpecificAnim1").play("ExperienceGained") get_node("ExperienceEarned").text = "Gained " + str(round(ExperiencedGained)) + " EXP" Experience = Experience + ExperiencedGained while Experience >= 250: Level = Level + 1 Experience = Experience - 250 get_node("LevelGained").text = "LEVEL INCREASE!\nYour level: " + str(Level) get_node("SpecificAnim2").play("LevelIncrease") # Save the experience that was earned get_node("SaveNode").SideVars["Level"] = Level get_node("SaveNode").SideVars["Experience"] = Experience get_node("SaveNode").SaveVars("Daily Task", 1)