Exemple #1
0
    public void PrepareWildEncounter(GrassEncounter encounter)
    {
        float randomChoice = Random.Range(0f, 100f);
        float searcher     = 0f;
        int   index        = -1;

        while (searcher < randomChoice && index < encounter.possibleEncounters.Count - 1)
        {
            index++;
            searcher += encounter.possibleEncounters[index].chanceWeight;
        }

        GenerateWildEncounter(encounter.possibleEncounters[index].lunen, Random.Range(encounter.possibleEncounters[index].LevelRange.Min, encounter.possibleEncounters[index].LevelRange.Max + 1));
        EnterBattle();
    }
Exemple #2
0
    public bool TryWildEncounter(GrassEncounter encounter)
    {
        float chance = Random.Range(0f, 100f);

        if (SinceLastEncounter < 0f)
        {
            if (chance < encounter.chanceModifier)
            {
                PrepareWildEncounter(encounter);
                return(true);
            }
            else
            {
                SinceLastEncounter = 0.25f;
                return(false);
            }
        }
        else
        {
            return(false);
        }
    }