Baldur's Gate Wiki:Game source files/BCS/GNOLL5

The AI script GNOLL5.bcs is used by Ludrug and handles events during the encounter with Ludrug's band. It is buggy in the original and patched Baldur's Gate version, but fixed with Tales of the Sword Coast and optimized in the Enhanced Edition. It's still part of the Baldur's Gate II code, but not referenced in that game, thus not listed here.

Baldur's Gate
IF See([PC]) NumberOfTimesTalkedTo(0) THEN RESPONSE #100 Dialogue([PC]) END

IF HPLT(Myself,5) Global("GnollFightOver","GLOBAL",1) THEN RESPONSE #100 SmallWait(1) ActionOverride(StrongestOf,SmallWait(1)) Dialogue([PC]) EscapeArea END

IF HPLT(StrongestOf,5) Global("GnollFightOver","GLOBAL",1) THEN RESPONSE #100 SmallWait(1) ActionOverride(StrongestOf,SmallWait(1)) Dialogue([PC]) END

Tales of the Sword Coast
IF See([PC]) NumberOfTimesTalkedTo(0) THEN RESPONSE #100 Dialogue([PC]) END

IF HPLT(Myself,5) Global("GnollFightOver","GLOBAL",0) THEN RESPONSE #100 SmallWait(1) ActionOverride(StrongestOf,SmallWait(1)) Dialogue([PC]) SetGlobal("GnollFightOver","GLOBAL",2) EscapeArea END

IF HPLT(StrongestOf,5) Global("GnollFightOver","GLOBAL",0) THEN RESPONSE #100 SmallWait(1) ActionOverride(StrongestOf,SmallWait(1)) Dialogue([PC]) END

Enhanced Edition
IF Global("GnollFightOver","GLOBAL",3) HitBy(StrongestOf,CRUSHING) HPLT(Myself,20) THEN RESPONSE #100 ClearAllActions SetGlobal("GnollFightOver","GLOBAL",0) Dialog(StrongestOf) SetGlobal("GnollFightOver","GLOBAL",2) EscapeArea END

IF Global("GnollFightOver","GLOBAL",3) HPLT(StrongestOf,5) OR(2) See(StrongestOf) See([PC]) THEN RESPONSE #100 SetGlobal("GnollFightOver","GLOBAL",0) Dialog(LastSeenBy) END

IF Global("GnollFightOver","GLOBAL",3) HPGT(Myself,19) HitBy(StrongestOf,CRUSHING) THEN RESPONSE #100 AttackOneRound(StrongestOf) END

IF Global("GnollFightOver","GLOBAL",3) HitBy([PC],CRUSHING) THEN RESPONSE #100 SetGlobal("GnollFightOver","GLOBAL",1) Enemy END

IF Global("GnollFightOver","GLOBAL",3) HPGT(Myself,19) See(StrongestOf) THEN RESPONSE #100 AttackOneRound(StrongestOf) END

IF See([PC]) NumberOfTimesTalkedTo(0) THEN RESPONSE #100 Dialog([PC]) END