Add Warrior Charge ability with ribbon trail visual effect

Implements charge rush-to-target for spell IDs 100/6178/11578 with
smoothstep lerp movement, vertical red-orange ribbon trail, dust puffs,
client-side range validation, and sound fallback chain.
This commit is contained in:
Kelsi 2026-02-19 21:13:13 -08:00
parent da49593268
commit e163813dee
9 changed files with 761 additions and 2 deletions

View file

@ -745,6 +745,11 @@ public:
}
const std::unordered_map<uint64_t, QuestGiverStatus>& getNpcQuestStatuses() const { return npcQuestStatus_; }
// Charge callback — fires when player casts a charge spell toward target
// Parameters: targetGuid, targetX, targetY, targetZ (canonical WoW coordinates)
using ChargeCallback = std::function<void(uint64_t targetGuid, float x, float y, float z)>;
void setChargeCallback(ChargeCallback cb) { chargeCallback_ = std::move(cb); }
// Level-up callback — fires when the player gains a level (newLevel > 1)
using LevelUpCallback = std::function<void(uint32_t newLevel)>;
void setLevelUpCallback(LevelUpCallback cb) { levelUpCallback_ = std::move(cb); }
@ -1653,6 +1658,7 @@ private:
NpcGreetingCallback npcGreetingCallback_;
NpcFarewellCallback npcFarewellCallback_;
NpcVendorCallback npcVendorCallback_;
ChargeCallback chargeCallback_;
LevelUpCallback levelUpCallback_;
OtherPlayerLevelUpCallback otherPlayerLevelUpCallback_;
MountCallback mountCallback_;