[스몬봇] 간만의 업그레이드

in mini.topialast month

안녕하세요 @realmankwon입니다.

점심 시간에 잠깐 짬을 내서 스몬봇에 약간의 기능을 추가했습니다.
추가한 기능은 다음과 같습니다.

1 . Quest Prior

  • 기능 : 퀘스트 진행 중일때 퀘스트의 소환사 우선 배정하는 기능
  • 기본 설정값 : No
  • 골고루 카드가 좋을 때 설정하면 빨리 퀘스트를 마칠 수 있지만 그렇지 않을 경우는 패가 많아질 수 있음

2 . Advance League

  • 기능 : 상위 리그로 올라갈 것인가를 설정하는 기능
  • 기본 설정값 : Yes

설정방법은 홈페이지에서 Management 메뉴에 가서 체크를 설정하거나 해제하시면 됩니다.

소스코드는 다음과 같습니다.

1 . get_league()

   get_league : (rating) => {
        let league;
    
        if(rating < 100) league = {league : 0, desc : 'NOVICE'};
        else if(rating < 400) league = {league : 1, desc : 'BRONZE III'};
        else if(rating < 700) league = {league : 2, desc : 'BRONZE II'};
        else if(rating < 1000) league = {league : 3, desc : 'BRONZE I'};
        else if(rating < 1300) league = {league : 4, desc : 'SILVER III'};
        else if(rating < 1600) league = {league : 5, desc : 'SILVER II'};
        else if(rating < 1900) league = {league : 6, desc : 'SILVER I'};
        else if(rating < 2200) league = {league : 7, desc : 'GOLD III'};
        else if(rating < 2500) league = {league : 8, desc : 'GOLD II'};
        else if(rating < 2800) league = {league : 9, desc : 'GOLD I'};
        else if(rating < 3100) league = {league : 10, desc : 'DIAMOND III'};
        else if(rating < 3400) league = {league : 11, desc : 'DIAMOND II'};
        else if(rating < 3700) league = {league : 12, desc : 'DIAMOND I'};
        else if(rating < 4200) league = {league : 13, desc : 'CHAMPION III'};
        else if(rating < 4700) league = {league : 14, desc : 'CHAMPION II'};
        else league = {league : 15, desc : 'CHAMPION I'};
    
        return league;
    }

2 . cmd_advance_league()

    cmd_advance_league: async(account, delegate_account) => {
        try {
            const key = await get_key(delegate_account);
            await common.call_customjson(key, [], [account], "sm_advance_league", { "notify": "true", "app": appName });

            console.log(`${account} advance league!!`);
        } catch (err) {
            throw new Error(err);
        }
    }

3 . Battle

   const league = api.smon.get_league(player_detail.season_details.rating);

   if(player_detail.league % 3 == 0 && player_detail.league < league.league){
        await api.smon.cmd_advance_league(playerInfo.player);
   }

승률이나 보상이 좀 더 좋아지길!!! ㅎㅎ