[리버싱 일기/리메이크] 랑그릿사 2 PC판 마법 메커니즘 분석 (데미지 및 지형 파괴)

필자가 직접 기드라(Ghidra)를 통해 랑그릿사 2 PC판의 바이너리를 헤쳐나가며 정리한 두 번째 리메이크 원고입니다. 이번 편은 게임의 핵심인 마법 데미지 산출 공식지형 파괴 로직을 중심으로 다룹니다.


[리버싱 일기/리메이크] 랑그릿사 2 PC판 마법 메커니즘 분석 (데미지 및 지형 파괴)

랑그릿사 2의 마법 시스템은 겉보기보다 단순하면서도, 포팅 과정에서 발생한 것으로 보이는 기묘한 수치 불균형이 존재합니다. 오프셋 0041012c0040ffd3를 중심으로 그 내부를 들여다보았습니다.

1. 마법 적용 전처리: 마법 방어력(MDF)의 확정

데미지를 계산하기 전, 유닛의 최종 마방을 결정하는 전처리 단계가 선행됩니다.

  • 레지스트(Resist) 체크: 마법 플래그가 활성화되어 있으면 MDF 기본값을 50으로, 없으면 0으로 설정합니다.

  • 지휘관: 착용 아이템의 마방 효과 합계를 구하여 기본값에 더합니다. (슬롯 제한을 무시한 강제 착용 시에도 로직은 작동합니다.)

  • 부대원: 클래스별 고정 MDF에 아뮬렛 착용 여부(+15)를 더합니다.

  • 디클레인(Decline): 해당 마법이 걸려 있다면 MDF에서 15를 감산합니다.

  • 고정(Clamping): 최종 수치가 99를 넘어가면 100으로 고정하여 마법 면역 상태를 만듭니다.

2. 공격 마법의 데미지 공식 (MLv와 SP)

랑그릿사 2의 데미지 공식에는 시전자의 레벨을 2로 나눈 **MLv(Lv >> 1)**와 클래스 티어에 따른 **SP(Spell Power)**가 핵심 변수로 사용됩니다.

주요 마법별 기본 데미지(Damage) 산출

마법명공식 (기초 데미지)특이 사항
매직 에로우SP + (MLv * 2)가장 기본적인 단일 공격
파이어볼MLv + SP마법의 표준 수치
블라스트18 + MLv + SP고위력 단일 마법
메테오6 + MLv + SP범위 마법의 표준
썬더1 + MLv + SP수중 타일 대상 시 보너스 데미지 +1
토네이도(MLv + SP) * 2비병 대상 시 방어 무시 데미지 +1 (버그성 강력함)

분석 결과, 토네이도, 블리자드, 어스퀘이크는 모두 파이어볼의 2배 공식을 공유하는 동일 코드로 확인되었습니다. 특히 토네이도는 배우기 어려운 대신 비병 특효까지 겹쳐 유닛 중심 마법 중 가장 파괴적인 위력을 발휘합니다.

3. 지형 파괴 로직: 메테오와 어스퀘이크

마법 번호(메테오: 0x4, 어스퀘이크: 0x8)를 비교하여 지형 변조 함수를 호출합니다.

  • 메테오 (오프셋 00411cee): 마법 시전 좌표의 지형 속성이 '파괴 금지(0xff)'가 아닐 경우, 지형 1(스프라이트)과 지형 2(원본 데이터)를 교체하여 지형 붕괴를 표현합니다.

  • 어스퀘이크: 맵 전체를 스캔하여 범위 내 지형의 1/4 갯수만큼 랜덤하게 파괴합니다. 동일 장소가 중복 선택될 수 있는 구조라, 실제 파괴 효율은 기대값보다 낮게 나타납니다.

4. 힐(Heal) 마법의 메커니즘

힐은 공격 마법보다 단순하게 작동하지만, 경험치 획득 방식에서 특징이 보입니다.

  • 힐 1: (10 - 현재 HP)로 회복량을 구하며, 최대 3까지만 회복 가능하도록 하한선(Bound)이 설정되어 있습니다. (힐 2는 이 제한이 없습니다.)

  • 경험치: 회복량과 상관없이 함수 호출 시마다 전역 변수를 조작하여 경험치를 1씩 증가시킵니다. 즉, 적은 양을 자주 채우는 것이 레벨업에 유리한 구조입니다.

5. 리버싱의 핵심: 랜덤 함수(RNG)의 발견

분석 중 0x41C64E6D와 같은 거대한 상수를 사용하는 루틴을 발견했습니다. 이는 전형적인 선형 합동 생성기(LCG) 방식의 랜덤 함수입니다. 유저의 조작이 개입하지 않는 '확률의 영역'을 추적하기 위해서는 이 RNG 호출지를 쫓는 것이 향후 리버싱의 핵심 이정표가 될 것입니다.

댓글

가장 많이 본 글