From 1cef842786e150e089f998551ecf0e87d7659c28 Mon Sep 17 00:00:00 2001 From: nhmall Date: Tue, 18 Sep 2018 20:15:13 -0400 Subject: [PATCH] some orctown tuning bits --- src/makemon.c | 2 +- src/mkmaze.c | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/makemon.c b/src/makemon.c index e4cece72d..3fd910201 100644 --- a/src/makemon.c +++ b/src/makemon.c @@ -1391,7 +1391,7 @@ int mmflags; } if (allow_minvent && migrating_objs) - deliver_obj_to_mon(mtmp, DF_RANDOM3); /* in case there's waiting items */ + deliver_obj_to_mon(mtmp, DF_RANDOM2); /* in case there's waiting items */ if (!in_mklev) newsym(mtmp->mx, mtmp->my); /* make sure the mon shows up */ diff --git a/src/mkmaze.c b/src/mkmaze.c index 2e2646647..539f380e0 100644 --- a/src/mkmaze.c +++ b/src/mkmaze.c @@ -678,6 +678,8 @@ const char *gang; if (otmp && gang) { new_oname(otmp, strlen(gang) + 1); /* removes old name if one is present */ Strcpy(ONAME(otmp), gang); + if (otyp >= TRIPE_RATION && otyp <= TIN) + otmp->quan += (long) rn2(3); } } @@ -710,13 +712,13 @@ stolen_booty(VOID_ARGS) migrate_orc(mtmp, ORC_LEADER); } /* create the stuff that the rest of the gang took */ + migr_booty_item(rn2(2) ? LONG_SWORD : SILVER_SABER, gang); cnt = rn2(3) + 1; for (i = 0; i < cnt; ++i) migr_booty_item(rn2(4) ? TALLOW_CANDLE : WAX_CANDLE, gang); cnt = rn2(2) + 1; for (i = 0; i < cnt; ++i) migr_booty_item(SKELETON_KEY, gang); - migr_booty_item(rn2(2) ? LONG_SWORD : SILVER_SABER, gang); otyp = rn2((GAUNTLETS_OF_DEXTERITY - LEATHER_GLOVES) + 1) + LEATHER_GLOVES; migr_booty_item(otyp, gang); cnt = rn2(9) + 1; @@ -735,22 +737,33 @@ stolen_booty(VOID_ARGS) if (DEADMONSTER(mtmp)) continue; - if (is_orc(mtmp->data) && !has_mname(mtmp) && rn2(10)) - mtmp = christen_orc(mtmp, upstart(gang)); + if (is_orc(mtmp->data) && !has_mname(mtmp) && rn2(10)) { + /* + * We'll consider the orc captain from the level + * .des file to be the captain of a rival orc horde + * who is there to see what has transpired, and to + * contemplate future action. + * + * Don't christen the orc captain as a subordinate + * member of the main orc horde. + */ + if (mtmp->data != &mons[PM_ORC_CAPTAIN]) + mtmp = christen_orc(mtmp, upstart(gang)); + } } - /* Lastly, ensure there's a few more orcs from the gang along the way + /* Lastly, ensure there's several more orcs from the gang along the way. * The mechanics are such that they aren't actually identified as * members of the invading gang until they get their spoils assigned * to the inventory; handled during that assignment. */ - cnt = rn2(6) + 1; + cnt = rn2(7) + 5; for (i = 0; i < cnt; ++i) { int mtyp; mtyp = rn2((PM_ORC_SHAMAN - PM_ORC) + 1) + PM_ORC; mtmp = makemon(&mons[mtyp], 0, 0, MM_NONAME); if (mtmp) - migrate_orc(mtmp, 0L); + migrate_orc(mtmp, 0UL); } ransacked = 0;