Esempio n. 1
0
        public static void genDeath(Room room,SLOT killer,FragInfos kills,bool isSuicide)
        {
            int  score;
            bool isBotMode = room.isBotMode();

            Net_Room_Death.RegistryFragInfos(room,killer,out score,isBotMode,isSuicide,kills);
            if (isBotMode)
            {
                killer.Score += killer.killsOnLife + room.IngameAiLevel + score;
                if (killer.Score > 65535) // 65535
                {
                    killer.Score = 65535;
                    SaveLog.LogAbuse("{2} [PlayerId: " + killer._id + "] chegou a pontuação máxima do modo BOT.");
                }
                kills.Score = killer.Score;
            }
            else
            {
                killer.Score += score;
                AllUtils.CompleteMission(room,killer,kills,MISSION_TYPE.NA,0);
                kills.Score = score;
            }
            using (BATTLE_DEATH_PAK packet = new BATTLE_DEATH_PAK(room,kills,killer,isBotMode))
                room.SendPacketToPlayers(packet,SLOT_STATE.BATTLE,0);
            Net_Room_Death.EndBattleByDeath(room,killer,isBotMode,isSuicide);
        }
Esempio n. 2
0
        public static void genDeath(Room room,SLOT killer,FragInfos kills,bool isSuicide)
        {
            bool isBotMode = room.isBotMode();
            int  score;

            Net_Room_Death.RegistryFragInfos(room,killer,out score,isBotMode,isSuicide,kills);
            if (isBotMode)
            {
                killer.Score += killer.killsOnLife + (int)room.IngameAiLevel + score;
                if (killer.Score > (int)ushort.MaxValue)
                {
                    killer.Score = (int)ushort.MaxValue;
                    Logger.warning("[PlayerId: " + (object)killer._id + "] chegou a pontuação máxima do modo BOT.");
                }
                kills.Score = killer.Score;
            }
            else
            {
                killer.Score += score;
                AllUtils.CompleteMission(room,killer,kills,MISSION_TYPE.NA,0);
                kills.Score = score;
            }
            using (BATTLE_DEATH_PAK battleDeathPak = new BATTLE_DEATH_PAK(room,kills,killer,isBotMode))
                room.SendPacketToPlayers((SendPacket)battleDeathPak,SLOT_STATE.BATTLE,0);
            Net_Room_Death.EndBattleByDeath(room,killer,isBotMode,isSuicide);
        }
 public override void run()
 {
     try
     {
         Account player = _client._player;
         if (player == null)
         {
             return;
         }
         Room room = player._room;
         if (room == null || room.round.Timer != null || room._state < RoomState.Battle)
         {
             return;
         }
         bool isBotMode = room.isBotMode();
         SLOT killer    = room.getSlot(kills.killerIdx);
         if (killer == null || !isBotMode && (killer.state < SLOT_STATE.BATTLE || killer._id != player._slotId))
         {
             return;
         }
         int score;
         Net_Room_Death.RegistryFragInfos(room,killer,out score,isBotMode,isSuicide,kills);
         if (isBotMode)
         {
             killer.Score += killer.killsOnLife + room.IngameAiLevel + score;
             if (killer.Score > 65535)
             {
                 _client.SendPacket(new AUTH_ACCOUNT_KICK_PAK(0));
                 killer.Score = 65535;
                 Printf.warning("O jogador " + player.player_name + " ultrapassou 65535 pontos no modo Bot");
                 SaveLog.LogAbuse("[Bot Mode] Score máximo atingido [Nick: " + player.player_name + "; Id: " + _client.player_id + "]");
             }
             kills.Score = killer.Score;
         }
         else
         {
             killer.Score += score;
             AllUtils.CompleteMission(room,player,killer,kills,MISSION_TYPE.NA,0);
             kills.Score = score;
         }
         using (BATTLE_DEATH_PAK packet = new BATTLE_DEATH_PAK(room,kills,killer,isBotMode))
             room.SendPacketToPlayers(packet,SLOT_STATE.BATTLE,0);
         Net_Room_Death.EndBattleByDeath(room,killer,isBotMode,isSuicide);
     }
     catch (Exception ex)
     {
         SaveLog.fatal(ex.ToString());
         Printf.b_danger("[BATTLE_DEATH_REC.run] Erro fatal!");
         _client.Close(0);
     }
 }
Esempio n. 4
0
 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)
         {
             return;
         }
         bool isBotMode = room.isBotMode();
         SLOT slot      = room.getSlot((int)this.kills.killerIdx);
         if (slot == null || !isBotMode && (slot.state < SLOT_STATE.BATTLE || slot._id != player._slotId))
         {
             return;
         }
         int score;
         Net_Room_Death.RegistryFragInfos(room,slot,out score,isBotMode,this.isSuicide,this.kills);
         if (isBotMode)
         {
             slot.Score += slot.killsOnLife + (int)room.IngameAiLevel + score;
             if (slot.Score > (int)ushort.MaxValue)
             {
                 slot.Score = (int)ushort.MaxValue;
                 Logger.LogHack("[Player: " + player.player_name + "; Id: " + (object)this._client.player_id + "] chegou a pontuação máxima do modo BOT.");
             }
             this.kills.Score = slot.Score;
         }
         else
         {
             slot.Score += score;
             AllUtils.CompleteMission(room,player,slot,this.kills,MISSION_TYPE.NA,0);
             this.kills.Score = score;
         }
         using (BATTLE_DEATH_PAK battleDeathPak = new BATTLE_DEATH_PAK(room,this.kills,slot,isBotMode))
             room.SendPacketToPlayers((SendPacket)battleDeathPak,SLOT_STATE.BATTLE,0);
         Net_Room_Death.EndBattleByDeath(room,slot,isBotMode,this.isSuicide);
     }
     catch (Exception ex)
     {
         Logger.info("BATTLE_DEATH_REC: " + ex.ToString());
         this._client.Close(0, false);
     }
 }