1. ######## CLIENT #########
  2. #########################
  3. #root/uiAffectShower.py
  4. #1.) Search:
  5. import math
  6. #2.) Add after:
  7. if app.ENABLE_NEW_AFFECT_POTION:
  8. mainAffectPotion = {
  9. "affect" : [
  10. chr.AFFECT_POTION_1, chr.AFFECT_POTION_2, chr.AFFECT_POTION_3, chr.AFFECT_POTION_4, chr.AFFECT_POTION_5, chr.AFFECT_POTION_6
  11. ],
  12. "image" : [
  13. ("icon/item/5082%d.tga" % (i + 1)) for i in xrange(len("affect"))
  14. ],
  15. "desc" : [
  16. localeInfo.TOOLTIP_AFFECT_POTION_1, localeInfo.TOOLTIP_AFFECT_POTION_2, localeInfo.TOOLTIP_AFFECT_POTION_3, localeInfo.TOOLTIP_AFFECT_POTION_4, localeInfo.TOOLTIP_AFFECT_POTION_5, localeInfo.TOOLTIP_AFFECT_POTION_6
  17. ]
  18. }
  19. #1.) Search:
  20. if type < 500:
  21. return
  22. #2.) Delete and replaced with:
  23. if app.ENABLE_NEW_AFFECT_POTION:
  24. if type < 500 and not type in (mainAffectPotion["affect"][i] for i in xrange(len(mainAffectPotion["affect"]))):
  25. return
  26. else:
  27. if type < 500:
  28. return
  29. #1.) Search:
  30. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  31. AFFECT_DATA_DICT[chr.NEW_AFFECT_DRAGON_SOUL_DECK1] = (localeInfo.TOOLTIP_DRAGON_SOUL_DECK1, "d:/ymir work/ui/dragonsoul/buff_ds_sky1.tga")
  32. AFFECT_DATA_DICT[chr.NEW_AFFECT_DRAGON_SOUL_DECK2] = (localeInfo.TOOLTIP_DRAGON_SOUL_DECK2, "d:/ymir work/ui/dragonsoul/buff_ds_land1.tga")
  33. #2.) Add after:
  34. if app.ENABLE_NEW_AFFECT_POTION:
  35. for i in xrange(len(mainAffectPotion["affect"])):
  36. AFFECT_DATA_DICT[mainAffectPotion["affect"][i]] = (mainAffectPotion["desc"][i], mainAffectPotion["image"][i])
  37. #locale/en/locale_game.txt
  38. #Add where you want:
  39. TOOLTIP_AFFECT_POTION_1 Potion Red SNA
  40. TOOLTIP_AFFECT_POTION_2 Potion Orange SNA
  41. TOOLTIP_AFFECT_POTION_3 Potion Yellow SNA
  42. TOOLTIP_AFFECT_POTION_4 Potion Green SNA
  43. TOOLTIP_AFFECT_POTION_5 Potion Blue SNA
  44. TOOLTIP_AFFECT_POTION_6 Potion White SNA
  45. //@src/Svn/Client/UserInterface/InstanceBase.h
  46. //1.) Search for:
  47. NEW_AFFECT_NOG_POCKET_ABILITY = 302,
  48. //2.) Add after:
  49. #ifdef ENABLE_NEW_AFFECT_POTION
  50. AFFECT_POTION_1 = 303,
  51. AFFECT_POTION_2 = 304,
  52. AFFECT_POTION_3 = 305,
  53. AFFECT_POTION_4 = 306,
  54. AFFECT_POTION_5 = 307,
  55. AFFECT_POTION_6 = 308,
  56. #endif
  57. //@src/Svn/Client/UserInterface/PythonApplicationModule.cpp
  58. //1.) Search for:
  59. #ifdef ENABLE_COSTUME_SYSTEM
  60. PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 1);
  61. #else
  62. PyModule_AddIntConstant(poModule, "ENABLE_COSTUME_SYSTEM", 0);
  63. #endif
  64. //2.) Add after:
  65. #ifdef ENABLE_NEW_AFFECT_POTION
  66. PyModule_AddIntConstant(poModule, "ENABLE_NEW_AFFECT_POTION", 1);
  67. #else
  68. PyModule_AddIntConstant(poModule, "ENABLE_NEW_AFFECT_POTION", 0);
  69. #endif
  70. //@src/Svn/Client/UserInterface/PythonCharacterModule.cpp
  71. //1.) Search for:
  72. PyModule_AddIntConstant(poModule, "NEW_AFFECT_DRAGON_SOUL_DECK2", CInstanceBase::NEW_AFFECT_DRAGON_SOUL_DECK2);
  73. //2.) Add after:
  74. #ifdef ENABLE_NEW_AFFECT_POTION
  75. PyModule_AddIntConstant(poModule, "AFFECT_POTION_1", CInstanceBase::AFFECT_POTION_1);
  76. PyModule_AddIntConstant(poModule, "AFFECT_POTION_2", CInstanceBase::AFFECT_POTION_2);
  77. PyModule_AddIntConstant(poModule, "AFFECT_POTION_3", CInstanceBase::AFFECT_POTION_3);
  78. PyModule_AddIntConstant(poModule, "AFFECT_POTION_4", CInstanceBase::AFFECT_POTION_4);
  79. PyModule_AddIntConstant(poModule, "AFFECT_POTION_5", CInstanceBase::AFFECT_POTION_5);
  80. PyModule_AddIntConstant(poModule, "AFFECT_POTION_6", CInstanceBase::AFFECT_POTION_6);
  81. #endif
  82. //@src/Svn/Client/UserInterface/Locale_inc.h
  83. //1.) Add where you want:
  84. #define ENABLE_NEW_AFFECT_POTION
  85. ######## SERVER #########
  86. #########################
  87. //@src/Svn/Server/game/src/char_affect.cpp
  88. //1.) Search for:
  89. if ( IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
  90. {
  91. ++it;
  92. continue;
  93. }
  94. //2.) Add after:
  95. #ifdef ENABLE_NEW_AFFECT_POTION
  96. int listAffects[] = {
  97. AFFECT_POTION_1, AFFECT_POTION_2, AFFECT_POTION_3, AFFECT_POTION_4, AFFECT_POTION_5, AFFECT_POTION_6};
  98. for (int i = 0; i < _countof(listAffects); i++)
  99. {
  100. if (pkAff->dwType == listAffects[i])
  101. {
  102. ++it;
  103. continue;
  104. }
  105. }
  106. #endif
  107. //@src/Svn/Server/game/src/char_item.cpp
  108. //1.) Search for:
  109. void CHARACTER::UseSilkBotary(void)
  110. {
  111. [........]
  112. }
  113. //2.) Add after:
  114. #ifdef ENABLE_NEW_AFFECT_POTION
  115. void CHARACTER::SetAffectPotion(LPITEM item)
  116. {
  117. int listAffectPotion[] =
  118. {
  119. AFFECT_POTION_1, AFFECT_POTION_2, AFFECT_POTION_3, AFFECT_POTION_4, AFFECT_POTION_5, AFFECT_POTION_6};
  120. int listVnums[] =
  121. {
  122. 50821, 50822, 50823, 50824, 50825, 50826};
  123. for (int i = 0; i < _countof(listVnums); i++)
  124. {
  125. if (item->GetVnum() == listVnums[i])
  126. {
  127. AddAffect(listAffectPotion[i], APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
  128. ChatPacket(CHAT_TYPE_INFO, "<Affect Potion> Set icon ingame for item: [%s]", item->GetName());
  129. }
  130. }
  131. }
  132. #endif
  133. //1.) Search for:
  134. AddAffect(affect_type, apply_type, apply_value, 0, apply_duration, 0, false);
  135. //2.) Add before:
  136. #ifdef ENABLE_NEW_AFFECT_POTION
  137. SetAffectPotion(item);
  138. #endif
  139. //@src/Svn/Server/game/src/char.h
  140. //1.) Search:
  141. void FlushDelayedSaveItem();
  142. //2.) Add bellow:
  143. #ifdef ENABLE_NEW_AFFECT_POTION
  144. void SetAffectPotion(LPITEM item);
  145. #endif
  146. //@src/Svn/Server/game/src/affect.h
  147. //1.) Search:
  148. AFFECT_HOLLY_STONE_POWER = 303,
  149. //2.) Delete and replaced with: (WARNING: Delete -> AFFECT_HOLLY_STONE_POWER = 303,) ! and add bellow:
  150. #ifdef ENABLE_NEW_AFFECT_POTION
  151. AFFECT_POTION_1 = 303,
  152. AFFECT_POTION_2 = 304,
  153. AFFECT_POTION_3 = 305,
  154. AFFECT_POTION_4 = 306,
  155. AFFECT_POTION_5 = 307,
  156. AFFECT_POTION_6 = 308,
  157. #endif
  158. //@src/Svn/Server/common/service.h
  159. //Add where you want:
  160. #define ENABLE_NEW_AFFECT_POTION