Je n'ai pas eu le temps de le lire en entier mais un premier truc a attiré mon attention :
Code:
// Lancement fourvoiement magique
IF
See(NearestEnemyOf(Myself))
HaveSpell(CLERIC_MISCAST_MAGIC)
!StateCheck(LastSeenBy(Myself),STATE_SILENCED)
Class(LastSeenBy(Myself),MAGE_ALL)
Class(LastSeenBy(Myself),CLERIC_ALL)
Class(LastSeenBy(Myself),BARD_ALL)
Class(LastSeenBy(Myself),DRUID_ALL)
Class(LastSeenBy(Myself),SORCERER)
Class(LastSeenBy(Myself),GENIE_DJINNI)
Class(LastSeenBy(Myself),GENIE_DAO)
Class(LastSeenBy(Myself),GENIE_EFREETI)
Class(LastSeenBy(Myself),GENIE_NOBLE_DJINNI)
Class(LastSeenBy(Myself),GENIE_NOBLE_EFREETI)
Class(LastSeenBy(Myself),FAIRY_SIRINE)
Class(LastSeenBy(Myself),FAIRY_DRYAD)
Class(LastSeenBy(Myself),FAIRY_NEREID)
Class(LastSeenBy(Myself),FAIRY_NYMPH)
Class(LastSeenBy(Myself),FAIRY_NEREID)
THEN
RESPONSE #100
Spell(LastSeenBy(Myself),CLERIC_MISCAST_MAGIC)
END
Ça ne fonctionnera jamais car tu as oublié la condition OR() : une créature ne peut pas avoir toutes ces classes ! De plus, tu as 2 FAIRY_NEREID.
Comme ceci ça irait beaucoup mieux :
Code:
// Lancement fourvoiement magique
IF
See(NearestEnemyOf(Myself))
HaveSpell(CLERIC_MISCAST_MAGIC)
!StateCheck(LastSeenBy(Myself),STATE_SILENCED)
OR(14)
Class(LastSeenBy(Myself),MAGE_ALL)
Class(LastSeenBy(Myself),CLERIC_ALL)
Class(LastSeenBy(Myself),BARD_ALL)
Class(LastSeenBy(Myself),DRUID_ALL)
Class(LastSeenBy(Myself),SORCERER)
Class(LastSeenBy(Myself),GENIE_DJINNI)
Class(LastSeenBy(Myself),GENIE_DAO)
Class(LastSeenBy(Myself),GENIE_EFREETI)
Class(LastSeenBy(Myself),GENIE_NOBLE_DJINNI)
Class(LastSeenBy(Myself),GENIE_NOBLE_EFREETI)
Class(LastSeenBy(Myself),FAIRY_SIRINE)
Class(LastSeenBy(Myself),FAIRY_DRYAD)
Class(LastSeenBy(Myself),FAIRY_NEREID)
Class(LastSeenBy(Myself),FAIRY_NYMPH)
THEN
RESPONSE #100
Spell(LastSeenBy(Myself),CLERIC_MISCAST_MAGIC)
END
Par ailleurs, j'ai retrouvé ceci dans mes vieux scripts :
Code:
// Fourvoiement magique (vs Spell Casters)
IF
GlobalTimerExpired("GWCast","LOCALS") // Compteur de temps pour lancement de sorts
GlobalTimerExpired("GWFourvo","LOCALS") // Compteur de temps pour le sort spécifique
HaveSpell(CLERIC_MISCAST_MAGIC)
OR(3)
Class(LastSeenBy(Myself),SORCERER)
Class(LastSeenBy(Myself),BARD)
Class(LastSeenBy(Myself),MAGE_ALL)
!StateCheck(LastSeenBy(Myself),STATE_SILENCED)
!CheckStatGT(LastSeenBy(Myself),50,RESISTMAGIC)
!CheckStatGT(LastSeenBy(Myself),45,SPELLFAILUREMAGE) // Evite de lancer le sort sur une créature déjà sous ses effets.
!StateCheck(LastSeenBy(Myself),STATE_IMPROVEDINVISIBILITY)
!StateCheck(LastSeenBy(Myself),STATE_OUT_OF_ACTION)
!StateCheck(LastSeenBy(Myself),STATE_INVALID)
CheckStat(LastSeenBy(Myself),0,SANCTUARY)
!HasBounceEffects(LastSeenBy(Myself)) // évident !
!HasImmunityEffects(LastSeenBy(Myself))
!Range(LastSeenBy(Myself),4)
RandomNum(3,1) // pour varier les rencontres.
THEN
RESPONSE #100
SetGlobalTimer("GWCast","LOCALS",6)
Spell(LastSeenBy(Myself),CLERIC_MISCAST_MAGIC)
SetGlobalTimer("GWFourvo","LOCALS",60)
END
IF
GlobalTimerExpired("GWCast","LOCALS")
GlobalTimerExpired("GWFourvo","LOCALS")
HaveSpell(CLERIC_MISCAST_MAGIC)
OR(2)
Class(LastSeenBy(Myself),DRUID_ALL)
Class(LastSeenBy(Myself),CLERIC_ALL)
!StateCheck(LastSeenBy(Myself),STATE_SILENCED)
!CheckStatGT(LastSeenBy(Myself),50,RESISTMAGIC)
!CheckStatGT(LastSeenBy(Myself),45,SPELLFAILUREPRIEST)
!StateCheck(LastSeenBy(Myself),STATE_IMPROVEDINVISIBILITY)
!StateCheck(LastSeenBy(Myself),STATE_OUT_OF_ACTION)
!StateCheck(LastSeenBy(Myself),STATE_INVALID)
CheckStat(LastSeenBy(Myself),0,SANCTUARY)
!HasBounceEffects(LastSeenBy(Myself))
!HasImmunityEffects(LastSeenBy(Myself))
!Range(LastSeenBy(Myself),4)
RandomNum(3,1)
THEN
RESPONSE #100
SetGlobalTimer("GWCast","LOCALS",6)
Spell(LastSeenBy(Myself),CLERIC_MISCAST_MAGIC)
SetGlobalTimer("GWFourvo","LOCALS",60)
END