Jump to content

Obsidian, you really need to add autoattacks (regular attacks) as an option in the AI programming


Recommended Posts

I've been trying to program AI for my characters, and it is a really big deal that a regular attack (autoattack) is not one of the actions you can program. That lack has caused me to run into a wall in two different situations so far:

 

(1) I want to program Eder (swashbuckler) to put an affliction (via Crippling Strike) on a guy, attack him until it runs out, and then reapply the affliction when it runs out (to enable Sneak Attack, of course). The problem is that if I just program "If target doesn't have an affliction, do Crippling Strike" he just starts doing crippling strike on everything in reach until he runs out of guile. If I had an option to make a conditional that tells him to attack, I could make one that said "if target has affliction, attack it" and prioritize it over the other one. That way, if there is something with an affliction, he'll attack it; and if there isn't something with an affliction, he'll apply it.

 

(2) I want to program Pallegina to apply Sworn Rival, attack the enemy until it is dead and sworn rival's Zeal cost is refunded, immediately reapply sworn rival to another enemy and attack it, rinse and repeat. If I just program "if enemy doesn't have sworn rival, apply sworn rival" it'll start firing off at every enemy. If I could make a conditional that says "If enemy has sworn rival, attack" and prioritize it over the other one, I'd get the behavior I want: she'd attack anyone with sworn rival, and if there isn't anyone with it, she'll apply it.

 

So please, devs, add "regular attack" as one of the actions you can program your characters to do!

 

(Also, if anyone has any ideas about how to get the behaviors I want in these two cases with the tools we have, let me know!)

 

P.S. Game's awesome so far.

Edited by TheMetaphysician
  • Like 1
Link to comment
Share on other sites

+1: Agreed.

 

That said, have you tried setting the cooldown value? In other words, for each special attack, set a cooldown in seconds that will stop the character from being stuck repeating the same thing(such as crippling strike). Let's say the cripple lasts 10s, then set the cooldown to 10. Hope that helps.

Link to comment
Share on other sites

I definitely want a way to manipulate auto attack behavior.  In general I think there are a lot more things we could do with the AI system so I hope they aren't done expanding it.  In particular I want a way to program spell interrupts, something like...  Target enemy: casting ability with a 4 second or longer cast time.

  • Like 1
Link to comment
Share on other sites

+1

 

I've been limiting my commands to enemies that I'm engaging (I forget the script verbiage; sorry).  Doesn't help with Fighters like Eder if they're Engaging multiple targets, but works fine on my melee DPS units.

 

Also, adding a timer for that set of commands in nice.  It's not as good as the conditional auto-attack logic you want because it's triggered on time rather than the condition expiring, but it's a good enough stop-gap until the inevitable patch.

 

Honestly, I'm finding the scripting great fun.  My characters keep doing stupid things, only for me to realize that they're doing *exactly* what I stupidly asked them to do.  I look forward to players sharing their uber-scripts in the future!

Link to comment
Share on other sites

+1: Agreed.

 

That said, have you tried setting the cooldown value? In other words, for each special attack, set a cooldown in seconds that will stop the character from being stuck repeating the same thing(such as crippling strike). Let's say the cripple lasts 10s, then set the cooldown to 10. Hope that helps.

Thanks for that suggestion. I did think of that, and it is the next best thing. But it is a pretty poor imitation, since how long the afflictions last (or how long the enemy stays alive with sworn rival) varies a lot.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...