Créature agressive même si alliée
Posté : dim. 06 août 2023, 06:54
par deratiseur
J'essaie de convoquer un Spectateur. Il est en "allié", "summoned", et à comme script WTASIGHT et celui-ci :
Le beholder une fois invoqué est bien "vert", pourtant il agresse les pjs, qui ne devraient pas être repérées comme ennemis. Alors pourquoi ? Qu'est qui coince dans mon script ?
Note : j'ai essayé en replaçant tous les (LastSeenBy(Myself) par des (NearestEnemyOf(Myself), ça ne change rien.
► Afficher le texte
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_PARALYZATION) // SPIN990.SPL (Paralysie)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
HPGT(Myself,65)
THEN
RESPONSE #100
FaceObject(NearestEnemyOf(Myself))
ForceSpell(NearestEnemyOf(Myself),BEHOLDER_CHARM_PERSON) // SPIN980.SPL (Charme-personne)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(SecondNearestEnemyOf(Myself))
HPGT(Myself,55)
THEN
RESPONSE #100
FaceObject(SecondNearestEnemyOf(Myself))
ForceSpell(SecondNearestEnemyOf(Myself),BEHOLDER_FEAR) // SPIN981.SPL (Peur)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(LeastDamagedOf(Myself))
HPGT(Myself,45)
THEN
RESPONSE #100
FaceObject(LeastDamagedOf(Myself))
ForceSpell(LeastDamagedOf(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS) // SPIN986.SPL (Blessures graves)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
!See(LeastDamagedOf(Myself))
HPGT(Myself,45)
THEN
RESPONSE #100
FaceObject([PC])
ForceSpell([PC],BEHOLDER_CAUSE_SERIOUS_WOUNDS) // SPIN986.SPL (Blessures graves)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(ThirdNearestEnemyOf(Myself))
HPGT(Myself,25)
THEN
RESPONSE #100
FaceObject(ThirdNearestEnemyOf(Myself))
ForceSpell(ThirdNearestEnemyOf(Myself),BEHOLDER_FLESH_TO_STONE) // SPIN984.SPL (Transmutation de la Chair en Pierre)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",1)
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
!See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",1)
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_PARALYZATION) // SPIN990.SPL (Paralysie)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
HPGT(Myself,15)
THEN
RESPONSE #100
FaceObject([PC])
ForceSpell([PC],BEHOLDER_DOMINATION) // SPIN985.SPL (Domination)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(SecondNearestEnemyOf(Myself))
HPGT(Myself,35)
THEN
RESPONSE #100
FaceObject(SecondNearestEnemyOf(Myself))
ForceSpell(SecondNearestEnemyOf(Myself),BEHOLDER_SLOW) // SPIN983.SPL (Lenteur)
Continue()
END
IF
See(NearestEnemyOf(Myself))
Gender(LastSeenBy(Myself),SUMMONED)
Global("summon","LOCALS",0)
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_PARALYZATION) // SPIN990.SPL (Paralysie)
ReallyForceSpell(LastSeenBy(Myself),WIZARD_DEATH_SPELL) // SPWI605.SPL (Sort de mort)
SetGlobal("summon","LOCALS",1)
END
IF
Global("BeholderBehavior","LOCALS",1)
See(ThirdNearestEnemyOf(Myself))
HPGT(Myself,5)
THEN
RESPONSE #100
FaceObject(ThirdNearestEnemyOf(Myself))
ForceSpell(ThirdNearestEnemyOf(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS) // SPIN986.SPL (Blessures graves)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(LeastDamagedOf(Myself))
THEN
RESPONSE #100
FaceObject(LeastDamagedOf(Myself))
ForceSpell(LeastDamagedOf(Myself),BEHOLDER_DEATH_RAY) // SPIN991.SPL (Rayon de mort)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
!See(LeastDamagedOf(Myself))
THEN
RESPONSE #100
FaceObject(NearestEnemyOf(Myself))
ForceSpell(NearestEnemyOf(Myself),BEHOLDER_DEATH_RAY) // SPIN991.SPL (Rayon de mort)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOfType([GOODCUTOFF.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",0)
Wait(2)
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
!See(NearestEnemyOfType([GOODCUTOFF.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",0)
END
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_PARALYZATION) // SPIN990.SPL (Paralysie)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
HPGT(Myself,65)
THEN
RESPONSE #100
FaceObject(NearestEnemyOf(Myself))
ForceSpell(NearestEnemyOf(Myself),BEHOLDER_CHARM_PERSON) // SPIN980.SPL (Charme-personne)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(SecondNearestEnemyOf(Myself))
HPGT(Myself,55)
THEN
RESPONSE #100
FaceObject(SecondNearestEnemyOf(Myself))
ForceSpell(SecondNearestEnemyOf(Myself),BEHOLDER_FEAR) // SPIN981.SPL (Peur)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(LeastDamagedOf(Myself))
HPGT(Myself,45)
THEN
RESPONSE #100
FaceObject(LeastDamagedOf(Myself))
ForceSpell(LeastDamagedOf(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS) // SPIN986.SPL (Blessures graves)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
!See(LeastDamagedOf(Myself))
HPGT(Myself,45)
THEN
RESPONSE #100
FaceObject([PC])
ForceSpell([PC],BEHOLDER_CAUSE_SERIOUS_WOUNDS) // SPIN986.SPL (Blessures graves)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(ThirdNearestEnemyOf(Myself))
HPGT(Myself,25)
THEN
RESPONSE #100
FaceObject(ThirdNearestEnemyOf(Myself))
ForceSpell(ThirdNearestEnemyOf(Myself),BEHOLDER_FLESH_TO_STONE) // SPIN984.SPL (Transmutation de la Chair en Pierre)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",1)
END
IF
Global("BeholderBehavior","LOCALS",0)
See(NearestEnemyOf(Myself))
!See(NearestEnemyOfType([0.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",1)
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_PARALYZATION) // SPIN990.SPL (Paralysie)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
HPGT(Myself,15)
THEN
RESPONSE #100
FaceObject([PC])
ForceSpell([PC],BEHOLDER_DOMINATION) // SPIN985.SPL (Domination)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(SecondNearestEnemyOf(Myself))
HPGT(Myself,35)
THEN
RESPONSE #100
FaceObject(SecondNearestEnemyOf(Myself))
ForceSpell(SecondNearestEnemyOf(Myself),BEHOLDER_SLOW) // SPIN983.SPL (Lenteur)
Continue()
END
IF
See(NearestEnemyOf(Myself))
Gender(LastSeenBy(Myself),SUMMONED)
Global("summon","LOCALS",0)
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_PARALYZATION) // SPIN990.SPL (Paralysie)
ReallyForceSpell(LastSeenBy(Myself),WIZARD_DEATH_SPELL) // SPWI605.SPL (Sort de mort)
SetGlobal("summon","LOCALS",1)
END
IF
Global("BeholderBehavior","LOCALS",1)
See(ThirdNearestEnemyOf(Myself))
HPGT(Myself,5)
THEN
RESPONSE #100
FaceObject(ThirdNearestEnemyOf(Myself))
ForceSpell(ThirdNearestEnemyOf(Myself),BEHOLDER_CAUSE_SERIOUS_WOUNDS) // SPIN986.SPL (Blessures graves)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(LeastDamagedOf(Myself))
THEN
RESPONSE #100
FaceObject(LeastDamagedOf(Myself))
ForceSpell(LeastDamagedOf(Myself),BEHOLDER_DEATH_RAY) // SPIN991.SPL (Rayon de mort)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
!See(LeastDamagedOf(Myself))
THEN
RESPONSE #100
FaceObject(NearestEnemyOf(Myself))
ForceSpell(NearestEnemyOf(Myself),BEHOLDER_DEATH_RAY) // SPIN991.SPL (Rayon de mort)
Continue()
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOfType([GOODCUTOFF.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",0)
Wait(2)
END
IF
Global("BeholderBehavior","LOCALS",1)
See(NearestEnemyOf(Myself))
!See(NearestEnemyOfType([GOODCUTOFF.0.0.MAGE_ALL]))
THEN
RESPONSE #100
FaceObject(LastSeenBy(Myself))
ForceSpell(LastSeenBy(Myself),BEHOLDER_ANTIMAGIC_RAY) // SPIN992.SPL (Rayon antimagie)
SetGlobal("BeholderBehavior","LOCALS",0)
END
Note : j'ai essayé en replaçant tous les (LastSeenBy(Myself) par des (NearestEnemyOf(Myself), ça ne change rien.