Jump to content


Photo

BP and drizzt/gnolls encounter in BG1


  • Please log in to reply
9 replies to this topic

#1 pro5

pro5
  • Modder
  • 722 posts

Posted 08 April 2006 - 09:09 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... :woot:

(their scripts worked in my previous game installation w/o BP)

#2 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

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... :woot:

(their scripts worked in my previous game installation w/o BP)


Well, I doubt highly that is the BGT code for the area--but I know where you mean.

Sounds like they may need a custom script instead--one that also accounts for Drizzt. The simplicity of the in-game scripts [See(NearestEnemy)//Attack(NearestEnemy)]--while zombie-like in intelligence/response, make this actually work.

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.

#3 Creepin

Creepin
  • Administrator
  • 1676 posts

Posted 08 April 2006 - 09:52 AM

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.

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?

The Old Gold - v0.2 WIP (mod for BGT/BWP/BWS)


#4 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

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?


Perhaps; you can also add script referrences to actors in an ARE file. I just have to set this up so it only happens if BGT is installed. Remind me if I forget about doing this, before BPv177 is released--I'll make an annoucement when the new version is nearly ready (it's not even close, yet--still taking a modding break :P).

#5 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

Posted 10 April 2006 - 02:54 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 horred the plague, 10 April 2006 - 02:55 AM.


#6 pro5

pro5
  • Modder
  • 722 posts

Posted 10 April 2006 - 03:31 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. :)

#7 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

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. :)



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")
END
Or perhaps just a simpler one, like this:
IF
  Global("DrizztFight","GLOBAL",0)
  Detect([PC])
THEN
  RESPONSE #100
	SetGlobal("DrizztFight","GLOBAL",1)
END


#8 pro5

pro5
  • Modder
  • 722 posts

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")
END
Or perhaps just a simpler one, like this:
IF
  Global("DrizztFight","GLOBAL",0)
  Detect([PC])
THEN
  RESPONSE #100
	SetGlobal("DrizztFight","GLOBAL",1)
END


Yes, that should do it!
Thanks Horred, and sorry for laying blame on BP, where it did not belong. :whistling:

#9 UnholyAngel

UnholyAngel
  • Member
  • 30 posts

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. ;)



Tenya (Baldurs Gate bridge) has the same issue as Shoal (can't return to neutral).

Edited by UnholyAngel, 10 April 2006 - 09:11 AM.


#10 horred the plague

horred the plague

    Scourge of the Seven Seas

  • Modder
  • 1899 posts

Posted 10 April 2006 - 11:55 AM

Tenya (Baldurs Gate bridge) has the same issue as Shoal (can't return to neutral).


Added to the list of "leave alone's", on your word.

Now, if these people suddenly give you a lousy fight in the next version of BP.... :whistling: