Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
- {
- switch (eAffect)
- {
- case AFFECT_YMIR:
- #ifdef ENABLE_CANSEEHIDDENTHING_FOR_GM
- if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
- return;
- #else
- if (IsAffect(AFFECT_INVISIBILITY))
- return;
- #endif
- break;
- #ifdef ENABLE_GM_AFFECTS
- case AFFECT_YMIR_LOW_WIZARD:
- if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
- return;
- break;
- case AFFECT_YMIR_GOD:
- if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
- return;
- break;
- case AFFECT_YMIR_HIGH_WIZARD:
- if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
- return;
- break;
- case AFFECT_YMIR_IMPLEMENTOR:
- if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
- return;
- break;
- #endif
- case AFFECT_CHEONGEUN:
- m_GraphicThingInstance.SetResistFallen(isVisible);
- break;
- case AFFECT_GEOMGYEONG:
- __Warrior_SetGeomgyeongAffect(isVisible);
- return;
- break;
- case AFFECT_REVIVE_INVISIBILITY:
- __Assassin_SetEunhyeongAffect(isVisible);
- break;
- case AFFECT_EUNHYEONG:
- __Assassin_SetEunhyeongAffect(isVisible);
- break;
- case AFFECT_GYEONGGONG:
- case AFFECT_KWAESOK:
- if (isVisible)
- if (!IsWalking())
- return;
- break;
- case AFFECT_INVISIBILITY:
- #ifdef ENABLE_CANSEEHIDDENTHING_FOR_GM
- if (__MainCanSeeHiddenThing())
- {
- if (isVisible)
- m_GraphicThingInstance.BlendAlphaValue(0.5f, 1.0f);
- else
- m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
- break;
- }
- #endif
- if (isVisible)
- {
- #ifdef __ENABLE_STEALTH_FIX__
- m_GraphicThingInstance.HideAllAttachingEffect();
- #else
- m_GraphicThingInstance.ClearAttachingEffect();
- #endif
- __EffectContainer_Destroy();
- DetachTextTail();
- }
- else
- {
- m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
- #ifdef __ENABLE_STEALTH_FIX__
- m_GraphicThingInstance.ShowAllAttachingEffect();
- #endif
- AttachTextTail();
- RefreshTextTail();
- }
- return;
- break;
- // case AFFECT_FAINT:
- // m_GraphicThingInstance.SetFaint(isVisible);
- // break;
- // case AFFECT_SLEEP:
- // m_GraphicThingInstance.SetSleep(isVisible);
- // break;
- case AFFECT_STUN:
- m_GraphicThingInstance.SetSleep(isVisible);
- break;
- }
- if (eAffect>=AFFECT_NUM)
- {
- TraceError("CInstanceBase[VID:%d]::SetAffect(eAffect:%d<AFFECT_NUM:%d, isVisible=%d)", GetVirtualID(), eAffect, isVisible);
- return;
- }
- if (isVisible)
- {
- if (!m_adwCRCAffectEffect[eAffect])
- {
- m_adwCRCAffectEffect[eAffect]=__AttachEffect(EFFECT_AFFECT+eAffect);
- }
- }
- else
- {
- if (m_adwCRCAffectEffect[eAffect])
- {
- __DetachEffect(m_adwCRCAffectEffect[eAffect]);
- m_adwCRCAffectEffect[eAffect]=0;
- }
- }
- }
- void CInstanceBase::UpdateTextTailLevel(DWORD level)
- {
- //static D3DXCOLOR s_kLevelColor = D3DXCOLOR(119.0f/255.0f, 246.0f/255.0f, 168.0f/255.0f, 1.0f);
- static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f);
- char szText[256];
- if (IsGameMaster()) // GameMaster Text
- {
- #ifdef ENABLE_GM_AFFECTS
- if (IsAffect(AFFECT_YMIR_LOW_WIZARD))
- {
- sprintf(szText, "Poz. %d [P]", level);
- }
- else if (IsAffect(AFFECT_YMIR_GOD))
- {
- sprintf(szText, "Poz. %d [MG]", level);
- }
- else if (IsAffect(AFFECT_YMIR_HIGH_WIZARD))
- {
- sprintf(szText, "Poz. %d [AG]", level);
- }
- else if (IsAffect(AFFECT_YMIR_IMPLEMENTOR))
- {
- sprintf(szText, "Poz. %d [W]", level);
- }
- CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
- }
- else {
- sprintf(szText, "Poz. %d", level);
- CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
- }
- #else
- sprintf(szText, "Poz. %d", level);
- CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement