• Tags:

    Action complexeDeux mains
  • Name:

    aGrab

  • Displayed name:

    Saisir

  • Description:

    Le personnage referme ses bras sur une créature à portée de contact pour l'immobiliser. Les deux font un test en opposition : Vigueur pour le personnage, Vigueur ou Réflexe au choix de la cible. Si le personnage l'emporte, la cible reçoit l'affliction Saisi et ne peut plus se déplacer. La prise se fait normalement à deux mains, avec un malus de -3 par arme tenue. Elle peut aussi se tenter d'une seule main, au prix d'un malus de -10, auquel s'ajoutent -3 si cette main tient une arme. Les mains engagées dans la prise le restent tant qu'elle tient. À deux mains, le personnage ne peut plus effectuer la moindre action à une ou deux mains ; à une main, il garde l'usage de l'autre et conserve ses actions à une main, mais pas celles à deux mains. Tant que la prise tient, le personnage peut se déplacer à la moitié de sa vitesse et la créature saisie suit le mouvement. La cible peut agir normalement par ailleurs, et dépenser 3 PA pour tenter de se libérer.

  • Cast description:

    | PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: 0** | **Portée: vRange.string** | Test de **vTest.string** **RM vMR.string** [1d20], en opposition au test de Vigueur ou de Réflexe de la cible. Si le personnage l'emporte, la cible est **Saisie** et son Déplacement est réduit de 100 %. *Le personnage peut se déplacer à la moitié de sa vitesse ; la créature saisie suit le mouvement.*

  • Condition:

  • AP cost:

    4

  • Cooldown:

    1

  • Flux cost:

  • Variables:

    vRange = ListVariable("vRange","Portée",{"contactMod"},{"Contact"})
    vTest = ListVariable("vTest","Test",{"character.sVigor"},{"Vigueur"})
    vMR = StatVariable("vMR","vTest")
  • On used script:

    character.sFlux:changeCurrent(-vFluxCost.value)
    
  • On post script:

    if (success) then
        action.currentCD.value = vCD.value
    end
    
  • Type:

    0

  • Action effects:

    • Use case:

      3

    • Name:

      Saisi

    • Description:

    • Script:

      if (not character:has([[mGrabbed]])) then
          effect = character:createEffect([[mGrabbed]])
          effect.displayName:set([[Saisi]])
          effect.description:set([[Vous êtes saisi par une créature : votre Déplacement est réduit de 100 %. Vous pouvez dépenser 3 PA pour tenter de vous libérer de l'emprise, par un test de Réflexe ou de Vigueur en opposition au test de Vigueur de la créature qui vous saisit.]])
          effect.script:set([=[character.sMovement:addCurrent([[-100%]], [[grabbed]], [[Saisi]])
      
      aBreakFree = character:createAction([[aBreakFree]], [[base]])
      aBreakFree.displayName:set([[Se libérer de l'emprise]])
      aBreakFree.description:set([[Le personnage saisi se débat pour rompre la prise. Il fait un test de Réflexe ou de Vigueur, à son choix, en opposition au test de Vigueur de la créature qui le saisit. S'il l'emporte, il n'est plus saisi et retrouve son Déplacement.]])
      aBreakFree.castDescription:set([[| PA: vAP.string | TdR: vCD.strings |
      | :---: | :---: |
      | **Flux: 0** | **Portée: vRange.string** |
      
      Test de **vTest.string** **RM vMR.string** [1d20], en opposition au test de Vigueur de la créature qui vous saisit.   
      Si vous l'emportez, vous n'êtes plus **Saisi**.]])
      aBreakFree.apCost:set([[3]])
      aBreakFree.cooldown:set([[1]])
      aBreakFree.variablesCode:set([[vRange = ListVariable("vRange","Portée",{"selfMod"},{"Soi"})
      vTest = ListVariable("vTest","Test",{"character.sReflex","character.sVigor"},{"Réflexe","Vigueur"})
      vMR = StatVariable("vMR","vTest")]])
      aBreakFree.onPostScript:set([[if (success) then
          action.currentCD.value = vCD.value
          character.mGrabbed:delete()
          character.aBreakFree:delete()
      end]])
      ]=])
          effect:activate()
      end
      
    • Variables: