public virtual void OnLevelPassed() { StealthInfo s = StealthInfo.Instance; PlayerStats.genes += s.difficultyGeneRewards[difficulty]; // now check if the player got lucky and gets a random gene // but if the flag is off, then quit if (!randomGeneChance) { return; } if (StealthInfo.rng.NextDouble() < StealthInfo.geneFindChance) { List <Enums.Genes> notFoundGenes = s.GetNotFoundGenes(); if (notFoundGenes.Count > 0) { int index = StealthInfo.rng.Next(notFoundGenes.Count); PlayerStats.Instance.AddGeneFound(notFoundGenes[index]); Events.publishGeneFound(); GD.Print("YOU FOUND A RANDOM GENE!!!!!!!11"); } } }
public override void _Ready() { Instance = this; geneStealthMaps = new Dictionary <Enums.Genes, PackedScene>() { { Enums.Genes.Cryo, GD.Load <PackedScene>("res://src/stealth/maps/geneMaps/StealthIce.tscn") }, { Enums.Genes.Fire, GD.Load <PackedScene>("res://src/stealth/maps/geneMaps/StealthFire.tscn") }, { Enums.Genes.Florida, new PackedScene() }, }; normalStealthMaps = new Dictionary <Enums.StealthMapDifficultyLevel, PackedScene>() { { Enums.StealthMapDifficultyLevel.Easy, GD.Load <PackedScene>("res://src/stealth/maps/normalMaps/easy/StealthEasy1.tscn") }, { Enums.StealthMapDifficultyLevel.Medium, GD.Load <PackedScene>("res://src/stealth/maps/normalMaps/medium/StealthMedium1.tscn") }, { Enums.StealthMapDifficultyLevel.Hard, GD.Load <PackedScene>("res://src/stealth/maps/normalMaps/hard/StealthHard1.tscn") }, }; difficultyGeneRewards = new Dictionary <Enums.StealthMapDifficultyLevel, int>() { { Enums.StealthMapDifficultyLevel.Easy, 100 }, { Enums.StealthMapDifficultyLevel.Medium, 250 }, { Enums.StealthMapDifficultyLevel.Hard, 500 }, }; }
public static double geneFindChance = 0.9; // chance to find a random gene after completing a normal stealth map public StealthInfo() { Instance = this; }
void OnButtonPressed() { SceneChanger scnChng = SceneChanger.Instance; StealthInfo s = StealthInfo.Instance; switch (buttonMode) { case b.Quit: GetTree().Quit(); break; case b.Play: scnChng.GoToScene("res://src/GUI/screens/HomeScreen.tscn"); break; case b.RetryCombat: CombatInfo.Instance.Reset(); scnChng.GoToScene("res://src/combat/CombatScreen.tscn"); break; case b.RetryStealth: scnChng.GoToPackedScene(StealthInfo.currentStealthMap); break; case b.ReturnHomeScreen: scnChng.GoToScene("res://src/GUI/screens/HomeScreen.tscn"); break; case b.ReturnUpgradeSelect: scnChng.GoToScene("res://src/GUI/screens/DinoUpgradeSelectScreen.tscn"); break; case b.StealthSelectScreen: scnChng.GoToScene("res://src/GUI/screens/StealthSelectScreen.tscn"); break; // nothing for plus, minus, or buy dinos: those are handled in their own scenes case b.ContinueConquest: scnChng.NewRoundAnimation(); break; case b.EasyStealthMap: newMap = StealthInfo.Instance.GetNormalMap(Enums.StealthMapDifficultyLevel.Easy); StealthInfo.currentStealthMap = newMap; scnChng.GoToPackedScene(newMap); break; case b.MediumStealthMap: newMap = StealthInfo.Instance.GetNormalMap(Enums.StealthMapDifficultyLevel.Medium); StealthInfo.currentStealthMap = newMap; scnChng.GoToPackedScene(newMap); break; case b.HardStealthMap: newMap = StealthInfo.Instance.GetNormalMap(Enums.StealthMapDifficultyLevel.Hard); StealthInfo.currentStealthMap = newMap; scnChng.GoToPackedScene(newMap); break; case b.GeneStealthMap: scnChng.GoToPackedScene(StealthInfo.Instance.GetUnbeatenGeneMap()); break; } }