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); }
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); }
public void generateBodyPartVisual() { if (PartTypeOverride != PartType.TORSO) { AssignPart(PartGenerator.GeneratePart()); } else { AssignPart(PartGenerator.GeneratePart(PartType.TORSO)); } }