내부 코드 사용례에서 General 테이블의 column을 일부만 가져오는 경우가 다수 있습니다.
다만 General 클래스에서 각종 iAction에 해당하는 트리거 함수 호출을 위해서는 모든 column을 다 가져와야 정상 동작이 가능한 만큼, iAction interface를 구현한 General 클래스와, 구현하지 않은 GeneralLite 클래스 둘로 나눕니다.
또한 General 클래스에서는 필요한 column을 다 가져오도록 변경합니다.
Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/236
- 생성자 인수 1개 추가,
- mergeQueryColumn에서 $accessLogColumn에 정상적으로 enum[] 반영
- createGeneralObjListFromDB를 쿼리 1회 분리
- General에 getAccessLogVar() 추가
- 변경 기능 제공 예정 '없음'
- 변경된 생성자에 맞게 호출 부 변경
- NPC인 경우 accessLog 조회값이 null일 수 있으므로 반영
기존에 작성해두었던 EventHandler 시스템으로 하드코드 이벤트 이동
- 매달
- 보급선 설정
- 전쟁 단기 수입 설정
- 부대장 부여
- 1월
- 유산 포인트 계산
- 도시 인구 변화
- 수입
- 관직 제한 해제
- 재난
- 상인
- 새해 알림
- 특기 부여
- 4월
- 관직 제한 해제
- 재난
- 7월
- 유산 포인트 계산
- 도시 인구 변화
- 수입
- 관직 제한 해제
- 재난
- 상인
- 10월
- 관직 제한 해제
- 재난
- 천통 시
- 유산 포인트 계산
Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/230
- 경매장을 모든 입찰 기록이 남는 새로운 경매장 로직으로 변경
- ng_auction, ng_auction_bid
- DTO 사용
- 상회입찰 시 개인메시지로 알림
- 기존의 '배경에서 조용히 이루어지는' 유니크 입찰을 공개된 유니크 경매장으로 변경
- 종료 기간 명시
- 종료 기간에 가까워질때 입찰하면 자동 연장
- 최대 연장기간 있음
- 유니크 제한인 경우 24턴 연장
- 중원정세에서 '보물수배'로 알림
Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/221
- 기존의 랜덤 코드는 deprecated 처리
- 서버 시작 시 랜덤하게 정해진 hiddenSeed를 활용
- 랜덤 생성 단위
- 월 실행
- 사령턴 실행 결과
- 커맨드 실행 결과
- 작위 보상
- 부대장 생성
- 유니크 획득 시도
- 설문 조사
- 장수 생성
- NPC국 생성, NPC 생성, NPC의 토너먼트 베팅
- 전투
- 도시 점령
- 자율 행동 선택
- 랜덤 턴 변경
- 거래장, 토너먼트 등 구 랜덤 코드를 이용하는 잔여 코드 있음
- array에 +=를 phan 알아듣기 쉽게 array_merge로
- Util::array_get이 더 이상 필요없으므로 null coalescing
- array로 tuple류를 반환하는 함수에 index를 포함하도록 변경
- php intelephense에게는 현재 무효
- getPost 일부 값에 int 지정
- 아이템에 id property를 없앴으므로 관련 코드 제거
- enum은 array key로 사용할 수 없으므로 \Ds\Map으로 변경
- KakaoKey PhanRedefineClass 에러 우회
- 토너먼트 베팅을 betting 테이블 대신 Betting 모듈을 이용하는 형태로 변경
- 이전 토너먼트 베팅 기록이 남음
- 현재 이전 토너먼트 기록을 볼 수는 없음
- 베팅에 API/Betting/Bet 을 이용
- 토너먼트, 베팅 페이지를 Betting 모듈에 맞게 임시 조정
- 이전 버전과의 호환성을 위해 betting table과 betting 테이블에 초기값을 추가하는 로직은 남김
- 이후 0.30이 되었을 때 제거
Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/218