private void people() { group("p", tracking: 14, flags: "open-doors"); breed("simpering knave", orange, 15, new List <object>() { new Attack("hit[s]", 2), new Attack("stab[s]", 4) }, drop: new List <Drop>() { DropFactory.PercentDrop(30, "whip", 1), DropFactory.PercentDrop(20, "body", 1), DropFactory.PercentDrop(10, "boots", 2), DropFactory.PercentDrop(10, "magic", 1), }, meander: 3, flags: "cowardly"); breed("decrepit mage", purple, 16, new List <object>() { new Attack("hit[s]", 2), MoveFactory.sparkBolt(rate: 10, damage: 8) }, drop: new List <Drop>() { DropFactory.PercentDrop(30, "magic", 3), DropFactory.PercentDrop(15, "dagger", 1), DropFactory.PercentDrop(15, "staff", 1), DropFactory.PercentDrop(10, "robe", 2), DropFactory.PercentDrop(10, "boots", 2) }, meander: 2); breed("unlucky ranger", green, 20, new List <object>() { new Attack("slash[es]", 2), MoveFactory.arrow(rate: 4, damage: 2) }, drop: new List <Drop>() { DropFactory.PercentDrop(15, "potion", 3), DropFactory.PercentDrop(10, "bow", 4), DropFactory.PercentDrop(5, "sword", 4), DropFactory.PercentDrop(8, "body", 3) }, meander: 2); breed("drunken priest", aqua, 18, new List <object>() { new Attack("hit[s]", 3), MoveFactory.heal(rate: 15, amount: 8) }, drop: new List <Drop>() { DropFactory.PercentDrop(15, "scroll", 3), DropFactory.PercentDrop(7, "club", 2), DropFactory.PercentDrop(7, "robe", 2) }, meander: 4, flags: "fearless"); }
private void goblins() { group("g", meander: 1, flags: "open-doors"); breed("goblin peon", lightBrown, 20, new List <object>() { new Attack("stab[s]", 5) }, drop: new List <Drop>() { DropFactory.PercentDrop(10, "spear", 3), DropFactory.PercentDrop(5, "healing", 2), }, meander: 2, flags: "few"); breed("goblin archer", green, 22, new List <object>() { new Attack("stab[s]", 3), MoveFactory.arrow(rate: 3, damage: 4) }, drop: new List <Drop>() { DropFactory.PercentDrop(20, "bow", 1), DropFactory.PercentDrop(10, "dagger", 2), DropFactory.PercentDrop(5, "healing", 3), }, flags: "few"); breed("goblin fighter", brown, 30, new List <object>() { new Attack("stab[s]", 7) }, drop: new List <Drop>() { DropFactory.PercentDrop(15, "spear", 5), DropFactory.PercentDrop(10, "armor", 5), DropFactory.PercentDrop(5, "resistance", 3), DropFactory.PercentDrop(5, "healing", 3), }); breed("goblin warrior", gray, 42, new List <object>() { new Attack("stab[s]", 10) }, drop: new List <Drop>() { DropFactory.PercentDrop(20, "axe", 6), DropFactory.PercentDrop(20, "armor", 6), DropFactory.PercentDrop(5, "resistance", 3), DropFactory.PercentDrop(5, "healing", 3), }, flags: "protective"); breed("goblin mage", blue, 30, new List <object>() { new Attack("whip[s]", 7), MoveFactory.fireBolt(rate: 12, damage: 6), MoveFactory.sparkBolt(rate: 12, damage: 8), }, drop: new List <Drop>() { DropFactory.PercentDrop(10, "equipment", 5), DropFactory.PercentDrop(10, "whip", 5), DropFactory.PercentDrop(20, "magic", 6), }); breed("goblin ranger", darkGreen, 36, new List <object>() { new Attack("stab[s]", 10), MoveFactory.arrow(rate: 3, damage: 8) }, drop: new List <Drop>() { DropFactory.PercentDrop(30, "bow", 11), DropFactory.PercentDrop(20, "armor", 8), DropFactory.PercentDrop(20, "magic", 8) }); // TODO: Always drop something good. breed("Erlkonig, the Goblin Prince", darkGray, 80, new List <object>() { new Attack("hit[s]", 10), new Attack("slash[es]", 14), MoveFactory.darkBolt(rate: 20, damage: 10), }, drop: new List <Drop>() { DropFactory.PercentDrop(60, "equipment", 10), DropFactory.PercentDrop(60, "equipment", 10), DropFactory.PercentDrop(40, "magic", 12), }, flags: "protective"); }