Jump to content

The Horror effect does not work on enemies


Recommended Posts

Apparently, effect #24 State: Horror does not always cause enemies to flee in panic nor does it disable their AI scripts. Note that this behavior only arises when a fear-type spell (i.e. Horror) is cast by a PC on a hostile target. If the spell is cast by an enemy on a PC, then the PC will properly run away in panic.

 

Anyhow, all in-game fear spells save one seem to be affected. The only spell which works properly is the (evil) Bhaalspawn innate Horror ability - SPIN105.SPL and that works properly because it has an additional effect besides #24 - State: Horror. The additional effect is - #106 Morale Break which properly causes enemies to flee in panic.

Link to comment

I don't think there's an issue here (I'm not quite sure what you're reporting). Morale failure and panic are very different things, and we're not going to start adding forced morale failure to all the panic-inducing abilities.

 

A character's scripts continue to run while they're magically panicked, but the engine frequently interrupts their action queue with the panic "run, baby, run" action (so they might start casting a spell but never finish as they try to sprint away from you).

Link to comment

Well, just it seems odd to me that the effect works differently on opponents, that's all. You see, when a Horror spell is cast by an opponent on a PC, and he fails his save, the PC always becomes uncontrollable and runs around in panic. However, the same is not true is a PC casts Horror on an opponent and the opponent fails his save. The opponent might still continue to attack the PC or even to cast spells, depending on his script.

 

To demonstrate my point, assign this simple script to one of your PCs and then do the same to an opponent (marked as ENEMY) and watch what happens in both cases. Wait until both creatures are affected by fear and you'll see that the results are quite different.

 

IF
GlobalTimerNotExpired("RR#Cast","LOCALS")
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
	AttackReevaluate(NearestEnemyOf(Myself),15)
END

IF
!GlobalTimerNotExpired("RR#Cast","LOCALS")
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
	SetGlobalTimer("RR#Cast","LOCALS",12)
	SpellNoDec(NearestEnemyOf(Myself),WIZARD_HORROR)
END

Link to comment

This doesn't bother me, but there's not really any way we can change the panic behavior in any case.

 

You should be seeing that the enemy's actions will frequently be interrupted when the panic code kicks in (rather than completing an action, they'll just run away). It might be a bit silly, but I don't recall ever having issues with it during actual gameplay (panicked enemies are always out of the fight until the effect expires).

 

It wouldn't surprise me if it didn't scale very well to enemies that are perpetually hasted with 10 attacks per round and reduced casting times, but nobody plays ToB anyway. ;)

Link to comment

I suppose you are right, but it's still kind of strange that merely the innate Bhaalspawn ability works as Horror's in-game spell description actually states.

 

Anyhow, what bothered me the most about this issue was the fact that enemies which I've scripted to fire spell sequencers and such always managed to do this while panicked, so I decided to add a fear check to my NoAction() block:

 

IF
OR(3)
  Global("RR#Active","LOCALS",0)
  StateCheck(Myself,STATE_CHARMED)
  StateCheck(Myself,STATE_PANIC)
THEN
RESPONSE #100
	NoAction()
END

 

Seems a bit fairer to the players this way. ;)

Link to comment

Archived

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

×
×
  • Create New...