Doom Wiki
Advertisement
Doom Wiki


Cuando un Barón del infierno o un Caballero del infierno es golpeado por otro monstruo durante su secuencia de ataque, y cambia su objetivo sin entrar en un estado de dolor, atacará al nuevo objetivo mientras aún esté dando frente al original. Así, el daño de la bola de fuego o del zarpazo parece emerger de su espalda.

Esta es una anomalía puramente cosmética y no afecta las acciones subyacentes del motor.

Explicación[]

La razón de este comportamiento anómalo radica en que el puntero de código del ataque del Barón (A_BruisAttack) no llama a A_FaceTarget, como debería.

Buscando en p_enemy.c, podemos ver que cada puntero de código del ataque de un monstruo (A_PosAttack, A_SPosAttack, A_CPosAttack, A_CPosRefire, A_SpidRefire, A_BspiAttack, A_TroopAttack, A_SargAttack, A_HeadAttack, A_CyberAttack, A_SkelMissile, A_SkelWhoosh, A_SkelFist, A_VileTarget, A_VileAttack, A_FatAttack1 / 2/3 , A_SkullAttack, A_PainAttack) llama al puntero A_FaceTarget.

A_BruisAttack es la única excepción a esta regla.

La secuencia de ataque del Barón y el Caballero del infierno consta de tres estados (los estados del Caballero del infierno son idénticos, excepto que usa BOS2 en lugar de BOSS):

    {SPR_BOSS,4,8,{A_FaceTarget},S_BOSS_ATK2,0,0},	// S_BOSS_ATK1
    {SPR_BOSS,5,8,{A_FaceTarget},S_BOSS_ATK3,0,0},	// S_BOSS_ATK2
    {SPR_BOSS,6,8,{A_BruisAttack},S_BOSS_RUN1,0,0},	// S_BOSS_ATK3


Los primeros dos estados llaman a A_FaceTarget, pero hay un retraso de ocho tics entre ellos y el siguiente estado. Si el objetivo cambia (o cambia de posición) durante los ocho tics del segundo estado, el ataque tiene lugar sin ajustar el ángulo del Barón para enfrentar la nueva posición de destino.

Véase también[]

Advertisement