Beispiel #1
0
    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");
            }
        }
    }
Beispiel #2
0
    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 },
        };
    }
Beispiel #3
0
    public static double geneFindChance = 0.9; // chance to find a random gene after completing a normal stealth map

    public StealthInfo()
    {
        Instance = this;
    }
Beispiel #4
0
    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;
        }
    }