Esempio n. 1
0
        public override QuestResult GetResult(Party party)
        {
            int killedVictims =
                (int)((party.GetAverageStats().Speed / 3 + party.GetAverageStats().Strength / 4 - Difficulty));

            killedVictims = Math.Max(0, killedVictims);

            var qr = new QuestResult();

            qr.ReturnParty = party;
            DamageRandomParts(qr.ReturnParty, Difficulty / 100 + 4);
            // if (killedVictims <= 0) return qr;

            qr.Gold = killedVictims * party.GetAverageStats().Intelligence / 100;
            if (double.IsNaN(qr.Gold))
            {
                qr.Gold = 0;
            }

            for (var i = 0; i < 10 / 2; i++)
            {
                qr.Loot.Add(PartGenerator.GeneratePart());
            }

            qr.Report = $"You have slain {killedVictims} villagers!";

            return(qr);
        }
Esempio n. 2
0
        public override QuestResult GetResult(Party party)
        {
            var killedChickens = (int)((party.GetAverageStats().Strength / 3) + party.GetAverageStats().Dexterity -
                                       Difficulty);

            var qr = new QuestResult {
                ReturnParty = party
            };

            DamageRandomParts(qr.ReturnParty, Difficulty / 100);
            qr.Report = $"Your party managed to kill {Math.Max(0, killedChickens)} chickens!";
            if (killedChickens <= 0)
            {
                return(qr);
            }
            if (killedChickens >= chickenCount)
            {
                qr.success = true;
            }

            qr.Gold = killedChickens;
            for (var i = 0; i < killedChickens / 2; i++)
            {
                qr.Loot.Add(PartGenerator.GeneratePart());
            }

            return(qr);
        }
Esempio n. 3
0
 public void generateBodyPartVisual()
 {
     if (PartTypeOverride != PartType.TORSO)
     {
         AssignPart(PartGenerator.GeneratePart());
     }
     else
     {
         AssignPart(PartGenerator.GeneratePart(PartType.TORSO));
     }
 }