Example #1
0
        public static void Load(ReceiveGPacket p)
        {
            int     id1     = (int)p.readH();
            int     id2     = (int)p.readH();
            int     slotIdx = (int)p.readC();
            int     num     = (int)p.readC();
            Channel channel = ChannelsXML.getChannel(id2);

            if (channel == null)
            {
                return;
            }
            Room room = channel.getRoom(id1);

            if (room != null && room.round.Timer == null && (room._state == RoomState.Battle && room.room_type == (byte)7))
            {
                SLOT slot = room.getSlot(slotIdx);
                if (slot != null && slot.state == SLOT_STATE.BATTLE)
                {
                    ++slot.passSequence;
                    if (slot._team == 0)
                    {
                        room.red_dino += 5;
                    }
                    else
                    {
                        room.blue_dino += 5;
                    }
                    Net_Room_Pass_Portal.CompleteMission(room,slot);
                    using (BATTLE_MISSION_ESCAPE_PAK missionEscapePak = new BATTLE_MISSION_ESCAPE_PAK(room,slot))
                    {
                        using (BATTLE_DINO_PLACAR_PAK battleDinoPlacarPak = new BATTLE_DINO_PLACAR_PAK(room))
                            room.SendPacketToPlayers((SendPacket)missionEscapePak,(SendPacket)battleDinoPlacarPak,SLOT_STATE.BATTLE,0);
                    }
                }
            }
            if (p.getBuffer().Length <= 8)
            {
                return;
            }
            Logger.warning("[Invalid PORTAL: " + BitConverter.ToString(p.getBuffer()) + "]");
        }
Example #2
0
        public static void Load(ReceiveGPacket p)
        {
            int     roomId    = p.readH();
            int     channelId = p.readH();
            int     slotId    = p.readC(); //player
            int     portalId  = p.readC(); //portal
            Channel ch        = ChannelsXML.getChannel(channelId);

            if (ch == null)
            {
                return;
            }
            Room room = ch.getRoom(roomId);

            if (room != null && room.round.Timer == null && room._state == RoomState.Battle && room.room_type == 7)
            {
                SLOT slot = room.getSlot(slotId);
                if (slot != null && slot.state == SLOT_STATE.BATTLE)
                {
                    ++slot.passSequence;
                    if (slot._team == 0)
                    {
                        room.red_dino += 5;
                    }
                    else
                    {
                        room.blue_dino += 5;
                    }
                    CompleteMission(room,slot);
                    using (BATTLE_MISSION_ESCAPE_PAK packet = new BATTLE_MISSION_ESCAPE_PAK(room,slot))
                        using (BATTLE_DINO_PLACAR_PAK packet2 = new BATTLE_DINO_PLACAR_PAK(room))
                            room.SendPacketToPlayers(packet,packet2,SLOT_STATE.BATTLE,0);
                }
            }
            if (p.getBuffer().Length > 8)
            {
                SaveLog.warning("[Invalid PORTAL] Slot:" + slotId + " " + BitConverter.ToString(p.getBuffer()) + "]");
                Printf.warning("Invalid Portal Slot:" + slotId);
            }
        }
 public override void run()
 {
     try
     {
         Account p = _client._player;
         if (p == null)
         {
             return;
         }
         Room room = p._room;
         if (room != null && room.round.Timer == null && room._state == RoomState.Battle &&
             room.TRex == TRex)
         {
             SLOT slot = room.getSlot(p._slotId);
             if (slot == null || slot.state != SLOT_STATE.BATTLE)
             {
                 return;
             }
             if (slot._team == 0)
             {
                 room.red_dino += 5;
             }
             else
             {
                 room.blue_dino += 5;
             }
             using (BATTLE_DINO_PLACAR_PAK packet = new BATTLE_DINO_PLACAR_PAK(room))
                 room.SendPacketToPlayers(packet,SLOT_STATE.BATTLE,0);
             AllUtils.CompleteMission(room,p,slot,MISSION_TYPE.DEATHBLOW,weaponId);
         }
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[BATTLE_DINO_DEATHBLOW_REC.run] Erro fatal!");
     }
 }
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         if (player == null)
         {
             return;
         }
         Room room = player._room;
         if (room == null || room.round.Timer != null || (room._state != RoomState.Battle || room.TRex != this.TRex))
         {
             return;
         }
         SLOT slot = room.getSlot(player._slotId);
         if (slot == null || slot.state != SLOT_STATE.BATTLE)
         {
             return;
         }
         if (slot._team == 0)
         {
             room.red_dino += 5;
         }
         else
         {
             room.blue_dino += 5;
         }
         using (BATTLE_DINO_PLACAR_PAK battleDinoPlacarPak = new BATTLE_DINO_PLACAR_PAK(room))
             room.SendPacketToPlayers((SendPacket)battleDinoPlacarPak,SLOT_STATE.BATTLE,0);
         AllUtils.CompleteMission(room,player,slot,MISSION_TYPE.DEATHBLOW,this.weaponId);
     }
     catch (Exception ex)
     {
         Logger.info("BATTLE_DINO_DEATHBLOW_REC: " + ex.ToString());
     }
 }