mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 01:23:51 +00:00
change weapon for ranged skills
Signed-off-by: Pavel Okhlopkov <pavel.okhlopkov@flant.com>
This commit is contained in:
parent
fe1dc5e02b
commit
6ba0edc2fb
6 changed files with 176 additions and 4 deletions
|
|
@ -74,6 +74,10 @@ public:
|
|||
bool isWeaponsSheathed() const { return weaponsSheathed_; }
|
||||
void toggleWeaponsSheathed() { weaponsSheathed_ = !weaponsSheathed_; }
|
||||
|
||||
// Ranged weapon swap: temporarily show ranged weapon in right hand
|
||||
void showRangedWeapon(bool show);
|
||||
bool isShowingRanged() const { return showingRanged_; }
|
||||
|
||||
// Saved skin state accessors (used by game_screen.cpp for equipment re-compositing)
|
||||
const std::string& getBodySkinPath() const { return bodySkinPath_; }
|
||||
const std::vector<std::string>& getUnderwearPaths() const { return underwearPaths_; }
|
||||
|
|
@ -96,6 +100,7 @@ private:
|
|||
uint32_t cloakTextureSlotIndex_ = 0;
|
||||
|
||||
bool weaponsSheathed_ = false;
|
||||
bool showingRanged_ = false;
|
||||
};
|
||||
|
||||
} // namespace core
|
||||
|
|
|
|||
|
|
@ -943,6 +943,10 @@ public:
|
|||
using MeleeSwingCallback = std::function<void(uint32_t spellId)>;
|
||||
void setMeleeSwingCallback(MeleeSwingCallback cb) { meleeSwingCallback_ = std::move(cb); }
|
||||
|
||||
// Ranged weapon swap callback — show=true: swap to ranged weapon, false: back to melee
|
||||
using RangedWeaponSwapCallback = std::function<void(bool show)>;
|
||||
void setRangedWeaponSwapCallback(RangedWeaponSwapCallback cb) { rangedWeaponSwapCallback_ = std::move(cb); }
|
||||
|
||||
// Spell cast animation callbacks — true=start cast/channel, false=finish/cancel
|
||||
// guid: caster (may be player or another unit), isChannel: channel vs regular cast
|
||||
// castType: DIRECTED (unit target), OMNI (self/no target), AREA (ground AoE)
|
||||
|
|
@ -2399,6 +2403,13 @@ public:
|
|||
auto& knockBackCallbackRef() { return knockBackCallback_; }
|
||||
auto& lootWindowCallbackRef() { return lootWindowCallback_; }
|
||||
auto& meleeSwingCallbackRef() { return meleeSwingCallback_; }
|
||||
auto& rangedWeaponSwapCallbackRef() { return rangedWeaponSwapCallback_; }
|
||||
void suppressNextMeleeSwingAnim() { suppressMeleeSwingAnim_ = true; }
|
||||
bool consumeSuppressMeleeSwingAnim() {
|
||||
bool v = suppressMeleeSwingAnim_;
|
||||
suppressMeleeSwingAnim_ = false;
|
||||
return v;
|
||||
}
|
||||
auto& mountCallbackRef() { return mountCallback_; }
|
||||
auto& npcAggroCallbackRef() { return npcAggroCallback_; }
|
||||
auto& npcDeathCallbackRef() { return npcDeathCallback_; }
|
||||
|
|
@ -3436,6 +3447,8 @@ private:
|
|||
AppearanceChangedCallback appearanceChangedCallback_;
|
||||
GhostStateCallback ghostStateCallback_;
|
||||
MeleeSwingCallback meleeSwingCallback_;
|
||||
RangedWeaponSwapCallback rangedWeaponSwapCallback_;
|
||||
bool suppressMeleeSwingAnim_ = false;
|
||||
// lastMeleeSwingMs_ moved to CombatHandler
|
||||
SpellCastAnimCallback spellCastAnimCallback_;
|
||||
SpellCastFailedCallback spellCastFailedCallback_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue