Pour les sorts de zone qui ne touchent pas aux Mobs "Amis" j'avais utilisé les Factions afin de régler ce problème mais je crois qu'il yavait un bout de code à implementer un bout de code ou yavait ecrit en commentaire : "ceux qui en ont quelque chose à faire des Factions peuvent implémenter ça"
C'est juste une fonction à implémenter qui retourne vrai/faux si l'autre mob est un ennemi.
FactionMgr.cs, ligne 114
- Code: Select all
public static bool CanLivingAttack(GameLiving attacker, GameLiving defender) { // someone who cares about factions should write this return true;//false; }
- Code: Select all
public static bool CanLivingAttack(GameLiving attacker, GameLiving defender) { // someone who cares about factions should write this if(attacker == null || defender == null) return false; if(attacker is GameNPC && defender is GameNPC) return !(((GameNPC)attacker).IsFriend((GameNPC)defender)); return true;//false; }
Il y a beaucoup de chance avec ce code que si on charme un mob qui fait des AoE il ne pourrait pas taper ses amis... et d'autre joyeuseté, ça serait simple à faire evoluer...
Ensuite les sorts de soins...
Le standard Mob Brain (StandardMobBrain.cs, ligne 1273) ne vérifie les cibles possible pour un soin que "soi-même" ou son "pet"
Donc peut être en utilisant des heal de zone (PBAE Heal ?) pour Mob... mais il ne regardera pas la vie de ses congénères pour prendre sa décision...
Vers la Ligne 1100 il ya un "check" pour le heal, je ne sais pas si c'est le seul mais il ne peut fonctionner que pour un "Pet Heal"
Après je ferais attention avec les autres "Brain" beaucoup peuvent générer des erreurs et ne prennent pas en compte les cas de figure attendu ! (mais bon l'expérimentation peu aider, il faut bien tracer les Null Pointer Exception dans les logs en cas de pépin ! et voir ce qu'il se passe lorsqu'on charme le mob aussi !)