Anonymous | Login | 2024-04-25 13:45 CEST |
Main | My View | View Issues | Change Log | Wiki | Tavern | News |
Viewing Issue Simple Details [ Jump to Notes ] [ Wiki ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||||||
0007115 | [DCSS] Patches | minor | always | 2013-05-31 07:32 | 2013-05-31 09:16 | ||||||||
Reporter | qoala | View Status | public | ||||||||||
Assigned To | KiloByte | ||||||||||||
Priority | normal | Resolution | done | ||||||||||
Status | resolved | Product Branch | 0.13 ancient branch | ||||||||||
Summary | 0007115: Make djinn actually immune to mortal fire | ||||||||||||
Description |
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? |
||||||||||||
Additional Information | |||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files | djinn_mortalfire_immunity.patch [^] (766 bytes) 2013-05-31 07:32 [Show Content] | ||||||||||||
|
Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group |