계산이 작동하는 방식
카운터는 매 박자마다 1씩 올라갑니다. 10에 도달하면 패시브가 피해 하나를 발행하고 카운터를 초기화하므로, 중독은 10초마다 한 번 틱합니다. 피해는 유닛의 최대 생명력 x 중독 스택 수 x 0.01이며, 피해 유형이 없는 고정 값입니다.
작동 시점: 패시브는 효과가 유닛에 있는 동안 게임의 논리 갱신 박자(일반 속도에서 초당 한 번)를 구독합니다.
적용 대상: 효과를 가진 유닛. 이 피해에는 피해 유형이 없으므로 물리 저항력도 마법 저항력도 적용되지 않습니다.
툴팁이 알려주지 않는 것들
- 1퍼센트는 메서드의 상수이며 스택 수와 곱해집니다. 행의 FloatValues (1)은 읽지 않으므로, 툴팁의 숫자는 우연히만 코드와 맞습니다.
- 출시된 영문 툴팁은 매초 마법 피해라고 말합니다. 코드와 한국어 설계 노트는 10초마다 속성 없는 피해라고 말합니다.
- 중첩: 일반 효과 적용기는 이미 중독이 있는 유닛에 행의 MaxStack(100)까지 새 스택을 더하며, 중독을 따로 처리하지 않습니다. 따라서 설계 노트의 '중첩 불가'는 코드와 맞지 않습니다. 스택마다 최대 생명력의 1%를 공격에 더합니다.
- 이 빌드에서는 어떤 스킬 행, 특성, 코드 경로도 중독을 적용하지 않습니다. AFFECTER_Poison 리터럴은 면역 확인과 액체 괴물 패시브에서만 불러옵니다.
- 빌드 25846389 이후에는 효과가 새 맵으로 이어질 때 10초 카운터가 초기화되지 않으므로, 다음 피해도 기존 타이밍을 유지합니다. 새로 건 중독은 0에서 시작합니다. 플래그는 PassiveAction.IsTransferAttach (+0x51)이며 이 빌드에서 새로 생겼습니다. 이름과 v0.4.29 패치 노트('진행 상태와 내부 타이머 ... 정착지와 던전 사이에서 이동할 때 초기화되지 않음')를 보면 맵 이동으로 다시 연결될 때 설정됩니다. 설정 함수를 직접 호출한 곳은 찾지 못했습니다(쓰기가 인라인되어 있음). 따라서 정확히 언제 설정되는지는 추적하지 못했습니다.
빌드 25846389의 게임 바이너리에서 읽어온 값입니다. AFFECTER_Poison.Passive_Poison.OnEnable@0x96BBB4, AFFECTER_Poison.Passive_Poison.Damage@0x96BDB4, AFFECTER_Poison.Passive_Poison.<DamageRoutine>d__5.MoveNext@0x96BF04, Refactor.Tick.DataApply.AffecterApplier.Apply@0xAB0634
피해 계산 방법
중독는 대상 최대 생명력의 무속성%, 중첩당 1초마다에 해당하는 10 피해를 줍니다. 무속성이므로 어떤 저항도 이를 줄이지 못합니다. 최대 100 중첩까지 쌓이며, 그 양은 시전자의 공격력이 아니라 대상의 최대 생명력에 따릅니다. 지속 시간은 이를 적용하는 스킬이 정합니다.
| 타격당 피해 | 대상 최대 생명력의 1% |
| 피해 유형 | 무속성, 저항 미적용 |
| 중첩 | 최대 100 중첩 |
| 조정되는 것: | 대상 최대 생명력 (시전자의 공격력이 아님) |
| 틱 간격 | 10초 |
| 지속시간 | 적용하는 스킬에 의해 설정됨 |
효과
스택당 대상 최대 생명력의 1%만큼 속성 없는 피해를 10초마다 줍니다. 저항력으로 줄지 않습니다. 최대 100 스택까지 쌓이며, 시전자의 공격력이 아니라 대상의 최대 생명력에 비례합니다. 예: 최대 생명력 500인 대상에게 1 스택 = 5초마다 10 피해. 지속 시간은 적용하는 스킬이 정합니다.
원시 값: 1
속성
| 최대 스택 | 최대 100회 중첩 |
| 극성 | 부정 |
| 지속시간 있음 | 예 |
| 절대 (제거 불가) | 아니오 |
| 플레이어에게 노출 | 예 |
| 건물 부착 가능 | 아니오 |
참조자
이벤트 선택: 폐기된 마력장치 ChoiceF28100
얻은 출처
적용 방식: 게임 시스템에 의해 자동으로 적용됩니다.