Knowledge base (~) odd behaviour?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MKula
    Apprentice
    • Feb 2008
    • 70

    Knowledge base (~) odd behaviour?

    Hi all,
    I'm a rare poster, but I noticed something odd in the knowledge base for monsters and this seemed like the best place to post it.

    I play around with the monster.txt file quite a lot to add/delete and try out different monster types. Recently, I've been playing around with the monster_base.txt file (now that it exists!) and I noticed that the monster memory (i.e. ~ --> d) doesn't really link to monster_base.txt.

    Two examples:
    I renamed "icky things" as "insectoids", yet icky things remain in the monster memory and insectoids do not.
    I set townsfolk to "h" since I wanted to free up "t", and I created a new monster type called "totem" with a "t". I then created 3-4 new totem monsters in the monster.txt file with the totem monster_base... and they appear in the monster memory under "Men". Furthermore, it appears that "Men" refers to "Townsfolk"... but they're not listed that way anywhere?

    Can someone help clarify this for me? Is what I mention above a feature or a bug?

    Thanks in advance!
    It breathes on you.
    You die.
  • Nick
    Vanilla maintainer
    • Apr 2007
    • 9633

    #2
    This is not really a bug, more of a limitation or maybe a design choice.

    The monster categories in the knowledge menu are hard-coded (in ui-knowledge.c):
    Code:
    	{ L"A",        "Ainur" },
    	{ L"a",        "Ants" },
    	{ L"b",        "Bats" },
    	{ L"B",        "Birds" },
    	{ L"C",        "Canines" },
    	{ L"c",        "Centipedes" },
    	{ L"uU",       "Demons" },
    	{ L"dD",       "Dragons" },
    	{ L"vE",       "Elementals/Vortices" },
    	{ L"e",        "Eyes/Beholders" },
    	{ L"f",        "Felines" },
    	{ L"G",        "Ghosts" },
    	{ L"OP",       "Giants/Ogres" },
    	{ L"g",        "Golems" },
    	{ L"H",        "Harpies/Hybrids" },
    	{ L"h",        "Hominids (Elves, Dwarves)" },
    	{ L"M",        "Hydras" },
    	{ L"i",        "Icky Things" },
    	{ L"lFI",      "Insects" },
    	{ L"j",        "Jellies" },
    	{ L"K",        "Killer Beetles" },
    	{ L"k",        "Kobolds" },
    	{ L"L",        "Lichs" },
    	{ L"tp",       "Men" },
    	{ L".$!?=~_",  "Mimics" },
    	{ L"m",        "Molds" },
    	{ L",",        "Mushroom Patches" },
    	{ L"n",        "Nagas" },
    	{ L"o",        "Orcs" },
    	{ L"q",        "Quadrupeds" },
    	{ L"Q",        "Quylthulgs" },
    	{ L"R",        "Reptiles/Amphibians" },
    	{ L"r",        "Rodents" },
    	{ L"S",        "Scorpions/Spiders" },
    	{ L"s",        "Skeletons/Drujs" },
    	{ L"J",        "Snakes" },
    	{ L"T",        "Trolls" },
    	{ L"V",        "Vampires" },
    	{ L"W",        "Wights/Wraiths" },
    	{ L"w",        "Worms/Worm Masses" },
    	{ L"X",        "Xorns/Xarens" },
    	{ L"y",        "Yeeks" },
    	{ L"Y",        "Yeti" },
    	{ L"Z",        "Zephyr Hounds" },
    	{ L"z",        "Zombies" },
    The monster base names are used only to identify that monster base for monster.txt and pit.txt and for summoning.
    One for the Dark Lord on his dark throne
    In the Land of Mordor where the Shadows lie.

    Comment

    • Carnivean
      Knight
      • Sep 2013
      • 527

      #3
      Originally posted by Nick
      The monster categories in the knowledge menu are hard-coded (in ui-knowledge.c)

      The monster base names are used only to identify that monster base for monster.txt and pit.txt and for summoning.
      There has to be a better way.

      Comment

      • MKula
        Apprentice
        • Feb 2008
        • 70

        #4
        Originally posted by Nick
        This is not really a bug, more of a limitation or maybe a design choice. The monster categories in the knowledge menu are hard-coded (in ui-knowledge.c)
        Ok, good to know and thanks for clarifying!
        Although, in reference to Carnivean's "better way" comment, I would argue that since we have this beautiful monster_base.txt file, it should serve as the reference for monster types.
        Just an idea for the future!
        It breathes on you.
        You die.

        Comment

        • krugar
          Apprentice
          • Sep 2010
          • 76

          #5
          Originally posted by MKula
          Ok, good to know and thanks for clarifying!
          Although, in reference to Carnivean's "better way" comment, I would argue that since we have this beautiful monster_base.txt file, it should serve as the reference for monster types.
          Just an idea for the future!
          Turning Angband into a generic codebase relying on configuration and configuration-like files can be a monumental task. There aren't yet, for instance, scripting hooks that could allow you to implement AI behavior for new monster classes, or to define their drops.

          Comment

          Working...
          😀
          😂
          🥰
          😘
          🤢
          😎
          😞
          😡
          👍
          👎