{"scope":"item-inventory-state-layout-review","sourceArtifacts":{"exe":"Hwanse2.exe","uiCnsGridMappings":"out/ui_cns_grid_mappings.json","battleRecoveryItemEffectReview":"out/battle_recovery_item_effect_review.json"},"summary":{"status":"item-inventory-state-layout-grounded","consumableIdBaseVaHex":"0x004576ec","consumableCountBaseVaHex":"0x004576ed","consumableSlotCount":6,"consumableMaxCount":10,"importantIdBaseVaHex":"0x004576f8","importantValueBaseVaHex":"0x004576f9","importantSlotCount":30,"importantMaxValue":1,"itemRecordCount":31,"consumableRecordCount":6,"importantRecordCount":25,"conclusion":"소모품은 전역 6-slot id/count pair 배열이며 수량 상한은 10이다. 중요품/스토리 아이템은 전역 30-slot id/value pair 배열이며 add/shop 경로에서 값 상한은 1이다. 부적은 수량 byte 하나가 아니라 1장/2장/3장/4장 별도 item id 상태로 표현된다."},"storageLayout":{"consumables":{"shape":"6 slots x {id byte, count byte}","idBaseVaHex":"0x004576ec","countBaseVaHex":"0x004576ed","slotAddressRule":"id=0x4576ec+slot*2, count=0x4576ed+slot*2","maxCount":10},"importantItems":{"shape":"30 slots x {id byte, value byte}","idBaseVaHex":"0x004576f8","valueBaseVaHex":"0x004576f9","slotAddressRule":"id=0x4576f8+slot*2, value=0x4576f9+slot*2","maxValue":1}},"initialSlots":{"consumables":[{"slot":0,"idVa":4552428,"idVaHex":"0x004576ec","valueVa":4552429,"valueVaHex":"0x004576ed","itemId":3,"itemName":"리프레시 워터","value":3},{"slot":1,"idVa":4552430,"idVaHex":"0x004576ee","valueVa":4552431,"valueVaHex":"0x004576ef","itemId":0,"itemName":"","value":0},{"slot":2,"idVa":4552432,"idVaHex":"0x004576f0","valueVa":4552433,"valueVaHex":"0x004576f1","itemId":0,"itemName":"","value":0},{"slot":3,"idVa":4552434,"idVaHex":"0x004576f2","valueVa":4552435,"valueVaHex":"0x004576f3","itemId":0,"itemName":"","value":0},{"slot":4,"idVa":4552436,"idVaHex":"0x004576f4","valueVa":4552437,"valueVaHex":"0x004576f5","itemId":0,"itemName":"","value":0},{"slot":5,"idVa":4552438,"idVaHex":"0x004576f6","valueVa":4552439,"valueVaHex":"0x004576f7","itemId":0,"itemName":"","value":0}],"importantItems":[{"slot":0,"idVa":4552440,"idVaHex":"0x004576f8","valueVa":4552441,"valueVaHex":"0x004576f9","itemId":0,"itemName":"","value":0},{"slot":1,"idVa":4552442,"idVaHex":"0x004576fa","valueVa":4552443,"valueVaHex":"0x004576fb","itemId":0,"itemName":"","value":0},{"slot":2,"idVa":4552444,"idVaHex":"0x004576fc","valueVa":4552445,"valueVaHex":"0x004576fd","itemId":0,"itemName":"","value":0},{"slot":3,"idVa":4552446,"idVaHex":"0x004576fe","valueVa":4552447,"valueVaHex":"0x004576ff","itemId":0,"itemName":"","value":0},{"slot":4,"idVa":4552448,"idVaHex":"0x00457700","valueVa":4552449,"valueVaHex":"0x00457701","itemId":0,"itemName":"","value":0},{"slot":5,"idVa":4552450,"idVaHex":"0x00457702","valueVa":4552451,"valueVaHex":"0x00457703","itemId":0,"itemName":"","value":0},{"slot":6,"idVa":4552452,"idVaHex":"0x00457704","valueVa":4552453,"valueVaHex":"0x00457705","itemId":0,"itemName":"","value":0},{"slot":7,"idVa":4552454,"idVaHex":"0x00457706","valueVa":4552455,"valueVaHex":"0x00457707","itemId":0,"itemName":"","value":0},{"slot":8,"idVa":4552456,"idVaHex":"0x00457708","valueVa":4552457,"valueVaHex":"0x00457709","itemId":0,"itemName":"","value":0},{"slot":9,"idVa":4552458,"idVaHex":"0x0045770a","valueVa":4552459,"valueVaHex":"0x0045770b","itemId":0,"itemName":"","value":0},{"slot":10,"idVa":4552460,"idVaHex":"0x0045770c","valueVa":4552461,"valueVaHex":"0x0045770d","itemId":0,"itemName":"","value":0},{"slot":11,"idVa":4552462,"idVaHex":"0x0045770e","valueVa":4552463,"valueVaHex":"0x0045770f","itemId":0,"itemName":"","value":0},{"slot":12,"idVa":4552464,"idVaHex":"0x00457710","valueVa":4552465,"valueVaHex":"0x00457711","itemId":0,"itemName":"","value":0},{"slot":13,"idVa":4552466,"idVaHex":"0x00457712","valueVa":4552467,"valueVaHex":"0x00457713","itemId":0,"itemName":"","value":0},{"slot":14,"idVa":4552468,"idVaHex":"0x00457714","valueVa":4552469,"valueVaHex":"0x00457715","itemId":0,"itemName":"","value":0},{"slot":15,"idVa":4552470,"idVaHex":"0x00457716","valueVa":4552471,"valueVaHex":"0x00457717","itemId":0,"itemName":"","value":0},{"slot":16,"idVa":4552472,"idVaHex":"0x00457718","valueVa":4552473,"valueVaHex":"0x00457719","itemId":0,"itemName":"","value":0},{"slot":17,"idVa":4552474,"idVaHex":"0x0045771a","valueVa":4552475,"valueVaHex":"0x0045771b","itemId":0,"itemName":"","value":0},{"slot":18,"idVa":4552476,"idVaHex":"0x0045771c","valueVa":4552477,"valueVaHex":"0x0045771d","itemId":0,"itemName":"","value":0},{"slot":19,"idVa":4552478,"idVaHex":"0x0045771e","valueVa":4552479,"valueVaHex":"0x0045771f","itemId":0,"itemName":"","value":0},{"slot":20,"idVa":4552480,"idVaHex":"0x00457720","valueVa":4552481,"valueVaHex":"0x00457721","itemId":0,"itemName":"","value":0},{"slot":21,"idVa":4552482,"idVaHex":"0x00457722","valueVa":4552483,"valueVaHex":"0x00457723","itemId":0,"itemName":"","value":0},{"slot":22,"idVa":4552484,"idVaHex":"0x00457724","valueVa":4552485,"valueVaHex":"0x00457725","itemId":0,"itemName":"","value":0},{"slot":23,"idVa":4552486,"idVaHex":"0x00457726","valueVa":4552487,"valueVaHex":"0x00457727","itemId":0,"itemName":"","value":0},{"slot":24,"idVa":4552488,"idVaHex":"0x00457728","valueVa":4552489,"valueVaHex":"0x00457729","itemId":0,"itemName":"","value":0},{"slot":25,"idVa":4552490,"idVaHex":"0x0045772a","valueVa":4552491,"valueVaHex":"0x0045772b","itemId":0,"itemName":"","value":0},{"slot":26,"idVa":4552492,"idVaHex":"0x0045772c","valueVa":4552493,"valueVaHex":"0x0045772d","itemId":0,"itemName":"","value":0},{"slot":27,"idVa":4552494,"idVaHex":"0x0045772e","valueVa":4552495,"valueVaHex":"0x0045772f","itemId":0,"itemName":"","value":0},{"slot":28,"idVa":4552496,"idVaHex":"0x00457730","valueVa":4552497,"valueVaHex":"0x00457731","itemId":0,"itemName":"","value":0},{"slot":29,"idVa":4552498,"idVaHex":"0x00457732","valueVa":4552499,"valueVaHex":"0x00457733","itemId":0,"itemName":"","value":0}],"note":"초기 EXE 데이터의 첫 소모품 pair 03 03은 리프레시 워터 3개와 일치한다."},"itemRows":[{"itemId":1,"itemIdHex":"0x01","name":"약초","recordVaHex":"0x0048b984","detailRecordVaHex":"0x0048ba7c","flag":0,"flagHex":"0x0000","storageKind":"consumable-count","capacity":6,"maxValue":10,"iconCell":36,"iconCellHex":"0x24","description":"체력회복에\n설명 필요없는\n아이템","effectSummary":"HP +50","referenceSummary":"HP +50, 10G"},{"itemId":2,"itemIdHex":"0x02","name":"해독초","recordVaHex":"0x0048b98c","detailRecordVaHex":"0x0048ba8e","flag":0,"flagHex":"0x0000","storageKind":"consumable-count","capacity":6,"maxValue":10,"iconCell":37,"iconCellHex":"0x25","description":"독을 중화하고\n마비와 같은 상태도\n효과 만능인 치료약","effectSummary":"독/마비 회복","referenceSummary":"독/마비 회복, 15G"},{"itemId":3,"itemIdHex":"0x03","name":"리프레시 워터","recordVaHex":"0x0048b994","detailRecordVaHex":"0x0048baa0","flag":0,"flagHex":"0x0000","storageKind":"consumable-count","capacity":6,"maxValue":10,"iconCell":38,"iconCellHex":"0x26","description":"기절한 사람도 이것만\n있으면 상쾌한 기분\n체력도 오케이！","effectSummary":"기절 회복, HP +200","referenceSummary":"기절 회복, HP +200, 100G"},{"itemId":4,"itemIdHex":"0x04","name":"마법의 물약","recordVaHex":"0x0048b99c","detailRecordVaHex":"0x0048bab2","flag":0,"flagHex":"0x0000","storageKind":"consumable-count","capacity":6,"maxValue":10,"iconCell":39,"iconCellHex":"0x27","description":"시리즈 최초？！\nＭＰ 회복가능한\n신기한 약","effectSummary":"MP +50","referenceSummary":"MP +50, 200G"},{"itemId":5,"itemIdHex":"0x05","name":"고급한방약","recordVaHex":"0x0048b9a4","detailRecordVaHex":"0x0048bac4","flag":0,"flagHex":"0x0000","storageKind":"consumable-count","capacity":6,"maxValue":10,"iconCell":40,"iconCellHex":"0x28","description":"자양강장 영양보급\nＨＰ도 ＭＰ도\n회복하는 쓰디쓴 약","effectSummary":"HP +100, MP +100","referenceSummary":"HP +100, MP +100, 500G"},{"itemId":6,"itemIdHex":"0x06","name":"마수석","recordVaHex":"0x0048b9ac","detailRecordVaHex":"0x0048bad6","flag":0,"flagHex":"0x0000","storageKind":"consumable-count","capacity":6,"maxValue":10,"iconCell":41,"iconCellHex":"0x29","description":"１명의 ＨＰ와 ＭＰ\n를 상당부분 회복\n기절상태도 회복가능","effectSummary":"기절 회복, HP/MP 완전 회복","referenceSummary":"기절 회복, HP/MP 완전 회복, 상점 구매 불가"},{"itemId":7,"itemIdHex":"0x07","name":"무투대회 안내장","recordVaHex":"0x0048b9b4","detailRecordVaHex":"0x0048bae8","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":49,"iconCellHex":"0x31","description":"아타호의 고향에서\n열리는 무투대회\n참가신청서겸 안내서","effectSummary":"","referenceSummary":"무투대회 참가를 위해 맹호권도장에 제출"},{"itemId":8,"itemIdHex":"0x08","name":"햄머","recordVaHex":"0x0048b9bc","detailRecordVaHex":"0x0048bafa","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":44,"iconCellHex":"0x2c","description":"금이간 벽이라야\n겨우 깨트릴 수 있는\n어벙한 햄머","effectSummary":"","referenceSummary":"금 간 벽과 동작석상을 파괴"},{"itemId":9,"itemIdHex":"0x09","name":"수면약","recordVaHex":"0x0048b9c4","detailRecordVaHex":"0x0048bb0c","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":45,"iconCellHex":"0x2d","description":"마시면 곧바로\n졸음이 와서\n푹 잘 수 있는\n동양의 비약","effectSummary":"","referenceSummary":"병원 이벤트 후 맹호룬룬권 습득 조건"},{"itemId":10,"itemIdHex":"0x0a","name":"황금돼지두루마리","recordVaHex":"0x0048b9cc","detailRecordVaHex":"0x0048bb1e","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":46,"iconCellHex":"0x2e","description":"뭔지는 잘 모르지만\n황금돼지에 대해\n쓰여있는 두루마리","effectSummary":"","referenceSummary":"다리오스에게 주고 어설트 슈트 획득"},{"itemId":11,"itemIdHex":"0x0b","name":"화령석","recordVaHex":"0x0048b9d4","detailRecordVaHex":"0x0048bb30","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":56,"iconCellHex":"0x38","description":"활활 타오르는 정열을\n봉인한 붉은 돌","effectSummary":"","referenceSummary":"불/열 관련 상자와 횃불 조합에 사용"},{"itemId":12,"itemIdHex":"0x0c","name":"수령석","recordVaHex":"0x0048b9dc","detailRecordVaHex":"0x0048bb42","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":57,"iconCellHex":"0x39","description":"항상 평정하고\n냉정함을 지닌 파란돌","effectSummary":"","referenceSummary":"뜨거운 보물상자의 열을 식힘"},{"itemId":13,"itemIdHex":"0x0d","name":"지령석","recordVaHex":"0x0048b9e4","detailRecordVaHex":"0x0048bb54","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":58,"iconCellHex":"0x3a","description":"완고하고 외고집에\n근성있는 차색의 돌","effectSummary":"","referenceSummary":"얼어붙은 보물상자를 깨트림"},{"itemId":14,"itemIdHex":"0x0e","name":"풍령석","recordVaHex":"0x0048b9ec","detailRecordVaHex":"0x0048bb66","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":59,"iconCellHex":"0x3b","description":"자극적이고\n행동적인 하얀돌","effectSummary":"","referenceSummary":"보물상자의 쐐기를 잘라 개방"},{"itemId":15,"itemIdHex":"0x0f","name":"횃불","recordVaHex":"0x0048b9f4","detailRecordVaHex":"0x0048bb78","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":47,"iconCellHex":"0x2f","description":"어두운 곳을\n밝게하는 아이템\n어떻게 불을 붙이지？","effectSummary":"","referenceSummary":"화령석과 조합해 어두운 공간을 밝힘"},{"itemId":16,"itemIdHex":"0x10","name":"횃불세트","recordVaHex":"0x0048b9fc","detailRecordVaHex":"0x0048bb8a","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":47,"iconCellHex":"0x2f","description":"어두운 곳을\n환하게 밝히는\n성냥과 세트인 히트상품","effectSummary":"","referenceSummary":"화령석 없이 어두운 공간을 밝힘"},{"itemId":17,"itemIdHex":"0x11","name":"○○책","recordVaHex":"0x0048ba04","detailRecordVaHex":"0x0048bb9c","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":48,"iconCellHex":"0x30","description":"화장실에서 발견한\n무수정 상태의\n스마슈의 최대보물（？）","effectSummary":"","referenceSummary":"스마슈 특수기 눈요기 사용 조건"},{"itemId":18,"itemIdHex":"0x12","name":"호랑이굴 인정서","recordVaHex":"0x0048ba0c","detailRecordVaHex":"0x0048bbae","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":53,"iconCellHex":"0x35","description":"전설의 「호랑이동굴」\n에서 수련했음을 증명\n하는 인정서","effectSummary":"","referenceSummary":"호랑이동굴 수련 완료 및 탈출 증명"},{"itemId":19,"itemIdHex":"0x13","name":"지옥 인정서１","recordVaHex":"0x0048ba14","detailRecordVaHex":"0x0048bbc0","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":53,"iconCellHex":"0x35","description":"환상 수련장「지옥」의\n초등수련을 마쳤음을\n증명하는 인정서","effectSummary":"","referenceSummary":"지옥 간단한 코스 클리어 인정서"},{"itemId":20,"itemIdHex":"0x14","name":"지옥 인정서２","recordVaHex":"0x0048ba1c","detailRecordVaHex":"0x0048bbd2","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":53,"iconCellHex":"0x35","description":"환상 수련장「지옥」의\n중등수련을 마쳤음을\n증명하는 인정서","effectSummary":"","referenceSummary":"지옥 적당한 코스 클리어 인정서"},{"itemId":21,"itemIdHex":"0x15","name":"지옥 인정서３","recordVaHex":"0x0048ba24","detailRecordVaHex":"0x0048bbe4","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":53,"iconCellHex":"0x35","description":"환상 수련장「지옥」의\n고급수련을 마쳤음을\n증명하는 인정서","effectSummary":"","referenceSummary":"지옥 초난관 코스 클리어 인정서"},{"itemId":22,"itemIdHex":"0x16","name":"고급술병","recordVaHex":"0x0048ba2c","detailRecordVaHex":"0x0048bbf6","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":45,"iconCellHex":"0x2d","description":"이 술집에서 가장\n고가인 술을\n넣어두는 술병","effectSummary":"","referenceSummary":"술집 주인의 도난당한 고급 술병"},{"itemId":23,"itemIdHex":"0x17","name":"서류","recordVaHex":"0x0048ba34","detailRecordVaHex":"0x0048bc08","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":49,"iconCellHex":"0x31","description":"무투대회와 관련있는，\n내용을 알 수 없는\n서류가 든 주머니","effectSummary":"","referenceSummary":"대회 주최자 전달 이벤트"},{"itemId":24,"itemIdHex":"0x18","name":"암청수","recordVaHex":"0x0048ba3c","detailRecordVaHex":"0x0048bc1a","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":51,"iconCellHex":"0x33","description":"순도 １００％를\n보증하는\n천연암청수","effectSummary":"","referenceSummary":"호랑이동굴 비밀통로 진입 이벤트에 사용"},{"itemId":25,"itemIdHex":"0x19","name":"정호수","recordVaHex":"0x0048ba44","detailRecordVaHex":"0x0048bc2c","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":51,"iconCellHex":"0x33","description":"우물에서 퍼온 물\n속여도 괜찮을까？\n…안들키면 괜찮겠지","effectSummary":"","referenceSummary":"암청수 눈속임용 우물물"},{"itemId":26,"itemIdHex":"0x1a","name":"나찰의 돌","recordVaHex":"0x0048ba4c","detailRecordVaHex":"0x0048bc3e","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":52,"iconCellHex":"0x34","description":"무서운 살기와\n원한의 마음이\n깃든 돌","effectSummary":"","referenceSummary":"진 호혈 지하 666층 진입"},{"itemId":27,"itemIdHex":"0x1b","name":"부적 １장","recordVaHex":"0x0048ba54","detailRecordVaHex":"0x0048bc50","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적","effectSummary":"","referenceSummary":"봉인 해제용 부적 1장"},{"itemId":28,"itemIdHex":"0x1c","name":"부적 ２장","recordVaHex":"0x0048ba5c","detailRecordVaHex":"0x0048bc62","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적\n매수 ２매","effectSummary":"","referenceSummary":"봉인 해제용 부적 2장"},{"itemId":29,"itemIdHex":"0x1d","name":"부적 ３장","recordVaHex":"0x0048ba64","detailRecordVaHex":"0x0048bc74","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적\n매수 ３매","effectSummary":"","referenceSummary":"봉인 해제용 부적 3장"},{"itemId":30,"itemIdHex":"0x1e","name":"부적 ４장","recordVaHex":"0x0048ba6c","detailRecordVaHex":"0x0048bc86","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적\n매수 ４매","effectSummary":"","referenceSummary":"봉인 해제용 부적 4장"},{"itemId":31,"itemIdHex":"0x1f","name":"스마슈","recordVaHex":"0x0048ba74","detailRecordVaHex":"0x0048bc98","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":42,"iconCellHex":"0x2a","description":"개 모양의 쓰레기\n…가 아니라\n쓰레기처럼 눌린\n개 검사 스마슈","effectSummary":"","referenceSummary":"부상당한 스마슈를 해변마을 병원으로 운반"}],"talismanRows":[{"itemId":27,"itemIdHex":"0x1b","name":"부적 １장","recordVaHex":"0x0048ba54","detailRecordVaHex":"0x0048bc50","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적","effectSummary":"","referenceSummary":"봉인 해제용 부적 1장"},{"itemId":28,"itemIdHex":"0x1c","name":"부적 ２장","recordVaHex":"0x0048ba5c","detailRecordVaHex":"0x0048bc62","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적\n매수 ２매","effectSummary":"","referenceSummary":"봉인 해제용 부적 2장"},{"itemId":29,"itemIdHex":"0x1d","name":"부적 ３장","recordVaHex":"0x0048ba64","detailRecordVaHex":"0x0048bc74","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적\n매수 ３매","effectSummary":"","referenceSummary":"봉인 해제용 부적 3장"},{"itemId":30,"itemIdHex":"0x1e","name":"부적 ４장","recordVaHex":"0x0048ba6c","detailRecordVaHex":"0x0048bc86","flag":1,"flagHex":"0x0001","storageKind":"important-single-state","capacity":30,"maxValue":1,"iconCell":50,"iconCellHex":"0x32","description":"주술을 위해\n필요한 부적\n매수 ４매","effectSummary":"","referenceSummary":"봉인 해제용 부적 4장"}],"functions":[{"key":"battleConsumableUse","label":"전투 소모품 선택 -> actor effect","startVa":4257448,"endVa":4257500,"role":"선택된 소모품 슬롯 index로 0x4576ec id를 읽고 actor+0x59에 효과 index를 쓴다.","startVaHex":"0x0040f6a8","endVaHex":"0x0040f6dc","size":52,"evidenceSnippet":["  40f6b0:\t33 c0                \txor    eax,eax","  40f6b2:\ta0 43 e3 59 00       \tmov    al,ds:0x59e343","  40f6b7:\t8a 04 45 ec 76 45 00 \tmov    al,BYTE PTR [eax*2+0x4576ec]","  40f6be:\t8b 4d fc             \tmov    ecx,DWORD PTR [ebp-0x4]","  40f6c1:\t88 41 59             \tmov    BYTE PTR [ecx+0x59],al","  40f6c4:\t33 c0                \txor    eax,eax","  40f6c6:\ta0 47 e3 59 00       \tmov    al,ds:0x59e347"]},{"key":"shopConsumableClamp","label":"상점 소모품 구매 상한","startVa":4259135,"endVa":4259316,"role":"0x4576ec/ed 6칸을 검색하고 현재 수량+구매가능 수량을 10개로 clamp한다.","startVaHex":"0x0040fd3f","endVaHex":"0x0040fdf4","size":181,"evidenceSnippet":["  40fd72:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40fd75:\t33 c9                \txor    ecx,ecx","  40fd77:\t8a 0c 45 ec 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576ec]","  40fd7e:\t3b d1                \tcmp    edx,ecx","  40fd80:\t0f 85 14 00 00 00    \tjne    0x40fd9a","  40fd86:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40fd89:\t8a 04 45 ed 76 45 00 \tmov    al,BYTE PTR [eax*2+0x4576ed]","  40fd90:\ta2 39 e3 59 00       \tmov    ds:0x59e339,al","  40fd95:\te9 05 00 00 00       \tjmp    0x40fd9f","  40fdca:\t8a 0d 3b e3 59 00    \tmov    cl,BYTE PTR ds:0x59e33b","  40fdd0:\t03 c1                \tadd    eax,ecx","  40fdd2:\t83 f8 0a             \tcmp    eax,0xa","  40fdd5:\t0f 8e 14 00 00 00    \tjle    0x40fdef","  40fddb:\tb8 0a 00 00 00       \tmov    eax,0xa","  40fde0:\t33 c9                \txor    ecx,ecx","  40fde2:\t8a 0d 39 e3 59 00    \tmov    cl,BYTE PTR ds:0x59e339"]},{"key":"shopSingleClamp","label":"상점 단일 보유품 구매 상한","startVa":4259316,"endVa":4259432,"role":"보유 predicate 0x421d3d 결과를 기준으로 구매가능 수량을 1개로 clamp한다.","startVaHex":"0x0040fdf4","endVaHex":"0x0040fe68","size":116,"evidenceSnippet":["  40fdf6:\ta0 4a e3 59 00       \tmov    al,ds:0x59e34a","  40fdfb:\t8b 0d a8 e2 59 00    \tmov    ecx,DWORD PTR ds:0x59e2a8","  40fe01:\t8a 44 81 01          \tmov    al,BYTE PTR [ecx+eax*4+0x1]","  40fe05:\t50                   \tpush   eax","  40fe06:\te8 32 1f 01 00       \tcall   0x421d3d","  40fe0b:\t83 c4 04             \tadd    esp,0x4","  40fe0e:\ta2 39 e3 59 00       \tmov    ds:0x59e339,al","  40fe2c:\t2b d2                \tsub    edx,edx","  40fe2e:\tf7 f3                \tdiv    ebx","  40fe30:\ta2 3b e3 59 00       \tmov    ds:0x59e33b,al","  40fe35:\t33 c0                \txor    eax,eax","  40fe37:\ta0 39 e3 59 00       \tmov    al,ds:0x59e339","  40fe3c:\t33 c9                \txor    ecx,ecx","  40fe3e:\t8a 0d 3b e3 59 00    \tmov    cl,BYTE PTR ds:0x59e33b","  40fe44:\t03 c1                \tadd    eax,ecx","  40fe46:\t83 f8 01             \tcmp    eax,0x1","  40fe49:\t0f 8e 14 00 00 00    \tjle    0x40fe63","  40fe4f:\tb8 01 00 00 00       \tmov    eax,0x1","  40fe54:\t33 c9                \txor    ecx,ecx","  40fe56:\t8a 0d 39 e3 59 00    \tmov    cl,BYTE PTR ds:0x59e339","  40fe5c:\t2b c1                \tsub    eax,ecx","  40fe5e:\ta2 3b e3 59 00       \tmov    ds:0x59e33b,al","  40fe63:\te9 3f 00 00 00       \tjmp    0x40fea7"]},{"key":"itemSlotLookup","label":"아이템 슬롯 lookup","startVa":4332684,"endVa":4332861,"role":"item record+0x10 flag에 따라 6칸 소모품 또는 30칸 중요품 배열에서 id를 찾는다.","startVaHex":"0x00421c8c","endVaHex":"0x00421d3d","size":177,"evidenceSnippet":["  421c9a:\t8b 04 c5 7c b9 48 00 \tmov    eax,DWORD PTR [eax*8+0x48b97c]","  421ca1:\t33 c9                \txor    ecx,ecx","  421ca3:\t8a 48 10             \tmov    cl,BYTE PTR [eax+0x10]","  421ca6:\t85 c9                \ttest   ecx,ecx","  421ca8:\t0f 84 44 00 00 00    \tje     0x421cf2","  421cc7:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  421cca:\t33 c9                \txor    ecx,ecx","  421ccc:\t8a 0c 45 f8 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f8]","  421cd3:\t33 c0                \txor    eax,eax","  421cd5:\t8a 45 08             \tmov    al,BYTE PTR [ebp+0x8]","  421d0b:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  421d0e:\t33 c9                \txor    ecx,ecx","  421d10:\t8a 0c 45 ec 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576ec]","  421d17:\t33 c0                \txor    eax,eax","  421d19:\t8a 45 08             \tmov    al,BYTE PTR [ebp+0x8]"]},{"key":"itemAddWriter","label":"아이템 추가 writer","startVa":4333715,"endVa":4334155,"role":"flag 0이면 0x4576ec/ed 수량형 6칸 max 10, flag 1이면 0x4576f8/f9 단일형 30칸 max 1에 쓴다.","startVaHex":"0x00422093","endVaHex":"0x0042224b","size":440,"evidenceSnippet":["  4220c2:\te9 03 00 00 00       \tjmp    0x4220ca","  4220c7:\tff 45 f8             \tinc    DWORD PTR [ebp-0x8]","  4220ca:\t83 7d f8 1e          \tcmp    DWORD PTR [ebp-0x8],0x1e","  4220ce:\t0f 83 a3 00 00 00    \tjae    0x422177","  4220d4:\t8b 45 f8             \tmov    eax,DWORD PTR [ebp-0x8]","  4220d7:\t33 c9                \txor    ecx,ecx","  4220d9:\t8a 0c 45 f8 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f8]","  4220e0:\t85 c9                \ttest   ecx,ecx","  4220e2:\t0f 84 19 00 00 00    \tje     0x422101","  4220e8:\t8b 45 f8             \tmov    eax,DWORD PTR [ebp-0x8]","  4220eb:\t33 c9                \txor    ecx,ecx","  4220ed:\t8a 0c 45 f8 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f8]","  4220f4:\t33 c0                \txor    eax,eax","  4220f6:\t8a 45 08             \tmov    al,BYTE PTR [ebp+0x8]","  422101:\t8a 45 08             \tmov    al,BYTE PTR [ebp+0x8]","  422104:\t8b 4d f8             \tmov    ecx,DWORD PTR [ebp-0x8]","  422107:\t88 04 4d f8 76 45 00 \tmov    BYTE PTR [ecx*2+0x4576f8],al","  42210e:\t8b 45 f8             \tmov    eax,DWORD PTR [ebp-0x8]","  422111:\t33 c9                \txor    ecx,ecx","  422113:\t8a 0c 45 f9 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f9]","  42211a:\t33 c0                \txor    eax,eax","  42211c:\t8a 45 0c             \tmov    al,BYTE PTR [ebp+0xc]","  422142:\t8b 45 f8             \tmov    eax,DWORD PTR [ebp-0x8]","  422145:\t33 c9                \txor    ecx,ecx","  422147:\t8a 0c 45 f9 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f9]","  42214e:\t33 c0                \txor    eax,eax","  422150:\t8a 45 0c             \tmov    al,BYTE PTR [ebp+0xc]","  422153:\t03 c8                \tadd    ecx,eax"]},{"key":"itemPackSortHelper","label":"아이템 슬롯 pack/sort helper","startVa":4334155,"endVa":4334414,"role":"0x4576ec 또는 0x4576f8 pair 배열의 0 구멍을 뒤로 밀고 정렬/압축한다.","startVaHex":"0x0042224b","endVaHex":"0x0042234e","size":259,"evidenceSnippet":["  422281:\t85 c0                \ttest   eax,eax","  422283:\t0f 84 0c 00 00 00    \tje     0x422295","  422289:\tc7 45 fc 1e 00 00 00 \tmov    DWORD PTR [ebp-0x4],0x1e","  422290:\te9 07 00 00 00       \tjmp    0x42229c","  422295:\tc7 45 fc 06 00 00 00 \tmov    DWORD PTR [ebp-0x4],0x6","  42229c:\tc7 45 f0 01 00 00 00 \tmov    DWORD PTR [ebp-0x10],0x1","  4222a3:\te9 03 00 00 00       \tjmp    0x4222ab"]},{"key":"itemRemoveWriter","label":"아이템 제거/감소 writer","startVa":4335337,"endVa":4335769,"role":"flag에 따라 수량/value를 감소시키고 0이 되면 pair의 id도 0으로 지운다.","startVaHex":"0x004226e9","endVaHex":"0x00422899","size":432,"evidenceSnippet":["  42272a:\t8b 45 f4             \tmov    eax,DWORD PTR [ebp-0xc]","  42272d:\t33 c9                \txor    ecx,ecx","  42272f:\t8a 0c 45 f8 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f8]","  422736:\t33 c0                \txor    eax,eax","  422738:\t8a 45 08             \tmov    al,BYTE PTR [ebp+0x8]","  422743:\t8b 45 f4             \tmov    eax,DWORD PTR [ebp-0xc]","  422746:\t33 c9                \txor    ecx,ecx","  422748:\t8a 0c 45 f9 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f9]","  42274f:\t33 c0                \txor    eax,eax","  422751:\t8a 45 0c             \tmov    al,BYTE PTR [ebp+0xc]","  422756:\t0f 8d 14 00 00 00    \tjge    0x422770","  42275c:\t8b 45 f4             \tmov    eax,DWORD PTR [ebp-0xc]","  42275f:\tc6 04 45 f9 76 45 00 \tmov    BYTE PTR [eax*2+0x4576f9],0x0","  422766:\t00","  422767:\tc6 45 fc 01          \tmov    BYTE PTR [ebp-0x4],0x1","  422770:\t8b 45 f4             \tmov    eax,DWORD PTR [ebp-0xc]","  422773:\t33 c9                \txor    ecx,ecx","  422775:\t8a 0c 45 f9 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f9]","  42277c:\t33 c0                \txor    eax,eax","  42277e:\t8a 45 0c             \tmov    al,BYTE PTR [ebp+0xc]","  422781:\t2b c8                \tsub    ecx,eax","  422783:\t8b 45 f4             \tmov    eax,DWORD PTR [ebp-0xc]","  422786:\t88 0c 45 f9 76 45 00 \tmov    BYTE PTR [eax*2+0x4576f9],cl","  42278d:\tc6 45 fc 00          \tmov    BYTE PTR [ebp-0x4],0x0","  422791:\t8b 45 f4             \tmov    eax,DWORD PTR [ebp-0xc]","  422794:\t33 c9                \txor    ecx,ecx","  422796:\t8a 0c 45 f9 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f9]","  42279d:\t85 c9                \ttest   ecx,ecx"]},{"key":"uiConsumableStatus","label":"소모품 UI 상태 map","startVa":4263715,"endVa":4263876,"role":"0x4576ec/ed 6칸에서 없음/부족/있음 상태 0/2/1을 만든다.","startVaHex":"0x00410f23","endVaHex":"0x00410fc4","size":161,"evidenceSnippet":["  410f49:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  410f4c:\t33 c9                \txor    ecx,ecx","  410f4e:\t8a 0c 45 ec 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576ec]","  410f55:\t85 c9                \ttest   ecx,ecx","  410f57:\t0f 85 0f 00 00 00    \tjne    0x410f6c","  410f6c:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  410f6f:\t33 c9                \txor    ecx,ecx","  410f71:\t8a 0c 45 ed 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576ed]","  410f78:\t85 c9                \ttest   ecx,ecx","  410f7a:\t0f 85 0f 00 00 00    \tjne    0x410f8f"]},{"key":"uiImportantPageCount","label":"중요품 UI 페이지 수","startVa":4264040,"endVa":4264248,"role":"0x4576f8 nonzero id를 세어 6칸 페이지 단위로 계산한다.","startVaHex":"0x00411068","endVaHex":"0x00411138","size":208,"evidenceSnippet":["  411091:\t8b 45 f8             \tmov    eax,DWORD PTR [ebp-0x8]","  411094:\t33 c9                \txor    ecx,ecx","  411096:\t8a 0c 45 f8 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f8]","  41109d:\t85 c9                \ttest   ecx,ecx","  41109f:\t0f 84 03 00 00 00    \tje     0x4110a8"]},{"key":"uiImportantStatus","label":"중요품 UI 상태 map","startVa":4264248,"endVa":4264421,"role":"현재 중요품 page에서 0x4576f8/f9 pair를 읽어 없음/부족/있음 상태를 만든다.","startVaHex":"0x00411138","endVaHex":"0x004111e5","size":173,"evidenceSnippet":["  41116a:\t03 45 fc             \tadd    eax,DWORD PTR [ebp-0x4]","  41116d:\t33 c9                \txor    ecx,ecx","  41116f:\t8a 0c 45 f8 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f8]","  411176:\t85 c9                \ttest   ecx,ecx","  411178:\t0f 85 0f 00 00 00    \tjne    0x41118d","  41118d:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  411190:\t33 c9                \txor    ecx,ecx","  411192:\t8a 0c 45 f9 76 45 00 \tmov    cl,BYTE PTR [eax*2+0x4576f9]","  411199:\t85 c9                \ttest   ecx,ecx","  41119b:\t0f 85 0f 00 00 00    \tjne    0x4111b0"]}],"stateWriteSummary":[{"kind":"consumable-add","functionVaHex":"0x00422093","branch":"item flag 0","target":"0x4576ec/0x4576ed","limit":"current + amount <= 10"},{"kind":"important-add","functionVaHex":"0x00422093","branch":"item flag nonzero","target":"0x4576f8/0x4576f9","limit":"current + amount <= 1"},{"kind":"remove/decrement","functionVaHex":"0x004226e9","target":"same pair arrays by item flag","limit":"subtract amount; if value becomes 0, id is cleared"},{"kind":"battle-use","functionVaHex":"0x0040f6a8","target":"selected slot id -> actor+0x59 -> 0x546a38 dispatch","limit":"first six consumable ids/effects"},{"kind":"shop-limit","functionVaHex":"0x0040fd3f","target":"purchase count UI","limit":"consumable max 10, single/equipment max 1"}]}