Jump to content

Gov District fanatics AI issue


Raj

Recommended Posts

There're 3 ''Fanatics'' trying to burn Viconia; one of them is a Beshaba's priest, no issues with him: he casts a holy smite if there's a good alligned party member and that kills one of the commoners who's screaming ''burn her!'' but that's funny :worship:

The other two are fighters who start the fight using a bow, then switch to sword if engaged in malee.

The issue I meet after freeing Viconia is that if I try to reach the archers with a tank they run through the transiction to the prison trying to keep distance.

Viconia doesn't follow them and doesn't start the dialogue till I kill them both, so I do have to follow them inside the prison: usually they go back outside as soon as one of my guys enters the prison area, sometime I deal the killing blow inside the building and then the dialogue triggers.

 

It's a bit annoying and I find it out of place to spill blood in the city prison: the prison door looks closed too so they are like going through it.

 

I want to look allarmist so wonder if the archers behaviour can cause problems in other game areas, with enemies going through transictions ^^

Link to comment

Yep, I had the same issue. Fixed it by setting 'NPC can't pass' flags to entrances with 'party required' on. Still, no longer than an hour and a half a Cowled wizard did run into the sewers (not that I was upset with that, it's all easier to kill them when they aren't a dense bunch), how he managed I have no idea, perhaps confusion allows for that.

 

Btw, I think it might be good to forbid any NPCs' wandering off to other areas.

 

 

In case someone needes it (or is plain lazy)

COPY_EXISTING_REGEXP GLOB ~^.+\.are$~ ~override~
 READ_SHORT 0x5a trig_num
 READ_LONG 0x5c trig_off
 FOR (i=0; i<trig_num; i+=1) BEGIN
READ_BYTE (trig_off+i*0xc4+0x60) flags1
READ_BYTE (trig_off+i*0xc4+0x61) flags2
PATCH_IF ((flags1 BAND 0b00000100) == 0b00000100) BEGIN // 4 - party required
  WRITE_BYTE (trig_off+i*0xc4+0x61) (flags2 BOR 0b00000010) // 512 - npc can't pass
END
 END
BUT_ONLY_IF_IT_CHANGES

Link to comment

There're some enemies who are supposed to cross area transictions ( many plot encounters, e.g. the two guys in bridge district who buried Tirdir, they exit their house ), and some enemies who shall be able to move through areas to avoid some cheap cheese ( like the lich in crooked crane ) but for regular encounters with archers I don't see any benefit from this behaviour: the enemy is out of fight and the party can concentrate on taking down who's left, then when you follow them they are at point blank range and are forced to switch to sword anyway, or change area back.

Link to comment
There're some enemies who are supposed to cross area transictions ( many plot encounters, e.g. the two guys in bridge district who buried Tirdir, they exit their house ), and some enemies who shall be able to move through areas to avoid some cheap cheese ( like the lich in crooked crane ) but for regular encounters with archers I don't see any benefit from this behaviour: the enemy is out of fight and the party can concentrate on taking down who's left, then when you follow them they are at point blank range and are forced to switch to sword anyway, or change area back.

You misunderstand: it's not deliberate behaviour, it's an unintended consequence of them trying to get distance. The "Run away" instruction in the game unfortunately allows creatures to run away across an area transition if there's one handy. It's possible to alter the doors in the game so as to prevent this but this in turn will prevent it happening in cases where it should (although plot encounters won't be prevented, incidentally: those area transitions happen in a different way).

Link to comment
I really have no objections towards blocking enemies running away, but I must say - to me - it is a valid option to run away... (as long as it is not gamebreaking)

Me neither, it's a nice touch for ranged enemies.

 

Prison door just looks like a valid candidate to be unpassable by npcs then :worship:

Link to comment
I really have no objections towards blocking enemies running away, but I must say - to me - it is a valid option to run away... (as long as it is not gamebreaking)

Me neither, it's a nice touch for ranged enemies.

 

Prison door just looks like a valid candidate to be unpassable by npcs then :worship:

 

If I get round to it for SCSII's next release, I'll code a macro to block some doors based on a list, and put doors on the list that seem to cause problems. I don't have time to test all the areas in the game, though, so it'll end up being responsive to player data rather than preemptive.

Link to comment
It could wait for yet another version of SCSII :p:worship:

 

confused...

 

If you mean "don't hold up the next release for this", I've got bad news: it'll be a little while before that. (There's nothing critical that needs addressing afaik, so I'm leaving it until I've some other stuff sorted out.)

Link to comment

Imo that means 'it can wait till you get time to attend it'.

 

I'll code a macro to block some doors based on a list, and put doors on the list that seem to cause problems.
I would suggest blocking every door instead of some. I've patched mine not with a whim (had exactly the same reservations as you do), but after recalling that I'm nowhere nearly sure it's even possible to script a creature to run through a door (talking about plot characters moving from one area to another), let alone someone actually doing it instead of LeaveAreaLUA

 

Btw an enemy might not only run away, but also come back and bring along couple of guards waiting outside (yep, happened once or twice) though it's more shouts related. Well, not that it's unrealistic, but may lead to unpredictable results.

 

 

 

Raj, code should be put into a text file (with three more lines added first: BACKUP ~your backup directory~; AUTHOR ~someone's name~; BEGIN ~mod's name~), renamed to setup-name.tp2. Then any of existing setup-xxxx.exe gets renamed to setup-name.exe and run.

Link to comment
It could wait for yet another version of SCSII :p:worship:

 

confused...

 

If you mean "don't hold up the next release for this", I've got bad news: it'll be a little while before that. (There's nothing critical that needs addressing afaik, so I'm leaving it until I've some other stuff sorted out.)

 

Nah all I'd need is certainty that I could use (or not) that part which lets you play WK before the rest of ToB - don't remember the name without bugs. And if you then decides to update will I be able to unintall v8, install v9 and continue my game?

 

Cheers

Link to comment
It could wait for yet another version of SCSII :p:worship:

 

confused...

 

If you mean "don't hold up the next release for this", I've got bad news: it'll be a little while before that. (There's nothing critical that needs addressing afaik, so I'm leaving it until I've some other stuff sorted out.)

 

Nah all I'd need is certainty that I could use (or not) that part which lets you play WK before the rest of ToB - don't remember the name without bugs. And if you then decides to update will I be able to unintall v8, install v9 and continue my game?

 

Cheers

 

Yep.

Link to comment
It could wait for yet another version of SCSII :p:worship:

 

confused...

 

If you mean "don't hold up the next release for this", I've got bad news: it'll be a little while before that. (There's nothing critical that needs addressing afaik, so I'm leaving it until I've some other stuff sorted out.)

 

Nah all I'd need is certainty that I could use (or not) that part which lets you play WK before the rest of ToB - don't remember the name without bugs. And if you then decides to update will I be able to unintall v8, install v9 and continue my game?

 

Cheers

 

Yep.

So there's as far as you know no serious bugs with the WK transition component of SCSII?

 

Cheers

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...