Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0008343 [DCSS] Bug Report trivial N/A 2014-04-02 03:26 2016-12-05 05:12
Reporter Lightli View Status public  
Assigned To PleasingFungus
Priority normal Resolution done  
Status resolved   Product Branch 0.14 ancient branch
Summary 0008343: Grey slime creature
Description It's like a slime creature only grey instead of green.

Relevant save file here:

https://dobrazupa.org/saves/darkli-crawl-git-a771cbda9e-140402-0124.tar.bz2 [^]
Additional Information
Tags No tags attached.
Attached Files ? file icon notify_of_stale_ugly_colour.patch [^] (946 bytes) 2016-12-04 20:23 [Show Content]

- Relationships
has duplicate 0007739resolvedPleasingFungus Purple slime creature 

-  Notes
(0025851)
Lightli (reporter)
2014-04-17 22:11

- https://dobrazupa.org/saves/darkli-crawl-0.14-140417-2012.tar.bz2 [^]

Happened again, but this time with a hydra. No idea why.
(0025879)
magicpoints (reporter)
2014-04-21 22:02

I saw something similar, with green colored centaurs.

https://dobrazupa.org/saves/magicpoints-crawl-0.14-140421-1851.tar.bz2 [^]

This happened in hangedman_spin_cycle. Both plain and warrior centaurs were the same color. Persisted through save, but I didn't see any more centaurs after this until I died.
(0025881)
Lightli (reporter)
2014-04-22 08:14

https://dobrazupa.org/saves/darkli-crawl-0.14-140422-0614.tar.bz2 [^]

Happened yet again, and now it's just plain fucking with me.

A red frost giant. Seriously?
(0026582)
Lightli (reporter)
2014-06-22 21:09

https://dobrazupa.org/saves/darkli-crawl-git-393eda0d44-140622-1909.tar.bz2 [^]

Green frost giant. I've stopped trying to think of ways in which this could make any sense.
(0026721)
Whales (reporter)
2014-07-10 20:13

I've seen this, for slime creatures alone - issue 7739 ( https://crawl.develz.org/mantis/view.php?id=7739 [^] )
(0027523)
Psiweapon (reporter)
2014-10-21 17:10

hilarious
(0031259)
rchandra (reporter)
2016-11-15 02:24

Unfortunately I had killed all the purple ogres in this vault before thinking to ask about it. (presumably coincidentally) there are a lot of other purple enemies there like boggart, ogre mage, Titan, ... https://crawl.jorgrun.rocks/saves/hyperrchandra-crawl-0.19-161115-0122.tar.bz2 [^]
(0031333)
johnnyzero (reporter)
2016-12-03 09:03

Here's another save: http://crawl.beRotato.org/crawl/saves/johnnyzero-crawl-git-c929cd22f6-161203-0145.tar.bz2 [^]

I'm pretty sure this is an issue relating to ugly things in bands:

A single ugly thing in a band will cause all monsters within the band to have the same base colour. There's no sort of check that all monsters within the band are ugly things.

The following arena options will spawn situations like the one in my save. Watch the eye of draining color when an ugly thing is spawned as the band member.

"delay:100 no_summons respawn move_respawns ban_glyphs:abcdefghijklmnopqrstvwxyzABCDEFHIJK
LMNOPQRSTUVWXYZ eye of draining band v eye of devastation"


The same behavior may be observed by spawning Mnoleg bands.

Relevant pull request: https://github.com/crawl/crawl/pull/420 [^]
(0031336)
PleasingFungus (administrator)
2016-12-04 16:54

Good commit (not a fan of that static colour variable), but it doesn't seem like it explains most of the weirdness in this issue, e.g. the ogres.
(0031337)
johnnyzero (reporter)
2016-12-04 20:20
edited on: 2016-12-04 20:30

I forgot to mention the second part of the fix which is noted in the commit message. Pre-patch, if placement of an ugly thing band fails, the static variable is not cleared and the next monster placement gets the previously-picked ugly thing colour.

Early return 1:
https://github.com/crawl/crawl/blob/c70ed55bd8958a7f33a774819d7150fec466bc8e/crawl-ref/source/mon-place.cc#L947-L955 [^]

Early return 2:
https://github.com/crawl/crawl/blob/c70ed55bd8958a7f33a774819d7150fec466bc8e/crawl-ref/source/mon-place.cc#L1034-L1037 [^]

Static variable reset missed when returning early:
https://github.com/crawl/crawl/blob/c70ed55bd8958a7f33a774819d7150fec466bc8e/crawl-ref/source/mon-place.cc#L1040-L1042 [^]

To reproduce, checkout a pre-patched revision (38049aa058e64533f66adc77c60ad11765dd374f^) and apply the attached notify_of_stale_ugly_colour.patch patch.

Load up crawl in wizmode head to depths (&~U4). Regenerate the level (&ctrl-r) until an error message is printed. Find the affected monster[s] to confirm. Xray vision (&V) and freeze time (&E) may be helpful.

This may take quite a few level generations to trigger, and the ugly thing color may collide with the natural colour of the affected monster[s].
"golden dragon" generation contaminated with stale ugly colour: "green"
"deep troll shaman" generation contaminated with stale ugly colour: "white"


edit: Patch was mangled when pasted, attached it. Also, corrected the checkout commit hash.

(0031338)
PleasingFungus (administrator)
2016-12-05 05:12

Ah, that explains it! Extremely good work; this had been a mystery for a long time :)

Pushed as 38049aa/b1c82ab.

- Issue History
Date Modified Username Field Change
2014-04-02 03:26 Lightli New Issue
2014-04-17 22:11 Lightli Note Added: 0025851
2014-04-21 22:02 magicpoints Note Added: 0025879
2014-04-22 08:14 Lightli Note Added: 0025881
2014-06-22 21:09 Lightli Note Added: 0026582
2014-07-10 20:13 Whales Note Added: 0026721
2014-10-21 17:10 Psiweapon Note Added: 0027523
2016-07-05 09:30 PleasingFungus Relationship added has duplicate 0007739
2016-11-15 02:24 rchandra Note Added: 0031259
2016-12-03 09:03 johnnyzero Note Added: 0031333
2016-12-04 16:54 PleasingFungus Note Added: 0031336
2016-12-04 20:20 johnnyzero Note Added: 0031337
2016-12-04 20:23 johnnyzero File Added: notify_of_stale_ugly_colour.patch
2016-12-04 20:30 johnnyzero Note Edited: 0031337
2016-12-05 05:12 PleasingFungus Note Added: 0031338
2016-12-05 05:12 PleasingFungus Status new => resolved
2016-12-05 05:12 PleasingFungus Fixed in Branch => 0.20 development branch
2016-12-05 05:12 PleasingFungus Resolution open => done
2016-12-05 05:12 PleasingFungus Assigned To => PleasingFungus


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker