From df469267acfc5d770785109296c6fa5f9ced632e Mon Sep 17 00:00:00 2001 From: SylvaniaCore deploy Date: Sun, 9 Aug 2026 20:03:51 +0000 Subject: [PATCH] Transcription ArgusCore lot 8 : moine, recheck 7.3.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Elixir de soins (122280) : hook proc sur DUMMY (reel) au lieu de PROC_TRIGGER_SPELL — le passif ne proccait jamais [603df7a1] - Eclair de jade (117952) : script supprime, proc de chi 25%/tick = reliquat MoP, le canal Legion ne genere rien [8ffc9d55] - Effuse (116694) : relais de soin MoP mort retire, redirection Soothing Mist conservee - Stagger (124273/4/5) : hook remove rebinde EFFECT_1/DUMMY - The de mana (197908) : debranche, effet natif Legion (patch SQL) Preuve locale : erreurs did-not-match au boot pour chaque hook corrige. --- sql/sylvania/argus_recheck_monk.sql | 17 +++++++ src/server/scripts/Spells/spell_monk.cpp | 65 ++++-------------------- 2 files changed, 27 insertions(+), 55 deletions(-) create mode 100644 sql/sylvania/argus_recheck_monk.sql diff --git a/sql/sylvania/argus_recheck_monk.sql b/sql/sylvania/argus_recheck_monk.sql new file mode 100644 index 0000000..9b14ae0 --- /dev/null +++ b/sql/sylvania/argus_recheck_monk.sql @@ -0,0 +1,17 @@ +-- ===================================================================== +-- Transcription ArgusCore — lot Moine (recheck 7.3.5) +-- Réf. commits ArgusCore : 8ffc9d55, 603df7a1, debce376 (méthodologie : +-- vérifier NOS scripts contre les données client réelles avant de copier). +-- Preuve locale : erreurs « did not match dbc effect data » au boot +-- (Server.log) pour chaque hook corrigé côté C++. +-- +-- 1) Éclair de jade crépitant (117952) : script supprimé côté C++ — +-- le proc de chi 123333 à 25%/tick était un reliquat MoP ; en 7.3.5 le +-- canal ne génère aucune ressource (dégâts purs via spell data). +-- 2) Thé de mana (197908) : en Legion c'est un simple +-- SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT natif (-50% mana, 10 s) — +-- aucun script nécessaire ; l'ancien script visait le design MoP. +-- ===================================================================== + +DELETE FROM `spell_script_names` WHERE `spell_id`=117952 AND `ScriptName`='spell_monk_crackling_jade_lightning'; +DELETE FROM `spell_script_names` WHERE `spell_id`=197908 AND `ScriptName`='spell_monk_mana_tea'; diff --git a/src/server/scripts/Spells/spell_monk.cpp b/src/server/scripts/Spells/spell_monk.cpp index 4a2ce04..237b0e2 100644 --- a/src/server/scripts/Spells/spell_monk.cpp +++ b/src/server/scripts/Spells/spell_monk.cpp @@ -598,51 +598,10 @@ public: // Power Strikes - 121817 // En attente -// Crackling Jade Lightning - 117952 -class spell_monk_crackling_jade_lightning : public SpellScriptLoader -{ -public: - spell_monk_crackling_jade_lightning() : SpellScriptLoader("spell_monk_crackling_jade_lightning") { } - - class spell_monk_crackling_jade_lightning_AuraScript : public AuraScript - { - PrepareAuraScript(spell_monk_crackling_jade_lightning_AuraScript); - - void OnTick(AuraEffect const* /* aurEff */) - { - if (Unit* caster = GetCaster()) - if (roll_chance_i(25)) - caster->CastSpell(caster, SPELL_MONK_JADE_LIGHTNING_ENERGIZE, true); - } - - void OnProc(AuraEffect const* /* aurEff */, ProcEventInfo& eventInfo) - { - PreventDefaultAction(); - - if (!GetCaster()) - return; - - if (eventInfo.GetActor()->GetGUID() != GetTarget()->GetGUID()) - return; - - /*if (GetCaster()->ToPlayer()) - { - ; - }*/ - } - - void Register() override - { - OnEffectPeriodic += AuraEffectPeriodicFn(spell_monk_crackling_jade_lightning_AuraScript::OnTick, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); - OnEffectProc += AuraEffectProcFn(spell_monk_crackling_jade_lightning_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_monk_crackling_jade_lightning_AuraScript(); - } -}; +// Crackling Jade Lightning - 117952 : aucun script necessaire en 7.3.5 — +// le proc de chi 123333 a 25%/tick etait un reliquat MoP (le canal Legion ne genere +// aucune ressource, degats purs via spell data). Le knockback 117959 reste scripte +// a part. [conclusion portee d ArgusCore 8ffc9d55, verifiee sur notre implementation] // Touch of Karma - 122470 // En attente @@ -2054,7 +2013,8 @@ public: void Register() override { //OnEffectApply += AuraEffectApplyFn(spell_monk_stagger_visual_AuraScript::HandleDummy1Apply, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); - OnEffectRemove += AuraEffectRemoveFn(spell_monk_stagger_visual_AuraScript::HandleDummy1Remove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL); + // stagger 124273/4/5 : la logique apply/remove vit sur EFFECT_1 (DUMMY), pas EFFECT_0 [ArgusCore] + OnEffectRemove += AuraEffectRemoveFn(spell_monk_stagger_visual_AuraScript::HandleDummy1Remove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); } }; @@ -2768,16 +2728,11 @@ public: target = soothingMistTarget; } - void HandleDummy(SpellEffIndex effIndex) - { - PreventHitDefaultEffect(effIndex); - GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_SURGING_MIST_HEAL, true); - } - + // 7.3.5 : 116694 (Effuse) soigne nativement via son effet HEAL — l ancien relais MoP + // (dummy -> cast 116995) etait un hook mort. On garde la redirection Soothing Mist. void Register() override { OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_monk_surging_mist_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_TARGET_ALLY); - OnEffectHitTarget += SpellEffectFn(spell_monk_surging_mist_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); } }; @@ -3882,7 +3837,8 @@ public: } void Register() override { - OnEffectProc += AuraEffectProcFn(spell_monk_healing_elixirs_aura_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL); + // l effet reel de 122280 (EFFECT_0) est SPELL_AURA_DUMMY, pas PROC_TRIGGER_SPELL — le hook ne matchait jamais [porte d ArgusCore 603df7a1] + OnEffectProc += AuraEffectProcFn(spell_monk_healing_elixirs_aura_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY); } }; AuraScript* GetAuraScript() const override @@ -4042,7 +3998,6 @@ void AddSC_monk_spell_scripts() new spell_monk_chi_wave_heal_missile(); new spell_monk_chi_wave_healing_bolt(); new spell_monk_crackling_jade_knockback(); - new spell_monk_crackling_jade_lightning(); new spell_monk_crackling_jade_lightning_knockback_proc_aura(); new spell_monk_dampen_harm(); RegisterSpellAndAuraScriptPair(spell_monk_disable, aura_monk_disable);