|Anonymous | Login | Signup for a new account||2019-07-19 08:43 CEST|
|Main | My View | View Issues | Change Log | Wiki | Tavern | News|
|Viewing Issue Simple Details|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0007115||[DCSS] Patches||minor||always||2013-05-31 07:32||2013-05-31 09:16|
|Status||resolved||Product Branch||0.13 ancient branch|
|Summary||0007115: Make djinn actually immune to mortal fire|
Djinn take damage from fireballs and other non-cloud sources because resist_adjust_damage() in fight.cc only special cases immunity for monsters.
Instead, their rF*4 is fed to resist_fraction for a calculated 1/6 damage
This changes the check from (mons && res >= 3) to ((mons && res >= 3) || res > 3), to have the intended behaviour of returning 4 from player_res_fire implying immunity.
I'm however not sure if there are any weird side affects from the change.
As far as I can tell, hellfire/holyfire are properly handled already.
Also this has no effect on scroll destruction.
It looks like player_res_elec is the only player_res_* which can return greater than 3, and only by wearing a pile of redundant rElec gear. To skip the cap, the caller has to call player_res_elec with temp=false, which only occurs once in the code (where the result is checked as non-zero). As such, I think there's no side effects, but perhaps player_res_elec should always cap its return value?
|Tags||No tags attached.|
|Attached Files||djinn_mortalfire_immunity.patch [^] (766 bytes) 2013-05-31 07:32 [Show Content]|
|2013-05-31 07:32||qoala||New Issue|
|2013-05-31 07:32||qoala||File Added: djinn_mortalfire_immunity.patch|
|2013-05-31 09:16||KiloByte||Note Added: 0022955|
|2013-05-31 09:16||KiloByte||Status||new => resolved|
|2013-05-31 09:16||KiloByte||Fixed in Branch||=> 0.13 development branch|
|2013-05-31 09:16||KiloByte||Resolution||open => done|
|2013-05-31 09:16||KiloByte||Assigned To||=> KiloByte|
|Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group|