⚠️ Réaliser une attaque sournoise

Contenu

⚠️ Réaliser une attaque sournoise#

Snippet qui cherche à savoir si le personnage est en mesure de réussir une attaque sournoise et d’infliger des dégâts.

IF
    // arme compatible et utilisable par les voleurs
    !IsWeaponRanged(Myself)

    OR(2)
        CheckStatGT(Myself, 1, BACKSTABDAMAGEMULTIPLIER)
        False() // Check 3E sneak attack + valeur (selon kit/class)

    // Contrainte d'invisibilité
    OR(4)
        StateCheck(Myself, STATE_INVISIBLE)
        CheckStat(Myself, 1, ASSASSINATE) // BitCheck BIT0 and BIT1 instead
        CheckStat(Myself, 2, ASSASSINATE)
        False() // Check 3E sneak attack

    // Contrainte de position
    OR(4)
        Allegiance(Myself, NOTGOOD)
        CheckStat(Myself, 1, ASSASSINATE) // BitCheck BIT0 and BIT2 instead
        CheckStat(Myself, 4, ASSASSINATE)
        False()  // placement dans le dos

    See(NearestEnemyOf(Myself))
    CheckStat(LastSeenBy(Myself), 0, IMMUNITY_TO_BACKSTAB)
    !Kit(LastSeenBy(Myself), BARBARIAN)
    CheckStatLT(LastSeenBy(Myself), 1, STONESKINS)
    CheckStatLT(LastSeenBy(Myself), 1, STONESKINSGOLEM)
    WeaponEffectiveVs(LastSeenBy(Myself), MAINHAND)
    WeaponCanDamage(LastSeenBy(Myself), MAINHAND)
THEN

Avertissement

Beaucoup de paramètres sont manquants :

  • On ne peut assurer que l’arme actuelle soit compatible avec les attaques sournoises

  • On ne sait pas si les sneak attacks sont activées ou non (les contraintes ne sont pas les mêmes)

  • On ne sait pas comment la créature est positionnée par rapport à l’adversaire

  • Seules les valeurs les plus simples de ASSASSINATE sont testées

Réflexion#

  • HasItemCategory : on pourrait autoriser certains types d’arme sans être certain que cette arme soit vraiment compatible pour les voleurs, et cela pourrait retirer toutes les armes des autres categorie qui pourraient être compatible. Enfin, ça ne gère pas les ajouts de catégorie pour les mods.

  • Avec Class(Myself, THIEF), on peut imaginer qu’il utilise des armes pour voleur mais trop limitant. Pas adapté avec la HLA « Use Any Item ».