스몬봇 업그레이드 (카드 합성 시 사용 카드 제외)

avatar

안녕하세요 @realmankwon입니다.

어제에 이어 스몬봇의 카드 합성 로직을 업그레이드 하였습니다.
본계정에서 카드를 받으면 합성을 해야지 의미가 있는데 다른 계정에서 사용한 카드를 합성하면 사용을 못하게 됩니다.
그래서 그것을 제외하고 카드를 합성하도록 수정했습니다.
그래야지 자동으로 합성할 수 있으니까요.

카드 합성 로직은 기존에 있었기 때문에 카드의 속성에서 사용한 이력을 참고하여 제외하는 로직만 추가하면 되었습니다.
다음의 카드 속성을 분석합니다.

여기서 last_used_block, last_used_player, last_used_date 로 필터를 만듭니다.
추가한 필터 내용은 다음과 같습니다.

  • last_used_block = null
  • last_used_player = 소유한 계정
  • last_used_date 가 7일 전

추가된 소스는 다음과 같습니다.

  mycards = mycards.filter(data => data.last_used_block == null || data.last_used_player == account || new Date(data.last_used_date) < date.addDays(new Date(), -7));

동일한 id의 카드들이 있을 경우 해당 카드들을 가지고 와서 그 중에 사용하지 않았거나 사용했어도 내가 사용한 것 그리고 다른 계정에서 사용했더라도 7일 전에 사용한 것들만 걸러내서 합성을 해주면 됩니다.
테스트를 해 보니 아주 잘 동작하는군요 ^^
이제는 만랩일 경우에는 합성이 안 되도록 하는 것만 남았습니다.
이 부분은 손이 많이 갈 것 같네요.
그래도 시간날때 차근차근 만들어봐야겠습니다. ^^



0
0
0.000
0 comments