Dungeon Crawl Stone Soup Tracker - DCSS
Viewing Issue Advanced Details
7888 Bug Report trivial always 2013-12-19 15:05 2014-10-13 10:47
nagdon Both  
PleasingFungus All  
normal Both  
closed 0.14 ancient branch  
0.14-a0-1550-gf2134fc done  
none    
none 0.16 ancient branch  
0007888: temporary poison immunities handled as permanent in player_res_poison(...)
The function player_res_poison(...) (player.cc line 1865-) starts with an if statement which handles the cases of poison immunity with an early return. This statement doesn't handle correctly the arguments "temp" and "items" of the function:
 * temporary undead status from lichform granting immunity is handled correctly
 * statue form and petrification makes you.is_artifical() temporarily true, but these are reported even when "temp" is false
 * the staff of Olgreb is an item granting immunity, but this immunity is reported even when items don't count ("items" is false)
 * divine stamnia is a temporary effect which is reported as permanent

Also note that the checks for giving rPois to statue form (line 1925) and petrified players (line 1937) are unnecessary (is_artifical is true, so the function returns early with immunity) and a bit confusing.
Issue History
2013-12-19 15:05 nagdon New Issue
2014-09-28 23:13 PleasingFungus Note Added: 0027370
2014-09-28 23:13 PleasingFungus Status new => resolved
2014-09-28 23:13 PleasingFungus Fixed in Branch => 0.16 development branch
2014-09-28 23:13 PleasingFungus Resolution open => done
2014-09-28 23:13 PleasingFungus Assigned To => PleasingFungus
2014-10-13 10:47 nagdon Status resolved => closed

Notes
(0027370)
PleasingFungus   
2014-09-28 23:13   
I believe I fixed all of these, thanks!