Ejemplo n.º 1
0
    public void SetVolatileStatus(StatusID statusID)
    {
        if (VolatileStatus != null)
        {
            return;
        }

        VolatileStatus = StatusConditionsDB.conditions[statusID];
        VolatileStatus?.Onstart?.Invoke(this);
        StatsChanges.Enqueue($"{Base.Name} {VolatileStatus.StartMessage}");
    }
Ejemplo n.º 2
0
    public void SetStatus(StatusID statusID)
    {
        if (Status != null)
        {
            return;
        }

        Status = StatusConditionsDB.conditions[statusID];
        Status?.Onstart?.Invoke(this);
        StatsChanges.Enqueue($"{Base.Name} {Status.StartMessage}");
        OnStatusChanged?.Invoke();
    }
Ejemplo n.º 3
0
    public void ApplyBoosts(List <StatBoost> statBoosts)
    {
        foreach (var statsBoost in statBoosts)
        {
            var stat  = statsBoost.stat;
            var boost = statsBoost.boost;

            StatsBoosts[stat] = Mathf.Clamp(StatsBoosts[stat] + boost, -6, 6);

            if (boost > 0)
            {
                StatsChanges.Enqueue($"{Base.Name}'s {stat} rose!");
            }
            else
            {
                StatsChanges.Enqueue($"{Base.Name}'s {stat} fell!");
            }

            Debug.Log($"{stat} has been boosted to {StatsBoosts[stat]}");
        }
    }