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; } }
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)); } }
public SetStatus(int charIndex, Enums.StatusAilment ailment) { this.charIndex = charIndex; this.ailment = ailment; }