Beispiel #1
0
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         Room    room   = player == null ? (Room)null : player._room;
         if (room == null || room.round.Timer != null || (room._state != RoomState.Battle || room.swapRound))
         {
             return;
         }
         SLOT slot1 = room.getSlot(player._slotId);
         if (slot1 == null || slot1.state != SLOT_STATE.BATTLE)
         {
             return;
         }
         room.Bar1 = (int)this.barRed;
         room.Bar2 = (int)this.barBlue;
         for (int index = 0; index < 16; ++index)
         {
             SLOT slot2 = room._slots[index];
             if (slot2._playerId > 0L && slot2.state == SLOT_STATE.BATTLE)
             {
                 slot2.damageBar1 = this.damages[index];
                 slot2.earnedXP   = (int)this.damages[index] / 600;
             }
         }
         using (BATTLE_MISSION_GENERATOR_INFO_PAK generatorInfoPak = new BATTLE_MISSION_GENERATOR_INFO_PAK(room))
             room.SendPacketToPlayers((SendPacket)generatorInfoPak,SLOT_STATE.BATTLE,0);
         if (this.barRed == (ushort)0)
         {
             Net_Room_Sabotage_Sync.EndRound(room,(byte)1);
         }
         else
         {
             if (this.barBlue != (ushort)0)
             {
                 return;
             }
             Net_Room_Sabotage_Sync.EndRound(room,(byte)0);
         }
     }
     catch (Exception ex)
     {
         Logger.info(ex.ToString());
     }
 }
 public override void run()
 {
     try
     {
         Account player = _client._player;
         Room    room   = player == null ? null : player._room;
         if (room != null && room.round.Timer == null && room._state == RoomState.Battle && !room.swapRound)
         {
             SLOT slot = room.getSlot(player._slotId);
             if (slot == null || slot.state != SLOT_STATE.BATTLE)
             {
                 return;
             }
             room.Bar1 = barRed;
             room.Bar2 = barBlue;
             for (int i = 0; i < 16; i++)
             {
                 SLOT slotR = room._slots[i];
                 if (slotR._playerId > 0 && (int)slotR.state == 13)
                 {
                     slotR.damageBar1 = damages[i];
                     slotR.earnedXP   = damages[i] / 600;
                 }
             }
             using (BATTLE_MISSION_GENERATOR_INFO_PAK packet = new BATTLE_MISSION_GENERATOR_INFO_PAK(room))
                 room.SendPacketToPlayers(packet,SLOT_STATE.BATTLE,0);
             if (barRed == 0)
             {
                 Net_Room_Sabotage_Sync.EndRound(room,1);
             }
             else if (barBlue == 0)
             {
                 Net_Room_Sabotage_Sync.EndRound(room,0);
             }
         }
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[BATTLE_MISSION_GENERATOR_INFO_REC.run] Erro fatal!");
     }
 }
Beispiel #3
0
 public override void run()
 {
     try
     {
         Account player = this._client._player;
         Room    room   = player == null ? (Room)null : player._room;
         if (room == null || room.round.Timer != null || (room._state != RoomState.Battle || room.swapRound))
         {
             return;
         }
         SLOT slot1 = room.getSlot(player._slotId);
         if (slot1 == null || slot1.state != SLOT_STATE.BATTLE)
         {
             return;
         }
         room.Bar1 = (int)this.tanqueA;
         room.Bar2 = (int)this.tanqueB;
         for (int index = 0; index < 16; ++index)
         {
             SLOT slot2 = room._slots[index];
             if (slot2._playerId > 0L && slot2.state == SLOT_STATE.BATTLE)
             {
                 slot2.damageBar1 = this._damag1[index];
                 slot2.damageBar2 = this._damag2[index];
             }
         }
         using (BATTLE_MISSION_DEFENCE_INFO_PAK missionDefenceInfoPak = new BATTLE_MISSION_DEFENCE_INFO_PAK(room))
             room.SendPacketToPlayers((SendPacket)missionDefenceInfoPak,SLOT_STATE.BATTLE,0);
         if (this.tanqueA != (ushort)0 || this.tanqueB != (ushort)0)
         {
             return;
         }
         Net_Room_Sabotage_Sync.EndRound(room,(byte)0);
     }
     catch (Exception ex)
     {
         Logger.info(ex.ToString());
     }
 }