Go back to previous topic
Forum Name Santa Zulg 2011
Topic subjectArchons and Devil AI
Topic URLhttps://forums.carrionfields.com/dcboard.php?az=show_topic&forum=71&topic_id=173
173, Archons and Devil AI
Posted by Isildur on Wed 31-Dec-69 07:00 PM
Consider making the AI for archons and devils a little smarter. I get that they're not intended to be "as smart" as a PC, but the existing AI seems particularly brain dead.

I'm on an iPhone right now, but if you think this idea has any merit then say so and I can write up some possible (relatively straightforward) improvements.
195, I'm listening...(n/t)
Posted by Zulghinlour on Wed 31-Dec-69 07:00 PM
n/t
202, RE: I'm listening...(n/t)
Posted by Isildur on Wed 31-Dec-69 07:00 PM
I'll do archons since I know more about them. Below is the logic I'd use to choose what an archon should do on a given commune. The general idea is to prioritize things that might save the conjurer's life before things that can wait. Also to choose wisely between healing and sanctuary in situations where one would be preferable to the other. That's probably the biggest thing archons get wrong.

The logic:

let HEAL = hp amount archon can heal in a single supp.
let MOVE = mv amount archon can heal in a single supp.

if current hp < HEAL then do heal.
if no sanctuary or barrier then do sanctuary.
if max hp - current hp >= HEAL then do heal.
if current mv < 0 then do refresh.
if not flying and not earthbound then do flight.
if curably blind then do cure blindness.
if current mv < 100 then do refresh.
if plagued/scourged then do cure disease.
if poisoned then do cure poison.
if cursed/damned then do uncurse/redemption.
if max mv - current mv >= MOVE then do refresh.
if not blessed then do bless.
if not frenzied then do frenzy.
212, Santa Zulg sortof abides
Posted by Zulghinlour on Wed 31-Dec-69 07:00 PM
Basically I moved armor & bless down. I moved sanc up. That pretty much satisfies what you laid out.
215, RE: Santa Zulg sortof abides
Posted by Isildur on Wed 31-Dec-69 07:00 PM
Out of curiosity, is it hard to get at the conjurer's current stats from the code that chooses the commune? If the stats aren't taken into account then regardless of the order of sanc and heal, you're going to get situations where the archon does the "wrong" thing. For instance, sanc'ing the conjurer when he has 5 hp left or healing him when he has 999 hp remaining out of a possible 1100 (and 5 guys beating on him).
219, RE: Santa Zulg sortof abides
Posted by Zulghinlour on Wed 31-Dec-69 07:00 PM
>Out of curiosity, is it hard to get at the conjurer's current
>stats from the code that chooses the commune?

Yes.

>If the stats
>aren't taken into account then regardless of the order of sanc
>and heal, you're going to get situations where the archon does
>the "wrong" thing.

And I'm okay with that.

>For instance, sanc'ing the conjurer when
>he has 5 hp left or healing him when he has 999 hp remaining
>out of a possible 1100 (and 5 guys beating on him).

Yup...that is possible.
204, Here's some quick ones I would have loved with Lolo
Posted by Torak on Wed 31-Dec-69 07:00 PM
-Give some priority to damage spells if a target is weak or healing spells if you're starting to die. Nothing is more annoying than seeing a target convulsing to have it land poison or have it weaken people when you have 100hp left.

-Make it more of a priority for dispelling earlier in a fight if they have significant amounts of protection/spells (invoker shields, full a/b/s/stone, transmuter spells, etc). This also goes for that one dispelling demon as well.

-An interesting bug I learned as well was that devils will actually jump into combat I think on certain spells when you're not in the room. Forgot to bug report it but basically a warrior fighting Lolo stepped out of the room and returned, the devil cast energy drain and suddenly the devil was kicking his ass in melee. Felt bad for the guy that a lesser ice devil was suddenly doing two-three OBLITS per round and he was like level 34.

-Exploiting vulns would be nice (ice needles on fire giants, hellfire on felars, etc)

I'll try and think of more later...