MRMJ-1: Messenger & Skills fixes

This commit is contained in:
Mind Rapist
2025-12-14 05:12:39 +02:00
parent 436db01a80
commit 7b08687023
46 changed files with 1258 additions and 60 deletions

View File

@@ -75,6 +75,10 @@ namespace UI
} TSlot;
typedef std::list<TSlot> TSlotList;
typedef TSlotList::iterator TSlotListIterator;
#ifdef FIX_REFRESH_SKILL_COOLDOWN
typedef struct SStoreCoolDown { float fCoolTime; float fElapsedTime; bool bActive; };
#endif
public:
CSlotWindow(PyObject * ppyObject);
@@ -84,6 +88,9 @@ namespace UI
// Manage Slot
void SetSlotType(DWORD dwType);
#ifdef FIX_REFRESH_SKILL_COOLDOWN
DWORD GetSlotType() const;
#endif
void SetSlotStyle(DWORD dwStyle);
void AppendSlot(DWORD dwIndex, int ixPosition, int iyPosition, int ixCellSize, int iyCellSize);
@@ -107,6 +114,11 @@ namespace UI
void SetSlotCount(DWORD dwIndex, DWORD dwCount);
void SetSlotCountNew(DWORD dwIndex, DWORD dwGrade, DWORD dwCount);
void SetSlotCoolTime(DWORD dwIndex, float fCoolTime, float fElapsedTime = 0.0f);
#ifdef FIX_REFRESH_SKILL_COOLDOWN
void StoreSlotCoolTime(DWORD dwKey, DWORD dwSlotIndex, float fCoolTime, float fElapsedTime = .0f);
void RestoreSlotCoolTime(DWORD dwKey);
void TransferSlotCoolTime(DWORD dwIndex1, DWORD dwIndex2);
#endif
void ActivateSlot(DWORD dwIndex);
void DeactivateSlot(DWORD dwIndex);
void RefreshSlot();
@@ -150,6 +162,10 @@ namespace UI
// CallBack
void ReserveDestroyCoolTimeFinishEffect(DWORD dwSlotIndex);
#ifdef FIX_REFRESH_SKILL_COOLDOWN
void ClearStoredSlotCoolTime(DWORD dwKey, DWORD dwSlotIndex);
#endif
protected:
void __Initialize();
void __CreateToggleSlotImage();
@@ -199,6 +215,9 @@ namespace UI
std::list<DWORD> m_dwSelectedSlotIndexList;
TSlotList m_SlotList;
DWORD m_dwToolTipSlotNumber;
#ifdef FIX_REFRESH_SKILL_COOLDOWN
std::map<DWORD, std::map<DWORD, SStoreCoolDown>> m_CoolDownStore;
#endif
BOOL m_isUseMode;
BOOL m_isUsableItem;