Skip to content

Human zombie lacking M2_HUMAN flag #1492

Open

Description

@Umbire

...as is the human mummy, already mentioned in PR-that-I-meant-to-be-an-issue #1491.

I think one of the main things to probably path around for fixing this (besides the relatively obvious question of bones stuff) might involve extending checks against tamedog and similar functions to exclude undead when preventing the taming of human monsters--this is based on an issue in SlashTHEM where segfaults kept occurring due to human mummies and zombies failing to tame as a result of being MRACE_HUMAN (equivalent to the vanilla M2_HUMAN). I'm mostly bringing this up as a point of interest, since I can't say I immediately know the entire scope of things-this-fix-would-also-require-fixes-for.

Activity

  1. Tomsod commented on Mar 4, 2026

    @Tomsod

    Per the wiki, marking human zombies as human would also make their figurines rare and unwishable, prevent shapeshifters from assuming their shape, and lower alignment of lawful players genociding them. While it's inconsistent that undead elves or dwarves are elven or dwarven, but undead humans are not 'human', I feel that is_human() is currently treated with special assumptions in the code (generally like such monsters are not really 'species' but 'professions') that zombies fail to meet. The most important effects of the race flag - same-race sacrifice and cannibalism - are already applied through undead corpse substitution, anyway.

  2. entrez commented on Mar 4, 2026

    @entrez
    Contributor
  3. Tomsod commented on Mar 4, 2026

    @Tomsod

    I checked that and no, undead are "always hostile" so murder penalties explicitly don't apply to them.

    On an unrelated note, should vampires also be human? They aren't named as such, but they do have human corpses like the explicitly "human" undead. Liches, ghosts etc. may or may not be human as well, but there's no evidence.

  4. copperwater commented on Mar 4, 2026

    @copperwater
    Contributor

    make their figurines rare and unwishable, prevent shapeshifters from assuming their shape, and lower alignment of lawful players genociding them.

    Well there you go, we've discovered some of the things this fix would also require fixes for :-)

    Personally I feel like all of these are ripe for changing, and that the game should not broadly have special behavior for humans based on their race. (Special behavior should be based on e.g. "is monster a shopkeeper, guard, or priest" instead, or whatever combination is appropriate.)

    One by one:

    • Figurines: If human figurines were allowed, you still wouldn't be able to get any of unique monsters and figurines of no-gen monsters would not randomly spawn. No-tame restrictions would prevent wished-for blessed figurines giving you a tame captain or quest guardian (but see below). So I think this could be relaxed.
    • Shapeshifters: Unique and no-gen restrictions still apply, so is it a big deal if a shapeshifter turns into a sergeant or werewolf?
    • Genocide alignment penalty: Doesn't need to exist (who even notices this?)

    I also think that the game should allow the hero to befriend humans like any other monster, and get rid of the special case for humans that prevents this. (If the reason this isn't possible is because the game calling them "tame human" would be too squicky, it can refer to them as "allied human" instead. Probably should do this for all sapient pets, tbh.) Again, there are obvious exceptions who should remain immune to taming, but it's not particularly intuitive that you can tame an Elvenking or a vampire lord yet not a measly wererat.

  5. Tomsod commented on Mar 5, 2026

    @Tomsod

    Shapeshifters: Unique and no-gen restrictions still apply, so is it a big deal if a shapeshifter turns into a sergeant or werewolf?

    I think the logic behind this one is as such: sergeants (like most humans) are a profession, so it'd be a bit like turning into a carpenter: just assuming their shape presumably doesn't grant the related learned skills, and without those it's just some human. Werecreatures are special, since it's an intrinsic condition, but their specialty is turning into an animal form, and shapeshifters will probably just choose an entirely different monster instead, so it's not inherited either, which again leaves a generic @.

    For the most part, however, whether is_human() should be special is entirely a matter of the devteam's opinion, but changing that will require fine combing through the code for the current assumptions.

  6. copperwater commented on Mar 5, 2026

    @copperwater
    Contributor

    I take your point, but just want to note that if the intent of the code is to make a distinction between profession and species, that's not entirely consistent since there are monsters like gnomish wizards and kobold shamans which ought to fall into the same "learned skill" case, but instead they are an entirely separate species that shapeshifters can become.

    Anyway, I see no reason why a chameleon shouldn't be able to imitate the generic "human" monster.

  7. Tomsod commented on Mar 5, 2026

    @Tomsod

    Yeah, it is somewhat inconsistent, but I'm just guessing at devteam's original intent. Anyway, all human @ are also M2_NOPOLY, so you'd have to change that as well (either remove the flag or allow shapeshifters to ignore it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions