diff --git a/src/mkobj.c b/src/mkobj.c index 1dd12c702..9efb6a602 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -39,6 +39,18 @@ static const struct icp mkobjprobs[] = { { 10, WEAPON_CLASS }, { 3, RING_CLASS }, { 1, AMULET_CLASS } }; +static const struct icp cartprobs[] = { { 8, WEAPON_CLASS }, + { 10, ARMOR_CLASS }, + { 30, FOOD_CLASS }, + { 8, TOOL_CLASS }, + { 8, GEM_CLASS }, + { 12, POTION_CLASS }, + { 12, SCROLL_CLASS }, + { 4, SPBOOK_CLASS }, + { 4, WAND_CLASS }, + { 3, RING_CLASS }, + { 1, AMULET_CLASS } }; + static const struct icp boxiprobs[] = { { 18, GEM_CLASS }, { 15, FOOD_CLASS }, { 18, POTION_CLASS }, @@ -256,7 +268,9 @@ boolean artif; const struct icp *iprobs = Is_rogue_level(&u.uz) ? (const struct icp *) rogueprobs : Inhell ? (const struct icp *) hellprobs - : (const struct icp *) mkobjprobs; + : Role_if(PM_CARTOMANCER) + ? (const struct icp *) cartprobs + : (const struct icp *) mkobjprobs; for (tprob = rnd(100); (tprob -= iprobs->iprob) > 0; iprobs++) ;