Exemplo n.º 1
0
    public override void ApplyStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.pacifier = 0;
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.pacifier = 0;
        }
    }
Exemplo n.º 2
0
    public override void ApplyStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.characteristics.other.currentTurnRegenPerSecond = 0;
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.currentTurnRegenPerSecond = 0;
        }
    }
Exemplo n.º 3
0
    public override void ApplyStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.characteristics.currentStrength  += (int)(player.characteristics.defaultStrength * 0.25f);
            player.characteristics.currentDexterity += (int)(player.characteristics.defaultDexterity * 0.25f);
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.currentStrength  += (int)(enemy.myTemplate.defaultStrength * 0.25f);
            enemy.currentDexterity += (int)(enemy.myTemplate.defaultDexterity * 0.25f);
        }
    }
Exemplo n.º 4
0
    public override void DissableStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.currentVisibility = player.defaultVisibility;

            player.ReturnToNormalState();
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;


            enemy.ReturnToNormalState();
        }
    }
Exemplo n.º 5
0
    public override void DissableStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.characteristics.other.currentTurnRegenPerSecond =
                player.characteristics.other.DefaultTurnRegenPerSecond;
            player.ReturnToNormalState();
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.currentTurnRegenPerSecond = enemy.myTemplate.DefaultTurnRegenPerSecond;
            enemy.ReturnToNormalState();
        }
    }
Exemplo n.º 6
0
    public override void DissableStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.pacifier = 1;

            player.ReturnToNormalState();
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.pacifier = 1;

            enemy.ReturnToNormalState();
        }
    }
Exemplo n.º 7
0
    public override void ApplyStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.currentVisibility = 4 + (player.playerLevel / 2);

            player.characteristics.other.currentEvasion = 50;
            player.characteristics.other.InvokeRepeating("ReduceEvasionBySecond", 1, 1);
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.currentEvasion = 50;
            enemy.InvokeRepeating("ReduceEvasionBySecond", 1, 1);
        }
    }
Exemplo n.º 8
0
    public void GiveUp(EnemyNPC enemy)
    {
        WasteTurn(1);

        float r = Random.Range(0f, 1f);

        r *= 100;

        if (r < characteristics.other.EscapeProbability(this, enemy))
        {
            controller.combatController.UpdatePlayerLog("Te has rendido.");
            controller.combatController.StopCoroutine(controller.combatController.EndCombatByGivingUp(this));
            controller.combatController.StartCoroutine(controller.combatController.EndCombatByGivingUp(this));
        }
        else
        {
            controller.combatController.UpdatePlayerLog("No has podido rendirte.");
        }
    }
Exemplo n.º 9
0
    public override void ApplyStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            for (int i = 0; i < player.characteristics.playerJob.jobHabilities.Count; i++)
            {
                player.characteristics.playerJob.jobHabilities[i].MakeAvailable(false);
            }
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            for (int i = 0; i < enemy.myTemplate.habilities.Length; i++)
            {
                enemy.myTemplate.habilities[i].MakeAvailable(false);
            }
        }
    }
Exemplo n.º 10
0
    public override void DissableStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.characteristics.currentStrength  = (player.characteristics.defaultStrength);
            player.characteristics.currentDexterity = (player.characteristics.defaultDexterity);

            player.ReturnToNormalState();
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;

            enemy.currentStrength  = (enemy.myTemplate.defaultStrength);
            enemy.currentDexterity = (enemy.myTemplate.defaultDexterity);

            enemy.ReturnToNormalState();
        }
    }
Exemplo n.º 11
0
    public void AttackInCombat(EnemyNPC enemy)
    {
        WasteTurn(0.8f);

        controller.combatController.UpdatePlayerLog("Has atacado.");

        float damage = characteristics.currentStrength + Random.Range(1, 5) + Random.Range(0, 3);

        float r = Random.Range(0f, 1f);

        if (r <= characteristics.other.CriticalHitProbability(this))
        {
            controller.combatController.UpdatePlayerLog("¡CRÍTICO!");
            damage *= 2;
        }

        damage *= pacifier;


        enemy.ReceiveDamage(damage);
    }
Exemplo n.º 12
0
    public override void ImplementHability(PlayerManager player, EnemyNPC enemy)
    {
        if (!isAvailable)
        {
            if (GameState.Instance.CurrentState == GameState.GameStates.combat)
            {
                player.controller.combatController.UpdatePlayerLog("Analizar no disponible.");
                return;
            }
        }

        base.ImplementHability(player, enemy);

        isAvailable = false;

        string characteristicsEnemy;


        characteristicsEnemy = "Fuerza: " + enemy.currentStrength + "\n" +
                               "Destreza: " + enemy.currentDexterity + "\n" +
                               "Inteligencia: " + enemy.currentIntelligence + "\n" +
                               "Resistencia: " + enemy.currentResistance;

        if (GameState.Instance.CurrentState == GameState.GameStates.combat)
        {
            player.currentTurn -= turnConsuption;
            player.controller.combatController.UpdatePlayerLog("¡Has usado Analizar!");
            player.controller.combatController.enemyUI.descriptionText.text = characteristicsEnemy;
            WaitForCooldown(player);
        }
        else if (GameState.Instance.CurrentState == GameState.GameStates.exploration)
        {
            player.controller.LogStringWithReturn(TextConverter.MakeFirstLetterUpper(enemy.myTemplate.npcName) + ":\n"
                                                  + characteristicsEnemy);
        }

        WaitForCooldown();
    }
Exemplo n.º 13
0
    public override void ImplementHability(PlayerManager player, EnemyNPC enemy)
    {
        if (!isAvailable)
        {
            if (GameState.Instance.CurrentState == GameState.GameStates.combat)
            {
                player.controller.combatController.UpdatePlayerLog("Reiniciar no disponible.");
                return;
            }
        }

        base.ImplementHability(player, enemy);

        isAvailable = false;

        if (GameState.Instance.CurrentState == GameState.GameStates.combat)
        {
            player.currentTurn -= turnConsuption;
            player.controller.combatController.UpdatePlayerLog("¡Has usado Reiniciar!");
            enemy.ChangeState(stateToChange);
        }

        WaitForCooldown();
    }
Exemplo n.º 14
0
    public override void DissableStateEffect <T>(T character)
    {
        if (character.GetType() == typeof(PlayerManager))
        {
            PlayerManager player = character as PlayerManager;

            player.currentVisibility = player.defaultVisibility;

            player.characteristics.other.currentEvasion = player.characteristics.other.DefaultEvasion;
            player.characteristics.other.CancelInvoke();

            player.ReturnToNormalState();
        }
        else if (character.GetType() == typeof(EnemyNPC))
        {
            EnemyNPC enemy = character as EnemyNPC;


            enemy.currentEvasion = enemy.myTemplate.DefaultEvasion;
            enemy.CancelInvoke();

            enemy.ReturnToNormalState();
        }
    }
Exemplo n.º 15
0
 public virtual void ActivatePassiveHability(EnemyNPC player)
 {
 }
Exemplo n.º 16
0
 /// <summary>
 /// Activar la habilidad, que puede ser en combate o fuera de él.
 /// Requiere que se le envíe el manager del jugador.
 /// </summary>
 /// <param name="player"></param>
 public virtual void ImplementHability(PlayerManager player, EnemyNPC npc)
 {
     AddExperience();
 }
Exemplo n.º 17
0
        static void Main(string[] args)
        {
            Console.WriteLine(PRISON01);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            Console.WriteLine(PRISON02);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            Console.WriteLine(PRISON03);
            string PlayerChoice01 = Console.ReadLine();
            bool   HavePrisonKey  = false;

            switch (PlayerChoice01)
            {
            case "y":
                Console.WriteLine(CHOICE01Y);
                HavePrisonKey = true;
                InventorySpace--;
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                break;

            case "n":
                Console.WriteLine(CHOICE01N);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                break;

            default:
                Console.WriteLine(CHOICE01I);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                break;
            }
            Console.WriteLine(PRISON04);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            Console.WriteLine(PRISON05);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            Console.WriteLine(PRISON06);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            Console.WriteLine(PRISON07);
            EnemyNPC goblin1 = new EnemyNPC
            {
                NPCID     = 001,
                NPCName   = "Goblin Thug",
                NPCHealth = 10,
                NPCAttack = 10,
                NPCSpeed  = 2
            };
            string PlayerChoice02 = Console.ReadLine();

            switch (PlayerChoice02)
            {
            case "y":
                Console.WriteLine(CHOICE02Y);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                Random RollDice = new Random();
                int    dice     = RollDice.Next(PlayerSneak, 8);
                if (dice <= 4)
                {
                    Console.WriteLine(STATCHKF);
                    System.Threading.Thread.Sleep(MillisecondsTimeout);
                    Console.WriteLine(goblin1.Encounter());
                    BattleSim(goblin1.NPCName, goblin1.NPCSpeed, goblin1.NPCHealth, goblin1.NPCAttack);
                }
                else
                {
                    Console.WriteLine(STATCHKS);
                    PlayerSneak++;
                    System.Threading.Thread.Sleep(MillisecondsTimeout);
                }
                break;

            case "n":
                Console.WriteLine(CHOICE02N);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                break;

            default:
                Console.WriteLine(CHOICE02I);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                Console.WriteLine(goblin1.Encounter());
                BattleSim(goblin1.NPCName, goblin1.NPCSpeed, goblin1.NPCHealth, goblin1.NPCAttack);
                break;
            }
            Console.WriteLine(PRISON08);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            Console.WriteLine(PRISON09);
            System.Threading.Thread.Sleep(MillisecondsTimeout);
            if (HavePrisonKey == true)
            {
                Console.WriteLine(PRISON10);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
            }
            else
            {
                Console.WriteLine(PRISON11);
                System.Threading.Thread.Sleep(MillisecondsTimeout);
                Console.WriteLine(FIELD01);
            }
        }
Exemplo n.º 18
0
 public virtual void OnEnterState(EnemyNPC eNpc)
 {
 }
Exemplo n.º 19
0
    public IEnumerator RepositionTime(float time, EnemyNPC enemy)
    {
        yield return(new WaitForSecondsRealtime(time));

        enemy.currentEvasion = enemy.myTemplate.DefaultEvasion;
    }
Exemplo n.º 20
0
 public override void ActivatePassiveHability(EnemyNPC npc)
 {
 }
Exemplo n.º 21
0
 public abstract override void ActivatePassiveHability(EnemyNPC npc);
Exemplo n.º 22
0
    public override void ImplementHability <T>(PlayerManager player, T thing, string[] separatedInputs)
    {
        if (!isAvailable)
        {
            if (GameState.Instance.CurrentState == GameState.GameStates.combat)
            {
                player.controller.combatController.UpdatePlayerLog("Reiniciar no disponible.");
                return;
            }
        }

        base.ImplementHability(player, thing, separatedInputs);

        isAvailable = false;

        if (GameState.Instance.CurrentState == GameState.GameStates.combat)
        {
            if (thing.GetType() == typeof(PlayerInstance))
            {
                player.currentTurn -= turnConsuption;
                PlayerInstance enemy = thing as PlayerInstance;

                player.controller.combatController.UpdatePlayerLog("¡Has usado Modificar!");
                NetworkManager.Instance.UpdateEnemyLog(player.playerName + " ha modificado algo.");

                if (separatedInputs.Length < 2)
                {
                    player.controller.combatController.UpdatePlayerLog("Parámetros insuficientes.");
                    ImplementHability(player, enemy);
                    return;
                }

                string statOne = separatedInputs[0];
                string statTwo = separatedInputs[1];

                float temp;

                switch (statOne)
                {
                case "fuerza":
                    temp = enemy.strength;

                    switch (statTwo)
                    {
                    case "fuerza":
                        NetworkManager.Instance.ChangeStrength(1, enemy);
                        break;

                    case "destreza":
                        NetworkManager.Instance.ChangeStrength(enemy.dexterity, enemy);
                        NetworkManager.Instance.ChangeDexterity(temp, enemy);
                        break;

                    case "inteligencia":
                        NetworkManager.Instance.ChangeStrength(enemy.intelligence, enemy);
                        NetworkManager.Instance.ChangeIntelligence(temp, enemy);
                        break;

                    case "resistencia":
                        NetworkManager.Instance.ChangeStrength(enemy.resistance, enemy);
                        NetworkManager.Instance.ChangeResistance(temp, enemy);
                        break;
                    }
                    break;

                case "destreza":
                    temp = enemy.dexterity;

                    switch (statTwo)
                    {
                    case "fuerza":
                        NetworkManager.Instance.ChangeDexterity(enemy.strength, enemy);
                        NetworkManager.Instance.ChangeStrength(temp, enemy);
                        break;

                    case "destreza":
                        NetworkManager.Instance.ChangeDexterity(1, enemy);
                        break;

                    case "inteligencia":
                        NetworkManager.Instance.ChangeDexterity(enemy.intelligence, enemy);
                        NetworkManager.Instance.ChangeIntelligence(temp, enemy);
                        break;

                    case "resistencia":
                        NetworkManager.Instance.ChangeDexterity(enemy.resistance, enemy);
                        NetworkManager.Instance.ChangeResistance(temp, enemy);
                        break;
                    }
                    break;

                case "inteligencia":
                    temp = enemy.intelligence;

                    switch (statTwo)
                    {
                    case "fuerza":
                        NetworkManager.Instance.ChangeIntelligence(enemy.strength, enemy);
                        NetworkManager.Instance.ChangeStrength(temp, enemy);
                        break;

                    case "destreza":
                        NetworkManager.Instance.ChangeIntelligence(enemy.dexterity, enemy);
                        NetworkManager.Instance.ChangeDexterity(temp, enemy);
                        break;

                    case "inteligencia":
                        NetworkManager.Instance.ChangeIntelligence(1, enemy);
                        break;

                    case "resistencia":
                        NetworkManager.Instance.ChangeIntelligence(enemy.resistance, enemy);
                        NetworkManager.Instance.ChangeResistance(temp, enemy);
                        break;
                    }
                    break;

                case "resistencia":
                    temp = enemy.resistance;

                    switch (statTwo)
                    {
                    case "fuerza":
                        NetworkManager.Instance.ChangeResistance(enemy.strength, enemy);
                        NetworkManager.Instance.ChangeStrength(temp, enemy);
                        break;

                    case "destreza":
                        NetworkManager.Instance.ChangeResistance(enemy.dexterity, enemy);
                        NetworkManager.Instance.ChangeDexterity(temp, enemy);
                        break;

                    case "inteligencia":
                        NetworkManager.Instance.ChangeResistance(enemy.intelligence, enemy);
                        NetworkManager.Instance.ChangeIntelligence(temp, enemy);
                        break;

                    case "resistencia":
                        NetworkManager.Instance.ChangeResistance(1, enemy);
                        break;
                    }
                    break;
                }
            }

            if (thing.GetType() == typeof(EnemyNPC))
            {
                player.currentTurn -= turnConsuption;
                EnemyNPC enemy = thing as EnemyNPC;

                player.controller.combatController.UpdatePlayerLog("¡Has usado Modificar!");

                if (separatedInputs.Length < 2)
                {
                    player.controller.combatController.UpdatePlayerLog("Parámetros insuficientes.");
                    ImplementHability(player, enemy);
                    return;
                }

                string statOne = separatedInputs[0];
                string statTwo = separatedInputs[1];

                float temp;

                switch (statOne)
                {
                default:
                    player.controller.combatController.UpdatePlayerLog("Parámetro 1 no aceptado.");
                    ImplementHability(player, enemy);
                    return;

                case "fuerza":
                    temp = enemy.currentStrength;

                    switch (statTwo)
                    {
                    default:
                        player.controller.combatController.UpdatePlayerLog("Parámetro 2 no aceptado.");
                        ImplementHability(player, enemy);
                        return;

                    case "fuerza":
                        enemy.currentStrength = 1;
                        break;

                    case "destreza":
                        enemy.currentStrength  = enemy.currentDexterity;
                        enemy.currentDexterity = temp;
                        break;

                    case "inteligencia":
                        enemy.currentStrength     = enemy.currentIntelligence;
                        enemy.currentIntelligence = temp;
                        break;

                    case "resistencia":
                        enemy.currentStrength   = enemy.currentResistance;
                        enemy.currentResistance = temp;
                        break;
                    }
                    break;

                case "destreza":
                    temp = enemy.currentDexterity;

                    switch (statTwo)
                    {
                    default:
                        player.controller.combatController.UpdatePlayerLog("Parámetro 2 no aceptado.");
                        ImplementHability(player, enemy);
                        return;

                    case "fuerza":
                        enemy.currentDexterity = enemy.currentStrength;
                        enemy.currentStrength  = temp;
                        break;

                    case "destreza":
                        enemy.currentDexterity = 1;
                        break;

                    case "inteligencia":
                        enemy.currentDexterity    = enemy.currentIntelligence;
                        enemy.currentIntelligence = temp;
                        break;

                    case "resistencia":
                        enemy.currentDexterity  = enemy.currentResistance;
                        enemy.currentResistance = temp;
                        break;
                    }
                    break;

                case "inteligencia":
                    temp = enemy.currentIntelligence;

                    switch (statTwo)
                    {
                    default:
                        player.controller.combatController.UpdatePlayerLog("Parámetro 2 no aceptado.");
                        ImplementHability(player, enemy);
                        return;

                    case "fuerza":
                        enemy.currentIntelligence = enemy.currentStrength;
                        enemy.currentStrength     = temp;
                        break;

                    case "destreza":
                        enemy.currentIntelligence = enemy.currentDexterity;
                        enemy.currentDexterity    = temp;
                        break;

                    case "inteligencia":
                        enemy.currentIntelligence = 1;
                        break;

                    case "resistencia":
                        enemy.currentIntelligence = enemy.currentResistance;
                        enemy.currentResistance   = temp;
                        break;
                    }
                    break;

                case "resistencia":
                    temp = enemy.currentResistance;

                    switch (statTwo)
                    {
                    default:
                        player.controller.combatController.UpdatePlayerLog("Parámetro 2 no aceptado.");
                        ImplementHability(player, enemy);
                        return;

                    case "fuerza":
                        enemy.currentResistance = enemy.currentStrength;
                        enemy.currentStrength   = temp;
                        break;

                    case "destreza":
                        enemy.currentResistance = enemy.currentDexterity;
                        enemy.currentDexterity  = temp;
                        break;

                    case "inteligencia":
                        enemy.currentResistance   = enemy.currentIntelligence;
                        enemy.currentIntelligence = temp;
                        break;

                    case "resistencia":
                        enemy.currentResistance = 1;
                        break;
                    }
                    break;
                }
            }
        }

        WaitForCooldown();
    }
Exemplo n.º 23
0
    public void CheckHabilitiesInputDuringCombat(string[] separatedInputWords, GameController controller, EnemyNPC enemy)
    {
        Job playerJob = controller.playerManager.characteristics.playerJob;

        char[] habilitiesChars = separatedInputWords[0].ToCharArray();

        if (habilitiesChars.Length == 3)
        {
            string[] tempSeparatedInputWords = new string[separatedInputWords.Length + 3];
            for (int i = 0; i < habilitiesChars.Length; i++)
            {
                tempSeparatedInputWords[i] = habilitiesChars[i].ToString();
            }
            for (int i = 1; i < separatedInputWords.Length; i++)
            {
                tempSeparatedInputWords[i + 2] = separatedInputWords[i];
            }
            separatedInputWords = tempSeparatedInputWords;
        }

        if (separatedInputWords.Length < 3)
        {
            TryToSendResponse(controller,
                              "Parametros Insuficientes.");
            return;
        }

        if (separatedInputWords[0] != "0")
        {
            TryToSendResponse(controller,
                              "Valores invalidos recibidos.");
            return;
        }

        if (separatedInputWords[1] != playerJob.identifier.ToString())
        {
            TryToSendResponse(controller,
                              "No se detectó habilidad de " + TextConverter.MakeFirstLetterUpper(playerJob.jobName) +
                              ".");
            return;
        }

        for (int i = 0; i < playerJob.unlockedHabilities.Count; i++)
        {
            if (separatedInputWords[2] == playerJob.unlockedHabilities[i].habilityID.ToString())
            {
                if (separatedInputWords.Length == 3)
                {
                    playerJob.unlockedHabilities[i].ImplementHability(controller.playerManager, enemy);
                }
                else if (separatedInputWords.Length == 4)
                {
                    string[] separatedString = { separatedInputWords[3] };

                    playerJob.unlockedHabilities[i].ImplementHability(controller.playerManager, enemy, separatedString);
                }
                else if (separatedInputWords.Length == 5)
                {
                    string[] separatedString = { separatedInputWords[3], separatedInputWords[4] };

                    playerJob.unlockedHabilities[i].ImplementHability(controller.playerManager, enemy, separatedString);
                }

                return;
            }
        }

        TryToSendResponse(controller,
                          "Habilidad no detectada.");
    }
Exemplo n.º 24
0
 public override void OnEnterState(EnemyNPC eNpc)
 {
     _eNpc = eNpc;
     EnemyPathSetter.OnTargetSpawnedForEnemy += HandleTargetSpawnedForEnemy;
     OnEnemySpawned?.Invoke(GetInstanceID());
 }
Exemplo n.º 25
0
    public override void ImplementHability(PlayerManager player, EnemyNPC enemy)
    {
        if (!isAvailable)
        {
            if (GameState.Instance.CurrentState == GameState.GameStates.combat)
            {
                player.controller.combatController.UpdatePlayerLog("Reiniciar no disponible.");
                return;
            }
        }

        base.ImplementHability(player, enemy);

        isAvailable = false;

        if (GameState.Instance.CurrentState == GameState.GameStates.combat)
        {
            player.currentTurn -= turnConsuption;
            player.controller.combatController.UpdatePlayerLog("¡Has usado Modificar!");

            int pickOne = Random.Range(1, 5);
            int pickTwo = pickOne;

            while (pickTwo == pickOne)
            {
                pickTwo = Random.Range(1, 5);
            }

            float temp;

            switch (pickOne)
            {
            case 1:
                temp = enemy.currentStrength;

                switch (pickTwo)
                {
                case 1:
                    enemy.currentStrength = 1;
                    break;

                case 2:
                    enemy.currentStrength  = enemy.currentDexterity;
                    enemy.currentDexterity = temp;
                    break;

                case 3:
                    enemy.currentStrength     = enemy.currentIntelligence;
                    enemy.currentIntelligence = temp;
                    break;

                case 4:
                    enemy.currentStrength   = enemy.currentResistance;
                    enemy.currentResistance = temp;
                    break;
                }
                break;

            case 2:
                temp = enemy.currentDexterity;

                switch (pickTwo)
                {
                case 1:
                    enemy.currentDexterity = enemy.currentStrength;
                    enemy.currentStrength  = temp;
                    break;

                case 2:
                    enemy.currentDexterity = 1;
                    break;

                case 3:
                    enemy.currentDexterity    = enemy.currentIntelligence;
                    enemy.currentIntelligence = temp;
                    break;

                case 4:
                    enemy.currentDexterity  = enemy.currentResistance;
                    enemy.currentResistance = temp;
                    break;
                }
                break;

            case 3:
                temp = enemy.currentIntelligence;

                switch (pickTwo)
                {
                case 1:
                    enemy.currentIntelligence = enemy.currentStrength;
                    enemy.currentStrength     = temp;
                    break;

                case 2:
                    enemy.currentIntelligence = enemy.currentDexterity;
                    enemy.currentDexterity    = temp;
                    break;

                case 3:
                    enemy.currentIntelligence = 1;
                    break;

                case 4:
                    enemy.currentIntelligence = enemy.currentResistance;
                    enemy.currentResistance   = temp;
                    break;
                }
                break;

            case 4:
                temp = enemy.currentIntelligence;

                switch (pickTwo)
                {
                case 1:
                    enemy.currentResistance = enemy.currentStrength;
                    enemy.currentStrength   = temp;
                    break;

                case 2:
                    enemy.currentResistance = enemy.currentDexterity;
                    enemy.currentDexterity  = temp;
                    break;

                case 3:
                    enemy.currentResistance   = enemy.currentIntelligence;
                    enemy.currentIntelligence = temp;
                    break;

                case 4:
                    enemy.currentResistance = 1;
                    break;
                }
                break;
            }
        }

        WaitForCooldown();
    }
Exemplo n.º 26
0
 public override void ActivatePassiveHability(EnemyNPC npc)
 {
     //This will do nothing
 }