promotional bannermobile promotional banner

Auto Mount Gear

Auto Mount Gear 탑승 상태에 따라 자동으로 장비를 교체하는 애드온입니다.

File Details

AutoMountGear 2.3.7.zip

  • R
  • Apr 19, 2026
  • 3.72 MB
  • 277
  • 2.5.5
  • Classic TBC

File Name

AutoMountGear 2.3.7.zip

Supported Versions

  • 2.5.5
# CHANGELOG

## 2.3.7
- Code-review cleanup pass. No user-visible UI/behavior changes other than the `mounted.hands`/`mounted.feet` auto-fill removal (#3 below), which aligns those slots with `mounted.trinket1`'s "user-must-check-it-explicitly" policy from 2.3.1.
  1. Fixed indentation in `handleMountChange` (the `if equipSelectedItems("mounted")` block was indented one extra level).
  2. Removed dead code in `equipTrinketSwap` step 3 (`sameItemId ~= targetItemId` could never be true because `sameItemId` was already reassigned to `targetItemId` earlier in the same function).
  3. Removed all auto-fill paths for `mounted.hands` / `mounted.feet` (currently-equipped speed item auto-pick and single-candidate auto-pick). Just like `mounted.trinket1` since 2.3.1, these slots are now set only when the user explicitly checks an item in the options panel. Prevents the options panel from silently writing settings the user never asked for.
  4. `ITEM_DATA_LOAD_RESULT` cache invalidation now also clears any `speedCache` entries keyed by item *link* that reference the same itemId (previously only the itemId-keyed entry was cleared, leaving link-keyed entries stale until the next BAG_UPDATE).
  5. Consolidated the duplicate `addonStatusText:SetText`/`SetTextColor` blocks in `refreshOptions` into a single code path.
- 코드 리뷰 정리 패치. 사용자에게 보이는 UI/동작 변화는 (#3 의 mounted 손/발 자동 채움 제거) 한 가지뿐이며, 이는 2.3.1 부터 적용된 mounted.trinket1 의 "사용자가 직접 체크해야만 set" 정책을 손/발 슬롯에도 동일하게 확장한 것.
  1. `handleMountChange` 의 들여쓰기 어긋남 수정 (`if equipSelectedItems("mounted")` 블록이 한 단계 더 들어가 있던 미관 이슈).
  2. `equipTrinketSwap` 의 사실상 동작 안 하는 단계 3 코드 제거 (`sameItemId` 가 이미 `targetItemId` 로 재대입돼 있어 `sameItemId ~= targetItemId` 가 항상 false 였음).
  3. `mounted.hands` / `mounted.feet` 의 자동 채움(현재 장착 속도 아이템 자동 선택, 후보 1개일 때 자동 선택)을 모두 제거. 2.3.1 의 mounted.trinket1 정책과 동일하게 **사용자가 옵션 창에서 직접 체크할 때만** set 되도록 통일. 옵션 창을 한 번 여는 것만으로 의도하지 않은 슬롯이 SavedVariables 에 영구 기록돼 자동 swap 시 장착되던 잠재 이슈 제거. `mounted.handsCleared` / `mounted.feetCleared` 플래그는 향후 자동 채움 추가에 대비해 유지.
  4. `ITEM_DATA_LOAD_RESULT` 의 캐시 무효화가 itemId 키만 정리하던 것을, 동일 itemId 를 참조하는 link 키 캐시까지 함께 정리하도록 보강 (`speedCache` 가 link 우선 키이므로, link 기반 항목이 stale 상태로 남는 누수 방지).
  5. `refreshOptions` 의 `addonStatusText` warn 분기에서 `SetText`/`SetTextColor` 를 두 군데서 중복 호출하던 부분을 단일 경로로 정리.

## 2.3.6
- When a hands/feet-overriding trinket (Riding Crop) is selected, only the *Mounted* hands/feet lists are hidden now. The *Unmounted* hands/feet lists remain visible since they are unrelated to mount-speed gear and the user may still want to configure them.
- 말채찍 등 손/발 무력화 트링킷이 체크되었을 때, 이전에는 비탑승 손/발 리스트도 함께 숨겼지만 이제는 **탑승중 손/발만** 숨김. 비탑승 손/발은 마운트 속도와 무관하므로 항상 노출되어 사용자가 자유롭게 설정 가능.

## 2.3.5
- Hands/feet auto-swap-skip and UI hide is now driven by a separate `OVERRIDES_HANDS_FEET_TRINKET_IDS` whitelist instead of "any mount-speed trinket selected". Only trinkets that genuinely outclass hands/feet enchants (currently Riding Crop +10%) hide the lists. Carrot on a Stick (+3%) is weaker than the boots Riding Skill enchant (+5%), so checking it no longer hides hands/feet.
- 손/발 자동 교체 skip 및 UI 숨김 판정을 단순 "마운트 속도 트링킷 선택 여부" 가 아니라, **부츠/장갑 인챈트보다 강한** 트링킷 ID 화이트리스트(`OVERRIDES_HANDS_FEET_TRINKET_IDS`) 기반으로 변경. 현재는 말채찍(+10%) 만 등록. 당근달린지팡이(+3%) 는 부츠 Riding Skill 인챈트(+5%) 보다 약하므로 체크해도 손/발 리스트가 그대로 노출되고 자동 교체도 정상 동작한다.

## 2.3.4
- Fixed Carrot on a Stick (and other whitelisted mount-speed trinkets) being silently dropped from the mounted-trinket list when the player has a large bag inventory. `collectSelectableItems` now honors `KNOWN_SPEED_ITEM_IDS` *before* the per-refresh tooltip scan budget, so whitelisted items are always classified as speed items regardless of how many other items precede them in the bags. Also raised the tooltip-scan budget from 40 to 80 per refresh for general items.
- 가방이 큰 캐릭터에서 당근달린지팡이 등 화이트리스트 트링킷이 mounted 트링킷 리스트에서 누락되던 문제 수정. `collectSelectableItems` 가 한 번의 새로고침에서 isSpeedItem 툴팁 스캔을 40개로 제한하는데, 가방 0번 → 가방 2번 사이에 갑옷 등으로 한도가 소진되면 가방 2번의 당근지팡이는 캐시 미스(false 폴백)로 떨어졌다. 이제 화이트리스트 ItemID(`KNOWN_SPEED_ITEM_IDS`)는 한도 검사 이전에 즉시 true 로 확정 처리해 어떤 위치에 있어도 누락되지 않는다. 추가로 일반 아이템 한도도 40 → 80 으로 확대.

## 2.3.3
- Added `/amg listtrinkets` debug command that dumps every trinket found in the player's equipped slots (13/14) and bags, showing ItemID / name / equipLoc / isSpeed verdict / whitelist membership in one shot. This makes it trivial to diagnose why a trinket is missing from the mounted-trinket list.
- 디버그 명령 `/amg listtrinkets` 추가. 장착(13/14) + 가방 전체에서 트링킷을 찾아 ItemID·이름·equipLoc·isSpeed 판정·화이트리스트 여부를 한 번에 출력. mounted 트링킷 리스트에서 누락된 아이템의 원인을 즉시 진단 가능.

## 2.3.2
- Added a `KNOWN_SPEED_ITEM_IDS` whitelist (Carrot on a Stick 11122, Riding Crop 25653) so well-known mount-speed trinkets are classified deterministically regardless of localized tooltip text. This fixes Carrot on a Stick missing from the mounted-trinket list when both it and Riding Crop were available.
- Broadened Korean tooltip patterns: added "기수", "기승", "마운트" alongside existing "탈것/기마/탑승/이동 속도" matchers, plus English "speed while mounted".
- New debug command `/amg checkitem <ID>` dumps each tooltip line for an ItemID together with the addon's `isSpeed` verdict and whitelist status, so future missed items are easy to diagnose.
- 알려진 마운트 속도 트링킷 ItemID 화이트리스트 추가 (당근달린지팡이 11122, 말채찍 25653). 한국어 툴팁 표현 차이와 무관하게 확정 분류된다. 당근달린지팡이가 mounted 트링킷 리스트에서 누락되던 문제 수정.
- 한국어 툴팁 매칭 패턴 보강: 기존 "이동 속도/탈것/기마/탑승/말 타고" 외에 "기수", "기승", "마운트" 추가. 영문도 "speed while mounted" 추가.
- 디버그 명령 `/amg checkitem <ID>` 추가. 해당 아이템의 모든 툴팁 라인과 `isSpeed` 판정 결과, 화이트리스트 여부를 채팅창에 출력해 누락 케이스를 즉시 진단 가능.

## 2.3.1
- Removed all auto-fill paths for `mounted.trinket1` (currently-equipped speed trinket auto-pick, single-item auto-pick, generic fallback). The mounted trinket is now set only when the user explicitly checks it in the options panel. Consequence: the mounted Hands/Feet lists are no longer hidden just because a mount-speed trinket exists in the bag or on the character — they are hidden only after the user has actually checked one in the options. The `trinket1Cleared` flag is kept as a safety net for any future auto-fill additions.
- mounted.trinket1 의 자동 채움(현재 장착 마운트 트링킷 자동 선택, 후보 1개일 때 자동 선택, 폴백 자동 선택)을 모두 제거. 이제 사용자가 옵션 창에서 직접 체크할 때만 mounted.trinket1 이 set 된다. 그 결과, 가방이나 현재 장착 트링킷에 말채찍/당근채찍 등이 있다는 이유로 손/발 리스트가 자동으로 숨겨지던 동작 제거 — 옵션 창에서 직접 체크했을 때만 손/발이 비활성화된다. `trinket1Cleared` 플래그는 향후 자동 채움 추가에 대비한 안전망으로 유지.

## 2.3.0
- (A) `/amg on` and `/amg off` now refresh the minimap icon appearance and trigger an immediate swap evaluation against the current mount state, instead of waiting for the next mount/unmount event.
- (B) Removed forced `minimap.hide = false` resets on PLAYER_LOGIN and ensureMinimapButtonVisible. The user's minimap visibility preference is now respected across reload/relog.
- (C) Tightened `isSpeedItem` Korean tooltip pattern so attack-speed/cast-speed/haste trinkets are no longer misclassified as mount-speed gear. Now matches only mount/movement/탈것/기마/탑승-related text.
- (D) `refreshOptions(force)` flag added; user-initiated refresh paths (option panel checkbox clicks, refresh button, minimap right-click) bypass the 1.5s throttle so the UI reacts immediately.
- (E) `speedCache` key now prefers `itemLink` over `itemId` so items with different enchants/suffixes are not collapsed into one cached result.
- (F) `equipSelectedItems` slot processing order is now fixed (`trinket1 → hands → feet`) instead of the non-deterministic `pairs` order.
- (G) `equipTrinketSwap` hardened: prefers an empty trinket slot first; only replaces a trinket slot that holds the *other mode's* configured trinket; protects user-equipped general trinkets when both slots are occupied by non-AMG items.
- (H) `/amg on` and minimap right-click "enable" now reset `lastMounted`/`lastMode` and immediately call `handleMountChange()` so the correct gear set is applied right away.

- (A) `/amg on`·`/amg off` 슬래시 후 미니맵 아이콘 색/채도 즉시 갱신, 그리고 현재 탑승 상태에 맞춰 즉시 한 번 swap 평가를 트리거(이전엔 다음 마운트 이벤트까지 대기).
- (B) PLAYER_LOGIN/ensureMinimapButtonVisible 의 `minimap.hide=false` 강제 리셋 제거 — 사용자가 미니맵 버튼을 숨김으로 둔 설정이 reload/relog 후에도 유지됨.
- (C) `isSpeedItem` 한글 툴팁 패턴을 좁힘: 단순 "속도" 매칭 제거. "이동 속도/이동속도/탈것/기마/탑승/말 타고" 와 영문 mount/movement/riding speed 류만 매칭. 공격속도·시전속도·가속(haste) 트링킷이 mounted 리스트에 잘못 노출되던 문제 수정.
- (D) `refreshOptions(force)` 인자 추가. 사용자 직접 동작 경로(옵션 체크박스 클릭, 새로고침 버튼, 미니맵 우클릭)에서 1.5초 throttle 을 우회해 UI 반응성을 즉각화.
- (E) `speedCache` 키를 itemLink 우선으로 변경. 같은 base item 의 인챈트/접두사 차이를 캐시가 구분하도록 함.
- (F) `equipSelectedItems` 슬롯 처리 순서 고정 (`trinket1 → hands → feet`). 기존 `pairs` 순서 비결정성 제거.
- (G) `equipTrinketSwap` 안전성 강화. ① 빈 트링킷 슬롯이 있으면 그곳에 직접 장착, ② 양쪽이 차 있으면 반대 모드의 등록 트링킷이 있는 슬롯만 교체, ③ 같은 모드 trinket1 이 이미 슬롯에 있으면 그 자리만 갱신, ④ 두 슬롯 모두 일반 트링킷(어느 모드에도 등록 안 됨)이면 자동 교체 안 함 — 사용자 보호.
- (H) `/amg on` 과 미니맵 우클릭으로 켤 때 `lastMounted/lastMode` 리셋 후 `handleMountChange()` 즉시 호출 → 올바른 세트가 곧바로 적용됨.

## 2.2.4
- Extended the `*Cleared` flag pattern (introduced in 2.2.3 for trinkets) to hands and feet on both mounted and unmounted slot configs, so unchecking any slot stays unchecked instead of being immediately repopulated by refreshOptions auto-fill.
- 2.2.3 의 `trinket1Cleared` 패턴을 손/발에도 확장 적용 (`handsCleared`, `feetCleared` × 탑승중/비탑승). 옵션 창에서 어떤 슬롯이든 체크 해제하면 즉시 다시 체크되던 자동 채움이 모두 차단되고, 다른 아이템을 다시 선택하면 플래그가 풀려 자동 채움이 정상 복구된다.

## 2.2.3
- Fixed mounted/unmounted trinket selection bouncing back to checked when the user unchecked it. Added a `trinket1Cleared` flag (per slot config) that suppresses the auto-fill logic in refreshOptions. Re-selecting any trinket clears the flag and restores normal auto-fill behavior.
- 옵션 창에서 탑승중·비탑승 장신구(말채찍 등)를 체크 해제하면 즉시 다시 체크가 되던 문제 수정. 사용자가 명시적으로 해제했음을 기억하는 `trinket1Cleared` 플래그를 슬롯별로 저장해, refreshOptions 의 자동 채움(현재 장착 트링킷 자동 선택, 1개일 때 자동 선택, 폴백 선택)을 모두 건너뛴다. 다른 트링킷을 다시 선택하면 플래그가 해제돼 자동 채움이 다시 작동한다.

## 2.2.2
- When a mount-speed trinket is selected for the mounted slot, both the "Mounted - Hands/Feet" and "Unmounted - Hands/Feet" lists are now hidden entirely (label + frame) instead of being shown disabled. Trinket lists remain visible.
- 탑승중 장신구에 마운트 속도 트링킷이 선택되어 있을 때 "탑승중 - 손/발" 과 "비탑승 - 손/발" 리스트를 비활성화 회색 표시 대신 라벨까지 통째로 숨김 처리. 장신구 리스트는 그대로 노출.

## 2.2.1
- Shortened the disabled-notice label on mounted hands/feet lists to "(Disabled when trinket - Riding Crop selected)".
- 탑승중 손/발 리스트의 비활성화 안내 문구를 "(장신구 - 말채찍 선택시 비활성화)" 로 짧게 수정.

## 2.2
- When a mount-speed trinket (Riding Crop / Carrot on a Stick, etc.) is selected for the "mounted" slot, the hands/feet enchant bonuses are redundant. The mounted hands/feet auto-swap is now skipped, and the mounted hands/feet lists in the options panel are disabled with a notice label.
- 탑승중 모드의 장신구에 마운트 속도 트링킷(말채찍/당근채찍 등)이 선택되어 있으면 손/발 인챈트 효과가 의미 없어 자동 교체를 건너뛴다. 옵션 창의 "탑승중 - 손/발" 리스트도 회색 비활성화 상태가 되며, 라벨에 안내 문구가 추가된다.

## 2.1
- When dismounting in combat, gear swap to unmounted set was blocked; now after combat ends (PLAYER_REGEN_ENABLED) the addon automatically retries swapping to unmounted gear.
- 전투 중 하차 시 비탑승 장비로 교체가 막혀 있던 문제 수정: 전투 종료 시(PLAYER_REGEN_ENABLED) 자동으로 비탑승 세트로 한 번 더 교체 시도.

## 2.0.12
- Fixed "Script has exceeded its execution time limit" when opening the settings window: throttled refresh (min 1.5s between runs), settings refresh ticker 0.5s → 2s, and capped speed-item tooltip scans per refresh (max 40) to avoid heavy work in a single frame.
- 설정창 열 때 "스크립트 실행 시간 제한 초과" 오류 수정: refresh 1.5초 최소 간격 쓰로틀, 설정 새로고침 주기 0.5초→2초, 속도 아이템 툴팁 스캔 회수 한 번에 최대 40개로 제한.

## 2.0.11
- Localization: UI and messages now follow game locale (Korean for koKR, English for enUS/enGB). All user-facing strings use locale table and L(key).
- 로케일: 게임 언어에 따라 한글(koKR)·영어(enUS/enGB) 자동 전환. 표시창·설정·미니맵·슬래시 메시지 등 모든 문구 로케일 대응.

## 2.0.10
- Version and CHANGELOG policy: always bump version and update this CHANGELOG when making changes
- 버전·변경이력 정책: 변경 시 항상 버전 올리고 본 CHANGELOG에 반영

## 2.0.9
- CHANGELOG reorganized for CurseForge: English first, then Korean per version
- CHANGELOG 커스포지 등록용으로 정리: 각 버전별 영문 선, 한글 후

## 2.0.8
- Fixed default slash commands (/pvp, /전쟁, etc.) not working (no longer overwrite SlashCmdList; register only when existing)
- /pvp, /전쟁 등 기본 슬래시 명령어가 동작하지 않던 문제 수정 (SlashCmdList를 덮어쓰지 않고, 이미 존재할 때만 우리 명령 등록)

## 2.0.7
- Added ITEM_DATA_LOAD_RESULT debouncing (event fires hundreds of times when opening bags/character; now handled once after 0.5s)
- Memory/FPS improvements
- ITEM_DATA_LOAD_RESULT 디바운싱 추가 (가방/캐릭터창 열 때 수백 번 연속 발생하는 이벤트를 0.5초 후 1회만 처리)
- 메모리/FPS 이슈 개선

## 2.0.6
- Added debug log: /amg debug on → open bags (B) / character (C) → /amg debug dump to export; log saved in SavedVariables (WTF\\...\\SavedVariables\\AutoMountGear.lua)
- 디버그 로그 기능 추가: 가방/캐릭터창 열 때 메모리·FPS 이슈 분석용
- /amg debug on → 가방(B)·캐릭터(C) 열기 → /amg debug dump 로 로그 내보내기
- 로그는 SavedVariables에 저장되며, WTF\\...\\SavedVariables\\AutoMountGear.lua 에서 확인 가능

## 2.0.5
- Fixed lag when opening merchant or character panel (heavy inventory scan now runs only when settings window is open)
- 상인/캐릭터 정보창 열 때 발생하던 랙 수정 (설정창이 열려 있을 때만 무거운 인벤토리 스캔 실행)

## 2.0.4
- Fixed missing forward declaration for minimap button visibility
- 미니맵 버튼 표시 보장 함수 전방 선언 누락 수정

## 2.0.3
- Fixed chat edit hook init timing
- 채팅 입력 훅 초기화 순서 오류 수정

## 2.0.2
- Fixed settings refresh call error
- 설정창 새로고침 호출 오류 수정

## 2.0.1
- Stabilized version check (safe addon message handling)
- 버전 체크 안정화(애드온 메시지 처리 보호)

## 2.0.0
- Versioning reset to 2.0.0
- 버전 2.0.0으로 재시작

## 1.0.4
- Group version check via addon message
- 파티/공대 내 버전 체크(애드온 메시지 통신)

## 1.0.3
- Speed item filter: handle delayed item data loading
- 속도 아이템 필터: 아이템 데이터 지연 로드 대응

## 1.0.2
- Switched to per-character saved data
- 저장 방식 변경(캐릭터별 저장)

## 1.0.1
- Added status lines in settings (addon/mount state); improved auto-refresh while settings open; highlight current equipped items and auto-select on first open; removed per-list scrollbars, keep only main scroll
- 설정창 상태 표시 추가(현재상태/탑승상태)
- 설정창 자동 새로고침 개선(열림 상태에서 주기 갱신)
- 현재 착용중 표시 개선(녹색 표시, 초기 자동 체크)
- 목록별 스크롤바 제거, 전체 스크롤만 유지

## 1.0.0
- 1.0.0 release; expanded Interface version range (multi-client support)
- 1.0.0 릴리스
- Interface 버전 범위를 확장 (여러 클라이언트 지원)

## 0.7.4
- Expanded Interface version range (multi-client support)
- Interface 버전 범위를 확장 (여러 클라이언트 지원)

## 0.7.3
- Mount/dismount swap success message; swap success icon at top of screen (grayscale when dismounted)
- Speed item filter; trinket 1:1 swap logic; settings panel layout/scroll/tooltip improvements
- 탑승/비탑승 스왑 성공 메시지 출력
- 스왑 성공 시 화면 상단 아이콘 표시(비탑승은 흑백)
- 탑승중 속도 아이템만 필터링 표시
- 장신구 1:1 스왑 로직 보강
- 설정 패널 레이아웃/스크롤/툴팁 개선