搜索替換：


    public void respawn(final boolean force, final long now) { //몬스터 리젠 설정
        lastSpawnTime = now;
        if (force) { //cpq quick hack
            final int numShouldSpawn = monsterSpawn.size() - spawnedMonstersOnMap.get();

            if (numShouldSpawn > 0) {
                int spawned = 0;

                for (Spawns spawnPoint : monsterSpawn) {
                    spawnPoint.spawnMonster(this);
                    spawned++;
                    if (spawned >= numShouldSpawn) {
                        break;
                    }
                }
            }
        } else { //調整外星人區域最大怪物數量
            final int numShouldSpawn = (GameConstants.isForceRespawn(mapid) ? monsterSpawn.size() : (maxRegularSpawn / (((mapid >= 600010100 && mapid <= 600010700) || (mapid >= 610040000 && mapid <= 610040300)) ? 2 : 1)) * (ServerConstants.monsterSpawn ? 7 : 1)) - spawnedMonstersOnMap.get();
            if (numShouldSpawn > 0) {
                int spawned = 0;

                final List<Spawns> randomSpawn = new ArrayList<Spawns>(monsterSpawn);
                Collections.shuffle(randomSpawn);

                for (Spawns spawnPoint : randomSpawn) {
                    if (!isSpawns && spawnPoint.getMobTime() > 0) {
                        continue;
                    }
                    if (spawnPoint.shouldSpawn(lastSpawnTime) || GameConstants.isForceRespawn(mapid) || (monsterSpawn.size() < 10 && maxRegularSpawn * (ServerConstants.monsterSpawn ? 5 : 1) > monsterSpawn.size() && partyBonusRate > 0)) {
                        spawnPoint.spawnMonster(this);
                        spawned++;
                    }
                    if (spawned >= numShouldSpawn) {
                        break;
                    }
                }
            }
        }
    }


import constants.ServerConstants;