✔️ Réaliser une attaque d’opportunité

✔️ Réaliser une attaque d’opportunité#

Il s’agit d’une attaque de mêlée contre les personnages sans arme dans la main directrice (exceptés les moines) ou armés d’une arme à distance.

IF
    ActionListEmpty()
    Global("BDAI_DISABLE_ATTACK", "LOCALS", 0)      //# Attacking is authorized
    !StateCheck(Myself, STATE_SLEEPING | STATE_HELPLESS | STATE_REALLY_DEAD)  //# ACTION actions are usable
    CheckStat(Myself, 0, CASTERHOLD)
    !CheckStat(Myself, 2, ENCUMBERANCE)             //# Can move
    //# …

    //# je dois être équipé d'une arme de mêlée ou de mes poings si je suis Moine
    !IsWeaponRanged(Myself)
    OR(2)
        HasWeaponEquiped(Myself)
        Class(Myself, MONK)

    //# ciblage
    See(NearestEnemyOf(Myself))

    //# on évitera de venir au contact d'une créature dangereuse
    !StateCheck(LastSeenBy(Myself), STATE_NOT_APPROACHABLE)

    //# on évitera de trop s'éloigner de sa position pour réaliser l'attaque
    //# plus la distance est élevée moins cette attaque sera opportune
    OR(2)
        InWeaponRange(LastSeenBy(Myself))
        PersonalSpaceDistance(LastSeenBy(Myself), 6) //# exemple

    //# la cible est équipée d'une arme de jet ou n'a pas d'arme (et n'est pas Moine)
    OR(2)
        !HasWeaponEquiped(LastSeenBy(Myself))
        IsWeaponRanged(LastSeenBy(Myself))
    OR(2)
        !Class(LastSeenBy(Myself), MONK)
        IsWeaponRanged(LastSeenBy(Myself))

    //# mon arme est en capacité de toucher la cible
    WeaponCanDamage(LastSeenBy(Myself), MAINHAND)
    WeaponEffectiveVs(LastSeenBy(Myself), MAINHAND)
THEN

Note

Le bonus est de +4 au toucher et aux dégâts.
Lors d’une attaque sournoise, les dégâts sont pris en compte par le multiplicateur.