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);
        }
Example #2
0
        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);
        }
Example #5
0
        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. ");
        }