Beispiel #1
0
 public override int OnEffectExpires(GameSpellEffect effect, bool noMessages)
 {
     if ((effect.Owner is BDPet) && ((effect.Owner as BDPet).Brain is IControlledBrain) && (((effect.Owner as BDPet).Brain as IControlledBrain).Owner is CommanderPet))
     {
         BDPet        pet       = effect.Owner as BDPet;
         CommanderPet commander = (pet.Brain as IControlledBrain).Owner as CommanderPet;
         commander.RemoveControlledNpc(pet.Brain as IControlledBrain);
     }
     return(base.OnEffectExpires(effect, noMessages));
 }
Beispiel #2
0
        protected override void OnNpcReleaseCommand(DOLEvent e, object sender, EventArgs arguments)
        {
            if (!(sender is CommanderPet))
            {
                return;
            }

            CommanderPet pet = sender as CommanderPet;

            if (pet.ControlledNpcList != null)
            {
                foreach (BDPetBrain cnpc in pet.ControlledNpcList)
                {
                    if (cnpc != null)
                    {
                        GameEventMgr.Notify(GameLivingEvent.PetReleased, cnpc.Body);
                    }
                }
            }
            base.OnNpcReleaseCommand(e, sender, arguments);
        }