Commit graph

20279 commits

Author SHA1 Message Date
AlterEgo
641407434c
Fix email login conversion SQL compatibility 2026-08-04 17:54:31 -05:00
AlterEgo
2f4e627da8
Add self-service email login conversion 2026-08-04 17:39:56 -05:00
AlterEgo
5100a9f1d3
Merge remote-tracking branch 'origin/main' into no_patch 2026-08-04 17:10:16 -05:00
DigiD702
21f5dab3f5 [Core/SmartAI] Fall back to self for RANDOM_MOVE with no targets
Action 89 previously bailed when target_type was NONE, so summoned bots never received MoveRandom.
2026-08-04 12:36:24 -07:00
DigiD702
13917b2ace [Core/SmartAI] Fix RANDOM_MOVE (89) not restoring wander
Stop AttackStart from wiping RANDOM_MOTION_TYPE, persist radius/default type from action 89, re-init default movement on JustReachedHome, and make RandomMovementGenerator use direct walks with reliable retry/step distance.
2026-08-04 11:34:03 -07:00
DigiD702
88126430d0 [Core/Conditions] Add condition types 40, 42, 44-47
Port IN_WATER, STAND_STATE, CHARMED, PET_TYPE, TAXI, and QUESTSTATE from TC/LoA. Leave 41/43 unused (terrain swap is 39; daily quest done needs storage fix).
2026-08-04 09:25:10 -07:00
DigiD702
df458aae12 [Core/Conditions] Add CONDITION_QUEST_OBJECTIVE_PROGRESS
Add condition type 48 to gate scripts/gossip/SAI on quest objective progress by objective id (NegativeCondition for incomplete).
2026-08-04 09:02:46 -07:00
DigiD702
2100cc40ad [Core/SmartAI] Add SMART_EVENT_DISTANCE_CREATURE
Port event 75 so scripts can trigger when near a creature by spawn guid or entry (e.g. Multi-Bot toxic pools).
2026-08-04 07:57:14 -07:00
DigiD702
82ad9a864c [Core/SmartAI] Add GameObject ForcedDespawn for action 41
Allow SMART_ACTION_FORCE_DESPAWN to temp-despawn targeted gameobjects (respawn via spawntimesecs), enabling SAI like toxic pool cleanup.
2026-08-04 07:39:44 -07:00
DigiD702
170b92c918 [Core/Spell] Fix Shadowstep
Reject self-targets when Auto Self Cast selects the caster, and keep combat
on same-map spell teleports so SPELL_GO smoke is not dropped by CANCEL_COMBAT.
Closes #926.
2026-08-04 06:55:28 -07:00
AlterEgo
e3e5d56c0d
Add modify currency command 2026-08-04 06:38:24 -05:00
DigiD702
31bfcc24e4 [Core/Spell] Fix Hemorrhage
Apply the lingering bleed DoT from the direct strike and keep the dagger
damage bonus in the spell script instead of the generic weapon effect.
2026-08-03 23:59:28 -07:00
DigiD702
722d6421e5 [Core/Spell] Fix Burst of Speed
Link 108212 to the 70% speed buff and keep the cast from breaking stealth.
2026-08-03 23:47:06 -07:00
DigiD702
f0f0ea7f7a [Core/Spell] Fix Sanguinary Vein
Apply the 35% damage-taken debuff while Rupture, Garrote, or Crimson Tempest
is active (Hemorrhage DoT with Glyph of Hemorrhaging Veins). Closes #942.
2026-08-03 23:30:41 -07:00
DigiD702
ddff68808f [Core/Spell] Fix Honor Among Thieves
Party/raid spell and ability crits grant a combo point while in combat,
with a 2s ICD applied after the combo cast so CheckCast does not fail
with SPELL_FAILED_NOT_READY. Removes the incorrect apply-time cast handler.
2026-08-03 23:30:40 -07:00
DigiD702
15b73ddc2d [Core/Spell] Fix Assassin's Resolve
Gate Assassin's Resolve energy and damage bonuses on wielding daggers, and
recalculate those effects when weapons change.

Closes #954
2026-08-03 22:28:44 -07:00
DigiD702
5e2b30d449 [Core/Spell] Fix Venomous Wounds
Proc Nature damage and 10 Energy from poisoned Rupture/Garrote ticks, and refund
Energy from remaining Rupture duration when the target dies.

Closes #963
2026-08-03 22:28:43 -07:00
DigiD702
5d4315678a [Core/Spell] Fix Blade Flurry energy regeneration
Bake SPELL_AURA_MOD_POWER_REGEN_PERCENT into the power regen flat modifier so
Blade Flurry's -20% (and Adrenaline Rush) actually reduce energy regeneration.
2026-08-03 22:06:24 -07:00
DigiD702
724d97f65e [Core/Spell] Fix Killing Spree compile
Qualify SpellCastResult enum values for MSVC.
2026-08-03 21:52:10 -07:00
DigiD702
cbf195970c [Core/Spell] Fix Revealing Strike
Convert the dummy finisher-efficiency effect to taken-damage mod for Eviscerate,
Rupture, and Crimson Tempest; add Kidney Shot duration and Sinister Strike extra
combo point scripts.

Closes #968
2026-08-03 21:52:10 -07:00
DigiD702
9503a652bf [Core/Spell] Fix Shadow Focus
Apply the -75% energy cost aura while stealthed via the same stealth helpers used for Nightstalker, matching LoA.
2026-08-03 21:37:28 -07:00
DigiD702
a0c3e93871 [Core/Spell] Fix Crimson Tempest
Crimson Tempest only dealt its initial AoE hit and never applied the bleed.
After each hit, apply DoT 122233 at 240% of that damage over 6 ticks, including
bleed damage modifiers.

Closes #953
2026-08-03 21:28:23 -07:00
DigiD702
0641dd000a [Core/Spell] Fix Fan of Knives
Fan of Knives awarded combo points on every area target, so the last/random
hit became the combo target. Restrict the combo-point effect to the current
combo or selected enemy so CPs always land on your target.

Closes #955
2026-08-03 21:28:20 -07:00
AlterEgo
9eb925596d
Send character account data with player guid 2026-08-03 22:20:37 -05:00
DigiD702
dbb635d97a [Core/Spell] Fix Vanish
Vanish only entered normal Stealth because trigger spell 18461 is missing from
Spell.dbc and SPELL_EFFECT_176 did nothing. Apply Vanish aura 11327 (or
Subterfuge Vanish 115193), run sanctuary, leave combat outside encounters, and
return to Stealth when the aura expires.

Closes #935
2026-08-03 20:16:45 -07:00
DigiD702
364fc8f5c7 [Core/Spell] Fix Subterfuge
Subterfuge Stealth was stripped on cast/damage before scripts could run, so
the 3s Subterfuge buff never applied. Keep 115191/115193 through those
interrupts, proc or FoK/Crimson Tempest into 115192, and drop the stealth
forms when that buff expires.

Closes #922
2026-08-03 20:16:42 -07:00
DigiD702
8a86965a9f [Core/Spell] Fix Nightstalker
Nightstalker only applied its stealth movement speed. Apply the damage aura
(130493) while stealthed and keep it briefly on break so Ambush/Garrote still
receive the 50% bonus.

Closes #919
2026-08-03 20:16:39 -07:00
AlterEgo
7047377b2f
Fix stale chat cache during email login 2026-08-03 22:09:38 -05:00
AlterEgo
2aa7f5b782
Fix email world auth session handoff
Resolve email-shaped world auth session names through login identities after authserver proof succeeds. Update last_ip by account id so email logins do not miss the legacy username row.

Detach queued write failures before running close-capable callbacks so socket error handling cannot continue through freed write queue storage.
2026-08-03 21:50:46 -05:00
AlterEgo
582a75da4e
Add SRP verifier storage for login identities
Add account_login_identity storage so email-shaped login names can use SRP verifier data generated for the same client-sent identity string. Wire auth challenge, reconnect, realm list lookup, account creation, password changes, username changes, email invalidation, and schema updates around the new identity table.

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 21:20:11 -05:00
DigiD702
74016c4844 [Core/Spell] Fix Bandit's Guile
Bandit's Guile never built insight. Count Sinister Strike and Revealing Strike
hits to advance Shallow -> Moderate -> Deep insight with the matching damage
buff, and stop stacking while Deep Insight is active.

Closes #964
2026-08-03 19:06:23 -07:00
DigiD702
2531b7262d [Core/Spell] Fix Restless Blades
Restless Blades never reduced cooldowns. Proc from damaging finishers and cut
Adrenaline Rush, Killing Spree, Redirect, Shadow Blades, and Sprint by the
dummy amount times spent combo points.

Closes #967
2026-08-03 19:06:11 -07:00
DigiD702
cc9a88a854 [Core/Spell] Fix Ruthlessness
Ruthlessness triggered Combo Point Delayed (139569), but that dummy never granted
a combo point after the finisher cleared CPs. Schedule spell 139546 after the
finish phase, and allow Ruthlessness/Relentless Strikes ADD_TARGET_TRIGGER to
fire for only one hit target.

Closes #969
2026-08-03 19:05:59 -07:00
DigiD702
e0d8e6a77a [Core/Spell] Fix Combat Potency
Combat Potency restored Energy on every successful off-hand hit (100% proc).
Roll the MoP off-hand speed formula (~20% at 1.4s, higher for slower weapons)
and allow Main Gauche / Shadow Blade off-hand hits to participate.

Closes #965
2026-08-03 19:05:39 -07:00
AlterEgo
7108d423c7
Resolve email login identities in auth challenge
Use the login identity classifier to resolve email-shaped GRUNT challenge names through account email fields, keep SRP proof bound to the client-sent identity, and update auth session state by account id.

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 20:53:29 -05:00
AlterEgo
715f507bef
Add login identity classification
Add a shared login identity helper that distinguishes legacy usernames from email-shaped login strings and logs the detected kind during the auth challenge without changing authentication behavior.

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 20:35:27 -05:00
AlterEgo
4a8c0fbf98
Fix Death Knight runic script activation
Register the missing Death Knight spell scripts, bind their world database rows, and make Runic Empowerment select across the full depleted rune set without dividing by zero.

Closes #1253

Closes #1254

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 19:15:59 -05:00
AlterEgo
e0c6ee60d7
Fix hunter Thrill of the Hunt proc
Replace the obsolete disabled script path with a data-driven proc filter for spell 109306. The proc now uses the live talent aura, fires at 30 percent from focus-spending ranged hunter attacks and Kill Command, and lets the triggered 34720 aura handle the three discounted Arcane Shot or Multi-Shot casts.

Closes #1261

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 18:58:32 -05:00
AlterEgo
969046e3a2
Restore sheep polymorph visual selection
Closes #1262

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 18:34:43 -05:00
DigiD702
f01050165d Fix Bladestorm cast lock to honor ALLOW_ONLY_ABILITY mask.
Replace the blanket PLAYER_FLAGS_ALLOW_ONLY_ABILITY reject with SpellClassMask matching so shout and utility abilities can be cast during Bladestorm.
2026-08-03 16:26:56 -07:00
AlterEgo
1804018576
Remove obsolete Aura Mastery bindings
Closes #1263

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 18:22:50 -05:00
AlterEgo
ad7f6eeaca
Restore Ardent Defender behavior
Re-enable the Paladin aura script with 5.4 damage reduction and lethal-hit rescue handling, add focused calculation coverage, and restore the spell script binding through pending SQL.

Closes #1264

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 17:45:21 -05:00
AlterEgo
77d56fa262
Persist spell charge cooldown state
Save active spell charge buckets in the characters database, restore offline recharge progress on login, and keep player dumps aware of the new charge table.

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 16:35:41 -05:00
AlterEgo
67b1b95880
Fix Heroic Leap arrival spell cleanup trigger
Latch effect movement arrival only after the movement generator observes a completed spline at the final destination, so Heroic Leap landing damage is not fired from movement cleanup or interrupted stop paths. Add branch CI filters for heroic_leap.

Signed-off-by: AlterEgo <admin@projectskyfire.org>
2026-08-03 16:30:20 -05:00
DigiD702
82df41c613 Fix Double Time Charge charges, cooldown UI, and Rage grant.
Add spell category charge tracking so Double Time grants two Charge charges with correct recharge, keep the client from re-applying DBC recovery cooldown on charged casts, and energize Rage from Charge's Dummy effect instead of the empty legacy 34846 spell.
2026-08-03 01:13:38 -07:00
Nightprince
c85e7c46c6 Server/Handler: Implement Battle Pet Cage 2026-08-03 11:08:16 +03:30
DigiD702
e0dae2bd0c Fix Enraged Regeneration tooltips after Enrage and on the buff.
Pad aura effect amounts by index for client $w2, and compute PCT spellmod totals after list updates so Enrage remove restores 10% instead of 0%.
2026-08-02 23:47:52 -07:00
DigiD702
2447afacb9 Fix Shield Wall and Spell Reflection visual auras.
Cast the MoP shield or faction cosmetic auras while active, and stop player pets from consuming Spell Reflection.
2026-08-02 22:54:41 -07:00
DigiD702
e1750ff882 Fix Mana Gem conjure recharge and restore amount.
Conjure no longer treats charge count as a spell id, and ScalingClass -2 with MaxLevel correctly yields the tooltip mana restore.
2026-08-02 22:37:54 -07:00
DigiD702
086bb23c5c Fix spell cooldown UI to sync after logout and login. 2026-08-02 22:07:03 -07:00