대항해시대 2 백과 (DOS 한글판)

| 규칙 목록 | 원문 Markdown |

도구: 분류, 사용 효과, 측량, 항해 용품, 보물 지도

도구 100개의 표와 "사용" 명령의 처리 코드를 정리했습니다. 표시 방법은 index.md를 따릅니다.
상륙해서 보물을 파내는 규칙은 landing.md, 무기·갑옷 수치가 쓰이는 결투 공식은 combat.md에 있습니다.

1. 도구 기록

확인됨[직접] (DATA1.LZW 15번 엔트리 = 세이브 슬롯 0x7514부터 26바이트 × 100, 기록 그룹 11)

오프셋크기내용
+0x0021이름(CP949, NUL로 끝남)
+0x151그림 번호(KAO.LZW 128 + 85 + n)
+0x162가격 ÷ 100
+0x181성능(무기 공격력, 갑옷 방어력, 측량기 눈금 등). 보물 지도는 새 게임 때 이 값이 숨긴 발견물 번호로 바뀜
+0x191하위 4비트 = 분류

설명은 ITEM.MES에 124바이트씩 있습니다(data-formats.md). 영문판 기록은 22바이트이고 성능이 +0x14, 분류가 +0x15입니다(확인됨[직접]: 아래 보물 숨기기 루틴이 영문판은 +0x14·간격 0x16, 한글판은 +0x18·간격 0x1A를 씀).

분류(+0x19 & 0x0F): 0 검, 1 스트레이트 소드, 2 커브 소드, 3 헤비 소드, 4 방패, 5 방어 무기, 6 갑옷, 7 측량기, 8 항해 용품, 9 소모품, 10 장신구, 11 보물, 12 지도, 13 국보급 보물.

한글판 도구 표 (발췌)

확인됨[직접] (기록을 직접 읽음; 가격은 원래 단위)

번호이름분류성능가격
0~2단도 / 숏 소드 / 롱 소드05 / 10 / 20500 / 1,000 / 4,000
3~5레이피어 / 에페 / 에스톡115 / 10 / 203,000 / 2,000 / 6,000
6~8숏 사브르 / 시미타 / 일본도210 / 20 / 253,000 / 8,000 / 20,000
9~11커트라스 / 브로드 소드 / 청룡언월도310 / 20 / 301,500 / 5,000 / 24,000
12, 13, 14, 15프람베르그 / 바스터드 소드 / 클레이모어 / 사브르1 / 0 / 3 / 225 / 25 / 25 / 1514,000 / 14,000 / 15,000 / 3,000
16~19하드 레더 / 체인 메일 / 하프 플레이트 / 플레이트 메일610 / 20 / 30 / 401,000 / 2,000 / 4,000 / 8,000
20~22사분의 / 육분의 / 경위의75 / 2 / 14,000 / 8,000 / 12,000
23~25회중시계 / 망원경 / 고양이812,000 / 5,000 / 2,000
26백호반월도32518,000
27, 28망원경(두 번째) / 공백805,000
29~34사략허가서 (P)(S)(O)(E)(I)(H)800
35~40면세증 (P)(S)(O)(E)(I)(H)8010,000
41~43쥐약 / 성스런 향유 / 라임 주스91500 / 1,000 / 1,000
44왕관101300,000
45~49성스런 향유(두 번째) / 속죄상 / 면죄부 / 공백 / 공백91 / 0 / 0 / 0 / 01,000
50~58비단 숄 ~ 벨벳 가운(장신구)102~121,000~12,000
59~69다이아몬드 왕관 ~ 루비 반지(보물)113~1003,000~100,000
73~78요도촌정 / 룬 블레이드 / 성기사의 갑옷 / 성기사의 검 / 시바신의 마검 / 에롤즈플레이트2 / 0 / 6 / 1 / 2 / 640 / 40 / 70 / 40 / 30 / 55280,000~600,000
80~89가면의 지도 ~ 성자의 지팡이의 지도, 낡은 지도1200
90~99순금 가면 ~ 최후의 보물(국보급 보물)1300

사략허가서 괄호는 나라(P 포르투갈, S 에스파냐, O 오스만, E 잉글랜드, I 이탈리아, H 네덜란드)입니다. 사략허가서와 면세증의 효과는 trade.md·relations.md에 있습니다.

2. "사용" 명령의 분기

확인됨[직접] (KO 0x2E79A, 영문판 EN 0x2F8C4와 명령어 차이 0)

분류 = 도구[+0x19] & 0x0F
 7 측량기   → KO 0x2E644
 8 항해 용품 → KO 0x2E4AE
 9 소모품   → KO 0x2E5A7
12 지도     → KO 0x2E792 (지도 보기)
그 밖      → KO 0x2E3CB: "무기는, / 방패는, / 갑옷은, / 이 아이템은, " + "이 곳에서는 사용할 수 없습니다." (공통 대사 1093~1098)

바다에서 도구 메뉴는 장비와 사용만 있어서 버릴 수는 없습니다(확인됨[대조]).

3. 측량기: 위도·경도 재기

확인됨[직접] (KO 0x2E644)

  • 항구 안에서 쓰면 "경도·위도의 계측은 배 위에서 해 주세요."(공통 대사 756)만 나옵니다.
  • 바다에서는 주인공의 기술 바이트(+0x30) 비트 0x10(측량술)을 봅니다. 없으면 "측량술을 가지고 있는 동료를 선택해 주세요."(757)로 동료를 고르게 하고, 고르지 않으면 주인공이 직접 잽니다(758 "할 수 없군요. 잘은 모르지만 내가 측량해 보겠어요.").

확인됨[대조] (영문판과 명령어 4개만 다름, 상수 같음):

  • 값은 도구 성능 바이트(+0x18) 단위로 내림합니다. 사분의 5°, 육분의 2°, 경위의 1°(성능 값은 위 표에서 확인됨[직접]). 그래서 정확한 도(°)는 경위의만 보여 줍니다.
  • 측량술이 있는 사람이 없으면 위도·경도 둘 다에 random(100) + 1이 더해집니다.
  • 측량기는 써도 없어지지 않습니다.

4. 항해 용품

출항할 때만 읽는 망원경·고양이

확인됨[직접] (KO 0x0D7E5~0x0D80C)

출항할 때 소지품 20칸(DS:0x2D93)을 훑어 도구 0x18(망원경)이 있으면 DS:0xC158 비트 0x80, 0x19(고양이)가 있으면 비트 0x40을 켭니다. 이 바이트는 출항 때만 다시 계산됩니다.
두 번째 망원경(27번, 0x1B)은 이 검사에 걸리지 않으므로 효과가 없습니다.

  • 망원경 비트: 망대 시야가 넓어집니다(navigation.md의 발견 거리). 확인됨[대조]
  • 고양이 비트: 쥐가 생기지 않습니다(항해 30일 뒤 random(floor(항해 레벨/5)+2) = 0이고 random(105) > 운이면 쥐 발생, 배마다 하루 식량 1통 손실). 확인됨[대조]

"사용"했을 때

확인됨[직접] (KO 0x2E4AE의 도구 번호 분기표)

도구 번호처리결과
0x17 회중시계KO 0x2E430지금 시각 표시
0x18 망원경, 0x1A, 0x1B 망원경(두 번째), 0x1C 공백KO 0x2E47C"멀리 보인다"는 한 줄만 나옴. 효과 없음
0x19 고양이KO 0x2E495고양이 울음 한 줄만 나옴. 효과 없음

0x1A(26번)는 한글판에서 백호반월도(분류 3)라 실제로는 이 분기에 오지 않습니다.

회중시계 표시(확인됨[대조]): 시 = floor(틱/3) mod 12(0은 12로), 분 = (틱 mod 3) × 30. 한 틱은 20분인데 분을 30씩 세므로 :00, :30, :60만 나옵니다(예: 8시 40분이 "8:60"). 오전/오후는 틱 24 미만일 때만 오전이라, 8:00~11:40 오전도 오후로 표시됩니다.

5. 소모품

확인됨[대조] (KO 0x2E5A7, 영문판 EN 0x2F6C2와 명령어 차이 0)

도구효과
41 쥐약쥐를 없앰
42 성스런 향유폭풍 중이면 폭풍을 끝냄
43 라임 주스괴혈병을 고침
45 성스런 향유(두 번째), 46 속죄상, 47 면죄부, 48~49 공백처리기 없음(아무 효과 없음)

소모품은 효과가 있었든 없었든 쓰면 없어집니다. 쥐와 괴혈병은 항구에 들어가면 저절로 낫습니다(navigation.md).

6. 보물 지도

새 게임 때 보물 숨기기

KO 0x1B577(영문판 EN 0x1B9A2와 명령어 차이 0, 상수 차이는 도구 기록 크기 22→26과 필드 위치뿐). 1번은 확인됨[대조], 2번은 확인됨[직접](KO 0x1B5C2~0x1B605를 직접 읽음)입니다.

  1. 발견물 98곳 전부에 "이번 게임에 쓰지 않음" 비트 0x80을 켠 뒤, random(98)로 서로 다른 50곳을 골라 비트를 끕니다. 그래서 한 게임에 발견물은 50곳뿐입니다.
  2. 보물 k = 0~9마다, 아직 0x80이 켜져 있고 내용이 보통(90 미만)인 기록 하나를 무작위로 골라 내용을 도구 90 + k로 바꾸고, 지도 도구 80 + k의 성능 바이트(한글판 +0x18)에 그 발견물 번호를 적습니다.

따라서 보물은 "고르지 않은 48곳" 중에 숨고, 그 마을 아이콘에 상륙하면 마을 메뉴가 아니라 빈 땅 메뉴가 나옵니다(landing.md).

지도 보기

확인됨[대조] (KO 0x22AEF, 영문판 EN 0x2308C와 명령어 3개만 다름)

  • 지도는 써도 없어지지 않습니다. 낡은 지도(89)도 같은 처리입니다.
  • 48 × 48칸 범위를 보여 주며, 중심이 아니라 24칸 격자에 맞춥니다.
    `text
    cx = floor(X / 24), X mod 24 < 12 이면 1을 뺌 (세계는 가로로 이어짐)
    cy = floor(Y / 24), Y mod 24 < 12 이고 cy > 0 이면 1을 뺌
    시작점 = (24 × cx, 24 × cy)
    `
  • 범위 안의 모든 발견물 자리(마을 아이콘 타일 0x7C~0x7F)가 X로 그려집니다. 지도의 보물이 아닌 곳도 X로 나옵니다. 항구는 땅으로 바뀌어 보이지 않습니다.
  • 보물을 파내는 법은 landing.md의 "빈 땅 탐색"을 보세요.

확인하지 못한 것

  • 공백 도구(28, 48, 49)와 예비(79)를 게임이 어디서 주는지.
  • 망원경이 시야를 몇 칸 늘리는지 한글판에서 직접 읽지 않았습니다(navigation.md의 표시를 따름).
  • 장신구(50~58)의 효과는 주점 아가씨에게 주는 선물이라는 영문판 연구가 있으나 한글판에서 확인하지 않았습니다(외부자료).

| 규칙 목록 | 원문 Markdown |