• Tags:

    No tags

  • Name:

    aPetrifyingStare

  • Displayed name:

    Regard pétrifiant

  • Description:

    Le regard de la créature change en pierre ceux qui osent le croiser. Les Points de pétrification durent 10 secondes ; au bout de 5 secondes, la moitié d'entre eux se dissipe. En infliger de nouveaux relance la durée à 10 secondes. Ils réduisent la régénération de PA de la cible proportionnellement à ses PdV maximum : 1 point sur une créature à 10 PdV maximum la réduit de 10 %. Si ses Points de pétrification atteignent ses PdV maximum, la créature est pétrifiée pendant 1 heure. Elle est alors inconsciente (0 PA/s), sa posture ne peut plus changer et elle commence à suffoquer ; un bouche-à-bouche peut encore l'oxygéner. Elle subit aussi Faiblesse 2 aux dégâts glace et contondants, et gagne Résistance 2 aux dégâts perforants et tranchants.

  • Cast description:

    | PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Portée: vRange.string** | Sur un test de **vTest.string** réussi **RM vMR.string** [1d20]: La cible reçoit vPetrifyingDice.string [vPetrifyingDice.string] Points de pétrification pour les 10 prochaines secondes. *La cible peut réagir à cette action avec sa réaction Résister pour en annuler les effets.*

  • Condition:

    assert(character.sFlux.current >= vFluxCost.value, [[Vous n'avez pas assez de Flux.]])
  • AP cost:

    3

  • Cooldown:

    5

  • Flux cost:

    apMod(vAP)*cdMod(vCD)*targetMod(1,0)*durMod(10)*vRange*effect(vPetrifyingDice*105,50)
  • Variables:

    vRange = ListVariable([[vRange]], [[Portée]], {[[shortMod]]}, {[[5 m]]})
    vTest = ListVariable([[vTest]], [[Test]], {[[character.sResilience]]}, {[[Résilience]]})
    vMR = StatVariable([[vMR]], [[vTest]])
    vPetrifyingDice = NumberVariable([[vPetrifyingDice]], [[Dés de pétrification]], [[1]], [[10]], [[1]])
    vPetrifyingDice.valueDisplay.value = [[ self .. "d6" ]]
  • On used script:

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

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

    1

  • Action effects:

    • Use case:

      3*number(vPetrifyingStarePoints.value>0)

    • Name:

      Regard pétrifiant

    • Description:

      Soit un total de vPetrifyingStarePoints.string Points de pétrification.

    • Script:

      if (not character:has([[mPetrifyingPoints]])) then
          effect = character:createEffect([[mPetrifyingPoints]])
          effect.displayName:set([[Points de pétrification]])
          effect.description:set([[Vos Points de pétrification réduisent votre régénération de PA proportionnellement à vos PdV maximum. S'ils atteignent vos PdV maximum, vous êtes pétrifié.]])
          effect.script:set([=[stat = character:createStat([[sPetrifyingPoints]], [[dependant]])
      stat.displayName:set([[Points de pétrification]])
      character.sRegenAP:addCurrent([[-min(character.sPetrifyingPoints.current/character.sMaxHP.current,1)*100%]], [[physical]], modifier.displayName.value)]=])
          effect.recurrentScript:set([=[if (character.sPetrifyingPoints.current >= character.sMaxHP.current) then
          if (not character:has([[mPetrified]])) then
              petrified = character:createEffect([[mPetrified]])
              petrified.displayName:set([[Pétrification]])
              petrified.description:set([[Votre corps est changé en pierre. Vous êtes inconscient (0 PA/s), votre posture ne peut plus changer et vous suffoquez ; un bouche-à-bouche peut encore vous oxygéner. Vous subissez Faiblesse 2 aux dégâts glace et contondants, et gagnez Résistance 2 aux dégâts perforants et tranchants.]])
              petrified.script:set([==[character.sRegenAP:addCurrent([[-100%]], [[physical]], modifier.displayName.value)
      stat = character:createStat([[sIceWeakness]], [[temporary]])
      stat.displayName:set([[Faiblesse à la glace]])
      stat:addNormal([[2]], [[physical]], modifier.displayName.value)
      stat = character:createStat([[sBluntWeakness]], [[temporary]])
      stat.displayName:set([[Faiblesse au contondant]])
      stat:addNormal([[2]], [[physical]], modifier.displayName.value)
      stat = character:createStat([[sPiercingResistance]], [[temporary]])
      stat.displayName:set([[Résistance au perforant]])
      stat:addNormal([[2]], [[physical]], modifier.displayName.value)
      stat = character:createStat([[sSlashingResistance]], [[temporary]])
      stat.displayName:set([[Résistance au tranchant]])
      stat:addNormal([[2]], [[physical]], modifier.displayName.value)]==])
              petrified:activate()
              petrified.duration:set(3600)
          end
          character.mPetrifyingPoints:delete()
      elseif (character.mPetrifyingPoints.duration.value == 5) then
          character.sPetrifyingPoints:changeCurrent(-character.sPetrifyingPoints.current / 2)
      end]=])
          effect:activate()
      end
      
      character.mPetrifyingPoints.duration:set(10)
      character.sPetrifyingPoints:changeCurrent({{vPetrifyingStarePoints.value}})
    • Variables:

      vPetrifyingStarePoints = NumberVariable([[vPetrifyingStarePoints]], [[Points de pétrification]], [[0]])