diff --git a/Source/Client/Mode/GameMode.cpp b/Source/Client/Mode/GameMode.cpp index e27034bab..cfe321e74 100644 --- a/Source/Client/Mode/GameMode.cpp +++ b/Source/Client/Mode/GameMode.cpp @@ -4912,9 +4912,8 @@ void __stdcall LaunchBulletSpriteEffect(const vector3d* position, int actorId, f return; } - CSprArrowEffect* effect = static_cast( - g_effectMgr->Spawn(0, 0x964, position->x, position->y, position->z, actorId, -1, 0, 0) - ); + EffectLists* effects = g_effectMgr; + CSprArrowEffect* effect = static_cast(effects->Spawn(0, 0x964, *position, actorId, -1, 0, 0)); if (effect != nullptr) { effect->delayFrames = scale; effect->SetBulletSprite(job); @@ -7165,7 +7164,7 @@ void CGameMode::PlayItemUseEffect(int itemId, std::uint32_t aid) { actor->SendMsg(nullptr, AM_DELETE_EFFECT, 0, effectId, effectId >> 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } if (g_effectMgr->HasAllocator(effectId)) { - g_effectMgr->Spawn(actor->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { static_cast(actor)->LaunchEffect(effectId, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } @@ -7176,7 +7175,7 @@ void CGameMode::PlayItemUseEffect(int itemId, std::uint32_t aid) { actor->SendMsg(nullptr, AM_DELETE_EFFECT, 0, secondEffectId, secondEffectId >> 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } if (g_effectMgr->HasAllocator(secondEffectId)) { - g_effectMgr->Spawn(actor->render.accountId, secondEffectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, secondEffectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { static_cast(actor)->LaunchEffect(secondEffectId, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } diff --git a/Source/Client/Mode/GameModeHandlers.cpp b/Source/Client/Mode/GameModeHandlers.cpp index c130f4f78..828b63c4b 100644 --- a/Source/Client/Mode/GameModeHandlers.cpp +++ b/Source/Client/Mode/GameModeHandlers.cpp @@ -1739,7 +1739,7 @@ void CGameMode::ReceiveRuneRewardPacket(const unsigned char* packet) { switch (packet[0x32]) { case 0: { - CEffect* effect = g_effectMgr->Spawn(g_session.m_aid, 2399, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(g_session.m_aid, 2399, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const vector3d offset = {598.0f, 219.0f, 0.0f}; const int* words = reinterpret_cast(&offset); effect->SetWindowOffset(words[0], words[1], words[2], 1, 361); @@ -2218,7 +2218,7 @@ void CGameMode::ReceiveAchievementUpdate( static_cast(this->achievementBalloon)->m_textColor = 0xFFFFFF; static_cast(this->achievementBalloon)->m_outlineColor = 0; this->achievementBalloon->Move(0, 50); - g_effectMgr->Spawn(g_session.m_aid, 0x446, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(g_session.m_aid, 0x446, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (UIWindow* window = g_windowMgr.LookupWindow(WID_MENUICONWND)) { window->SendMsg(nullptr, UM_COMMAND, ID_NOTICE, 0x1D9, 1, 0); } diff --git a/Source/Client/Mode/GameModeNotices.cpp b/Source/Client/Mode/GameModeNotices.cpp index 3a2d95536..da3ab3ca1 100644 --- a/Source/Client/Mode/GameModeNotices.cpp +++ b/Source/Client/Mode/GameModeNotices.cpp @@ -2663,7 +2663,7 @@ void CGameMode::ReceiveWindow348Result(unsigned char result, std::int16_t index) switch (result) { case 0: { g_windowMgr.CloseWindow(WID_ITEMREFORMWND); - g_effectMgr->Spawn(g_session.m_aid, 1608, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(g_session.m_aid, 1608, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); ITEM_INFO item = LookupClientItemByIdentity(g_session.m_inventoryItems, index); if (item.identity[1] <= 0) { return; @@ -7029,7 +7029,7 @@ void CGameMode::ReceiveStatusChangeNotice(const unsigned char* data) { case EFST_D_MACHINE: if (CEffect* effect = g_effectMgr->Find(packet->aid, 1817)) { g_effectMgr->Retire(effect, 1); - g_effectMgr->Spawn(packet->aid, 1821, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(packet->aid, 1821, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } StringFormat(message, 256, static_cast(-1), "%s", LookupMessage(MSI_TR_KVASIR_SONATA_OFF)); break; diff --git a/Source/Client/Mode/GameModePackets.cpp b/Source/Client/Mode/GameModePackets.cpp index 81c7f8c2a..2f525ab35 100644 --- a/Source/Client/Mode/GameModePackets.cpp +++ b/Source/Client/Mode/GameModePackets.cpp @@ -3703,8 +3703,7 @@ void CGameMode::ReceiveActorStatusValue(std::uint32_t aid, int status, int amoun actor->SendMsg(nullptr, AM_MAKE_NUMBER, 0, amount, option, 0xFFFF55B1, 0, 0x72, 0, 0, 0, 0, 0, 0, 0); } - CEffect* effect = g_effectMgr->Spawn(actor->render.accountId, status, actor->render.position.x, actor->render.position.y, - actor->render.position.z, 0, 0xFFFFFFFF, 0, 0); + CEffect* effect = g_effectMgr->Spawn(actor->render.accountId, status, actor->render.position, 0, 0xFFFFFFFF, 0, 0); if (effect == nullptr) { actor->LaunchEffect(status, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } @@ -4898,13 +4897,13 @@ void CGameMode::ApplyStatusChange( if (type == EFST_SPELLFIST && actor) { const unsigned char element = static_cast(value3); if (element == 19) { - g_effectMgr->Spawn(actor->render.accountId, 1665, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 1666, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1665, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1666, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (element == 20) { - g_effectMgr->Spawn(actor->render.accountId, 1669, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1669, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (element == 14) { - g_effectMgr->Spawn(actor->render.accountId, 1667, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 1668, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1667, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1668, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } } @@ -5143,7 +5142,7 @@ void CGameMode::ApplyStatusChange( g_effectMgr->Retire(player->render.accountId, 1467 + i); } g_effectMgr->Spawn( - player->render.accountId, g_serviceOptions.Get(229) ? value1 + 1466 : value1 + 1299, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + player->render.accountId, g_serviceOptions.Get(229) ? value1 + 1466 : value1 + 1299, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 ); std::sprintf(message, ""); } @@ -5715,7 +5714,7 @@ void CGameMode::ApplyStatusChange( std::sprintf(message, LookupMessage(MSI_ACCOUNTCLASS_INTEGRATION)); break; case EFST_SOULCURSE: - g_effectMgr->Spawn(aid, 1362, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(aid, 1362, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); g_soundMgr->PlayWave("effect\\s포이즌버스터.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); break; case EFST_MADOGEAR_TYPE: @@ -5753,13 +5752,13 @@ void CGameMode::ApplyStatusChange( const unsigned char element = static_cast(value3); if (element == 19) { - g_effectMgr->Spawn(actor->render.accountId, 1665, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 1666, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1665, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1666, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (element == 20) { - g_effectMgr->Spawn(actor->render.accountId, 1669, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1669, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (element == 14) { - g_effectMgr->Spawn(actor->render.accountId, 1667, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 1668, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1667, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 1668, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; } @@ -11269,7 +11268,7 @@ void LaunchSkillCastEffect(CGameMode* mode, CGameActor* source, CGameActor* targ CEffect* effect; if (skillId == CD_FRAMEN) { - effect = g_effectMgr->Spawn(target->render.accountId, 0x78A, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(target->render.accountId, 0x78A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -11285,12 +11284,12 @@ void LaunchSkillCastEffect(CGameMode* mode, CGameActor* source, CGameActor* targ return; case WL_SOULEXPANSION: { const float speed = target->render.speed; - effect = g_effectMgr->Spawn(target->render.accountId, 0x635, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(target->render.accountId, 0x635, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const int duration = static_cast(speed * 150.0f + 200.0f) + delay; if (effect) { effect->SetLifeTime(duration); } - effect = g_effectMgr->Spawn(target->render.accountId, 0x636, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(target->render.accountId, 0x636, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(duration); } @@ -11302,11 +11301,11 @@ void LaunchSkillCastEffect(CGameMode* mode, CGameActor* source, CGameActor* targ return; case WL_CHAINLIGHTNING: target->SendMsg(nullptr, AM_DELETE_MAGIC_TARGET, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - g_effectMgr->Spawn(target->render.accountId, 0x665, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x665, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case RA_AIMEDBOLT: target->SendMsg(nullptr, AM_DELETE_MAGIC_TARGET, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - effect = g_effectMgr->Spawn(target->render.accountId, 0x673, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(target->render.accountId, 0x673, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -11467,7 +11466,7 @@ void CGameMode::NotifySkillCasting( if (effect) { effect->Open(); } else { - g_effectMgr->Spawn(source->render.accountId, 0x474, source->render.position.x, source->render.position.y, source->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x474, source->render.position, 0, -1, 0, 0); } } @@ -11486,7 +11485,7 @@ void CGameMode::NotifySkillCasting( } g_modeMgr.GetGameMode()->SendMsg(MM_MAKE_SKILL_USED_MSG, 0x49, reinterpret_cast(source), 0, 0); } else if (skillId == 0x1479) { - g_effectMgr->Spawn(source->render.accountId, 0x7C4, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x7C4, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } CSkillActionMgr::GetInstance()->OnTargetSkillCast(skillId, reinterpret_cast(source), reinterpret_cast(target), delay); @@ -16057,13 +16056,12 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s } if (g_effectMgr->HasAllocator(effectId)) { - g_effectMgr->Spawn(actor->render.accountId, effectId, actor->render.position.x, actor->render.position.y, actor->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, effectId, actor->render.position, 0, -1, 0, 0); } else { const int delayFrames = delay / 16; actor->SendMsg(nullptr, AM_MAKE_BEGIN_SPELL, 0, effectId, effectId >> 31, delayFrames, delayFrames >> 31, 0, 0, 0, 0, 0, 0, 0, 0); } - const vector3d origin{0.0f, 0.0f, 0.0f}; CEffect* effect; switch (skillId) { @@ -16122,13 +16120,13 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s const std::int64_t key = skillId; const vector3d position{0.0f, 0.0f, 0.0f}; if (primaryEffects.find(key) != primaryEffects.end()) { - effect = g_effectMgr->Spawn(actor->render.accountId, static_cast(primaryEffects[key]), position.x, position.y, position.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, static_cast(primaryEffects[key]), position, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } } if (secondaryEffects.find(key) != secondaryEffects.end()) { - effect = g_effectMgr->Spawn(actor->render.accountId, static_cast(secondaryEffects[key]), position.x, position.y, position.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, static_cast(secondaryEffects[key]), position, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16136,7 +16134,7 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s return; } case RK_IGNITIONBREAK: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x65A, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x65A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16149,17 +16147,17 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s return; case WL_TETRAVORTEX: if (g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x5A0, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x5A0, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x597, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x597, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x4FD, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x4FD, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x4ED, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x4ED, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (effect) { effect->SetLifeTime(delay); @@ -16167,69 +16165,69 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s return; case WL_COMET: if (g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x600, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x600, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x603, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x603, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x587, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x587, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x58D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x58D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (effect) { effect->SetLifeTime(delay); } return; case WL_JACKFROST: - effect = g_effectMgr->Spawn(actor->render.accountId, g_serviceOptions.Get(0xE5) ? 0x607 : 0x5A6, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, g_serviceOptions.Get(0xE5) ? 0x607 : 0x5A6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WL_HELLINFERNO: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x610, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x610, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AB_CLEARANCE: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x617, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x617, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WL_SOULEXPANSION: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x633, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x633, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x634, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x634, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AB_JUDEX: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x65D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x65D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x65E, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x65E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WL_CHAINLIGHTNING: - g_effectMgr->Spawn(actor->render.accountId, 0x663, origin.x, origin.y, origin.z, 0, -1, 0, 0); - effect = g_effectMgr->Spawn(actor->render.accountId, 0x664, origin.x, origin.y, origin.z, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x663, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x664, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case RA_AIMEDBOLT: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x671, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x671, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16261,14 +16259,14 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s } else if (id == 0x547) { id = 0x5D0; } - g_effectMgr->Spawn(actor->render.accountId, id, origin.x, origin.y, origin.z, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 0x5D4, origin.x, origin.y, origin.z, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 0x5D5, origin.x, origin.y, origin.z, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, id, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x5D4, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x5D5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - g_effectMgr->Spawn(actor->render.accountId, id, origin.x, origin.y, origin.z, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, id + 1, origin.x, origin.y, origin.z, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 0x568, origin.x, origin.y, origin.z, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 0x569, origin.x, origin.y, origin.z, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, id, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, id + 1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x568, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x569, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } return; } @@ -16285,7 +16283,7 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s vector3d position{0.0f, 0.0f, 0.0f}; static_cast(g_modeMgr.GetGameMode())->CellCenter(x, y, position.x, position.z); position.y = static_cast(g_modeMgr.GetGameMode())->scene->terrain->Height(position.x, position.z); - effect = g_effectMgr->Spawn(0, g_serviceOptions.Get(0xE5) ? 0x5AC : 0x504, position.x, position.y, position.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(0, g_serviceOptions.Get(0xE5) ? 0x5AC : 0x504, position, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16296,7 +16294,7 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s vector3d position{0.0f, 0.0f, 0.0f}; static_cast(g_modeMgr.GetGameMode())->CellCenter(x, y, position.x, position.z); position.y = static_cast(g_modeMgr.GetGameMode())->scene->terrain->Height(position.x, position.z); - effect = g_effectMgr->Spawn(0, g_serviceOptions.Get(0xE5) ? 0x5B0 : 0x50A, position.x, position.y, position.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(0, g_serviceOptions.Get(0xE5) ? 0x5B0 : 0x50A, position, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16304,17 +16302,17 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s } case GN_CARTCANNON: if (g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x5DB, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x5DB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x5DC, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x5DC, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x58E, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x58E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x58F, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x58F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (effect) { effect->SetLifeTime(delay); @@ -16322,23 +16320,23 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s return; case NPC_RAYOFGENESIS: case LG_RAYOFGENESIS: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x591, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x591, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x592, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x592, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case SO_VARETYR_SPEAR: if (!g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x61B, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x61B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x61C, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x61C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16347,271 +16345,271 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s actor->LaunchEffect(0x10, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); return; case SR_GATEOFHELL: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x625, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x625, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case SR_HOWLINGOFLION: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x62A, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x62A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x62B, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x62B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WM_METALICSOUND: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x62D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x62D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x62E, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x62E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case GN_WALLOFTHORN: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x654, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x654, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } if (g_serviceOptions.Get(0xE5)) { return; } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x655, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x655, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case GN_MANDRAGORA: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x669, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x669, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WM_SOUND_OF_DESTRUCTION: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x66A, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x66A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x66B, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x66B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case LG_OVERBRAND: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x697, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x697, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } if (g_serviceOptions.Get(0xE5)) { return; } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x698, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x698, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_DEADLY_PROJECTION: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CA, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CB, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_DESTRUCTIVE_HURRICANE: case AG_STORM_CANNON: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6C6, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6C6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6C7, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6C7, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); effect->AddEvent(0, "effect\\EF_BeginSpell.wav", 0, 0); } return; case AG_SOUL_VC_STRIKE: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CE, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CF, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6CF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_ROCK_DOWN: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6D3, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6D3, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6D4, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6D4, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_RAIN_OF_CRYSTAL: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6D9, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6D9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6DA, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6DA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_CRIMSON_ARROW: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6DD, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6DD, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6DE, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6DE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_VIOLENT_QUAKE: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6E1, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6E1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6E2, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6E2, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_ASTRAL_STRIKE: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6E9, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6E9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6EA, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6EA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_MYSTERY_ILLUSION: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6ED, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6ED, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6EE, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6EE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_TORNADO_STORM: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F2, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F2, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F3, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F3, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_FROZEN_SLASH: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F6, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F7, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x6F7, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_CLIMAX: - g_effectMgr->Spawn(actor->render.accountId, 0x70A, origin.x, origin.y, origin.z, 0, -1, 0, 0); - effect = g_effectMgr->Spawn(actor->render.accountId, 0x70B, origin.x, origin.y, origin.z, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x70A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x70B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetDelay(200); effect->SetLifeTime(delay - 200); } return; case AG_FLORAL_FLARE_ROAD: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x70D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x70D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x70E, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x70E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_ALL_BLOOM: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x704, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x704, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x705, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x705, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case IQ_FIRST_FAITH_POWER: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7B8, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7B8, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case IQ_JUDGE: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7BB, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7BB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case IQ_THIRD_EXOR_FLAME: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7BF, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7BF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_MEDIALE_VOTUM: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x711, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x711, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_ARGUTUS_VITA: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x714, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x714, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_ARGUTUS_TELUM: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x716, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x716, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_PRESENS_ACIES: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x718, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x718, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_ARBITRIUM: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x71F, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x71F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } if (g_serviceOptions.Get(0xE5)) { return; } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x71E, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x71E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_COMPETENTIA: { if (!g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x73B, actor->render.position.x, actor->render.position.y, actor->render.position.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x73B, actor->render.position, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } @@ -16634,197 +16632,197 @@ void LaunchSkillActorEffect(CGameActor* actor, short x, short y, std::uint16_t s return; } case AG_CRYSTAL_IMPACT: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x740, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x740, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x741, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x741, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case MT_SUMMON_ABR_MOTHER_NET: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x76D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x76D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_RELIGIO: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x745, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x745, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WH_FLAMETRAP: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x781, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x781, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WH_DEEPBLINDTRAP: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x751, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x751, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WH_SWIFTTRAP: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x755, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x755, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WH_SOLIDTRAP: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x758, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x758, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x759, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x759, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case ABC_ABYSS_SLAYER: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x84F, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x84F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x850, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x850, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_BENEDICTUM: if (!g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x760, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x760, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x761, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x761, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_PNEUMATICUS_PROCELLA: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7A6, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7A6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case CD_DILECTIO_HEAL: if (!g_serviceOptions.Get(0xE5)) { - effect = g_effectMgr->Spawn(actor->render.accountId, 0x785, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x785, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x786, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x786, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case AG_STRANTUM_TREMOR: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x762, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x762, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x763, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x763, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case MT_SUMMON_ABR_INFINITY: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x774, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x774, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case MT_SUMMON_ABR_BATTLE_WARIOR: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x78F, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x78F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case MT_SUMMON_ABR_DUAL_CANNON: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x77C, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x77C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case WH_HAWKBOOMERANG: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7B1, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7B1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case EM_INCREASING_ACTIVITY: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7C9, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7C9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7CA, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7CA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case EM_ACTIVITY_BURN: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7D4, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7D4, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7D5, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7D5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case EM_SUMMON_ELEMENTAL_SERPENS: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DA, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DB, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case ABC_CHAIN_REACTION_SHOT: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DE, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DF, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7DF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case EM_SUMMON_ELEMENTAL_DILUVIO: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7E5, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7E5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x7E6, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x7E6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } return; case TR_NIPELHEIM_REQUIEM: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x81C, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x81C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay); } - effect = g_effectMgr->Spawn(actor->render.accountId, 0x81D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x81D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->effectLifetime = delay; } return; case TR_MUSICAL_INTERLUDE: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x84B, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x84B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay + 50); } return; case MH_HEILIGE_PFERD: - effect = g_effectMgr->Spawn(actor->render.accountId, 0x91D, origin.x, origin.y, origin.z, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(actor->render.accountId, 0x91D, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(delay + 50); } diff --git a/Source/Contents/Actors/GameObject.cpp b/Source/Contents/Actors/GameObject.cpp index c3e7b8948..3f2fe6cfa 100644 --- a/Source/Contents/Actors/GameObject.cpp +++ b/Source/Contents/Actors/GameObject.cpp @@ -1797,12 +1797,12 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, position.x -= static_cast(offsetX); position.y -= static_cast(offsetY); } - CEffect* effect = g_effectMgr->Spawn(0, 1567, position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, 1567, position, 0, -1, 0, 0); effect->SetAngle(static_cast(std::max(rand() % 360, 0))); } else if (hitEffect == 2132) { const vector3d& playerPosition = static_cast(g_modeMgr.GetGameMode())->scene->player->render.position; g_soundMgr->PlayWave("effect\\ABC_DEFT_STAB2.wav", playerPosition.x - this->render.position.x, 0.0f, playerPosition.z - this->render.position.z, 250, 40, 1.0f, 0); - } else if (g_effectMgr->Spawn(this->render.accountId, hitEffect, offset.x, offset.y, offset.z, 0, -1, 0, 0) == nullptr) { + } else if (g_effectMgr->Spawn(this->render.accountId, hitEffect, offset, 0, -1, 0, 0) == nullptr) { CRagEffect* effect = this->LaunchEffect(hitEffect, offset, 0.0f); if (effect != nullptr) { effect->SendMsg(nullptr, AM_SETCOUNT, 0, 1, 0, 0, 0, 0); @@ -1815,7 +1815,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, this->render.angle -= 360.0f; } } else if (!CSkillActionMgr::GetInstance()->OnSkillDamage(damageMessage->skillId, reinterpret_cast(attacker), this, reinterpret_cast(damageMessage->skillTarget))) { - if (g_effectMgr->Spawn(this->render.accountId, skillEffect, offset.x, offset.y, offset.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, skillEffect, offset, 0, -1, 0, 0) == nullptr) { CRagEffect* effect = this->LaunchEffect(skillEffect, offset, 0.0f); if (effect != nullptr) { effect->SendMsg(nullptr, AM_SETCOUNT, 0, 1, 0, 0, 0, 0); @@ -2363,11 +2363,11 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } const vector3d offset{0.0f, 0.0f, 0.0f}; if (showFirst != 0) { - if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(first, offset, 0.0f); } } - if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(second, offset, 0.0f); } break; @@ -2416,11 +2416,11 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } const vector3d offset{0.0f, 0.0f, 0.0f}; if (showFirst != 0) { - if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(first, offset, 0.0f); } } - if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(second, offset, 0.0f); } break; @@ -2445,11 +2445,11 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } const vector3d offset{0.0f, 0.0f, 0.0f}; if (showFirst != 0) { - if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(first, offset, 0.0f); } } - if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(second, offset, 0.0f); } break; @@ -2468,11 +2468,11 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, const int second = g_session.m_maxLevelEffect4thSub; const vector3d offset{0.0f, 0.0f, 0.0f}; if (showFirst != 0) { - if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, first, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(first, offset, 0.0f); } } - if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) == nullptr) { + if (g_effectMgr->Spawn(this->render.accountId, second, this->render.position, 0, -1, 0, 0) == nullptr) { this->LaunchEffect(second, offset, 0.0f); } break; @@ -3070,9 +3070,9 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, id + 0xA7); } if (g_serviceOptions.Get(0xE5)) { - g_effectMgr->Spawn(this->render.accountId, f + 0x5BA, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, f + 0x5BA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - g_effectMgr->Spawn(this->render.accountId, f + 0x513, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, f + 0x513, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } } else { @@ -3312,7 +3312,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_KO_JYUMONJIKIRI: g_effectMgr->Retire(this->render.accountId, 0x3E6); if ((static_cast(e) << 32 | static_cast(d)) != 0 && g_effectMgr->HasAllocator(0x3E6)) { - g_effectMgr->Spawn(this->render.accountId, 0x3E6, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x3E6, this->render.position, 0, -1, 0, 0); } break; case EFST_KYOMU: @@ -3355,7 +3355,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_GENSOU: g_effectMgr->Retire(this->render.accountId, 0x3ED); if ((static_cast(e) << 32 | static_cast(d)) != 0 && g_effectMgr->HasAllocator(0x3ED)) { - CEffect* orb = g_effectMgr->Spawn(this->render.accountId, 0x3ED, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* orb = g_effectMgr->Spawn(this->render.accountId, 0x3ED, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (orb) { static_cast(orb)->SetCount(10); } @@ -3411,7 +3411,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_FLOWER_LEAF: if ((static_cast(e) << 32 | static_cast(d)) != 0) { - g_effectMgr->Spawn(this->render.accountId, 0x3F5, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x3F5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x3F5); } @@ -3503,26 +3503,26 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, this->SendMsg(this, AM_DELETE_EFFECT, 0, 0x433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); if (on) { if (g_session.actorEffectStates.find(static_cast(this->render.accountId)) == g_session.actorEffectStates.end() && g_effectMgr->HasAllocator(0x425)) { - g_effectMgr->Spawn(this->render.accountId, 0x425, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x425, this->render.position, 0, -1, 0, 0); } if (g_effectMgr->HasAllocator(0x433)) { - g_effectMgr->Spawn(this->render.accountId, 0x433, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x433, this->render.position, 0, -1, 0, 0); } } break; case EFST_ANTI_M_BLAST: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x470, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x470, this->render.position, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x470); } break; case EFST_E_QD_SHOT_READY: - g_effectMgr->Spawn(0, 0x434, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x434, this->render.position, 0, -1, 0, 0); break; case EFST_H_MINE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x473, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x473, this->render.position, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x473); } @@ -3530,7 +3530,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_H_MINE_SPLASH: if (on) { this->SendMsg(nullptr, AM_DELETE_EFFECT, 0, 0x425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - g_effectMgr->Spawn(0, 0x432, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x432, this->render.position, 0, -1, 0, 0); } break; case EFST_FLOWERSMOKE: @@ -3614,7 +3614,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_MARKING_USE_CHANGEMONSTER: if ((static_cast(e) << 32 | static_cast(d)) != 0) { - g_effectMgr->Spawn(this->render.accountId, 0x442, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x442, this->render.position, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x442); } @@ -3646,7 +3646,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_SPRITEMABLE: g_effectMgr->Retire(this->render.accountId, 0x448); if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x448, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x448, this->render.position, 0, -1, 0, 0); } break; case EFST_SUHIDE: @@ -3673,7 +3673,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_TUNAPARTY: if (on == true) { if (!g_effectMgr->Has(this->render.accountId, 0x449)) { - g_effectMgr->Spawn(this->render.accountId, 0x449, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x449, this->render.position, 0, -1, 0, 0); } } else { g_effectMgr->Retire(this->render.accountId, 0x449); @@ -3681,14 +3681,14 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_SV_ROOTTWIST: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x456, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x456, this->render.position, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x456); } break; case EFST_BITESCAR: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x45F, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x45F, this->render.position, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x45F); } @@ -3710,7 +3710,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_IMMUNE_PROPERTY_UNDEAD: { const int effectId = b + 0x87; if (on == true) { - g_effectMgr->Spawn(this->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (g_effectMgr->Has(this->render.accountId, effectId) == true) { g_effectMgr->Retire(this->render.accountId, effectId); } @@ -3721,7 +3721,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4B1); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4B1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4B1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const vector3d& player = reinterpret_cast(static_cast(g_modeMgr.GetGameMode())->scene->player)->render.position; g_soundMgr->PlayWave( @@ -3736,7 +3736,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4BE); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4BE, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4BE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_LUNARSTANCE: @@ -3744,7 +3744,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4BF); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4BF, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4BF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_STARSTANCE: @@ -3752,7 +3752,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4C0); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4C0, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4C0, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_UNIVERSESTANCE: @@ -3760,7 +3760,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4C1); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4C1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4C1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_FLASHKICK: @@ -3768,7 +3768,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4C5); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4C5, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4C5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_SOULUNITY: { @@ -3776,7 +3776,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(this->render.accountId, 0x4C6); } if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x4C6, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4C6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const vector3d& player = reinterpret_cast(static_cast(g_modeMgr.GetGameMode())->scene->player)->render.position; g_soundMgr->PlayWave( @@ -3801,7 +3801,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, if (g_effectMgr->Find(this->render.accountId, 0x552)) { break; } - g_effectMgr->Spawn(this->render.accountId, 0x552, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x552, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); g_soundMgr->PlayWave("effect\\s포이즌버스터.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); } else { CEffect* const effect = g_effectMgr->Find(this->render.accountId, 0x552); @@ -3820,7 +3820,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } g_effectMgr->Retire(actor->render.accountId, 0x66C); if (on == true) { - g_effectMgr->Spawn(actor->render.accountId, 0x66C, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x66C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; } @@ -3916,7 +3916,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } g_effectMgr->Retire(actor->render.accountId, 0x63F); if (on == true) { - g_effectMgr->Spawn(actor->render.accountId, 0x63F, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x63F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; } @@ -3985,7 +3985,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, if ((static_cast(e) << 32 | static_cast(d)) == 1) { this->SendMsg(nullptr, AM_MAKE_DEEPSILENCE_EFFECT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); g_effectMgr->Retire(this->render.accountId, 0x8C5); - g_effectMgr->Spawn(this->render.accountId, 0x8C5, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8C5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { this->SendMsg(nullptr, AM_DELETE_DEEPSILENCE_EFFECT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); g_effectMgr->Retire(this->render.accountId, 0x8C5); @@ -3994,21 +3994,21 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_HANDICAPSTATE_LASSITUDE: if ((static_cast(e) << 32 | static_cast(d)) == 1) { this->SendMsg(nullptr, AM_MAKE_LASSITUDE_EFFECT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8C4, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8C4, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { this->SendMsg(nullptr, AM_DELETE_LASSITUDE_EFFECT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } break; case EFST_HANDICAPSTATE_FROSTBITE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x8DE, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8DE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (g_effectMgr->Has(this->render.accountId, 0x8DE)) { g_effectMgr->Retire(this->render.accountId, 0x8DE); - g_effectMgr->Spawn(this->render.accountId, 0x8DF, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8DF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (this->render.accountId == g_session.m_aid) { if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x8E0, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8E0, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x8E0); } @@ -4017,12 +4017,12 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_HANDICAPSTATE_LIGHTNINGSTRIKE: g_effectMgr->Retire(this->render.accountId, 0x8DC); if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x8DC, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8DC, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_HANDICAPSTATE_CRYSTALLIZATION: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x8E1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8E1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x8E1); } @@ -4030,7 +4030,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_HANDICAPSTATE_HOLYFLAME: if (on == true) { this->SendMsg(nullptr, AM_CHANGE_COLOR, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8C6, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8C6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { this->SendMsg(nullptr, AM_RETURN_COLOR, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } @@ -4040,7 +4040,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, if (on == true) { this->SendMsg(nullptr, AM_CHANGE_COLOR, 0, 0xFF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); g_effectMgr->Retire(this->render.accountId, 0x8DD); - g_effectMgr->Spawn(this->render.accountId, 0x8DD, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8DD, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { this->SendMsg(nullptr, AM_RETURN_COLOR, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); g_effectMgr->Retire(this->render.accountId, 0x8DD); @@ -4057,7 +4057,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_HANDICAPSTATE_DEADLYPOISON: if (on == true) { this->SendMsg(nullptr, AM_CHANGE_COLOR, 0, 0xAA, 0, 0, 0, 0xAA, 0, 0, 0, 0, 0, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8E2, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8E2, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { this->SendMsg(nullptr, AM_RETURN_COLOR, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); g_effectMgr->Retire(this->render.accountId, 0x8E2); @@ -4083,16 +4083,16 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, g_effectMgr->Retire(actor->render.accountId, 0x6BE); g_effectMgr->Retire(actor->render.accountId, 0x6BF); if (on == true) { - g_effectMgr->Spawn(actor->render.accountId, 0x6BE, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 0x6BF, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x6BE, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 0x6BF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; } case EFST_FIRST_BRAND: { if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x806, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* const second = g_effectMgr->Spawn(this->render.accountId, 0x803, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* const third = g_effectMgr->Spawn(this->render.accountId, 0x804, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x806, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* const second = g_effectMgr->Spawn(this->render.accountId, 0x803, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* const third = g_effectMgr->Spawn(this->render.accountId, 0x804, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (second) { second->SetDelay(1000); } @@ -4107,9 +4107,9 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } case EFST_SECOND_BRAND: { if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x821, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* const second = g_effectMgr->Spawn(this->render.accountId, 0x81e, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* const third = g_effectMgr->Spawn(this->render.accountId, 0x81f, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x821, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* const second = g_effectMgr->Spawn(this->render.accountId, 0x81e, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* const third = g_effectMgr->Spawn(this->render.accountId, 0x81f, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (second) { second->SetDelay(1000); } @@ -4125,7 +4125,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, } case EFST_HOLY_OIL: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x7c7, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7c7, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x7c7); } @@ -4133,7 +4133,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_MEDIALE: if (on == true) { if (!g_serviceOptions.Get(0xe5) && !g_effectMgr->Find(this->render.accountId, 0x712)) { - g_effectMgr->Spawn(this->render.accountId, 0x712, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x712, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } else { g_effectMgr->Retire(this->render.accountId, 0x712); @@ -4141,7 +4141,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_DEADLY_DEFEASANCE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x6cd, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x6cd, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (CEffect* const effect = g_effectMgr->Find(this->render.accountId, 0x6cd)) { g_effectMgr->Retire(effect, 1); } @@ -4149,20 +4149,20 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_CLIMAX: g_effectMgr->Retire(this->render.accountId, 0x708); if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x708, this->render.position.x, this->render.position.y, this->render.position.z, 0, f, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x708, this->render.position, 0, f, 0, 0); } break; case EFST_FIRST_FAITH_POWER: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x7b7, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7b7, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x7b7); } break; case EFST_SECOND_JUDGE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x7ba, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x7bd, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7ba, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7bd, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x7ba); g_effectMgr->Retire(this->render.accountId, 0x7bd); @@ -4170,8 +4170,8 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_THIRD_EXOR_FLAME: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x7be, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x7c1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7be, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7c1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x7be); g_effectMgr->Retire(this->render.accountId, 0x7c1); @@ -4179,14 +4179,14 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_ABYSS_SLAYER: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x84e, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x84e, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x84e); } break; case EFST_D_MACHINE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x719, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x719, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); this->LaunchEffect(0x8f8, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } else if (CEffect* const effect = g_effectMgr->Find(this->render.accountId, 0x719)) { g_effectMgr->Retire(effect, 1); @@ -4194,7 +4194,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_A_MACHINE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x72f, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x72f, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x72f); } @@ -4202,10 +4202,10 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_COMPETENTIA: if (on == true) { if (!g_effectMgr->Find(this->render.accountId, 0x73d)) { - g_effectMgr->Spawn(this->render.accountId, 0x73d, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x73d, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (!g_serviceOptions.Get(0xe5) && !g_effectMgr->Find(this->render.accountId, 0x73c)) { - g_effectMgr->Spawn(this->render.accountId, 0x73c, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x73c, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } this->LaunchEffect(0x8fc, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } else { @@ -4222,7 +4222,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, case EFST_CLIMAX_CRYIMP: if (on == true) { if (!g_effectMgr->Find(this->render.accountId, 0x743)) { - g_effectMgr->Spawn(this->render.accountId, 0x743, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x743, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } else { g_effectMgr->Retire(this->render.accountId, 0x743); @@ -4230,21 +4230,21 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_SOUNDBLEND: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x80c, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x80c, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (CEffect* const effect = g_effectMgr->Find(this->render.accountId, 0x80c)) { g_effectMgr->Retire(effect, 1); } break; case EFST_WINDSIGN: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x76c, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x76c, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x76c); } break; case EFST_E_SLASH_COUNT: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x779, this->render.position.x, this->render.position.y, this->render.position.z, 0, f, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x779, this->render.position, 0, f, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x779); } @@ -4258,7 +4258,7 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_BO_HELL_DUSTY: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x8be, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8be, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_CLOUD_POISON: @@ -4298,22 +4298,22 @@ void CGameActor::SendMsg(CGameObject* sender, int message, int a, int b, int c, break; case EFST_KILLING_AURA: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x8fe, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8fe, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { g_effectMgr->Retire(this->render.accountId, 0x8fe); - g_effectMgr->Spawn(this->render.accountId, 0x8ff, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8ff, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case EFST_CURSE_R_CUBE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x901, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x901, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (CEffect* const effect = g_effectMgr->Find(this->render.accountId, 0x901)) { static_cast(effect)->Restart(); } break; case EFST_CURSE_B_CUBE: if (on == true) { - g_effectMgr->Spawn(this->render.accountId, 0x902, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x902, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (CEffect* const effect = g_effectMgr->Find(this->render.accountId, 0x902)) { static_cast(effect)->Restart(); } diff --git a/Source/Contents/Actors/RenderObject.cpp b/Source/Contents/Actors/RenderObject.cpp index c3006e022..a4c8724eb 100644 --- a/Source/Contents/Actors/RenderObject.cpp +++ b/Source/Contents/Actors/RenderObject.cpp @@ -3200,7 +3200,7 @@ void CGameActor::SetEffectState(int effectId, bool on) { // FUNCTION: fn_21021 void CGameActor::SetEffectInstance(int effectId, int instance, bool on) { if (on) { - g_effectMgr->Spawn(this->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, instance); + g_effectMgr->Spawn(this->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, instance); } else { g_effectMgr->Retire(this->render.accountId, instance, effectId); } @@ -4295,23 +4295,23 @@ void CGameActor::SetCharm(int type, int count) { CEffect* effect; if (type == 1) { effect = g_effectMgr->Spawn( - this->render.accountId, 0x2E1, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0 + this->render.accountId, 0x2E1, this->render.position, 0, -1, 0, 0 ); } else if (type == 2) { effect = g_effectMgr->Spawn( - this->render.accountId, 0x2E2, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0 + this->render.accountId, 0x2E2, this->render.position, 0, -1, 0, 0 ); } else if (type == 3) { effect = g_effectMgr->Spawn( - this->render.accountId, 0x2DF, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0 + this->render.accountId, 0x2DF, this->render.position, 0, -1, 0, 0 ); } else if (type == 4) { effect = g_effectMgr->Spawn( - this->render.accountId, 0x2E0, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0 + this->render.accountId, 0x2E0, this->render.position, 0, -1, 0, 0 ); } else if (type == 5) { effect = g_effectMgr->Spawn( - this->render.accountId, 0xE4, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0 + this->render.accountId, 0xE4, this->render.position, 0, -1, 0, 0 ); } else { return; @@ -5785,8 +5785,8 @@ void CGameActor::ProcessSkillMessage(CGameObject*, const ActorSkillInfo* info, i this->SetFrameSequence(0x60, 3, 3, 0x60, 3, 1, g_session.FindActorSkillAnimationValue(this->render.accountId), 0); static_cast(g_modeMgr.GetGameMode())->SendMsg(MM_QUAKE, 0, 0, 0, 0); g_soundMgr->PlayWave("effect\\SR_FALLENEMPIRE.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); - g_effectMgr->Spawn(target->render.accountId, 0x622, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, 0x623, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x622, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x623, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case SR_RAMPAGEBLASTER: if (target != this) { diff --git a/Source/Contents/Actors/Skill.cpp b/Source/Contents/Actors/Skill.cpp index 60693b16d..de7fc94bd 100644 --- a/Source/Contents/Actors/Skill.cpp +++ b/Source/Contents/Actors/Skill.cpp @@ -219,7 +219,7 @@ void CSkill::Render(int argument) { // FUNCTION: fn_24271 void CSkill::LaunchGroundEffects(int effectId, int, int duration) { if (g_effectMgr->HasAllocator(effectId)) { - g_effectMgr->Spawn(this->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 1, 0); + g_effectMgr->Spawn(this->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 1, 0); } unsigned interval = EffectLifetime(effectId) - 20; @@ -646,34 +646,34 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int return; } case UNT_PNEUMA: - g_effectMgr->Spawn(this->render.accountId, 0x8D, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8D, position, 0, -1, 0, 0); return; case UNT_B_TRAP: switch (unit->level) { case 1: - g_effectMgr->Spawn(this->render.accountId, 0x42D, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x42D, position, 0, -1, 0, 0); return; case 2: case 3: - g_effectMgr->Spawn(this->render.accountId, 0x42E, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x42E, position, 0, -1, 0, 0); return; case 4: case 5: - g_effectMgr->Spawn(this->render.accountId, 0x42F, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x42F, position, 0, -1, 0, 0); return; } return; case UNT_CATNIPPOWDER: - g_effectMgr->Spawn(this->render.accountId, 0x450, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x450, position, 0, unit->level, 0, 0); return; case UNT_NYANGGRASS: { const vector3d& player = static_cast(g_modeMgr.GetGameMode())->scene->player->render.position; g_soundMgr->PlayWave("effect\\su_nyanggrass.wav", position.x - player.x, 0.0f, position.z - player.z, 250, 40, 1.0f, 0); - g_effectMgr->Spawn(this->render.accountId, 0x465, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x465, position, 0, unit->level, 0, 0); return; } case UNT_CREATINGSTAR: { - g_effectMgr->Spawn(this->render.accountId, 0x4B0, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x4B0, position, 0, -1, 0, 0); const vector3d& player = static_cast(g_modeMgr.GetGameMode())->scene->player->render.position; g_soundMgr->PlayWave("effect\\g카트토네이도.wav", position.x - player.x, 0.0f, position.z - player.z, 250, 40, 1.0f, 0); return; @@ -698,56 +698,56 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int } return; case UNT_PNEUMATICUS_PROCELLA: - g_effectMgr->Spawn(this->render.accountId, 0x7A5, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7A5, position, 0, unit->level, 0, 0); return; case UNT_RAIN_OF_CRYSTAL: if (!g_effectMgr->Has(this->render.accountId, 0x6D8)) { g_effectMgr->Retire(this->render.accountId, 0x6D8); } - g_effectMgr->Spawn(this->render.accountId, 0x6D8, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x6D8, position, 0, unit->level, 0, 0); return; case UNT_VIOLENT_QUAKE: g_effectMgr->Retire(this->render.accountId, 0x701); - g_effectMgr->Spawn(this->render.accountId, 0x701, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x701, position, 0, unit->level, 0, 0); return; case UNT_ASTRAL_STRIKE: if (!g_effectMgr->Has(this->render.accountId, 0x6E8)) { g_effectMgr->Retire(this->render.accountId, 0x6E8); } - g_effectMgr->Spawn(this->render.accountId, 0x6E8, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x6E8, position, 0, unit->level, 0, 0); return; case UNT_MYSTERY_ILLUSION: if (!g_effectMgr->Has(this->render.accountId, 0x6EC)) { g_effectMgr->Retire(this->render.accountId, 0x6EC); } - g_effectMgr->Spawn(this->render.accountId, 0x6EC, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x6EC, position, 0, unit->level, 0, 0); return; case UNT_TORNADO_STORM: if (!g_effectMgr->Has(this->render.accountId, 0x6F0)) { g_effectMgr->Retire(this->render.accountId, 0x6F0); } - g_effectMgr->Spawn(this->render.accountId, 0x6F0, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x6F0, position, 0, unit->level, 0, 0); if (!g_effectMgr->Has(this->render.accountId, 0x6F1)) { g_effectMgr->Retire(this->render.accountId, 0x6F1); } - g_effectMgr->Spawn(this->render.accountId, 0x6F1, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x6F1, position, 0, unit->level, 0, 0); return; case UNT_ALL_BLOOM: g_effectMgr->Retire(this->render.accountId, 0x702); - g_effectMgr->Spawn(this->render.accountId, 0x702, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x702, position, 0, unit->level, 0, 0); g_effectMgr->Retire(this->render.accountId, 0x703); - g_effectMgr->Spawn(this->render.accountId, 0x703, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x703, position, 0, unit->level, 0, 0); return; case UNT_FLORAL_FLARE_ROAD: g_effectMgr->Retire(this->render.accountId, 0x70C); - g_effectMgr->Spawn(this->render.accountId, 0x70C, position.x, position.y, position.z, 0, unit->level, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x70C, position, 0, unit->level, 0, 0); return; case UNT_STRANTUM_TREMOR: for (std::int64_t effectId = 0x765; effectId <= 0x766; ++effectId) { if (!g_effectMgr->Has(this->render.accountId, static_cast(effectId))) { g_effectMgr->Retire(this->render.accountId, static_cast(effectId)); } - CEffect* effect = g_effectMgr->Spawn(this->render.accountId, static_cast(effectId), position.x, position.y, position.z, 0, unit->level, 0, 0); + CEffect* effect = g_effectMgr->Spawn(this->render.accountId, static_cast(effectId), position, 0, unit->level, 0, 0); if (effect != nullptr) { effect->SetAngle(90.0f); static_cast(effect)->followCamera = 1; @@ -758,113 +758,113 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int if (!g_effectMgr->Has(this->render.accountId, 0x7EF)) { g_effectMgr->Retire(this->render.accountId, 0x7EF); } - g_effectMgr->Spawn(this->render.accountId, 0x7EF, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7EF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_LIGHTNING_LAND: if (!g_effectMgr->Has(this->render.accountId, 0x7FA)) { g_effectMgr->Retire(this->render.accountId, 0x7FA); } - g_effectMgr->Spawn(this->render.accountId, 0x7FA, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7FA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (!g_effectMgr->Has(this->render.accountId, 0x7F9)) { g_effectMgr->Retire(this->render.accountId, 0x7F9); } - g_effectMgr->Spawn(this->render.accountId, 0x7F9, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x7F9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_CONFLAGRATION: if (!g_effectMgr->Has(this->render.accountId, 0x808)) { g_effectMgr->Retire(this->render.accountId, 0x808); } - g_effectMgr->Spawn(this->render.accountId, 0x808, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x808, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (!g_effectMgr->Has(this->render.accountId, 0x807)) { g_effectMgr->Retire(this->render.accountId, 0x807); } - g_effectMgr->Spawn(this->render.accountId, 0x807, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x807, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_ABYSS_SQUARE: - g_effectMgr->Spawn(this->render.accountId, 0x852, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x851, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x852, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x851, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_ACIDIFIED_ZONE_FIRE: { - g_effectMgr->Spawn(this->render.accountId, 0x8A0, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8A1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8A2, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8A0, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8A1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8A2, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } - effect = g_effectMgr->Spawn(this->render.accountId, 0x8A3, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(this->render.accountId, 0x8A3, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } return; } case UNT_ACIDIFIED_ZONE_WATER: { - g_effectMgr->Spawn(this->render.accountId, 0x8A8, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8A9, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8AA, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8A8, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8A9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8AA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } - effect = g_effectMgr->Spawn(this->render.accountId, 0x8AB, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(this->render.accountId, 0x8AB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } return; } case UNT_ACIDIFIED_ZONE_WIND: { - g_effectMgr->Spawn(this->render.accountId, 0x8B0, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8B1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8B2, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8B0, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8B1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8B2, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } - effect = g_effectMgr->Spawn(this->render.accountId, 0x8B3, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(this->render.accountId, 0x8B3, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } return; } case UNT_ACIDIFIED_ZONE_GROUND: { - g_effectMgr->Spawn(this->render.accountId, 0x8B8, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(this->render.accountId, 0x8B9, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8BA, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8B8, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x8B9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(this->render.accountId, 0x8BA, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } - effect = g_effectMgr->Spawn(this->render.accountId, 0x8BB, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = g_effectMgr->Spawn(this->render.accountId, 0x8BB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect != nullptr) { effect->SetDelay(10); } return; } case UNT_CANE_OF_EVIL_EYE: - g_effectMgr->Spawn(this->render.accountId, 0x903, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x903, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_DEEPBLINDTRAP: this->render.visibilityOptions[1] = 1; this->ShowModel(this->GetTrapModelName()); if (this->render.enabled) { - g_effectMgr->Spawn(this->render.accountId, 0x752, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x752, position, 0, -1, 0, 0); } return; case UNT_SWIFTTRAP: this->render.visibilityOptions[1] = 1; this->ShowModel(this->GetTrapModelName()); if (this->render.enabled) { - g_effectMgr->Spawn(this->render.accountId, 0x756, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x756, position, 0, -1, 0, 0); } return; case UNT_SOLIDTRAP: this->render.visibilityOptions[1] = 1; this->ShowModel(this->GetTrapModelName()); if (this->render.enabled) { - g_effectMgr->Spawn(this->render.accountId, 0x75A, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x75A, position, 0, -1, 0, 0); } return; case UNT_FLAMETRAP: this->render.visibilityOptions[1] = 1; this->ShowModel(this->GetTrapModelName()); if (this->render.enabled) { - g_effectMgr->Spawn(this->render.accountId, 0x77F, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x77F, position, 0, -1, 0, 0); } return; default: { @@ -874,7 +874,7 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int return; } case 0x532C: - g_effectMgr->Spawn(this->render.accountId, 0x925, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x925, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; } } @@ -890,7 +890,7 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int } case UNT_USED_TRAPS: if (this->m_effectId != -1 && - !g_effectMgr->Spawn(0, this->m_effectId, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0)) { + !g_effectMgr->Spawn(0, this->m_effectId, this->render.position, 0, -1, 0, 0)) { CRagEffect* effect = this->LaunchEffect(this->m_effectId, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); if (effect != nullptr) { effect->SendMsg(nullptr, AM_SETPOS, 0, reinterpret_cast(&this->render.position), 0, 0, 0, 0); @@ -929,16 +929,16 @@ void CSkill::SendMsg(CGameObject* sender, int message, int a, int b, int c, int switch (this->GetEffectiveJob(-1)) { case UNT_DEEPBLINDTRAP: - g_effectMgr->Spawn(this->render.accountId, 0x752, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x752, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_SOLIDTRAP: - g_effectMgr->Spawn(this->render.accountId, 0x75A, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x75A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_SWIFTTRAP: - g_effectMgr->Spawn(this->render.accountId, 0x756, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x756, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; case UNT_FLAMETRAP: - g_effectMgr->Spawn(this->render.accountId, 0x77F, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x77F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); return; } return; diff --git a/Source/Contents/Effects/Core/DummyEffectLauncher.cpp b/Source/Contents/Effects/Core/DummyEffectLauncher.cpp index 6d3baa247..1d2e3426c 100644 --- a/Source/Contents/Effects/Core/DummyEffectLauncher.cpp +++ b/Source/Contents/Effects/Core/DummyEffectLauncher.cpp @@ -29,7 +29,7 @@ __declspec(safebuffers) void CDummyEffectLauncher::SendMsg(CGameObject* sender, this->render.position.z = position->z; this->render.visible = 0; this->render.motionStartTime = timeGetTime(); - if (g_effectMgr->Spawn(0, d, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0) != nullptr) { + if (g_effectMgr->Spawn(0, d, this->render.position, 0, -1, 0, 0) != nullptr) { return; } diff --git a/Source/Contents/Effects/Core/EffectLists.cpp b/Source/Contents/Effects/Core/EffectLists.cpp index 91f7e2c0f..742f1e992 100644 --- a/Source/Contents/Effects/Core/EffectLists.cpp +++ b/Source/Contents/Effects/Core/EffectLists.cpp @@ -289,7 +289,7 @@ void EffectLists::Add(int actor, CEffect* effect) { // OFFSET: 0x00B24A50 // FUNCTION: fn_18774 -CEffect* EffectLists::Spawn(int actor, int id, float x, float y, float z, std::uint32_t sourceActor, int frame, unsigned char reuse, int instance) { +CEffect* EffectLists::Spawn(int actor, int id, vector3d position, std::uint32_t sourceActor, int frame, unsigned char reuse, int instance) { CEffect* effect = nullptr; if (id < 0 || id > 60000) { @@ -368,9 +368,9 @@ CEffect* EffectLists::Spawn(int actor, int id, float x, float y, float z, std::u if (effect) { effect->SetActor(actor); effect->SetSourceActor(sourceActor); - effect->position[0] = x; - effect->position[1] = y; - effect->position[2] = z; + effect->position[0] = position.x; + effect->position[1] = position.y; + effect->position[2] = position.z; effect->SetId(id); if (frame != -1) { effect->effectLevel = frame; diff --git a/Source/Contents/Effects/Core/EffectLists.h b/Source/Contents/Effects/Core/EffectLists.h index edca843bd..8caa37c74 100644 --- a/Source/Contents/Effects/Core/EffectLists.h +++ b/Source/Contents/Effects/Core/EffectLists.h @@ -30,7 +30,11 @@ public: virtual ~EffectLists(); - CEffect* Spawn(int actor, int id, float x, float y, float z, std::uint32_t sourceActor, int frame, unsigned char reuse, int instance); + CEffect* Spawn(int actor, int id, vector3d position, std::uint32_t sourceActor, int frame, unsigned char reuse, int instance); + // INLINED + CEffect* Spawn(int actor, int id, float x, float y, float z, std::uint32_t sourceActor, int frame, unsigned char reuse, int instance) { + return Spawn(actor, id, vector3d{x, y, z}, sourceActor, frame, reuse, instance); + } CEffect* Find(int actor, int id) const; CEffect* Find(int actor, int instance, int id) const; CEffect* At(int id, unsigned index) const; diff --git a/Source/Contents/Effects/Core/MsgEffect.cpp b/Source/Contents/Effects/Core/MsgEffect.cpp index 8125b8efe..98925e2d0 100644 --- a/Source/Contents/Effects/Core/MsgEffect.cpp +++ b/Source/Contents/Effects/Core/MsgEffect.cpp @@ -567,7 +567,7 @@ bool CSkill::OnProcess() { if (!this->m_hasEffect) { this->m_hasEffect = true; this->LaunchEffect(0x677, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); - g_effectMgr->Spawn(this->render.accountId, 0x676, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x676, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; @@ -614,9 +614,9 @@ bool CSkill::OnProcess() { int random = rand() % 100; random = random < 0 ? 0 : random; if (random == 1) { - g_effectMgr->Spawn(this->skillAid, 0x60A, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->skillAid, 0x60A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else if (random == 2) { - g_effectMgr->Spawn(this->skillAid, 0x60B, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->skillAid, 0x60B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } break; @@ -730,7 +730,7 @@ bool CSkill::OnProcess() { break; case UNT_EVILLAND: - if (!this->m_hasEffect && g_effectMgr->Spawn(this->skillAid, 0x613, this->render.position.x, this->render.position.y, this->render.position.z, 0, this->range * 2, 0, 0)) { + if (!this->m_hasEffect && g_effectMgr->Spawn(this->skillAid, 0x613, this->render.position, 0, this->range * 2, 0, 0)) { this->m_hasEffect = true; } break; @@ -763,7 +763,7 @@ bool CSkill::OnProcess() { break; case UNT_CLOUD_KILL: - if (!this->m_hasEffect && g_effectMgr->Spawn(this->skillAid, 0x438, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0)) { + if (!this->m_hasEffect && g_effectMgr->Spawn(this->skillAid, 0x438, this->render.position, 0, -1, 0, 0)) { this->m_hasEffect = true; this->m_effectId = 0x438; } @@ -810,7 +810,7 @@ bool CSkill::OnProcess() { if (this->m_effectTimer >= EffectLifetime(0x5F) - 20u) { this->m_effectTimer = 0; if (g_serviceOptions.Get(0xE5)) { - g_effectMgr->Spawn(0, 0x489, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x489, this->render.position, 0, -1, 0, 0); } else { this->LaunchEffect(0x5F, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } @@ -871,7 +871,7 @@ bool CSkill::OnProcess() { case UNT_SEVERE_RAINSTORM: if (this->m_effectTimer >= EffectLifetime(0x359) - 8u) { this->m_effectTimer = 0; - g_effectMgr->Spawn(0, 0x4FC, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x4FC, this->render.position, 0, -1, 0, 0); g_soundMgr->PlayWave("effect\\rainstorm.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); } break; @@ -1052,7 +1052,7 @@ bool CSkill::OnProcess() { case UNT_POWER_OF_GAIA: if (this->m_effectTimer >= EffectLifetime(0x440) - 1u) { this->m_effectTimer = 0; - g_effectMgr->Spawn(this->render.accountId, 0x440, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(this->render.accountId, 0x440, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; @@ -1196,14 +1196,14 @@ bool CSkill::OnProcess() { case UNT_FIRE_RAIN: if (this->m_effectTimer >= EffectLifetime(0x428) - 1u) { this->m_effectTimer = 0; - g_effectMgr->Spawn(0, 0x428, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x428, this->render.position, 0, -1, 0, 0); } break; case UNT_GLITTERING_GREED: if (!this->m_hasEffect) { this->m_hasEffect = true; - g_effectMgr->Spawn(0, 0x4FE, this->render.position.x, this->render.position.y, this->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x4FE, this->render.position, 0, -1, 0, 0); } break; diff --git a/Source/Contents/Effects/Core/RagEffect.cpp b/Source/Contents/Effects/Core/RagEffect.cpp index 5b5eabdde..226368d5d 100644 --- a/Source/Contents/Effects/Core/RagEffect.cpp +++ b/Source/Contents/Effects/Core/RagEffect.cpp @@ -22343,7 +22343,7 @@ bool CRagEffect::OnProcess3() { case EF_NEW_SEVERERAINSTORM_HIT: if (this->state.stateCnt % 30 == 0) { const vector3d& position = this->state.parent->render.position; - g_effectMgr->Spawn(0, g_serviceOptions.Get(229) ? 1533 : 1285, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, g_serviceOptions.Get(229) ? 1533 : 1285, position, 0, -1, 0, 0); } this->SevereRainstormCylinder(45, "", 3, 3.0f); this->SevereRainstormCylinder(45, "", 3, 3.0f); @@ -22408,7 +22408,7 @@ bool CRagEffect::OnProcess3() { const float x = m[0] * static_cast(distance) + m[3] * offset.x + m[6] * offset.x + m[9] + this->render.position.x; const float y = m[1] * static_cast(distance) + m[4] * offset.x + m[7] * offset.x + m[10] + this->render.position.y; const float z = m[2] * static_cast(distance) + m[5] * offset.x + m[8] * offset.x + m[11] + this->render.position.z; - g_effectMgr->Spawn(0, g_serviceOptions.Get(229) ? 1544 : 1447, x, y, z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, g_serviceOptions.Get(229) ? 1544 : 1447, vector3d{x, y, z}, 0, -1, 0, 0); } } if (this->state.stateCnt == 0) { diff --git a/Source/Contents/Effects/Core/ShowEffect.cpp b/Source/Contents/Effects/Core/ShowEffect.cpp index dcf03f9a0..05c7e0eb8 100644 --- a/Source/Contents/Effects/Core/ShowEffect.cpp +++ b/Source/Contents/Effects/Core/ShowEffect.cpp @@ -22,6 +22,11 @@ namespace { return world->GetGameActorByAID(actorId); } + + // INLINED + bool HasEffect(const std::map& effects, int tag) { + return effects.find(tag) != effects.end(); + } } // OFFSET: 0x00729400 @@ -33,11 +38,12 @@ CShowEffect::CShowEffect() : CEffect(0x947), effects() { // FUNCTION: fn_07446 void CShowEffect::Add(int tag, int effectId) { const std::uint32_t actorId = this->actor; - if (this->effects.find(tag) != this->effects.end() || g_effectMgr->Find(actorId, effectId)) { + if (HasEffect(this->effects, tag) || g_effectMgr->Find(actorId, effectId)) { return; } - if (!g_effectMgr->Spawn(actorId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, tag)) { + EffectLists* effects = g_effectMgr; + if (!effects->Spawn(actorId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, tag)) { if (!g_modeMgr.GetGameMode()) { return; } @@ -86,13 +92,6 @@ unsigned CShowEffect::Count() const { return this->effects.size(); } -namespace { - // INLINED - bool HasEffect(const std::map& effects, int tag) { - return effects.find(tag) != effects.end(); - } -} - // OFFSET: 0x00729A90 // FUNCTION: fn_07449 void CShowEffect::Remove(int tag) { diff --git a/Source/Contents/Effects/EffectResourceSwitcher.cpp b/Source/Contents/Effects/EffectResourceSwitcher.cpp index 5e1fe2b87..b7932d2a0 100644 --- a/Source/Contents/Effects/EffectResourceSwitcher.cpp +++ b/Source/Contents/Effects/EffectResourceSwitcher.cpp @@ -118,7 +118,7 @@ void EffectResourceSwitcher::SetNames(const std::string& source, const std::stri EffectLists* effects = g_effectMgr; this->effect = static_cast( - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(this->sourceName), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(this->sourceName), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)); this->spawnPosition = actor->render.position; } @@ -156,8 +156,7 @@ void EffectResourceSwitcher::OnProcess() { CEZ2STREffectEx* previous = this->effect; this->sourceName = this->targetName; this->targetName = ""; - this->effect = static_cast(g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(this->sourceName), this->spawnPosition.x, - this->spawnPosition.y, this->spawnPosition.z, 0, -1, 0, 0)); + this->effect = static_cast(g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(this->sourceName), this->spawnPosition, 0, -1, 0, 0)); this->active = 0; if (previous) { previous->EndLoop(0); diff --git a/Source/Contents/Items/EnchantMgr.cpp b/Source/Contents/Items/EnchantMgr.cpp index 2db773459..4553b43af 100644 --- a/Source/Contents/Items/EnchantMgr.cpp +++ b/Source/Contents/Items/EnchantMgr.cpp @@ -121,6 +121,7 @@ void CEnchantMgr::HandleEnchantResult(int messageId, int itemId) { g_session.UpdateInventoryItem(item, 1); int effect = 0; + const vector3d position = {0.0f, 0.0f, 0.0f}; switch (this->m_request.packetType) { case ID_CZ_REQUEST_RANDOM_ENCHANT: case ID_CZ_REQUEST_PERFECT_ENCHANT: @@ -135,9 +136,10 @@ void CEnchantMgr::HandleEnchantResult(int messageId, int itemId) { effect = 0x90E; break; } - g_effectMgr->Spawn(g_session.m_aid, effect, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(g_session.m_aid, effect, position, 0, -1, 0, 0); } else if (messageId == 0xF12) { int effect = 0; + const vector3d position = {0.0f, 0.0f, 0.0f}; switch (this->m_request.packetType) { case ID_CZ_REQUEST_RANDOM_ENCHANT: case ID_CZ_REQUEST_PERFECT_ENCHANT: @@ -150,7 +152,7 @@ void CEnchantMgr::HandleEnchantResult(int messageId, int itemId) { effect = 0x90F; break; } - g_effectMgr->Spawn(g_session.m_aid, effect, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(g_session.m_aid, effect, position, 0, -1, 0, 0); } else { g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast(LookupMessage(messageId)), 0xFF, 0, 0, 0); } diff --git a/Source/Contents/Jobs/JobInheritance.cpp b/Source/Contents/Jobs/JobInheritance.cpp index 77bb7560f..b3aaed3d0 100644 --- a/Source/Contents/Jobs/JobInheritance.cpp +++ b/Source/Contents/Jobs/JobInheritance.cpp @@ -1545,7 +1545,7 @@ bool CSession::PlaySkillTargetEffect(int skillId, int level, CGameActor* source, if (g_effectMgr->HasAllocator(effectId)) { g_effectMgr->Spawn( - target->render.accountId, effectId, target->render.position.x, target->render.position.y, target->render.position.z, 0, -1, 0, 0 + target->render.accountId, effectId, target->render.position, 0, -1, 0, 0 ); } else { target->LaunchEffect(effectId, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); @@ -1880,15 +1880,8 @@ bool CSession::UnequipCostumeItem(int location) { // OFFSET: 0x00E1E250 // FUNCTION: fn_45483 bool LaunchLuaSkillEffect(int skillId, int level, CGameActor* source, CGameActor* target) { - vector3d position; - std::uint32_t sourceId; - if (source != nullptr) { - position = source->render.position; - sourceId = source->render.accountId; - } else { - position = vector3d{0.0f, 0.0f, 0.0f}; - sourceId = 0; - } + const vector3d& position = source != nullptr ? source->render.position : vector3d{0.0f, 0.0f, 0.0f}; + const std::uint32_t sourceId = source != nullptr ? source->render.accountId : 0; const std::uint32_t targetId = target != nullptr ? target->render.accountId : 0; bool hasInfo = false; @@ -1913,7 +1906,7 @@ bool LaunchLuaSkillEffect(int skillId, int level, CGameActor* source, CGameActor } if (g_effectMgr->HasAllocator(effectId)) { - g_effectMgr->Spawn(sourceId, effectId, position.x, position.y, position.z, sourceId != targetId ? targetId : 0, -1, 0, 0); + g_effectMgr->Spawn(sourceId, effectId, position, sourceId != targetId ? targetId : 0, -1, 0, 0); } else if (source != nullptr) { CRagEffect* effect = source->LaunchEffect(effectId, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); if (effect != nullptr) { @@ -1951,7 +1944,7 @@ bool CSession::PlaySkillGroundEffect(int skillId, vector3d position) { } if (g_effectMgr->HasAllocator(effectId)) { - g_effectMgr->Spawn(0, effectId, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, effectId, position, 0, -1, 0, 0); } else { static_cast(g_modeMgr.GetGameMode()) ->LaunchDummyEffect(&position, effectId, EffectLifetime(effectId) + 10, 0); @@ -2612,8 +2605,8 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame if (g_serviceOptions.Get(0xE5)) { effectId += 0xA3; } - g_effectMgr->Spawn(source->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, g_serviceOptions.Get(0xE5) ? 0x5C5 : 0x522, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, g_serviceOptions.Get(0xE5) ? 0x5C5 : 0x522, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effect = source->LaunchEffect(0x301, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); if (effect) { vector3d position = vector3d{0.0f, static_cast(target->render.accountId), 0.0f}; @@ -2632,7 +2625,7 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame target->LaunchEffect(0x1CA, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); break; case GC_CROSSIMPACT: - g_effectMgr->Spawn(target->render.accountId, 0x61E, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x61E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effect = source->LaunchEffect(0x620, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); if (effect) { vector3d position = target->render.position; @@ -2668,7 +2661,7 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame g_soundMgr->PlayWave("wug_strike.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); break; case RA_AIMEDBOLT: { - g_effectMgr->Spawn(target->render.accountId, 0x672, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x672, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); float angle = static_cast(g_modeMgr.GetGameMode())->CameraDesiredYaw() + source->render.angle; if (angle >= 360.0f) { angle -= 360.0f; @@ -2683,7 +2676,7 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame } else { effectId = 0x66F; } - g_effectMgr->Spawn(source->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; } case NPC_ARROWSTORM: @@ -2693,10 +2686,10 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame } g_soundMgr->PlayWave("arrowstorm.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); const int effectId = g_serviceOptions.Get(0xE5) ? 0x5B1 : 0x50D; - g_effectMgr->Spawn(target->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); vector3d position{0.0f, 0.0f, 0.0f}; for (int delay = 600; delay < 1200; delay += 200) { - CEffect* arrow = g_effectMgr->Spawn(target->render.accountId, effectId + 1, position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* arrow = g_effectMgr->Spawn(target->render.accountId, effectId + 1, position, 0, -1, 0, 0); if (arrow) { arrow->SetDelay(delay); } @@ -2713,7 +2706,7 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame break; case WL_CHAINLIGHTNING: case WL_CHAINLIGHTNING_ATK: - g_effectMgr->Spawn(target->render.accountId, 0x666, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x666, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case RK_SONICWAVE: g_soundMgr->PlayWave("effect\\기공포.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); @@ -2739,10 +2732,10 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame break; case AB_JUDEX: g_soundMgr->PlayWave("effect\\AB_judex.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); - g_effectMgr->Spawn(source->render.accountId, 0x65B, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x65C, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, 0x65F, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, 0x660, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x65B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x65C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x65F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x660, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); for (int count = 0; count < 12; ++count) { vector3d position = target->render.position; const float radius = static_cast(std::max(std::rand() % 15, 2)); @@ -2753,11 +2746,11 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame spot.y = rotation.values[1] * radius + rotation.values[4] * 0.0f + rotation.values[7] * 0.0f + rotation.values[10] + position.y; spot.z = rotation.values[2] * radius + rotation.values[5] * 0.0f + rotation.values[8] * 0.0f + rotation.values[11] + position.z; const int delay = std::max(std::rand() % 10, 0) * 50; - CEffect* spawned = g_effectMgr->Spawn(0, 0x661, spot.x, spot.y, spot.z, 0, -1, 0, 0); + CEffect* spawned = g_effectMgr->Spawn(0, 0x661, spot, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(delay); } - spawned = g_effectMgr->Spawn(0, 0x662, spot.x, spot.y, spot.z, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(0, 0x662, spot, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(delay); } @@ -2767,17 +2760,17 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame g_soundMgr->PlayWave("effect\\AB_adoramus.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); if (g_serviceOptions.Get(0xE5)) { g_effectMgr->Spawn( - target->render.accountId, 0x594, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x594, target->render.position, target->render.accountId, level, 0, 0 ); g_effectMgr->Spawn( - target->render.accountId, 0x595, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x595, target->render.position, target->render.accountId, level, 0, 0 ); } else { g_effectMgr->Spawn( - target->render.accountId, 0x4EA, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x4EA, target->render.position, target->render.accountId, level, 0, 0 ); g_effectMgr->Spawn( - target->render.accountId, 0x4EB, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x4EB, target->render.position, target->render.accountId, level, 0, 0 ); } break; @@ -2788,23 +2781,23 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame ); if (g_serviceOptions.Get(0xE5)) { g_effectMgr->Spawn( - target->render.accountId, 0x5A1, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x5A1, target->render.position, target->render.accountId, level, 0, 0 ); g_effectMgr->Spawn( - target->render.accountId, 0x5A2, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x5A2, target->render.position, target->render.accountId, level, 0, 0 ); } else { g_effectMgr->Spawn( - target->render.accountId, 0x4FA, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x4FA, target->render.position, target->render.accountId, level, 0, 0 ); g_effectMgr->Spawn( - target->render.accountId, 0x4FB, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, level, 0, 0 + target->render.accountId, 0x4FB, target->render.position, target->render.accountId, level, 0, 0 ); } break; case WL_HELLINFERNO: - g_effectMgr->Spawn(target->render.accountId, 0x60E, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, 0x60F, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x60E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x60F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); for (int index = 0; index < 4; ++index) { matrix rotation; rotation.MakeYRotation((static_cast(index) * 90.0f + 45.0f) / 180.0f * 3.141592f); @@ -2812,8 +2805,8 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame spot.x = rotation.values[0] * 15.0f + rotation.values[3] * 0.0f + rotation.values[6] * 0.0f + rotation.values[9] + target->render.position.x; spot.y = rotation.values[1] * 15.0f + rotation.values[4] * 0.0f + rotation.values[7] * 0.0f + rotation.values[10] + target->render.position.y; spot.z = rotation.values[2] * 15.0f + rotation.values[5] * 0.0f + rotation.values[8] * 0.0f + rotation.values[11] + target->render.position.z; - g_effectMgr->Spawn(0, 0x611, spot.x, spot.y, spot.z, 0, -1, 0, 0); - g_effectMgr->Spawn(0, 0x612, spot.x, spot.y, spot.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x611, spot, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x612, spot, 0, -1, 0, 0); } break; case NC_BOOSTKNUCKLE: @@ -2895,35 +2888,35 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame const int duration = static_cast(source->render.speed * 100.0f + 100.0f); CEffect* spawned; if (g_serviceOptions.Get(0xE5)) { - spawned = g_effectMgr->Spawn(source->render.accountId, effectId + 0x86, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(source->render.accountId, effectId + 0x86, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x5DF, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x5DF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x5E0, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x5E0, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - spawned = g_effectMgr->Spawn(source->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(source->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x559, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x559, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x55A, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x55A, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (spawned) { spawned->SetDelay(duration); } if (g_serviceOptions.Get(0xE5)) { - g_effectMgr->Spawn(source->render.accountId, 0x5E1, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x5E2, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5E1, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5E2, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - g_effectMgr->Spawn(source->render.accountId, 0x55B, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x55C, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x55B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x55C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } g_soundMgr->PlayWave("effect\\LG_BANISHINGPOINT.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); break; @@ -2955,18 +2948,18 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame } if (g_serviceOptions.Get(0xE5)) { if (!g_effectMgr->Find(source->render.accountId, 0x5EF)) { - g_effectMgr->Spawn(source->render.accountId, 0x5EF, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5EF, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const int duration = static_cast(source->render.speed * 100.0f + 100.0f); - CEffect* spawned = g_effectMgr->Spawn(source->render.accountId, effectId + 0x6F, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* spawned = g_effectMgr->Spawn(source->render.accountId, effectId + 0x6F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } } } else { if (!g_effectMgr->Find(source->render.accountId, 0x580)) { - g_effectMgr->Spawn(source->render.accountId, 0x580, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x580, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const int duration = static_cast(source->render.speed * 100.0f + 100.0f); - CEffect* spawned = g_effectMgr->Spawn(source->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* spawned = g_effectMgr->Spawn(source->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } @@ -2981,7 +2974,7 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame break; } case SR_GATEOFHELL: - g_effectMgr->Spawn(target->render.accountId, 0x626, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x626, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effect = source->LaunchEffect(0x627, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); if (effect) { vector3d position = target->render.position; @@ -3033,14 +3026,14 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame break; case NPC_FATALMENACE: case SC_STARTMARK: { - g_effectMgr->Spawn(source->render.accountId, 0x574, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x575, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x574, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x575, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const int duration = static_cast(source->render.speed * 100.0f + 150.0f); - CEffect* spawned = g_effectMgr->Spawn(target->render.accountId, 0x572, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* spawned = g_effectMgr->Spawn(target->render.accountId, 0x572, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x573, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x573, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } @@ -3050,23 +3043,23 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame const int duration = static_cast(source->render.speed * 100.0f + 100.0f); CEffect* spawned; if (g_serviceOptions.Get(0xE5)) { - spawned = g_effectMgr->Spawn(target->render.accountId, 0x5B3, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x5B3, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x5B4, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x5B4, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - spawned = g_effectMgr->Spawn(target->render.accountId, 0x510, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x510, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetDelay(duration); } - spawned = g_effectMgr->Spawn(target->render.accountId, 0x511, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + spawned = g_effectMgr->Spawn(target->render.accountId, 0x511, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (spawned) { spawned->SetDelay(duration); } spawned = g_effectMgr->Spawn( - 0, 0x52C, source->render.position.x, source->render.position.y, source->render.position.z, target->render.accountId, -1, 0, 0 + 0, 0x52C, source->render.position, target->render.accountId, -1, 0, 0 ); if (spawned) { spawned->SetDelay(duration); @@ -3084,9 +3077,9 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame source->LaunchEffect(0x31A, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); break; case NC_VULCANARM: { - g_effectMgr->Spawn(source->render.accountId, 0x6A7, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x6A8, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - CEffect* spawned = g_effectMgr->Spawn(target->render.accountId, 0x6A9, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x6A7, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x6A8, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + CEffect* spawned = g_effectMgr->Spawn(target->render.accountId, 0x6A9, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (spawned) { spawned->SetAngle(static_cast(std::max(std::rand() % 36, 0)) * 10.0f); } @@ -3102,14 +3095,14 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame if (g_effectMgr->Find(source->render.accountId, 0x5D6)) { return; } - g_effectMgr->Spawn(source->render.accountId, 0x5D6, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x5D7, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5D6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5D7, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { if (g_effectMgr->Find(source->render.accountId, 0x553)) { return; } - g_effectMgr->Spawn(source->render.accountId, 0x553, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x554, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x553, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x554, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } break; case NC_POWERSWING: { @@ -3127,15 +3120,15 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame } else { effectId = 0x6A2; } - g_effectMgr->Spawn(target->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, 0x6A6, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x6A6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; } case NC_AXEBOOMERANG: g_effectMgr->Spawn( - source->render.accountId, 0x679, source->render.position.x, source->render.position.y, source->render.position.z, target->render.accountId, -1, 0, 0 + source->render.accountId, 0x679, source->render.position, target->render.accountId, -1, 0, 0 ); - g_effectMgr->Spawn(target->render.accountId, 0x67C, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 0x67C, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case SR_GENTLETOUCH_QUIET: source->LaunchEffect(0x375, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); @@ -3148,7 +3141,7 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame g_soundMgr->PlayWave("effect\\SR_DRAGONCOMBO.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); break; case SR_TIGERCANNON: - g_effectMgr->Spawn(source->render.accountId, g_serviceOptions.Get(0xE5) ? 0x5FC : 0x52B, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, g_serviceOptions.Get(0xE5) ? 0x5FC : 0x52B, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); target->LaunchEffect(0x379, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); g_soundMgr->PlayWave("effect\\SR_TIGERCANNON.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); break; @@ -3163,12 +3156,12 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame break; case SR_RAMPAGEBLASTER: if (g_serviceOptions.Get(0xE5)) { - g_effectMgr->Spawn(source->render.accountId, 0x5B5, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x5B6, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5B5, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x5B6, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); source->LaunchEffect(0x609, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } else { - g_effectMgr->Spawn(source->render.accountId, 0x51E, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 0x51F, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x51E, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 0x51F, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); source->LaunchEffect(0x376, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } g_soundMgr->PlayWave("effect\\SR_RAMPAGEBLASTER.wav", 0.0f, 0.0f, 0.0f, 250, 40, 1.0f, 0); @@ -3202,9 +3195,9 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame target->LaunchEffect(0x1AD, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); break; case SU_SV_STEMSPEAR: - g_effectMgr->Spawn(0, 0x44D, source->render.position.x, source->render.position.y, source->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, 0x44D, source->render.position, 0, -1, 0, 0); g_effectMgr->Spawn( - source->render.accountId, 0x44C, source->render.position.x, source->render.position.y, source->render.position.z, target->render.accountId, -1, 0, 0 + source->render.accountId, 0x44C, source->render.position, target->render.accountId, -1, 0, 0 ); break; case MT_A_MACHINE: { @@ -3221,10 +3214,10 @@ void CSession::PlaySkillEffect(int skillId, int level, CGameActor* source, CGame } case SU_SVG_SPIRIT: g_effectMgr->Spawn( - source->render.accountId, 0x468, source->render.position.x, source->render.position.y, source->render.position.z, target->render.accountId, -1, 0, 0 + source->render.accountId, 0x468, source->render.position, target->render.accountId, -1, 0, 0 ); g_effectMgr->Spawn( - target->render.accountId, 0x469, target->render.position.x, target->render.position.y, target->render.position.z, target->render.accountId, -1, 0, 0 + target->render.accountId, 0x469, target->render.position, target->render.accountId, -1, 0, 0 ); break; case HFLI_MOON: diff --git a/Source/Contents/Skills/SkillActionAlitea.cpp b/Source/Contents/Skills/SkillActionAlitea.cpp index 302066667..92b4cd8d5 100644 --- a/Source/Contents/Skills/SkillActionAlitea.cpp +++ b/Source/Contents/Skills/SkillActionAlitea.cpp @@ -462,7 +462,7 @@ void CSkillAction_DamageWereRaptorForm::SpawnDirectionalEffect(CGameActor* sourc const bool flipped = direction == 1 || direction == 2; EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(name.data()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(name.data()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetFlipX(flipped); effect->SetAngle(static_cast((static_cast(angle + (flipped ? -180.0f : 0.0f)) + 360) % 360)); } @@ -582,7 +582,7 @@ void CEfstAction_BasicAction::OnEfstBegin(int efstId, int value, int argument3, if (actor) { const int id = this->GetEffectId(efstId, argument4); if (id >= 0) { - g_effectMgr->Spawn(actor->render.accountId, id, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, id, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } } @@ -600,12 +600,12 @@ void CSkillAction_Earthing::OnSkillCast(int level, CGameActor* source) { void CSkillAction_Icing::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ice_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ice_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ice_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ice_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1018,14 +1018,14 @@ void CSkillAction_AT_CHILLING_BLAST::OnSkillEffect(int level, CGameActor* source const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("chilling_blast_bottom", 0x0F0F8B6B8F9D19D1ULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1053,20 +1053,20 @@ void CSkillObjectAction_AT_GLACIER_MONOLITH::OnSkillObjectCreate(int argument, C constexpr std::array bytes = CRYPT_NAME("glacier_monolith_start", 0xD3755DD95F47A909ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array bytes = CRYPT_NAME("glacier_monolith_start_bottom", 0x31D7C1EDA345E36DULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; if (CEffect* effect = effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array bytes = CRYPT_NAME("glacier_monolith_loop", 0xC7912587FFF31B71ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(990); } effects = g_effectMgr; @@ -1074,7 +1074,7 @@ void CSkillObjectAction_AT_GLACIER_MONOLITH::OnSkillObjectCreate(int argument, C constexpr std::array bytes = CRYPT_NAME("glacier_monolith_loop_bottom", 0x69D345DB950F336DULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(990); } } @@ -1106,14 +1106,14 @@ void CSkillObjectAction_AT_GLACIER_MONOLITH::OnSkillObjectRemove(CRenderObject* const char bytes[] = {'\x86', '\xF7', '\x92', '\x18', '\x84', '\xE2', '\x8D', '\x3E', '\x8C', '\xF4', '\x9D', '\x14', '\x81', '\xEE', '\x8B', '\x09', '\xBE', '\xFE', '\x9D', '\x1F', '\xED'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), object->render.position.x, object->render.position.y, object->render.position.z, 0, -1, 0, 0); + }()), object->render.position, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId([] { const char bytes[] = {'\x98', '\xE9', '\x46', '\x6E', '\x0C', '\x5A', '\xEB', '\x22', '\x92', '\xEA', '\x49', '\x62', '\x09', '\x56', '\xED', '\x15', '\xA0', '\xE0', '\x49', '\x69', '\x3A', '\x5D', '\xF6', '\x09', '\x8B', '\xEA', '\x4A', '\x0D'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), object->render.position.x, object->render.position.y, object->render.position.z, 0, -1, 0, 0); + }()), object->render.position, 0, -1, 0, 0); } // OFFSET: 0x005A8FC0 @@ -1159,7 +1159,7 @@ void CSkillAction_AT_GLACIER_SHARD::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1179,7 +1179,7 @@ void CSkillAction_AT_GLACIER_STOMP::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1199,14 +1199,14 @@ void CSkillAction_AT_ROARING_CHARGE::OnSkillEffect(int level, CGameActor* source const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("roaring_charge_bottom", 0xF7530137154D8FE5ULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1225,13 +1225,13 @@ void CSkillAction_AT_ROARING_CHARGE_S::OnSkillEffect(int level, CGameActor* sour constexpr std::array bytes = CRYPT_NAME("roaring_charge_s", 0x8B3FEB5B8BD5C3C3ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array bytes = CRYPT_NAME("roaring_charge_s_bottom", 0x0BEB63A5C905B3A7ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1303,7 +1303,7 @@ void CSkillAction_AT_FURIOS_STORM::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(1000); } @@ -1334,10 +1334,10 @@ void CSkillAction_AT_FURIOS_STORM::OnSkillEffect(int level, CGameActor* source, for (int delay = 0; delay < 1000; delay += 250) { const int variant = std::max(std::rand() % 2, 0); - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, variant ? stormA : stormB, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, variant ? stormA : stormB, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(delay); } - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, variant ? stormABottom : stormBBottom, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, variant ? stormABottom : stormBBottom, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(delay); } } @@ -1513,20 +1513,20 @@ void CSkillAction_AT_AERO_SYNC::OnSkillEffect(int level, CGameActor* source, CGa const char bytes[] = {'\xBE', '\xBC', '\x2F', '\x06', '\x4C', '\xE0', '\x86', '\x6F', '\xBC', '\x86', '\x2E', '\x10', '\x7D', '\xF0', '\xFF'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId([] { const char bytes[] = {'\xFA', '\xC8', '\x07', '\xA0', '\x8E', '\x4E', '\x94', '\x03', '\xF8', '\xF2', '\x18', '\xAE', '\xB8', '\x53', '\xED'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), source->render.position.x, source->render.position.y, source->render.position.z, 0, -1, 0, 0); + }()), source->render.position, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId([] { const char bytes[] = {'\xA0', '\xB6', '\xA9', '\x18', '\xC4', '\x06', '\xBA', '\x27', '\xA2', '\x8C', '\xB6', '\x16', '\xF2', '\x1B', '\x9C', '\x2B', '\xAE', '\xA7', '\xAF', '\x18', '\xF6', '\x75'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), source->render.position.x, source->render.position.y, source->render.position.z, 0, -1, 0, 0); + }()), source->render.position, 0, -1, 0, 0); } } @@ -1629,8 +1629,8 @@ void CSkillAction_AT_TERRA_HARVEST::OnSkillEffect(int level, CGameActor* source, thread_local EncryptedName name(bytes); return name.Text(); }())); - g_effectMgr->Spawn(target->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, bottomId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, bottomId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005AD630 @@ -1664,12 +1664,12 @@ void CSkillAction_AT_SOLID_STOMP::OnSkillEffect(int level, CGameActor* source, C constexpr std::array bytes = CRYPT_NAME("solid_stomp", 0xFF7D83CB791339D9ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array bytes = CRYPT_NAME("solid_stomp_bottom", 0xED5143E7C1B39315ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1701,13 +1701,13 @@ void CEfstAction_ZEPHYR_LINK::OnEfstBegin(int efstId, int value, int argument3, constexpr std::array bytes = CRYPT_NAME("zephyr_link", 0x393D916561BDC391ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array bytes = CRYPT_NAME("zephyr_link_bottom", 0x31956551B311FD95ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1749,14 +1749,14 @@ void CEfstAction_INSANE::OnEfstBegin(int efstId, int value, int argument3, int a const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("efst_insane_bottom_01", 0xC39FB559A17D3963ULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(actor)->outlineColor = static_cast(0xFFFFF200); } } @@ -1788,14 +1788,14 @@ void CEfstAction_INSANE2::OnEfstBegin(int efstId, int value, int argument3, int const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("efst_insane_bottom_02", 0x07112F85A39F4FABULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(actor)->outlineColor = static_cast(0xFFFF7F27); } } @@ -1811,14 +1811,14 @@ void CEfstAction_INSANE3::OnEfstBegin(int efstId, int value, int argument3, int const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr auto bytesText = CRYPT_NAME("efst_insane_bottom_03", 0x936F3D2FFDFD87F5ULL); const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(actor)->outlineColor = static_cast(0xFFED1C24); } } @@ -1850,14 +1850,14 @@ void CSkillAction_AT_SAVAGE_LUNGE::OnSkillEffect(int level, CGameActor* source, const char bytes[] = {'\x9A', '\xB2', '\x4B', '\x66', '\x52', '\x4C', '\x54', '\x89', '\x9C', '\xBD', '\x5A', '\x62', '\x35'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), target->render.position.x, target->render.position.y, target->render.position.z, 0, -1, 0, 0); + }()), target->render.position, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId([] { const char bytes[] = {'\x82', '\xA2', '\x9F', '\xDC', '\xCA', '\x68', '\x2A', '\x11', '\x84', '\xAD', '\x8E', '\xD8', '\xF2', '\x6F', '\x1A', '\x09', '\x85', '\xAC', '\x84', '\xBD'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), target->render.position.x, target->render.position.y, target->render.position.z, 0, -1, 0, 0); + }()), target->render.position, 0, -1, 0, 0); } // OFFSET: 0x005AC990 @@ -2129,12 +2129,10 @@ void CSkillAction_DamageWereRaptorForm::SpawnAttack02Effect(int sourceActor, CGa const float offset = g_featherOffsets[std::max(std::rand() % 3, 0)]; const float step = static_cast(column); - const float x = rightX * step + baseX + offset * forwardX; - const float y = rightY * step + baseY + offset * forwardY; - const float z = rightZ * step + baseZ + offset * forwardZ; + const vector3d position = {rightX * step + baseX + offset * forwardX, rightY * step + baseY + offset * forwardY, rightZ * step + baseZ + offset * forwardZ}; const int fade = std::max(std::rand() % 101, 0) + alpha; const int scale = std::max(std::rand() % 11, 7); - if (CEffect* effect = g_effectMgr->Spawn(0, effectId, x, y, z, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(0, effectId, position, 0, -1, 0, 0)) { effect->SetFlipX(flipped); effect->SetDelay(fade); effect->SetScale(static_cast(scale) * 0.1f); diff --git a/Source/Contents/Skills/SkillActionDruid.cpp b/Source/Contents/Skills/SkillActionDruid.cpp index d668f1432..13e083e18 100644 --- a/Source/Contents/Skills/SkillActionDruid.cpp +++ b/Source/Contents/Skills/SkillActionDruid.cpp @@ -345,7 +345,7 @@ void CSkillAction_DR_WERERAPTOR::OnSkillEffect(int level, CGameActor* source, CG constexpr auto effectSourceText = CRYPT_NAME("wereraptor", 0xD3755DD95F47A909ULL); const auto& effectSource = effectSourceText.data; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00620190 @@ -449,7 +449,7 @@ void CSkillAction_DR_HUNGER::OnSkillEffect(int level, CGameActor* source, CGameA const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00620BE0 @@ -460,13 +460,10 @@ void CSkillAction_DR_HUNGER::OnSkillHit(int caster, CGameActor* target, CGameAct return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("hunger", 0x1D6D75EDE7CD311FULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + constexpr auto effectSourceText = CRYPT_NAME("hunger", 0x1D6D75EDE7CD311FULL); + 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); } // OFFSET: 0x00620DE0 @@ -560,12 +557,12 @@ void CSkillAction_DR_FLICKING_TONADO::OnSkillEffect(int level, CGameActor* sourc const std::uint8_t effectSource[] = {0x41, 0x6D, 0x6E, 0x0E, 0x68, 0xAC, 0x9D, 0x48, 0x78, 0x75, 0x68, 0x03, 0x62, 0xA1, 0x9C, 0x2F}; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const std::uint8_t bottomSource[] = {0xD5, 0x0B, 0xAA, 0x30, 0x92, 0xF2, 0x5B, 0x70, 0xEC, 0x13, 0xAC, 0x3D, 0x98, 0xFF, 0x5A, 0x48, 0xD1, 0x08, 0xB7, 0x27, 0x96, 0xF6, 0x35}; thread_local EncryptedName bottomName(bottomSource); - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00621C00 @@ -607,7 +604,7 @@ void CSkillAction_DR_LOW_FLIGHT::OnSkillEffect(int level, CGameActor* source, CG ); EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(static_cast(scale)); float angleOffset = 0.0f; if ((direction & 1) != 0) { @@ -632,7 +629,7 @@ void CSkillAction_DR_LOW_FLIGHT::OnSkillEffect(int level, CGameActor* source, CG const auto& bottomSource = bottomSourceText.data; thread_local EncryptedName bottomName(bottomSource); return bottomName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(static_cast(scale)); } } @@ -665,7 +662,7 @@ void CSkillAction_DR_NATURE_SHIELD::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00622440 @@ -830,14 +827,14 @@ void CSkillAction_DR_TRUTH_OF_EARTH::OnSkillEffect(int level, CGameActor* source const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); g_effectMgr->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); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x006233D0 @@ -938,14 +935,14 @@ void CSkillAction_DR_TRUTH_OF_WIND::OnSkillEffect(int level, CGameActor* source, constexpr std::array bytes = CRYPT_NAME("truth_of_wind", 0x61FF87ED7BF39BE1ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array bytes = CRYPT_NAME("truth_of_wind_bottom", 0x7D993F650D2785FFULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00623C70 @@ -992,7 +989,7 @@ void CSkillAction_DR_CUTTING_WIND::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetAngle(ScreenAngle(&target->render.position.x, &source->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values)); } } @@ -1004,10 +1001,11 @@ void CSkillAction_DR_CUTTING_WIND::OnSkillDamage(int level, CGameActor* source, return; } - const std::uint8_t effectSource[] = {0xB0, 0x98, 0xE3, 0x61, 0x24, 0x35, 0xC2, 0xFE, 0xA4, 0x84, 0xF9, 0x71, 0x12, 0x33, 0xCC, 0xD5, 0xD3}; - thread_local EncryptedName effectName(effectSource); - EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + const std::uint8_t effectSource[] = {0xB0, 0x98, 0xE3, 0x61, 0x24, 0x35, 0xC2, 0xFE, 0xA4, 0x84, 0xF9, 0x71, 0x12, 0x33, 0xCC, 0xD5, 0xD3}; + thread_local EncryptedName effectName(effectSource); + return effectName.Text(); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00624170 @@ -1037,17 +1035,14 @@ void CSkillAction_DR_WIND_BOMB::OnSkillEffect(int level, CGameActor* source, CGa return; } - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, 2468, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, 2468, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { static_cast(effect)->SetTarget(target->render.position); } - EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("wind_bomb_main", 0xD1538513DF975701ULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + 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)) { effect->SetDelay(300); } } @@ -1065,7 +1060,7 @@ void CSkillAction_DR_WIND_BOMB::OnSkillDamage(int level, CGameActor* source, CGa const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00624640 @@ -1075,19 +1070,15 @@ void CSkillAction_DR_AROUND_FLOWER::OnSkillEffect(int level, CGameActor* source, return; } + const char effectSource[] = {'\xFA', '\xDF', '\x1A', '\xBA', '\xBF', '\x59', '\xB2', '\x0B', '\xF7', '\xC2', '\x02', '\xAA', '\xA3', '\x3D'}; + thread_local EncryptedName effectName(effectSource); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - const std::array effectSource = {'\xFA', '\xDF', '\x1A', '\xBA', '\xBF', '\x59', '\xB2', '\x0B', '\xF7', '\xC2', '\x02', '\xAA', '\xA3', '\x3D'}; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + const char bottomSource[] = {'\xA0', '\xA1', '\xB4', '\x02', '\xF5', '\x11', '\x9C', '\x2F', '\xAD', '\xBC', '\xAC', '\x12', '\xE9', '\x2A', '\xA1', '\x26', '\xB5', '\xA7', '\xB4', '\x1A', '\x9B'}; + thread_local EncryptedName bottomName(bottomSource); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - const std::array bottomSource = {'\xA0', '\xA1', '\xB4', '\x02', '\xF5', '\x11', '\x9C', '\x2F', '\xAD', '\xBC', '\xAC', '\x12', '\xE9', '\x2A', '\xA1', '\x26', '\xB5', '\xA7', '\xB4', '\x1A', '\x9B'}; - thread_local EncryptedName bottomName(bottomSource); - return bottomName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); } // OFFSET: 0x006249E0 @@ -1119,13 +1110,10 @@ void CSkillAction_DR_ICE_CLOUD::OnSkillEffect(int level, CGameActor* source, CGa return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("ice_cloud", 0x474DC581D5E98357ULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + constexpr auto effectSourceText = CRYPT_NAME("ice_cloud", 0x474DC581D5E98357ULL); + const auto& effectSource = effectSourceText.data; + thread_local EncryptedName effectName(effectSource); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00624F80 @@ -1135,13 +1123,10 @@ void CSkillAction_DR_ICE_TOTEM::OnSkillEffect(int level, CGameActor* source, CGa return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("ice_totem", 0x3F557BE333F95F6DULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + constexpr auto effectSourceText = CRYPT_NAME("ice_totem", 0x3F557BE333F95F6DULL); + const auto& effectSource = effectSourceText.data; + thread_local EncryptedName effectName(effectSource); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00625180 @@ -1160,13 +1145,10 @@ void CSkillAction_DR_WEREWOLF::OnSkillEffect(int level, CGameActor* source, CGam return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("werewolf", 0x490FFB43A12F0DB9ULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + constexpr auto effectSourceText = CRYPT_NAME("werewolf", 0x490FFB43A12F0DB9ULL); + 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); } // OFFSET: 0x006253A0 @@ -1194,7 +1176,7 @@ void CSkillAction_DR_ENRAGE_WOLF::OnSkillEffect(int level, CGameActor* source, C const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00620530 @@ -1204,13 +1186,10 @@ void CSkillAction_DR_BLOOD_HOWLING::OnSkillEffect(int level, CGameActor* source, return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("blood_howling", 0xD98F03A52D35636DULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + 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); } // OFFSET: 0x006207B0 @@ -1220,13 +1199,10 @@ void CSkillAction_DR_NOMERCY_CLAW::OnSkillEffect(int level, CGameActor* source, return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("nomercy_claw", 0x0F0F8B6B8F9D19D1ULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + 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); } // OFFSET: 0x006210B0 @@ -1236,13 +1212,10 @@ void CSkillAction_DR_ENRAGE_RAPTOR::OnSkillEffect(int level, CGameActor* source, return; } - EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { - constexpr auto effectSourceText = CRYPT_NAME("enrage_raptor", 0x812BE72BCD5707B7ULL); - const auto& effectSource = effectSourceText.data; - thread_local EncryptedName effectName(effectSource); - return effectName.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + 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); } // OFFSET: 0x00621370 @@ -1255,7 +1228,7 @@ void CSkillAction_DR_PREENING::OnSkillEffect(int level, CGameActor* source, CGam constexpr auto effectSourceText = CRYPT_NAME("preening", 0xC52FB5FBB94FF917ULL); const auto& effectSource = effectSourceText.data; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00620DF0 @@ -1275,7 +1248,7 @@ void CSkillAction_DR_CRUEL_BITE::OnSkillEffect(int level, CGameActor* source, CG const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x006215E0 diff --git a/Source/Contents/Skills/SkillActionImperialGuard.cpp b/Source/Contents/Skills/SkillActionImperialGuard.cpp index c4e8aa351..476bf49b0 100644 --- a/Source/Contents/Skills/SkillActionImperialGuard.cpp +++ b/Source/Contents/Skills/SkillActionImperialGuard.cpp @@ -154,9 +154,9 @@ public: void CSkillAction_IG_GUARDIAN_SHIELD::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -165,9 +165,9 @@ void CSkillAction_IG_GUARDIAN_SHIELD::OnSkillEffect(int level, CGameActor* sourc void CEfstAction_IG_GUARDIAN_SHIELD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield_buff_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield_buff_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield_buff_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guardianshield_buff_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -203,14 +203,14 @@ EfstActionMessage CEfstAction_IG_GUARDIAN_SHIELD::GetEfstEndMessage() { void CSkillAction_IG_HOLY_SHIELD::OnSkillCast(int level, CGameActor* source) { EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } effects = g_effectMgr; effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_cast_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -221,9 +221,9 @@ void CSkillAction_IG_HOLY_SHIELD::OnSkillCast(int level, CGameActor* source) { void CSkillAction_IG_HOLY_SHIELD::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -232,9 +232,9 @@ void CSkillAction_IG_HOLY_SHIELD::OnSkillEffect(int level, CGameActor* source, C void CEfstAction_IG_HOLY_SHIELD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_holy_shield_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -276,14 +276,14 @@ void CSkillAction_IG_JUDGEMENT_CROSS::OnSkillCast(int level, CGameActor* source) EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } effects = g_effectMgr; effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_cast_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -295,7 +295,7 @@ void CSkillAction_IG_JUDGEMENT_CROSS::OnSkillEffect(int level, CGameActor* sourc if (source && target) { const vector3d position = source->render.position; EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_shot"), position.x, position.y, position.z, + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_shot"), position, target->render.accountId, -1, 0, 0); } } @@ -305,11 +305,9 @@ void CSkillAction_IG_JUDGEMENT_CROSS::OnSkillEffect(int level, CGameActor* sourc void CSkillAction_IG_JUDGEMENT_CROSS::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_bottom"), source->render.position.x, - source->render.position.y, source->render.position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_bottom"), source->render.position, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross"), source->render.position.x, - source->render.position.y, source->render.position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross"), source->render.position, 0, -1, 0, 0); } } @@ -317,7 +315,7 @@ void CSkillAction_IG_JUDGEMENT_CROSS::OnSkillHit(int level, CGameActor* source, // FUNCTION: fn_08607 void CSkillAction_IG_JUDGEMENT_CROSS::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_judgement_cross_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -330,7 +328,7 @@ void CSkillAction_IG_OVERSLASH::OnSkillCast(int level, CGameActor* source) { EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -341,9 +339,9 @@ void CSkillAction_IG_OVERSLASH::OnSkillCast(int level, CGameActor* source) { void CSkillAction_IG_OVERSLASH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -352,7 +350,7 @@ void CSkillAction_IG_OVERSLASH::OnSkillEffect(int level, CGameActor* source, CGa void CSkillAction_IG_OVERSLASH::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_overslash_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -365,14 +363,14 @@ void CSkillAction_IG_REBOUND_SHIELD::OnSkillCast(int level, CGameActor* source) EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_rebound_shield_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } effects = g_effectMgr; effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_rebound_shield_cast_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -383,9 +381,9 @@ void CSkillAction_IG_REBOUND_SHIELD::OnSkillCast(int level, CGameActor* source) void CSkillAction_IG_REBOUND_SHIELD::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_rebound_shield"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_rebound_shield"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_rebound_shield_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_rebound_shield_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -415,9 +413,9 @@ void CSkillAction_IG_ULTIMATE_SACRIFICE::OnSkillCast(int level, CGameActor* sour void CSkillAction_IG_ULTIMATE_SACRIFICE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ultimatesacrifice_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ultimatesacrifice_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ultimatesacrifice"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ultimatesacrifice"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -425,7 +423,7 @@ void CSkillAction_IG_ULTIMATE_SACRIFICE::OnSkillEffect(int level, CGameActor* so // FUNCTION: fn_08618 void CEfstAction_IG_ULTIMATE_SACRIFICE::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ultimate_sacrifice_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ultimate_sacrifice_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -449,7 +447,7 @@ void CEfstAction_IG_ULTIMATE_SACRIFICE::OnEfstUpdate(int efstId, int value, int void CSkillAction_IG_IMPERIAL_CROSS::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_cross"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_cross"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -458,7 +456,7 @@ void CSkillAction_IG_IMPERIAL_CROSS::OnSkillEffect(int level, CGameActor* source void CSkillAction_IG_IMPERIAL_CROSS::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_cross_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_cross_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -471,7 +469,7 @@ void CSkillAction_IG_RADIANT_SPEAR::OnSkillCast(int level, CGameActor* source) { EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("radiant_spear_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -492,11 +490,9 @@ void CSkillAction_IG_RADIANT_SPEAR::OnSkillEffect(int level, CGameActor* source, } const std::string side = direction; EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(std::format("radiant_spear_{}down_bottom", side)), target->render.position.x, - target->render.position.y, target->render.position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(std::format("radiant_spear_{}down_bottom", side)), target->render.position, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(std::format("radiant_spear_{}down", side)), target->render.position.x, - target->render.position.y, target->render.position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(std::format("radiant_spear_{}down", side)), target->render.position, 0, -1, 0, 0); } // OFFSET: 0x0078AC80 @@ -504,7 +500,7 @@ void CSkillAction_IG_RADIANT_SPEAR::OnSkillEffect(int level, CGameActor* source, void CSkillAction_IG_RADIANT_SPEAR::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("radiant_spear_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("radiant_spear_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -517,7 +513,7 @@ void CSkillAction_IG_IMPERIAL_PRESSURE::OnSkillCast(int level, CGameActor* sourc EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperal_pressure_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -528,9 +524,9 @@ void CSkillAction_IG_IMPERIAL_PRESSURE::OnSkillCast(int level, CGameActor* sourc void CSkillAction_IG_IMPERIAL_PRESSURE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_pressure"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_pressure"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_pressure_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_pressure_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -539,7 +535,7 @@ void CSkillAction_IG_IMPERIAL_PRESSURE::OnSkillEffect(int level, CGameActor* sou void CSkillAction_IG_IMPERIAL_PRESSURE::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_pressure_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("imperial_pressure_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -548,7 +544,7 @@ void CSkillAction_IG_IMPERIAL_PRESSURE::OnSkillDamage(int level, CGameActor* sou void CSkillAction_IG_SHIELD_SHOOTING::OnSkillCast(int level, CGameActor* source) { EffectLists* effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shield_shooting_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -562,7 +558,7 @@ void CSkillAction_IG_SHIELD_SHOOTING::OnSkillEffect(int level, CGameActor* sourc } const vector3d position = source->render.position; - g_effectMgr->Spawn(source->render.accountId, 2183, position.x, position.y, position.z, target->render.accountId, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2183, position, target->render.accountId, -1, 0, 0); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave("effect\\IG_SHIELD_SHOOTING.wav", target->render.position.x - player->render.position.x, 0.0f, @@ -574,7 +570,7 @@ void CSkillAction_IG_SHIELD_SHOOTING::OnSkillEffect(int level, CGameActor* sourc void CSkillAction_IG_SHIELD_SHOOTING::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shield_shooting_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shield_shooting_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -592,18 +588,18 @@ void CSkillAction_IG_ATTACK_STANCE::OnSkillCast(int level, CGameActor* source) { } EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance_cast_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance_cast_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level - 100); } effects = g_effectMgr; effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance_cast_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level - 100); } @@ -614,7 +610,7 @@ void CSkillAction_IG_ATTACK_STANCE::OnSkillCast(int level, CGameActor* source) { void CSkillAction_IG_ATTACK_STANCE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -623,7 +619,7 @@ void CSkillAction_IG_ATTACK_STANCE::OnSkillEffect(int level, CGameActor* source, void CEfstAction_IG_ATTACK_STANCE::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_attack_stance_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -668,18 +664,18 @@ void CSkillAction_IG_GUARD_STANCE::OnSkillCast(int level, CGameActor* source) { } EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance_cast_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance_cast_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level - 100); } effects = g_effectMgr; effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance_cast_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level - 100); } @@ -690,7 +686,7 @@ void CSkillAction_IG_GUARD_STANCE::OnSkillCast(int level, CGameActor* source) { void CSkillAction_IG_GUARD_STANCE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -699,7 +695,7 @@ void CSkillAction_IG_GUARD_STANCE::OnSkillEffect(int level, CGameActor* source, void CEfstAction_IG_GUARD_STANCE::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_guard_stance_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -735,12 +731,12 @@ void CSkillAction_IG_CROSS_RAIN::OnSkillCast(int level, CGameActor* source) { } EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_cross_rain_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_cross_rain_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } effects = g_effectMgr; - effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_cross_rain_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_cross_rain_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -756,8 +752,8 @@ int CSkillAction_IG_CROSS_RAIN::GetSkillScopeType() { // FUNCTION: fn_08581 void CSkillObjectAction_IG_CROSS_RAIN::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object && source) { - g_effectMgr->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_cross_rain_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(object->render.accountId, 2462, object->render.position.x, object->render.position.y, object->render.position.z, 0, argument, 0, 0); + g_effectMgr->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_cross_rain_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(object->render.accountId, 2462, object->render.position, 0, argument, 0, 0); } } @@ -769,12 +765,12 @@ void CSkillAction_IG_GRAND_JUDGEMENT::OnSkillCast(int level, CGameActor* source) } EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } effects = g_effectMgr; - effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -788,9 +784,9 @@ void CSkillAction_IG_GRAND_JUDGEMENT::OnSkillEffect(int level, CGameActor* sourc } EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const int subEffectId = CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_sub"); for (int index = 0; index < 8; ++index) { const float originX = target->render.position.x; @@ -812,7 +808,7 @@ void CSkillAction_IG_GRAND_JUDGEMENT::OnSkillEffect(int level, CGameActor* sourc z = originZ + static_cast(std::max(rand() % 8, 0)); break; } - CEffect* effect = g_effectMgr->Spawn(0, subEffectId, x, y, z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, subEffectId, vector3d{x, y, z}, 0, -1, 0, 0); if (effect) { effect->SetDelay(140 * (index + 1)); } @@ -824,7 +820,7 @@ void CSkillAction_IG_GRAND_JUDGEMENT::OnSkillEffect(int level, CGameActor* sourc void CEfstAction_IG_GRAND_JUDGEMENT::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_grand_judgement_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } diff --git a/Source/Contents/Skills/SkillActionKarnos.cpp b/Source/Contents/Skills/SkillActionKarnos.cpp index ec96b9ebf..0b32243f4 100644 --- a/Source/Contents/Skills/SkillActionKarnos.cpp +++ b/Source/Contents/Skills/SkillActionKarnos.cpp @@ -237,7 +237,7 @@ void CSkillAction_KR_DOUBLE_SLASH::OnSkillEffect(int level, CGameActor* source, const std::uint8_t effectSource[] = {0x7B, 0x5E, 0xB8, 0x85, 0x81, 0x10, 0x32, 0x6E, 0x73, 0x50, 0xBE, 0x8F, 0xED}; thread_local EncryptedName effectName(effectSource); EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B0A10 @@ -271,7 +271,7 @@ void CSkillAction_KR_CLAW_WAVE::OnSkillCast(int level, CGameActor* source) { void CSkillAction_KR_CLAW_WAVE::OnGroundSkillEffect(vector3d position, int argument2, int argument3) { const std::uint8_t effectSource[] = {0xD0, 0x0B, 0xA2, 0x24, 0xA6, 0xEC, 0x54, 0x61, 0xD6, 0x67}; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position, 0, -1, 0, 0); } // OFFSET: 0x005B0EA0 @@ -287,13 +287,19 @@ void CSkillAction_KR_EARTH_DRILL::OnSkillHit(int level, CGameActor* source, CGam return; } - const std::uint8_t effectSource[] = {0x72, 0x98, 0x3D, 0xCD, 0x93, 0xEA, 0x4B, 0xB7, 0x7E, 0x95, 0x23, 0xB9}; - thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + EffectLists* effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + const std::uint8_t effectSource[] = {0x72, 0x98, 0x3D, 0xCD, 0x93, 0xEA, 0x4B, 0xB7, 0x7E, 0x95, 0x23, 0xB9}; + thread_local EncryptedName effectName(effectSource); + return effectName.Text(); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); - const std::uint8_t bottomSource[] = {0xA0, 0xAC, 0xF5, 0x81, 0xC9, 0xFC, 0x83, 0xE1, 0xAC, 0xA1, 0xEB, 0xAA, 0xC3, 0xCC, 0x93, 0xE7, 0xAA, 0xA0, 0x87}; - thread_local EncryptedName bottomName(bottomSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + const std::uint8_t bottomSource[] = {0xA0, 0xAC, 0xF5, 0x81, 0xC9, 0xFC, 0x83, 0xE1, 0xAC, 0xA1, 0xEB, 0xAA, 0xC3, 0xCC, 0x93, 0xE7, 0xAA, 0xA0, 0x87}; + thread_local EncryptedName bottomName(bottomSource); + return bottomName.Text(); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B1240 @@ -307,11 +313,11 @@ int CSkillAction_KR_EARTH_STAMP::GetSkillAttackMotion() { void CSkillAction_KR_EARTH_STAMP::OnGroundSkillEffect(vector3d position, int argument2, int argument3) { const char effectSource[] = {'\xB2', '\x2E', '\x71', '\xE1', '\xB1', '\xDA', '\xDC', '\x4B', '\xB6', '\x22', '\x73', '\x95'}; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position, 0, -1, 0, 0); const char bottomSource[] = {'\xDC', '\x6C', '\x5D', '\xD5', '\x2B', '\xA4', '\x7C', '\x3D', '\xD8', '\x60', '\x5F', '\xFE', '\x21', '\x94', '\x7B', '\x3D', '\xD6', '\x60', '\x2F'}; thread_local EncryptedName bottomName(bottomSource); - g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), position, 0, -1, 0, 0); } // OFFSET: 0x005B1590 @@ -383,8 +389,8 @@ void CSkillAction_KR_THUNDERING_CALL::OnSkillEffect(int level, CGameActor* sourc bottomEffectId = CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()); } - g_effectMgr->Spawn(target->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, bottomEffectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, bottomEffectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B2010 @@ -414,8 +420,8 @@ void CSkillAction_KR_THUNDERING_CALL_S::OnSkillEffect(int level, CGameActor* sou bottomEffectId = CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()); } - g_effectMgr->Spawn(target->render.accountId, effectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(target->render.accountId, bottomEffectId, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, effectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, bottomEffectId, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B2670 @@ -470,19 +476,19 @@ void CSkillAction_KR_THUNDERING_ORB::OnGroundSkillEffect(vector3d position, int return; } - if (CEffect* orb = g_effectMgr->Spawn(target->render.accountId, 2441, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* orb = g_effectMgr->Spawn(target->render.accountId, 2441, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { static_cast(orb)->SetTarget(position); } constexpr std::array effectSource = CRYPT_NAME("thundering_orb_g", 0x2D394DBD0F332733ULL); thread_local EncryptedName effectName(effectSource); - if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position.x, position.y, position.z, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position, 0, -1, 0, 0)) { effect->SetDelay(300); } constexpr std::array bottomSource = CRYPT_NAME("thundering_orb_g_bottom", 0x151F77EBEBBB2147ULL); thread_local EncryptedName bottomName(bottomSource); - if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), position.x, position.y, position.z, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), position, 0, -1, 0, 0)) { effect->SetDelay(300); } } @@ -495,19 +501,19 @@ void CSkillAction_KR_THUNDERING_ORB_S::OnGroundSkillEffect(vector3d position, in return; } - if (CEffect* orb = g_effectMgr->Spawn(target->render.accountId, 2441, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* orb = g_effectMgr->Spawn(target->render.accountId, 2441, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { static_cast(orb)->SetTarget(position); } constexpr std::array effectSource = CRYPT_NAME("thundering_orb_y", 0x69FD1D9733D3CFC1ULL); thread_local EncryptedName effectName(effectSource); - if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position.x, position.y, position.z, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), position, 0, -1, 0, 0)) { effect->SetDelay(300); } constexpr std::array bottomSource = CRYPT_NAME("thundering_orb_y_bottom", 0xF5657D1F3DE5CDC7ULL); thread_local EncryptedName bottomName(bottomSource); - if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), position.x, position.y, position.z, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), position, 0, -1, 0, 0)) { effect->SetDelay(300); } } @@ -521,7 +527,7 @@ void CSkillAction_KR_ICE_SPLASH::OnSkillEffect(int level, CGameActor* source, CG const std::uint8_t effectSource[] = {0x58, 0x3A, 0x4E, 0x5E, 0x12, 0xBD, 0x09, 0xEA, 0x42, 0x31, 0x2B}; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B3470 @@ -548,16 +554,16 @@ void CSkillObjectAction_KR_ICE_PILLAR::OnSkillObjectCreate(int argument, CRender const char bytes[] = {'\x8C', '\xEC', '\x28', '\x4A', '\x47', '\x68', '\x3F', '\x9B', '\x84', '\xFD', '\x12', '\x66', '\x43', '\x60', '\x21', '\x83', '\xE5'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { const char bytes[] = {'\xAA', '\xA0', '\xB0', '\xD4', '\x2B', '\x82', '\x53', '\xE7', '\xA2', '\xB1', '\x8A', '\xF8', '\x2F', '\x8A', '\x4D', '\xFF', '\x9C', '\xA1', '\xBA', '\xFF', '\x2F', '\x84', '\x52', '\x8B'}; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); - if (CEffect* effect = g_effectMgr->Spawn(object->render.accountId, 2472, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(object->render.accountId, 2472, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { static_cast(effect)->SetNames([] { const char bytes[] = {'\xCE', '\xD0', '\x60', '\x96', '\xD5', '\x0A', '\x87', '\x67', '\xC6', '\xC1', '\x5A', '\xA5', '\xCA', '\x0C', '\x9B', '\x0B'}; thread_local EncryptedName name(bytes); @@ -569,7 +575,7 @@ void CSkillObjectAction_KR_ICE_PILLAR::OnSkillObjectCreate(int argument, CRender }()); effect->SetDelay(990); } - if (CEffect* effect = g_effectMgr->Spawn(object->render.accountId, 2473, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(object->render.accountId, 2473, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { static_cast(effect)->SetNames([] { const char bytes[] = {'\xDC', '\x16', '\x04', '\x00', '\x8D', '\x32', '\x77', '\xE3', '\xD4', '\x07', '\x3E', '\x33', '\x92', '\x34', '\x6B', '\xD0', '\xD7', '\x1A', '\x15', '\x2B', '\x92', '\x36', '\x1B'}; @@ -665,7 +671,7 @@ void CSkillAction_KR_SHARPEN_HAIL::OnSkillCast(int level, CGameActor* source) { constexpr std::array bytes = CRYPT_NAME("sharpen_hail", 0x7FC1015DFFCF6D19ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; @@ -673,7 +679,7 @@ void CSkillAction_KR_SHARPEN_HAIL::OnSkillCast(int level, CGameActor* source) { constexpr std::array bytes = CRYPT_NAME("sharpen_hail_bottom", 0xCB3FBD4183DB8323ULL); thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -731,12 +737,12 @@ void CSkillAction_KR_SHARPEN_HAIL::OnSkillEffect(int level, CGameActor* source, target->render.position.z + 0.0f, }; - CEffect* shot = g_effectMgr->Spawn(0, shotEffect, position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* shot = g_effectMgr->Spawn(0, shotEffect, position, 0, -1, 0, 0); if (shot) { shot->SetDelay(startTime); } - CEffect* bottom = g_effectMgr->Spawn(0, bottomEffect, position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* bottom = g_effectMgr->Spawn(0, bottomEffect, position, 0, -1, 0, 0); if (bottom) { bottom->SetDelay(startTime); } @@ -834,8 +840,8 @@ void CSkillAction_KR_TYPHOON_WING::OnGroundSkillEffect(vector3d position, int le }()) ); - g_effectMgr->Spawn(0, effectId, position.x, position.y, position.z, 0, -1, 0, 0); - g_effectMgr->Spawn(0, bottomId, position.x, position.y, position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, effectId, position, 0, -1, 0, 0); + g_effectMgr->Spawn(0, bottomId, position, 0, -1, 0, 0); } // OFFSET: 0x005B58A0 @@ -882,13 +888,13 @@ void CEfstAction_WIND_VEIL::OnEfstBegin(int efstId, int value, int argument3, in constexpr std::array source = CRYPT_NAME("wild_veil", 0x6DED3DD1CF75AD9BULL); thread_local EncryptedName name(source); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { constexpr std::array source = CRYPT_NAME("wild_veil_bottom", 0x49C3759B77DBD3C1ULL); thread_local EncryptedName name(source); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B5CE0 @@ -1011,7 +1017,7 @@ void CSkillAction_KR_NASTY_SLASH::OnSkillEffect(int level, CGameActor* source, C const float angle = ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values); const std::uint8_t effectSource[] = {0x49, 0x60, 0x74, 0x19, 0x7A, 0x9A, 0x80, 0x43, 0x46, 0x72, 0x6F, 0x6D}; thread_local EncryptedName effectName(effectSource); - if (CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + 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)) { effect->SetAngle(angle); effect->SetPitch(25.0f); } @@ -1024,13 +1030,19 @@ void CSkillAction_KR_FEATHER_SPRINKLE::OnSkillEffect(int level, CGameActor* sour return; } - const std::uint8_t effectSource[] = {0x89, 0x46, 0xB4, 0x9B, 0x71, 0x34, 0xE3, 0x64, 0x9C, 0x53, 0xA7, 0x86, 0x77, 0x3A, 0xFD, 0x5E, 0xEF}; - thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + EffectLists* effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + const std::uint8_t effectSource[] = {0x89, 0x46, 0xB4, 0x9B, 0x71, 0x34, 0xE3, 0x64, 0x9C, 0x53, 0xA7, 0x86, 0x77, 0x3A, 0xFD, 0x5E, 0xEF}; + thread_local EncryptedName effectName(effectSource); + return effectName.Text(); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); - const std::uint8_t bottomSource[] = {0x31, 0xE6, 0x88, 0xA1, 0xE9, 0xA0, 0x3F, 0x18, 0x24, 0xF3, 0x9B, 0xBC, 0xEF, 0xAE, 0x21, 0x22, 0x08, 0xE1, 0x86, 0xA1, 0xF5, 0xAA, 0x20, 0x47}; - thread_local EncryptedName bottomName(bottomSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(bottomName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects = g_effectMgr; + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId([] { + const std::uint8_t bottomSource[] = {0x31, 0xE6, 0x88, 0xA1, 0xE9, 0xA0, 0x3F, 0x18, 0x24, 0xF3, 0x9B, 0xBC, 0xEF, 0xAE, 0x21, 0x22, 0x08, 0xE1, 0x86, 0xA1, 0xF5, 0xAA, 0x20, 0x47}; + thread_local EncryptedName bottomName(bottomSource); + return bottomName.Text(); + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B42B0 @@ -1047,7 +1059,7 @@ void CSkillAction_KR_SHARPEN_GUST::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetAngle(angle); effect->SetPitch(30.0f); } @@ -1058,7 +1070,7 @@ void CSkillAction_KR_SHARPEN_GUST::OnSkillEffect(int level, CGameActor* source, const auto& bytes = bytesText.data; thread_local EncryptedName name(bytes); return name.Text(); - }()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + }()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetAngle(angle); effect->SetPitch(30.0f); } @@ -1073,7 +1085,7 @@ void CSkillAction_KR_IRON_HOWLING::OnSkillEffect(int level, CGameActor* source, const std::uint8_t effectSource[] = {0xF6, 0xB1, 0x28, 0xD3, 0xB4, 0x2F, 0x8E, 0xE6, 0xF3, 0xAA, 0x29, 0xDA, 0xEB}; thread_local EncryptedName effectName(effectSource); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(effectName.Text()), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x005B6040 diff --git a/Source/Contents/Skills/SkillActionMeister.cpp b/Source/Contents/Skills/SkillActionMeister.cpp index 3380ca9df..b48947837 100644 --- a/Source/Contents/Skills/SkillActionMeister.cpp +++ b/Source/Contents/Skills/SkillActionMeister.cpp @@ -73,9 +73,9 @@ void CSkillAction_MT_SPARK_BLASTER::OnSkillCast(int level, CGameActor* source) { void CSkillAction_MT_SPARK_BLASTER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spark_blaster"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spark_blaster"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spark_blaster_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spark_blaster_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -97,7 +97,7 @@ void CSkillAction_MT_TRIPLE_LASER::OnSkillEffect(int level, CGameActor* source, void CSkillAction_MT_TRIPLE_LASER::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("triple_laser"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("triple_laser"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -106,7 +106,7 @@ void CSkillAction_MT_TRIPLE_LASER::OnSkillHit(int level, CGameActor* source, CGa void CSkillAction_MT_MIGHTY_SMASH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mighty_smash"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mighty_smash"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -124,12 +124,12 @@ void CSkillAction_MT_ENERGY_CANNONADE::OnSkillCast(int level, CGameActor* source } EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } effects = g_effectMgr; - effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -143,9 +143,8 @@ void CSkillAction_MT_ENERGY_CANNONADE::OnSkillEffect(int level, CGameActor* sour } const float angle = ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values); - const vector3d position = source->render.position; EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade"), position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade"), source->render.position, 0, -1, 0, 0); if (effect) { effect->SetAngle(angle + 180.0f); } @@ -156,7 +155,7 @@ void CSkillAction_MT_ENERGY_CANNONADE::OnSkillEffect(int level, CGameActor* sour void CSkillAction_MT_ENERGY_CANNONADE::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_hit_big"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_hit_big"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -165,7 +164,7 @@ void CSkillAction_MT_ENERGY_CANNONADE::OnSkillHit(int level, CGameActor* source, void CSkillAction_MT_ENERGY_CANNONADE::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_cannonade_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -180,9 +179,9 @@ void CSkillAction_MT_RUSH_STRIKE::OnSkillEffect(int level, CGameActor* source, C ragEffect->SendMsg(nullptr, AM_SETPOS, 0, reinterpret_cast(&target->render.position), 0, 0, 0, 0); } EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rush_strike_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rush_strike_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rush_strike"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rush_strike"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetFlipX(source->render.previousAnimation % 8 >= 4); } @@ -193,7 +192,7 @@ void CSkillAction_MT_RUSH_STRIKE::OnSkillEffect(int level, CGameActor* source, C void CSkillAction_MT_RUSH_STRIKE::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rush_strike_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rush_strike_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -205,12 +204,12 @@ void CSkillAction_MT_POWERFUL_SWING::OnSkillEffect(int level, CGameActor* source } if (!g_serviceOptions.Get(229)) { - CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("powerful_swing_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("powerful_swing_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetAngle(ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values) + 180.0f); } } - CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("powerful_swing"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("powerful_swing"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetFlipX(source->render.previousAnimation % 8 >= 4); } @@ -221,7 +220,7 @@ void CSkillAction_MT_POWERFUL_SWING::OnSkillEffect(int level, CGameActor* source void CSkillAction_MT_POWERFUL_SWING::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("powerful_swing_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("powerful_swing_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } diff --git a/Source/Contents/Skills/SkillActionNightWatch.cpp b/Source/Contents/Skills/SkillActionNightWatch.cpp index d4ae8ca21..f8fe5c6cc 100644 --- a/Source/Contents/Skills/SkillActionNightWatch.cpp +++ b/Source/Contents/Skills/SkillActionNightWatch.cpp @@ -158,7 +158,7 @@ public: void CSkillAction_NW_INTENSIVE_AIM::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("intensiveaim_helix"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("intensiveaim_helix"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -173,10 +173,10 @@ void CEfstAction_INTENSIVE_AIM_COUNT::OnEfstBegin(int efstId, int value, int arg EffectLists* effects = g_effectMgr; effects->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("intensiveaim_full")); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("intensive_aim_%02d", value)), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("intensive_aim_%02d", value)), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (value == 10) { effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("intensiveaim_full"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("intensiveaim_full"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } } @@ -211,31 +211,31 @@ void CSkillAction_NW_GRENADE_FRAGMENT::OnSkillEffect(int level, CGameActor* sour switch (level) { case 1: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_water"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_water"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 2: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_wind"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_wind"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 3: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_earth"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_earth"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 4: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_fire"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_fire"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 5: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_darkness"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_darkness"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 6: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_saint"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_saint"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 7: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_reset"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("grenade_fragment_reset"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; } } @@ -252,7 +252,7 @@ void CSkillAction_NW_THE_VIGILANTE_AT_NIGHT::OnSkillCast(int level, CGameActor* // FUNCTION: fn_08683 void CSkillAction_NW_THE_VIGILANTE_AT_NIGHT_GUN_GATLING::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (!target) { @@ -261,7 +261,7 @@ void CSkillAction_NW_THE_VIGILANTE_AT_NIGHT_GUN_GATLING::OnSkillEffect(int level for (int index = 0; index < 7; ++index) { const vector3d position = target->render.position; - CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_crack"), position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_crack"), position, 0, -1, 0, 0); if (!effect) { return; } @@ -280,7 +280,7 @@ void CSkillAction_NW_THE_VIGILANTE_AT_NIGHT_GUN_GATLING::OnSkillEffect(int level // FUNCTION: fn_08685 void CSkillAction_NW_THE_VIGILANTE_AT_NIGHT_GUN_SHOTGUN::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (!target) { @@ -289,7 +289,7 @@ void CSkillAction_NW_THE_VIGILANTE_AT_NIGHT_GUN_SHOTGUN::OnSkillEffect(int level for (int index = 0; index < 4; ++index) { const vector3d position = target->render.position; - CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_crack"), position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("the_vigilante_at_night_crack"), position, 0, -1, 0, 0); if (!effect) { return; } @@ -317,7 +317,7 @@ void CSkillAction_NW_ONLY_ONE_BULLET::OnSkillCast(int level, CGameActor* source) void CSkillAction_NW_ONLY_ONE_BULLET::OnTargetSkillCast(int argument1, int argument2, int argument3) { if (CGameActor* source = reinterpret_cast(argument2)) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("only_one_bullet"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("only_one_bullet"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -331,7 +331,7 @@ void CSkillAction_NW_ONLY_ONE_BULLET::OnSkillDamage(int level, CGameActor* sourc const float angle = ScreenAngle(&origin->render.position.x, &source->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values); EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("only_one_bullet_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("only_one_bullet_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetAngle(angle); } @@ -350,7 +350,7 @@ void CSkillAction_NW_SPIRAL_SHOOTING::OnSkillCast(int level, CGameActor* source) void CSkillAction_NW_SPIRAL_SHOOTING::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_shooting"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_shooting"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -367,7 +367,7 @@ void CSkillAction_NW_MAGAZINE_FOR_ONE::OnSkillCast(int level, CGameActor* source void CSkillAction_NW_MAGAZINE_FOR_ONE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("magazine_for_one"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("magazine_for_one"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -430,14 +430,14 @@ void CSkillAction_NW_HASTY_FIRE_IN_THE_HOLE::OnSkillCast(int level, CGameActor* void CSkillAction_NW_HASTY_FIRE_IN_THE_HOLE::OnGroundSkillEffect(vector3d position, int argument2, int argument3) { for (int index = 0; index < 3; ++index) { CEffect* effect = g_effectMgr->Spawn( - 0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hasty_fire_in_the_hole_%d", index).c_str()), position.x, position.y, position.z, 0, -1, 0, 0 + 0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hasty_fire_in_the_hole_%d", index).c_str()), position, 0, -1, 0, 0 ); if (effect) { effect->SetDelay(index * 288); } effect = g_effectMgr->Spawn( - 0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hasty_fire_in_the_hole_bottom_%d", index).c_str()), position.x, position.y, position.z, 0, -1, 0, 0 + 0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hasty_fire_in_the_hole_bottom_%d", index).c_str()), position, 0, -1, 0, 0 ); if (effect) { effect->SetDelay(index * 288); @@ -469,7 +469,7 @@ int CSkillAction_NW_GRENADES_DROPPING::GetSkillScopeType() { // FUNCTION: fn_08713 void CSkillObjectAction_NW_GRENADES_DROPPING::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { - g_effectMgr->Spawn(object->render.accountId, 2351, object->render.position.x, object->render.position.y, object->render.position.z, 0, argument, 0, 0); + g_effectMgr->Spawn(object->render.accountId, 2351, object->render.position, 0, argument, 0, 0); } } @@ -486,9 +486,9 @@ void CSkillAction_NW_AUTO_FIRING_LAUNCHER::OnSkillCast(int level, CGameActor* so void CSkillAction_NW_AUTO_FIRING_LAUNCHER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("auto_firing_launcher"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("auto_firing_launcher"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("auto_firing_launcher_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("auto_firing_launcher_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -505,7 +505,7 @@ void CSkillAction_NW_HIDDEN_CARD::OnSkillCast(int level, CGameActor* source) { void CSkillAction_NW_HIDDEN_CARD::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hiddencard"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hiddencard"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -514,7 +514,7 @@ void CSkillAction_NW_HIDDEN_CARD::OnSkillEffect(int level, CGameActor* source, C void CEfstAction_HIDDEN_CARD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hiddencard_thunder"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hiddencard_thunder"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -558,12 +558,12 @@ int CSkillAction_NW_MISSION_BOMBARD::GetSkillScopeType() { void CSkillObjectAction_NW_MISSION_BOMBARD::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mission_bombard"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mission_bombard"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mission_bombard_fire"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mission_bombard_fire"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mission_bombard_fire_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(object->render.accountId, 2354, object->render.position.x, object->render.position.y, object->render.position.z, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mission_bombard_fire_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(object->render.accountId, 2354, object->render.position, 0, -1, 0, 0); } } @@ -575,7 +575,7 @@ void CSkillAction_NW_WILD_SHOT::OnSkillCast(int level, CGameActor* source) { } EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -604,11 +604,11 @@ void CSkillAction_NW_WILD_SHOT::OnSkillEffect(int level, CGameActor* source, CGa const float x = offsetX + target->render.position.x; const float y = target->render.position.y + 0.0f; const float z = offsetZ + target->render.position.z; - CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot"), x, y, z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot"), vector3d{x, y, z}, 0, -1, 0, 0); if (effect) { effect->SetScale(0.8f); effect->SetDelay(delay); - effect->SetAngle(static_cast(std::max(rand() % 360, 0))); + effect->SetAngle(static_cast(std::ranges::max(rand() % 360, 0))); } delay += 240; } @@ -624,7 +624,7 @@ void CSkillAction_NW_WILD_SHOT::OnSkillDamage(int level, CGameActor* source, CGa EffectLists* effects = g_effectMgr; effects->Retire(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot_hit")); effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_shot_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetScale(0.8f); } @@ -644,7 +644,7 @@ void CSkillAction_NW_MIDNIGHT_FALLEN::OnSkillCast(int level, CGameActor* source) } EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("midnight_fallen_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("midnight_fallen_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -677,7 +677,7 @@ void CSkillAction_NW_MIDNIGHT_FALLEN::OnSkillDamage(int level, CGameActor* sourc EffectLists* effects = g_effectMgr; effects->Retire(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("midnight_fallen_hit")); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("midnight_fallen_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("midnight_fallen_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } diff --git a/Source/Contents/Skills/SkillActionShinkiroShiranui.cpp b/Source/Contents/Skills/SkillActionShinkiroShiranui.cpp index 4b0631272..b2b9b25b2 100644 --- a/Source/Contents/Skills/SkillActionShinkiroShiranui.cpp +++ b/Source/Contents/Skills/SkillActionShinkiroShiranui.cpp @@ -129,7 +129,7 @@ int CSkillAction_SS_RAIDENPOU::GetSkillAttackMotion() { void CSkillAction_SS_RAIDENPOU::OnSkillCast(int level, CGameActor* source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -139,9 +139,9 @@ void CSkillAction_SS_RAIDENPOU::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_RAIDENPOU::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -150,7 +150,7 @@ void CSkillAction_SS_RAIDENPOU::OnSkillEffect(int level, CGameActor* source, CGa void CSkillAction_SS_RAIDENPOU::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_raidenpou_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -179,9 +179,8 @@ void CSkillAction_SS_KINRYUUHOU::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_KINRYUUHOU::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source && target) { const float angle = ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values); - const vector3d position = source->render.position; EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("kinryuuhou"), position.x, position.y, position.z, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("kinryuuhou"), source->render.position, 0, -1, 0, 0)) { effect->SetAngle(angle); } } @@ -192,7 +191,7 @@ void CSkillAction_SS_KINRYUUHOU::OnSkillEffect(int level, CGameActor* source, CG void CSkillAction_SS_KINRYUUHOU::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kinryuuhou_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kinryuuhou_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -220,9 +219,8 @@ void CSkillAction_SS_ANTENPOU::OnSkillCast(int level, CGameActor* source) { // FUNCTION: fn_08799 void CSkillAction_SS_ANTENPOU::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - const vector3d position = source->render.position; EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("antenpou"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("antenpou"), source->render.position, 0, -1, 0, 0); } } @@ -252,7 +250,7 @@ void CSkillAction_SS_KAGEAKUMU::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_KAGEAKUMU::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kageakumu"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kageakumu"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -284,8 +282,7 @@ void CSkillAction_SS_HITOUAKUMU::OnSkillEffect(int level, CGameActor* source, CG return; } - g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("hitouakumu"), source->render.position.x, source->render.position.y, - source->render.position.z, 0, -1, 0, 0); + g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("hitouakumu"), source->render.position, 0, -1, 0, 0); ShuffledSequence shuffle; for (int ring = 0; ring < 3; ++ring) { @@ -293,8 +290,7 @@ void CSkillAction_SS_HITOUAKUMU::OnSkillEffect(int level, CGameActor* source, CG const float step = 360.0f / count; const std::vector order = shuffle(count); for (int index = 0; index < count; ++index) { - CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hitouakumu_%02d", ring)), source->render.position.x, - source->render.position.y, source->render.position.z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hitouakumu_%02d", ring)), source->render.position, 0, -1, 0, 0); if (effect) { const int spread = static_cast(step); effect->SetAngle(index * step + (spread ? std::max(0, std::rand() % spread) : 0)); @@ -330,7 +326,7 @@ void CSkillAction_SS_ANKOKURYUUAKUMU::OnSkillCast(int level, CGameActor* source) void CSkillAction_SS_ANKOKURYUUAKUMU::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ankokuryuuakumu_00"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ankokuryuuakumu_00"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -339,7 +335,7 @@ void CSkillAction_SS_ANKOKURYUUAKUMU::OnSkillEffect(int level, CGameActor* sourc void CSkillAction_SS_ANKOKURYUUAKUMU::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ankokuryuuakumu_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ankokuryuuakumu_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -354,27 +350,27 @@ void CSkillAction_SS_FOUR_CHARM::OnSkillEffect(int level, CGameActor* source, CG switch (source->charmType) { case CHARM_TYPE_WATER: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_ice_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_ice_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_ice"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_ice"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case CHARM_TYPE_LAND: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_earth_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_earth_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_earth"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_earth"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case CHARM_TYPE_FIRE: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_fire_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_fire_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_fire"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_fire"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case CHARM_TYPE_WIND: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_wind_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_wind_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_wind"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("four_charm_wind"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; } } @@ -512,7 +508,7 @@ public: void CEfstAction_NIGHTMARE::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("efst_nightmare"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("efst_nightmare"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -534,9 +530,8 @@ void CEfstAction_NIGHTMARE::OnEfstUpdate(int efstId, int value, int argument3, i // OFFSET: 0x007927B0 // FUNCTION: fn_08741 void CEfstAction_SHADOW_CLOCK::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { - const vector3d position = actor->render.position; EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("kagekakusi"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("kagekakusi"), actor->render.position, 0, -1, 0, 0); static_cast(actor)->LaunchEffect(963, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } @@ -563,9 +558,9 @@ void CEfstAction_SHADOW_CLOCK::OnEfstUpdate(int efstId, int value, int argument3 void CSkillObjectAction_SS_SBUNSHIN::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -577,9 +572,8 @@ void CSkillObjectAction_SS_SBUNSHIN::OnSkillObjectRemove(CRenderObject* object) effects->Retire(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_start")); effects = g_effectMgr; effects->Retire(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_loop")); - const vector3d position = object->render.position; effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_end"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("shinkirou_idle_end"), object->render.position, 0, -1, 0, 0); } } @@ -588,9 +582,9 @@ void CSkillObjectAction_SS_SBUNSHIN::OnSkillObjectRemove(CRenderObject* object) void CSkillObjectAction_SS_KUNAITRAP::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -600,9 +594,8 @@ void CSkillObjectAction_SS_KUNAITRAP::OnSkillObjectRemove(CRenderObject* object) if (object) { EffectLists* effects = g_effectMgr; effects->Retire(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_loop")); - const vector3d position = object->render.position; effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_end"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("kunaiarea_01_end"), object->render.position, 0, -1, 0, 0); } } @@ -611,10 +604,10 @@ void CSkillObjectAction_SS_KUNAITRAP::OnSkillObjectRemove(CRenderObject* object) void CSkillAction_SS_TOKEDASU::OnGroundSkillEffect(vector3d position, int argument2, int argument3) { CGameActor* shadow = reinterpret_cast(argument3); EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("tokedasu"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("tokedasu"), position, 0, -1, 0, 0); if (shadow) { effects = g_effectMgr; - effects->Spawn(shadow->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("tokedasu_shadow"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(shadow->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("tokedasu_shadow"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -644,7 +637,7 @@ void CSkillAction_SS_AKUMUKESU::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_AKUMUKESU::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("akumukesu"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("akumukesu"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -691,7 +684,7 @@ void CSkillAction_SS_KAGENOMAI::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_KAGENOMAI::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kagenomai"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kagenomai"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -708,13 +701,13 @@ void CSkillAction_SS_KAGEGISSEN::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_KAGEGISSEN::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source && target) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen_moon_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen_moon_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("new_kagegissen_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -728,7 +721,7 @@ int CSkillAction_SS_FUUMASHOUAKU::GetSkillAttackMotion() { // FUNCTION: fn_08764 void CSkillAction_SS_FUUMASHOUAKU::OnSkillCast(int level, CGameActor* source) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 986, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 986, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(source)->LaunchEffect(454, level / 16); } } @@ -737,7 +730,7 @@ void CSkillAction_SS_FUUMASHOUAKU::OnSkillCast(int level, CGameActor* source) { // FUNCTION: fn_08765 void CSkillObjectAction_NPC_FUUMA::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object && source) { - g_effectMgr->Spawn(object->render.accountId, 2352, source->render.position.x, source->render.position.y, source->render.position.z, + g_effectMgr->Spawn(object->render.accountId, 2352, source->render.position, object->render.accountId, -1, 0, 0); } } @@ -752,7 +745,7 @@ int CSkillAction_SS_FUUMAKOUCHIKU::GetSkillAttackMotion() { // FUNCTION: fn_08767 void CSkillAction_SS_FUUMAKOUCHIKU::OnSkillCast(int level, CGameActor* source) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 986, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 986, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(source)->LaunchEffect(454, level / 16); } } @@ -768,9 +761,8 @@ void CSkillAction_SS_FUUMAKOUCHIKU::OnGroundSkillEffect(vector3d position, int a // FUNCTION: fn_08769 void CSkillAction_SS_FUUMASHOUAKU_HIT::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (target) { - const vector3d position = target->render.position; EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("fuumakouchiku_blasting"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("fuumakouchiku_blasting"), target->render.position, 0, -1, 0, 0); } } @@ -784,7 +776,7 @@ int CSkillAction_SS_KUNAIWAIKYOKU::GetSkillAttackMotion() { // FUNCTION: fn_08771 void CSkillAction_SS_KUNAIWAIKYOKU::OnSkillCast(int level, CGameActor* source) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 986, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 986, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(source)->LaunchEffect(454, level / 16); } } @@ -817,8 +809,7 @@ void CSkillAction_SS_KUNAIKAITEN::OnSkillEffect(int level, CGameActor* source, C for (int wave = 0; wave < 4; ++wave) { for (const std::string& name : names) { EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(name), source->render.position.x, source->render.position.y, - source->render.position.z, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId(name), source->render.position, 0, -1, 0, 0); if (effect) { effect->SetDelay(wave * 480); } @@ -837,7 +828,7 @@ int CSkillAction_SS_KUNAIKUSSETSU::GetSkillAttackMotion() { // FUNCTION: fn_08776 void CSkillAction_SS_KUNAIKUSSETSU::OnSkillCast(int level, CGameActor* source) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 986, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 986, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(source)->LaunchEffect(454, level / 16); } } @@ -847,14 +838,14 @@ void CSkillAction_SS_KUNAIKUSSETSU::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SS_KUNAIKUSSETSU::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu_end"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu_end"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (!g_serviceOptions.Get(229)) { effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu_bottom_end"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kunaikussetsu_bottom_end"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } } diff --git a/Source/Contents/Skills/SkillActionSkyEmperor.cpp b/Source/Contents/Skills/SkillActionSkyEmperor.cpp index 56249f0a8..f05561dcd 100644 --- a/Source/Contents/Skills/SkillActionSkyEmperor.cpp +++ b/Source/Contents/Skills/SkillActionSkyEmperor.cpp @@ -166,7 +166,7 @@ public: // FUNCTION: fn_08815 void CSkillObjectAction_SKE_STAR_CANNON::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { - g_effectMgr->Spawn(object->render.accountId, 2350, object->render.position.x, object->render.position.y, object->render.position.z, 0, argument, 0, 0); + g_effectMgr->Spawn(object->render.accountId, 2350, object->render.position, 0, argument, 0, 0); } } @@ -189,7 +189,7 @@ void CSkillAction_SKE_ALL_IN_THE_SKY::OnSkillCast(int level, CGameActor* source) void CSkillAction_SKE_ALL_IN_THE_SKY::OnTargetSkillCast(int argument1, int argument2, int argument3) { if (CGameActor* source = reinterpret_cast(argument2)) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_all_in_the_sky"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_all_in_the_sky"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -206,9 +206,9 @@ void CSkillAction_SKE_ENCHANTING_SKY::OnSkillCast(int level, CGameActor* source) void CEfstAction_SKY_ENCHANT::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_00"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_00"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -226,7 +226,7 @@ void CEfstAction_SKY_ENCHANT::OnEfstEnd(int efstId, int argument2, int argument3 void CEfstAction_SKY_ENCHANT::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_enchanting_sky_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -238,12 +238,11 @@ void CSkillAction_SKE_SKY_SUN::OnSkillEffect(int level, CGameActor* source, CGam } EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); for (int index = 0; index < 6; ++index) { effects = g_effectMgr; - CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun_small"), target->render.position.x, target->render.position.y, - target->render.position.z, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun_small"), target->render.position, 0, -1, 0, 0); if (!effect) { return; } @@ -262,7 +261,7 @@ void CSkillAction_SKE_SKY_SUN::OnSkillEffect(int level, CGameActor* source, CGam void CSkillAction_SKE_SKY_SUN::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_sun_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -271,11 +270,11 @@ void CSkillAction_SKE_SKY_SUN::OnSkillDamage(int level, CGameActor* source, CGam void CSkillAction_SKE_SKY_MOON::OnSkillCast(int level, CGameActor* source) { if (source) { if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_cast"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_cast_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -290,12 +289,12 @@ void CSkillAction_SKE_SKY_MOON::OnSkillEffect(int level, CGameActor* source, CGa const float scale = source->attackMotion * source->render.speed * 16.0f; EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(static_cast(scale)); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_bottom"), - 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(static_cast(scale)); } } @@ -305,7 +304,7 @@ void CSkillAction_SKE_SKY_MOON::OnSkillEffect(int level, CGameActor* source, CGa void CSkillAction_SKE_SKY_MOON::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sky_moon_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -318,9 +317,9 @@ void CSkillAction_SKE_STAR_LIGHT_KICK::OnSkillEffect(int level, CGameActor* sour source->LaunchEffect(2426, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00798B90 @@ -328,7 +327,7 @@ void CSkillAction_SKE_STAR_LIGHT_KICK::OnSkillEffect(int level, CGameActor* sour void CSkillAction_SKE_STAR_LIGHT_KICK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("star_light_kick_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -342,8 +341,8 @@ int CSkillAction_SKE_RISING_SUN::GetSkillAttackMotion() { // FUNCTION: fn_08833 void CEfstAction_RISING_SUN::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_00"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_00"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -361,7 +360,7 @@ void CEfstAction_RISING_SUN::OnEfstEnd(int efstId, int argument2, int argument3, void CEfstAction_RISING_SUN::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -369,8 +368,8 @@ void CEfstAction_RISING_SUN::OnEfstUpdate(int efstId, int value, int argument3, // FUNCTION: fn_08836 void CEfstAction_NOON_SUN::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_02"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_02"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -388,7 +387,7 @@ void CEfstAction_NOON_SUN::OnEfstEnd(int efstId, int argument2, int argument3, i void CEfstAction_NOON_SUN::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_03"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -396,8 +395,8 @@ void CEfstAction_NOON_SUN::OnEfstUpdate(int efstId, int value, int argument3, in // FUNCTION: fn_08839 void CEfstAction_SUNSET_SUN::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_04"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_04"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -415,7 +414,7 @@ void CEfstAction_SUNSET_SUN::OnEfstEnd(int efstId, int argument2, int argument3, void CEfstAction_SUNSET_SUN::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_sun_05"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -430,7 +429,7 @@ int CSkillAction_SKE_NOON_BLAST::GetSkillAttackMotion() { void CSkillAction_SKE_NOON_BLAST::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_noon_blast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_noon_blast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -448,12 +447,11 @@ void CSkillAction_SKE_SUNSET_BLAST::OnSkillEffect(int level, CGameActor* source, } EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sunset_blast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sunset_blast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); for (int index = 0; index < 6; ++index) { effects = g_effectMgr; - CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("sunset_blast_small"), target->render.position.x, - target->render.position.y, target->render.position.z, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("sunset_blast_small"), target->render.position, 0, -1, 0, 0); if (!effect) { return; } @@ -478,9 +476,9 @@ int CSkillAction_SKE_RISING_MOON::GetSkillAttackMotion() { void CEfstAction_RISING_MOON::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_00"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_00"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -498,7 +496,7 @@ void CEfstAction_RISING_MOON::OnEfstEnd(int efstId, int argument2, int argument3 void CEfstAction_RISING_MOON::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_01"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -507,9 +505,9 @@ void CEfstAction_RISING_MOON::OnEfstUpdate(int efstId, int value, int argument3, void CEfstAction_MIDNIGHT_MOON::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_02"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_02"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -527,7 +525,7 @@ void CEfstAction_MIDNIGHT_MOON::OnEfstEnd(int efstId, int argument2, int argumen void CEfstAction_MIDNIGHT_MOON::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_03"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -536,9 +534,9 @@ void CEfstAction_MIDNIGHT_MOON::OnEfstUpdate(int efstId, int value, int argument void CEfstAction_DAWN_MOON::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_04"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_04"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_05"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -556,7 +554,7 @@ void CEfstAction_DAWN_MOON::OnEfstEnd(int efstId, int argument2, int argument3, void CEfstAction_DAWN_MOON::OnEfstUpdate(int efstId, int value, int argument3, int argument4, CRenderObject* actor) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_05"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_rising_moon_05"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -579,7 +577,7 @@ void CSkillAction_SKE_MIDNIGHT_KICK::OnSkillCast(int level, CGameActor* source) void CSkillAction_SKE_MIDNIGHT_KICK::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_midnight_kick"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_midnight_kick"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -602,7 +600,7 @@ void CSkillAction_SKE_DAWN_BREAK::OnSkillCast(int level, CGameActor* source) { void CSkillAction_SKE_DAWN_BREAK::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_dawn_break"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ske_dawn_break"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -630,7 +628,7 @@ void CSkillAction_SKE_TWINKLING_GALAXY::OnSkillCast(int level, CGameActor* sourc // FUNCTION: fn_08865 void CSkillObjectAction_SKE_TWINKLING_GALAXY::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { - g_effectMgr->Spawn(object->render.accountId, 2349, object->render.position.x, object->render.position.y, object->render.position.z, 0, argument, 0, 0); + g_effectMgr->Spawn(object->render.accountId, 2349, object->render.position, 0, argument, 0, 0); } } @@ -652,7 +650,7 @@ void CSkillAction_SKE_STAR_BURST::OnSkillCast(int level, CGameActor* source) { // FUNCTION: fn_08868 void CEfstAction_STAR_BURST::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, 2348, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2348, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } diff --git a/Source/Contents/Skills/SkillActionSoulAscetic.cpp b/Source/Contents/Skills/SkillActionSoulAscetic.cpp index 921422b6f..5f0a1149f 100644 --- a/Source/Contents/Skills/SkillActionSoulAscetic.cpp +++ b/Source/Contents/Skills/SkillActionSoulAscetic.cpp @@ -172,7 +172,7 @@ void CSkillAction_SOA_TALISMAN_OF_FIVE_ELEMENTS::OnSkillCast(int level, CGameAct void CSkillAction_SOA_TALISMAN_OF_FIVE_ELEMENTS::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_the_five_elements"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_the_five_elements"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -199,10 +199,10 @@ void CSkillAction_SOA_TALISMAN_OF_SOUL_STEALING::OnSkillHit(int argument1, CGame CGameActor* source = reinterpret_cast(argument1); CGameActor* target = argument2; if (source) { - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_soul_stealing"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_soul_stealing"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (target) { - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_magician"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_magician"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -219,7 +219,7 @@ void CSkillAction_SOA_EXORCISM_OF_MALICIOUS_SOUL::OnSkillCast(int level, CGameAc void CSkillAction_SOA_EXORCISM_OF_MALICIOUS_SOUL::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("exorcism_of_malicuous_soul"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("exorcism_of_malicuous_soul"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -235,7 +235,7 @@ void CSkillAction_SOA_TALISMAN_OF_BLUE_DRAGON::OnSkillCast(int level, CGameActor // FUNCTION: fn_08883 void CSkillAction_SOA_TALISMAN_OF_BLUE_DRAGON::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_blue_dragon"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_blue_dragon"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -244,7 +244,7 @@ void CSkillAction_SOA_TALISMAN_OF_BLUE_DRAGON::OnSkillEffect(int level, CGameAct void CEfstAction_T_FIRST_GOD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { g_effectMgr->Retire(actor->render.accountId, 2355); - g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position.x, actor->render.position.y, actor->render.position.z, 0, 1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position, 0, 1, 0, 0); } } @@ -276,7 +276,7 @@ void CSkillAction_SOA_TALISMAN_OF_WHITE_TIGER::OnSkillCast(int level, CGameActor // FUNCTION: fn_08888 void CSkillAction_SOA_TALISMAN_OF_WHITE_TIGER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_white_tiger"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_white_tiger"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -285,7 +285,7 @@ void CSkillAction_SOA_TALISMAN_OF_WHITE_TIGER::OnSkillEffect(int level, CGameAct void CEfstAction_T_SECOND_GOD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { g_effectMgr->Retire(actor->render.accountId, 2355); - g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position.x, actor->render.position.y, actor->render.position.z, 0, 2, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position, 0, 2, 0, 0); } } @@ -318,9 +318,9 @@ void CSkillAction_SOA_TALISMAN_OF_RED_PHOENIX::OnSkillCast(int level, CGameActor void CSkillAction_SOA_TALISMAN_OF_RED_PHOENIX::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_red_phoenix_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_red_phoenix_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_red_phoenix"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_red_phoenix"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -329,7 +329,7 @@ void CSkillAction_SOA_TALISMAN_OF_RED_PHOENIX::OnSkillEffect(int level, CGameAct void CEfstAction_T_THIRD_GOD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { g_effectMgr->Retire(actor->render.accountId, 2355); - g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position.x, actor->render.position.y, actor->render.position.z, 0, 3, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position, 0, 3, 0, 0); } } @@ -377,7 +377,7 @@ int CSkillAction_SOA_TALISMAN_OF_BLACK_TORTOISE::GetSkillScopeType() { void CEfstAction_T_FOURTH_GOD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { g_effectMgr->Retire(actor->render.accountId, 2355); - g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position.x, actor->render.position.y, actor->render.position.z, 0, 4, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2355, actor->render.position, 0, 4, 0, 0); } } @@ -410,7 +410,7 @@ void CSkillAction_SOA_TALISMAN_OF_FOUR_BEARING_GOD::OnSkillCast(int level, CGame void CSkillAction_SOA_TALISMAN_OF_FOUR_BEARING_GOD::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_four_bearing_god"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_four_bearing_god"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -427,7 +427,7 @@ void CSkillAction_SOA_CIRCLE_OF_DIRECTIONS_AND_ELEMENTALS::OnSkillCast(int level void CSkillAction_SOA_CIRCLE_OF_DIRECTIONS_AND_ELEMENTALS::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("circle_directions_elements"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("circle_directions_elements"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -436,7 +436,7 @@ void CSkillAction_SOA_CIRCLE_OF_DIRECTIONS_AND_ELEMENTALS::OnSkillEffect(int lev void CEfstAction_T_FIVETH_GOD::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("circle_directions_elements_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("circle_directions_elements_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -474,7 +474,7 @@ void CSkillAction_SOA_SOUL_OF_HEAVEN_AND_EARTH::OnSkillCast(int level, CGameActo void CSkillAction_SOA_SOUL_OF_HEAVEN_AND_EARTH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("soul_of_heaven_and_earth"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("soul_of_heaven_and_earth"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -483,7 +483,7 @@ void CSkillAction_SOA_SOUL_OF_HEAVEN_AND_EARTH::OnSkillEffect(int level, CGameAc void CEfstAction_HEAVEN_AND_EARTH::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("soul_of_heaven_and_earth_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("soul_of_heaven_and_earth_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -521,7 +521,7 @@ void CSkillAction_SOA_TALISMAN_OF_PROTECTION::OnSkillCast(int level, CGameActor* void CSkillAction_SOA_TALISMAN_OF_PROTECTION::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_protection"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_protection"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -544,7 +544,7 @@ void CSkillAction_SOA_TALISMAN_OF_WARRIOR::OnSkillCast(int level, CGameActor* so void CSkillAction_SOA_TALISMAN_OF_WARRIOR::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_warrior"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_warrior"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -567,9 +567,9 @@ void CSkillAction_SOA_TALISMAN_OF_MAGICIAN::OnSkillCast(int level, CGameActor* s void CSkillAction_SOA_TALISMAN_OF_MAGICIAN::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_magician"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_magician"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_magician_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("talisman_of_magician_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -586,7 +586,7 @@ void CSkillAction_SOA_SOUL_GATHERING::OnSkillCast(int level, CGameActor* source) void CSkillAction_SOA_SOUL_GATHERING::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("soul_gathering"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("soul_gathering"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -609,13 +609,13 @@ int CSkillAction_SOA_TOTEM_OF_TUTELARY::GetSkillScopeType() { void CSkillObjectAction_SOA_TOTEM_OF_TUTELARY::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -626,10 +626,10 @@ void CSkillObjectAction_SOA_TOTEM_OF_TUTELARY::OnSkillObjectRemove(CRenderObject EffectLists* effects = g_effectMgr; effects->Retire(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_loop")); effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_end"), object->render.position.x, object->render.position.y, object->render.position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_bottom_end"), object->render.position, 0, -1, 0, 0); effects = g_effectMgr; effects->Retire(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_loop")); effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_end"), object->render.position.x, object->render.position.y, object->render.position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("totem_of_tutelary_end"), object->render.position, 0, -1, 0, 0); } } diff --git a/Source/Contents/Skills/SkillActionSpiritHandler.cpp b/Source/Contents/Skills/SkillActionSpiritHandler.cpp index 659934fb1..24ebdb4f5 100644 --- a/Source/Contents/Skills/SkillActionSpiritHandler.cpp +++ b/Source/Contents/Skills/SkillActionSpiritHandler.cpp @@ -148,7 +148,7 @@ void CSkillAction_SH_CHUL_HO_SONIC_CLAW::OnSkillEffect(int level, CGameActor* so } EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_sonic_claw"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_sonic_claw"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (!target) { return; } @@ -158,8 +158,7 @@ void CSkillAction_SH_CHUL_HO_SONIC_CLAW::OnSkillEffect(int level, CGameActor* so const int index = static_cast(angle + 105.0f) % 360 / 30; if (index >= 0 && static_cast(index) < sizeof(waves) / sizeof(waves[0])) { effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("chul_ho_sonic_claw_wave_%d", waves[index])), 0.0f, 0.0f, - 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("chul_ho_sonic_claw_wave_%d", waves[index])), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -182,7 +181,7 @@ void CSkillAction_SH_HOWLING_OF_CHUL_HO::OnSkillCast(int level, CGameActor* sour void CSkillAction_SH_HOWLING_OF_CHUL_HO::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("howling_of_chul_ho"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("howling_of_chul_ho"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -191,7 +190,7 @@ void CSkillAction_SH_HOWLING_OF_CHUL_HO::OnSkillEffect(int level, CGameActor* so void CEfstAction_HOGOGONG::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("howling_of_chul_ho_scared"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("howling_of_chul_ho_scared"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -229,7 +228,7 @@ void CSkillAction_SH_HOGOGONG_STRIKE::OnSkillCast(int level, CGameActor* source) void CSkillAction_SH_HOGOGONG_STRIKE::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hogogong_strike"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hogogong_strike"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -246,7 +245,7 @@ void CSkillAction_SH_KI_SUL_WATER_SPRAYING::OnSkillCast(int level, CGameActor* s void CSkillAction_SH_KI_SUL_WATER_SPRAYING::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ki_sul_water_spraying"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ki_sul_water_spraying"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -263,7 +262,7 @@ void CSkillAction_SH_MARINE_FESTIVAL_OF_KI_SUL::OnSkillCast(int level, CGameActo void CSkillAction_SH_MARINE_FESTIVAL_OF_KI_SUL::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("marine_festival_of_ki_sul_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("marine_festival_of_ki_sul_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -272,7 +271,7 @@ void CSkillAction_SH_MARINE_FESTIVAL_OF_KI_SUL::OnSkillEffect(int level, CGameAc void CEfstAction_MARINE_FESTIVAL::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("marine_festival_of_ki_sul"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("marine_festival_of_ki_sul"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -289,7 +288,7 @@ void CSkillAction_SH_SANDY_FESTIVAL_OF_KI_SUL::OnSkillCast(int level, CGameActor void CSkillAction_SH_SANDY_FESTIVAL_OF_KI_SUL::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sandy_festival_of_ki_sul_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sandy_festival_of_ki_sul_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -298,7 +297,7 @@ void CSkillAction_SH_SANDY_FESTIVAL_OF_KI_SUL::OnSkillEffect(int level, CGameAct void CEfstAction_SANDY_FESTIVAL::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sandy_festival_of_ki_sul"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("sandy_festival_of_ki_sul"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -315,9 +314,9 @@ void CSkillAction_SH_KI_SUL_RAMPAGE::OnSkillCast(int level, CGameActor* source) void CSkillAction_SH_KI_SUL_RAMPAGE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ki_sul_rampage_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ki_sul_rampage_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ki_sul_rampage"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ki_sul_rampage"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -340,31 +339,31 @@ void CSkillAction_SH_COLORS_OF_HYUN_ROK::OnSkillEffect(int level, CGameActor* so switch (level) { case 1: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_water"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_water"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 2: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_wind"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_wind"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 3: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_earth"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_earth"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 4: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_fire"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_fire"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 5: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_darkness"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_darkness"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 6: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_saint"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_saint"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; case 7: effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_reset"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("colors_of_hyun_rok_reset"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); break; } } @@ -394,9 +393,9 @@ int CSkillAction_SH_HYUN_ROKS_BREEZE::GetSkillScopeType() { void CSkillObjectAction_SH_HYUN_ROKS_BREEZE::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_roks_breeze_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_roks_breeze_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_roks_breeze"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_roks_breeze"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -418,10 +417,9 @@ void CSkillAction_SH_HYUN_ROK_CANNON::OnSkillEffect(int level, CGameActor* sourc const float angle = ScreenAngle( &source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values ); - const vector3d position = source->render.position; EffectLists* effects = g_effectMgr; if (CEffect* effect = - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_cannon"), position.x, position.y, position.z, 0, -1, 0, 0)) { + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_cannon"), source->render.position, 0, -1, 0, 0)) { effect->SetAngle(angle); } } @@ -439,7 +437,7 @@ void CSkillAction_SH_TEMPORARY_COMMUNION::OnSkillCast(int level, CGameActor* sou void CSkillAction_SH_TEMPORARY_COMMUNION::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("temporary_communion"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("temporary_communion"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -447,8 +445,8 @@ void CSkillAction_SH_TEMPORARY_COMMUNION::OnSkillEffect(int level, CGameActor* s // FUNCTION: fn_08962 void CEfstAction_TEMPORARY_COMMUNION::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("temporary_communion_buff_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("temporary_communion_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("temporary_communion_buff_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("temporary_communion_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -488,7 +486,7 @@ void CSkillAction_SH_BLESSING_OF_MYSTICAL_CREATURES::OnSkillCast(int level, CGam void CSkillAction_SH_BLESSING_OF_MYSTICAL_CREATURES::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blessing_of_mystical_creatures"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blessing_of_mystical_creatures"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -504,7 +502,7 @@ void CSkillAction_SH_CHUL_HO_BATTERING::OnSkillCast(int level, CGameActor* sourc if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -521,13 +519,13 @@ void CSkillAction_SH_CHUL_HO_BATTERING::OnSkillEffect(int level, CGameActor* sou const float scale = source->attackMotion * source->render.speed * 16.0f; EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetDelay(static_cast(scale)); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetDelay(static_cast(scale)); } @@ -538,7 +536,7 @@ void CSkillAction_SH_CHUL_HO_BATTERING::OnSkillEffect(int level, CGameActor* sou void CSkillAction_SH_CHUL_HO_BATTERING::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { if (CEffect* effect = g_effectMgr->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chul_ho_battering_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetFlipX(static_cast(reinterpret_cast(target) & 1)); } @@ -551,13 +549,13 @@ void CSkillAction_SH_HYUN_ROK_SPIRIT_POWER::OnSkillCast(int level, CGameActor* s if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -569,9 +567,9 @@ void CSkillAction_SH_HYUN_ROK_SPIRIT_POWER::OnSkillCast(int level, CGameActor* s void CSkillAction_SH_HYUN_ROK_SPIRIT_POWER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -580,6 +578,6 @@ void CSkillAction_SH_HYUN_ROK_SPIRIT_POWER::OnSkillEffect(int level, CGameActor* void CSkillAction_SH_HYUN_ROK_SPIRIT_POWER::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_spirit_power_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } diff --git a/Source/Contents/Skills/SkillActionTroubadour.cpp b/Source/Contents/Skills/SkillActionTroubadour.cpp index 2f92c6f16..0b6501d53 100644 --- a/Source/Contents/Skills/SkillActionTroubadour.cpp +++ b/Source/Contents/Skills/SkillActionTroubadour.cpp @@ -143,7 +143,7 @@ void CSkillAction_TR_ROSEBLOSSOM::OnSkillHit(int level, CGameActor* source, CGam void CSkillAction_TR_ROSEBLOSSOM::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -152,7 +152,7 @@ void CSkillAction_TR_ROSEBLOSSOM::OnSkillDamage(int level, CGameActor* source, C void CSkillAction_TR_ROSEBLOSSOM_ATK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_rose"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_rose"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -162,13 +162,13 @@ void CSkillAction_TR_KVASIR_SONATA::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kvasirsonata_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kvasirsonata_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kvasirsonata_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kvasirsonata_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -181,7 +181,7 @@ void CSkillAction_TR_KVASIR_SONATA::OnSkillEffect(int level, CGameActor* source, if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kvasirsonata"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("kvasirsonata"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -202,12 +202,12 @@ EfstActionMessage CEfstAction_KVASIR_SONATA::GetEfstEndMessage() { void CSkillAction_TR_PRON_MARCH::OnSkillCast(int level, CGameActor* source) { if (source) { if (CEffect* effect = g_effectMgr->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("pronmarch_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("pronmarch_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } if (CEffect* effect = g_effectMgr->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("pronmarch_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("pronmarch_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -220,7 +220,7 @@ void CSkillAction_TR_PRON_MARCH::OnSkillEffect(int level, CGameActor* source, CG if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("pronmarch"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("pronmarch"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -250,13 +250,13 @@ void CSkillAction_TR_JAWAII_SERENADE::OnSkillCast(int level, CGameActor* source) if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jawaii_serenade_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jawaii_serenade_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jawaii_serenade_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jawaii_serenade_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -269,7 +269,7 @@ void CSkillAction_TR_JAWAII_SERENADE::OnSkillEffect(int level, CGameActor* sourc if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jawaii_serenade"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jawaii_serenade"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -299,7 +299,7 @@ void CSkillAction_TR_AIN_RHAPSODY::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ain_rhapsody_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ain_rhapsody_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -312,7 +312,7 @@ void CSkillAction_TR_AIN_RHAPSODY::OnSkillEffect(int level, CGameActor* source, if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ain_rhapsody"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ain_rhapsody"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -342,13 +342,13 @@ void CSkillAction_TR_GEF_NOCTURN::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gef_nocturn_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gef_nocturn_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gef_nocturn_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gef_nocturn_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -360,7 +360,7 @@ void CSkillAction_TR_GEF_NOCTURN::OnSkillCast(int level, CGameActor* source) { void CSkillAction_TR_GEF_NOCTURN::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gef_nocturn"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gef_nocturn"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -389,12 +389,12 @@ EfstActionMessage CEfstAction_GEF_NOCTURN::GetEfstEndMessage() { void CSkillAction_TR_RHYTHMICAL_WAVE::OnSkillCast(int level, CGameActor* source) { if (source) { if (CEffect* effect = g_effectMgr->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } if (CEffect* effect = g_effectMgr->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -406,9 +406,9 @@ void CSkillAction_TR_RHYTHMICAL_WAVE::OnSkillCast(int level, CGameActor* source) void CSkillAction_TR_RHYTHMICAL_WAVE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -417,7 +417,7 @@ void CSkillAction_TR_RHYTHMICAL_WAVE::OnSkillEffect(int level, CGameActor* sourc void CSkillAction_TR_RHYTHMICAL_WAVE::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmical_wave_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -426,7 +426,7 @@ void CSkillAction_TR_RHYTHMICAL_WAVE::OnSkillDamage(int level, CGameActor* sourc void CSkillAction_TR_METALIC_FURY::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("metalic_fury"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("metalic_fury"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -436,7 +436,7 @@ void CSkillAction_TR_MYSTIC_SYMPHONY::OnSkillCast(int level, CGameActor* source) if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mysticsymphony_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mysticsymphony_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -449,7 +449,7 @@ void CSkillAction_TR_MYSTIC_SYMPHONY::OnSkillEffect(int level, CGameActor* sourc if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mysticsymphony"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mysticsymphony"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -458,7 +458,7 @@ void CSkillAction_TR_MYSTIC_SYMPHONY::OnSkillEffect(int level, CGameActor* sourc void CEfstAction_MYSTIC_SYMPHONY::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mysticsymphony_note"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mysticsymphony_note"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -501,13 +501,13 @@ void CSkillAction_TR_RHYTHMSHOOTING::OnSkillCast(int level, CGameActor* source) if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -522,7 +522,7 @@ void CSkillAction_TR_RHYTHMSHOOTING::OnSkillHit(int level, CGameActor* source, C } EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_shot"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_shot"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { const float angle = ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values); effect->SetAngle(angle + 180.0f); @@ -534,7 +534,7 @@ void CSkillAction_TR_RHYTHMSHOOTING::OnSkillHit(int level, CGameActor* source, C void CSkillAction_TR_RHYTHMSHOOTING::OnSkillDamage(int, CGameActor* source, CGameActor*) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rhythmshooting_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -544,13 +544,13 @@ void CSkillAction_TR_ROKI_CAPRICCIO::OnSkillCast(int level, CGameActor* source) if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roki_capriccio_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roki_capriccio_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roki_capriccio_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roki_capriccio_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -563,7 +563,7 @@ void CSkillAction_TR_ROKI_CAPRICCIO::OnSkillEffect(int level, CGameActor* source if (source) { source->SetFrameSequence(96, 1, 3, 96, 3, 1, 500, 0); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roki_capriccio"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roki_capriccio"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -573,13 +573,13 @@ void CSkillAction_TR_ROSEBLOSSOM::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -592,7 +592,7 @@ void CSkillAction_TR_ROSEBLOSSOM::OnSkillEffect(int level, CGameActor* source, C if (source && target) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_shot"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("roseblossom_shot"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { const float angle = ScreenAngle( &source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values diff --git a/Source/Contents/Skills/SkillActionWindHawk.cpp b/Source/Contents/Skills/SkillActionWindHawk.cpp index a0f76bc55..6f6a7233e 100644 --- a/Source/Contents/Skills/SkillActionWindHawk.cpp +++ b/Source/Contents/Skills/SkillActionWindHawk.cpp @@ -53,7 +53,7 @@ public: // FUNCTION: fn_09023 void CSkillAction_WH_GALESTORM::OnSkillCast(int level, CGameActor* source) { if (CEffect* effect = g_effectMgr->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("galestorm_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("galestorm_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -63,7 +63,7 @@ void CSkillAction_WH_GALESTORM::OnSkillCast(int level, CGameActor* source) { // FUNCTION: fn_09024 void CSkillAction_WH_GALESTORM::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source && target) { - g_effectMgr->Spawn(target->render.accountId, 1973, target->render.position.x, target->render.position.y, target->render.position.z, 0, level, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 1973, target->render.position, 0, level, 0, 0); } } @@ -72,7 +72,7 @@ void CSkillAction_WH_GALESTORM::OnSkillEffect(int level, CGameActor* source, CGa void CSkillAction_WH_GALESTORM::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("galestorm_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("galestorm_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -82,7 +82,7 @@ void CSkillAction_WH_CALAMITYGALE::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("calumitygale_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0 + source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("calumitygale_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0 )) { effect->SetLifeTime(level); } @@ -94,7 +94,7 @@ void CSkillAction_WH_CALAMITYGALE::OnSkillCast(int level, CGameActor* source) { void CSkillAction_WH_CALAMITYGALE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("calumitygale"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("calumitygale"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -103,7 +103,7 @@ void CSkillAction_WH_CALAMITYGALE::OnSkillEffect(int level, CGameActor* source, void CEfstAction_CALAMITYGALE::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("calumitygale_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("calumitygale_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -157,7 +157,7 @@ bool CSkillAction_WH_CRESCIVE_BOLT::SuppressAttackSkillArrow() { void CSkillAction_WH_CRESCIVE_BOLT::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -168,7 +168,7 @@ void CSkillAction_WH_CRESCIVE_BOLT::OnSkillCast(int level, CGameActor* source) { void CSkillAction_WH_CRESCIVE_BOLT::OnSkillHit(int sourceActor, CGameActor* target, CGameActor* argument3) { CGameActor* source = reinterpret_cast(sourceActor); if (source && target) { - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetAngle( ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values) + 180.0f ); @@ -182,7 +182,7 @@ void CSkillAction_WH_CRESCIVE_BOLT::OnSkillHit(int sourceActor, CGameActor* targ void CSkillAction_WH_CRESCIVE_BOLT::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -191,12 +191,12 @@ void CSkillAction_WH_CRESCIVE_BOLT::OnSkillDamage(int level, CGameActor* source, void CSkillAction_WH_WILD_WALK::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; if (CEffect* effect = - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -207,7 +207,7 @@ void CSkillAction_WH_WILD_WALK::OnSkillCast(int level, CGameActor* source) { void CSkillAction_WH_WILD_WALK::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); source->LaunchEffect(2425, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); } } @@ -216,7 +216,7 @@ void CSkillAction_WH_WILD_WALK::OnSkillEffect(int level, CGameActor* source, CGa // FUNCTION: fn_09041 void CSkillAction_WH_WILD_WALK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source && target) { - if (CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("wild_walk_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetAngle(ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values)); } } diff --git a/Source/Contents/Skills/SkillInfo.cpp b/Source/Contents/Skills/SkillInfo.cpp index 14a2ec5e8..c539c1031 100644 --- a/Source/Contents/Skills/SkillInfo.cpp +++ b/Source/Contents/Skills/SkillInfo.cpp @@ -774,7 +774,7 @@ void CEfstAction_ChangeSize::OnEfstBegin(int, int value, int, int, CRenderObject // FUNCTION: fn_08344 void CSkillAction_CD_DIVINUS_FLOS::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (target) { - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -853,10 +853,10 @@ void CEfstAction_UNLIMIT::OnEfstBegin(int, int, int, int, CRenderObject* actor, } EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (!g_serviceOptions.Get(229)) { effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -888,7 +888,7 @@ void CEfstAction_DANCING_KNIFE::OnEfstUpdate(int efstId, int value, int argument // FUNCTION: fn_08364 void CSkillAction_SHC_SHADOW_EXCEED::OnSkillEffect(int, CGameActor* source, CGameActor*) { if (source) { - g_effectMgr->Spawn(static_cast(source->render.accountId), 2467, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(static_cast(source->render.accountId), 2467, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1037,9 +1037,9 @@ bool CSkillActionMgr::HasEfstAction(int efstId) { void CSkillAction_RA_UNLIMIT::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("unlimit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1047,10 +1047,10 @@ void CSkillAction_RA_UNLIMIT::OnSkillEffect(int level, CGameActor* source, CGame // FUNCTION: fn_08340 void CSkillAction_AG_ENERGY_CONVERSION::OnSkillCast(int level, CGameActor* source) { if (source) { - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_conversion_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_conversion_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_conversion_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_conversion_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1061,11 +1061,11 @@ void CSkillAction_AG_ENERGY_CONVERSION::OnSkillCast(int level, CGameActor* sourc void CSkillAction_CD_DIVINUS_FLOS::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1076,9 +1076,9 @@ void CSkillAction_CD_DIVINUS_FLOS::OnSkillCast(int level, CGameActor* source) { void CSkillAction_CD_DIVINUS_FLOS::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("divinus_flos_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1087,9 +1087,9 @@ void CSkillAction_CD_DIVINUS_FLOS::OnSkillEffect(int level, CGameActor* source, void CSkillAction_SHC_ENCHANTING_SHADOW::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("enchanting_shadow_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("enchanting_shadow_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("enchanting_shadow"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("enchanting_shadow"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1098,9 +1098,9 @@ void CSkillAction_SHC_ENCHANTING_SHADOW::OnSkillCast(int level, CGameActor* sour void CSkillAction_SHC_IMPACT_CRATER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("impact_crater"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("impact_crater"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("impact_crater_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("impact_crater_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1109,7 +1109,7 @@ void CSkillAction_SHC_IMPACT_CRATER::OnSkillEffect(int level, CGameActor* source void CSkillAction_SHC_IMPACT_CRATER::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("impact_crater_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("impact_crater_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1118,7 +1118,7 @@ void CSkillAction_SHC_IMPACT_CRATER::OnSkillDamage(int level, CGameActor* source void CSkillAction_SHC_CROSS_SLASH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("cross_slash"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("cross_slash"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1127,7 +1127,7 @@ void CSkillAction_SHC_CROSS_SLASH::OnSkillEffect(int level, CGameActor* source, void CSkillAction_SHC_CROSS_SLASH::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("cross_slash_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("cross_slash_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1136,11 +1136,11 @@ void CSkillAction_SHC_CROSS_SLASH::OnSkillDamage(int level, CGameActor* source, void CSkillAction_SHC_DANCING_KNIFE::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1151,7 +1151,7 @@ void CSkillAction_SHC_DANCING_KNIFE::OnSkillCast(int level, CGameActor* source) void CSkillAction_SHC_DANCING_KNIFE::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1160,7 +1160,7 @@ void CSkillAction_SHC_DANCING_KNIFE::OnSkillDamage(int level, CGameActor* source void CSkillAction_SHC_SHADOW_EXCEED::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shadow_exceed_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shadow_exceed_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1171,7 +1171,7 @@ void CSkillAction_SHC_SHADOW_EXCEED::OnSkillCast(int level, CGameActor* source) void CSkillAction_ABC_CHASING_BREAK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_break_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_break_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1202,11 +1202,11 @@ void CSkillAction_ABC_CHASING_BREAK::OnSkillEffect(int level, CGameActor* source void CSkillAction_ABC_CHASING_SHOT::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1238,7 +1238,7 @@ void CSkillAction_ABC_CHASING_SHOT::OnSkillEffect(int level, CGameActor* source, void CSkillAction_ABC_CHASING_SHOT::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_hitsub"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_hitsub"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1247,7 +1247,7 @@ void CSkillAction_ABC_CHASING_SHOT::OnSkillHit(int level, CGameActor* source, CG void CSkillAction_ABC_CHASING_SHOT::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chasing_shot_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1256,7 +1256,7 @@ void CSkillAction_ABC_CHASING_SHOT::OnSkillDamage(int level, CGameActor* source, void CSkillAction_ABC_HIT_AND_SLIDING::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hit_and_sliding_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hit_and_sliding_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1265,11 +1265,11 @@ void CSkillAction_ABC_HIT_AND_SLIDING::OnSkillDamage(int level, CGameActor* sour void CSkillAction_ABC_ABYSS_FLAME::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1280,7 +1280,7 @@ void CSkillAction_ABC_ABYSS_FLAME::OnSkillCast(int level, CGameActor* source) { void CSkillAction_ABC_ABYSS_FLAME::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1289,7 +1289,7 @@ void CSkillAction_ABC_ABYSS_FLAME::OnSkillEffect(int level, CGameActor* source, void CSkillAction_ABC_ABYSS_FLAME::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1298,7 +1298,7 @@ void CSkillAction_ABC_ABYSS_FLAME::OnSkillDamage(int level, CGameActor* source, void CSkillAction_ABC_ABYSS_FLAME_ATK::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_target"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_target"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1307,7 +1307,7 @@ void CSkillAction_ABC_ABYSS_FLAME_ATK::OnSkillEffect(int level, CGameActor* sour void CSkillAction_ABC_ABYSS_FLAME_ATK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("abyss_flame_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1316,7 +1316,7 @@ void CSkillAction_ABC_ABYSS_FLAME_ATK::OnSkillDamage(int level, CGameActor* sour void CSkillAction_EM_PSYCHIC_STREAM::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1327,9 +1327,9 @@ void CSkillAction_EM_PSYCHIC_STREAM::OnSkillCast(int level, CGameActor* source) void CSkillAction_EM_PSYCHIC_STREAM::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1338,7 +1338,7 @@ void CSkillAction_EM_PSYCHIC_STREAM::OnSkillEffect(int level, CGameActor* source void CSkillAction_EM_PSYCHIC_STREAM::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("psychic_stream_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1347,11 +1347,11 @@ void CSkillAction_EM_PSYCHIC_STREAM::OnSkillDamage(int level, CGameActor* source void CSkillAction_IQ_BLAZING_FLAME_BLAST::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -1361,7 +1361,7 @@ void CSkillAction_IQ_BLAZING_FLAME_BLAST::OnSkillCast(int level, CGameActor* sou // FUNCTION: fn_08394 void CSkillAction_IQ_BLAZING_FLAME_BLAST::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1403,11 +1403,11 @@ void CEfstAction_GenderChange::OnEfstBegin(int efstId, int value, int argument3, } EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetScale(1.5f); } effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetScale(1.5f); } } @@ -1421,7 +1421,7 @@ void CEfstAction_GenderChange::OnEfstEnd(int efstId, int argument2, int argument g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change_loop")); g_effectMgr->Retire(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change_cast")); - if (CEffect* effect = g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("gender_change"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetScale(1.5f); } } @@ -1434,13 +1434,13 @@ void CEfstAction_DANCING_KNIFE::OnEfstBegin(int efstId, int value, int argument3 } EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_bottom_begin"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_bottom_begin"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_bottom_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_bottom_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_begin"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_begin"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dancing_knife_skill_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x007759F0 @@ -1452,7 +1452,7 @@ void CSkillAction_AG_ENERGY_CONVERSION::OnSkillEffect(int level, CGameActor* sou source->LaunchEffect(2427, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_conversion"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("energy_conversion"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00777940 @@ -1466,7 +1466,7 @@ void CSkillAction_SHC_SHADOW_STAB::OnSkillEffect(int level, CGameActor* source, &source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values ); EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shadow_stab"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shadow_stab"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetAngle(angle); } } @@ -1483,7 +1483,7 @@ void CSkillAction_SHC_SHADOW_STAB::OnSkillDamage(int level, CGameActor* source, if (variant < 1) { variant = 1; } - g_effectMgr->Spawn(source->render.accountId, effects->EffectId(std::format("shadow_stab_hit{}", variant)), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, effects->EffectId(std::format("shadow_stab_hit{}", variant)), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00777E20 @@ -1508,7 +1508,7 @@ void CSkillAction_IQ_BLAZING_FLAME_BLAST::OnSkillEffect(int level, CGameActor* s const float scale = source->attackMotion * source->render.speed * 16.0f; EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("blazing_flame_blast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(static_cast(scale)); } } @@ -1738,9 +1738,9 @@ void CSkillAction_BO_MAYHEMIC_THORNS::OnSkillCast(int level, CGameActor* source) void CSkillAction_BO_MAYHEMIC_THORNS::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mayhemic_thorns"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mayhemic_thorns"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mayhemic_thorns_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mayhemic_thorns_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1749,7 +1749,7 @@ void CSkillAction_BO_MAYHEMIC_THORNS::OnSkillEffect(int level, CGameActor* sourc void CSkillAction_BO_EXPLOSIVE_POWDER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("explosive_powder"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("explosive_powder"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1764,7 +1764,7 @@ bool CSkillAction_BO_EXPLOSIVE_POWDER::KeepSkillAttackSpeed() { void CSkillAction_BO_MYSTERY_POWDER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1773,7 +1773,7 @@ void CSkillAction_BO_MYSTERY_POWDER::OnSkillEffect(int level, CGameActor* source void CSkillAction_BO_MYSTERY_POWDER::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1782,9 +1782,9 @@ void CSkillAction_BO_MYSTERY_POWDER::OnSkillDamage(int level, CGameActor* source void CEfstAction_MYSTERY_POWDER::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mistery_powder_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1830,9 +1830,9 @@ void CSkillAction_BO_DUST_EXPLOSION::OnSkillEffect(int level, CGameActor* source void CSkillAction_BO_DUST_EXPLOSION::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dust_explosion_hit_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dust_explosion_hit_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dust_explosion_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dust_explosion_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1867,7 +1867,7 @@ CEffect* DustExplosionSpawner::operator()(int quadrant, const vector3d& position const float y = position.y + 0.0f; const float z = offsetZ + position.z; EffectLists* effects = g_effectMgr; - return effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("dust_explosion"), x, y, z, 0, -1, 0, 0); + return effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("dust_explosion"), vector3d{x, y, z}, 0, -1, 0, 0); } // OFFSET: 0x0077DF70 @@ -1875,7 +1875,7 @@ CEffect* DustExplosionSpawner::operator()(int quadrant, const vector3d& position void CSkillAction_DK_VIGOR::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("vigor_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("vigor_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1884,7 +1884,7 @@ void CSkillAction_DK_VIGOR::OnSkillEffect(int level, CGameActor* source, CGameAc void CEfstAction_VIGOR::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("vigor_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("vigor_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1914,7 +1914,7 @@ EfstActionMessage CEfstAction_VIGOR::GetEfstEndMessage() { void CSkillAction_DK_SERVANTWEAPON_ATK::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servantweapon_down"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servantweapon_down"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1923,9 +1923,9 @@ void CSkillAction_DK_SERVANTWEAPON_ATK::OnSkillHit(int level, CGameActor* source void CSkillAction_DK_SERVANTWEAPON_ATK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servantweapon_hit_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servantweapon_hit_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servantweapon_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servantweapon_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1954,8 +1954,8 @@ void CSkillAction_DK_SERVANT_W_PHANTOM::OnSkillDamage(int actor, CGameActor* tar } if (targetActor) { - g_effectMgr->Spawn(targetActor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign_down_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(targetActor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign_down"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(targetActor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign_down_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(targetActor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign_down"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -1964,9 +1964,9 @@ void CSkillAction_DK_SERVANT_W_PHANTOM::OnSkillDamage(int actor, CGameActor* tar void CEfstAction_SERVANT_SIGN::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_sign"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2049,7 +2049,7 @@ void CSkillAction_DK_SERVANT_W_DEMOL::OnSkillHit(int caster, CGameActor* target, CGameActor* source = reinterpret_cast(caster); if (source) { const int duration = static_cast(source->render.speed * 100.0f + 100.0f); - if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_collect"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_collect"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetDelay(duration); } } @@ -2057,9 +2057,9 @@ void CSkillAction_DK_SERVANT_W_DEMOL::OnSkillHit(int caster, CGameActor* target, if (target) { const int side = std::max(std::rand() % 2, 0); if (side == 0) { - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_leftdown"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_leftdown"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } else { - g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_rightdown"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_rightdown"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } } @@ -2069,7 +2069,7 @@ void CSkillAction_DK_SERVANT_W_DEMOL::OnSkillHit(int caster, CGameActor* target, void CSkillAction_DK_SERVANT_W_DEMOL::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("servant_demolition_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2082,7 +2082,7 @@ void CSkillAction_DK_STORMSLASH::OnSkillEffect(int level, CGameActor* source, CG const float scale = source->render.speed * 50.0f + 30.0f; EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(std::format("stormslash_{}", level)), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId(std::format("stormslash_{}", level)), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (!effect) { return; } @@ -2113,9 +2113,9 @@ void CSkillAction_DK_MADNESS_CRUSHER::OnSkillCast(int level, CGameActor* source) void CSkillAction_DK_MADNESS_CRUSHER::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("madness_crusher_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("madness_crusher_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("madness_crusher"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("madness_crusher"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2124,7 +2124,7 @@ void CSkillAction_DK_MADNESS_CRUSHER::OnSkillDamage(int level, CGameActor* sourc void CSkillAction_DK_DRAGONIC_PIERCE::OnSkillCast(int level, CGameActor* source) { if (source) { EffectLists* effects = g_effectMgr; - if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_pierce_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_pierce_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { effect->SetLifeTime(level); } } @@ -2182,9 +2182,9 @@ void CSkillAction_DK_DRAGONIC_PIERCE::OnSkillEffect(int level, CGameActor* sourc void CSkillAction_DK_DRAGONIC_PIERCE::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_pierce_hit_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_pierce_hit_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_pierce_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_pierce_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2201,9 +2201,9 @@ void CSkillAction_DK_DRAGONIC_BREATH::OnSkillCast(int level, CGameActor* source) void CSkillAction_DK_DRAGONIC_BREATH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_breath_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_breath_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_breath"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_breath"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2216,7 +2216,7 @@ void CSkillAction_DK_DRAGONIC_BREATH::OnSkillHit(int level, CGameActor* source, for (int i = 0; i < 4; ++i) { const vector3d position = source->render.position; - CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_breath_hit"), position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("dragonic_breath_hit"), position, 0, -1, 0, 0); if (!effect) { break; } @@ -2244,9 +2244,9 @@ void CSkillAction_DK_CHARGINGPIERCE::OnSkillCast(int level, CGameActor* source) void CSkillAction_DK_CHARGINGPIERCE::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chargingpierce_cast_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chargingpierce_cast_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chargingpierce_cast"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("chargingpierce_cast"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2263,7 +2263,7 @@ void CEfstAction_CHARGINGPIERCE_COUNT::OnEfstBegin(int efstId, int value, int ar this->OnEfstEnd(efstId, value, argument3, 0, actor); if (CRenderObject* target = static_cast(g_modeMgr.GetGameMode())->scene->GetGameActorByAidIncludeMe(argument3)) { EffectLists* effects = g_effectMgr; - effects->Spawn(argument3, CEZ2STREffectMgr::GetInstance()->EffectId("chargingpierce_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(argument3, CEZ2STREffectMgr::GetInstance()->EffectId("chargingpierce_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave( "effect\\DK_CHARGINGPIERCE3.wav", target->render.position.x - player->render.position.x, 0.0f, target->render.position.z - player->render.position.z, 250, 40, 1.0f, @@ -2271,7 +2271,7 @@ void CEfstAction_CHARGINGPIERCE_COUNT::OnEfstBegin(int efstId, int value, int ar ); } } else if (actor) { - if (CEffect* effect = g_effectMgr->Spawn(actor->render.accountId, 2461, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) { + if (CEffect* effect = g_effectMgr->Spawn(actor->render.accountId, 2461, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0)) { static_cast(effect)->SetCount(value); } } @@ -2290,9 +2290,9 @@ void CEfstAction_CHARGINGPIERCE_COUNT::OnEfstEnd(int efstId, int argument2, int void CSkillAction_DK_HACKANDSLASHER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2301,7 +2301,7 @@ void CSkillAction_DK_HACKANDSLASHER::OnSkillEffect(int level, CGameActor* source void CSkillAction_DK_HACKANDSLASHER::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2316,7 +2316,7 @@ int CSkillAction_DK_HACKANDSLASHER_ATK::GetSkillAttackMotion() { void CSkillAction_DK_HACKANDSLASHER_ATK::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash_hit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("hackandslash_hit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2332,10 +2332,10 @@ void CSkillAction_NPC_BLOCK_EXPLOSION::OnSkillCast(int level, CGameActor* source // FUNCTION: fn_08498 void CSkillAction_NPC_BLOCK_EXPLOSION::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 2406, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2406, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } if (target) { - g_effectMgr->Spawn(target->render.accountId, 2407, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 2407, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2351,15 +2351,15 @@ void CSkillAction_NPC_FROST_FIELD::OnSkillCast(int level, CGameActor* source) { // FUNCTION: fn_08500 void CSkillAction_NPC_FROST_FIELD::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 2408, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 2409, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2408, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2409, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave( "effect\\NPC_FROST_FIELD.wav", target->render.position.x - player->render.position.x, 0.0f, target->render.position.z - player->render.position.z, 250, 40, 1.0f, 0 ); } if (target) { - g_effectMgr->Spawn(target->render.accountId, 1283, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(target->render.accountId, 1283, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2367,7 +2367,7 @@ void CSkillAction_NPC_FROST_FIELD::OnSkillEffect(int level, CGameActor* source, // FUNCTION: fn_08501 void CSkillAction_NPC_FROST_FIELD::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 1310, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 1310, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2375,7 +2375,7 @@ void CSkillAction_NPC_FROST_FIELD::OnSkillDamage(int level, CGameActor* source, // FUNCTION: fn_08502 void CEfstAction_FROST_STORM::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { - g_effectMgr->Spawn(actor->render.accountId, 2403, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2403, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2576,7 +2576,7 @@ void CSkillAction_NPC_LIGHTNING_JUDGEMENT::OnSkillCast(int level, CGameActor* so void CSkillAction_NPC_LIGHTNING_JUDGEMENT::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spark_blaster_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spark_blaster_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave( "effect\\NPC_LIGHTNING_JUDGEMENT.wav", target->render.position.x - player->render.position.x, 0.0f, target->render.position.z - player->render.position.z, 250, 40, 1.0f, 0 @@ -2588,7 +2588,7 @@ void CSkillAction_NPC_LIGHTNING_JUDGEMENT::OnSkillEffect(int level, CGameActor* // FUNCTION: fn_08507 void CSkillAction_NPC_LIGHTNING_JUDGEMENT::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 1256, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 1256, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2597,7 +2597,7 @@ void CSkillAction_NPC_LIGHTNING_JUDGEMENT::OnSkillDamage(int level, CGameActor* void CEfstAction_GROGGY::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("groggy_on_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("groggy_on_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2620,7 +2620,7 @@ void CEfstAction_GROGGY::OnEfstUpdate(int efstId, int value, int argument3, int // FUNCTION: fn_08511 void CSkillAction_NPC_RESET_EFST::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 2410, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2410, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave( "effect\\NPC_RESET_EFST.wav", target->render.position.x - player->render.position.x, 0.0f, target->render.position.z - player->render.position.z, 250, 40, 1.0f, 0 @@ -2633,9 +2633,9 @@ void CSkillAction_NPC_RESET_EFST::OnSkillEffect(int level, CGameActor* source, C void CEfstAction_TARGET_MARKER::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("target_marker_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("target_marker_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("target_marker_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("target_marker_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2666,7 +2666,7 @@ void CSkillAction_NPC_AIMED_SHOWER::OnSkillCast(int level, CGameActor* source) { // FUNCTION: fn_08517 void CSkillAction_NPC_AIMED_SHOWER::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 1268, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 1268, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave( "effect\\NPC_AIMED_SHOWER.wav", target->render.position.x - player->render.position.x, 0.0f, target->render.position.z - player->render.position.z, 250, 40, 1.0f, 0 @@ -2678,7 +2678,7 @@ void CSkillAction_NPC_AIMED_SHOWER::OnSkillEffect(int level, CGameActor* source, // FUNCTION: fn_08518 void CSkillAction_NPC_AIMED_SHOWER::OnSkillDamage(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 2405, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2405, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2694,8 +2694,8 @@ void CSkillAction_NPC_BLAZING_ERUPTION::OnSkillCast(int level, CGameActor* sourc // FUNCTION: fn_08520 void CSkillAction_NPC_BLAZING_ERUPTION::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { - g_effectMgr->Spawn(source->render.accountId, 1270, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(source->render.accountId, 1266, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 1270, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 1266, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); static_cast(source)->LaunchEffect(225, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); const CPlayer* player = static_cast(g_modeMgr.GetGameMode())->scene->player; g_soundMgr->PlayWave( @@ -2717,12 +2717,12 @@ void CSkillAction_NPC_BLOCK_SEAL::OnSkillCast(int level, CGameActor* source) { void CEfstAction_BLOCK_SEAL::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("npc_block_seal_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("npc_block_seal_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("npc_block_seal_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("npc_block_seal_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("npc_block_seal_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); - g_effectMgr->Spawn(actor->render.accountId, 2400, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("npc_block_seal_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); + g_effectMgr->Spawn(actor->render.accountId, 2400, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2763,7 +2763,7 @@ void CSkillAction_HN_DOUBLEBOWLINGBASH::OnSkillCast(int level, CGameActor* sourc void CSkillAction_HN_DOUBLEBOWLINGBASH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("double_bowlingbash"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("double_bowlingbash"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2787,7 +2787,7 @@ void CSkillAction_HN_MEGA_SONIC_BLOW::OnSkillEffect(int level, CGameActor* sourc if (source) { static_cast(source)->LaunchEffect(121, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mega_sonic_blow"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("mega_sonic_blow"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2810,7 +2810,7 @@ void CSkillAction_HN_SHIELD_CHAIN_RUSH::OnSkillCast(int level, CGameActor* sourc void CSkillAction_HN_SHIELD_CHAIN_RUSH::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (target) { EffectLists* effects = g_effectMgr; - effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shield_chain_rush"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(target->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("shield_chain_rush"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2837,14 +2837,14 @@ void CSkillAction_HN_SPIRAL_PIERCE_MAX::OnSkillEffect(int level, CGameActor* sou if (!g_serviceOptions.Get(229)) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_pierce_max_aura_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_pierce_max_aura_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_pierce_max_aura"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_pierce_max_aura"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); const float angle = ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast(g_modeMgr.GetGameMode())->camera->frame.view.values); const vector3d position = source->render.position; effects = g_effectMgr; - CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_pierce_max"), position.x, position.y, position.z, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("spiral_pierce_max"), position, 0, -1, 0, 0); if (effect) { effect->SetAngle(angle); } @@ -2904,7 +2904,7 @@ void CSkillAction_HN_JUPITEL_THUNDER_STORM::OnSkillCast(int level, CGameActor* s void CSkillAction_HN_JUPITEL_THUNDER_STORM::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source && target) { static_cast(source)->LaunchEffect(12, vector3d{0.0f, 0.0f, 0.0f}, 0.0f); - g_effectMgr->Spawn(source->render.accountId, 2366, source->render.position.x, source->render.position.y, source->render.position.z, target->render.accountId, level, 0, 0); + g_effectMgr->Spawn(source->render.accountId, 2366, source->render.position, target->render.accountId, level, 0, 0); } } @@ -2929,7 +2929,7 @@ void CSkillAction_HN_JACK_FROST_NOVA::OnSkillCast(int level, CGameActor* source) static_cast(source)->LaunchEffect(1449, level / 16); EffectLists* effects = g_effectMgr; - CEffect* effect = effects->Spawn(source->render.accountId, g_serviceOptions.Get(229) ? 1543 : 1446, 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = effects->Spawn(source->render.accountId, g_serviceOptions.Get(229) ? 1543 : 1446, vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { effect->SetLifeTime(level); } @@ -2955,13 +2955,13 @@ int CSkillAction_HN_JACK_FROST_NOVA::GetSkillScopeType() { void CSkillObjectAction_HN_JACK_FROST_NOVA::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { if (object) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_start_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_start_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_loop_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_loop_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -2969,9 +2969,8 @@ void CSkillObjectAction_HN_JACK_FROST_NOVA::OnSkillObjectCreate(int argument, CR // FUNCTION: fn_08551 void CSkillObjectAction_HN_JACK_FROST_NOVA::OnSkillObjectRemove(CRenderObject* object) { if (object) { - const vector3d position = object->render.position; EffectLists* effects = g_effectMgr; - effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_end"), position.x, position.y, position.z, 0, -1, 0, 0); + effects->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("jack_frost_nova_end"), object->render.position, 0, -1, 0, 0); } } @@ -3025,7 +3024,7 @@ void CSkillAction_HN_HELLS_DRIVE::OnSkillEffect(int level, CGameActor* source, C EffectLists* effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - 0, CEZ2STREffectMgr::GetInstance()->EffectId("hells_drive_bottom"), source->render.position.x, source->render.position.y, source->render.position.z, 0, -1, 0, 0 + 0, CEZ2STREffectMgr::GetInstance()->EffectId("hells_drive_bottom"), source->render.position, 0, -1, 0, 0 )) { const vector3d position = {offsetX + source->render.position.x, source->render.position.y + 0.0f, offsetZ + source->render.position.z}; effect->position[0] = position.x; @@ -3036,8 +3035,7 @@ void CSkillAction_HN_HELLS_DRIVE::OnSkillEffect(int level, CGameActor* source, C effects = g_effectMgr; if (CEffect* effect = effects->Spawn( - 0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hells_drive_%02d", std::max(std::rand() % 3, 0))), source->render.position.x, - source->render.position.y, source->render.position.z, 0, -1, 0, 0 + 0, CEZ2STREffectMgr::GetInstance()->EffectId(FormatOwnedString("hells_drive_%02d", std::max(std::rand() % 3, 0))), source->render.position, 0, -1, 0, 0 )) { const vector3d position = {offsetX + source->render.position.x, source->render.position.y + 0.0f, offsetZ + source->render.position.z}; effect->position[0] = position.x; @@ -3073,13 +3071,13 @@ void CSkillAction_HN_GROUND_GRAVITATION::OnSkillCast(int level, CGameActor* sour // FUNCTION: fn_08558 void CSkillObjectAction_HN_GROUND_GRAVITATION::OnSkillObjectCreate(int argument, CRenderObject* object, CGameActor* source) { EffectLists* effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_bottom_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_bottom_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_start"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_start"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_bottom_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_bottom_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_loop"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(object->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("ground_gravitation_loop"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } // OFFSET: 0x00785370 @@ -3114,7 +3112,7 @@ void CSkillAction_HN_NAPALM_VULCAN_STRIKE::OnSkillCast(int level, CGameActor* so void CSkillAction_HN_NAPALM_VULCAN_STRIKE::OnSkillHit(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("napalm_vulcan_strike"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("napalm_vulcan_strike"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -3137,7 +3135,7 @@ void CSkillAction_HN_BREAKINGLIMIT::OnSkillCast(int level, CGameActor* source) { void CSkillAction_HN_BREAKINGLIMIT::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("breakinglimit"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("breakinglimit"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -3146,7 +3144,7 @@ void CSkillAction_HN_BREAKINGLIMIT::OnSkillEffect(int level, CGameActor* source, void CEfstAction_BREAKINGLIMIT::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("breakinglimit_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("breakinglimit_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -3184,7 +3182,7 @@ void CSkillAction_HN_RULEBREAK::OnSkillCast(int level, CGameActor* source) { void CSkillAction_HN_RULEBREAK::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rulebreak"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rulebreak"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -3193,7 +3191,7 @@ void CSkillAction_HN_RULEBREAK::OnSkillEffect(int level, CGameActor* source, CGa void CEfstAction_RULEBREAK::OnEfstBegin(int efstId, int value, int argument3, int argument4, CRenderObject* actor, bool argument6) { if (actor) { EffectLists* effects = g_effectMgr; - effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rulebreak_buff"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(actor->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("rulebreak_buff"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } @@ -3217,9 +3215,9 @@ void CEfstAction_RULEBREAK::OnEfstUpdate(int efstId, int value, int argument3, i void CSkillAction_HN_OVERCOMING_CRISIS::OnSkillEffect(int level, CGameActor* source, CGameActor* target) { if (source) { EffectLists* effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("overcoming_crisis"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("overcoming_crisis"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); effects = g_effectMgr; - effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("overcoming_crisis_bottom"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + effects->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("overcoming_crisis_bottom"), vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); } } diff --git a/Source/Contents/World/WorldObjects.cpp b/Source/Contents/World/WorldObjects.cpp index 7acf07b93..ed65a77a2 100644 --- a/Source/Contents/World/WorldObjects.cpp +++ b/Source/Contents/World/WorldObjects.cpp @@ -404,8 +404,7 @@ bool CGameMode::LaunchTargetEffect(int effectId, CGameActor* source, CGameActor* } if (g_effectMgr->HasAllocator(effectId)) { - CEffect* effect = g_effectMgr->Spawn(source->render.accountId, effectId, source->render.position.x, source->render.position.y, - source->render.position.z, target->render.accountId, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(source->render.accountId, effectId, source->render.position, target->render.accountId, -1, 0, 0); if (!effect) { return false; } @@ -415,7 +414,7 @@ bool CGameMode::LaunchTargetEffect(int effectId, CGameActor* source, CGameActor* } if (effectId == 539) { - g_effectMgr->Spawn(source->render.accountId, 980, source->render.position.x, source->render.position.y, source->render.position.z, + g_effectMgr->Spawn(source->render.accountId, 980, source->render.position, target->render.accountId, -1, 0, 0); } return true; diff --git a/Source/UI/RuneSystem/UIRuneSystemWnd.cpp b/Source/UI/RuneSystem/UIRuneSystemWnd.cpp index 227feb50c..562cd5c09 100644 --- a/Source/UI/RuneSystem/UIRuneSystemWnd.cpp +++ b/Source/UI/RuneSystem/UIRuneSystemWnd.cpp @@ -2192,7 +2192,7 @@ int UIRuneSystemWnd::SendMsg(UIWindow* sender, int message, std::intptr_t argume const vector3d positions[7] = {{712.0f, 144.0f, 0.0f}, {799.0f, 169.0f, 0.0f}, {853.0f, 244.0f, 0.0f}, {853.0f, 337.0f, 0.0f}, {799.0f, 412.0f, 0.0f}, {711.0f, 438.0f, 0.0f}, {712.0f, 290.0f, 0.0f}}; const int effects[7] = {0x975, 0x975, 0x975, 0x975, 0x975, 0x975, 0x976}; - CEffect* effect = g_effectMgr->Spawn(g_session.m_aid, effects[argument2], 0.0f, 0.0f, 0.0f, 0, -1, 0, 0); + CEffect* effect = g_effectMgr->Spawn(g_session.m_aid, effects[argument2], vector3d{0.0f, 0.0f, 0.0f}, 0, -1, 0, 0); if (effect) { const vector3d& position = positions[argument2]; effect->SetWindowOffset(std::bit_cast(position.x), std::bit_cast(position.y), std::bit_cast(position.z), 1, 0x169);