diff --git a/Source/Contents/Skills/SkillActionDruid.cpp b/Source/Contents/Skills/SkillActionDruid.cpp index 184c21d35..00e28b5fd 100644 --- a/Source/Contents/Skills/SkillActionDruid.cpp +++ b/Source/Contents/Skills/SkillActionDruid.cpp @@ -822,14 +822,16 @@ void CSkillAction_DR_TRUTH_OF_EARTH::OnSkillEffect(int level, CGameActor* source return; } - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + EffectLists* effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("truth_of_earth", 0xC7912587FFF31B71ULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("truth_of_earth_bottom", 0x69D345DB950F336DULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); @@ -984,7 +986,8 @@ void CSkillAction_DR_CUTTING_WIND::OnSkillEffect(int level, CGameActor* source, return; } - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + EffectLists* effects = g_effectMgr; + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("cutting_wind", 0x4F1791FB1503C713ULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); @@ -1043,7 +1046,8 @@ void CSkillAction_DR_WIND_BOMB::OnSkillEffect(int level, CGameActor* source, CGa constexpr auto effectSourceText = CRYPT_NAME("wind_bomb_main", 0xD1538513DF975701ULL); const auto& effectSource = effectSourceText.data; thread_local EncryptedName effectName(effectSource); - if (CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { + EffectLists* effects = g_effectMgr; + if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(300); } } @@ -1190,7 +1194,8 @@ void CSkillAction_DR_BLOOD_HOWLING::OnSkillEffect(int level, CGameActor* source, constexpr auto effectSourceText = CRYPT_NAME("blood_howling", 0xD98F03A52D35636DULL); const auto& effectSource = effectSourceText.data; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + EffectLists* effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x006207B0 @@ -1203,7 +1208,8 @@ void CSkillAction_DR_NOMERCY_CLAW::OnSkillEffect(int level, CGameActor* source, constexpr auto effectSourceText = CRYPT_NAME("nomercy_claw", 0x0F0F8B6B8F9D19D1ULL); const auto& effectSource = effectSourceText.data; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + EffectLists* effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x006210B0 @@ -1216,7 +1222,8 @@ void CSkillAction_DR_ENRAGE_RAPTOR::OnSkillEffect(int level, CGameActor* source, constexpr auto effectSourceText = CRYPT_NAME("enrage_raptor", 0x812BE72BCD5707B7ULL); const auto& effectSource = effectSourceText.data; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + EffectLists* effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00621370