Summary of spell changes: -- wimpiness of 'default' spell fixed by doing half damage for magic resistance instead of 1 damage, and using half monster level instead of 1/3. It may still need tweaking, but is much better than before. -- 'default' spell for cleric monsters is now the wounds spell, by analogy with wizard monsters. -- added clerical lightning strike, flame strike, gush of water -- all spells should now say the monster is casting a spell, and all spells should have messages. (Side effect: monsters speeding up by other means also give a message saying so). -- casting undirected spells is not affected by whether the monster knows where you are. Monsters that are attacking your displaced image, that are several squares away, or that are peaceful can use undirected spells. -- messages should correctly say whether the spell is undirected (a monster was always casting at thin air or pointing at you and cursing, without checking to see if the spell wouldn't require pointing) -- Monsters which are attacking your displaced image, etc. use up mspec_used. If they are casting an undirected spell, the spell still works. -- Monsters which are not attacking can cast spells that don't attack. -- If a monster didn't have ranged spellcasting ability (which most don't), it would print a curse message from buzzmu() every round it was at range, creating a useless stream of constant curse messages I still haven't made spellcasters "smarter" in the sense of noticing whether you have reflection, fire resistance, etc. That opens a big can of worms because it would mean giving monsters a memory. Known bug: the higher level a monster is, the more spells it has; since it chooses a noncombat spell by randomly picking a spell and casting if it happens to be noncombat, the higher level the monster is the greater the chance of getting nothing.
37 KiB
37 KiB