디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[정보] 언락/해금 관련 정보 정리 (Preferences 파일 수정하는법 포함)

ㅇㅇ(131.215) 2020.08.03 21:11:36
조회 45557 추천 52 댓글 8
														

갤 보면 맨날 올라오는거같아서 여기다 다 정리해봄


사실 슬더스 디컴파일해서 소스코드 읽어보다가 생각나서 적는거긴 함


본문은 이 게임의 언락/해금 (이하 언락으로 통일) 메커니즘 및 Preference 디렉토리 안 파일 구성에 관한 구체적인 내용들에 관한 부분이니 결론만 알고 싶은 사람들은 알아서 패스하시고


스크린샷은 귀찮아서 안넣음. 마찬가지 이유로 이 글은 반말임. 동일한 이유로 더블스페이싱임. 트리플스페이싱 귀찮음.


----------------------------------------------------------------------------------------------------------------


이 게임에서 거의 모든 카드/유물/플레이어블 캐릭터/업적 관련 언락(이하 언락요소)는 unlock/UnlockTracker class에서 처리함


이건 게임을 실행하면 가장 먼저 돌아가는 class중에 하나임. 


메인메뉴 렌더링하기 전에 이걸 체크해야 Stat창 버튼을 보여줄지 아닐지 결정할 수 있거든


심지어 backward compatibility(구 버전에서 넘어오는 경우) 를 위해 처음에는 저장된 언락요소들을 체크하고 다시 retroactive하게 언락되어야 하나 저장되지 않은 언락요소들을 찾아서 업데이트함


때문에 어지간한 경우에는 preference 파일 잘못 고쳤다고 영영 얻지 못하는 업적이 생기거나 하는 경우는 없다.


맨 밑 결론만 읽어도 대부분 갤러들에게 상관없는 이유임.


이 게임 언락요소랄게 어짜피 별 게 없긴 하지만 글의 구성을 위해 전부 나열해보면


1. 각 캐릭터(아클/사일/디펙/와쳐) 별로 등반점수를 쌓아서 해금하는 카드/유물들 (각 캐릭터별로 5단계로 이루어짐)


2. 각 캐릭터 및 열쇠 언락


3. 각 캐릭터별 승천 활성화 및 단계


4. 메인메뉴 Stat 및 Compendium 활성화, 플레이모드 (일일도전/커스텀) 활성화


본격적으로 시작하기 전에 다들 알거라고 생각하지만 preference 폴더는 슬더스 깔려있는 폴더 안에 바로 있음. 


스팀의 경우 ...steamapps/common/SlayTheSpire/preferences임 딴 플랫폼은 알아서 잘 찾으시고

=====================================================================================

1. 캐릭터별 등반점수 언락


이건 preferences 폴더 안 STSUnlockProgress 파일에서 관리함


등반이 (승리든 패배든) 끝나면 calculateUnlockProgress 함수가 실행되고 여기서 처리함.


메모장같은거로 열면 안에 <character>UnlockLevel, <character>CurrentCost 등등의 항목들이 있고 colon(:) 으로 구분되어 오른쪽에 쌍따옴표 안에 숫자가 들어있을거임


(물론 캐릭터 막 만들고 한판도 안했으면 비어있다)


언락하길 원하는 해당 캐릭터의 UnlockLevel을 원하는 단계 (0이 초기값, 5가 최대)로 맞춰주면 된다.


최대레벨로 맞추는 경우엔 다른 값들은 다 무시해도 된다. 


최대레벨이 아니라면 <character>CurrentCost랑 <character>Progress를 UnlockLevel에 맞춰 건드려줘야 한다.


<character>CurrentCost는 다음 레벨업까지의 점수임


UnlockLevel 0 -> "300" (초기값, 생략가능)

UnlockLevel 1 -> "750"

UnlockLevel 2 -> "1000"

UnlockLevel 3 -> "1500"

UnlockLevel 4 -> "2000"

UnlockLevel 5 -> "2500"


사족으로 초기버전에선 필요 경험치량이 달랐던듯한데 1단계가 500이고 다음부터 250씩 증가했던 듯 함.


저 부분이 legacy로 남아있는데 그래서 위 테이블에 있는 값이 아닌 값으로 CurrentCost를 설정하면 레벨업마다 CurrentCost가 250씩 증가하는걸 볼 수 있다.


<character>Progress는 현재 경험치량이고, CurrentCost보다 작게 설정해주면 됨. 


이 값은 사실 CurrentCost 보다 높게 설정해도 에러는 안 뜨고 다음 등반결과때 누적되서 반영되니 알아서 설정하면 됨.


나머지는 언락에는 필요없는 항목들이므로 생략.


사족으로 각 캐릭터별 해금되는 카드/유물 테이블


아이언클래드

1 -> 대검, 약점 분석, 한계 돌파

2 -> 부적, 전경기, 삽

3 -> 난폭한 타격, 진화, 화형

4 -> 파괴, 감시병, 발굴

5 -> 푸른 양초, 말라붙은 가지, 노래하는 그릇


사일런트

1 -> 파멸, 촉매, 시체 폭발

2 -> 저주 인형, 미소짓는 가면, 작은 상자

3 -> 망토와 단검, 정밀, 강철의 폭풍

4 -> 병법서, 배달원, 판도라의 상자

5 -> 집중, 설치, 대단원의 막


디펙트

1 -> 되돌리기, 평형, 메아리의 형상

2 -> 터보, 찢기, 유성 타격

3 -> 파괴광선, 재활용, 코어 서지

4 -> 판금 케이블, 순무, 룬 축전기

5 -> 데이터 디스크, 공생 바이러스, 감정 회로


와쳐

1 -> 부복, 신성 모독, 헌신

2 -> 외세, 알파, 마음의 요새

3 -> 영혼 방패, 염원, 선견지명

4 -> 아카베코, 음양성, 물고기 도자기

5 -> 타격용 인형, 눈물 모양 목걸이, 잠금 걸쇠



2. 각 캐릭터 및 열쇠 언락


캐릭터 언락은 STSUnlocks 파일에서 관리함.


해당 캐릭터 "The Silent", "Defect", "Watcher"를 "2"로 설정해주면 된다.


와쳐의 경우 앞 세 캐릭터가 언락되있고 심장클한 기록이 있으면 언락되는데, 따라서 "Watcher"를 "2"로 두는 대신 STSAchievements 파일에서 "RUBY", "EMERALD", "SAPPHIRE" 항목 중 하나를 "true"로 둬도 상관없다. (굳이?)


열쇠 언락은 뭐 알겠지만 아클, 사일, 디펙 1승씩 하면 해금된다.


코드상으로는 serFinalActAvailability 함수가 처리하는데,


이 함수는 STSPlayer 파일에서 IRONCLAD_WIN, THE_SILENT_WIN, DEFECT_WIN 이 true이면 (그리고 일일등반이 아니거나 커스텀에서 껐거나 뭐 그런거 체크는 당연히 하고) true값을 준다.


(WATCHER_WIN은 없음. 와쳐 클리어해서 언락될게 없어서... 열쇠를 더 추가하거나 할 계획이 없다는 소리일지도)


따라서 해당 파일에서 IRONCLAD_WIN, THE_SILENT_WIN, DEFECT_WIN을 모두 "true"로 두면 된다.


STSPlayer 파일 안에 보면 추가로 <character>_SPIRITS 항목이 있음.


이 항목은 대충 직전 플레이에서 잡은 보스 수라고 보면 되는데 (무한모드였으면 누적되고 뭐 등등...)


이 수치를 가지고 NeowEvent class에서 고래밥을 결정한다.


따라서 전 플레이에서 1막 보스 못 보고 죽었더라도 해당 <character>_SPIRITS를 "1"로 두면 고래밥을 받을 수 있다.


반대로 비탄을 받고 싶다면(누가?) 해당 항목을 "0"으로 두면 된다.


모드를 까본 건 아니지만 아마 고래밥 모드에선 이 항목을 항상 1로 두는게 아닐까 싶음.



3. 각 캐릭터별 승천 단계/활성화


승천 단계는 각 캐릭터별로 STSData<character> 파일에서 관리함.


STSData<character> 파일을 열어보면 ASCENSION_LEVEL이랑 LAST_ASCENSION_LEVEL이 있는데 ASCENSION_LEVEL이 (플레이가능한) 최대 승천 레벨, LAST_ASCENSION_LEVEL이 직전에 플레이한 승천레벨임.


LAST_ASCENSION_LEVEL은 캐릭터 선택창에서 디폴트로 보여줄 승천레벨 설정하려고 있는거라 무시해도 무관함.


한 가지 주의점은 승천 단계를 1 이상으로 놓는다고 캐릭터 선택창에서 승천 활성화 버튼이 보이는건 아니라는 거임.


이 부분은 캐릭터 선택창을 열거나 하면 isAscensionUnlocked 함수를 불러서 처리함.


이 함수는 해당 캐릭터의 승리한 등반횟수를 세서 1 이상이면 true를 준다.


따라서 WIN_COUNTER를 1 이상으로 설정해줘야 승천 체크박스가 보임.


위 isAscensionUnlocked 함수는 승천레벨별로 주는 업적 (승천0, 10, 20)도 같이 처리해주는데다 캐릭터 선택창을 열면 매번 실행되기 때문에


가령 ASCENSION_LEVEL을 20으로 설정했다고 승천 관련 업적들을 못 따는 경우는 없으니 안심해도 된다.



4. 기타 Stat, Compendium, 일일도전, 커스텀 활성화


우선 Stat, Compendium(이거 한국어로 뭔지 까먹었는데 뭐 도감? 그런거일듯) 활성화부터. 이건 statScreenUnlocked 함수에서 처리함.


얘는 보스를 한 번이라도 잡았거나 혹은 한 번이라도 죽었다면 true값을 줌.


따라서 아무 캐릭터의 STSData<character> 파일에서 BOSS_KILL 혹은 LOST_COUNT 항목을 1 이상으로 두면 된다.


웃긴거는 위에서 승천 언락한다고 WIN_COUNT를 1 이상으로 둔다고 Stat이 해금되는게 아니라는 점.


정상적인 플레이에선 보스를 안 잡고 등반을 승리하는 방법이 없으니 로직에 문제가 있는건 아니지만서도...


일일도전 언락의 경우 위 statScreenUnlocked를 이용한다.


따라서 위와 동일한 방법으로 언락 가능.


코드를 까보면 dailiesUnlocked라고 (지금은) 사용되지 않는 함수가 있는데 얘는 최대 등반 층수가 17 초과인지를 체크함.


아마 초기버전에서는 1막 클리어를 기준으로 언락했던듯.


마지막으로 커스텀 활성화는 일일도전을 한 번이라도 플레이(승리 ㄴㄴ)하면 언락된다.


정확하게는 아무 캐릭터의 STSData<character> 파일에서 HIGHEST_DAILY 항목을 1 이상으로 두면 된다.



5. 기타 자잘한 사항


Compendium에 나오는 카드/유물 정보해금은 각각 STSSeenCards/STSSeenRelics 파일에서 처리한다.


각 파일에 "카드/유물이름" : "1" 형태로 항목을 추가해주면 됨.


업적의 경우에는 STSAchievements 파일에서 처리한다.


"업적명" : "true" 형태로 추가하면 된다.


업적과 관련해서 몇 가지 흥미로운 점.


- 촉매, 역병 업적은 사일런트로만 달성 가능 (AbstractDungeon.player.chosenClass == AbstractPlayer.PlayerClass.THE_SILENT 라는 체크가 들어간다)


- 반면 플라즈마 9개 업적은 모든 캐릭터가 다 달성 가능하다 (-디- 수듄...)


- 사실 닌자 (한 턴 단검 10개 사용) 업적은 사일런트가 아니라도 깨진다. 기준이 뭔지 모르겠음. 그냥 스파게티 코드인가...


- 왜인지 모르겠지만 순수 업적은 3층 이상에서만 깨진다. (AbstractDungeon.floorNum > 3 이라는 체크가 들어감)


- 도누 포식하는 업적은 포식 '카드'를 사용하는 트리거가 아니라 포식 '액션'을 사용하는 트리거라 모드로 포식 '액션'을 사용하는 다른 카드로 피니쉬하면 업적 달성 가능.


- 여태까지 본 적 없는 보스(STSSeenBosses 파일에 항목이 없는 보스)가 있다면 안 본 보스를 무조건 보도록 던전이 생성됨.


  맨 첫번째 등반에선 수호자, 투사, 깨어난자 순서로 나오는건 다들 알 테지만 가령 두 번째 1막 보스는 육각령 고정이고 뭐 그런식임.


  구체적으로는 1막은 수호자>고스트>슬라임 순, 2막은 투사>청동로봇>수집가 순, 3막은 까마귀>도누>시간포식자 순임.


- 이건 정말로 딴거긴 한데 보스킬 6마리 뜬다는거 도데체 왜 일어나는지 모르겠음. 


  코드 다 까봤는데 일단 개화 이벤트에선 확실히 카운트 안되고 저장후 불러오기할때도 딱히 버그 없는거같음.


  이 외에 의심되는거 있으면 댓글로 달아주면 코드 분석해봄.

---------------------------------------------------------------------------------------------------------------------

요약)


1. 카드/유물 언락


STSUnlockProgress 파일에

{

  "IRONCLADUnlockLevel" : "5",

  "THE_SILENTUnlockLevel" : "5",

  "DEFECTUnlockLevel" : "5",

  "WATCHERUnlockLevel" : "5"

}

추가


2. 캐릭터 언락


STSUnlocks 파일에

{

  "The Silent" : "2",

  "Defect" : "2",

  "Watcher" : "2"

}

추가


3. 열쇠 언락


STSPlayer 파일에

{

  "IRONCLAD_WIN" : "true",

  "THE_SILENT_WIN" : "true",

  "DEFECT_WIN" : "true"

}

추가


4. 고래밥


STSPlayer 파일에

{

  "<character>_SPIRITS" : "1"

}

추가 (0이면 1로)


5. 승천


해당 캐릭터 STSData<character> 파일에

{

  "WIN_COUNTER" : "1",

  "ASCENSION_LEVEL" : "n"

}

추가 (n은 원하는 승천단계)


6. Stats, Compendium, 일일도전


아무 캐릭터 STSData<character> 파일에

{

  "BOSS_COUNT" : "1"

}

추가


7. 커스텀 도전 활성화


아무 캐릭터 STSData<character> 파일에

{

  "HIGHEST_DAILY" : "1"

}

추가

추천 비추천

52

고정닉 5

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2863 설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
2862 AD 희귀 정령 획득 기회! <아스달 연대기> 출석 이벤트 운영자 24/05/23 - -
77884 공지 뉴비를 위한 공략글 & 각종 정보글 모음 [33] ㅇㅇ(39.7) 21.06.03 301670 82
172568 공지 슬레이 더 스파이어 갤러리 운영 기준 [3] 입력안할거임갤로그로 이동합니다. 24.05.24 177 5
154044 공지 [FAQ] 해금(언락), 동기화 관련 (스팀, 폰더스) [5] 입력안할거임갤로그로 이동합니다. 23.11.12 3658 2
153985 공지 [모드] 관련 정보, 갤 내 분쟁 처리 기준 입력안할거임갤로그로 이동합니다. 23.11.11 2913 6
91793 공지 게임 구입하기 전&막 시작한 뉴비 FAQ [20] 입력안할거임갤로그로 이동합니다. 21.12.20 34026 56
62880 공지 (스압주의, 데이터주의) 모드캐릭 9개 20승천까지 클리어한 후기 [41] ㅇㅇ(175.214) 20.12.31 38446 116
29326 공지 [FAQ] 진엔딩 보는법 (???막 심장 만나는법) [13] EDIN갤로그로 이동합니다. 19.01.07 98360 68
35563 공지 [신고 및 건의사항] [38] EDIN갤로그로 이동합니다. 19.05.11 4400 1
172760 일반 4막 상점 뭐하지 [1] 야자33갤로그로 이동합니다. 12:23 26 0
172759 일반 덱 완성시키려고 하는거 안좋은 버릇인거 알면서도 멈출수가없네 [3] ㅇㅇ갤로그로 이동합니다. 12:10 41 0
172758 일반 작은 집, 빈 새장, 얼어붙은 핵 [5] 슬갤러(39.115) 11:59 54 0
172757 일반 아클이 육각령을 잡는 데 걸리는 시간 [4] 보츠키무지말랑갤로그로 이동합니다. 11:55 49 1
172756 일반 폰이랑 태블릿이랑은 동기화 못함? ㅇㅇ갤로그로 이동합니다. 11:48 11 0
172755 일반 저주 펀치! 저주 펀치! [2] 야자33갤로그로 이동합니다. 11:14 58 0
172754 일반 쓰레기 캐릭터ㅠㅠ [3] 슬갤러(220.86) 11:10 66 1
172753 일반 님들 올해 겨울에 출시라는데 이런거 좋아하나여? [4] 슬갤러(221.141) 10:23 102 0
172752 일반 포션 사세요, 당장! [2] 낙지스껌갤로그로 이동합니다. 09:49 71 0
172751 일반 살면서 이럿게 유물 만이먹어본거 첨이네 [1] 맛깔난크림국수.갤로그로 이동합니다. 09:11 73 1
172750 일반 뭐고를까 [4] ㅇㅇ(211.252) 08:57 57 0
172749 일반 사일 유형발놀림 없으면 어캐 막지? [17] ㅇㅇ(14.5) 03:16 201 0
172748 일반 제발요 갤로그로 이동합니다. 02:32 48 0
172747 일반 다들 첫 20승천 심장클 몇시간 걸려서함? [9] mitty갤로그로 이동합니다. 01:54 151 0
172746 일반 100시간에 아클 19승천이면 재능 있는건가요 [5] 블창아재갤로그로 이동합니다. 01:25 141 0
172745 일반 가면 망해도 난기몸은 신이다 ㅇㅇ갤로그로 이동합니다. 00:32 78 0
172744 일반 악형 개꿀 ㅋㅋㅋㅁㅋ [2] 슬갤러(118.235) 00:14 101 0
172743 일반 디펙트는 큰 덱을 꾸리는게 맞으면서도 [7] ㅇㅇ갤로그로 이동합니다. 00:04 156 1
172742 일반 안돼!! 고오오옴!!! 용서치 않겠다! 대가를 치를 것이다!! 슬갤러(221.139) 05.26 67 0
172741 토론 [유물 토론]핵융합 망치 [17] 낙지스껌갤로그로 이동합니다. 05.26 254 3
172740 일반 다시 보니 4막에서 먹은걸로 깬거네ㅋㅋ ㅇㅇ갤로그로 이동합니다. 05.26 59 0
172739 일반 이갬욀캐재밋슴 [1] 민혜ㄴ갤로그로 이동합니다. 05.26 61 0
172738 일반 딜플랜 안떠서 식겁했네... ㅇㅇ갤로그로 이동합니다. 05.26 44 0
172737 일반 거인의 머리 진짜냐 [5/1] 슬갤러(211.36) 05.26 522 14
172736 일반 바참 소멸 불격덱 CrouchingWriter갤로그로 이동합니다. 05.26 40 0
172735 정보 [공략?] 디펙트 터보는 신이다 [11] 슬갤러(39.112) 05.26 155 0
172734 일반 뉴비 오늘 처음하는데 재밌다 [5] 니머리에하이킥갤로그로 이동합니다. 05.26 62 0
172733 일반 1막 보스유물 검은별vs방울(1부적남음) [15] 슬갤러(59.20) 05.26 134 0
172732 일반 100시간 했는데 아직 노승천도 제대로 못깸ㅁㅌㅊ [5] ㅇㅇ(121.200) 05.26 106 0
172731 일반 튜토리얼 다깼음 [3] ㅇㅇ(180.189) 05.26 92 2
172730 일반 지금까지 해놓은거 날아갔는데 시발 어캄??? [1] ㅇㅇ갤로그로 이동합니다. 05.26 64 0
172729 일반 유형 심장전에선 큰 도움이 안되는것 같냐... [10] ㅇㅇ갤로그로 이동합니다. 05.26 157 0
172728 일반 사일의 힘겨운 여정 슬갤러(110.46) 05.26 45 0
172727 일반 이건 초커가 맞겠지? [2] ㅇㅇ갤로그로 이동합니다. 05.26 75 0
172726 일반 슬더스2 내년이면 나오려나 ㅇㅇ(211.205) 05.26 26 0
172725 일반 아니 할배님덜 슬린이 너무 억울해욧,,, 왜 마지막엔 열쇠조각 안줌??? [7] 슬갤러(218.155) 05.26 129 2
172724 일반 유령의 형상 있으면 발놀림 굳이 안 집어도 되나?? [2] ㅇㅇ(106.247) 05.26 88 0
172723 일반 이것도 쓸끼얏호우로 인정해주나? ㅇㅇ(175.113) 05.26 58 2
172721 일반 제거할거 추천좀 [13] 슬갤러(110.46) 05.26 140 0
172720 일반 20승천 심장꺠기, 연승런 해본 사람? [2] ㅇㅇ(121.190) 05.26 83 0
172719 일반 로그북이 더 재밌는데, 슬더스가 더 재밌음 ㅇㅇ(121.190) 05.26 56 0
172718 일반 고래밥으로 바리 타락 화형 떴는데 뭐집음? [7] ㅇㅇ(211.55) 05.26 125 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2