That depends whether you want a quick fix or a proper rewrite of monster melee. The latter has been on my mind for a long time (make_attack_normal is still the longest non-borg function in the code by several hundred lines), but it's never reached the top of the list.
I would create a list-mon-melee.h along the lines of list-mon-spells.h so that we define for each attack type the percentage of each element in the attack (no reason you can't have more than two e.g. plasma could be 20% physical, 40% fire 40% lightning), along with the side effects/procs flowing from each attack type, message text, percentage preference etc. Then you can simplify the code right down to iterate over the available attacks.
But for 3.4 I'd just implement bron's fix for hit-to-burn and the other currently purely elemental attack types, ignoring the touch attacks of jellies (and whoever).
I would create a list-mon-melee.h along the lines of list-mon-spells.h so that we define for each attack type the percentage of each element in the attack (no reason you can't have more than two e.g. plasma could be 20% physical, 40% fire 40% lightning), along with the side effects/procs flowing from each attack type, message text, percentage preference etc. Then you can simplify the code right down to iterate over the available attacks.
But for 3.4 I'd just implement bron's fix for hit-to-burn and the other currently purely elemental attack types, ignoring the touch attacks of jellies (and whoever).
Comment