At absolute minimum, I'd make the "possible summons" and "do bolts hit monsters rather than player" checks independent of adult_ai_smart. Recall that this is a one-line change in make_attack_spell().
The AI in Zaiband 3.0.8 alpha is a work in progress. The damage metaknowledge code is decidedly immature, and the pathfinding needs a severe rewrite (although the minor tweaks I have already done do keep the AI from cheating when moving non-randomly, and solve non-door openers trying to flee through doors.)
* The breath weapon selector is working considerably better, but the game's metaknowledge of resistances is not really there yet.
* Checking for one-spell kills (with the player health bar, whose meaning is changed by smart_cheat i.e. adult_ai_smart) is not fully there yet. Some sort of comparison against melee damage is needed.
* Probability-weighted Magic Missile vs Curse selection is stable.
* Monster fear is not properly rewritten yet. I haven't worked out a proper non-cheating way of handling damage projection from either player missile weapons, or spells/wands/staves/rods.
* It does look like I'll have to adjust the monster move rate display on the sidebar before implementing the triple-speed ghost AI. (I hope this will close a really bad abuse : ambling around at -3 to -6 speed at DL20 and lower. I really should not be able to survive that at all.)
Eradicating the case statement in favor of an array of structs whose initialization is controlled by the preprocessor is a questionable decision at this point. I'm hoping that it'll make later changes to the AI easier.
The AI in Zaiband 3.0.8 alpha is a work in progress. The damage metaknowledge code is decidedly immature, and the pathfinding needs a severe rewrite (although the minor tweaks I have already done do keep the AI from cheating when moving non-randomly, and solve non-door openers trying to flee through doors.)
* The breath weapon selector is working considerably better, but the game's metaknowledge of resistances is not really there yet.
* Checking for one-spell kills (with the player health bar, whose meaning is changed by smart_cheat i.e. adult_ai_smart) is not fully there yet. Some sort of comparison against melee damage is needed.
* Probability-weighted Magic Missile vs Curse selection is stable.
* Monster fear is not properly rewritten yet. I haven't worked out a proper non-cheating way of handling damage projection from either player missile weapons, or spells/wands/staves/rods.
* It does look like I'll have to adjust the monster move rate display on the sidebar before implementing the triple-speed ghost AI. (I hope this will close a really bad abuse : ambling around at -3 to -6 speed at DL20 and lower. I really should not be able to survive that at all.)
Eradicating the case statement in favor of an array of structs whose initialization is controlled by the preprocessor is a questionable decision at this point. I'm hoping that it'll make later changes to the AI easier.
Comment