Skip to content

Releases: ing-gom/sts2-potion-drop-chance

v0.5.1 — 맵을 가리는 모든 화면에서 배지 숨김

16 Jun 10:32

Choose a tag to compare

수정

포션 드롭 확률 배지가 맵 화면이 아닌 곳에서도 비쳐 보이던 문제를 수정했습니다.

기존에는 일시정지·설정 같은 모달/서브메뉴에서만 배지를 숨겼는데, 카드 보상 · 카드 목록 · 덱 보기 · 상점 · 이벤트 화면은 모달도 서브메뉴도 아니라 배지가 그 위로 비쳐 보였습니다.

이제 엔진의 ActiveScreenContext(현재 최상위 화면)를 기준으로 맵이 실제로 화면 맨 위에 있을 때만 배지를 표시합니다. 맵을 덮는 모든 화면에서 배지가 자동으로 사라집니다.

엔진 타입을 찾지 못하는 빌드에서는 기존 모달/서브메뉴 숨김 방식으로 자동 폴백하여 회귀를 방지합니다.

설치

Sts2PotionDropChance-v0.5.1.zip 의 압축을 풀어 게임 mods/ 폴더에 Sts2PotionDropChance/ 폴더째 넣으세요.

v0.5.0 — SmallerMap 등 맵 축소 모드 호환

10 May 06:38

Choose a tag to compare

SmallerMap (및 다른 맵 축소 형 모드) 호환

이전까지 SmallerMap 같은 맵 노드 축소 모드와 함께 쓰면 배지가 원래 크기 그대로 표시돼서 노드 옆에 비대하게 떠 있고, 위치도 어긋나 보이는 문제가 있었습니다.

변경사항

  • 아이콘 스케일 미러링NNormalMapPoint._iconContainer.Scale 을 읽어 배지 컨테이너에 동일하게 적용. 노드 아이콘이 줄면 배지도 비례해서 줄어듦.
  • 앵커 기준 변경 — 배지 위치를 부모 Control rect의 가장자리가 아닌 중심 + (노드 절반 너비 × 아이콘 스케일) + 갭 으로 계산. 아이콘이 작아져도 배지가 시각적 가장자리에 붙어 있음.
  • base scale 캡처_iconContainer.Scale_Process 에서 sin 함수로 매 프레임 진동하는데, 이 값을 그대로 읽으면 노드별로 위상이 달라 배지 사이즈가 다르게 보임. RefreshState postfix 에서 진동 전 base 값을 캡처해 사용.
  • mod-agnostic — SmallerMap 의 config 를 직접 reflect 하지 않음. native 게임 필드만 읽으므로 다른 사이즈 변경 모드에도 자동 호환.

알려진 사항

  • SmallerMap (v1.3.1) 매니페스트의 dependencies 가 게임 로더 schema 와 안 맞아 로드 실패할 수 있음. 그 경우 mods/smallerMap/SmallerMap.jsondependencies["BaseLib"] 로 수정 필요 (이건 SmallerMap 측 이슈).

v0.4.9 — 배지 위치 선택 가능 (Right / Left / Above / Below)

08 May 07:50

Choose a tag to compare

Feature release.

Changes

🆕 배지 위치 선택 옵션 (ModConfig)

  • ModConfig (Nexus #27)이 설치된 환경에서 게임 설정의 Mods → Potion Drop ChanceBadge position 드롭다운이 추가되었습니다.
  • 선택 가능 위치: Right (기본값) / Left / Above / Below — 노드 기준 오른쪽, 왼쪽, 위, 아래.
  • 변경은 즉시 반영됩니다. 게임 재시작 불필요.
  • 기존에 만들어진 배지도 옵션 변경 시 anchor/offset 이 자동으로 재적용되어 새 위치로 이동합니다.

기타

  • MapBadgeService.ApplyPosition 으로 anchor/offset/grow direction 일원화 — 컨테이너 신규 생성 시 + 옵션 변경에 따른 갱신 시 모두 같은 경로 사용.
  • ModConfig 영구 저장 값 (hideUnknown + badgePosition) 을 GetValue<T> 로 모드 시작 시 동기화 — 사용자 선택이 게임 재시작 후에도 유지.

Adds a "Badge position" dropdown (Right / Left / Above / Below) to the optional ModConfig integration. The badge can now sit on any of the four sides of each map node, and the selection applies immediately to existing badges.

Installation

  1. Download `Sts2PotionDropChance-v0.4.9.zip` below.
  2. Extract `Sts2PotionDropChance/` into `<Slay the Spire 2 install>/mods/` (overwrites the v0.4.8 files).
  3. (Optional) install ModConfig to access the in-game settings.
  4. Launch the game.

For the full feature list, see the README (한국어).

v0.4.8 — ModConfig 지원 + 정지/옵션 메뉴에서 배지 자동 숨김

08 May 07:41

Choose a tag to compare

Feature release.

Changes

🆕 선택적 ModConfig 지원

  • ModConfig (Nexus #27)이 설치되어 있으면 게임 설정의 Mods 탭에 Hide on ? (Unknown) nodes 토글이 노출됩니다.
  • ModConfig 미설치 환경에서도 모드는 정상 작동합니다 (토글 UI 만 숨김 — 의존성 강제 없음).
  • 토글 변경은 즉시 반영됩니다. 게임 재시작 불필요.
  • 구현: ModConfig.ModConfigApi.Register 를 reflection 으로 호출하는 soft dependency 패턴. ModConfig 어셈블리가 로드되어 있을 때만 동작.

🛡️ 정지/옵션 메뉴에서 배지 자동 숨김

  • 정지(pause) 메뉴, 옵션(settings) 메뉴, 통계, 런 히스토리, 모딩 메뉴, 타임라인, 카드/유물 보기 등 인게임 서브메뉴가 떠있는 동안 배지가 자동으로 사라집니다. 닫으면 다시 표시됩니다.
  • 모든 modal popup (Settings 확인 다이얼로그 등) 도 함께 처리.
  • 구현: STS2 의 NSubmenu 베이스 클래스를 detect 하는 generic 검사 + NModalContainer.OpenModal 검사. SceneTree.Root 에 watcher 노드 1 개를 두어 매 frame 상태를 폴링하고 상태 변경 엣지 에서만 컨테이너 visibility 를 토글.
  • NMapScreen 자체는 NSubmenu 가 아닌 Control 직접 상속이라 자기 자신을 잘못 hide 하지 않습니다.

기타

  • 배지 ZIndex 100 → 1 로 하향 (방어적 레이어 조정).
  • modal 이 닫힐 때 일괄 Visible=true 대신 각 NMapPoint 의 EnsureBadgeUpdated 를 재호출하여 per-node 결정 (Unknown 토글, Travelable 상태 등) 이 보존되도록 수정.

Optional ModConfig support: when ModConfig is installed, a Hide on ? (Unknown) nodes toggle appears in the in-game Mods tab and applies immediately. Mod runs unchanged without ModConfig.

Badges now hide whenever any in-game submenu (Pause, Settings, Stats, Modding, RunHistory, Timeline, etc.) or modal popup is open. Generic detection on the NSubmenu base class — covers every STS2 submenu screen.

Installation

  1. Download `Sts2PotionDropChance-v0.4.8.zip` below.
  2. Extract `Sts2PotionDropChance/` into `<Slay the Spire 2 install>/mods/` (overwrites the v0.4.2 files).
  3. (Optional) install ModConfig to expose the in-game settings toggle.
  4. Launch the game.

For the full feature list, see the README (한국어).

v0.4.2 — Hide badges immediately on path selection

08 May 05:14

Choose a tag to compare

Patch release.

Change

  • 맵에서 경로(노드)를 선택하면 화면 전환을 기다리지 않고 다른 노드들의 포션 확률 배지가 즉시 사라집니다. 기존에는 트래블 애니메이션이 끝날 때까지 다른 경로의 배지가 남아 있었습니다.
  • 구현: NMapPoint.OnRelease Postfix에서 NMapScreen.IsTraveling 이 true 가 되는 순간 화면 전체의 Sts2PotionDropChance_Badge 컨테이너를 모두 숨김.
  • 멀티플레이 안전 — 투표가 진행 중일 때는 IsTraveling 이 false 이므로 합의가 끝나 실제로 트래블이 시작되어야 배지가 사라집니다.

The other-path potion badges now disappear the instant you commit to a path, instead of lingering until the travel animation finishes. Multiplayer-safe — vote-pending state keeps IsTraveling false, so badges only hide when travel actually starts.

Installation

  1. Download `Sts2PotionDropChance-v0.4.2.zip` below.
  2. Extract `Sts2PotionDropChance/` into `<Slay the Spire 2 install>/mods/` (overwrites the v0.4.1 files).
  3. Launch the game.

For the full feature list, see v0.4.0 release notes or the README (한국어).

v0.4.1 — author identifier

08 May 04:34

Choose a tag to compare

Patch release.

Change

  • Manifest `author` field updated from `kl95` → `inggom` to match the public identity used in LICENSE / GitHub / Nexus listings. No functional changes.

Installation

  1. Download `Sts2PotionDropChance-v0.4.1.zip` below.
  2. Extract `Sts2PotionDropChance/` into `<Slay the Spire 2 install>/mods/` (overwrites the v0.4.0 files).
  3. Launch the game.

For the full feature list, see v0.4.0 release notes or the README (한국어).

v0.4.0 — Potion icon + dual badges for Unknown nodes

08 May 04:26

Choose a tag to compare

First public release.

What it does

Show the potion drop probability for each travelable Monster / Elite / Unknown (?) node directly on the map screen — as a colored badge on the node icon.

  • Pity-aware — same math as the game's PotionRewardOdds.Roll(): base 40%, ±10% per drop / miss
  • Elite bonus folded in — Elite shows pity + 12.5%
  • Relic-aware — White Beast Statue → 100%, Sozu → 0%
  • Unknown (?) nodes show two stacked badges: one for the Monster outcome and one for the Elite outcome, each with its respective type icon
  • Travelable nodes only — badges only on nodes you can advance to next
  • Local + read-only — no game state mutation, no network sync, manifest declares affects_gameplay: false

Visual

Every badge: [potion icon] [%], color-scaled (red → orange → yellow → lime → teal). Anchored to the right-center of the node, 10px gap.

Installation

  1. Download Sts2PotionDropChance-v0.4.0.zip below.
  2. Extract Sts2PotionDropChance/ into <Slay the Spire 2 install>/mods/.
  3. Launch the game.

You should end up with:

<Slay the Spire 2>/mods/Sts2PotionDropChance/Sts2PotionDropChance.dll
<Slay the Spire 2>/mods/Sts2PotionDropChance/Sts2PotionDropChance.json

Configuration

Set STS2_POTION_DROP_CHANCE_DISABLED=1 before launching the game to suppress all badges without uninstalling.

Notes

  • Boss nodes are intentionally not annotated — fixed path, badge wouldn't change your decision.
  • Unknown displays both Monster + Elite hypotheses. The actual game internally has Elite disabled for Unknowns (UnknownMapPointOdds Elite=-1) but both are shown for completeness.
  • The mod never patches PotionRewardOdds.Roll() itself — only reads inputs. If MegaCrit changes the formula in a future patch, this mod's display may need a source update.

See README (한국어) for full details.