내부 코드 사용례에서 General 테이블의 column을 일부만 가져오는 경우가 다수 있습니다.
다만 General 클래스에서 각종 iAction에 해당하는 트리거 함수 호출을 위해서는 모든 column을 다 가져와야 정상 동작이 가능한 만큼, iAction interface를 구현한 General 클래스와, 구현하지 않은 GeneralLite 클래스 둘로 나눕니다.
또한 General 클래스에서는 필요한 column을 다 가져오도록 변경합니다.
Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/236
- Spatie/DataTransferObject 대비
- MapFrom,MapTo -> RawName
- Strict -> 항상
- 심지어 raw type도 더 까다롭게
- array에 MapConverter 적용
- NullIsUndefined 적용
- 빈 nullable arg자리에 null 강제 지정
- Vue3에 v-model.number 지정
- input type="number" 기준
- 기존의 랜덤 코드는 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
- 유산 포인트
- 기수 뒤로도 누적되는 포인트
- 생존, 최대 임관년 수, 최대 연속 내정 성공, 병종 상성 우위 횟수, 전투 횟수, 계략 성공 횟수, 천통 기여(규모 상승, 천통 수뇌, 천통 군주), 숙련도, 토너먼트, 베팅 당첨
- 유산 관리 페이지 제공
- 태수국
- 181년 1월에 자동 생성되는 u장수국
- 시간이 지나면 사실상 자동 소멸
- 유저국과는 4칸 거리, 서로는 2칸 거리
- 이 시스템으로 인해 m장 거병 차단
- NPC 원조시 불가침
- 1년 세수만큼 받은 경우 24개월 불가침 제안
- 최소 6개월
- 불가침을 받지 않고 추가 원조한 경우 계속해서 기간 상승
- 단, 불가침 수락 전에 선포를 할 수 있음
Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/187
Co-authored-by: hide_d <hided62@gmail.com>
Co-committed-by: hide_d <hided62@gmail.com>