Résurrection de masse (SPPR729)#
Ce sort est un peu particulier car il est efficace sur tous les membres du groupe.
Il soigne également de 3D10 points de vie. Mais soyons honnête : ça serait du gachis de l’utiliser que pour ça.
Une difficulté ici est que l’on ne peut pas se baser sur des [object], car les personnages sont morts.
IF
ActionListEmpty()
!ButtonDisabled(BUTTON_CASTSPELL)
Global("BDAI_DISABLE_DEFENSIVE", "LOCALS", 0) //# Using DEFENSIVE magic is authorized
HaveSpell(CLERIC_MASS_RAISE_DEAD)
!StateCheck(Myself, STATE_SLEEPING | STATE_HELPLESS | STATE_REALLY_DEAD) //# ACTION actions are usable
CheckStat(Myself, 0, CASTERHOLD)
OR(2)
!GlobalTimerNotExpired("BD_Cast", "LOCALS") //# BD_Cast is expired
!CheckStat(Myself, 0, AURACLEANSING) //# or Auracleansing is active
OR(2) //# not poisoned or immune to poison
!StateCheck(Myself, STATE_POISONED)
CheckStatGT(Myself, 99, RESISTPOISON)
OR(2) //# not deseased or immune to poison
!CheckSpellState(Myself, DISEASED)
CheckStatGT(Myself, 99, RESISTPOISON)
CheckStat(Myself, 0, CLERIC_INSECT_PLAGUE)
NumInPartyGT(2)
NumInPartyAliveLT(4)
OR(2)
NumInPartyGT(5)
NumInPartyAliveLT(3)
OR(2)
NumInPartyGT(4)
NumInPartyAliveLT(2)
//# …
THEN
RESPONSE #1
SetGlobalTimer("BD_Cast", "LOCALS", ONE_ROUND)
Spell(Myself, CLERIC_MASS_RAISE_DEAD)
END
Il est possible de connaître la taille du groupe ainsi que le nombre de membre encore en vie.
Et sans pouvoir faire de soustraction, il est possible de faire des comparaisons.
Le sort est lancé si :
il y a au moins 3 morts dans le groupe
ou s’il n’y a qu’un survivant dans un groupe de 3
ça gère même certain cas où il y aurait plus de 6 personnes dans le groupe
IF
ActionListEmpty()
!ButtonDisabled(BUTTON_CASTSPELL)
Global("BDAI_DISABLE_DEFENSIVE", "LOCALS", 0) //# Using DEFENSIVE magic is authorized
HaveSpell(CLERIC_MASS_RAISE_DEAD)
!StateCheck(Myself, STATE_SLEEPING | STATE_HELPLESS | STATE_REALLY_DEAD) //# ACTION actions are usable
CheckStat(Myself, 0, CASTERHOLD)
OR(2)
!GlobalTimerNotExpired("BD_Cast", "LOCALS") //# BD_Cast is expired
!CheckStat(Myself, 0, AURACLEANSING) //# or Auracleansing is active
OR(2) //# not poisoned or immune to poison
!StateCheck(Myself, STATE_POISONED)
CheckStatGT(Myself, 99, RESISTPOISON)
OR(2) //# not deseased or immune to poison
!CheckSpellState(Myself, DISEASED)
CheckStatGT(Myself, 99, RESISTPOISON)
CheckStat(Myself, 0, CLERIC_INSECT_PLAGUE)
!ActuallyInCombat()
Allegiance(Myself, GOODCUTOFF)
!See(NearestEnemyOf(Myself))
NumInPartyGT(2)
NumInPartyAliveLT(4)
OR(2)
NumInPartyGT(5)
NumInPartyAliveLT(3)
OR(2)
NumInPartyGT(4)
NumInPartyAliveLT(2)
//# …
THEN
RESPONSE #1
SetGlobalTimer("BD_Cast", "LOCALS", ONE_ROUND)
Spell(Myself, CLERIC_MASS_RAISE_DEAD)
END
Aucun combat en cours
Le lanceur de sort est un allié