public static void RemovePetSummonRitualSkill(long ownerID, LocalDimensionPetSpirit spirit) { if (LocalAgent.LocalDimensionLiaison == null) { return; } LocalAgent.LocalDimensionLiaison.RemovePetSummonRitualSkill(ownerID, spirit); }
public static void SummonPet(long ownerID, LocalDimensionPetSpirit spirit) { if (LocalAgent.LocalDimensionLiaison == null) { return; } LocalAgent.LocalDimensionLiaison.SummonPet(ownerID, spirit); }
public static void ReleasePet(LocalDimensionPetSpirit spirit, bool isDead = false) { if (LocalAgent.LocalDimensionLiaison == null) { return; } LocalAgent.LocalDimensionLiaison.ReleasePet(spirit, isDead); }
public static void AppSummonPet(Effect effectData, EntityParent caster, int skillID, bool isCommunicateMix) { if (isCommunicateMix) { return; } if (caster == null) { return; } if (!caster.Actor) { return; } XDict <int, LocalDimensionPetSpirit> petSpiritByOwnerID = LocalAgent.GetPetSpiritByOwnerID(caster.ID); if (petSpiritByOwnerID == null) { return; } if (petSpiritByOwnerID.Count == 0) { return; } bool flag = true; for (int i = 0; i < petSpiritByOwnerID.Count; i++) { LocalDimensionPetSpirit localDimensionPetSpirit = petSpiritByOwnerID.ElementValueAt(i); if (localDimensionPetSpirit.summonSkillInfo != null) { if (localDimensionPetSpirit.summonSkillInfo.skillId == skillID) { SummonPetAnnouncer.Announce(caster, DataReader <Pet> .Get(localDimensionPetSpirit.TypeID).petType); flag = localDimensionPetSpirit.IsSummonMonopolize; LocalAgent.SummonPet(caster.ID, localDimensionPetSpirit); break; } } } if (flag) { for (int j = 0; j < petSpiritByOwnerID.Count; j++) { LocalDimensionPetSpirit localDimensionPetSpirit2 = petSpiritByOwnerID.ElementValueAt(j); if (localDimensionPetSpirit2.summonSkillInfo != null) { if (localDimensionPetSpirit2.summonSkillInfo.skillId != skillID) { if (EntityWorld.Instance.EntCurPet.ContainsKey(localDimensionPetSpirit2.ID)) { LocalAgent.ReleasePet(localDimensionPetSpirit2, false); } } } } } }