Пример #1
0
        private static void SetStatusAilment(ActiveChar character, Enums.StatusAilment ailment)
        {
            switch (ailment)
            {
            case Enums.StatusAilment.OK:
            {
                SetStatusAilment(character, ailment, 0);
            }
            break;

            case Enums.StatusAilment.Burn:
            {
                //on fire!
                SetStatusAilment(character, ailment, 0);
            }
            break;

            case Enums.StatusAilment.Freeze:
            {
                //frozen!
                SetStatusAilment(character, ailment, 1);
            }
            break;

            case Enums.StatusAilment.Poison:
            {
                //poisoned!
                SetStatusAilment(character, ailment, 1);
            }
            break;
            }
        }
Пример #2
0
        private static void SetStatusAilment(ActiveChar character, Enums.StatusAilment ailment, int counter)
        {
            //check status protection
            if (character.dead)
            {
                return;
            }

            bool changeStatus = (character.Status != ailment);

            switch (ailment)
            {
            case Enums.StatusAilment.OK:
            {
                switch (character.Status)
                {
                case Enums.StatusAilment.Burn:
                {
                    //no longer on fire!
                    Display.Screen.AddResult(new Results.BattleMsg("The flames on " + character.Name + " were put out!"));
                }
                break;

                case Enums.StatusAilment.Freeze:
                {
                    //thawed out!
                    //TODO: break through ice
                    Display.Screen.AddResult(new Results.BattleMsg(character.Name + " broke through the ice!"));
                }
                break;

                case Enums.StatusAilment.Poison:
                {
                    //recovered from poisoning
                    Display.Screen.AddResult(new Results.BattleMsg(character.Name + " recovered from poisoning!"));
                }
                break;
                }
                character.Status        = Enums.StatusAilment.OK;
                character.StatusCounter = 0;
            }
            break;

            case Enums.StatusAilment.Burn:
            {
                //on fire!
                Display.Screen.AddResult(new Results.BattleMsg(character.Name + " is on fire!"));
                character.Status        = Enums.StatusAilment.Burn;
                character.StatusCounter = counter;
            }
            break;

            case Enums.StatusAilment.Freeze:
            {
                //frozen!
                Display.Screen.AddResult(new Results.BattleMsg(character.Name + " is frozen solid!"));
                character.Status        = Enums.StatusAilment.Freeze;
                character.StatusCounter = counter;
            }
            break;

            case Enums.StatusAilment.Poison:
            {
                //poisoned!
                Display.Screen.AddResult(new Results.BattleMsg(character.Name + " is poisoned!"));
                character.Status        = Enums.StatusAilment.Poison;
                character.StatusCounter = counter;
            }
            break;
            }
            if (changeStatus)
            {
                Display.Screen.AddResult(new Results.SetStatus(CharIndex(character), character.Status));
            }
        }
Пример #3
0
 public SetStatus(int charIndex, Enums.StatusAilment ailment)
 {
     this.charIndex = charIndex;
     this.ailment   = ailment;
 }