
 Сообщение от 
Nicholay
					 
				 
				У нас случаем нигде не выкладывают код/формулы того как все это на серкле расчитыается? А то догадываться о том, как все работает, по логам и визуальным наблюдениям - довольно времязатратное занятие.
			
		 
	 
 Там код такой, что одна функция переход в другую, та еще использует 10 и т.д. в итоге кода типо это работает вот так, его просто напросто нет, а так же, если имеются коэффициенты от апа или тому подобные то они хранятся в SQL базе, а еще часть данных хранится в dbc файлах, которые хранятся, как на сервере так и в клиенте у игрока и должны совпадать.
https://github.com/TrinityCore/Trini...scripts/Spells
https://github.com/TrinityCore/Trini...ll_warrior.cpp
	Код:
	// -12162 - Deep Wounds
class spell_warr_deep_wounds : public SpellScriptLoader
{
    public:
        spell_warr_deep_wounds() : SpellScriptLoader("spell_warr_deep_wounds") { }
        class spell_warr_deep_wounds_SpellScript : public SpellScript
        {
            PrepareSpellScript(spell_warr_deep_wounds_SpellScript);
            bool Validate(SpellInfo const* /*spellInfo*/) override
            {
                if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_1) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_2) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_RANK_3))
                    return false;
                return true;
            }
            void HandleDummy(SpellEffIndex /*effIndex*/)
            {
                int32 damage = GetEffectValue();
                Unit* caster = GetCaster();
                if (Unit* target = GetHitUnit())
                {
                    ApplyPct(damage, 16 * GetSpellInfo()->GetRank());
                    SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC);
                    uint32 ticks = uint32(spellInfo->GetDuration()) / spellInfo->Effects[EFFECT_0].Amplitude;
                    // Add remaining ticks to damage done
                    if (AuraEffect const* aurEff = target->GetAuraEffect(SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC, EFFECT_0, caster->GetGUID()))
                        damage += (aurEff->GetAmount() + aurEff->GetBonusAmount()) * aurEff->GetDonePct() * int32(ticks - aurEff->GetTickNumber());
                    damage /= int32(ticks);
                    caster->CastCustomSpell(target, SPELL_WARRIOR_DEEP_WOUNDS_PERIODIC, &damage, NULL, NULL, true);
                }
            }
            void Register() override
            {
                OnEffectHitTarget += SpellEffectFn(spell_warr_deep_wounds_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
            }
        };
        SpellScript* GetSpellScript() const override
        {
            return new spell_warr_deep_wounds_SpellScript();
        }
};
 Так работает на паблик ядре, у wowcircle, ядро более старго образца, но со своими наработками за N лет, так что оно сильно отличается, но если вы сделаете верный код, то думаю разработчик сможет его интегрировать под это ядро.