Esempio n. 1
0
        public void OnNPCDropList(SagaMap.Packets.Client.NPCDropList p)
        {
            if (this.state != SESSION_STATE.MAP_LOADED)
            {
                return;
            }
            ActorNPC Mob = (ActorNPC)this.map.GetActor(p.GetActorID());

            if (Mob.stance != Global.STANCE.DIE && Mob.HP != 0)
            {
                return;
            }
            if (Mob == null)
            {
                Packets.Server.NPCDropListResult sendPacket = new SagaMap.Packets.Server.NPCDropListResult();
                sendPacket.SetResult(SagaMap.Packets.Server.NPCDropListResult.Result.NO_RIGHT);
                this.netIO.SendPacket(sendPacket, this.SessionID);
                return;
            }
            Mob mob = (Mob)Mob.e;

            if (mob.timeSignature.actorID != this.Char.id)
            {
                Packets.Server.NPCDropListResult sendPacket = new SagaMap.Packets.Server.NPCDropListResult();
                sendPacket.SetResult(SagaMap.Packets.Server.NPCDropListResult.Result.NO_RIGHT);
                this.netIO.SendPacket(sendPacket, this.SessionID);
                return;
            }
            if (!this.Char.inv.HasFreeSpace())
            {
                Packets.Server.NPCDropListResult sendPacket = new SagaMap.Packets.Server.NPCDropListResult();
                sendPacket.SetResult(SagaMap.Packets.Server.NPCDropListResult.Result.INVENTORY_FULL);
                this.netIO.SendPacket(sendPacket, this.SessionID);;
                return;
            }
            if (Mob.NPCinv == null)
            {
                Mob.NPCinv = new List <Item>();
            }
            this.Char.CurNPCinv = Mob.NPCinv;
            Packets.Server.SendNpcInventory sendPacket1 = new Packets.Server.SendNpcInventory();
            sendPacket1.SetActorID(this.Char.id);
            sendPacket1.SetItems(Mob.NPCinv);
            this.netIO.SendPacket(sendPacket1, this.SessionID);;
            //this.map.DeleteActor(Mob);
        }
Esempio n. 2
0
 public void OnNPCDropList(SagaMap.Packets.Client.NPCDropList p)
 {
     if (this.state != SESSION_STATE.MAP_LOADED) return;
     ActorNPC Mob = (ActorNPC)this.map.GetActor(p.GetActorID());
     if (Mob.stance != Global.STANCE.DIE && Mob.HP != 0) return;
     if (Mob == null)
     {
         Packets.Server.NPCDropListResult sendPacket = new SagaMap.Packets.Server.NPCDropListResult();
         sendPacket.SetResult(SagaMap.Packets.Server.NPCDropListResult.Result.NO_RIGHT);
         this.netIO.SendPacket(sendPacket, this.SessionID);
         return;
     }
     Mob mob = (Mob)Mob.e;
     if (mob.timeSignature.actorID != this.Char.id)
     {
         Packets.Server.NPCDropListResult sendPacket = new SagaMap.Packets.Server.NPCDropListResult();
         sendPacket.SetResult(SagaMap.Packets.Server.NPCDropListResult.Result.NO_RIGHT);
         this.netIO.SendPacket(sendPacket, this.SessionID);
         return;
     }
     if (!this.Char.inv.HasFreeSpace())
     {
         Packets.Server.NPCDropListResult sendPacket = new SagaMap.Packets.Server.NPCDropListResult();
         sendPacket.SetResult(SagaMap.Packets.Server.NPCDropListResult.Result.INVENTORY_FULL);
         this.netIO.SendPacket(sendPacket, this.SessionID); ;
         return;
     }
     if (Mob.NPCinv == null) Mob.NPCinv = new List<Item>();
     this.Char.CurNPCinv = Mob.NPCinv;
     Packets.Server.SendNpcInventory sendPacket1 = new Packets.Server.SendNpcInventory();
     sendPacket1.SetActorID(this.Char.id);
     sendPacket1.SetItems(Mob.NPCinv);
     this.netIO.SendPacket(sendPacket1, this.SessionID); ;
     //this.map.DeleteActor(Mob);
 }