MRMJ-1: Messenger & Skills fixes

This commit is contained in:
Mind Rapist
2025-12-14 05:12:39 +02:00
parent 436db01a80
commit 7b08687023
46 changed files with 1258 additions and 60 deletions

View File

@@ -448,7 +448,11 @@ BOOL CInstanceBase::IsMovieMode()
BOOL CInstanceBase::IsInvisibility()
{
#ifdef __ENABLE_STEALTH_FIX__
if (IsAffect(AFFECT_INVISIBILITY) || IsAffect(AFFECT_EUNHYEONG) || IsAffect(AFFECT_REVIVE_INVISIBILITY))
#else
if (IsAffect(AFFECT_INVISIBILITY))
#endif
return true;
return false;
@@ -1556,7 +1560,11 @@ void CInstanceBase::StateProcess()
SetAdvancingRotation(fRotDst);
SetRotation(fRotDst);
#ifdef FIX_POS_SYNC
NEW_UseSkill(1, eFunc& FUNC_SKILL - 1, uArg & 0x0f, (uArg >> 4) ? true : false);
#else
NEW_UseSkill(0, eFunc & 0x7f, uArg&0x0f, (uArg>>4) ? true : false);
#endif
//Tracen("가깝기 때문에 워프 공격");
}
}
@@ -1734,7 +1742,11 @@ void CInstanceBase::MovementProcess()
{
SetAdvancingRotation(m_fDstRot);
BlendRotation(m_fDstRot);
#ifdef FIX_POS_SYNC
NEW_UseSkill(1, m_kMovAfterFunc.eFunc& FUNC_SKILL - 1, m_kMovAfterFunc.uArg & 0x0f, (m_kMovAfterFunc.uArg >> 4) ? true : false);
#else
NEW_UseSkill(0, m_kMovAfterFunc.eFunc & 0x7f, m_kMovAfterFunc.uArg&0x0f, (m_kMovAfterFunc.uArg>>4) ? true : false);
#endif
}
else
{
@@ -1790,7 +1802,11 @@ void CInstanceBase::MovementProcess()
m_GraphicThingInstance.SetRotation(fRotation);
}
#ifdef __ENABLE_STEALTH_FIX__
if (__IsInDustRange() && !IsAffect(AFFECT_INVISIBILITY) && !IsAffect(AFFECT_EUNHYEONG) && !IsAffect(AFFECT_REVIVE_INVISIBILITY))
#else
if (__IsInDustRange())
#endif
{
float fDustDistance = NEW_GetDistanceFromDestPixelPosition(m_kPPosDust);
if (IsMountingHorse())
@@ -1906,7 +1922,7 @@ void CInstanceBase::Update()
}
__ComboProcess();
ProcessDamage();
}
@@ -1968,7 +1984,30 @@ void CInstanceBase::Render()
++ms_dwRenderCounter;
m_kHorse.Render();
m_GraphicThingInstance.Render();
m_GraphicThingInstance.Render();
#ifdef __ENABLE_STEALTH_FIX__
CPythonCharacterManager& rkChrMgr = CPythonCharacterManager::Instance();
for (auto ptr = rkChrMgr.CharacterInstanceBegin(); ptr != rkChrMgr.CharacterInstanceEnd(); ++ptr)
{
CInstanceBase* pkInstEach = *ptr;
if (pkInstEach)
{
if (pkInstEach->IsAffect(AFFECT_INVISIBILITY) || pkInstEach->IsAffect(AFFECT_EUNHYEONG) || pkInstEach->IsAffect(AFFECT_REVIVE_INVISIBILITY))
{
if (CPythonPlayer::Instance().IsMainCharacterIndex(pkInstEach->GetVirtualID()))
continue;
if (pkInstEach->IsAffect(AFFECT_EUNHYEONG) && !pkInstEach->IsAffect(AFFECT_INVISIBILITY) && !pkInstEach->IsAffect(AFFECT_REVIVE_INVISIBILITY))
pkInstEach->m_GraphicThingInstance.HideAllAttachingEffectForEunhyeong();
else
pkInstEach->m_GraphicThingInstance.HideAllAttachingEffect();
}
}
}
#endif
if (CActorInstance::IsDirLine())
{