public override string RollPartyDice(Dungeon dungeon, int partySize = 7) { // roll party dice to create your party // transform scrolls to champions for this hero string message = $"Rolling the party dice. {SoundManager.DiceRollSound(true)} Your party consists of: "; int scrollCount = 0; for (int i = 0; i < partySize; i++) { PartyDie die = new PartyDie(); if (die.Companion == CompanionType.Scroll) { die.Companion = CompanionType.Champion; scrollCount++; } PartyDice.Add(die); } message += $"{GetPartyAsString()}. "; if (scrollCount == 1) { message += "One scroll was transformed to a champion. "; } else if (scrollCount > 1) { message += $"{scrollCount} scrolls were transformed to champions. "; } return(message); }
public virtual string RollPartyDice(Dungeon dungeon, int partySize = 7) { // roll party dice to create your party // use the size to determine the size of party as some heroes may have a larger party string message = $"Rolling the party dice.{SoundManager.DiceRollSound(true)} Your party consists of: "; for (int i = 0; i < partySize; i++) { PartyDie die = new PartyDie(); PartyDice.Add(die); } message += $"{GetPartyAsString()}. "; return(message); }
public override string RollPartyDice(Dungeon dungeon, int partySize = 7) { // this hero plays with 5 party dice and starts with 5 champions string message = "Your party consists of: "; for (int i = 0; i < 5; i++) { PartyDie die = new PartyDie(); die.Companion = CompanionType.Champion; PartyDice.Add(die); } message += $"{GetPartyAsString()}. "; return(message); }
public override string ActivateLevelTwoUltimate() { if (IsExhausted) { return("Your hero is exhausted and cannot use the ultimate ability in this dungeon delve. "); } if (!IsLeveledUp) { return("Your hero is still an Alchemist and cannot use the Transformation Potion ultimate. Try saying Healing Salve instead. "); } // check if graveyard is empty if (Graveyard < 1) { return("There are no party dice in the graveyard. Use Transformation Potion when you have at least one party die in the graveyard. "); } // we have dice in the graveyard, check if we can revive two or just one int reviveCount = Graveyard == 1 ? 1 : 2; string message = ""; if (reviveCount == 1) { PartyDie die = new PartyDie(); PartyDice.Add(die); message = $"You used a Transformation Potion and added one {die.Companion} to your party. "; } else { // we need to revive two party dice Graveyard -= reviveCount; PartyDie dieOne = new PartyDie(); PartyDie dieTwo = new PartyDie(); PartyDice.Add(dieOne); PartyDice.Add(dieTwo); message = "You used a Transformation Potion and added "; if (dieOne.Companion == dieTwo.Companion) { message += dieOne.Companion == CompanionType.Thief ? "two thieves to your party. " : $"two {dieOne.Companion}s to your party. "; } else { message += $"one {dieOne.Companion}, and one {dieTwo.Companion} to your party. "; } } IsExhausted = true; return(message); }
public string ReviveCompanion(CompanionType companion) { // move a party die from graveyard to party dice then set the companion value Graveyard--; var partyDie = new PartyDie(); partyDie.Companion = companion; PartyDice.Add(partyDie); RevivalsRemaining--; if (RevivalsRemaining > 0) { return($"You added a {companion} to your party. Say revive to revive another companion. "); } // no more revivals return($"You added a {companion} to your party. "); }
public override string ActivateLevelOneUltimate() { if (IsExhausted) { return("Your hero is exhausted and cannot use the ultimate ability in this dungeon delve. "); } if (IsLeveledUp) { return("You are a Thaumaturge now. To use your new ultimate ability say Transformation Potion. "); } // check if graveyard is empty if (Graveyard < 1) { return("There are no party dice in the graveyard. Use Healing Salve when you have at least one party die in the graveyard. "); } // we have dice in the graveyard, let's add it to our party PartyDie die = new PartyDie(); PartyDice.Add(die); Graveyard--; IsExhausted = true; return($"You cast Healing Salve and added one {die.Companion} to your party. "); }