Feature - Implemented Add 'ghost' or 'subgroup' proxy record to monsters

zarqon

Well-known member
This has been discussed a few places, but I could find no official feature request, so I'm making one!

When there's something strange in your neighborhood, you naturally feel like calling people who bust ghosts, but if they arrive and go to face the invisible man in your bed, wouldn't you be embarrassed if they found it was only a run-of-the-mill horror rather than a ghost? Not even the right phylum! What an embarrassing blunder!

No, next time there's something weird, and it don't look good, let's require the monster to helpfully identify itself as either "ghost" or "not ghost", by checking $monster[].ghost. Then you can bust to your heart's content, or Pinch, or Hammer, or evilscroll, and it will make you feel good.

For your convenience, I shall quote you a very helpful list of things we ain't afraid of none of, provided by the sage Bale:

Fortunately this has already been spaded. Here is the list of all ghosts:
http://kol.coldfront.net/thekolwiki/index.php/Category:Ghosts


Ancient ghost
Ancient protector spirit (The Hidden Apartment Building)
Ancient protector spirit (The Hidden Bowling Alley)
Ancient protector spirit (The Hidden Hospital)
Ancient protector spirit (The Hidden Office Building)
Banshee librarian
Battlie Knight Ghost
Bettie Barulio
Boneless blobghost
Chalkdust wraith
Claybender Sorcerer Ghost
Cold ghost
Contemplative ghost
Dusken Raider Ghost
Emily Koops, a spooky lime
Ghost
Ghost actor
Ghost miner
Ghost of Elizabeth Spookyraven
Ghost of Fernswarthy's Grandfather
Hot ghost
Hustled spectre
Lovesick ghost
Marcus Macurgeon
Marvin J. Sunny
Mayor Ghost
Mayor Ghost (Hard Mode)
Model skeleton
Mortimer Strauss
Plaid ghost
Protector Spectre
Restless ghost
Sexy sorority ghost
Sheet ghost
Sleaze ghost
Space Tourist Explorer Ghost
Spirit of New Wave (Inner Sanctum)
Spirit of New Wave (Volcanic Cave)
Spooky ghost
Stench ghost
The ghost of Ebenoozer Screege
The ghost of Jim Unfortunato
The ghost of Lord Montague Spookyraven
The ghost of Monsieur Baguelle
The ghost of Oily McBindle
The ghost of Phil Bunion
The ghost of Richard Cockingham
The ghost of Sam McGee
The ghost of Vanillica "Trashblossom" Gorton
The ghost of Waldo the Carpathian
The Headless Horseman
The Icewoman
The Unknown Accordion Thief
The Unknown Disco Bandit
The Unknown Pastamancer
The Unknown Sauceror
The Unknown Seal Clubber
The Unknown Turtle Tamer
Whatsian Commando Ghost
Wonderful Winifred Wongle

You'll note in the thread title I suggest possibly using a 'subgroup' field instead of a 'ghost' field. This is because there are also an increasing number of things that only work on bugbears, or seals, or werewolves, or snakes, or lions. I could see this being expanded later to include those other subgroups -- in which case it might be seen as nicer to have a string field (e.g. if ($monster[].subgroup == "bugbear")) than a lot of booleans.

Either way, I'll be glad when I can stop appearing to be a prank caller. Because, eventually, like in the boy who cried "wolf", they won't come.
 

Bale

Minion
There are a decent number of enchantments on gear that are "vs ghosts" so it might be useful to have this in mafia.

As for the subgroup tag, I'm not sure it is impossible for a monster to be part of two different subgroups like, "clown,ghost" in which case such an implementation would have to check $monster[].subgroup.contains_text("ghost")

PS. I prefer genus (or family) to subgroup, mostly because it fits as something more specific than phylum. Family is more accurate I think, but genus has fewer alternate meanings so I think I'd go with genus.
 

zarqon

Well-known member
@Bale: I like your Linnaean idea, but it's likely to cause confusion for subgroups that include monsters in more than one phylum. For example, the warwelf is a dude, but the Dread werewolves are beasts.

EDIT: Some perhaps clearer options: classification, collection, or the lovely Zuordnung.
 
Last edited:

Bale

Minion
What is special about the word zuordnung which google tells me is German for assignment. Clearly I'm missing some context to make it lovely.
 

Veracity

Developer
Staff member
Revision 17438 adds the GHOST attribute for all known ghosts in monsters.txt

Note that you could look at this via $monster.attributes.contains_text( "GHOST" ). However, I also added a proxy field of $monster which is a map of names:

boolean [string] sub_types

So you can do

$monster.sub_types contains "ghost"

I was surprised that model skeleton was a ghost. Then I saw that it is described as a model skeleton animated by a poltergist - and the Wiki lists it as both a "ghost" and a "skeleton" - an easy example of a monster with multiple subtypes.

I also tagged the following monsters as GHOST, even though Bale's list did not have them:

ancient protector spirit (obsolete)
ghostly pickle factory worker
Mer-Kin spectre
Spirit of New Wave (The Nemesis' Lair)
 
Top