Guest User

Untitled

a guest
Mar 28th, 2025
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.02 KB | Source Code | 0 0
  1. extends Node
  2.  
  3. #Demo
  4. var isDemo : bool = false
  5. var demoDay : bool = false
  6.  
  7. #Global Settings
  8. var vibrationEnabled : bool = true
  9.  
  10. #Steam Variables
  11. var hasSteamLibraries : bool = false
  12. var checkedForSteam : bool = false
  13. var purist : bool = true
  14. var indestructable : bool = true
  15.  
  16. #Temporary State Variables
  17. var dialogBoxActive : bool = false
  18. var playedDialogIntro : bool = false
  19. var playedDialogBoss : bool = false
  20. var bossIsDead : bool = false
  21.  
  22. var justGotChefbot : bool = false
  23. var justGotUsherbot : bool = false
  24. var justGotMaidbot : bool = false
  25. var justGotFirebot : bool = false
  26. var justGotHighwayBoss : bool = false
  27. var justGotTowerBoss : bool = false
  28. var justGotBasementBoss : bool = false
  29. var justGotFinalBoss : bool = false
  30.  
  31. #Permanant Variables
  32. var chefbotEnUpgrade : bool = false
  33. var usherbotEnUpgrade : bool = false
  34. var maidbotEnUpgrade : bool = false
  35. var firebotEnUpgrade : bool = false
  36.  
  37. var chefbotBeaten : bool = false
  38. var usherbotBeaten : bool = false
  39. var maidbotBeaten : bool = false
  40. var firebotBeaten : bool = false
  41. var highwayBossBeaten : bool = false
  42. var towerBossBeaten : bool = false
  43. var basementBossBeaten : bool = false
  44. var finalBossBeaten : bool = false
  45. var choseDestroyMachine : bool = false
  46. var choseSacrificeSelf : bool = false
  47.  
  48. var shownLevelSelectEvent : bool = false
  49. var firstBomberIntroDone : bool = false
  50.  
  51. func resetData():
  52.     checkedForSteam = false
  53.     purist = true
  54.     indestructable = true
  55.     dialogBoxActive = false
  56.     playedDialogIntro = false
  57.     playedDialogBoss = false
  58.     bossIsDead = false
  59.    
  60.     justGotChefbot = false
  61.     justGotUsherbot = false
  62.     justGotMaidbot = false
  63.     justGotFirebot = false
  64.     justGotHighwayBoss = false
  65.     justGotTowerBoss = false
  66.     justGotBasementBoss = false
  67.     justGotFinalBoss = false
  68.    
  69.     chefbotEnUpgrade = false
  70.     usherbotEnUpgrade = false
  71.     maidbotEnUpgrade = false
  72.     firebotEnUpgrade = false
  73.    
  74.     chefbotBeaten = false
  75.     usherbotBeaten = false
  76.     maidbotBeaten = false
  77.     firebotBeaten = false
  78.     highwayBossBeaten = false
  79.     towerBossBeaten = false
  80.     basementBossBeaten = false
  81.     finalBossBeaten = false
  82.     choseDestroyMachine = false
  83.     choseSacrificeSelf = false
  84.    
  85.     shownLevelSelectEvent = false
  86.     firstBomberIntroDone = false
  87.     saveGame()
  88.  
  89. func _getSaveDictionary():
  90.     var saveDictionary = {
  91.         "chefbotBeaten" : chefbotBeaten,
  92.         "usherbotBeaten" : usherbotBeaten,
  93.         "maidbotBeaten" : maidbotBeaten,
  94.         "firebotBeaten" : firebotBeaten,
  95.         "highwayBossBeaten" : highwayBossBeaten,
  96.         "towerBossBeaten" : towerBossBeaten,
  97.         "basementBossBeaten" : basementBossBeaten,
  98.         "chefbotEnUpgrade" : chefbotEnUpgrade,
  99.         "usherbotEnUpgrade" : usherbotEnUpgrade,
  100.         "maidbotEnUpgrade" : maidbotEnUpgrade,
  101.         "firebotEnUpgrade" : firebotEnUpgrade,
  102.         "shownLevelSelectEvent" : shownLevelSelectEvent,
  103.         "firstBomberIntroDone" : firstBomberIntroDone,
  104.         "indestructable" : indestructable,
  105.         "purist" : purist,
  106.     }
  107.     return saveDictionary
  108.  
  109. func saveGame():
  110.     var saveGame = File.new()
  111.     var err = saveGame.open_encrypted_with_pass("user://data.sav", File.WRITE, "41ph4m4n")
  112.     if err:
  113.         print("ERROR:  Save file error: ", err)
  114.     else:
  115.         saveGame.store_line(to_json(_getSaveDictionary()))
  116.         saveGame.close()
  117.    
  118. func loadGame():
  119.     var saveGame = File.new()
  120.     if not saveGame.file_exists("user://data.sav"):
  121.         print("Error:  Save file does not exist!")
  122.         return 1
  123.        
  124.     var err = saveGame.open_encrypted_with_pass("user://data.sav", File.READ, "41ph4m4n")
  125.     #saveGame.open("user://data.sav", File.READ)
  126.    
  127.     if err:
  128.         print("ERROR:  Save file error: ", err)
  129.         saveGame.close()
  130.         return 2
  131.     else:
  132.         var currentLine = parse_json(saveGame.get_line())
  133.         for i in currentLine.keys():
  134.             self.set(i, currentLine[i])
  135.     saveGame.close()
  136.    
  137. var steam_beatOneBoss = false
  138. var steam_beatFourBosses = false
  139. var steam_beatBomber1 = false
  140. var steam_beatBomber2 = false
  141. var steam_beatBomber3 = false
  142. var steam_choseSacrifice = false
  143. var steam_choseDestruction = false
  144. var steam_indestructable = false
  145. var steam_purist = false
  146. var steam_fullyLoaded = false
  147. var steamAchievementNames = {
  148.     "BEAT_1_BOSS": steam_beatOneBoss,
  149.     "BEAT_4_BOSSES" : steam_beatFourBosses,
  150.     "BEAT_BOMBER_BOSS_1" : steam_beatBomber1,
  151.     "BEAT_BOMBER_BOSS_2" : steam_beatBomber2,
  152.     "BEAT_BOMBER_BOSS_3" : steam_beatBomber3,
  153.     "DESTRUCTION_ENDING" : steam_choseDestruction,
  154.     "SACRIFICE_ENDING" : steam_choseSacrifice,
  155.     "INDESTRUCTABLE" : steam_indestructable,
  156.     "PURIST" : steam_purist,
  157.     "FULLY_LOADED" : steam_fullyLoaded
  158. }
  159.  
  160. func loadAchievementsLocal():
  161.     if Steam.isSteamRunning():
  162.         steam_beatOneBoss = Steam.getAchievement("BEAT_1_BOSS")
  163.         steam_beatFourBosses = Steam.getAchievement("BEAT_4_BOSSES")
  164.         steam_beatBomber1 = Steam.getAchievement("BEAT_BOMBER_BOSS_1")
  165.         steam_beatBomber2 = Steam.getAchievement("BEAT_BOMBER_BOSS_2")
  166.         steam_beatBomber3 = Steam.getAchievement("BEAT_BOMBER_BOSS_3")
  167.         steam_choseDestruction = Steam.getAchievement("DESTRUCTION_ENDING")
  168.         steam_choseSacrifice = Steam.getAchievement("SACRIFICE_ENDING")
  169.         steam_indestructable = Steam.getAchievement("INDESTRUCTABLE")
  170.         steam_purist = Steam.getAchievement("PURIST")
  171.         steam_fullyLoaded = Steam.getAchievement("FULLY_LOADED")
  172.  
  173. func setBeatFourBosses():
  174.     if ((chefbotBeaten || justGotChefbot) && (usherbotBeaten || justGotUsherbot) &&
  175.         (maidbotBeaten || justGotMaidbot) && (firebotBeaten || justGotFirebot)):
  176.         setAchievement("BEAT_4_BOSSES")
  177.        
  178. func setCollectedAllEnergyUpgrades():
  179.     if chefbotEnUpgrade && usherbotEnUpgrade && maidbotEnUpgrade && firebotEnUpgrade:
  180.         setAchievement("FULLY_LOADED")
  181.  
  182. func setAchievement(whichAchievement : String):
  183.     if Steam.isSteamRunning():
  184.         if steamAchievementNames.has(whichAchievement):
  185.             if !steamAchievementNames.get(whichAchievement):
  186.                 Steam.setAchievement(whichAchievement)
  187.                 Steam.storeStats()
  188.                 steamAchievementNames[whichAchievement] = true
  189.         else:
  190.             print("ERROR, Achievement not found: " + whichAchievement)
  191.        
  192. func setSteamStat(whichStat : String):
  193.     if Steam.isSteamRunning():
  194.         var currentValue = Steam.getStatInt(whichStat)
  195.         Steam.setStatInt(whichStat, currentValue + 1)
  196.         Steam.storeStats()
  197.  
Advertisement
Add Comment
Please, Sign In to add comment