Advertisement
Guest User

Untitled

a guest
Aug 25th, 2024
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible)
  2. {
  3. switch (eAffect)
  4. {
  5. case AFFECT_YMIR:
  6. #ifdef ENABLE_CANSEEHIDDENTHING_FOR_GM
  7. if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
  8. return;
  9. #else
  10. if (IsAffect(AFFECT_INVISIBILITY))
  11. return;
  12. #endif
  13. break;
  14.  
  15. #ifdef ENABLE_GM_AFFECTS
  16. case AFFECT_YMIR_LOW_WIZARD:
  17. if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
  18. return;
  19. break;
  20.  
  21. case AFFECT_YMIR_GOD:
  22. if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
  23. return;
  24. break;
  25.  
  26. case AFFECT_YMIR_HIGH_WIZARD:
  27. if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
  28. return;
  29. break;
  30.  
  31. case AFFECT_YMIR_IMPLEMENTOR:
  32. if (IsAffect(AFFECT_INVISIBILITY) && !__MainCanSeeHiddenThing())
  33. return;
  34. break;
  35. #endif
  36.  
  37. case AFFECT_CHEONGEUN:
  38. m_GraphicThingInstance.SetResistFallen(isVisible);
  39. break;
  40. case AFFECT_GEOMGYEONG:
  41. __Warrior_SetGeomgyeongAffect(isVisible);
  42. return;
  43. break;
  44. case AFFECT_REVIVE_INVISIBILITY:
  45. __Assassin_SetEunhyeongAffect(isVisible);
  46. break;
  47. case AFFECT_EUNHYEONG:
  48. __Assassin_SetEunhyeongAffect(isVisible);
  49. break;
  50. case AFFECT_GYEONGGONG:
  51. case AFFECT_KWAESOK:
  52. if (isVisible)
  53. if (!IsWalking())
  54. return;
  55. break;
  56. case AFFECT_INVISIBILITY:
  57. #ifdef ENABLE_CANSEEHIDDENTHING_FOR_GM
  58. if (__MainCanSeeHiddenThing())
  59. {
  60. if (isVisible)
  61. m_GraphicThingInstance.BlendAlphaValue(0.5f, 1.0f);
  62. else
  63. m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
  64. break;
  65. }
  66. #endif
  67. if (isVisible)
  68. {
  69. #ifdef __ENABLE_STEALTH_FIX__
  70. m_GraphicThingInstance.HideAllAttachingEffect();
  71. #else
  72. m_GraphicThingInstance.ClearAttachingEffect();
  73. #endif
  74. __EffectContainer_Destroy();
  75. DetachTextTail();
  76. }
  77. else
  78. {
  79. m_GraphicThingInstance.BlendAlphaValue(1.0f, 1.0f);
  80. #ifdef __ENABLE_STEALTH_FIX__
  81. m_GraphicThingInstance.ShowAllAttachingEffect();
  82. #endif
  83. AttachTextTail();
  84. RefreshTextTail();
  85. }
  86. return;
  87. break;
  88. // case AFFECT_FAINT:
  89. // m_GraphicThingInstance.SetFaint(isVisible);
  90. // break;
  91. // case AFFECT_SLEEP:
  92. // m_GraphicThingInstance.SetSleep(isVisible);
  93. // break;
  94. case AFFECT_STUN:
  95. m_GraphicThingInstance.SetSleep(isVisible);
  96. break;
  97. }
  98.  
  99. if (eAffect>=AFFECT_NUM)
  100. {
  101. TraceError("CInstanceBase[VID:%d]::SetAffect(eAffect:%d<AFFECT_NUM:%d, isVisible=%d)", GetVirtualID(), eAffect, isVisible);
  102. return;
  103. }
  104.  
  105. if (isVisible)
  106. {
  107. if (!m_adwCRCAffectEffect[eAffect])
  108. {
  109. m_adwCRCAffectEffect[eAffect]=__AttachEffect(EFFECT_AFFECT+eAffect);
  110. }
  111. }
  112. else
  113. {
  114. if (m_adwCRCAffectEffect[eAffect])
  115. {
  116. __DetachEffect(m_adwCRCAffectEffect[eAffect]);
  117. m_adwCRCAffectEffect[eAffect]=0;
  118. }
  119. }
  120. }
  121.  
  122.  
  123.  
  124. void CInstanceBase::UpdateTextTailLevel(DWORD level)
  125. {
  126. //static D3DXCOLOR s_kLevelColor = D3DXCOLOR(119.0f/255.0f, 246.0f/255.0f, 168.0f/255.0f, 1.0f);
  127. static D3DXCOLOR s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f);
  128.  
  129. char szText[256];
  130.  
  131. if (IsGameMaster()) // GameMaster Text
  132. {
  133. #ifdef ENABLE_GM_AFFECTS
  134. if (IsAffect(AFFECT_YMIR_LOW_WIZARD))
  135. {
  136. sprintf(szText, "Poz. %d [P]", level);
  137. }
  138. else if (IsAffect(AFFECT_YMIR_GOD))
  139. {
  140. sprintf(szText, "Poz. %d [MG]", level);
  141. }
  142. else if (IsAffect(AFFECT_YMIR_HIGH_WIZARD))
  143. {
  144. sprintf(szText, "Poz. %d [AG]", level);
  145. }
  146. else if (IsAffect(AFFECT_YMIR_IMPLEMENTOR))
  147. {
  148. sprintf(szText, "Poz. %d [W]", level);
  149. }
  150.  
  151. CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
  152. }
  153. else {
  154. sprintf(szText, "Poz. %d", level);
  155. CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
  156. }
  157. #else
  158. sprintf(szText, "Poz. %d", level);
  159. CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
  160. #endif
  161. }
  162.  
  163.  
  164.  
  165.  
  166.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement