Jump to content

Hostile dogs


Recommended Posts

The four dogs outside the de'Arnise Keep start out friendly, but go hostile if they hear any combat. I'd say it's obvious they're meant to go hostile if the PC attacks one of them to cut up into stew, not if the PC gets into a battle with an otyugh, yuan-ti, or troll(s).

Link to comment

Are they just using SHOUT or some equivalent? I'm not sure there's really anything to be done here, unless you only want them to react individually (equally acceptable; they're stupid dogs, after all).

Link to comment
Are they just using SHOUT or some equivalent? I'm not sure there's really anything to be done here, unless you only want them to react individually (equally acceptable; they're stupid dogs, after all).

Ideally, I'd say they should (all) go hostile if the PC attacks one of them, but not get mad at the PC for fighting monsters (like the otyugh/trolls/yuan-ti).

Link to comment

Fixed by changing their grpsht01 scripts with a custom one.

 

// keep dogs don't go hostile when oty attacked
COPY_EXISTING ~kpdog01.cre~ ~override~
             ~kpdog02.cre~ ~override~
             ~kpdog03.cre~ ~override~
             ~kpdog04.cre~ ~override~
 WRITE_ASCII 0x248 ~cdkpdog~ #8
 BUT_ONLY_IF_IT_CHANGES

 

Where cdkpdog is

 

IF
 Global("CDKeepDogsEnemy","AR1300",1)
 !Allegiance(Myself,ENEMY)
THEN
 RESPONSE #100
   Enemy()
END

IF
 Global("CDKeepDogsEnemy","AR1300",0)
 OR(8)
   Allegiance("kpdog01",ENEMY)
   Allegiance("kpdog02",ENEMY)
   Allegiance("kpdog03",ENEMY)
   Allegiance("kpdog04",ENEMY)
   Dead("kpdog01")
   Dead("kpdog02")
   Dead("kpdog03")
   Dead("kpdog04")
THEN
 RESPONSE #100
   ActionOverride("kpdog01",Enemy())
   ActionOverride("kpdog02",Enemy())
   ActionOverride("kpdog03",Enemy())
   ActionOverride("kpdog04",Enemy())
   SetGlobal("CDKeepDogsEnemy","AR1300",1)
END

IF
 Global("CDKeepDogsEnemy","AR1300",0)
 OR(2)
   AttackedBy([GOODCUTOFF],DEFAULT)
   HitBy([GOODCUTOFF],CRUSHING)
 Allegiance(Myself,NEUTRAL)
THEN
 RESPONSE #100
   SetGlobal("CDKeepDogsEnemy","AR1300",1)
   ActionOverride("kpdog01",Enemy())
   ActionOverride("kpdog02",Enemy())
   ActionOverride("kpdog03",Enemy())
   ActionOverride("kpdog04",Enemy())
END

 

Included in alpha 5.

Link to comment

Archived

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

×
×
  • Create New...