示例#1
0
    public virtual void ChangeStats(CombatStatsType state, int valor)
    {
        switch ((int)state)
        {
        case 0:
            MaxHp += valor;
            if (MaxHp < 0)
            {
                MaxHp = 0;
            }
            if (MaxHp < HP)
            {
                HP = MaxHp;
            }
            break;

        case 1:
            if (valor < 0)
            {
                if (1 - Defense > 0)
                {
                    HP += valor * (1 - Defense);
                }
            }
            else
            {
                HP += valor;
            }
            if (HP < 0)
            {
                Debug.Log(HP);
                HP = 0;
                Die();
            }
            else
            if (HP > MaxHp)
            {
                HP = MaxHp;
            }
            break;

        case 2:
            Damage += valor;
            if (Damage < 0)
            {
                Damage = 0;
            }
            break;

        case 3:
            Defense += valor;
            if (Defense < 0)
            {
                Defense = 0;
            }
            break;
        }
    }
示例#2
0
 public override void ChangeStats(CombatStatsType state, float valor)
 {
     base.ChangeStats(state, valor);
     if (state == CombatStatsType.LIGHTVISION)
     {
         for (int i = 0; i < playerLights.Length; i++)
         {
             playerLights[i].range += valor / 2;
             if (playerLights[i].type == LightType.Spot)
             {
                 playerLights[i].spotAngle += valor * 2;
             }
         }
     }
 }
示例#3
0
    public virtual void SetStats(CombatStatsType state, int valor)
    {
        switch ((int)state)
        {
        case 0:
            MaxHp = valor;
            break;

        case 1:
            if (valor <= MaxHp)
            {
                HP = valor;
            }
            else
            {
                HP = MaxHp;
            }
            break;

        case 2:
            Damage = valor;
            if (Damage < 0)
            {
                Damage = 0;
            }
            break;

        case 3:
            Defense = valor;
            if (Defense < 0)
            {
                Defense = 0;
            }
            break;
        }
    }