Ticket #1424 (confirmed change)

Opened 2 years ago

Last modified 11 months ago

Various issues with plural handling

Reported by: myshkin Owned by: myshkin
Milestone: Future Keywords: cleanup
Cc:

Description (last modified by myshkin) (diff)

Objects and monsters should have the same plural handling code. Monster pluralization should move to the edit file. While we're at it, fix Mumak/Mumakil and Craban/Crebain plurals.

Change History

comment:1 Changed 2 years ago by myshkin

  • Description modified (diff)

comment:2 Changed 2 years ago by magnate

  • Status changed from new to confirmed
  • Milestone changed from 3.3.0 to Future

Punting in accordance with new milestone policy (that any other milestone is only set once someone is actually working on the ticket).

comment:3 Changed 2 years ago by magnate

There's also a pluraliser macro in monster1.c (and probably others - needs a grep for "plural").

comment:4 Changed 11 months ago by myshkin

Other plural issues:

  • h-basic.h defines PLURAL(n), while monster/mon-lore.c defines plural(c, s, p). I assume the latter is the macro to which magnate refers.
  • object/obj-util.c and wiz-stats.c call PLURAL(plural) to get an "s" or lack thereof for verb agreement. Here, plural is a bool. Since the PLURAL macro tests its argument against 1, that the macro works is quite difficult to see.
  • monster/mon-lore.c fails to do the same convoluted dance with the "who remain%s unavenged" string in describe_monster_kills(), and so our grammar is wrong. Spotted by Derakon on oook.
  • spells1.c:project_o() eschews these macros and rolls its own plural-handling code.
  • cmd-obj.c:activation_message() also has some verb agreement code.
  • The borg has some code for plurals as well.

comment:5 Changed 11 months ago by myshkin

  • Summary changed from Remove plural_aux() to Various issues with plural handling
Note: See TracTickets for help on using tickets.