Page 1 of 2
HD and polymorph
Posted:
Tuesday, 10th November 2015, 02:55
by njvack
byrel mentioned this recently, though the stories are legion: Some monsters have really surprisingly high HD and polymorph into surprisingly nasty beasts -- Gastronok is probably the most "entertaining" example of this, although there are probably some other surprises out there.
This isn't a terrible thing if it's intentional, but it doesn't feel intentional to me ("haha enjoy your shrike in Lair" doesn't seem like a crawl joke) -- and additionally, it relies on knowing HD which isn't even hinted at as a mechanic anywhere I know about. You just need to polymorph monsters and see what turns into something really appalling.
It might make more sense if Crawl picked something nearby in XP value instead, as those values (IIRC) can be tweaked by hand and are at least a little closer to meaning "this about how dangerous someone thinks this monster is."
Thoughts?
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 14:13
by bananaken
Since being spoiled is an issue, you could maybe add an extra page to the monster info window that lists what monsters it can polymorph to (if it's not magic immune). This way HD is still transparent to the player AFAIK.
That way you can at least polymorph while knowing the risks. If a player doesn't know what a shrike is that's another story though..
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 15:25
by njvack
bananaken wrote:Since being spoiled is an issue, you could maybe add an extra page to the monster info window that lists what monsters it can polymorph to (if it's not magic immune). This way HD is still transparent to the player AFAIK.
IIRC, polymorph can change HD up or down in fairly significant ways; it's just fairly uncommon. So you *can* get a huge range of monsters (and I think that's good) -- it's just that there are a few monsters that frequently do something unexpectedly nasty.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 15:26
by byrel
Pretty sure the list of what something CAN polymorph into is too long to be useful in nearly all cases (plants being an exception).
XP values are automatically generated using a very complex algorithm (takes into account monster speed, HP, spells, etc.) There are several fudge factors in there though, which allow for some tweaking.
The trouble is that XP is actually not great right now either. Sure, it's fine for most monsters, and it averages out in the end as you kill a ton of monsters, but as soon as you start using it for tactical effects the error for individual monsters will become apparent. People generally won't expect that that orc warrior could become a boggart for instance. It would improve Gastronok dramatically, but he could still be a stone giant... Overall it's a better match for monster difficulty than HD, but still quite problematic.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 17:20
by njvack
I agree, it wouldn't be perfect. But maybe it would be better? Generally, XP values are hinted at in-game in the nastiness warning, at least.
Turning Gastronok into an unarmed stone giant with no rocks and a silly hat sounds OK. Even a fire giant, honestly. Nasty monsters can poly into other nasty monsters. And orc warrior -> boggart would be kind of surprising maybe, but they're both HD 4 so that should be possible now.
I dunno. Implementation might be too complicated for an XP-based solution anyhow; it might make more sense to somehow special-case the handful of monsters who poly into crazy stuff.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 17:54
by bananaken
njvack wrote:bananaken wrote:Since being spoiled is an issue, you could maybe add an extra page to the monster info window that lists what monsters it can polymorph to (if it's not magic immune). This way HD is still transparent to the player AFAIK.
IIRC, polymorph can change HD up or down in fairly significant ways; it's just fairly uncommon. So you *can* get a huge range of monsters (and I think that's good) -- it's just that there are a few monsters that frequently do something unexpectedly nasty.
byrel wrote:Pretty sure the list of what something CAN polymorph into is too long to be useful in nearly all cases (plants being an exception).
Given these problems, what I would do is the following:
- Cap the range of monsters to a fixed value (like 10, for example). Maybe guarantee a minimum amount of choices that are above or below the monster's HD or XP.
- Roll the list of polymorph choices for that monster based on HD, XP or whatever. Special case any uniques where you may want to remove (or even add!) nasty choices.
- Display these choices on the monster description, ordered by HD or XP (e.g. This monster may polymorph into the following: )
When capping the range of monsters you'd probably want to balance readability with having "fun" or "interesting" choices, of course. I think it'd be a fun mini-game to play if you know the polymorph possibilities off the bat.
Also, this is purely hypothetical since I haven't done this, but a spoiled player could already get a lower and upper bound on possible HD rolls from polymorphing a monster and determine if they're worth the risk of polymorphing. The XP change would then make a hypothetical spoiled player look for lower and upper bound of XP values instead.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 19:47
by byrel
bananaken wrote:Given these problems, what I would do is the following:
- Cap the range of monsters to a fixed value (like 10, for example). Maybe guarantee a minimum amount of choices that are above or below the monster's HD or XP.
- Roll the list of polymorph choices for that monster based on HD, XP or whatever. Special case any uniques where you may want to remove (or even add!) nasty choices.
- Display these choices on the monster description, ordered by HD or XP (e.g. This monster may polymorph into the following: )
When capping the range of monsters you'd probably want to balance readability with having "fun" or "interesting" choices, of course. I think it'd be a fun mini-game to play if you know the polymorph possibilities off the bat.
Also, this is purely hypothetical since I haven't done this, but a spoiled player could already get a lower and upper bound on possible HD rolls from polymorphing a monster and determine if they're worth the risk of polymorphing. The XP change would then make a hypothetical spoiled player look for lower and upper bound of XP values instead.
I don't really think adding a polymorph minigame would be very good for the game. I think it makes more sense for polymorph to be an entirely opaque (but quite fair) mechanic.
Yeah, you can currently know that gastronok is a nasty polymorph if you spoil yourself, and I've done that before. I don't even have a problem with that being possible; the range of possible polymorphs makes spoiling useless except in the wildly unfair cases (boggarts, hydras, gastronok, etc.) Spoilers which are useless in practice are fine.
njvack wrote:I agree, it wouldn't be perfect. But maybe it would be better? Generally, XP values are hinted at in-game in the nastiness warning, at least.
I dunno. Implementation might be too complicated for an XP-based solution anyhow; it might make more sense to somehow special-case the handful of monsters who poly into crazy stuff.
I'm with you. XP is much better than HD because:
- The design intent of experience is to mimic monster difficulty.
- It currently does a much better job of representing monster difficulty than HD
- HD is already a massively overloaded feature
XP isn't perfect, and should probably be tweaked (I keep meaning to go through and make a patch for a starting point there, but haven't got around to it) but it beats HD from both playability and design.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 20:47
by bananaken
byrel wrote:I don't really think adding a polymorph minigame would be very good for the game. I think it makes more sense for polymorph to be an entirely opaque (but quite fair) mechanic.
Yeah, you can currently know that gastronok is a nasty polymorph if you spoil yourself, and I've done that before. I don't even have a problem with that being possible; the range of possible polymorphs makes spoiling useless except in the wildly unfair cases (boggarts, hydras, gastronok, etc.) Spoilers which are useless in practice are fine.
That's the thing though, you're already playing the polymorph minigame when you zap a wand of polymorph, you just happen decide how much information you want to include in your decision making, including spoilers. I disagree that the range of possible polymorphs makes spoiling useless: if you find that you can't fight a monster and want to polymorph it, you could identify the enemies that you'd rather encounter vs the ones you don't and zap the monster if the odds are good enough for a monster you can fight. You can
discourage this with a large enough range of monsters, but the idea behind it wouldn't change if the number of monsters was 10 or 100. In its current state, spoiling yourself on polymorph outcomes would make sense to me. In addition, I feel the other suggested changes wouldn't change this.
I think the problem with making polymorph a more "fair" mechanic is that the actual fairness is going to be mostly dependent on the context: the player's race/background, their build, their surroundings, etc. Due to how varied monsters are even within the same ballpark of HD and XP, I think it would always help to know what they can polymorph to.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 20:55
by tasonir
Is polymorph currently limited to just the wand? I think there's also a mass polymorph effect in a deck, but I'm not sure. What would be wrong with removing polymorph entirely? It seems overly complicated, and either turns a threatening monster into a trivial one or one that you are hopelessly lost against. Randomly. I don't use it, I don't think it's considered wise to use it (maybe there are some relatively safe cases?). I wouldn't consider it a core consumable, like heal wounds or blinking, that people rely on. Removing it shouldn't make the game noticeably harder (or easier, except in removing inventory clutter).
If it can be reformed into something worth keeping that's fine by me, but the current version doesn't seem all that necessary.
Re: HD and polymorph
Posted:
Tuesday, 10th November 2015, 21:34
by Sprucery
tasonir wrote: I think there's also a mass polymorph effect in a deck, but I'm not sure.
Degeneration tries to polymorph all monsters in LOS into monsters with less HD.
e: spelling
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 01:21
by adozu
it's still a good wand to carry around just to force shapeshifters out of whatever they are turned into if you happen to not want to deal with it, i mean its really easy to spot a shapeshifters when you encounter, say, a shining eye in vaults.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 02:54
by Quazifuji
I feel like every recommended use case for polymorph is extremely spoilery. It's all "these particular monsters are very dangerous for their HD so make good polymorph targets" and "you can use it to force shapeshifters into another form." Polymorphing anything but the handful of particular spoilery monsters that are much nastier than the average enemy in their HD (leardb recommend "killer bees, jellies, boggarts, harpies, electric eels, wasps, (very) ugly things, and well-equipped monsters (e.g. orc knights and hell knights)" or a shapeshifter in a dangerous form is generally recommended against.
That seems like a pretty bad state for a wand. I think you could make a legitimate case that Wand of Polymorph is one of the most spoilery items in the game if that's the correct advice. It's a fun item flavorwise and conceptual, but I feel like it definitely needs some reworking to make its use cases less spoilery.
I think the idea design of polymorph would be that you use it on monsters that are particularly dangerous to your character due to a particular trait, that other comparably-strong monsters do not have. At least, intuitively, I would think uses like polymorphing hydras if your character relies on non-flaming bladed weapons, polymorphing mutators if you have no rMut, or polymorphing fast enemies hoping to get something you can run away from would be reasonable, unspoilery things polymorph might be able to do in theory. The current use of wanting to turn well-armed enemies into ones that can't wield weapons or unarmed ones into enemies that rely on weapons is also good.
But the spoilery nonsense of "polymorph is good against enemies that are particularly weak or dangerous for their HD" is just silly.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 03:14
by chequers
Perhaps polymorph wands should become unambiguously good and always reduce monster hd. The only source of same- or up-HD polymorph would then be Xom, which is probably fine?
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 03:50
by Quazifuji
chequers wrote:Perhaps polymorph wands should become unambiguously good and always reduce monster hd. The only source of same- or up-HD polymorph would then be Xom, which is probably fine?
I mean, that wouldn't make the unambiguously good - you could still turn an HD 5 creature into a Boggart - but it would make unspoiled use of them less ill-advised overall, I guess.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 04:56
by duvessa
chequers wrote:Perhaps polymorph wands should become unambiguously good and always reduce monster hd. The only source of same- or up-HD polymorph would then be Xom, which is probably fine?
you goddamn devs deleted minmay's account just so you could take credit for his ideas
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 14:58
by MainiacJoe
The reason both the XP and HD methods remain unfair to unspoiled players is that they do not correlate well with depth, but which monsters begin to appear at which levels is precisely the information an unspoiled player gains through experience. So then, /Poly ought to work similarly to shadow creatures, turning the target into another random monster that would be created at the player's current depth. Uniques would always turn into normal monsters, with some sort of depth adjustment. To reduce predictability in the mid and late game it can not respect branch, so you could get say a Shoal monster in Elf.
The reason the current /Poly seems broken is that you can get a monster you'd never expect on your current level because of the vagaries of the HD data. Going by depth makes the wand but friendlier to spoiled and unspoiled players alike. Isn't the situation where you'd want to use /Poly one where the monster you are facing is one you're poorly equipped for, and you want to turn it into something that you're probably better equipped for? Having it work by depth is the only way I see to make the wand fulfill that purpose reliably. If you shoot it at a unique or as an unspoiled player at a monster you've never seen before, then you're gambling but you know you're gambling, and that 's fun. Gambling when you don't realize you're gambling, though, that's unfun.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 15:08
by njvack
Quazifuji wrote:I mean, that wouldn't make the unambiguously good - you could still turn an HD 5 creature into a Boggart
I've never gotten an early boggart -- do they always summon stuff from late D and Depths, or does it depend on where they are?
A quick look at mon-cast.cc makes me think they summon stuff appropriate to your current level, but I'm quite able to be wrong about the segment of code I'm looking at.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 15:51
by reaver
What if Polymorph just picked from the spawn tables for whatever level you used it on, rather than using HD/XP?
Only problems I see are:
A)Bands making this un-intuitive.
B)Encouraging players to lure monsters up stairs to polymorph them (this doesn't seem like a big deal? Monster would need to be in melee range. Maybe on something like Elf:1)
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 16:38
by njvack
Why would bands make it un-intuitive? And I can't imagine luring something I wanted to poly upstairs, because I don't want to hang around with things I want to polymorph as a general rule.
It would make the range of possible creatures maybe less interesting (you would always, I think, get something that could use gear and spellcast in Elf?) but it would clear things up. Depth, as maniacjoe suggests, might work well too.
It might make polying uniques too good; you'd pretty much be guaranteed something way less powerful.
I keep coming back to "what's the problem to solve here" -- Gastronok -> Shrike is definitely problematic. Frederick -> shrike seems not. Hydra -> Fire Dragon... I'm not sure.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 16:46
by Rast
Interesting. So the other, other good use of polymorph is to turn bulk quality permanent allies into really good permanent allies. Talk about spoily...
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 16:54
by MainiacJoe
njvack wrote: Depth, as maniacjoe suggests, might work well too.
It might make polying uniques too good; you'd pretty much be guaranteed something way less powerful.
This was my purpose for adjusting Depth when polymorphing a unique, though I don't know the game well enough to suggest a balanced multiplier or additive.
Uniques could also only poly into uniques that could be placed randomly on your level? Gastronok's depth in uniques.des is D:8-12, Orc:1-2, Lair:1-3. Similarly-depthed uniques include Erica, Erolcha, Fannar, Grum, Harold, Joseph, Maurice, Nergalle, Psyche, Sonja, Urug. Some easier than Gastronok, some harder, but none a titan. Could be abused though to generate uniques for drops, etc.
The last sentence about uniques abuse and the concern earlier about leading upstaris to polymorph suggest using the player's greatest reached depth instead of current depth.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 17:26
by njvack
I feel pretty strongly that /poly and degeneration should never, ever, ever yield a unique. Or generate gear, for that matter.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 17:27
by Lasty
It's not possible to polymorph anything into a unique.
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 17:54
by MainiacJoe
No problem, thanks for filling me in on that
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 18:52
by partial
yeah but sometimes you polymorph a hydra into a storm dragon and get yourself some cool armor
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 19:04
by duvessa
partial wrote:yeah but sometimes you polymorph a hydra into a storm dragon and get yourself some cool armor
actually that doesn't work because polymorphed monsters leave the original corpse (also in older versions IIRC they were special-cased to not produce hides, like kiku/gozag corpses are now)
Re: HD and polymorph
Posted:
Wednesday, 11th November 2015, 19:14
by njvack
Now the poly other is a limited resource, I think you should be able to use this trick to get cool armour, honestly.
Re: HD and polymorph
Posted:
Thursday, 12th November 2015, 10:41
by bananaken
njvack wrote:Now the poly other is a limited resource, I think you should be able to use this trick to get cool armour, honestly.
Personally, I'd like it if you could polymorph a target only once and there was a way of knowing in-game which monsters could polymorph into monsters with valuable hides.
Re: HD and polymorph
Posted:
Thursday, 12th November 2015, 21:24
by Lacuenta
bananaken wrote:njvack wrote:Now the poly other is a limited resource, I think you should be able to use this trick to get cool armour, honestly.
Personally, I'd like it if you could polymorph a target only once and there was a way of knowing in-game which monsters could polymorph into monsters with valuable hides.
Better make it pretty random, you don't want players to go scumming for hides and xp in at the same time.
Re: HD and polymorph
Posted:
Thursday, 12th November 2015, 22:40
by Quazifuji
While I think occasionally getting a nice hide from a Polymorph would be cool, I feel like the main purpose of polymorph should be trying to change a dangerous enemy into a less dangerous enemy. The current awkward spoilery mechanic of knowing which enemies usually become weaker when polymorphed shouldn't be replaced by the even more awkward and comparably spoilery mechanic of knowing which enemies are most likely to turn into pearl dragons when polymorphed. So if polymorph could yield hides, I would say it should be unreliable and rare enough that it's basically pointlessly impractical to ever use it for that purpose and it's just an occasional neat random bonus.
Re: HD and polymorph
Posted:
Thursday, 12th November 2015, 23:04
by CanOfWorms
reaver wrote:B)Encouraging players to lure monsters up stairs to polymorph them (this doesn't seem like a big deal? Monster would need to be in melee range. Maybe on something like Elf:1)
Use the level the monster was generated on instead of the level they're currently on. Not sure if that data is tracked though...
Re: HD and polymorph
Posted:
Sunday, 15th November 2015, 02:08
by Pollen_Golem
Using XP values rather HD sounds like a good idea. After all, HD is just a background mechanic whereas XP is supposed to really indicate the toughness of the monster, isn't it? XP values are already used by mercenaries to set their price, for example.
It would be helpful if someone would post a list of monsters ordered by HD, and a list of monsters ordered by XP value, so we could actually see what seems more appropriate.
You could define by hand, without relying on other numbers, which monsters you could possibly get by polymorphing a given monster, and do this for all monsters. This would allow you to forbid outrageous polymorphs like Gastronok the shard shrike, but may take a lot of time, at least several hours, and require updating when monsters are added or changed.
Here's a possible solution to "outrageous polymorph results" that doesn't change the underlying HD-related mechanics: successfully polymorphing a monster makes it vulnerable to further polymorphs, or turns it into a shape-shifter permanently so that it can change shape all by itself afterwards. Then you can continue zapping Gastronok the shard shrike until it turns back into a giant slug or something. This gets bonus points for tipping off players that shape-shifters are vulnerable to polymorph. And hey, it's not overpowered as long as paralysis is around.
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 18:18
by MainiacJoe
Pollen_Golem wrote:It would be helpful if someone would post a list of monsters ordered by HD, and a list of monsters ordered by XP value, so we could actually see what seems more appropriate.
I've written a script that breaks down mon-data.h. Here is the list sorted by HD. I didn't work too hard culling out behind-the-scenes entries that don't actually occur in the game.
Observations:
1) Gastronok can now turn into a juggernaut, how's that for a nasty surprise!
2) ?Vuln + /Poly is
not something you want to try with the Lernaean Hydra.
- Code:
0 large skeleton
0 shadow
0 skeleton
0 small skeleton
1 ball python
1 bat
1 butterfly
1 crawling corpse
1 ghost
1 giant cockroach
1 giant gecko
1 giant newt
1 giant spore
1 goblin
1 hobgoblin
1 jackal
1 Jessica
1 kobold
1 lava orc
1 lurking horror
1 macabre mass
1 orc
1 pillar of salt
1 quokka
1 rat
1 small zombie
1 toadstool
1 training dummy
1 ufetubus
1 zombie
2 adder
2 gnoll
2 river rat
2 Robin
2 shadow imp
2 simulacrum
2 small simulacrum
2 Terence
2 white imp
3 block of ice
3 Blork the orc
3 Crazy Yiuf
3 crimson imp
3 Dowan
3 electric eel
3 giant eyeball
3 gnoll shaman
3 halfling
3 hell rat
3 hound
3 iguana
3 Ijyb
3 iron imp
3 jelly
3 killer bee
3 lava snake
3 lightning spire
3 Menkaure
3 mummy
3 Natasha
3 ooze
3 orc priest
3 orc wizard
3 quasit
3 sheep
3 Sigmund
3 vampire bat
3 wight
3 worker ant
4 ballistomycete
4 boggart
4 centaur
4 Duvessa
4 Edmund
4 Eustachio
4 giant frog
4 gnoll sergeant
4 Grum
4 oklob sapling
4 orc warrior
4 player ghost
4 player illusion
4 porcupine
4 scorpion
4 steam dragon
4 swamp drake
4 wasp
4 wolf
4 worm
5 battlesphere
5 big kobold
5 brain worm
5 crocodile
5 deep dwarf
5 demigod
5 dwarf
5 felid
5 fire bat
5 fulminant prism
5 guardian golem
5 hell hound
5 ice beast
5 large simulacrum
5 Maurice
5 mottled dragon
5 naga
5 necrophage
5 ogre
5 orb of destruction
5 Psyche
5 Purgy
5 sky beast
5 slave
5 spectral weapon
5 spider
5 tengu
5 vampire mosquito
5 warg
5 water moccasin
5 wyvern
6 air elemental
6 basilisk
6 black bear
6 blink frog
6 bog body
6 chaos spawn
6 deep elf fighter
6 deep elf mage
6 demonspawn
6 earth elemental
6 Erolcha
6 fire drake
6 fire elemental
6 formicid
6 gargoyle
6 golden eye
6 Grinder
6 hog
6 human
6 hyperactive ballistomycete
6 Joseph
6 kobold demonologist
6 large zombie
6 neqoxec
6 Pikel
6 Prince Ribbit
6 shadow
6 small abomination
6 soldier ant
6 Sonja
6 spatial vortex
6 two-headed ogre
6 vampire
6 water elemental
6 wraith
6 ynoxinul
7 black mamba
7 blue devil
7 deep elf priest
7 efreet
7 eye of draining
7 flying skull
7 guardian mummy
7 harpy
7 hell beast
7 hellion
7 hellwing
7 hippogriff
7 hungry ghost
7 molten gargoyle
7 naga mage
7 orb spider
7 phantom
7 polar bear
7 queen bee
7 raiju
7 red devil
7 shapeshifter
7 sixfirhy
7 smoke demon
7 spiny frog
7 spriggan
7 tengu conjurer
7 tormentor
7 troll
7 unseen horror
7 ushabti
7 yak
8 ancient zyme
8 apocalypse crab
8 burning bush
8 death scarab
8 diamond obelisk
8 draconian
8 dryad
8 elf
8 fire crab
8 freezing wraith
8 fungus
8 guardian serpent
8 hornet
8 ice statue
8 insubstantial wisp
8 jumping spider
8 komodo dragon
8 naga ritualist
8 octopode
8 orange demon
8 rust devil
8 salamander
8 silent spectre
8 Snorg
8 spectral thing
8 spellforged servitor
8 statue
8 tarantella
8 trapdoor spider
8 vault sentinel
8 vine stalker
8 wandering mushroom
8 wind drake
8 worldbinder
8 yaktaur
9 anubis guard
9 boulder beetle
9 cherub
9 cyclops
9 death drake
9 deep elf conjurer
9 deep elf summoner
9 demonic crawler
9 elephant
9 Erica
9 ghost crab
9 Harold
9 ironbrand convoker
9 lindwurm
9 mana viper
9 manticore
9 moth of wrath
9 naga sharpshooter
9 Nessos
9 orc knight
9 orc sorcerer
9 phantasmal warrior
9 redback
9 siren
9 swamp dragon
9 thrashing horror
9 toenail golem
9 Urug
10 briar patch
10 centaur warrior
10 death knight
10 deep troll
10 eye of devastation
10 Fannar
10 faun
10 fire vortex
10 gelid demonspawn
10 giant orange brain
10 glowing shapeshifter
10 hell knight
10 infernal demonspawn
10 jiangshi
10 Josephine
10 lost soul
10 merfolk
10 monstrous demonspawn
10 mummy priest
10 naga warrior
10 necromancer
10 Nergalle
10 obsidian statue
10 ogre mage
10 oklob plant
10 orange crystal statue
10 plant
10 putrid demonspawn
10 salamander mystic
10 sea snake
10 shadow demon
10 shadow wraith
10 shining eye
10 shock serpent
10 skeletal warrior
10 snapping turtle
10 spatial maelstrom
10 sun demon
10 swamp worm
10 tengu warrior
10 torpor snail
10 torturous demonspawn
10 vampire mage
10 water nymph
10 wizard
10 wretched star
11 Agnes
11 anaconda
11 Azrael
11 death ooze
11 deep elf high priest
11 deep elf knight
11 flayed ghost
11 hell hog
11 hill giant
11 holy swine
11 ice devil
11 large abomination
11 orc high priest
11 rakshasa
11 slime creature
11 soul eater
11 spriggan druid
11 spriggan rider
11 vampire knight
11 wolf spider
12 alligator
12 angel
12 ball lightning
12 blizzard demon
12 deep elf demonologist
12 deep troll earth mage
12 deep troll shaman
12 ettin
12 Executioner
12 fire dragon
12 giant leech
12 great orb of eyes
12 griffon
12 ice dragon
12 iron elemental
12 merfolk impaler
12 satyr
12 snaplasher vine
12 snaplasher vine segment
12 spriggan berserker
12 starcursed mass
12 tentacle
12 tentacle segment
12 twister
12 ugly thing
13 cacodemon
13 curse skull
13 deathcap
13 drowned soul
13 eidolon
13 entropy weaver
13 ghost moth
13 green death
13 hydra
13 Louise
13 Maud
13 merfolk avatar
13 merfolk javelineer
13 minotaur
13 queen ant
13 shambling mangrove
13 vault guard
13 war gargoyle
14 Aizul
14 ancient champion
14 balrug
14 bennu
14 black draconian
14 catoblepas
14 curse toe
14 daeva
14 death cob
14 death yak
14 deep elf sorcerer
14 Donald
14 emperor scorpion
14 Frances
14 ghoul
14 green draconian
14 grey draconian
14 ironheart preserver
14 lorocyproca
14 merfolk aquamancer
14 mottled draconian
14 Murray
14 pale draconian
14 purple draconian
14 reaper
14 red draconian
14 Roxanne
14 spriggan air mage
14 storm dragon
14 white draconian
14 yaktaur captain
14 yellow draconian
15 Asterion
15 azure jelly
15 black sun
15 blood saint
15 chaos champion
15 corrupter
15 dancing weapon
15 deep elf annihilator
15 deep elf death mage
15 deep elf master archer
15 dire elephant
15 electric golem
15 elemental wellspring
15 Geryon
15 greater mummy
15 greater naga
15 iron golem
15 Jorgrun
15 mutant beast
15 ophan
15 Orb Guardian
15 orc warlord
15 salamander firebrand
15 salamander stormcaller
15 spriggan defender
15 the Enchantress
15 thorn hunter
15 warmonger
16 alligator snapping turtle
16 apis
16 crystal guardian
16 deep elf blademaster
16 Dispater
16 Dissolution
16 draconian annihilator
16 draconian caller
16 draconian knight
16 draconian monk
16 draconian scorcher
16 draconian shifter
16 draconian zealot
16 eldritch tentacle
16 eldritch tentacle segment
16 fire giant
16 frost giant
16 Gloorx Vloq
16 Ilsuiw
16 iron troll
16 Kirke
16 kraken
16 octopode crusher
16 Polyphemus
16 quicksilver dragon
16 Rupert
16 sphinx
16 stone giant
16 tentacled starspawn
16 Vashnia
16 vault warden
17 Arachne
17 Asmodeus
17 Mnoleg
17 shadow dragon
17 tengu reaver
17 the Serpent of Hell
17 the Serpent of Hell
17 the Serpent of Hell
17 the Serpent of Hell
17 Wiglaf
18 acid blob
18 Brimstone Fiend
18 caustic shrike
18 Chuck
18 Ereshkigal
18 golden dragon
18 Ice Fiend
18 Ignacio
18 iron dragon
18 Jory
18 Khufu
18 Mara
18 moon troll
18 Nikola
18 pearl dragon
18 profane servitor
18 revenant
18 Saint Roka
18 Shadow Fiend
18 very ugly thing
19 hell lord
19 Hell Sentinel
19 Lom Lobon
19 Mennas
19 pandemonium lord
19 Xtahua
20 bone dragon
20 bush
20 Cloud Mage
20 elephant slug
20 Gastronok
20 Hellbinder
20 hellephant
20 juggernaut
20 Killer Klown
20 lich
20 Nellie
20 Norris
20 Sojobo
20 titan
21 Cerebov
21 Frederick
21 shard shrike
21 the royal jelly
22 Antaeus
22 Boris
22 Margery
22 starspawn tentacle
22 starspawn tentacle segment
22 the iron giant
22 Tiamat
23 tentacled monstrosity
25 seraph
27 ancient lich
30 orb of fire
30 the Lernaean hydra
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 18:19
by MainiacJoe
And here is the list of HD ascending by monster name. Here I didn't cull out initial 'the' etc.
- Code:
18 acid blob
2 adder
11 Agnes
6 air elemental
14 Aizul
12 alligator
16 alligator snapping turtle
11 anaconda
14 ancient champion
27 ancient lich
8 ancient zyme
12 angel
22 Antaeus
9 anubis guard
16 apis
8 apocalypse crab
17 Arachne
17 Asmodeus
15 Asterion
11 Azrael
15 azure jelly
12 ball lightning
1 ball python
4 ballistomycete
14 balrug
6 basilisk
1 bat
5 battlesphere
14 bennu
5 big kobold
6 black bear
14 black draconian
7 black mamba
15 black sun
6 blink frog
12 blizzard demon
3 block of ice
15 blood saint
3 Blork the orc
7 blue devil
6 bog body
4 boggart
20 bone dragon
22 Boris
9 boulder beetle
5 brain worm
10 briar patch
18 Brimstone Fiend
8 burning bush
20 bush
1 butterfly
13 cacodemon
14 catoblepas
18 caustic shrike
4 centaur
10 centaur warrior
21 Cerebov
15 chaos champion
6 chaos spawn
9 cherub
18 Chuck
20 Cloud Mage
15 corrupter
1 crawling corpse
3 Crazy Yiuf
3 crimson imp
5 crocodile
16 crystal guardian
13 curse skull
14 curse toe
9 cyclops
14 daeva
15 dancing weapon
14 death cob
9 death drake
10 death knight
11 death ooze
8 death scarab
14 death yak
13 deathcap
5 deep dwarf
15 deep elf annihilator
16 deep elf blademaster
9 deep elf conjurer
15 deep elf death mage
12 deep elf demonologist
6 deep elf fighter
11 deep elf high priest
11 deep elf knight
6 deep elf mage
15 deep elf master archer
7 deep elf priest
14 deep elf sorcerer
9 deep elf summoner
10 deep troll
12 deep troll earth mage
12 deep troll shaman
5 demigod
9 demonic crawler
6 demonspawn
8 diamond obelisk
15 dire elephant
16 Dispater
16 Dissolution
14 Donald
3 Dowan
8 draconian
16 draconian annihilator
16 draconian caller
16 draconian knight
16 draconian monk
16 draconian scorcher
16 draconian shifter
16 draconian zealot
13 drowned soul
8 dryad
4 Duvessa
5 dwarf
6 earth elemental
4 Edmund
7 efreet
13 eidolon
16 eldritch tentacle
16 eldritch tentacle segment
3 electric eel
15 electric golem
15 elemental wellspring
9 elephant
20 elephant slug
8 elf
14 emperor scorpion
13 entropy weaver
18 Ereshkigal
9 Erica
6 Erolcha
12 ettin
4 Eustachio
12 Executioner
10 eye of devastation
7 eye of draining
10 Fannar
10 faun
5 felid
5 fire bat
8 fire crab
12 fire dragon
6 fire drake
6 fire elemental
16 fire giant
10 fire vortex
11 flayed ghost
7 flying skull
6 formicid
14 Frances
21 Frederick
8 freezing wraith
16 frost giant
5 fulminant prism
8 fungus
6 gargoyle
20 Gastronok
10 gelid demonspawn
15 Geryon
1 ghost
9 ghost crab
13 ghost moth
14 ghoul
1 giant cockroach
3 giant eyeball
4 giant frog
1 giant gecko
12 giant leech
1 giant newt
10 giant orange brain
1 giant spore
16 Gloorx Vloq
10 glowing shapeshifter
2 gnoll
4 gnoll sergeant
3 gnoll shaman
1 goblin
18 golden dragon
6 golden eye
12 great orb of eyes
15 greater mummy
15 greater naga
13 green death
14 green draconian
14 grey draconian
12 griffon
6 Grinder
4 Grum
5 guardian golem
7 guardian mummy
8 guardian serpent
3 halfling
9 Harold
7 harpy
7 hell beast
11 hell hog
5 hell hound
10 hell knight
19 hell lord
3 hell rat
19 Hell Sentinel
20 Hellbinder
20 hellephant
7 hellion
7 hellwing
11 hill giant
7 hippogriff
1 hobgoblin
6 hog
11 holy swine
8 hornet
3 hound
6 human
7 hungry ghost
13 hydra
6 hyperactive ballistomycete
5 ice beast
11 ice devil
12 ice dragon
18 Ice Fiend
8 ice statue
18 Ignacio
3 iguana
3 Ijyb
16 Ilsuiw
10 infernal demonspawn
8 insubstantial wisp
18 iron dragon
12 iron elemental
15 iron golem
3 iron imp
16 iron troll
9 ironbrand convoker
14 ironheart preserver
1 jackal
3 jelly
1 Jessica
10 jiangshi
15 Jorgrun
18 Jory
6 Joseph
10 Josephine
20 juggernaut
8 jumping spider
18 Khufu
3 killer bee
20 Killer Klown
16 Kirke
1 kobold
6 kobold demonologist
8 komodo dragon
16 kraken
11 large abomination
5 large simulacrum
0 large skeleton
6 large zombie
1 lava orc
3 lava snake
20 lich
3 lightning spire
9 lindwurm
19 Lom Lobon
14 lorocyproca
10 lost soul
13 Louise
1 lurking horror
1 macabre mass
9 mana viper
9 manticore
18 Mara
22 Margery
13 Maud
5 Maurice
3 Menkaure
19 Mennas
10 merfolk
14 merfolk aquamancer
13 merfolk avatar
12 merfolk impaler
13 merfolk javelineer
13 minotaur
17 Mnoleg
7 molten gargoyle
10 monstrous demonspawn
18 moon troll
9 moth of wrath
14 mottled draconian
5 mottled dragon
3 mummy
10 mummy priest
14 Murray
15 mutant beast
5 naga
7 naga mage
8 naga ritualist
9 naga sharpshooter
10 naga warrior
3 Natasha
10 necromancer
5 necrophage
20 Nellie
6 neqoxec
10 Nergalle
9 Nessos
18 Nikola
20 Norris
10 obsidian statue
8 octopode
16 octopode crusher
5 ogre
10 ogre mage
10 oklob plant
4 oklob sapling
3 ooze
15 ophan
10 orange crystal statue
8 orange demon
15 Orb Guardian
5 orb of destruction
30 orb of fire
7 orb spider
1 orc
11 orc high priest
9 orc knight
3 orc priest
9 orc sorcerer
15 orc warlord
4 orc warrior
3 orc wizard
14 pale draconian
19 pandemonium lord
18 pearl dragon
9 phantasmal warrior
7 phantom
6 Pikel
1 pillar of salt
10 plant
4 player ghost
4 player illusion
7 polar bear
16 Polyphemus
4 porcupine
6 Prince Ribbit
18 profane servitor
5 Psyche
5 Purgy
14 purple draconian
10 putrid demonspawn
3 quasit
13 queen ant
7 queen bee
16 quicksilver dragon
1 quokka
7 raiju
11 rakshasa
1 rat
14 reaper
7 red devil
14 red draconian
9 redback
18 revenant
2 river rat
2 Robin
14 Roxanne
16 Rupert
8 rust devil
18 Saint Roka
8 salamander
15 salamander firebrand
10 salamander mystic
15 salamander stormcaller
12 satyr
4 scorpion
10 sea snake
25 seraph
0 shadow
6 shadow
10 shadow demon
17 shadow dragon
18 Shadow Fiend
2 shadow imp
10 shadow wraith
13 shambling mangrove
7 shapeshifter
21 shard shrike
3 sheep
10 shining eye
10 shock serpent
3 Sigmund
8 silent spectre
2 simulacrum
9 siren
7 sixfirhy
10 skeletal warrior
0 skeleton
5 sky beast
5 slave
11 slime creature
6 small abomination
2 small simulacrum
0 small skeleton
1 small zombie
7 smoke demon
12 snaplasher vine
12 snaplasher vine segment
10 snapping turtle
8 Snorg
20 Sojobo
6 soldier ant
6 Sonja
11 soul eater
10 spatial maelstrom
6 spatial vortex
8 spectral thing
5 spectral weapon
8 spellforged servitor
16 sphinx
5 spider
7 spiny frog
7 spriggan
14 spriggan air mage
12 spriggan berserker
15 spriggan defender
11 spriggan druid
11 spriggan rider
12 starcursed mass
22 starspawn tentacle
22 starspawn tentacle segment
8 statue
4 steam dragon
16 stone giant
14 storm dragon
10 sun demon
9 swamp dragon
4 swamp drake
10 swamp worm
8 tarantella
5 tengu
7 tengu conjurer
17 tengu reaver
10 tengu warrior
12 tentacle
12 tentacle segment
23 tentacled monstrosity
16 tentacled starspawn
2 Terence
15 the Enchantress
22 the iron giant
30 the Lernaean hydra
21 the royal jelly
17 the Serpent of Hell
17 the Serpent of Hell
17 the Serpent of Hell
17 the Serpent of Hell
15 thorn hunter
9 thrashing horror
22 Tiamat
20 titan
1 toadstool
9 toenail golem
7 tormentor
10 torpor snail
10 torturous demonspawn
1 training dummy
8 trapdoor spider
7 troll
12 twister
6 two-headed ogre
1 ufetubus
12 ugly thing
7 unseen horror
9 Urug
7 ushabti
6 vampire
3 vampire bat
11 vampire knight
10 vampire mage
5 vampire mosquito
16 Vashnia
13 vault guard
8 vault sentinel
16 vault warden
18 very ugly thing
8 vine stalker
8 wandering mushroom
13 war gargoyle
5 warg
15 warmonger
4 wasp
6 water elemental
5 water moccasin
10 water nymph
14 white draconian
2 white imp
3 wight
17 Wiglaf
8 wind drake
10 wizard
4 wolf
11 wolf spider
3 worker ant
8 worldbinder
4 worm
6 wraith
10 wretched star
5 wyvern
19 Xtahua
7 yak
8 yaktaur
14 yaktaur captain
14 yellow draconian
6 ynoxinul
1 zombie
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 18:22
by MainiacJoe
Pollen_Golem wrote:It would be helpful if someone would post a list of monsters ordered by HD, and a list of monsters ordered by XP value, so we could actually see what seems more appropriate.
I'd be happy to generate a list of monster by XP gained, but I don't know where to find it. All that mon-data has is "XP modifier" and multiplying that by HD does not give the values that the wiki reports for several monsters.
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 19:01
by Pollen_Golem
some oddly low-HD monsters:
5 Maurice
7 orb spider
7 naga mage
7 black mamba
10 flavored demonspawn, although demonspawn professions are in the teen range
10 deep troll
11 anaconda
12 fire/ice dragon
some oddly high-HD monsters:
13 vault guard
14 catoblepas
14 death yak
15 spriggan defender
20 bush
20 Killer Klown (at least the results should be appropriately amusing)
22 Margery
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 19:16
by byrel
https://github.com/crawl/crawl/blob/489 ... l.cc#L1985There's the function that's used. Roughly, you do:
- Code:
(16+HP)*HD^2*Diff*speed*mod/1000
where
- diff is a difficulty factor based on spell-list, regen rate, item use, etc, bounded to (0.7<diff<2.0)
- speed is 10 for normal monsters, higher for faster ones
- mod is the number listed in the monster definition
Then pass that through a couple stepdowns, and there you have it.
For most monsters; resurrected undead (zombies, skeletons, etc.) of any sort are half that, and starcursed masses and slime creatures have the special casing you'd expect to make them work out intuitively (killing a stack of 2 gives twice the XP of a single, etc.) And slow melee-only monsters have a special stepdown (worms are the only one I can think of right off...)
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 19:36
by MainiacJoe
byrel wrote:https://github.com/crawl/crawl/blob/4897f3419657389e0ab8b02cdff1975029151e49/crawl-ref/source/mon-util.cc#L1985
There's the function that's used. Roughly, you do:
- Code:
(16+HP)*HD^2*Diff*speed*mod/1000
where
- diff is a difficulty factor based on spell-list, regen rate, item use, etc, bounded to (0.7<diff<2.0)
- speed is 10 for normal monsters, higher for faster ones
- mod is the number listed in the monster definition
Then pass that through a couple stepdowns, and there you have it.
For most monsters; resurrected undead (zombies, skeletons, etc.) of any sort are half that, and starcursed masses and slime creatures have the special casing you'd expect to make them work out intuitively (killing a stack of 2 gives twice the XP of a single, etc.) And slow melee-only monsters have a special stepdown (worms are the only one I can think of right off...)
Wow. Sorry, Pollen_golem, I'm probably not going to make that XP list anytime soon.
Re: HD and polymorph
Posted:
Monday, 16th November 2015, 20:57
by njvack
... and this is why XP can't actually be used to determine poly targets.
Re: HD and polymorph
Posted:
Tuesday, 17th November 2015, 10:57
by prozacelf
njvack wrote:Quazifuji wrote:I mean, that wouldn't make the unambiguously good - you could still turn an HD 5 creature into a Boggart
I've never gotten an early boggart -- do they always summon stuff from late D and Depths, or does it depend on where they are?
A quick look at mon-cast.cc makes me think they summon stuff appropriate to your current level, but I'm quite able to be wrong about the segment of code I'm looking at.
Yes, their shadow creatures works just like yours. I.e., if you cast it on d:2 you're going to get a bunch of lame shit. That being said, if you poly something into a boggart on d:2, that doesn't make you any more likely to handle the bunch of lame shit it summoned on you.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 02:38
by Pollen_Golem
A couple of practical solutions.
The first one is somewhat of a hack and just solves the most pressing issue:
Introduce a LOWER_POLY flag that makes the polymorph function look at (2/3)*HD+1 for the purpose of choosing a polymorph target. Apply this flag to problematic monsters like Gastronok and vault guards. There already exists a NO_POLY flag so this flag can be programmed similarly.
The second one is better overall, and its primary advantage is that it would not change the maths behind how polymorph matches one monster to another:
Give every monster a new parameter, a Polymorph Dice, to be used in place of HD. Thereafter, every monster's PD can be manually changed at a moment's notice. It can be done whenever a hilariously weird-HD monster is noticed, or in one sweeping recalibration (possibly making use of XP values) that still leaves PD numbers open to further tinkering. This will positively affect not only inappropriately high-HD monsters that get polymorphed, like Gastronok, but also inappropriately low-HD monsters that are chosen as polymorph results, like boggarts. Overall will lead to friendlier polymorphing.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 04:07
by duvessa
Yeah, adding a new hidden property for every monster is a great way to make polymorph less spoilery.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 04:27
by chequers
How about making polymorph work like new level creature generation? eg most of the time you get something level appropriate, but occasionally you get something OOD.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 18:40
by njvack
... and, say, uniques could have a larger chance of getting something OOD.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 18:55
by Pollen_Golem
chequers wrote:How about making polymorph work like new level creature generation? eg most of the time you get something level appropriate, but occasionally you get something OOD.
so, uh... the game would not care whether you're polymorphing an orc or an orc warlord, the results would be the same?
and if you polymorph something in Snake, you'll get a snake/snakoid 99-100% of the time?
...
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 20:24
by Piginabag
MainiacJoe wrote:Pollen_Golem wrote:Observations:
1) Gastronok can now turn into a juggernaut, how's that for a nasty surprise!
3976 penismuncher the Basher (level 10, -34/71 HPs)
Began as an Octopode Chaos Knight on Nov 17, 2015.
Annihilated by Gastronok the juggernaut (93 damage)
... on level 8 of the Dungeon.
The game lasted 00:15:01 (8936 turns).
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 20:27
by Hurricos
Pollen_Golem wrote:chequers wrote:How about making polymorph work like new level creature generation? eg most of the time you get something level appropriate, but occasionally you get something OOD.
so, uh... the game would not care whether you're polymorphing an orc or an orc warlord, the results would be the same?
and if you polymorph something in Snake, you'll get a snake/snakoid 99-100% of the time?
...
As a rule, polymorph selection should / will never result in a jobbed individual. I agree that the idea is kind of bad; polymorph's behavior of creating very random creatures should be conserved no matter what happens to it.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 21:07
by bananaken
Maybe polymorph should just be treated as a slightly more rare wand that transforms an enemy into a "bad form", much like the monster only spell Polymorph. This way you'll get a small, fixed list of possibilities, making it sensible enough to convey the information to players in-game. You might need to alter this polymorph a bit though, as I'm not sure there's support for stuff like statue form and dragon form (you may want to replace these with stone golems and fire dragons respectively). The potency of the wand can be adjusted respectively to reflect its usefulness, as well as the probabilities for getting a particular form.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 21:29
by MainiacJoe
Pollen_Golem wrote:chequers wrote:How about making polymorph work like new level creature generation? eg most of the time you get something level appropriate, but occasionally you get something OOD.
so, uh... the game would not care whether you're polymorphing an orc or an orc warlord, the results would be the same?
and if you polymorph something in Snake, you'll get a snake/snakoid 99-100% of the time?
...
Just have it not respect branch: I don't know the formula, but each level in branches has an equivalent Dungeon depth. I'm guessing it's like this:
- Code:
Lair entrance on D:9, Snake entrance on L:4, you're on S:2, for a total of 9+4+2 equivalent depth of 15.
Let's say the other branches in the game with this equivalent Depth are D:15, O:4, E:2, Snake:2, and Shoals:1. So pick a branch at random, and then generate a monster from that branch at the equivalent level. This will have a jump when the equivalent depth becomes 16 i.e. Depths: deal with it. And add some depth when polymorphing a unique.
Re: HD and polymorph
Posted:
Wednesday, 18th November 2015, 23:03
by Pollen_Golem
you're still saying that it should not matter whether it's a river rat you've just polymorphed, or a death yak
making polymorph a "turn into popcorn" wand, rather radically changing what it's good for