Originally, although they are hostile, they're supposed to attack Drizzt, unless player characters come too close. Now the whole company (15-20 gnolls or so) charges at me instead...

(their scripts worked in my previous game installation w/o BP)
Posted 08 April 2006 - 09:09 AM
Posted 08 April 2006 - 09:19 AM
Minor issue, seems that BP script conversion causes the gnolls in AR3100 to attack the party on sight.
Originally, although they are hostile, they're supposed to attack Drizzt, unless player characters come too close. Now the whole company (15-20 gnolls or so) charges at me instead...
(their scripts worked in my previous game installation w/o BP)
Posted 08 April 2006 - 09:52 AM
May be it could be done by making area script of this exact location to replace override level script for gnolls within this location with custom one?Easier to write this script, than to implement it--TBH. I certainly wouldn't want every gnoll in every area to be looking for Drizzt.
The Old Gold - v0.2 WIP (mod for BGT/BWP/BWS)
Posted 08 April 2006 - 10:19 AM
May be it could be done by making area script of this exact location to replace override level script for gnolls within this location with custom one?
Posted 10 April 2006 - 02:54 AM
Edited by horred the plague, 10 April 2006 - 02:55 AM.
Posted 10 April 2006 - 03:31 AM
Posted 10 April 2006 - 03:40 AM
Ok, looks like this block in GNOLLDR.BCS:
IF
See("Drizzt") // ~Drizzt~
Global("DrizztFight","GLOBAL",1)
THEN
RESPONSE #100
Help()
Attack("Drizzt")
END
causes the gnolls to attack drizzt, but "DrizztFight" is set to 1 only once Drizzt is within line of sight (it "doesn't exist" until then).
In my case, I stopped to deal with several appeared gnolls before I saw Drizzt, and the rest of their pack (even those who were out of my line of sight) rushed on me.
IF Global("DrizztFight","GLOBAL",0) Detect([PC]) See("Drizzt") THEN RESPONSE #100 SetGlobal("DrizztFight","GLOBAL",1) Attack("Drizzt") ENDOr perhaps just a simpler one, like this:
IF Global("DrizztFight","GLOBAL",0) Detect([PC]) THEN RESPONSE #100 SetGlobal("DrizztFight","GLOBAL",1) END
Posted 10 April 2006 - 04:01 AM
Sounds like GNOLLDR.bcs needs a block like this:
IF Global("DrizztFight","GLOBAL",0) Detect([PC]) See("Drizzt") THEN RESPONSE #100 SetGlobal("DrizztFight","GLOBAL",1) Attack("Drizzt") ENDOr perhaps just a simpler one, like this:IF Global("DrizztFight","GLOBAL",0) Detect([PC]) THEN RESPONSE #100 SetGlobal("DrizztFight","GLOBAL",1) END
Posted 10 April 2006 - 09:07 AM
I just checked the GNOLLD.cre file (the gnolls with Drizzt--it is an exclusive file for this area). BP is NOT causing whatever odd behaviors you are experiencing. These gnolls use a custom script already--GNOLLDR.bcs; and only this script. This script is entirely untouched by BP's AI system.
I have found another instance where BP has caused issues (SHOAL.cre)--but this is not one of them.
P.S: It's AR3100.are, FYI.
Edited by UnholyAngel, 10 April 2006 - 09:11 AM.
Posted 10 April 2006 - 11:55 AM
Tenya (Baldurs Gate bridge) has the same issue as Shoal (can't return to neutral).