Custom Combat Package Help.

Post » Wed Jun 20, 2012 3:34 am

So... I have a special Dragon actor that I copied and edited to my liking and I'm trying to make custom combat routines for it during combat. I've been working with package templates and Combat Override for the last day or so, and I've learned a lot. My Dragon flies the way I wish and Shouts like I want. Here is the problem though.

Since I am overriding it's normal combat procedures, it won't bite, tailsweep, or any of the other wierd things Dragons do. Is there a way to add these in to a custom combat procedure?

Does anyone know?

Thanks


Edit: So basically, if I remove all of the packages I have, my Dragon fights like a normal Dragon. This is what I want, except. I'm trying the change it's flight patterns (by removing the Orbit Procedure) still trying to figure out how to do this.


Take it noone else has messed with this?
User avatar
victoria johnstone
 
Posts: 3424
Joined: Sat Oct 14, 2006 9:56 am

Post » Tue Jun 19, 2012 12:55 pm

Bumping this old topic. Just started messing around with combat override packages in order to try and make a tough mage boss. Things I've found so far:

1. AI data above 'Aggressive' causes the NPC to stay in an 'alert' pose when in combat, except he doesn't do anything.

i. If package target was the player, will rotate body to keep facing the player.

ii. If package target was self, will seemingly ignore the player.

2. NPC seems to only go through the Combat Override Package List once, when he first enters combat.
3. After executing that one package, NPC stays in an 'alert' pose, except he doesn't do anything.

i. Will track the player with head movement, but will not rotate body.

4. Putting 'akActor.EvaluatePackage()' in the end fragments for the packages does not cause the NPC to re-evaluate the combat override package list.
User avatar
A Dardzz
 
Posts: 3370
Joined: Sat Jan 27, 2007 6:26 pm

Post » Tue Jun 19, 2012 12:57 pm

If you make the NPC end the combat and then start it again, the packages should be reevaluated.
User avatar
Baylea Isaacs
 
Posts: 3436
Joined: Mon Dec 25, 2006 11:58 am

Post » Tue Jun 19, 2012 12:33 pm

Is there any way to make them do that without ending combat though? The combat AI seems really stupid, so I was trying to toughen up the boss by making him:

1. Cast cloak spells (eg Frost Cloak) when the player gets within a certain distance
2. Spam paralyze spells every couple of seconds
3. Dual cast some spells for staggering
4. Heal himself with appropriate healing spells at appropriate times
5. Summon an atronach at the start of combat
6. Many other ideas that I haven't thought of yet

Right now, I'm wondering if I should try putting all of these as packages for a quest alias, then forcefully assigning the NPC to the alias whenever I want him to cast a spell.
User avatar
Scott Clemmons
 
Posts: 3333
Joined: Sun Sep 16, 2007 5:35 pm

Post » Tue Jun 19, 2012 7:25 pm

If you make the NPC end the combat and then start it again, the packages should be reevaluated.

And you don't really even need to manually restart combat--if the actor spots a hostile (e.g., the player), they should resume combat immediately.

Is there any way to make them do that without ending combat though? The combat AI seems really stupid, so I was trying to toughen up the boss by making him:

1. Cast cloak spells (eg Frost Cloak) when the player gets within a certain distance
2. Spam paralyze spells every couple of seconds
3. Dual cast some spells for staggering
4. Heal himself with appropriate healing spells at appropriate times
5. Summon an atronach at the start of combat
6. Many other ideas that I haven't thought of yet

Right now, I'm wondering if I should try putting all of these as packages for a quest alias, then forcefully assigning the NPC to the alias whenever I want him to cast a spell.

While you can't evaluate the package stack without ending combat, you can probably conditionalize procedures within the override package, in order to cast different spells based on player distance, the boss's health, and similar behaviors.

You may also want to rely on a combination of techniques.

The healing for example could also be done via a referencealias script that evaluates the boss's health OnHit and casts an appropriate healing spell if necessary.

The summon atronach could be cast via a Papyrus fragment attached to the start of the combat override package.

Etc.
User avatar
Anna S
 
Posts: 3408
Joined: Thu Apr 19, 2007 2:13 am

Post » Tue Jun 19, 2012 9:27 pm

After messing around some more, I found I was wrong about a couple of things. So here's the updated list of things that I think are true:

1. AI data above 'Aggressive' causes the NPC to stay in an 'alert' pose when in combat, except he doesn't do anything.

i. If package target was the player, will rotate body to keep facing the player.

ii. If package target was self, will seemingly ignore the player.

iii. Even at lower aggressiveness, there are times that the NPC will stay stuck in alert pose.

a. Unknown what causes this.

b. Can sometimes be fixed through console command 'Stop Combat'.

2. NPC goes through combat override package list once, and executes first one that matches current conditions.

i. If there is no match, will execute default combat actions, then evaluate the list again.

3. After executing a package in the override list, NPC will stay in 'alert' pose, unless the package calls EvaluatePackage on end.
4. When going through the override list again, if NPC decides on same package he just executed, will stay stuck in 'alert' pose.

The last point is what threw me off before.
User avatar
Sharra Llenos
 
Posts: 3399
Joined: Wed Jan 17, 2007 1:09 pm

Post » Wed Jun 20, 2012 5:02 am

4. When going through the override list again, if NPC decides on same package he just executed, will stay stuck in 'alert' pose.
I think I know why this happens. The package surelly is meant to execute only once. If you allow repetition surelly It will repeat the package the next time the override list is used.
User avatar
xx_Jess_xx
 
Posts: 3371
Joined: Thu Nov 30, 2006 12:01 pm


Return to V - Skyrim