Skip to content

Commit

Permalink
Fix and tweak the cartomancer rarity for cards. First I fixed the rar…
Browse files Browse the repository at this point in the history
…ity not showing up correctly.

The category for common was just under 60 cost, which made for awkward naming for the higher rarities. So, I just simplified it: Under 100 = common, under 200 = uncommon, under 300 = rare, 300+ = legendary. I didn't want to copy MtG and use mythic rare so legendary seemed fine. Also - the mythic rare thing was introduced way after I stopped playing MtG so I wasn't really familiar with it. In any case, this will make the price identify aspect both more intuitive but a little more difficult for the common cares.
  • Loading branch information
elunna committed Nov 18, 2023
1 parent 627534b commit 8a57e9b
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions src/objnam.c
Original file line number Diff line number Diff line change
Expand Up @@ -1105,10 +1105,7 @@ unsigned cxn_flags; /* bitmask of CXN_xxx values */
break;
case SCROLL_CLASS:
if (Role_if(PM_CARTOMANCER)) {
if (!nn)
Strcpy(buf, Cartomancer_rarity(typ));
else
Strcpy(buf, "card");
Strcpy(buf, Cartomancer_rarity(typ));
if (obj->quan > 1) {
Strcat(buf, "s");
pluralize = FALSE;
Expand Down Expand Up @@ -5904,18 +5901,21 @@ Cartomancer_rarity(int otyp)
int price = objects[otyp].oc_cost;
if (otyp == SCR_CREATE_MONSTER)
return "summon card";
else if (otyp == SCR_ZAPPING)
if (otyp == SCR_ZAPPING)
return "zap card";
else if (price < 60)

/* Don't show the rarity if we have identified the card.
* We could, but it takes up inventory real-estate. */
if (objects[otyp].oc_name_known)
return "card";

if (price < 100)
return "common card";
else if (price < 100)
if (price < 200)
return "uncommon card";
else if (price < 200)
if (price < 300)
return "rare card";
else if (price < 300)
return "legendary card";
else
return "mythic card";

return "legendary card";
}

/*objnam.c*/

0 comments on commit 8a57e9b

Please sign in to comment.