====== 패치 내역 ====== 패치 내역을 요약합니다. 실제 코드의 변경 내역은 https://storage.hided.net/gitea/devsam/core/commits/devel 에서 확인할 수 있습니다. * [[개발/패치_내역/v0.20이전]] ===== 최신 버전 ===== ==== 개발 버전(훼) ==== === 커밋 === ==== 마이너 최신 버전 ==== (v0.37.0-0-gf1e6ac7b-devel ) ==== 퀘섭 최신 버전 ==== (v0.37.0-0-gf1e6ac7b-devel ) === 주요 변경점 === === 엔진 변경점 === === 밸런스 수정 === === 수정된 버그 === === 기타 변경점 === ==== 체섭 최신 버전 ==== (v0.37.0) ===== v0.37 ===== ==== v0.37.0 ==== (2024-02-29) [[https://storage.hided.net/gitea/devsam/core/compare/v0.36.1...v0.37.0|커밋목록]] === 주요 변경점 === - 소소하게 이것저것 바뀌었습니다. === 엔진 변경점 === - 패널티 시스템이 정비됩니다. - 현재 구현된 패널티는 다음과 같습니다. - 수뇌 불가 - 외교권자 불가 - 기밀 조회(암행부 등) 불가 - 개인 메시지 전송 제한 - 깃수 단위로 패널티가 적용됩니다. - 깃수 내 패널티인 경우: 장수를 삭제하면 패널티가 해제됩니다. - 깃수 외 패널티인 경우: 장수를 삭제하더라도, 장수 생성/장수 빙의시 패널티가 다시 적용됩니다. - 도시 함락 시 수비중인 장수에게 동작하는 ''ConqueryCity'' 트리거를 추가합니다. - 유니크 아이템 획득 시드에 커맨드 명을 추가합니다. === 밸런스 수정 === - '자동 출병'이 설정된 게임에서, 국고 병량이 2000 이하이더라도 유저장은 출병하도록 변경합니다. - 초기 3년 이전에도 하야를 할 수 있도록 변경합니다. - 장수 생성 시 턴 시간 지정을 초 단위가 아니라 분단위까지만 지정할 수 있도록 변경합니다. - 정확히는 1/60 단위로만 지정가능한 구현이므로, 1분 서버에서는 1초단위, 2분 서버에서는 2초 단위입니다. - 요구 유산 포인트를 3000에서 2500으로 할인합니다. - 장수 생성 시 턴 시간과 도시 지정을 같이 할 수 있도록 변경합니다. - 음양가의 전략턴 디메리트를 2배에서 4/3배로 완화합니다. === 수정된 버그 === - v0.35 기준 - 이민족 발동 시 현재 수도가 예전 이성 도시인 경우에 발동하지 않는 버그를 수정합니다. - v0.33 기준 - 저격 아이템, 저격 특기의 효과가 동시에 2회 발동할 수 있는 문제를 수정합니다. - v0.31 기준 - 사전 거병에서 유니크 아이템을 얻는 경우, 직후 일반턴에서 높은 확률로 또 유니크 아이템을 얻게 되는 문제를 보완합니다. - v0.30 기준 - 인사부 확장에서 '종사'가 제대로 표기되지 않는 버그를 수정합니다. - v0.29 기준 - 턴 선택기에서 턴을 빠르게 여러번 당기거나 미룰 때, 화면이 더 이상 뜨지 않는 버그를 수정합니다. - v0.20 기준 - 불가침 제의를 같은 국가로 지정할 수 있는 버그를 수정합니다. - 기타 - 정체모를 JSON 클래스를 Json 클래스로 올바르게 고칩니다. - 왜 어떤 곳에서는 버그가 나고, 어떤 곳에서는 동작했던 걸까요? === 기타 변경점 === - 아시아 명장전 시나리오에서 (비급+파죽지세) 모드를 추가합니다. - 걸그룹대전 시나리오에서 (비급) 모드를 추가합니다. - 일부 게임 텍스트를 수정합니다. - 개인 기록에 전략 수행 내역과 백성동원 대상 도시가 남습니다. - 종전 시 세력 정보란에 문구가 남습니다. - 이호경식 사용시 대상 국가를 남깁니다. - 유산을 사용한 턴 시간 변경을 직관적인 동작으로 재 설계합니다. - 다다음턴 부터 시간을 00:00 ~ 59:59까지 랜덤하게 바꿉니다. - 이전에는 연속으로 20~30분 뒤로 밀리는 경우 중간 턴이 하나 사라지는 문제가 있었습니다. - 사전 거병 시 삭턴이 리셋됩니다. - NPC가 거병한 경우 건국까지 한턴을 기다립니다. - NPC 시나리오에서 유저장이 안전하게 건국할 수 있습니다. - 유니크 경매 항목 변경 시, 금액이 자동으로 입찰가능한 최저치로 바뀌도록 변경합니다. - 국가 성향별 보정에서 "내정" 용어를 "농상"으로 변경합니다. - 물자조달 커맨드를 내정에서 국가로 이동합니다. ===== v0.36 ===== ==== v0.36.1 ==== (2023-08-13) [[https://storage.hided.net/gitea/devsam/core/compare/v0.36.0...v0.36.1|커밋목록]] === 주요 변경점 === - v0.36.0으로 발생한 치명적인 버그들의 수정 및 조정이 있습니다. - 체 60기를 위한 파죽지세 시나리오 관련 기능이 추가됩니다. - 상세정보는 https://sam.hided.net/xe/community/35040?category=290 를 참고해주세요. === 엔진 변경점 === - ''General'' 클래스를 ''General'', ''GeneralLite'' 클래스로 분리합니다. - ''GeneralLite'' 클래스는 iAction을 요구하지 않습니다. - ''scenarioEffect'' 개념이 추가됩니다. - 시나리오마다 다른 내정/전투 특성이 반영될 수 있습니다. - ''InstanceAction'' 개념이 추가됩니다. - NotOccupiedCity constraint를 추가합니다. === 밸런스 수정 === === 수정된 버그 === - v0.36 기준 - 정상동작하지 않았던 많은 기능들을 복구합니다. - v0.35 기준 - 천통 후 이민족 이벤트에서 유산 포인트를 얻을 수 있는 문제를 수정합니다. - v0.33 기준 - 수극이 다른 저격과 다르게 처리되던 문제를 수정합니다. - v0.20 기준 - 징병 가능 여부 판별 시 상대 년도 판별 로직에 문제가 있던 부분을 수정합니다. - 트래픽에서 접속자가 제대로 집계되지 않는 문제를 수정합니다. === 기타 변경점 === - 파죽지세 시나리오가 추가되었습니다. ==== v0.36.0 ==== (2023-07-12) [[https://storage.hided.net/gitea/devsam/core/compare/v0.35.1...v0.36.0|커밋목록]] === 주요 변경점 === - 내부 엔진 코드 조정이 있었습니다. === 엔진 변경점 === - 내부 DB의 일부 인덱스를 수정합니다. - 기존 `General` 테이블에서 접속 로그 관련 정보를 `GeneralAccessLog` 테이블로 분리합니다. - 최근 갱신, 갱신 횟수(벌점) 정보입니다. - 기존의 접속 로그 방식을 `api_log`로 일원화합니다. - General 객체를 DB에서 받아오는 방법을 재작성합니다. - `GeneralQueryMode` Enum을 통해 Core, Lite, FullWithIaction, Full, FullWithAccessLog 5가지 중 하나로 생성할 수 있게됩니다. === 밸런스 수정 === - 국력 계산식에서 평균 '벌점'을 제거합니다. === 수정된 버그 === - 기타 - 최신 삼성 브라우저에서 drag를 이용한 도구가 제대로 동작하지 않는 문제를 해결합니다. - 화면 가로 크기를 조절 할 때, 깨지는 특정 가로 크기 범위가 있던 문제를 해결합니다. === 기타 변경점 === - 등용장 수락은 재야상태에서만 가능하도록 변경합니다. - 내부 코드의 기본 탭 단위 설정을 2에서 4 바꿉니다. - 일부 메시지 출력의 오타를 수정합니다. ===== v0.35 ===== ==== v0.35.1 ==== (2023-06-25) [[https://storage.hided.net/gitea/devsam/core/compare/v0.35.0...v0.35.1|커밋목록]] === 주요 변경점 === - 천하통일 후 천통국 군주와 천통국 참모에게 이민족 침입 이벤트를 호출할 수 있도록 하는 기능이 추가됩니다. - 난이도는 3단계입니다. - 어려움: NPC 수 2배, 종합 능력치 195, 기술등급 최대, 숙련도 대등 - 보통: NPC 수 2배, 종합 능력치 동일, 기술등급 대등, 숙련도 0.5배 - 쉬움: NPC 수 1배, 종합 능력치 0.5배, 기술등급 80%, 숙련도 0 - 이민족이 추가될 때 속도 문제로 1분, 2분 서버 등에서는 턴 단위 시간이 자동으로 느려집니다. === 엔진 변경점 === - 공지용 개인 메시지를 전송하는 내부기능을 추가합니다. - 일반 유저가 허가된 특정 이벤트를 직접 호출하는 기능을 추가합니다. - 현재는 천하통일 후 이민족 호출만 가능합니다. - 서버 변수용 `ServerEnv` 클래스를 추가합니다. - `ServerDefaultEnv`로 기본값이 제어됩니다. - 서버 턴 단위 시간을 변경하는 기능이 새로 작성되었습니다. - 아직 API화되지는 않습니다. === 밸런스 수정 === - 버그로 인한 유발된 밸런스 조정이 있습니다. - 병가 - 진, 관, 수 전투 === 수정된 버그 === - v0.35 기준 - 전투시 수비자에게 수비 도시 정보가 입력되지 않는 버그를 수정했습니다. - 진, 관, 수 정보가 제대로 반영되지 않았습니다. - 정란/벽력의 성벽 선제가 정상적으로 점유율에 반영되지 않는 버그를 수정했습니다. - 깃수가 초기화 되었을 때, 메시지 알림이 일어나지 않는 버그를 수정했습니다. - v0.34 기준 - 거울세계 시나리오에서 국가 규모 승급이 일어나지 않던 버그를 수정했습니다. - v0.30 기준 - 은퇴 전/후에 베팅 포인트가 걸린 경우, 유산 포인트가 뻥튀기 되는 버그를 수정했습니다. - v0.23 기준 - 병가의 세율과 무관하게 인구 증감이 아예 없는 버그를 수정했습니다. - v0.20 기준 - 구형 관리자 도구의 일부 버그를 수정합니다. === 기타 변경점 === - 애니집결 시나리오가 업데이트되었습니다. ==== v0.35.0 ==== (2023-05-12) [[https://storage.hided.net/gitea/devsam/core/compare/v0.34.0...v0.35.0|커밋목록]] === 주요 변경점 === - 게임 밸런스를 대폭 수정했습니다. - 변경한 정란, 벽력거의 선제 공격 로직을 대응하기 위해 전투 엔진을 대폭 변경했습니다. === 엔진 변경점 === - 전투 순위 계산식에 '장수'가 아닌 '도시'가 들어갈 수 있도록 확장했습니다. - 도시가 특수 능력을 사용할 수 있도록 변경합니다. - 현재는 정란, 벽력거의 특수 선제에만 반응합니다. - 병종이 실제로 수치 보정에 사용되는 iAction들을 가질 수 있도록 개선합니다. - 전역 KVStorage에 general_{$generalID} namespace를 추가했습니다. - 다음 API를 추가/변경합니다. - Message/ReadLatestMessage - 메시지 읽음 처리 - Message/GetRecentMessage - 메시지 읽음 처리를 반영한 최근 메시지 정보 수 === 밸런스 수정 === - 레벨(명성), 능력치의 최대 상한을 255로 지정합니다. - 300에 가까워지면 내부의 전투력 수식에 문제가 생겨 대미지가 1 이하로 들어가는 문제가 있었습니다. - 순수 능력치 뿐만 아니라, 보정된 능력치까지 포함하여 255에 대한 제한입니다. - 전쟁 중에 전방 도시의 내정 효율이 "수도를 제외하고" 감소하였으나, "수도여도" 감소하도록 변경합니다. - 전방 도시에서 적게 오르는 내정은 농지 개간(50%), 수비 강화(50%), 성벽 보수(25%), 상업 투자(50%), 물자조달(50%, 신설) 입니다. - 단, 185년까지는 전방이더라도 감소하지 않습니다. - 이후 1년마다 실제 적용량 대비 5%씩 가산 적용되어, 205년이 되면 수도여도 다른 도시와 차이가 없어집니다. - 물자조달도 적게 오르도록 변경합니다. - 차병군을 대폭 수정합니다. - 정란, 벽력거의 첫 선제 공격은 무조건 성벽을 공격하도록 변경합니다. - 병량 패퇴, 점령은 적용되지 않습니다. - 다른 수비병이 있는 경우에는 예외적으로 성벽도 같이 맞 선제 공격을 시도합니다. - 벽력거는 추가로 다음과 같이 변경됩니다. - 받는 피해가 44% 증가합니다. - 정란의 상성과 같아집니다. - 목우는 다음과 같이 변경됩니다. - 주는 피해가 20% 감소합니다. - 저지시 숙련도 역시 주는 피해에 기반하므로, 같이 줄어듭니다. - 저지시 쌀을 소모하도록 변경합니다. - 일반 공격 대비 0.9(저지 계수) * 0.25배만큼의 쌀 소모를 합니다. === 수정된 버그 === - v0.34 기준 - 부대장 생성이 국가 승급한 뒤 한달 뒤에 제공되는 문제를 수정합니다. - 국가 승급도 변경가능한 Event로 옮깁니다. - 이미 읽은 메시지임에도 불구하고, 다른 기기에선 읽지 않은 것으로 뜨는 문제를 수정합니다. - 메인 페이지에서 토너먼트 진행 상태가 제대로 표기되지 않는 버그를 수정합니다. - 지도 연월에 마우스를 올렸을 때, 기술 등급 제한등의 툴팁이 나타나지 않는 버그를 수정합니다. - v0.32 기준 - 특정 경우에 감찰부의 내용이 보이지 않는 버그를 수정합니다. - v0.29 기준 - 능력치와 같은 숫자에 대해서 숫자에 대한 대소비교가 아닌 '문자열 필터'가 적용되던 문제를 수정합니다. - v0.20 기준 - 모든 내정특기/전투특기를 사용 후, 초기화할 경우 서버가 정지하는 문제를 수정합니다. - 명성 최대 레벨이 지정되지 않아 300레벨이 넘으면 전투 로직이 망가지는 문제를 수정합니다. - 자세한 내용은 밸런스 수정란을 확인해주세요. - v0.9 기준 - 카카오 로그인 시, 특정 경우에 인증코드 전송기능이 먹통이 되는 문제를 수정합니다. - 내부 카카오 로그인 토큰 갱신 시간이, 인증코드 전송기간과 겹치는 희귀한 경우에 발생합니다. === 기타 변경점 === ===== v0.34 ===== ==== v0.34.0 ==== (2023-03-22) [[https://storage.hided.net/gitea/devsam/core/compare/v0.33.0...v0.34.0|커밋목록]] === 주요 변경점 === - 메인 페이지를 새로 구현했습니다. - 거의 비슷하게 생겼으나, Vue3로 새로 구현하였습니다. - 갱신 버튼이 페이지 새로 고침이 아닌, 내부 데이터 수정 방식으로 동작합니다. - 이에 따라 갱신 버튼 클릭시 화면 번쩍임이 사라집니다. - 새 메시지와 설문조사가 왔을 때 알려주는 로직을 새로 구현합니다. - 시나리오마다 게임 룰을 조금 더 유연하게 바꿀 수 있도록 개선합니다. 다음은 켜고/끄거나, 다르게 설정할 수 있는 게임 룰 목록입니다. - 보급선 설정, 단기 수입, 부대장 부여 - 도시 인구 변화, 금 수입, 쌀 수입 - 관직 제한 초기화, 상인 등장, 특기 부여 - 재난, 풍작 등 - 체 55기 이벤트 깃수를 위해 거울 세계 시나리오를 구현합니다. - 새로 추가한 CR지도입니다. - 맹훈련 커맨드를 임시 구현합니다. - 훈련/사기진작 분량의 2/3를 동시에 올려주는 커맨드입니다. - 쌀을 소모합니다. - 인구이동 커맨드를 임시 구현합니다. - 도시의 인구를 일정량 다른 도시로 이동하는 사령턴 커맨드입니다. === 엔진 변경점 === - 내부 세션 관리용 DummySession의 구현이 잘못되어있어, 계속해서 실제 세션을 요구하는 버그를 수정합니다.(v0.21) - 토너먼트 관리 페이지에서 자동 개최 모드 설정을 바꿀 수 없는 버그를 수정합니다.(v0.31) - SammoAPI 호출 시 timeout과 retry가 지정되어있어서 의도와 다르게 동작할 수 있던 버그를 수정했습니다.(v0.26) - 메인 페이지에서 명령어 테이블을 동적으로 불러와, 실행 가능 여부를 판단할 수 있도록 수정합니다. - 기존 코드에서 내부 PHP warning이 발생하던 부분을 수정합니다. - CSS 표기에서 기본적으로 사용하던 12컬럼과 다르게 10컬럼 모드를 추가합니다. - 지도에서 도시 배경 출력 방식을 변경할 수 있도록 수정합니다. - 메시지 통신 API를 재구현합니다. - 외부 호출이 불가능한 API 타입을 정의합니다. - 내부 실험용, 혹은 이전에 허용했으나 앞으로 비활성화하고자 하는 경우에 사용됩니다. - 글로벌 메뉴 출력 방식을 php template 방식에서 Json 수신 후 Vue3로 표시하는 방식으로 변경합니다. - 로그인 문제, API 호출 실패 등에서 대응을 위한 API내 Recovery Mode를 추가합니다. - 인증 코드 입력 필요, 장수 없음(사망) 등에서 페이지 갱신이 필요함에도 이루어지지 않는 경우에 대응하기 위함입니다. - 다음 API를 추가합니다. - Global/GetFrontInfo - 메인 페이지 관련 모든 정보 호출 - 다른 API와 중복되는 데이터가 있으나, 벌점 제어 관련 문제가 있어 하나의 API로 통합합니다. - Global/GetGlobalMenu - 글로벌 메뉴 리스트 수신 - 다음 DTO를 추가합니다. - MenuItem, MenuMulti, MenuSplit - 메뉴 리스트 수신용 - 다음 커맨드 실행 조건을 추가합니다. - NeutralCity - 소재 도시가 공백지여야 함 - JS, PHP 패키지를 업데이트했습니다. - 특히 bootstrap-vue-3를 bootstrap-vue-next로 변경하면서 생긴 문제를 수정합니다. === 밸런스 수정 === - 랜덤임관 모드에서 초기 장수 3인 제한을 해제합니다. - 사전 거병이 가능하므로, 시간에 따른 제한이 필요없을것으로 판단합니다. === 수정된 버그 === - v0.30 기준 - 새 지도 렌더러가 모바일에서 스크롤로 인한 화면 접촉에도 도시 선택이 되는 문제를 수정합니다. - 이전에는 턴 입력기의 세부 옵션에서 사용되던 지도이며, 새 버전의 메인페이지에 본격적으로 문제가 되었습니다. - v0.29 기준 - 국방 수정에서 여러줄 개행이 한줄 개행으로만 표시되는 버그를 수정합니다. - v0.28 기준 - 명령 실행 결과를 보여주는 우상단 토스트의 색상이 잘못 설정되어 내용이 알아보기 어렵던 문제를 수정합니다. - v0.25 기준 - 게임 시작 6개월 내에 거병이 하나도 없으면 서버가 정지하는 버그를 수정합니다. - NPC 생성 로직과 연관된 문제였습니다. - v0.23 기준 - 삼성 브라우저에서 강제 다크모드가 적용될 때 색상이 왜곡되는 문를 수정합니다. === 기타 변경점 === - perl 구현 삼모전과 비슷하게 보이는 지도를 추가합니다. (CR지도) - 메시지창에서 장수 이름, 국가 이름칸을 클릭하여 빠르게 수신 대상을 지정할 수 있도록 하는 기능을 추가합니다. ===== v0.33 ===== ==== v0.33.0 ==== (2023-02-24) [[https://storage.hided.net/gitea/devsam/core/compare/v0.32.1...v0.33.0|커밋목록]] === 주요 변경점 === - 다양한 변경이 일어났습니다. - 세부 변경점을 확인해주세요. === 엔진 변경점 === - 일부 값을 게임 상수에서 조정할 수 있도록 수정합니다. - 게임 상수는 시나리오별로 조정할 수 있습니다. - 유니크 획득 확률을 바꿀 수 있습니다. - 장수 사전 생성 시 재 생성까지 필요한 시간을 바꿀 수 있습니다. - 장수 이름명 풀을 그대로 이용하는 '장수명 무작위 생성'모드가 추가됩니다. - 이벤트 Action으로 '무작위 유니크 망실'을 추가합니다. - 내부 디버깅 로그에서 민감한 값(비밀번호 등)가 남지 않도록 처리하는 기능을 추가합니다. - 유저가 조작하는 모든 값을 SQLite DB에 저장하는 기능을 추가합니다. - 지금은 SammoAPI를 통해서 api.php를 호출하는 경우에만 처리합니다. - j_*.php로 호출되는 규격은 점차 api.php로 이동해나갈 예정입니다. - 다음 Enum값을 추가합니다. - MessageType (메시지 타입) - 다음 API를 추가합니다. - Message/GetContactList - 메시지 연락 리스트 - Message/GetRecentMessage - 최근 메시지 수신 - Message/GetOldMessage - 이전 메시지 수신 - Message/DeleteMessage - 메시지 삭제 - Message/DecideMessageResponse - 메시지 응 - Message/SendMessage - 메시지 전송 - 메시지 관련 기능에 해당하는 j_msg_* 호출들이 위의 API로 변경됩니다. - 선제 사격 트리거를 다른 트리거와 마찬가지로 '시도' 및 '발동'으로 2원화합니다. - 더이상 사용할 수 없게된 `phpuri` 라이브러리를 `league/uri`로 대체합니다. === 밸런스 수정 === - 목우가 보병, 궁병, 기병, 귀병에 대해 25% 더 많은 피해를 입습니다. - 정란, 벽력거가 궁병처럼 선제사격을 합니다. - 벽력거의 초기 공격 값을 200에서 150으로 낮아집니다. - 선제사격이 추가되어 6페이즈 기준 전투는 비슷할 것으로 예상합니다. - 궁기병의 보병 상대 전투력을 상향합니다. - 공격력: 12.5% 향상 - 방어력: 9.1% 향상 - 선제사격의 대미지를 50%에서 2/3로 상향합니다. - 초토화를 할 경우 치안, 수비, 성벽도 20%로 낮추도록 변경합니다. - 기존에는 이 세가지 값은 그대로 유지되었습니다. - 기병의 수비시 전투력을 일부 상향합니다. - 공격력 약 2.1% 향상 - 방어력 약 3.2% 향상 - 계략 방어 확률 계산에서 도시 장수 수에 따른 방어 보정을 제곱근에서 로그2 기반으로 변경합니다. === 수정된 버그 === - v0.32 기준 - 신규/복귀 유산 포인트 계산시 이벤트 깃수를 포함해서 계산하는 버그를 수정했습니다. - 피장파장이 피장파장을 대상으로 하면 로직에 문제가 발생하여, 피장파장을 대상으로 할 수 없도록 수정했습니다. - v0.31 기준 - 천통 후 연감에서 서버시드를 출력할때 누락된 괄호를 추가했습니다. - 이미 같은 부위의 다른 아이템에 입찰하고 있는 경우, 경매가 열리다 마는 버그를 수정했습니다. - v0.30 기준 - DummySession에서 값 읽기가 제대로 이루어지지 않는 버그를 수정했습니다. - v0.29 기준 - 선제 사격에서도 저격이 동작하여 한 전투에 저격이 두번 일어 날 수 있는 버그를 수정했습니다. - 사령부 고급모드에서 다른 수뇌의 턴을 복사하는 기능이 아이폰에서 동작하지 않는 버그를 수정했습니다. - v0.24 기준 - 장수 생성 시 보너스 생성 스탯의 범위가 잘못 표기되는 버그를 수정했습니다. - 장수 생성 시 턴시간 고정이 0분만 가능한 버그를 수정했습니다. - v0.20 기준 - 접속량정보에서 접속자 수가 나타나지 않는 버그를 수정했습니다. - 거병후 즉시 국가가 강제해산되는 경우 몇몇 경우에 서버가 멈출 수 있는 버그를 수정했습니다. === 기타 변경점 === - 건국 시점에서 열리는 유산 포인트에 기본 적립 포인트를 상향합니다. - 최후 4국: 1,000 -> 5,000 - 천통국: 1,000 -> 2,000 - 무작위 세계 시나리오를 추가합니다. - 체 50기 이벤트 시나리오였습니다. - 빙의만 사용하는 것으로 가정한 '아시아 명장전' 시나리오를 추가합니다. - 해당 시나리오를 정상적으로 사용하기 위해서는 '임의 생성'을 금지하고, '빙의 가능'하도록 오픈해야합니다. - 턴 조작기 고급모드에서 선택한 턴의 내용을 클립보드로 복사하는 기능을 추가합니다. - 다른 유저에게 본인의 턴을 알리는데 사용할 수 있습니다. - 사용되지 않는 구버전 코드를 제거합니다. - 전투 시뮬레이터에서 입력가능한 값을 추가합니다. - 시드 값을 입력하여, 실제 전투와 같은 변수를 입력하였다면, 동일한 전투를 볼 수 있도록 합니다. - 유산 포인트로 구입할 수 있는 히든 버프도 입력할 수 있도록 합니다. ===== v0.32 ===== ==== v0.32.1 ==== (2022-10-05) [[https://storage.hided.net/gitea/devsam/core/compare/v0.32.0...v0.32.1|커밋목록]] === 주요 변경점 === - 게임 플레이 흐름을 크게 바꾸는 밸런스 변경이 있습니다. - 신규 유저 및 복귀 유저를 위해 유산 포인트를 추가 지급합니다. - 이전에 플레이하지 않은 정식 깃수 1기당 500 유산 포인트씩, 최대 4,000 포인트를 지급합니다. - 신규 유저는 4,000포인트를 받습니다. - 이벤트 깃수(시즌 번호 0)가 아닌 정식 깃수에 장수를 생성하면 포인트를 받습니다. - '소급적용'이 예정되어있습니다. - 불가침 기간이 버그로 인해 설명 문구와 1개월 차이가 나던 점을 수정합니다. === 엔진 변경점 === - NPC AI 페이지에서 특정 커맨드에 따라 내부 상태를 다시 인식할 수 있도록 변경했습니다. - 선포 등 주요 국가 상태를 바꾸는 사령턴을 입력한 NPC가 본인의 턴을 상황에 맞게 입력할 수 있게됩니다. - 은퇴 시 유산 포인트 적용 방식을 각기 수정할 수 있도록 변경했습니다. === 밸런스 수정 === - 징병 전투특기를 재설계합니다. - [군사] 징병시 훈사 70, 모병시 훈사 84 제공 - [기타] 통솔 순수 능력치 보정 +25%, 징병/모병/소집해제 시 인구 변동 없음 - 낙주(징병)은 기존 옵션에서 인구 변동 없음이 추가됩니다. - 더하여 징병 전투특기자는 '후방발령' 자율 행동에 영향을 받지 않습니다. - 게임 정식 개시 후 4년차(184년)부터 배신 수치를 1 늘립니다. - 이전에 하야하였다면 1로 유지됩니다. - 하야/비 재야 망명으로 인한 패널치가 배신 * 15%로 변경되고, 6회까지 중첩되도록 변경됩니다. - 이전에는 배신 * 10%였습니다. - 피장파장을 일종의 전략으로 취급합니다. - 전략 사용이 가능할 때에만 피장파장을 사용할 수 있습니다. - 피장파장을 사용하면 내부 재사용 대기시간으로 8개월이 필요합니다. - 대신 다른 전략과 달리 전역 전략 대기시간을 늘리진 않습니다. - 계략 성공률이 도시 소재 장수 수에 따라 변하도록 변경합니다. - 기존 대비 (sqrt(도시소재 장수 수) - 1) * 5%p 만큼 성공률이 낮아집니다. - 즉 1명일 때는 동일, 0명일 때에는 성공률 5%p 증가, 2명 이상일때는 성공률이 낮아집니다. - 최대 임관년 수, 최대 연속 내정 성공, 천통 기은 은퇴할때 정산되지 않고 천통 시 정산됩니다. - 옥란백용구가 강화됩니다. - [전투] 남은 병력이 적을수록 회피 확률 증가. 최대 +50%p (기존 +30%p) === 수정된 버그 === - v0.29 기준 - 수동 은퇴 시 명예의 전당에 등재되지 않는 버그를 수정했습니다. - v0.22 기준 - 유산포인트 계산식 중 최대 임관 년 수가 '하야/비 재야 망명'시에 0으로 초기화되는 버그를 수정했습니다. - v0.20 기준 - 장수 회수 시 조사가 두번 붙는 문제를 수정했습니다.(류화영) - NPC가 순간이동할 경우 보급이 끊긴 도시에도 이동이 가능한 버그를 수정했습니다. - 불가침에서 '까지'가 해당 월을 포함하지 않던 버그를 수정했습니다. - 184년 12월까지 불가침이라면, 185년 1월부터 선포가능합니다. - v0.4 기준 - 카카오계정에서 '이메일'이 바뀐 경우 바뀐 이메일을 적용하도록 수정했습니다. === 기타 변경점 === - 서버 오픈 시, 기본 설정 값을 '체섭'외의 마이너서버에서 자주 활용하는 설정으로 변경했습니다. - 자율 행동: 전부 선택 - 자율 행동 시간: 24시간 - 사실모드: 가상 ==== v0.32.0 ==== (2022-09-01) [[https://storage.hided.net/gitea/devsam/core/compare/v0.31.2...v0.32.0|커밋목록]] === 주요 변경점 === - 밸런스 관련한 많은 변경이 있었습니다. 밸런스 수정란을 확인해주세요. === 엔진 변경점 === - 사용중인 DTO 라이브러리를 외부로 옮겼습니다. - 사용하는 패키지들을 최신버전으로 올렸습니다. - JavaScript쪽으로는 denque를 추가합니다. - 디버그에 활용할 수 있도록 빌드 코드에 source-map을 활성화했습니다. - 다음 API를 추가/변경했습니다. - InvalidResponse - 정상 상태로 돌아오기 위해 필요한 행동 명시 - 로그인 에러 발생 시 Json 타입 반환 - Global/GetRecentRecord - 메인 페이지 동향(장수 동향, 개인 기록, 중원 정세) - Nation/SetNotice - 국방 변경시 변경자와 변경 시점을 기록(미 노출) - 사이트가 여러 도메인을 공유하더라도 카카오 OAuth 대응을 할 수 있도록 변경합니다. - 내부 클래스 변경식에 PHP 8.1에 도입된 Enum을 키로 바로 사용할 수 있도록 수정합니다. === 밸런스 수정 === - 목우의 병종 상성을 '무상성'화 합니다. - 보,궁,기,귀 병에 대해 종합적으로 2.25배 더 잘 싸웁니다. - 이에 따라 상성이 남아있는 차병종은 충차(공/방)과 정란(방) 둘입니다. - 유니크 아이템 경매시 현재 최고 입찰가보다 1% 더 높아야만 입찰할 수 있도록 변경합니다. - 시간이 지날 수록 성벽을 강화합니다. - 성벽 내부의 숨겨진 훈/사 값이 상대적으로 더 오르도록 수정합니다. - 181년 60부터 시작하여 매 해마다 훈/사 값이 1씩 상승하여 2최대 110까지(231년) 상승합니다. - 이전에는 180년 훈사 60/60, 220년에 훈사 87/87 240년에 훈사가 100/100이었습니다. - 이에 따라서 183년에서는 성벽이 동일하며, 220년 기준으론 약 40%가량 더 성벽이 강력해집니다. - 필살 전투특기에서 계수 향상 보정을 하향합니다. - 일반 필살 계수: [1.3 ~ 2.0] - 필살 전투 특기: [1.65 ~ 2.0] - 이전 버전: [2.0 ~ 2.0] - NPC가 조금 더 상위병종을 시도할 확률을 높입니다. - 게임 시작 후 12월에 생성되는 인구 보정용 M장에의 비율이 변경됩니다. - 무:지:무지장 비율이 기존 1:1:0에서 1:1:1로 변경됩니다. - 성벽과 전투시 동일 살상 대비 소모되는 쌀이 20% 감소합니다. - 궁병의 선제 공격을 공격/수비 상관없이 일관적으로 동작하도록 변경합니다. - 공격시에도 수비 선제처럼 先 페이즈에 0.5 배율의 공격을 시도합니다. - 무장은 1페이즈 계략 시도 추가 확률을 보정을 받지 않도록 변경합니다. - 이전에는 1페이즈 한정으로 계략 시도 확률이 3배 높게 보정되었습니다. - 수비하지 않도록 하는 경우 훈련/사기 감소치가 -3/-3에서 -3/-6으로 변경됩니다. - 유니크 경매장에서 마지막 연장 시간을 1시간에서 30분으로 감소합니다. - 의병모집 사용시 생성되는 의병의 수를 조정합니다. - 기존의 5 + (국가별 평균장수수 / 10)의 반올림에서 3 + (국가별 평균장수수 / 8)의 반올림으로 바꿉니다. - 초기 시점에서 나오는 의병은 줄고, 국가별 장수수가 평균 80명이 되는 시점에서 역전합니다. - 전투시 얻는 기술량이 변경됩니다 - 공격자 기술: 공격자가 입은 피해 * 0.012 (구 0.01) - 수비자 기술: 수비자가 입은 피해 * 0.009 (구 0.01) === 수정된 버그 === - v0.31 기준 - 준비중인 감찰부 '로그 더 불러오기'가 정상 작동하지 않는 버그를 수정했습니다. - 아직 UI에 드러나지는 않습니다. - 182년 1월 이후 자동 해산 실행시 에러 로그가 남는 버그를 수정했습니다. - 장수를 새로 생성하거나, 유산포인트 관련 획득이 전혀 없는 경우 경매장을 볼 수 없는 버그를 수정했습니다. - 새 감찰부에서 장수 부상 정도가 표기되지 않는 버그를 수정했습니다. - 새 감찰부에서 남은 시간이 제대로 표기되지 않는 버그를 수정했습니다. - 새 감찰부에서 명마, 무기, 서적, 도구, 특기 등에서 툴팁이 빈번하게 나타나지 않는 버그를 수정했습니다. - 새 부대 편성에서 권한이 없더라도 '부대명 변경' 버튼이 보이는 버그를 수정했습니다. - 새 부대 편성에서 부대장과 다른 도시에 있는 장수가 강조되지 않는 버그를 수정했습니다. - 새 부대 편성에서 부대장 집합 순서대로 정렬되지 않는 버그를 수정했습니다. - 감찰부, 부대 편성, 세력 장수 페이지에서 벌점, 숙련, 명성 등급 텍스트가 한단계 높게 뜨는 버그를 수정했습니다. - 서버 리셋 페이지 등에서 CSS가 제대로 로딩되지 않아 UI가 깨지는 버그를 수정했습니다. - 은퇴 시 서버가 멈추는 버그를 수정했습니다. - 난수 생성기 시드 중에서 '익명 이름 풀' 생성 시드값이 잘못된 버그를 수정했습니다. - v0.30 기준 - 베팅을 원래 의도인 10이 아니라 1씩 가능한 버그를 수정했습니다. - 빙의장이 유산을 얻을 수 없는 버그를 '또 다시' 수정했습니다. - v0.21 기준 - 의병 모집 시, 의병의 명성/계급이 장수 평균치로 설정되지 않는 버그를 수정했습니다. - v0.20 기준 - 전쟁중인 NPC가 전방 워프를 시도할 때 도시 중요도를 계산하는 과정에서, '종사' 임명 여부를 따지지 않는 버그를 수정했습니다. - 태수, 군사, 종사가 모두 임명된 도시는 하나도 임명되지 않은 도시보다 가중치(이동할 확률)가 4배 더 높아야 합니다. === 기타 변경점 === - 감찰부에서 '이전', '다음' 버튼을 추가했습니다. - 부대 편성에서 1000px 모드 버튼 위치를 좌하단으로 옮겼습니다. - 아시아 명장전 시나리오를 추가합니다. - 몇몇 사이시옷 표기를 수정합니다. ===== v0.31 ===== ==== v0.31.2 === (2022-07-27) [[https://storage.hided.net/gitea/devsam/core/compare/v0.31.1...v0.31.2|커밋목록]] === 주요 변경점 === - 감찰부 페이지를 Vue3로 재 작성했습니다. - 부대편성 페이지를 Vue3로 재 작성했습니다. - 기존 '암행부 연동'이 기본 통합됩니다. - 장수에 마우스를 올린 경우, 장수 카드가 표시됩니다. - 암행부 권한이 없는 경우, 간이 카드가 표시됩니다. - 모바일용 500px 모드를 추가했습니다. - 사령부에서 부대장 발령 시, 부대장대신 부대명으로 표기합니다. - 장수 선택란에서 부대명으로 검색하면 부대장이 나타납니다. === 엔진 변경점 === - DTO 관련 코드를 안정화했습니다. - API를 추가/변경했습니다. - Nation/GetGeneralList - 좀더 낮은 권한에서 더 많은 정보가 보입니다. - 부대 정보가 같이 보입니다. - Nation/GetNationInfo - 국가 정보를 조회할 수 있습니다. - Troop/ExitTroop - Troop/JoinTroop - Troop/KickFromTroop - Troop/NewTroop - Troop/SetTroopName - 부대 탈퇴, 가입, 추방, 생성, 이름 변경 - js/css 빌드 코드를 최적화해, 빌드 시간이 대폭 감소되었습니다. - ZEN3 CPU기준 최대 220초 -> 40초 가량으로 줄었습니다. === 밸런스 수정 === - 유니크 경매장 진행을 일부 변경합니다. - 랜덤 유니크 등으로 경매 진행중인 부위에 아이템을 얻은 경우 추가 입찰을 불가능하게 바꿉니다. - 본인이 연 경매를 다른 유저가 낙찰받을 때 강제 연장이 일어난 경우, 주최자를 (상인)으로 바꿉니다. - 이에 따라 새로 경매를 열 수 있게됩니다. - 벽력거의 회피를 낮추고, 비용을 높였습니다. - 회피 10% -> 5%, 기본비용 18 -> 20 - 목우의 비용을 낮췄습니다. - 기본비용 18 -> 15 - NPC가 기존보다 쌀이 조금 더 적더라도 징병을 시도합니다. === 수정된 버그 === - v0.31 기준 - 깃수 종료 시 열려 있는 경매가 종료되지 않는 버그를 수정했습니다. - 183년 이전에 공백지/선포 관련 외교 상태 버그를 수정했습니다. - 이제 의도대로 작동합니다. - 장수 이름이 숫자로만 된 경우 경매장이 표시되지 않는 버그를 수정했습니다. - 사전 거병 직후 해산할 경우 서버가 정지하는 버그를 수정했습니다. - 유니크 경매에서 동일 부위 제한에 걸렸을 때 의도보다 자주 메시지가 오는 버그를 수정했습니다. - v0.30 기준 - 몇몇 기능에서 사용되는 숫자 입력기에서 최소값, 최대값이 매 입력마다 기록되어 이상하게 입력되는 버그를 수정했습니다. - v0.28 기준 - 납금박산로, 주판 유니크가 동작하지 않는 버그를 수정했습니다. - v0.27 기준 - 회의실에서 줄바꿈이 동작하지 않는 버그를 수정했습니다. - v0.23 기준 - 천하통일되더라도, 유산포인트로 구매가 가능한 버그를 수정했습니다. - v0.20 기준 - 자국으로 원조가 가능한 버그를 수정했습니다. - 금쌀 변화는 없이 외교 기한만 늘어나는 현상이 발생합니다. - 강행시 훈련, 사기가 떨어지지 않는 버그를 수정했습니다. - 불가침 파기시, 메시지 헤더가 의도와 다르게 나타나는 버그를 수정했습니다. === 기타 변경점 === - 부대 집합시 불필요한 조사를 제거했습니다. - NPC 정책에서 부상 정도에 따라 '요양' 사용 여부를 정할 수 있습니다. - 전투에서 각종 효과 텍스가 뜨는 순서를 재조종했습니다. - 유니크 경매장에서 아이템에 마우스 오버/탭을 해서 효과를 볼 수 있도록 바꿉니다. ==== v0.31.1 ==== (2022-07-06) [[https://storage.hided.net/gitea/devsam/core/compare/v0.31.0...v0.31.1|커밋목록]] === 주요 변경점 === - 군주/외교권자에게 부대의 이름을 바꿀 수 있도록 하는 기능을 제공합니다. - 사전 거병 기능을 추가했습니다. - 서버 가오픈 기간 동안 '내 정보&기능' 페이지에서 실행할 수 있습니다. - 사전 거병 시 더 이상 가오픈 기간내 장수 삭제를 할 수 없게됩니다. - 건국은 이전과 마찬가지로 서버 개시 후 2턴째부터 가능합니다. === 엔진 변경점 === - 다음 API를 추가하였습니다. - General/BuildNationCandidate - 사전 거병 - General/DieOnPrestart - 가오픈 장수 삭제(호출 경로 이전) - InheritAction/GetMoreLog - 유산 페이지 로그 - Nation/SetTroopName - 부대명 지정 === 밸런스 수정 === - 유산 포인트로 장수를 생성할 때 '도시 지정'과 '턴 시간 지정'을 동시에 설정할 수는 없도록 변경합니다. - 도구 유니크 밸런스를 수정합니다. - 노군입산부 - 회피 확률 -30%p -> -25%p - 구정신단경 - 격노마다 대미지 5% 추가 중첩 추가 - 납금박산로 - 성공률 +20%p -> 15%p - 두강주, 이강주, 보령압주 - 5년마다 +1를 4년마다 +1로 강화 - 구석, 동작 - 상승량 +15% -> +20% - 상편 - 공격력 증가 최대 +50% -> +60% - 평만지장도 - 전략 대기 기간 -15% -> -20% - 박혁론 - 격노 불가 추가 - 낙주 - 징 모병비 -50% -> -30% - 둔갑천서 - 필살확률 +25%p -> +20%p - 회피 발동시 피해량 감소를 1/5에서 1/6로 강화합니다. === 수정된 버그 === - v0.20 기준 - 초반 내정기간(일반 시나리오 기준 183년 이전)에 NPC국가가 여러 국가에 동시 선포할 수도 있는 버그를 수정합니다. === 기타 변경점 === - 도시 정보 우상단의 시간을 서버 실행 시간으로 변경합니다. - 유산 관리 페이지에서 이전 로그를 가져올 수 있도록 변경합니다. - 삼모시네마틱유니버스 시나리오를 업데이트합니다. - 금액 선택란에서 +만 을 추가했습니다. - 토너먼트 진행 주기를 서버 진행 단위와 일치하도록 변경합니다. - 단 5분 미만 턴은 5초로 고정됩니다. - 20분 서버에 토너먼트 5초를 선택하였을 때 토너먼트 유산 포인트를 많이 얻는 경우를 방지합니다. - 모반 시도를 제거합니다. - 메인페이지 모바일 모드에서 하단 바 높이를 약간 높였습니다. - 천통국 내기가 열린 경우 개인 메시지를 통해 알립니다. - 토너먼트, 베팅장의 버튼을 약간 더 크게하였습니다. ==== v0.31.0 ==== (2022-06-15) [[https://storage.hided.net/gitea/devsam/core/compare/v0.30.0...v0.31.0|커밋목록]] === 주요 변경점 === - 새로운 난수 생성 시스템을 도입했습니다. - 서버를 리셋할 때 숨겨진 시드를 이용하여 난수를 생성합니다. - 시드값이 결정되어있으므로 결과값은 연, 월, 행동에 따라 일관적인 난수를 생성합니다. - 외부의 공격자, 악의적인 운영자가 난수값을 임의로 조작하는 행동이 '불가능함'을 증명할 수 있습니다. - 실제 난수는 시드를 확인할 수 있는 서버관리자가 예측할 수 있으나, 한계가 있어 마찬가지로 어떤 난수가 나올지는 '모릅니다' - 설문조사 시스템을 재작성하였습니다. - 이전 설문조사 결과를 확인할 수 있습니다. - 하나 이상을 선택할 수 있는 설문조사 타입도 추가됩니다. - 경매장을 재작성하였습니다. - 상회입찰 시 개인메시지로 알려줍니다. - 다른 유저의 입찰기록이 남습니다. - 유니크 경매장을 새롭게 추가합니다. - 자세한 정보는 https://sam.hided.net/xe/community/25610 를 참고하세요. - 유산포인트로 유니크 아이템을 구입하는 시스템을 대체합니다. - 서버 시작 후 3개월이 지나서부터 경매를 시작할 수 있습니다. - 유저마다 동시에 유니크 경매를 하나씩만 열 수 있습니다. - 경매를 시작하면 중원정보에 알려집니다. - 장수명 대신 가명으로 진행되며, 다른 경매에도 같은 가명을 사용합니다. - 진행중인 경매에서는 부위마다 하나씩만 1순위 입찰할 수 있습니다. - 다른 유저가 상회입찰한 경우 같은 부위의 다른 경매에 입찰할 수 있습니다. - 경매는 24턴동안 진행되며, 종료 직전에는 약 1턴 분량의 시간까지 상회입찰로 연장됩니다. - 만약 유니크 획득 제한(기한별 최대 수, 혹은 같은 부위에 유니크 소지)에 걸린 경우 강제로 24턴이 연장됩니다. === 엔진 변경점 === - API 호출 시 검증코드를 개선합니다. - 일부 요소들(문자열 배열, 정수, 실수)에 대해서 조금 더 잘 검사합니다. - 다음 API를 추가했습니다. - Auction/BidBuyRiceAuction - 쌀 구매 경매 입찰 - Auction/BidSellRiceAuction - 쌀 판매 경매 입찰 - Auction/BidUniqueAuction - 유니크 경매 입찰 - Auction/GetActiveResourceAuctionList - 열린 쌀 구매/판매 경매 리스트 조회 - Auction/GetUniqueItemAuctionDetail - 열린 유니크 경매 리스트 조회 - Auction/GetUniqueItemAuctionList - 유니크 경매 상세 입찰 정보 조회 - Auction/OpenBuyRiceAuction - 쌀 구매 경매 시작 - Auction/OpenSellRiceAuction - 쌀 판매 경매 시작 - Auction/OpenUniqueAuction - 유니크 경매 시작 - Vote/AddComment - 설문조사 댓글 작성(리팩토링) - Vote/GetVoteDetail - 설문조사 상세 정보(리팩토링) - Vote/GetVoteList - 설문조사 목록 보기 - Vote/NewVote - 새 설문 열기(리팩토링) - Vote/Vote - 설문 응답하기(리팩토링) - 서버 생성 시 hiddenSeed를 생성합니다. - 행동 단위마다 hiddenSeed와 추가 인자를 조합하여 별개의 난수 시드를 생성하도록 구현했습니다. - 기본적으로 hiddenSeed + 구분자(행동명칭) + 연 + 월 + (행동코드) + (국가ID) + (장수ID) 구성입니다. - 세부 seed가 같더라도, 내부 실행 조건에 따라 얼마든지 결과가 달라질 수 있습니다. - 예1: 전투 시드는 같지만 수비자의 수비 켬/끔으로 인해 전투 양상이 달라짐 - 예2: 설문조사 시드는 같지만 총 유저의 숫자가 달라저 유니크 당첨 확률이 달라짐 - 예3: 내정턴 실행 시드는 같지만 발령지가 달라져 커맨드 성공 확률이 달라짐 - seed가 같고 내부 실행 조건도 같다면 '언제나 같은 결과'를 보장합니다. - 이후 커맨드 실행 시 버그가 의심되는 경우 재현하여 버그 여부를 좀 더 쉽게 확인할 수 있습니다. - 구분자를 다르게 갖는 개별 항목은 다음과 같습니다. - 월초 시스템 동작 - 연, 월 - 작위 보상 시 수여 장수 - 연, 월, 국가ID - 작위 보상 시 수여 아이템 - 연, 월, 국가ID, 장수ID - 부대장 생성 시 - 연, 월, 국가ID - 군주 사망 후 후계 선정 - 연, 월, 군주ID - NPC 수행턴 결정 시 - 연, 월, 장수ID - 장수 사전 효과(치료 등) 발동 시 - 연, 월, 장수ID - 장수 사령턴 실행 시 - 연, 월, 장수ID, 커맨드명 - 장수 일반턴 실행 시 - 연, 월, 장수ID, 커맨드명 - 전투 개시 시 - 연, 월, 출병장수ID, 수비도시ID - 커맨드 실행 수 유니크 획득 시도 시 - 연, 월, 장수ID - 설문 조사 유니크 획득 시도 - 설문ID, 장수ID - 토너먼트 베팅 시 NPC들의 초기 베팅 - 베팅ID - 빙의장 선택 시 - 유저ID, 시간 - NPC 추방 시 메시지 - 연, 월, 장수ID - 국가 멸망 시 분실량 - 연, 월, 점령국ID, 점령장수ID, 도시ID - 장수 생성 시 임의 스탯 - 유저ID, 생성시각 - 유산 포인트 턴 시간 리셋 - 유저ID, 장수턴 - 유니크 경매에서 장수 가명 풀 생성 - '공란' (버그로 추정...) - NPC 다량 생성 시 - 연, 월 - 기존 DTO 라이브러리 대신 새로운 DTO 라이브러리를 직접 구현하여 적용했습니다. - 내부 자료구조로 Enum(PHP8.1) Ds\Map(pecl)을 활용합니다. - 다음 DB 테이블을 수정했습니다. - vote table 추가 - 새 설문조사 - general table 수정 - 이전 vote column 제거 === 밸런스 수정 === - 도기 유니크 아이템에서 얻을 수 있는 금의 수량을 변경했습니다. - 5년마다 +10,000에서 2년마다 +5,000으로 상향합니다. - 임관 시 이전 임관국 제한을 없앴습니다. - 이전에는 183년 이후 망명/하야/추방 시, 이전 국가로 직접 임관이 불가능했습니다. - 사기진작 시 표기대로 금 100을 소모합니다. - 여태까지 버그로 금을 소모하지 않았습니다. - m장이 재야일 때 임관을 시도하는 확률을 조금 더 낮춥니다. - 예전보다 더 천천히 임관하며, 그 사이에 견문/인재탐색을 더 수행할 것입니다. === 수정된 버그 === - v0.30 기준 - 연감에서 연/월을 제대로 선택할 수 없는 버그를 수정했습니다. - 왕조 일람에서 지도가 다른 경우 연감에서 지도가 나타나지 않는 버그를 수정했습니다. - 비급 모드에서 '필살 비급'이 필살 전투 특기 다른 버그를 수정했습니다. - 감찰부 하단 버튼이 '닫기'가 아니라 '돌아가기'인 버그를 수정했습니다. - v0.27 기준 - 피장파장 커맨드 사용시 실제 사용 가능 여부와 상관 없이 (불가)로 나타나는 버그를 수정했습니다. - v0.21 기준 - 깃수가 진행중일 때 이민족일 발동되는 경우, 발생할 수 있는 희귀케이스(이성 1성국)에서 서버가 멈추지 않도록 수정했습니다. - v0.20 기준 - 모든 소/중성에서 국가가 건국된경우, 더 이상 장수를 생성할 수 없는 버그를 수정했습니다. - 초기에 자동 생성되는 NPC들의 사망 년도가 의도와 다르게 똑같은 버그를 수정했습니다. - 앞으로는 다양한 기간에 걸쳐 조금씩 사망합니다. - 사기진작 커맨드가 실제로는 금 소모를 하지 않는 버그를 수정했습니다. - 초반에 금쌀이 부족한 경우에 전쟁을 하는 경우 더욱 더 체감될 것입니다. - 기타 - 크롬 업데이트로 일부 버튼의 테두리가 사라지는 버그를 수정했습니다. === 기타 변경점 === - 연감에서 국가랭킹의 위치를 바꿀 수 있도록 기능을 추가했습니다. - 방랑 커맨드를 사용할 수 없도록 비활성화합니다. - 군주의 즉시 방랑 대신 국가를 포기하는 적절한 방안이 나타나면 다시 등장할 수 있습니다. - 장수 아이콘 용량 제한을 30kb에서 50kb로 올렸습니다. - 삼모 시네마틱 유니버스 시나리오를 추가합니다. - 인사부에서 추방 버튼을 다시 가장 아래로 내립니다. - 임명 대신 추방을 대신 선택하는 불운한 사태를 막기 위해 다시 내렸습니다. ===== v0.30 ===== ==== v0.30.0 ==== (2022-05-13) [[https://storage.hided.net/gitea/devsam/core/compare/v0.29.1...v0.30.0|커밋목록]] === 주요 변경점 === - 연감 페이지를 재 설계했습니다. - 모바일 대응(500px)을 포함하여 UI가 조금 다릅니다. - 이전에 보았던 페이지들은 벌점을 소모하지 않습니다. - 명장 일람에 유산 포인트 소모, 유산 포인트 획득 랭킹을 추가합니다. - 매해 1월, 7월에 갱신됩니다. - 깃수 중 장수들의 정보는 공개되지 않으며, 천통 후 공개됩니다. - 보유중인 아이템 파기 기능을 추가했습니다. - 내 정보&설정에서 아이템을 버릴 수 있습니다. - 파기하거나, 판매하는 아이템이 유니크일 경우에는 중원 정세에 알립니다. - 유산 포인트로 유니크를 구입할 때 같은 부위에 중복 구입이 불가능하도록 변경합니다. - 이미 입찰한 경우에는 포인트를 환불합니다. - 다른 유니크 변경하고 싶다면 판매 또는 파기 후 시도해야합니다. === 엔진 변경점 === - 클라이언트 영역에서 게임 내 정적 변수들을 가져오는 코드를 최적화했습니다. - 다음 API를 추가합니다. - General/DropItem - 보유중인 아이템 버리기 - General/GetGeneralLog - 개인 기록 (현재 미사용) - Global/ExecuteEngine - proc.php 대체용 엔진 호출 (현재 미사용) - Global/GeneralListWithToken - 빙의 일람용 장수 목록 - Global/GetCachedMap - 최근 지도 및 정세(10분 캐시) - Global/GetCurrentHistory - 연감 현재 연월 - Global/GetHistory - 연감 과거 연월 - Global/GetDiplomacy - 중원 정보 - Global/GetMap - 현재 지도 - Nation/GetGeneralLog - 감찰부 (현재 미사용) - 다음 API의 동작을 변경합니다. - Nation/GeneralList - 권한 조정 - 이번 달 접속량, 특기 획득 연도 정보 값, 스탯 경험치, 숙련도 정보 추가 - Vue3로 작성된 새 지도 렌더러를 추가합니다. - jQuery로 동작하던 구버전과 외형상 차이는 아직 없습니다 - 대신 내부적인 수행 성능이 다릅니다. - 현재 연감, 커맨드 선택창에 적용됩니다. - API Call에서 동작을 수정합니다. - Get 호출에서 arg 지정 - 캐시 컨트롤에서 max-age, public/private 지정 - prefix를 지정하여 Root에서 각 게임 호출 - Session을 전혀 사용하지 않는 DummySession을 정식 적용합니다. - EventEngine에 다음 Condition과 Action을 추가합니다. - Condition/DeateRelative - 게임 정식 시작 연월을 기준으로한 상대 연월 - Action/NoticeToHistoryLog - 중원 정세에 메시지 출 - KVStorage에서 이제부터 대소문자를 구분합니다. - 베팅 로직을 변경했습니다. - 구형 토너먼트 베팅 로직을 재작성한 신규 베팅 로직에 통합했습니다. - 이전 betting 테이블은 제거됩니다. - BettingDetail이 Array가 아니라 Record일 수도 있도록 변경했습니다. - 내 정보&설정 및 감찰부에 사용할 Vue3 Component를 작성했습니다. - 이후 패치에 정식 반영됩니다. - 최소 PHP 버전을 8.1로 조정합니다. - 유산 포인트, 명장 일람 키를 Enum으로 사전 적용합니다. - KVStorage 및 LazyValueUpdate의 키로 Enum(\BackedEnum)을 받을 수 있도록 수정합니다. - KVStorage 등에서 Ds\Map을 적용합니다. - 게임 엔진에서 치명적인 에러가 발생해도 에러 로그를 남길 수 있도록 수정합니다. === 밸런스 수정 === - 궁병의 수비 선제 대미지를 일반 평타 공격(100%)에서 50%로 하향합니다. - 의술 전특 및 의술 유니크의 치료 효과를 표기에 맞게 50% 감소에서 30% 감소로 변경합니다. - 필살 전투 특기를 상향합니다. - 필살 발동 시 1.3 ~ 2.0배 사이에서 임의 배수였던 것을 항상 2.0배를 적용하도록 변경합니다. - 저지 발동 시 숙련 뿐만 아니라 명성도 추가합니다. === 수정된 버그 === - v0.29 기준 - 베팅창에서 본선 장수들이 정해져 있지 않을 때 내부 에러가 발생하는 버그를 수정했습니다. - 새롭게 작성한 세력 장수 페이지에서 도시 관직, 기밀 권한 조건을 달성해도 암행부 정보가 보이지 않는 버그를 수정했습니다. - v0.28 기준 - 국가 베팅에서 당첨자가 없을 경우 서버가 멈추는 버그를 수정했습니다. - v0.27 기준 - 빙의장이 연속 내정 성공에 대한 유산 포인트를 얻지 못하는 버그를 수정했습니다. - v0.23 기준 - 새로 작성한 Vue3 페이지에서 사용자 정의 CSS를 사용할 수 없는 버그를 수정했습니다. - v0.22 기준 - 태수국이 생성될 때 기술치가 항상 0으로 생성되는 버그를 수정했습니다. - 원래 의도에 따르면, 평균 기술치를 가져야합니다. - v0.20 기준 - 전투 시뮬레이터에서 숙련 등급으로 올바르지 않은 값이 입력되면 0으로 반영하도록 수정했습니다. - json 입력 등으로 'null'이 허용되는 상황이었습니다. - 천도했을 때 국가 캐시가 적용되지 않는 버그를 수정했습니다. - 동일 엔진 실행 주기 내에 천도 직후 긴급 천도가 일어나는 경우 '수도가 사라지'는 현상이 발생했습니다. - 환약 사용 기준을 '경상'에 놓았을 때 일부 경상에 대해서는 환약을 사용하지 않는 버그를 수정했습니다. - AI의 포상 기준에서 전쟁장/내정장 선택 기준에서 치명적인 버그를 수정했습니다. - 전쟁 종료 직후 년도가 바뀌기 전에 임관한 쟁장이 있을 경우 국가 내 모든 장수가 '내정장'으로 인식되는 버그였습니다. - 이전에 100명 징병하면 포상을 주는 것으로 우회해왔습니다. === 기타 변경점 === - 감찰부에서 모바일 대응 모드(500px)를 추가했습니다. - 검색 등은 기존의 세력 장수를 활용해주세요. - 중원정보, 명장일람, 명예의 전당에서 모바일 대응 모드(500px)를 추가했습니다. - 중원정보는 Vue3로 재 작성되었습니다. - 턴 선택기에서 얇은 커맨드의 높이를 높여 터치하기 쉽도록 변경했습니다. - 회원 가입시 닉네임을 '변경할 수 없음'을 알리는 메시지를 추가했습니다. - 유산 포인트로 유니크를 구입할 때 첫번째 칸을 '공란'으로 둡니다. - 유산 관리 페이지 및 인사부 임명/추방에서 조사를 자동으로 적용합니다. - 게임 시작 시 거병/건국, 출병 제한 관련 기간에 대해 중원 정세 메시지로 안내합니다. - 서버 선택 페이지(게이트웨이)의 버튼 모양을 바꿉니다. - 걸그룹대전 시나리오를 업데이트했습니다. ===== v0.29 ===== ==== v0.29.1 ==== (2022-04-14) [[https://storage.hided.net/gitea/devsam/core/compare/v0.29.0...v0.29.1|커밋목록]] === 주요 변경점 === - 턴 입력기를 전면 재 작성했습니다. - 기존의 단일 선택기 + 검색 방식에서 넓은 버튼을 클릭하는 형태로 바꿉니다. - 카테고리마다 세부 커맨드를 선택할 수 있습니다. - 일반 / 고급 모드를 분리하여 제공합니다. - 일반 모드에서는 턴별로 옆의 버튼을 클릭하여 빠르게 커맨드를 입력할 수 있습니다. - 고급 모드에서는 드래그를 포함하여 다음과 같은 기능을 제공합니다. - 최근 실행 턴 입력(모병 등 세부 입력이 포함된 커맨드 포함) - 잘라내기, 복사하기, 붙여넣기 - 선택한 턴을 이후로 반복하기 - 선택한 턴을 비우기(휴식) - 지우고 당기기, 뒤로 밀기 - 보관하기, 보관한 턴 사용하기 - 보관함은 같은 서버(체, 퀘 등) / 같은 지도이면 깃수가 바뀌어도 유지됩니다. - 통합 세력 장수/암행부 페이지를 추가했습니다. - 용도에 따라 보여주는 항목을 자유롭게 설정할 수 있으며, 설정값을 보관할 수 있는 기능을 제공합니다. - 필터를 제공하여 검색하거나, 대소비교 조건을 걸어 찾을 수 있습니다. - 원하는대로 정렬할 수 있습니다. 키보드를 사용할 수 있다면 2단 이상의 정렬도 가능합니다. - 기존 세력 장수 / 암행부에서 보여주던 컬럼에 더해, 최근 전투, 전투 수, 승리 수, 살상률도 볼 수 있습니다. - 현재 세력 장수 페이지에서 장수를 클릭하면 감찰부를 보여줍니다. - 이후 이 페이지를 사령부의 발령, 포상 등에서 바로 사용할 수 있도록 할 예정입니다. - 궁병군에 '선제 사격'을 추가합니다. - 수비할 경우 사전에 '先'이라고 뜨는 0페이즈 공격을 시도합니다. - 항상 일반 공격으로만 동작하며, 회피, 치료할 수 있습니다. - 0페이즈 공격이므로 아군, 적군 모두 위압이 동작하지 않습니다. * (위압은 1페이즈에 동작합니다) - 궁병 본인은 공격받지 않습니다. - 기병이 공격하던 경우 선제 공격을 받으면 돌격을 멈춥니다. - 공격할 경우 1페이즈에서 피해를 반으로 줄입니다. - 대신 모든 궁병에서 회피를 5%p 낮춥니다. === 엔진 변경점 === - 각 entrypoint 별로 제공되는 JavaScript 변수를 통일하는 작업을 진행중입니다. - 변경 작업이 완료되면 모든 변수는 window.staticValues 아래에 위치하게 될 것입니다. - 다음과 같은 API를 추가했습니다. - Command/ReserveBulkCommand API를 추가합니다. - 턴 입력기에서 보관함 등의 명령을 한번의 호출로 해결하기 위해 작성되었습니다. - Global/GetConst - 게임 내에서 사용하는 정적 변수(사용가능한 병종, 특기 등) 목록과 값, 그에 대한 설명을 담고 있습니다. - 깃수 단위로 캐싱가능한 값입니다. - Nation/GeneralList - 세력 장수/암행부에서 공통으로 사용할 수 있는 정보를 반환합니다. - TypeScript API 호출부를 재설계했습니다. - Argument, Response Type을 사전에 SammoAPI에 정의하도록 합니다. - API에서 HTTP Method를 지정할 수 있도록 했습니다. - axios대신 fetch를 사용합니다. - API를 이용할 때 사용자 정의된 숫자값, 문자열을 사용할 수 있도록 추가했습니다. - GET method에서 별도 argument가 필요할 때 특히 유용합니다. - 개발 환경에서 linter에 조금 더 강력한 룰을 적용했습니다. - APIHelper에서 캐시 기능을 실제로 사용할 수 있도록 재 구성했습니다. - GET 호출에서 의도에 따라 304 Not Modified를 반환할 수 있게 됩니다. - 전투 엔진에서 '전투 페이즈'가 항상 1씩 증가한다는 가정을 제거했습니다. - 중간에 페이즈가 감소하는 경우가 있을 수 있으므로, 앞으로 구현에 주의가 필요합니다. === 밸런스 수정 === - 불가침 최소 제안 기간을 1년(12개월)에서 6개월로 변경합니다. - 랜덤 임관 시, 유저장의 가치를 조금 더 높게(1.0 -> 1.2) 쳐줍니다. - 이에 따라 유저장이 적은 국가는 NPC가 조금 더 많아집니다. - 계략 성공률 보정 최대치는 50%로 제한합니다. - 이전에는 보정에 따라 100% 근처까지 도달할 수 있었습니다. - 과실주(상성)가 대등한 병종에서도 효과를 보여주도록 수정합니다. - 이전에는 유리한 병종에서만 효과가 있었습니다. - 궁병에게 '선제 페이즈' 기능을 추가했습니다. - 수비시 피해없는 추가 1페이즈 공격, 공격시 첫 페이즈 피해 반감입니다. - 위의 주요 변경점 항목을 참고해주세요. - 수뇌/관직 전투력 보정을 수정합니다. - 수비 시, 공격 시 나누지 않고 항상 작동합니다. - 군주: 공격 +7%, 피해 -7% - 참모: 공격 +5%, 피해 -5% - 무장 수뇌: 공격 +10% - 지장 수뇌: 피해 -10% - 도시 관직: 공격 +5%, 피해 -5% === 수정된 버그 === - v0.29 기준 - 국가방침에 이미지를 올릴 수 없는 버그를 수정했습니다. - v0.28 기준 - 빙의 메뉴에서 장수 목록 보기를 사용할 수 없는 버그를 수정했습니다. * (내부 구조 변경으로 인해 다시 생겼을 수 있습니다..) - 몇몇 페이지(암행부 등)에서 NPC 종류별 색상이 적용되지 않던 버그를 수정했습니다. - 천통국 베팅에서 베팅 대상에 들어가지 못한 국가가 성공 대상인 경우 베팅이 완료되지 않는 버그를 수정했습니다. - v0.27 기준 - 초성 검색에서 대상에 한/영/특수문자가 섞인 경우 제대로 검색되지 않는 버그를 수정했습니다. - v0.22 기준 - NPC가 불가침을 제안하는 기준으로 '최소 6개월'일 때 불가침을 하지 않는 버그를 수정했습니다. - v0.20 기준 - 임관, 하야 시 부대에 탑승한 경우 부대 정보가 여전히 남아있던 버그를 수정했습니다. - 위 버그가 발생하면 사령부 발령 페이지가 동작하지 않았습니다. - 백성 동원 수행시 세력 정보에 잘못된 형태로 로그가 남는 버그를 수정했습니다. - 여러 이유로 1인국이며, 군주가 NPC인 경우 12월/6월 군주턴에 서버가 정지하는 버그를 수정했습니다. - v0.4 기준 - 토너먼트에서 한쪽 슬롯이 가득차면 다른 자리가 비어있더라도 참가가 불가능한 버그를 수정했습니다. === 기타 변경점 === - 토너먼트, 베팅장이 열렸을 때 내부 동작을 수정합니다. - 베팅장에서 장수 아래에 장수의 능력치를 보여줍니다. - 악질유저무쌍! 시나리오를 추가합니다. - 1/7월에서 내정 1% 감소 후, 세율에 따라 내정치가 변하도록 수정합니다. - 기존에는 순서가 반대여서, 세율을 어떻게 설정하더라도 도시의 내정이 100% 차있는 것이 불가능했습니다. - 세력도시 페이지에서 도시 별 금/쌀 수입을 보여줍니다. - 도기를 판매시 국고에만 금/쌀이 추가되던 것을 장수와 국고 반반으로 나눕니다. - 랜덤 턴, 전투 특기 초기화 사용시 필요 유산이 점차 증가한다는 설명을 추가했습니다. - 4강 국 선정 베팅에서 베팅 포인트 수령 기준을 변경합니다. - 각 단계마다 총 수령액의 1/2씩 받고, 잔여금은 1등상에게로 모아줍니다. - 1등이 없는 경우 2등이 1등상+2등상 배분하여 수령하게 됩니다. - 4개 선택시 각각, 56.25%, 25%, 12.5%, 6.25%를 나눠가집니다. - 정답자가 전혀 없으면 포인트를 환불합니다. ==== v0.29.0 ==== (2022-03-17) [[https://storage.hided.net/gitea/devsam/core/compare/v0.28.0...v0.29.0|커밋목록]] === 주요 변경점 === - 내부 코드를 재정비했습니다. - 게임 플레이 흐름을 바꾸는 밸런스 조절을 수행했습니다. - 은퇴 커맨드가 추가되었습니다. - 60세 이상의 경우, 2턴을 소모하여 사전 은퇴를 할 수 있습니다. === 엔진 변경점 === - API 호출 시 path를 ''api.php?path='' 방식으로 변경하였습니다. - phpunit, mocha(chai) 유닛 테스트 라이브러리를 추가하였습니다. - 이후 작성되는 코드에 활용됩니다. - 시나리오에서 NPC 추방, 몰수, 고유메시지 출력 빈도를 조절할 수 있는 옵션을 추가하였습니다. - 원본 코드에서 PHP 라이브러리(vendor)는 설치 과정에서 별도로 다운받도록 수정하였습니다. - 코드 업데이트 과정에서 npm, composer는 lock 파일 기준으로 패키지를 설치하도록 변경합니다. - 저장소 코드의 용량을 대폭 절감했습니다. - 해시 기반 간이 난수 생성기를 추가했습니다. - 암호학적으로 안전한 난수 생성기입니다. - 시드값을 지정하여 특정 상황에서 의도된(고정된) 난수값을 생성할 수 있습니다. - 유닛 테스트를 사용하는 첫 기능입니다. - 이후 게임 전반에 적용될 예정입니다. - 모든 국가의 임관 설정을 임의 설정하는 이벤트 액션을 추가했습니다. - 메인 페이지에서 이미 게임에선 표기되던 일부 변수가 JavaScript로 노출됩니다. - 서버 영어 별명 - 서버 깃수 - 서버 실행 시간 - 토너먼트, 베팅 진행 상황 - 서버 초기화 관련 SQL을 수정했습니다. - json 필드의 경우 json_valid를 확실하게 검사하고, 대소문자를 구분합니다. - KVStorage의 key 필드도 대소문자를 구분합니다. === 밸런스 수정 === - 정란의 상성 상 공격력을 상승시켰습니다. (약 1.44배) - 돌격 전투특기 사용시 지속 전투 효과를 적용할 수 있습니다. - 차병종의 비용을 낮췄습니다. - 정란 - 15 -> 14 - 충차 - 20 -> 18 - 벽력거 - 25 -> 18 - 목우 - 30 -> 18 === 수정된 버그 === - v0.28 기준 - 연감이 제대로 표기되지 않는 버그를 수정했습니다. - 도기 유니크를 판매할 수 없는 버그를 수정했습니다. - 무상성으로 변경된 벽력거가 반대로 백이병 상대로는 유리하게 동작하는 버그를 수정했습니다. - v0.26 기준 - 카카오로그인 사용시 자동 로그인 관련 관리자 로그가 제대로 남지 않는 버그를 수정했습니다. - WebUI를 이용하여 설치할 수 없던 버그를 수정했습니다. - 최근에는 Docker를 이용한 설치방법만 테스트하고 있어 놓쳤습니다. - v0.20 기준 - 물자원조, 천도 턴이 잘못 구성된 경우 에러가 아니라 서버가 정지하는 버그를 수정했습니다. - 62che 기준 - 최신 MariaDB와 호환되지 않는 DB SQL 커맨드를 사용하고 있던 버그를 수정했습니다. === 기타 변경점 === - 유저무쌍 멀티 유니버스 시나리오를 추가합니다. - NPC들의 스탯이 반대로 기록된 시나리오입니다. - 깃수 진행 중 천하통일국이 결정된 경우, 자동으로 임관 금지가 설정됩니다. - 군주와 수뇌가 원하면 임관 금지를 해제할 수 있습니다. - 유저장이 3회 모병 분의 금과 3회 전멸 분의 쌀을 가지고 있는 경우, 자동 금쌀매매를 하지 않고 다른턴을 수행하도록 변경합니다. - 토너먼트에 참가할 수 있거나, 토너먼트 베팅이 열린 경우 버튼이 다르게 표기됩니다. ===== v0.28 ===== ==== v0.28.0 ==== (2022-02-24) [[https://storage.hided.net/gitea/devsam/core/compare/v0.27.2...v0.28.0|커밋목록]] === 주요 변경점 === - 천하를 통일할 국가가 어떤 국가인지 맞추는 '유산 포인트' 베팅을 추가했습니다. - 특정 시점(181년, 국가 수가 줄어든 경우)에 천통국 예측 베팅이 열립니다. - 참여를 유도하기 위해 각 베팅이벤트마다 기본 포상 1천 포인트가 제공됩니다. - 이를 위해 내부 베팅 코드가 새롭게 준비되었습니다. - 게임 내부 밸런스를 조절했습니다. - 기존의 명마, 무기, 서적에 더해 도구에도 유니크를 새롭게 개편했습니다. - 일반 소비형 아이템의 효과를 변경했습니다. - '많은' 버그를 수정했습니다. - 이후 게임 진행을 다양하게 바꿀 수 있도록 각종 trigger, event 처리기 구조를 개선했습니다. === 엔진 변경점 === - 새롭게 베팅을 처리하는 코드를 추가합니다. - 베팅 종류에 따라 유산 포인트(유저ID 기반), 금(장수ID기반)을 걸도록 할 수 있도록 설계하였습니다. - 베팅 옵션으로 후보군 중 1개, 후보군 중 n개, 후보군 중 가급적 많이, 세가지 방식을 지원합니다. - 내부 게임 이벤트 처리기를 대폭 변경합니다. - 발동 단위로써 국가 멸망 시, 도시 점령 시 옵션을 추가합니다. - 조건으로 '남은 국가 수'를 추가합니다. - 우선순위를 추가합니다. 같은 발동 단위인 경우 높은 우선순위를 가진 이벤트부터 평가합니다. - 베팅을 여는 Action을 추가합니다. - 내부 알림(toast) 처리로 CoreUI를 혼용하던 방식에서 bootstrap-vue-3로 일원화했습니다. - 계략 커맨드 방어 효율을 보정하는 trigger를 추가합니다. - 임의 행동에 대응할 수 있도록 하는 trigger를 추가합니다. - 현재는 장비 구입 및 판매에만 적용되었습니다. === 밸런스 수정 === - 천지비급 시나리오를 일부 변경합니다. - 천지비급 시나리오에서 183년 이전엔 항상 상인이 등장합니다. - 천지비급 시나리오에서 '견고' 전투 특기와 '견고' 비급이 허용됩니다. - 벽력거가 완벽하게 무상성 병종으로 동작하도록 변경합니다. - 기존에는 정란과 충차보다는 무상성에 가까웠지만 여전히 일반 병종보다는 약했습니다. - 도구 유니크를 개편했습니다. - 정력견혈산(의술): [군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복, [전투] 페이즈마다 40% 확률로 치료 발동(아군 피해 1/3 감소, 부상 회복) - 청낭서(의술): [군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복, [전투] 페이즈마다 40% 확률로 치료 발동(아군 피해 1/3 감소, 부상 회복) - 태평청령(의술): [군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복, [전투] 페이즈마다 40% 확률로 치료 발동(아군 피해 1/3 감소, 부상 회복) - 상한잡병론(의술): [군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복, [전투] 페이즈마다 40% 확률로 치료 발동(아군 피해 1/3 감소, 부상 회복) - 도기(보물): [개인] 판매 시 국고에 금, 쌀 중 하나를 추가 (+10,000, 5년마다 +10,000) - 주판(조달): [내정] 물자조달 성공 확률 +20%p, 물자조달 획득량 +100%p - 납금박산로(내정): [내정] 내정 성공률 +20%p - 평만지장도(전략): [전략] 국가전략 사용시 재사용 대기 기간 -15% - 동작(숙련): 숙련 +15% - 구석(명성): 명성 +15% - 오악진형도(척사): [전투] 지역·도시 병종 상대로 대미지 +15%, 아군 피해 -15% - 구정신단경(격노): [전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가) - 낙주(징병): [군사] 징·모병비 -50%, 통솔 순수 능력치 보정 +15% - 매화수전(저격): [전투] 새로운 상대와 전투 시 50% 확률로 저격 발동, 성공 시 사기+20 - 비도(저격): [전투] 새로운 상대와 전투 시 50% 확률로 저격 발동, 성공 시 사기+20 - 조목삭(위압): [전투] 첫 페이즈 위압 발동(적 공격, 회피 불가, 사기 5 감소) - 묵자(공성): [전투] 성벽 공격 시 대미지 +50% - 전국책(집중): [전투] 계략 성공 시 대미지 +30% - 논어집해(환술): [전투] 계략 성공 확률 +10%p, 계략 성공 시 대미지 +20% - 박혁론(반계저지): [전투] 상대의 계략 되돌림 불가 - 태현청생부(부적): [전투] 저격 불가, 부상 없음 - 삼황내문(저지): [전투] 수비 시 첫 페이즈 저지, 50% 확률로 2 페이즈 저지 - 서촉지형도(행동): [전투] 공격 시 페이즈 + 2 - 노군입산부(간파): [전투] 상대 회피 확률 -30%p, 상대 필살 확률 -10%p - 상편(불굴): [전투] 남은 병력이 적을수록 공격력 증가. 최대 +50% - 옥벽(약탈): [전투] 새로운 상대와 전투 시 20% 확률로 상대 금, 쌀 10% 약탈 - 주서음부(농성): [계략] 장수 주둔 도시 화계·탈취·파괴·선동 : 성공률 -30%p, [전투] 상대 계략 시도 확률 -10%p, 상대 계략 성공 확률 -10%p - 위공자병법(농성): [계략] 장수 주둔 도시 화계·탈취·파괴·선동 : 성공률 -30%p, [전투] 상대 계략 시도 확률 -10%p, 상대 계략 성공 확률 -10%p - 육도(계략): [계략] 화계·탈취·파괴·선동 : 성공률 +20%p, [전투] 계략 시도 확률 +10%p, 계략 성공 확률 +10%p - 삼략(계략): [계략] 화계·탈취·파괴·선동 : 성공률 +20%p, [전투] 계략 시도 확률 +10%p, 계략 성공 확률 +10%p - 과실주(상성): [전투] 유리한 병종 전투시 공격력 +10%, 피해 -10% - 이강주(지력): [능력치] 지력 +5 +(5년마다 +1) - 두강주(무력): [능력치] 무력 +5 +(5년마다 +1) - 보령압주(통솔): [능력치] 통솔 +5 +(5년마다 +1) - 철벽서(훈련): [전투] 훈련 보정 +15 - 단결도(훈련): [전투] 훈련 보정 +15 - 춘화첩(사기): [전투] 사기 보정 +15 - 초선화(사기): [전투] 사기 보정 +15 - 태평요술(회피): [전투] 회피 확률 +20%p - 둔갑천서(필살): [전투] 필살 확률 +25%p - 소비 아이템의 효과를 개편했습니다. - 환약을 기존의 1회용 아이템에서 3회용 아이템으로 개편했습니다. - 수극(저격)을 50%확률에서 100%확률로 변경했습니다. - 탁주(사기)가 사기를 30 올리도록 변경했습니다. - 청주(훈련)이 훈련을 40 올리도록 변경했습니다. - 유니크 숫자가 부족한 장수가 유니크를 얻을 확률을 올렸습니다. - 또한 유니크를 많이 가진 장수가 유니크를 추가로 얻을 확률은 낮췄습니다. - 일반 행동 뿐만 아니라 작위 보상에도 적용됩니다. === 수정된 버그 === - v0.27 기준 - 내무부에서 기밀 제한 변경 옵션이 실제로는 지급률을 변경하는 버그를 수정했습니다. - 내 정보란의 이전 로그가 가끔 순서대로 정렬되지 않는 버그를 수정했습니다. - 턴 세부 선택시 통/무/지가 제대로 표시되지 않는 버그를 수정했습니다. - v0.25 기준 - 태수국(U장)만 있는 경우, 초반 NPC 생성에서 서버가 멈추는 버그를 수정했습니다. - v0.24 기준 - 장수 생성시 총 능력치보다 미달할 때 경고하던 기능이 사라졌던 버그를 수정했습니다. - v0.20 기준 - NPC의 자동 지급률 설정에서 부대장 관련 지급을 잘못 설정하는 버그를 수정했습니다. - 시나리오 모드에서 시작시접과 봉급월이 겹치는 경우 멈추는 버그를 수정했습니다. - 피장파장이 대상 전략의 쿨타임을 60턴을 증가시키지 않고, 60턴으로 고정하는 버그를 수정했습니다. - 대인 전투 후 성벽과 전투하는 경우에는 대인 사살이 증가하지 않는 버그를 수정했습니다. - HiDCHe 초기 - 토너먼트 참가 시점과 장수가 사망하는 시점이 겹치는 경우 토너먼트에 이상이 발생해 이후 서버가 멈추는 버그를 수정했습니다. === 기타 변경점 === - 이민족 모드에서 한 이민족 국가가 멸망하면 다른 이민족 국가로 임관하도록 변경했습니다. - 이벤트 시나리오 '대리전'을 추가했습니다. - 사전 설정된 NPC 군주에 랜덤 임관하여 진행하도록 설계되었습니다. - 세력 일람에서 '삭제턴 유저'의 기준으로 자동수행턴을 반영하도록 변경했습니다. - NPC의 색상을 타입에 따라 변경합니다. 구형 코드 문제로 모든 곳에 반영되진 않았습니다. - 일반 NPC(N,M): cyan - 의병(G) deepskyblue - 부대장(ㅂ): darkcyan - (머리 수 채우는)보조 NPC: mediumaquamarine - 메인페이지에 토너먼트 개최기간을 보여줍니다. - 세력도 페이지를 제거하고 연감에 (현재)라는 항목으로 통합했습니다. ===== v0.27 ===== ==== v0.27.2 ==== (2022-01-05) [[https://storage.hided.net/gitea/devsam/core/compare/v0.27.1...v0.27.2|커밋목록]] === 주요 변경점 === - 내무부 페이지를 500px 모드로 작성했습니다. - 세율, 지급율 값을 즉시 알 수 있습니다. - 유니크 명마, 명검, 서적 갯수를 2배로 늘렸습니다. === 엔진 변경점 === - 전투시 소모하는 군량 보정을 위한 trigger를 추가했습니다. - 프론트엔드에서 API 호출 경로를 일부 변경했습니다. - 빌드 환경을 정비했습니다. === 밸런스 수정 === - 유니크 명마, 명검, 서적 갯수를 2배로 늘렸습니다. - 종류마다 2개씩 수를 늘렸으며, 이미 2개인 것은 새로운 종류를 추가했습니다. - 이에 따라 말 유니크로 백상, 오환마, 흉노마, 의남백마, 옥추마, 화종마, 옥란백용구를 추가하며, 두 유니크에는 특수효과를 부여합니다. - 옥란백용구: 남은 병력에 따라 회피 확률 증가. 최대 +30%p - 백상: 공격력 +20%, 소모 군량 +10%, 공격 시 페이즈 -1 - 유산 포인트를 이용해 유니크 아이템을 입찰할 경우, 그 아이템을 랜덤 유니크 획득으론 얻을 수 없게 잠급니다. - 토너먼트 베팅 난이도를 조금 쉽게 변경했습니다. - 초반 자동 생성되는 NPC국(U국)에서 유저와 거리를 4칸에서 3칸으로 줄입니다. - 조금 더 많은 NPC국이 생성됩니다. === 수정된 버그 === - v0.27.1 기준 - 사령턴, 일반턴 내부 호출 순서가 거꾸로 된 버그를 수정했습니다. - v0.27 기준 - 국가를 대상으로 하는 커맨드에서 가능한데도 무조건 불가능하다고 뜨는 버그를 수정했습니다. - 유니크 아이템에서 저격 효과 표기를 정정합니다. - v0.25 기준 - 빙의장이 지정 임관이 불가능한 버그를 수정했습니다. - 자동 사령턴 옵션이 활동화되지 않은 모드에서, 내정보 & 설정을 변경할 수 없는 버그를 수정했습니다. - v0.20 기준 - 급습 사용시 상대국에 알림이 뜨지 않는 버그를 수정했습니다. - 비급 모드에서 격노를 중첩한 경우 격노 발동시 무조건 2번 격노하는 버그를 수정했습니다. === 기타 변경점 === - 턴 선택기에서 '드래그'를 지원합니다. - 턴 선택부, 연월 선택부(사령부는 시간)에서 드래그를 할 수 있습니다. - 터치, 마우스 둘다 지원합니다. ==== v0.27.1 ==== (2021-12-26) [[https://storage.hided.net/gitea/devsam/core/compare/v0.27.0...v0.27.1|커밋목록]] === 주요 변경점 === - 턴 선택 세부 페이지를 500px 모드로 재 설계하였습니다. - 장수명, 국가명, 도시명 초성 검색이 가능해집니다. - 징병 페이지가 특히 다릅니다. - 사령부 페이지를 500px 모드로 재 설계하였습니다. - 턴 선택기가 메인페이지의 턴 선택기와 동일해졌습니다. === 엔진 변경점 === - 턴 선택에 필요한 processing 페이지를 vue3로 재 작성하였습니다. - 현재 jQuery로 동작하는 map은 단순히 wrapping한 상태입니다. - 사령부 페이지를 vue3로 재 작성하였습니다. - General::getRankVar에서 값이 없을 경우 기본값을 가져오는 기능을 추가합니다. - 사령턴 커맨드용 API를 장수 커맨드용 API와 호출 규격을 통일하였습니다. - tyepscript 내 API 호출 규격에서 에러가 나더라도 정상 동작하는 호출 방식을 추가합니다. === 밸런스 수정 === === 수정된 버그 === - v0.27 기준 - 토너먼그 진행 도중에 빙의한 장수로 인해 게임이 중단되는 버그를 수정했습니다. - v0.20 기준 - 같은 장수를 빠르게 여러번 추방하면, 해당 월 내에 장수 10명 제한을 넘길 수 있는 버그를 수정했습니다. === 기타 변경점 === - 이제 사용하지 않는 기존 파일들을 대령 제거했습니다. - 내 도시를 표기하는 부분에 애니메이션을 넣어 '더 신경쓰이게' 변경했습니다 ==== v0.27.0 ==== (2021-12-16) [[https://storage.hided.net/gitea/devsam/core/compare/v0.26.1...v0.27.0|커밋목록]] === 주요 변경점 === - NPC가 매 베팅에 참여하는 금액이 점차 증가합니다. - 3년마다 10금씩 증가합니다. - 보병이 수비할 경우 출병 대비 피해를 5% 덜 받습니다. - NPC 출병은 막고, 유저만 출병 가능하게 하는 각종 조작을 막습니다. - NPC 정책에서 '출병'을 '일반 내정'보다 뒤로 둘 수 없습니다. - 전쟁 금지/허용 제한을 다시 추가합니다. - 매 달마다 2회씩 리필되며, 최대 충전 횟수는 10회입니다. - 숙련도 획득 수식을 크게 변경합니다. - 메인 페이지를 반응형으로 재 설계했습니다. - 500px 모드(스마트폰), 1000px 모드(데스크탑, 태블릿)로 나눠 구분합니다. - device width에 따라 두 모드를 동적 조절합니다. - 500px 모드에서 페이지가 위아래로 길기 때문에 하단 메뉴를 제공합니다. - 500px/1000px 모드는 내 정보/설정 페이지에서 변경 가능합니다. - 턴 선택기를 vue3로 재작성했습니다. - 턴 선택, 명령 선택을 비교적 가까운 위치에 재배치합니다. - 숫자(턴)을 누르는 것으로 토글, 연/월을 누르는 것으로 단일 선택이 가능합니다. - 당기기, 미루기, 반복, 전체선택 등을 UX를 고려하여 재구성합니다. - 턴 선택 시 검색이 가능합니다. - 초성검색(띄어쓰기 없이)도 가능합니다. - 초성에 해당하는 알파벳도 입력하여 검색할 수 있습니다. - 검색 기능을 켜고 끌 수 있습니다. - 내 정보/설정 페이지를 반응형으로 재 설계했습니다. - 리 디자인은 아니며, 500px 모드를 추가한 변경입니다. - 빙의모드에서 빙의장도 유산포인트를 얻을 수 있도록 변경합니다. - 깃수 종료 시점에 빙의중이어야 하며, 전체 기간 중 반 이상을 플레이해야 합니다. === 엔진 변경점 === - 버전 표기 뒷 부분에 branch를 같이 표기합니다. - 기존 bootstrap4 코드들을 제거하고 bootstrap5로 일원화합니다. - KVStorage에서 내부 캐시 모드 기본값을 끔 -> 켬으로 변경합니다. - lock Table에서 종류별 DB 락을 걸 수 있도록 수정합니다. - js/css 빌드 결과물 구조를 변경합니다. - 출력 디렉토리: ''/dist_js/버전명/{vue,ts}/'' - Vue 파일: vendors.js/css, common_ts.js/css, v_모듈명.js/css - 일반 ts 파일: vendors.js/css, common_ts.js/css, 모듈명.js/css === 밸런스 수정 === - 수비자의 획득 숙련도를 대폭 낮춥니다. - 본인 병종 = 사살량 * 0.9 => 사살량 * 0.8 - 상대 병종 = 피살량 * 0.9 => 0.1 - 랜덤 임관 확률이 유저장에게 덜 가혹하도록 완화됩니다. - 성도 특성 보병 병종 '백이병'을 추가합니다. - 공방이 균형잡힌 보병 병종입니다. - 일반 보병보다 궁병에게 상성 이득이 적지만, 기병에게 상성 손해도 적습니다. - 궁병 병종의 회피 확률을 5%p 씩 낮춥니다. - 유산 포인트로 유니크를 얻을 때 5개월째부터 얻을 수 있도록 변경합니다. - 토너먼트에 자동 참여되는 장수들은 가급적 스탯이 낮지 않게 참여하도록 변경합니다. - NPC국이 전쟁 중 접경이 사라졌을 때 바로 '통상' 상태로 변경하지 않도록 변경합니다. - 접경이 사라진 이후 5개월동안 대기합니다. - 전투 특기 일부를 수정합니다. - 견고 - 저격을 받을 수 있도록 변경됩니다. - 부상을 입지는 않습니다. - 필살을 받을 수 있게 변경됩니다. - 상대방의 필살 확률이 20%p 낮아집니다. - 체섭의 경우, 일반 무장(무력 90 기준)의 필살 확률이 12.5%이므로 여전히 필살을 사용할 순 없습니다. - 저격 - 저격 성공 시 사기 상승량이 +10에서 +20으로 늘어납니다. - 성벽에게도 저격을 사용할 수 있게 변경됩니다. - 성벽이 '부상'을 입진 않습니다. - 척사 - 특수 병종 상대시 보정을 공격력 +15%p, 방어력 -15%p에서 **공격력 +20%p, 방어력 -20%p**로 강화합니다. === 수정된 버그 === - v0.25 기준 - 빙의를 할 수 없는 버그를 수정했습니다. - v0.20 기준 - '최소 전투 가능 병력 수'를 매우 높여 출병 금지가 가능한 문제를 수정합니다. - '훈련/사기진작 목표치'를 매우 높여 출병 금지가 가능한 문제를 수정합니다. - 권한 없는 유저가 외교 메시지 등 특수 메시지를 수락할 경우 메시지가 아예 사라지는 버그를 수정했습니다. - 관리자 패널에서 이미 삭제된 '폐쇄중 로그인' 기능을 실제로 UI에서 제거합니다. - 유저 내정장 포상 시, 최소 금쌀에 쟁장에게 필요한 최소 징병 금쌀 값이 섞여서 계산되는 버그를 수정했습니다. - 위압 비급이 실제 위압 전투특기와 다르게 동작하는 버그를 수정했습니다. - 기타 - webp 업로드가 지원되었으나, 아이콘 업로드 과정에서 webp 확장자가 기본 표기되지 않는 버그를 수정했습니다. - 등용장 수락이 되지 않는 버그를 수정했습니다. === 기타 변경점 === - 버튼 외형 변경을 진행합니다. - 기본 글꼴을 나눔 고딕 + 맑은 고딕 2중 구조에서 [[https://cactus.tistory.com/306|Pretendard]]로 변경합니다. - 글꼴의 가로폭이 이전보다 좁아, 기본 글꼴 크기를 13px->14px로 올렸습니다. - 국가방침/임관 권유문에 사용하는 에디터를 Summernote에서 Tiptap으로 변경했습니다. - 급하게 투입되어서 기능은 이후에 보완할 예정입니다. - 상/하단 돌아가기 버튼을 변경합니다. - 애니집결 시나리오를 갱신했습니다. ===== v0.26 ===== ==== v0.26.1 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.26.0...v0.26.1|커밋목록]] (2021-11-16) === 주요 변경점 === - 대규모 밸런스 수정 - 각종 동작 변경 - 토너먼트에서 베팅이 시작될 때 모든 NPC가 16강 진출자 중 한명에게 임의로 금 10씩 베팅합니다. - 베팅이 시작되었음을 알리는 공지도 띄웁니다. - 유산 포인트 중 '상성 전투'를 '능동 행동'으로 변경합니다. - 아래의 행동을 할 경우 3포인트를 부여합니다. - 거병, 건국, 방량, 선양, 모반 - 임관, 랜덤임관, 장수대상임관, 등용수락, 하야 - 출병(500명 이상, 훈사 7070 초과) - 인재탐색 성공(난도에 따라 추가 보정) - 첩보(예외, 0.5) - 증축, 감축, 국기변경, 국호변경, 천도성공 - 국고가 2000보다 아래일 경우 사실 상 물자조달만 하던 로직을 보완합니다. - 국고가 2000보다 아래일 경우 다음 커맨드의 실행 확률이 감소하여, 최종적으로 물자조달을 수행하게 될 확률을 높이는 형태로 동작합니다. - 출병: 30% 확률로 출병 - 전투내정: 70% 확률로 내정 - 일반내정: 70% 확률로 내정 === 엔진 변경점 === === 밸런스 수정 === - 종횡가 전략 감소 효과를 1/2에서 3/4으로 약화합니다. - 글로벌 쿨은 유지합니다. - 피장파장 후딜레이를 최소 72턴으로 변경합니다. - 반계 효과를 가진 유니크들의 '반계 시도 확률'을 반으로 줄입니다. - 수비자가 적을 전멸할 경우 증가하는 사기를 반으로 줄입니다. - 기간별 최대 유니크 획득 수를 변경합니다. - 180년 서버 오픈을 기준으로 다음과 같이 제한이 변경됩니다. - 오픈 직후: 1개 - 183년부터: 2개 - 190년부터: 3개 - 200년부터: 4개 - 작위 보상또한 위 기준에 따릅니다. - 유니크 획득 제한에 걸린 경우 유산 포인트 구매가 이루어지지 않습니다. - 무작위 유니크 구매의 경우 다음 턴에 바로 환불됩니다. - 지정 유니크 구매의 경우 유니크 제한이 풀릴때까지 대기합니다. - 다른 유저가 더 높은 포인트로 입찰하거나, 다른 유저가 그 유니크를 얻으면 다음 턴에 환불됩니다. - 랜덤임관 로직에 전투력과 내정능력을 상세하게 반영합니다. - 의병장, 집합장을 제외한 모든 장수들의 전투력 + 내정능력 만큼을 랜덤 임관 로직에서 사용합니다. - 전투력: 대인살상률 * 유저장계수(유저:1.5, NPC:1) * 순수통솔 - 내정능력: (sqrt(무력*지력) + 통솔/2)/5 - 국력 계산 식중 장수 능력치 총합 부을 랜덤임관 로직에 사용하는 것과 동일하게 적용합니다. - 유산 포인트로 요구하는 포인트를 줄였습니다. - 천재(전투 특기 보유 생성): 12000 -> 6000 - 임의 전투 특기: 5000 -> 4000 - 히든 버프: [250, 750, 1500, 2500, 3750] -> [200, 600, 1200, 2000, 3000] === 수정된 버그 === - v0.26 기준 - 자동로그인 토큰 연장 시 다른 유저 토큰을 받는 버그를 수정했습니다. - 이로인해 현재 DB에 저장된 모든 토큰을 리셋했습니다. - v0.22 기준 - 잦은 서버 중단을 일으키던 기능을 비활성화했습니다. - 대신 서버가 살짝 느려지는 것으로 보완했습니다. - v0.20 기준 - 자율행동턴 시간 제한이 동작하지 않는 버그를 수정했습니다. - 몇분으로 설정하여도 사망 직전까지 동작했었습니다. === 기타 변경점 === - 자율행동턴이 진행중인 경우 예약 턴 페이지에 진행중임을 알리는 푸른색 표기를 추가하였습니다. - 마우스를 올리거나 탭할 경우 언제 자율행동이 끝나는지 알려줍니다. - NPC가 거병 및 거병 후 이동을 지능적으로 수행합니다. - 근처 거병할 도시가 있을 때에만 거병합니다. - 거병 후 이동할 경우, 건국하려는 도시를 선택한 후 그 도시를 향해 이동합니다. - 목표한 도시가 이미 건국되거나, 다른 군주가 도착한 경우 다른 목표를 찾습니다. - 만약 가까운 거리에 건국할 수 있는 도시가 없다면 해산합니다. - NPC 정책에서 최대 포상 한도를 추가합니다. - 토너먼트 순서를 매 다섯 대회마다 전력전 2회, 통솔전 1회, 일기토 1회, 설정 1회가 이루어지도록 합니다. - 내부적으로는 다섯 대회의 순서를 정한다음, 다섯 대회가 끝나면 다시 새로운 순서를 만드는 형태로 동작합니다. ==== v0.26.0 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.25.1...v0.26.0|커밋목록]] (2021-11-08) === 주요 변경점 === - 자동 로그인을 추가했습니다. - 한번 로그인하면 7일간 로그인을 유지합니다. - 페이지가 정확히 유지되는 방식은 아니며, 내부적으론 로그아웃 후, 재 로그인하는 구조입니다. - 버그 수정 - 무쌍 약화 === 엔진 변경점 === - 자동 로그인을 위한 시스템을 추가 구현했습니다. - localStorage에 로그인 토큰을 저장합니다. - 실제 로그인은 토큰과 nonce의 sha512 해시값을 대조합니다. === 밸런스 수정 === - 무쌍과 무쌍 비급을 동시 적용하지 못하도록 변경합니다. - 무쌍의 중후반을 대폭 약화합니다. - 승리 수의 정비례가 아니라, 로그 비례(2배 증가 기준)로 적용합니다. === 수정된 버그 === - v0.20 기준 - 서버가 닫힌 경우 메인 페이지로 리다이렉트되지 않는 버그를 수정합니다. === 기타 변경점 === - 장비구매 시 유니크 도구를 가지고 있으면 도구 구매가 되지 않도록 변경합니다. ===== v0.25 ===== ==== v0.25.1 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.25.0...v0.25.1|커밋목록]] (2021-10-14) === 주요 변경점 === - 버그 수정 - 밸런스 수정 === 엔진 변경점 === - sass-loader 대신 esbuild-loader를 적용했습니다. - DB 시스템에 MeekroDB와 Illuminate(ORM)을 선택해서 사용할 수 있도록 기본 코드를 변경했습니다. === 밸런스 수정 === - 무쌍의 최대 공격력은 높이고, 최대 방어력은 낮추었습니다. - NPC 정책에서 출병을 비활성화 할 수 없도록 수정했습니다. - 출병을 지연시키는 것을 할 수는 있으나, 아예 출병을 막으려면 내무부 메뉴를 통해 출병을 금지해야합니다. - 탈취 계략시 탈취량을 도시 내정치에 기반하도록 변경합니다. - 탈최 최대량이 약 10%가량 상승합니다.(버그로 잘못 동작. 유지 여부는 고려 중) - 탈취 최대량이 약 45%가량 줄어듭니다. - 치안 100% 대비 치안이 0%이면 절반의 탈취량을 갖습니다. - 초반 NPC 생성 시 모든 국가를 채울 수 있을 정도로 생성하도록 변경합니다. === 수정된 버그 === - v0.25 기준 - 명예의 전당에서 시즌별 검색이 불가능한 버그를 수정했습니다. - 내 정보 & 설정에서 자동 사령턴을 켜고 끄는 것이 불가능한 버그를 수정했습니다. - v0.21 기준 - 인재 탐색, 의병 고용시 숙련도가 정상 지정되지 않는 버그를 수정했습니다. - 랜임 시 의병장, 집합장 카운트가 제대로 제외되지 않는 버그를 수정했습니다. - v0.20 기준 - 피장파장 커맨드가 내부 에러를 계속해서 남기는 버그를 수정했습니다. - 수뇌 공격력 보정 식에 문법 문제를 수정했습니다. 실제 공격력 문제는 없습니다. - 에러 발생 시 제대로 로그가 남지 않는 버그를 수정했습니다. - 전투 중 "상대가 치료했다!" 메시지가 녹색으로 나와 아군에게 유리한 것처럼 보이는 버그를 수정했습니다. - 새 탭으로 뜨는 화면 중, 내용물이 바뀌면 닫히지 않는 버그를 수정했습니다. === 기타 변경점 === ==== v0.25.0 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.24.1...v0.25.0|커밋목록]] (2021-09-21) === 주요 변경점 === - 일부 엔진 코드 수정 - 버그 수정 === 엔진 변경점 === - sass-loader 대신 esbuild-loader를 적용했습니다. - DB 시스템에 MeekroDB와 Illuminate(ORM)을 선택해서 사용할 수 있도록 기본 코드를 변경했습니다. === 밸런스 수정 === === 수정된 버그 === - v0.20 기준 - 명예의 전당에서 시즌별 검색이 불가능한 버그를 수정했습니다. - 내 정보 & 설정에서 자동 사령턴을 켜고 끄는 것이 불가능한 버그를 수정했습니다. === 기타 변경점 === - 쿠키런 킹덤 시나리오를 임시 구현했습니다. ===== v0.24 ===== ==== v0.24.1 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.24.0...v0.21.1|커밋목록]] (2021-09-18) === 주요 변경점 === - 버그를 수정했습니다. - 유산 포인트 사용 시스템을 일부 정비했습니다. === 엔진 변경점 === - 기본 event용 General 객체 생성 시 aux column도 같이 가져오도록 변경합니다. - 유산 포인트 사용시 로그를 기록하도록 포함합니다. - WebPack 빌드 속도를 개선했습니다. babel-loader 대신 esbuild-loader를 사용합니다. === 밸런스 수정 === - 설문조사를 통해 유산 포인트로 구입한 특정 유니크를 얻을 순 없도록 변경했습니다. - 특정 유니크 구매는 항상 본인의 턴을 통해서만 얻을 수 있습니다. === 수정된 버그 === - v0.24 기준 - 유니크 환불을 할 경우 특정 턴에는 환불을 하지 않는 버그를 수정했습니다. - 턴 초기화, 특기 초기화가 정상적으로 동작하지 않는 버그를 수정했습니다.. - v0.22 기준 - 유니크 활의 저격 계수가 설명과 다르게 기록되어 있는 버그를 수정했습니다. - 반계와 관련한 '반계시도'이벤트가 중첩되지 않는 버그를 수정했습니다. - v0.20 기준 - NPC 정책 페이지의 오타를 수정했습니다. === 기타 변경점 === - 랜덤 임관 시 임관 가능한 국가가 없을 때 '요양'을 실행하는 대신 '인재탐색'을 실행하도록 변경했습니다. ==== v0.24.0 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.23.0...v0.24.0|커밋목록]] (2021-09-16) === 주요 변경점 === - 버그를 수정했습니다. - 유산 포인트를 이용하여 장수 생성, 플레이 중에 부가효과를 얻을 수 있도록 하는 기능을 추가했습니다. - 장수 생성 시 선택 가능한 항목 - 지정한 도시에 나타남: 1000 - 지정한 턴에 나타남: 3000 - 턴이 서버 시간보다 이전인 경우(1분을 지정했는데, 서버는 10분인 경우) 일반적인 경우와 같이 다음 달부터 턴이 실행됩니다. - 추가 능력치를 원하는 대로 고정: 1000 - 일반 서버와 같이 3~5 포인트 중에서 원하는대로 배분할 수 있습니다. - 지정한 특기의 천재로 태어남: 12000 - 선착순 3인만 가능합니다. - 이 옵션을 사용했지만 이미 천재가 3명 있는 경우 포인트를 되돌려주고, 장수 생성을 취소합니다. - 플레이 중 유산 관리 페이지에서 선택 가능한 항목 - 확률 증가 및 감소(1%p ~ 5%p) : 250, 750, 1500, 2500, 3750 - 회피 확률 증가 - 필살 확률 증가 - 전투시 계략 시도 확률 증가 - 무장도 계략을 시도하게 됩니다. - 상대 회피 확률 감소 - 상대 필살 확률 감소 - 전투시 상대 계략 시도 확률 감소 - 내정 성공 확률 증가 - 내정 실패 확률 감소 - 동일 항목의 낮은 %를 구입한 상황에서 높은 %를 구매할 경우, 추가분만을 소모합니다. - 전투 특기 획득 시 원하는 특기로 획득: 5000 - 전투 특기를 얻을 수 있는 연령이 되었을 경우 지정한 특기를 얻습니다. - 즉시 전투 특기 초기화: 첫 1회에 1000, 이후부터 1000, 2000, 3000, 5000, ... - 피보나치 수열을 따릅니다. - 일반적인 경우와 같이 다음해 1월에 전투 특기를 얻습니다. - 기존에 '전투 특기 초기화'의 재사용대기 시간과는 무관하여, 늘어나지 않습니다. - 즉시 랜덤 턴 변경(즉시) 첫 1회에 1000, 이후부터 1000, 2000, 3000, 5000, ... - 피보나치 수열을 따릅니다. - 다음턴이 -30분 ~ 30분 범위 내에서 랜덤하게 바뀝니다. - 만약 다음 턴까지 시간이 30분 보다 적게 남은 경우, 그 시간 범위 내에서 랜덤하게 바뀝니다. - 20분 남은 경우 -20분 ~ 40분 사이에서 랜덤하게 변경 - 다음 행동 (임관, 내정, 전투, 설문조사)에서 랜덤한 유니크를 얻음: 3000 - 유니크를 갖고 있지 않은 빈 자리에 랜덤한 유니크를 얻습니다. - 모든 유니크가 배정 되었거나, 4종류의 모든 유니크를 가지고 있는 경우에도 '환불되지 않습니다' - 다음 행동 (임관, 내정, 전투, 설문조사)에서 원하는 유니크를 얻음: 5000 + 추가 입찰 - 경매의 형태로 유니크를 습득할 수 있습니다. - 한번 입찰했다면, 본인의 입찰 결과가 나오기 전까지 그 아이템에 대해서는 상위 입찰 할 수 없습니다. - 본인의 턴 실행차례에 해당 유니크에 가장 많은 포인트를 입찰한 경우 유니크를 얻을 수 있습니다. - 공동 1등인 경우, 턴이 빠른 사람이 얻습니다. - 이미 유니크를 가지고 있다 하더라도, 입찰해 성공했다면 덮어씌워집니다. - 본인의 턴에 더 많은 포인트를 입찰한 다른 장수가 있었다면, 입찰한 포인트를 돌려줍니다. - 환불 시점은 '본인의 턴'이 지났을 때입니다. - 최 상위 입찰자가 누구인지는 알려주지 않으며, 대략적으로만 '개인 메시지'를 통해 알려줍니다. - 아슬아슬한 차이로: 5% 이내 - (수식어 없음): 20% 이내 - 큰 차이로: 2배 이내 - 엄청난 차이로: 2배 초과 - 여러 아이템을 입찰할 경우에도 동시에 하나의 유니크만 얻을 수 있습니다. - 획득을 시도하는 순서는 높은 포인트로 입찰한 아이템부터입니다. - 입찰이 진행 중에도 입찰하지 않은 별도의 유저가 일반적인 절차(랜임, 설문조사 등)을 통해 그 유니크를 얻을 수는 있습니다. - 이 경우에도 환불됩니다. === 엔진 변경점 === - 전투 상대방의 특정 수치를 접근할 수 있는 onCalcOpposeStat trigger를 추가했습니다. - initWarPhase - dex - bonusTrain, bonusAtmos - warAvoidRatio, warCriticalRatio - warMagicTrialProb, warMagicSuccessProb, warMagicFailDamage - 계략 약화도 이 기능을 이용해 처리하도록 변경합니다. - 서버에서 유저단위 로깅을 남기기 위한 Table을 추가합니다. === 밸런스 수정 === === 수정된 버그 === - v0.23 기준 - 내 정보 화면에서 이전 로그를 추가로 불러올 수 없는 버그를 수정했습니다. - 서버 목록 창에서 추가정보가 툴팁으로 나타나지 않는 버그를 수정했습니다. - 은퇴할 때 적용되어야 하는 코드가 항상 적용되어 유산 포인트가 적게 쌓이는 버그를 수정했습니다. - 서버 리셋 시, 유산 포인트 적용이 이루어지지 않는 버그를 수정했습니다. - v0.20 기준 - 수뇌가 소재 도시에 적용되는 사령턴(백성동원 등)을 실행 후 그 도시의 정보가 변하는 턴(수비강화 등)을 실행할 때 사령턴이 정상 적용되지 않는 버그를 수정했습니다. === 기타 변경점 === - 일부 페이지를 vue로 변환했습니다. - 장수 생성 페이지 - 유산 관리 페이 ===== v0.23 ===== ==== v0.23.0 ==== **점진적 신신엔진** [[https://storage.hided.net/gitea/devsam/core/compare/v0.22.0...v0.23.0|커밋목록]] (2021-09-09) === 주요 변경점 === - 내부 프론트엔드 스크립트 시스템을 레거시 JavaScript 기반에서 TypeScript + Vue.js로 변경합니다. - 기존 레거시 코드도 유지하되, TypeScript로 변경했습니다. - Internet Explorer 11 버전을 더 이상 지원하지 않습니다. - 버그를 수정했습니다. === 엔진 변경점 === - TypeScript를 전면 도입했습니다. - 기존의 모든 js를 모두 ts로 대체합니다. - gateway와 ingame 두파트로 나뉘어 있습니다. - jQuery의 ajax를 axios로 대체중입니다. - WebPack을 전면 도입했습니다. - `npm run build` `npm run watch` `npm run watchProd`가 주된 예상입니다. - 업데이트 스크립트에 WebPack을 자동으로 실행합니다. - 일부 페이지에 Vue3, scss, bootstrap 5를 도입중입니다. - 타겟 PHP 버전을 PHP 8로 올렸습니다. === 밸런스 수정 === === 수정된 버그 === - v0.22.0 기준 - 은퇴할 경우 깎이는 50%에 대한 숙련 포인트도 그대로 유산으로 얻는 버그를 수정했습니다. - v0.21.0 기준 - 유니크, 전특의 효과가 중복되도록 설계했으나 그렇게 동작하지 않는 항목에 대한 버그를 수정했습니다. - v0.20.0 기준 - m장과 의병장의 숙련이 설정되지 않는 버그를 수정했습니다. - 모병/징병에서 통솔 계산이 제대로 이뤄지지 않는 버그를 수정했습니다. - 허보 전략을 쓰면 성벽이 같이 줄어드는(수몰) 버그를 수정했습니다. === 기타 변경점 === - 로그인 게이트웨이의 지도 표기 방법을 변경합니다. 이제는 iframe 페이지입니다. ===== v0.22 ===== ==== v0.22.0 ==== [[https://storage.hided.net/gitea/devsam/core/compare/v0.21.1...v0.22.0|커밋목록]] (2021-08-11) === 주요 변경점 === - 유산 포인트 시스템을 추가합니다. - 추가 설명: https://sam.hided.net/xe/community/21505 https://sam.hided.net/xe/community/21158 - 깃수 내 플레이 성과에 따라 누적되는 포인트를 얻어, 특정 깃수에 포인트를 소모하여 효과를 얻을 수 있습니다. - 첫번째 단계로 유산 포인트 획득 기능을 구현합니다. - 얻을 수 있는 방법은 다음과 같습니다. - 생존 - 최대 임관년 수 - 최대 연속 내정 성공 - 병종 상성 우위 횟수 - 전투 횟수 - 계략 성공 횟수 - 천통 기여(규모 상승, 천통 수뇌, 천통 군주) - 숙련도 - 토너먼트 - 베팅 당첨 - 얻은 유산 포인트는 유산 관리 페이지를 통해 확인할 수 있습니다. - 태수국 기능을 추가합니다. - 181년 1월에 자동 생성되는 장수국입니다. u 마크를 달고 있습니다. - 수명이 비교적 짧게 설정되어있어 서서히 사라지기 시작하며, 개시 후 25년이 지난뒤에는 거의 사라집니다. - 유저국과는 4칸 거리이며, 태수국끼리는 2칸 거리를 둡니다. - 유저장은 태수국에 임관할 수 없습니다. - NPC가 군주인 곳에 원조할 경우 불가침을 제의합니다. - 1년 세수만큼 받은 경우 24개월 불가침을 제안합니다 - 최소 6개월(1년 세수의 25%) 원조부터 반응합니다. - 불가침을 받지 않고 추가 원조를 하면 계속해서 불가침을 제안하는 기간이 상승합니다. - 대신 불가침 수락을 하기 전에 선포를 할 수 있으니 주의해야합니다. === 엔진 변경점 === - TypeScript 코드로 개발할 수 있도록 eslint, npm 환경을 추가합니다. - 시범적으로 유산 관리 페이지에 사용합니다. - 아직 빌드된 코드를 ignore하지 않고 빌드 결과물로 포함합니다. - PHP 내부 라이브러리 버전을 최신버전으로 갱신습니다. - 유산 포인트를 관리하기 위한 DB 테이블을 추가했습니다. === 밸런스 수정 === - m장은 거병하지 않도록 변경합니다. - 작위 보상에서 군주와 참모가 유니크를 얻을 확률을 낮추었습니다. 비중으론 약 반절 가량입니다. === 수정된 버그 === - v0.21 기준 - 유니크 아이템의 스탯이 다른 보정 스탯을 무시하는 버그를 수정했습니다. - v0.20 기준 - 유니크 아이템을 얻을 때 가끔 유니크 아이템이 아닌 '환약'을 얻게되는 버그를 수정했습니다. === 기타 변경점 === ===== v0.21 ===== ==== v0.21.1 ==== https://storage.hided.net/gitea/devsam/core/compare/v0.21.0...v0.21.1 (2021-04-30) === 주요 변경점 === - 많은 버그를 수정했습니다. - 구 유기체(62che) 서버에 있던 이민족 출현 모드를 새로 구현했습니다. - 강한 이민족, 약한 이민족을 선택할 수 있습니다. - 숙련, 능력치, 기술등급 등에서 차이가 납니다. - 이민족 도시가 특 규모 성보다 강하게 설정됩니다. - 유니크를 중복으로 얻을 수 있게 수정했습니다. - 아이템에 효과를 추가했습니다. - 명마 - 페이즈 추가 (+7 기주마) - 퇴각 시 부상 없음 (+7 백마, +12 사륜거) - 무기 - 저격 확률 추가 (+2 단궁, +7 맥궁, +9 동호비궁, +11 이광궁, +13 양유기궁) - 서적 - 계략 시도 확률 (+1 ~ +6 일반 서적, +7 위료자) - 반계 (+7 사마법, +12 산해경) - 성공 시 추가 대미지 (+8 전론) - 상대 계략 성공 확률 약화 (+11 춘추전) === 엔진 변경점 === - (관리자) 서버 리셋 시 서버 부하를 일부 줄입니다. - 효과로 '퇴각부상무효'를 추가합니다. === 밸런스 수정 === - 랜덤임관, 인재탐식 시 장수 수 기준에서 의병장을 제외합니다.(버그로 미동작) - 초반에 등록되는 NPC의 수를 10명에서 30명으로 늘립니다. - 유니크 아이템을 여러개 얻을 수 있도록 변경합니다. - 최대로 얻을 수 있는 유니크 숫자는 일반맵의 경우 명마/무기/서적/도구로 총 4개입니다. - 획득한 유니크 수가 늘어날 수록 유니크를 얻을 확률이 점차 낮아집니다. - 무쌍 전특을 초반을 살짝 강하게 하고, 후반의 최대 강화치를 낮추었습니다. === 수정된 버그 === - v0.21 대비 - 장수 선택 모드에서 다른 유저의 정보를 보여주지 않는 버그를 수정했습니다. - v0.20 대비 - 모반시도를 할 수 없는 버그를 수정했습니다. - (관리자) 도시 정보가 보이지 않는 버그를 수정했습니다. - 불가침 상태여도 선포 가능한 버그를 수정했습니다. - 시나리오 모드에서 국가가 설정된 경우 시작되지 않는 버그를 수정했습니다. - 군주가 정상적으로 지정되지 않았습니다. - 장수의 스펙이 정상 지정되지 않았습니다. - 빙의 해제할 경우 장수의 소유자가 '없음'이 아니라 '운영자'로 지정되는 버그를 수정했습니다. - 가상 역사모드에서 군주가 사망할 때 후계자를 사실 모드를 따라가는 버그를 수정했습니다. - 전투에서 성벽을 공격할 경우 성벽의 수비/성벽이 제대로 동작하지 않는 버그를 수정했습니다. - 전방 도시가 진/관/수 처럼 인구가 원래 적은 경우 후방 워프하지 않는 버그를 수정했습니다. - AI 수뇌가 고립된 장수를 구조 발령하지 않는 버그를 수정했습니다. - 기타 - 현재 접속자 리스트에서 빙의 해제된 장수가 여전히 표시되는 버그를 수정했습니다. === 기타 변경점 === - 빙의 일람에서 아직 선택하지 않은 장수들에 대한 내역을 추가합니다. ==== v0.21.0 ==== https://storage.hided.net/gitea/devsam/core/compare/v0.20.3...v0.21.0 (2021-01-01) === 주요 변경점 === - 많은 버그를 수정했습니다. - 장수 선택 모드를 추가했습니다. - 게임 플레이에 영향을 주는 요소를 일부 수정했습니다. === 게임 내 변경점 === - 도시 정보에서 나오는 장수 순서가 '장수명'에서 '턴 순서'로 변경됩니다. - 곧 턴을 실행할 장수가 가장 위로 옵니다. - === 엔진 변경점 === - API 엔진 준비를 위해 DummySession을 시험 구현했습니다. - 아무 동작도 하지 않습니다. - 빙의가 아니라, 준비된 장수 풀에서 장수를 선택해 만드는 옵션을 추가했습니다. - 시나리오 파일에서 장수가 준비되어 있는 경우 사용할 수 있습니다. - 준비되지 않는다면 M장 생성하는 것과 유사한 프로세스로 장수 생성이 진행됩니다. === 밸런스 수정 === === 수정된 버그 === - v0.20 대비 - 수비 끔을 반복하면 훈사를 0 이하로 낮출 수 있는 버그를 수정했습니다. - 수몰을 전쟁중이지 않은 국가에서도 쓸 수 있는 버그를 수정했습니다. - 피장파장을 당한 국가에서 로그가 나오지 않는 버그를 수정했습니다. - 1회용 저격 아이템인 수극을 무한히 사용할 수 있는 버그를 수정했습니다. - 종전 수락을 했을 때 접경이 다시 계산되지 않아 NPC가 여전히 출병을 시도하는 버그를 수정했습니다. - 180년 시작 시나리오가 아닌 경우 의병 모집을 할 때 오동작하는 버그를 수정했습니다. - 의병모집을 사용했을 때 의병이 재야로 생성되는 버그를 수정했습니다. - 초반 생성되는 m장의 스탯이 유저장 생성과 똑같이 이루어지던 버그를 수정했습니다. - 서버 리셋 과정에서 시나리오마다 허용하는 특기 세트가 다른 경우 내부 경고가 발생하는 버그를 수정했습니다. === 기타 변경점 === - v0.20.3 중간에 이벤트로 사용한 빼빼로를 추가했습니다. - 통솔, 무력, 지력을 1씩 올려주는 도구였습니다. ===== v0.20 ===== ==== v0.20.3 ==== (2020-08-13) 버그 수정, 밸런스 수정 === 주요 변경점 === - NPC 국이 이미 선포/전쟁 중인 국가에 선포하는 것을 피합니다. - 주변 국가가 선포/전쟁 중인 국가가 없을 때에는 선포할 수 있습니다. - 어떤 도시든 도시 정보를 볼 수 있도록 변경합니다. 대신 거리에 따라 정보가 다릅니다. - 아군 정보: 전체 - 아군 장수, 첩보가 있는 도시: 도시 내정, 장수 목록, 장수 병력 - 인접 도시: 도시 내정 최대치, 장수 목록, (공백지인 경우 수비/성벽) - 비 인접 도시: 도시 내정 최대치, (공백지인 경우 수비/성벽) === 밸런스 수정 === - 귀병은 전투 첫 페이즈에 매우 높은 확률로 계략을 시도합니다. - 탈취량이 시간이 지날수록 증가합니다. - 화계, 파괴, 선동의 효과가 약 50% 증가합니다. === 수정된 버그 === - 의병모집, 인재탐색 시 귀병의 숙련이 잘못 설정되는 문제를 해결했습니다. (v0.20) === 기타 변경점 === ==== v0.20.2 ==== (2020-07-17) 버그 수정, 전략·특기·아이템 개편 === 주요 변경점 === - v0.20.1의 많은 버그가 해결되었습니다. - 전략의 재사용 대기 시간을 전략별로 나누고, 전역 전략 대기 시간을 9턴으로 변경합니다. - 종횡가/음양가의 전략 효과는 전략 대기 시간, 전역 전략 대기 시간 모두에 적용됩니다. - 피장파장은 개별 전략에 발동하며, 전역 전략 대기 시간을 요구하지 않도록 변경됩니다. - 전략별 남은 재사용 대기 시간은 메인 페이지에서 '전략'을 탭하거나, 마우스 오버하여 알 수 있습니다. - 기본 스탯이 총150, 최소10, 최대75에서 총165, 최소15, 최대80으로 변경됩니다. - 무장/공용 전투 특기를 재 설계하였습니다. - 상세 내역은 [[/hidche/플레이_안내/특기_안내?rev=1594913586|v0.20.2 버전자 특기 안내]] 에서 확인 가능합니다. - 지장의 경우 주 변경 대상이 아니며, 다음 패치에 병종 자체의 수정이 계획되어 있습니다. - 아이템 일부를 재 설계하였습니다. === 엔진 변경점 === - 커맨드의 getPostReqTurn()를 원래의 의도대로 엔진에 통합하여, '재사용 대기 시간'으로 동작하도록 구현합니다. - 서버 구성을 동적으로 가능하도록 변경합니다. /d_setting/ServConfig.php 파일을 수정하여 서버 목록을 추가하고 제거할 수 있습니다. - 커맨드 상세 입력창에서 '커맨드 종류'를 입력할 수 있도록 추가합니다. - 파일 캐시를 이용한 구현을 미리 추가합니다. - 전용 아이콘의 파일 형식에 webp를 허용하도록 변경합니다. - webp가 지원되지 않는 브라우저(IE11)은 출력되지 않습니다. === 밸런스 수정 === - 백성동원을 비 전쟁상황에서 쓸 수 있게 수정하였습니다. - 전투 특기를 재 설계하였습니다. - 격노: 필살시 확률 상승(1/3 -> 100%), 회피시 확률 감소(1/3 -> 1/4), 격노시 중첩 스택 - 견고: 위압, 격노 무효화 취소, 피해 감소량 추가 보정 - 보병, 궁병, 기병, 귀병, 공성: 본인의 병종 숙련을 활용하여, 공격시 피해량 감소/수비시 공격력 증가 - 돌격: 재설계, 전투에 불리하지 않은 병종이라면 퇴각 전까지 계속해서 전투 - 무쌍: 승리 수에 따라 전투력 증가 추가. 대미지의 경우 최대 승리 수 200, 피해의 경우 최대 승리수 1000 - 반계: 반목에 추가 대미지 - 위압: 훈련/사기,병력과 관계없이 항상 발동, 위압 시 상대 회피 불가, 상대 사기 감소 추가 - 의술: 전투 치료 확률 대폭 상승(20%->40%), 부상입은 경우 전투 치료로 부상 치료 가능 - 저격: 저격 확률 상승(1/3 -> 50%), 저격시 최대 피해 감소(20~60% -> 20~40%) - 징병: 통솔 보정 상승(15% -> 25%) - 척사: 보정 상승(10% -> 15%) - 필살: 확률 상승(20%p -> 30%p) - 아이템 일부를 재설계하였습니다. - 치료 유니크 아이템이 제거됩니다. - 이추, 향낭(상점 아이템): 성공률 상승 - 육도, 삼략: 신산의 일부 기능 추가. 무장도 사용 가능 - 백우선: 반계의 일부 기능 추가. 무장도 사용 가능 - 태현청생부: 저격, 부상 없음(치료 유니크의 대체) - 상한잡병론 추가 - 의술 유니크 아이템 역시 의술 전투 특기와 동일한 향상이 있습니다. - 매화수전, 비도: 저격 전투 특기. 전투특기와 확률 중첩. - 수극(상점 아이템): 확률 증가 - 서촉지형도: 추가. 공격 시 페이즈 증가 - 전투특기 비급: 변경된 전투특기에 맞게 변경 === 수정된 버그 === - v0.20.1 대비 수정 - 상업 투자, 기술 연구, 정착 장려, 주민 선정에서 성공/실패 보정이 이루어지지 않는 문제를 수정했습니다. - 특기 초기화가 60턴 단위가 아니라 61턴 단위로 이루어져 의도와 다르게 동작하는 버그를 수정했습니다. - 전투 시뮬레이터에서 적국 장수를 선택할때 '명마'가 드러나는 버그를 수정했습니다. - 감찰부에서 최근 전투 순이 전투 페이즈를 반영하지 않는 버그를 수정했습니다. - 수비 켬끔 수치가 암행부 등에 제대로 표시되지 않는 버그를 수정했습니다. - 도시 치료시 치료 명단이 잘못 뜨는 버그를 수정했습니다. === 기타 변경점 === - 찐유저무쌍!(천지비급) 시나리오를 추가합니다. - 찐유저무쌍! 시나리오에 천지비급의 전특 비급을 추가한 버전입니다. - AI 로직이 조금 더 안정적으로 동작하도록 수정합니다. - 워프 기능, 몰수 기준을 변경합니다. - 금쌀 구매의 기준으로 살상률을 적극적으로 고려합니다. - 로그인 페이지에서 '오픈된 메인서버'의 상태를 보여줍니다. - 최근 10분간의 기록이며, 실시간은 아닙니다. - 전투 시뮬레이터에서 '전투 수', '승리 수', '사살 수'를 입력할 수 있도록 추가합니다. - 현재는 무쌍 전특만 활용합니다. ==== v0.20.1 ==== (2020-06-05) 버그 수정, 밸런스 수정, UI 변경 시작 === 주요 변경점 === - v0.20.0의 많은 버그가 해결되었습니다. - 수비 켬/끔, 환약 사용을 세분화하였습니다. - 커맨드 입력창에서 장수 선택, 도시 선택, 국가 선택, 금쌀 수량 지정을 '검색 가능한 형태'로 수정합니다. - 금쌀 수량은 목록에 없을 경우 직접 입력할 수 있습니다. === 엔진 변경점 === - 단순 POST 페이지를 ajax기반으로 마저 변경하고 있습니다. - 휴가 설정, 가오픈 장수 회수, 내정보 수정 - 시나리오 Trigger의 동작 시점을 매 월 내부 이벤트 시행 후로 변경합니다. === 밸런스 수정 === - 수비 켬/끔 변경 가능 횟수를 매달 3회 추가, 최대 9회까지 누적하도록 변경합니다. - 이전에는 매달 1회, 최대 3회였습니다. - 수비 켬/끔을 기존의 끄기/60/80에서 끄기/40/60/80/90으로 세분화합니다. - 환약 사용 여부를 구체적으로 지시할 수 있도록 수정합니다. - 부대장을 '추방'하여 턴 시간을 초기화할 수 있습니다. - 추방후 다음달에 새로 부대장이 추가됩니다. - 인재 탐색, 의병 모집을 통해 참여하는 m장이 가진 금쌀이 1000/1000으로 변경됩니다. - 성벽을 공격했을 때 깎이는 도시 내정이 반으로 줄어듭니다. - 183년 공백지 점령시에도 소/중성에 내정이 남아있게됩니다. - 숙련 전환의 효율이 향상됩니다. - 기존 숙련의 40%를 깎아 그중의 90%p를 전환합니다. - 초토화를 '선포 중'에도 사용할 수 있도록 변경합니다. === 수정된 버그 === - v0.20.0 대비 수정 - 유니크 습득 확률이 지나치게 높은 문제를 수정했습니다. - 경로 지정 출병 시, 출병 도시가 잘못 출력되는 문제를 수정했습니다. - m장의 내정특기, 전투특기가 잘못 설정된 문제를 수정했습니다. - 인재 탐색의 m장의 능력치 상한이 없어 지나치게 강력한 문제를 수정했습니다. - 등용 커맨드가 잘못 출력되는 문제를 수정했습니다. - 모바일 환경에서 NPC 정책의 항목 정보를 볼 수 없는 문제를 수정했습니다. - 부상당하더라도 최대 통솔대로 징병 가능한 문제를 수정했습니다. - 전투시 계략을 성공해도 추가 대미지 보정이 없는 문제를 수정했습니다. - 1/7월에 세율에 따라 도시 인구 증가량이 바뀌지 않는 문제를 수정했습니다. - 정착 장려, 주민 선정 커맨드의 이득/손해 색상이 거꾸로된 문제를 수정했습니다. - 불가침 국가가 하나라도 있으면 계략을 사용할 수 없는 문제를 수정했습니다. - 등용장이 제대로 수락되지 않는 버그를 수정했습니다. - 인사부의 이미 임명된 장수에 대해 색상이 다르게 표시되지 않는 문제를 수정했습니다. - 요양턴이 있음에도 환약을 소모하는 문제를 수정했습니다. - 암행부에서 '부대 순'으로 정렬할 수 없는 문제를 수정했습니다. - 청주 등 1회성 사기/훈력 증가 아이템이 소모되지 않는 문제를 수정했습니다. - 특성으로 증축할 수 없는 문제를 수정했습니다. - 장수 사망시 본 닉네임이 드러나지 않는 문제를 수정했습니다. - NPC 워프가 제대로 동작하지 않아, 내정이 완료된 도시에선 이동하지 않는 문제를 수정했습니다. - NPC가 치안강화 내정의 필요 여부를 잘못 판단하는 문제를 수정했습니다. - 전투 중 격노가 회피를 취소하지 않는 문제를 수정했습니다. - 사령부 턴이 실행되면 장수가 실행하는 턴의 스택이 취소되는 문제를 수정했습니다. - 사령부에 턴이 입력되어있더라도, 자리가 공석이면 턴이 보이지 않는 무제를 수정했습니다. - 오호장군의 표기 기준이 '승리 순'이 아니라 '전투 순'으로 표기되던 문제를 수정했습니다. - 기타 실제 기능과 표기가 일부 버그들을 수정했습니다. === 기타 변경점 === - 보병, 궁병, 기병, 귀병 전투 특기를 받는 경우 무력, 지력 능력치를 고려하여 주도록 수정합니다. - 이전에는 능력치와 관계없이 가장 높은 숙련도가 기준이었습니다. - NPC AI의 포상 정책룰을 조금 더 안정적으로 수행하도록 수정했습니다. - 랜덤 임관 메시지에 '조금 더 긍정적인 메시지'를 추가합니다. - '천하의 균형을 맞추기 위해' 등의 메시지가 있습니다. - 인재 탐색을 재설계했습니다. - 자국으로 바로 등용하는 '영입'이 사라집니다. - 재야이더라도 인재 탐색을 실행할 수 있습니다. - 능력치를 자국 장수 기준으로 하던 것을 모든 장수의 평균을 기준하도록 수정합니다. - 천지비급 시나리오를 추가합니다. - 전투 특기를 구입하는 형태입니다. - 작위 보상으로 '금쌀 보상'이 추가됩니다. - 기존의 금쌀 1000/1000씩 가지고 추가되는 부대장을 대신합니다. - 명장 일람/명예의 전당에 새로운 항목이 추가됩니다. - 대인 사살 - 대인 살상률 - 도시 점령 수 - 도시 점령률 ==== v0.20.0 ==== **신엔진** (2020-05-15) === 주요변경사항 === * **내부 로직이 전면 재 설계되었습니다.** - NPC 로직이 재작성되었습니다. - 새로운 NPC 로직은 NPC 정책란에서 일부 요소를 조정할 수 있습니다. - 기본 턴이 24턴에서 30턴으로 늘어났습니다. - 24턴까지는 기존화면에 노출되고, 25턴부터 30턴까지는 스크롤을 내리면 볼 수 있습니다. - 필요에 따라, 또는 시나리오에 따라 턴 제한이 다르게 구성될 수 있습니다. - 일부 커맨드가 재 설계되었습니다. - 천도, 파괴, 증축, 감축, 초토화 - 일부 전투 특기가 재 설계되었습니다. - 저격, 필살 === 밸런스 수정 === - 저격 특기가 상향되었습니다. - 출병 시 적군을 전멸시키면 다음 상대에게도 저격을 시도합니다. - 저격에 성공하면 사기가 10 증가합니다. - 필살 특기가 상향되었습니다. - 필살 공격에 성공했을 경우 상대는 회피할 수 없습니다. - 천도 커맨드가 재설계되었습니다. - 천도 턴을 원거리로 수행할 수 있습니다. - 1칸 거리에 3턴이 필요하며, 1칸이 늘어날수록 2턴씩 더 필요합니다. - 모두 수행할 경우 중간 도시를 거치지 않고 한번에 이동합니다. - 1칸씩 멀어질 수록 비용이 2배씩 증가합니다. - 천도턴의 3개월 제약이 사라지며, 몇월인지에 관계없이 계속해서 다른 천도/증축/감축 턴을 넣을 수 있습니다. - 증축/감축 턴의 개월 제약이 사라지며, 도시를 지정할 필요 없이 수도가 기준이 됩니다. - 부대창의 턴을 변경할 수 있습니다. - 부대창을 추방하면, 다음 달에 새로운 부대장이 추가됩니다. - 턴 시간은 랜덤입니다. - 부대장이 추가될 때 제공되는 금쌀이 사라졌습니다. - 초토화 커맨드가 재 설계되었습니다. - 실행시 각각 금쌀 인구 / 2 * (치안율+0.3) * (농업률+0.3) * (상업률+0.3) [내정률 = 0.0 ~ 1.0]씩을 받고 공백지로 만듭니다. - 도시의 내정은 인구 1/5, 농업 1/5, 상업 1/5이 됩니다. - 모든 장수가 아니라 군주와 실행 당시의 수뇌진들의 명성만 깎입니다. - 실행했을 때 시점임을 주의해주세요. - 모든 장수는 내부의 배신 수치가 1 증가합니다. - 최후의 일전에 자금이 필요한 경우 유용하게 활용할 수 있습니다. - 파괴 계략 시, 수비와 성벽을 0까지 낮출 수 있습니다. - 사용되는 일이 거의 없던 항복, 통합 커맨드가 삭제됩니다. - NPC가 조금 더 다양한 동작을 합니다. - 천도도 일정기준에 따라 수행합니다. - 전쟁중이라도 필요에 따라 내정턴을 입력합니다. - 지정한 정책에 따라 전방 부대를 발령발령할 수 있습니다.(예정) - 특기 초기화가 1회만 실행 가능하던 조건에서 완화되었습니다. - 특기 초기화 사용 후 5년 뒤에 다시 사용 가능합니다. - 한번 받은 특기는 다시 받지 않습니다. - 성벽을 공격할 때, 성벽 수비병을 전멸시키더라도, 쌀이 0이 되면, 점령하지 않고 퇴각합니다. === 엔진 수정 === - **내부 백엔드 엔진이 재 구현되었습니다.** - 턴 실행 방식이 재설계되었습니다. - 턴 시간 정밀도가 초 단위에서 마이크로초 단위로 변경되었습니다. - Opcode 방식에서 클래스 호출 방식으로 변경됩니다. - 턴 실행 가능 여부, 필요 자금을 더 효율적으로 처리합니다. - 턴 실행 인자가 ''general'' 테이블에서 ''general_turn'' 테이블로 변경됩니다. - 예약 가능한 최대 턴 수를 서버에 따라 가변으로 설정 가능합니다. - 스탯, 전투 스킬 등이 하드코딩에서 trigger hook 기반으로 재 설계되었습니다. - trigger hook이 설치된 곳은 다음과 같습니다. - 장수 성격 - 장수 내정 특기 - 장수 전투 특기 - 병종 - 국가 특성 - 도시 관직 - 국가 관직 - 아이템이 재 설계되었습니다. - 기본 스탯 외에, 다양한 옵션을 줄 수 있습니다. - 장수 AI가 재 설계되었습니다. - 행동을 각 단위로 구분하고, 우선순위에 따라 하나씩 시도합니다. - 정책의 우선순위와 수치는 NPC 정책 페이지를 통해 설정할 수 있습니다. - 정책에 따라 전쟁 중에서도 전쟁장이 일반 내정을 수행할 수 있습니다. - DB 테이블이 정리되었습니다. - 국가, 장수의 상태 관리를 위한 ''aux'' 필드가 추가됩니다. - 국가의 기타 변수 관리를 위한 ''nation_env'' KVStorage 테이블이 추가됩니다. - aux 필드와는 다르게 빈번하게 수정되는 값들이 주로 보관됩니다. - 빈번하게 수정되더라도, 국가의 상태를 나타내는데 중요한 값인 경우 ''aux''에 보관합니다. - 부대장 관리를 ''부대번호(Primary Key), 부대장, 국가, 부대명''에서 ''부대장(Primary Key), 국가, 부대명''으로 간소화합니다. - 장수 테이블에서 부대장 여부를 더 빠르게 확인합니다. - 국가 관직, 도시 관직의 여부가 `general`테이블의 `officer_level`, `officer_city`로 통합됩니다. - 장수의 관직이 유효한지 여부를 더 빠르게 확인합니다. (''%%$general['city'] == $general['officer_city']%%'') - ''mysqli_connect'', ''mysqli_query'', ''mysql_fetch_array''로 대표되는 레거시 호출을 제거합니다. - MySQL(MariaDB) 호출을 MeekroDB로 일원화 합니다. - 추후 다른 DBMS나 DB Library로 변경하기 위한 사전 단계입니다. - 주요 로그 작성 방식을 변경합니다. - ''nation'' 테이블에 기록하던 국가열전을 별도 테이블로 분리합니다. - 파일에 기록하던 개인 기록, 전투 기록, 전투 결과를 DB에 기록합니다. - ''general'' 테이블에 기록하던 장수열전을 별도 테이블로 분리합니다. - 연감 데이터를 재정리합니다. - 국력, 장수수, 국명 등을 통합하여 json으로 저장합니다. - 명예의 전당 데이터를 재정리합니다. - 명예의 전당 항목을 int index에서 string으로 변경합니다. - 이후 명예의 전당 항목이 더 추가하는데 용이합니다. - ''general'' 테이블에 저장하던 기록 관련 값을 ''rank_data'' 테이블로 분리합니다. - 명예의 전당 항목과 유사하게 기록됩니다. - ''post'' 명령 후 http header redirect로 동작하던 페이지들 (c_ 로 시작)대부분을 ajax 쿼리로 변경하였습니다. - 이후 ajax 쿼리는 API 호출로 통일할 예정입니다. - 턴관리에 사용하는 global lock을 일원화했습니다. - PHP 7.3, 7.4에 동작하도록 변경하였습니다. === 기타 변경사항 === - 임관턴이 임관, 임의의 국가로 임관, 장수를 따라 임관 세종류로 분류됩니다. - 장비 구입시 '같은 아이템'을 소유하고 있거나, 명마, 무기, 서적 등 유니크 아이템을 소유하고 있는 경우 실패하도록 변경됩니다. - 구매가 꼭 필요한 경우 판매 후 구매해야합니다. - 랜덤 임관 메시지가 '어쩌다보니'에서 조금 더 다양해집니다. - 불가침 제안 방식이 '개월'에서 연,월로 변경됩니다. - 내 정보란에서 과거 정보를 조회가능합니다. - 시나리오마다 최대 포상량을 조절 가능합니다. - 자동 수행턴 목록에 '사령턴'이 추가됩니다. - NPC의 사령턴을 유사하게 흉내내지만, 선포, 세율/지급률관리는 수행하지 않습니다. - 자동 사령턴을 수행하는 경우, 예턴으로 입력한 사령턴이 실패하면 대신 적절한 턴을 입력합니다. - 명성에 따른 Level, 스탯 변화, 숙련레벨 등이 '즉시' 적용됩니다. - 상승/하락에 따른 메시지 또한 바로 나타납니다. - 전투중에 명성이 상승할 경우 바로 다음 전투부터 적용됩니다. - 장수 수 표기에 '부대장'을 제외합니다. - 목록 자체에는 부대장이 표기됩니다. - 애니집결 시나리오의 장수 목록이 변경되었습니다. === 수정된 버그 === - 천도, 증축을 3개월 이내에 연속으로 수행할 수 있는 버그를 수정했습니다.(62che) - 천도, 증축 스택은 천도, 증축이 완료되면 초기화됩니다. - NPC 등장시 중원 정세에 잘못 표기되는 버그를 수정했습니다. (v0.4) - 시나리오 등에서 이미 국가 규모가 높게 나타나는 경우 부대장이 추가되지 않는 버그를 수정했습니다.(v0.9.4)