Item.cpp
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:21k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. /******************************************************************************************************************
  2.                                                                                                                    
  3. 葛碘疙:
  4. 累己磊:
  5. 累己老:
  6. [老磊][荐沥磊] : 荐沥 郴侩
  7.                                                                                                                    
  8. *******************************************************************************************************************/
  9. #include "StdAfx.h"
  10. CItem::CItem()
  11. {
  12. m_shCellNum = 0;
  13. m_bAttr = 0;
  14. ZeroMemory(&m_stItemInfo, sizeof(CLIENTITEMRCD));
  15. }
  16. CItem::~CItem()
  17. {
  18. }
  19. BOOL CItem::SetItem(CLIENTITEMRCD stItemInfo, SHORT shInventoryNum)
  20. {
  21. m_stItemInfo = stItemInfo;
  22. m_shCellNum = shInventoryNum;
  23. /*
  24. a:公扁
  25. b:渴
  26. c:馆瘤 迫骂 格吧捞
  27. g:扁鸥
  28. */
  29. /*
  30. #define _U_DRESS 0
  31. #define _U_WEAPON 1
  32. #define _U_RIGHTHAND 2
  33. #define _U_NECKLACE 3
  34. #define _U_HELMET 4
  35. #define _U_ARMRINGL 5
  36. #define _U_ARMRINGR 6            
  37. #define _U_RINGL 7 
  38. #define _U_RINGR 8 
  39. #define _U_CHARM 9
  40. #define _U_UNEQUIP 100
  41. */
  42. switch ( m_stItemInfo.stStdItem.bStdMode )
  43. {
  44. // 公扁.
  45. case 5:
  46. case 6:
  47. m_bAttr = _U_WEAPON;
  48. break;
  49. // 渴.
  50. case 10:
  51. case 11:
  52. m_bAttr = _U_DRESS;
  53. break;
  54. case 15:
  55. m_bAttr = _U_HELMET;
  56. break;
  57. case 19:
  58. case 20:
  59. case 21:
  60. m_bAttr = _U_NECKLACE;
  61. break;
  62. case 22:
  63. case 23:
  64. m_bAttr = _U_RINGL;
  65. break;
  66. case 24:
  67. case 26:
  68. m_bAttr = _U_ARMRINGL;
  69. break;
  70. // 檬, 榷阂.
  71. case 30:
  72. m_bAttr = _U_RIGHTHAND;
  73. break;
  74. // 刀啊风, 何利.
  75. case 25:
  76. m_bAttr = _U_ARMRINGL;
  77. break;
  78. }
  79. return TRUE;
  80. }
  81. BOOL CItem::DrawItem(INT nX, INT nY, BYTE bItemType)
  82. {
  83. CWHWilImageData* pxItemImg;
  84. BOOL bDrawItem = FALSE;
  85. switch ( bItemType )
  86. {
  87. case _ITEM_TYPE_INVENTORY:
  88. pxItemImg = &g_xGameProc.m_xImage.m_xImageList[_IMAGE_ITEM_INVENTORY];
  89. bDrawItem = pxItemImg->NewSetIndex(m_stItemInfo.stStdItem.wLooks);
  90. if ( bDrawItem )
  91. {
  92. nX = nX+_INVENTORY_CELL_WIDTH/2-pxItemImg->m_lpstNewCurrWilImageInfo->shWidth/2;
  93. nY = nY+_INVENTORY_CELL_HEIGHT/2-pxItemImg->m_lpstNewCurrWilImageInfo->shHeight/2;
  94. }
  95. break;
  96. case _ITEM_TYPE_EQUIP:
  97. pxItemImg = &g_xGameProc.m_xImage.m_xImageList[_IMAGE_ITEM_EQUIP];
  98. bDrawItem = pxItemImg->NewSetIndex(m_stItemInfo.stStdItem.wLooks);
  99. if ( bDrawItem )
  100. {
  101. nX += g_xGameProc.m_xImage.m_xImageList[_IMAGE_ITEM_EQUIP].m_lpstNewCurrWilImageInfo->shPX;
  102. nY += g_xGameProc.m_xImage.m_xImageList[_IMAGE_ITEM_EQUIP].m_lpstNewCurrWilImageInfo->shPY;
  103. }
  104. break;
  105. }
  106. if ( bDrawItem )
  107. {
  108.   g_xMainWnd.DrawWithImageForCompClipRgn(
  109. nX,
  110. nY,
  111. pxItemImg->m_lpstNewCurrWilImageInfo->shWidth,
  112. pxItemImg->m_lpstNewCurrWilImageInfo->shHeight,
  113. (WORD*)pxItemImg->m_pbCurrImage, _CLIP_WIDTH, 600);
  114. }
  115. return TRUE;
  116. }
  117. VOID CItem::ShowItemStatus(INT nX, INT nY)
  118. {
  119. CHAR szLineBuf[3][MAX_PATH];
  120. CHAR szName[MAX_PATH];
  121. SIZE sizeLen;
  122. BOOL bUseAble = TRUE;
  123. const INT nLineGap = 14;
  124. ZeroMemory(szName, MAX_PATH);
  125. ZeroMemory(szLineBuf, 3*MAX_PATH);
  126. if ( m_stItemInfo.stStdItem.szName )
  127. {
  128. switch ( m_stItemInfo.stStdItem.bStdMode )
  129. {
  130. // 巢磊渴, 咯磊渴.
  131. case 10:
  132. case 11:
  133. {
  134. bUseAble = FALSE;
  135. // 霉掳临.
  136. if ( m_stItemInfo.stStdItem.szName[20] )
  137. g_xMainWnd.StringPlus(szName, &m_stItemInfo.stStdItem.szName[20], " ", &m_stItemInfo.stStdItem.szName[0], "");
  138. else
  139. strcpy(szName, m_stItemInfo.stStdItem.szName);
  140. g_xMainWnd.PutsHan(NULL, nX, nY, RGB(250, 250, 0), RGB(0, 0, 0), szName);
  141. sizeLen = g_xMainWnd.GetStrLength(NULL, NULL, szName);
  142. sprintf(szLineBuf[0], " 公霸%d 郴备%d/%d", (m_stItemInfo.stStdItem.bWeight), (m_stItemInfo.nDura/1000), (m_stItemInfo.nDuraMax)/1000);
  143. g_xMainWnd.PutsHan(NULL, nX+sizeLen.cx, nY, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[0]);
  144. // 笛掳临.
  145. if ( m_stItemInfo.stStdItem.wAC > 0 )
  146. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "规绢%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wAC), HIBYTE(m_stItemInfo.stStdItem.wAC));
  147. if ( m_stItemInfo.stStdItem.wMAC > 0 )
  148. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "付亲%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wMAC), HIBYTE(m_stItemInfo.stStdItem.wMAC));
  149. if ( m_stItemInfo.stStdItem.wDC > 0 )
  150. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "颇鲍%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wDC), HIBYTE(m_stItemInfo.stStdItem.wDC));
  151. if ( m_stItemInfo.stStdItem.wMC > 0 )
  152. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "付过%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wMC), HIBYTE(m_stItemInfo.stStdItem.wMC));
  153. if ( m_stItemInfo.stStdItem.wSC > 0 )
  154. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "档仿%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wSC), HIBYTE(m_stItemInfo.stStdItem.wSC));
  155. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  156. // 技掳临.
  157. switch ( m_stItemInfo.stStdItem.bNeed )
  158. {
  159. case 0:
  160. {
  161. if ( g_xGameProc.m_xMyHero.m_stAbility.bLevel >= m_stItemInfo.stStdItem.bNeedLevel )
  162.    bUseAble = TRUE;
  163. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸饭骇%d ", m_stItemInfo.stStdItem.bNeedLevel);
  164. }
  165. break;
  166. case 1:
  167. {
  168. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wDC) >= m_stItemInfo.stStdItem.bNeedLevel )
  169.    bUseAble = TRUE;
  170. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸颇鲍仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  171. }
  172. break;
  173. case 2:
  174. {
  175. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wMC) >= m_stItemInfo.stStdItem.bNeedLevel )
  176.    bUseAble = TRUE;
  177. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸付过仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  178. }
  179. break;
  180. case 3:
  181. {
  182. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wSC) >= m_stItemInfo.stStdItem.bNeedLevel )
  183.    bUseAble = TRUE;
  184. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸档仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  185. }
  186. break;
  187. }
  188. if ( bUseAble )
  189. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  190. else
  191. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 0, 0), RGB(0, 0, 0), szLineBuf[2]);
  192. }
  193. break;
  194. // 公扁.
  195. case 5:
  196. case 6:
  197. {
  198. bUseAble = FALSE;
  199. // 霉掳临.
  200. if ( (m_stItemInfo.stStdItem.bNeedIdentify & 0X01) != 0 )
  201. {
  202. if ( m_stItemInfo.stStdItem.szName[20] )
  203. g_xMainWnd.StringPlus(szName, "(*)", &m_stItemInfo.stStdItem.szName[20], " ", &m_stItemInfo.stStdItem.szName[0], "");
  204. else
  205. strcpy(szName, m_stItemInfo.stStdItem.szName);
  206. }
  207. else
  208. {
  209. if ( m_stItemInfo.stStdItem.szName[20] )
  210. g_xMainWnd.StringPlus(szName, &m_stItemInfo.stStdItem.szName[20], " ", &m_stItemInfo.stStdItem.szName[0], "");
  211. else
  212. strcpy(szName, m_stItemInfo.stStdItem.szName);
  213. }
  214. g_xMainWnd.PutsHan(NULL, nX, nY, RGB(250, 250, 0), RGB(0, 0, 0), szName);
  215. sizeLen = g_xMainWnd.GetStrLength(NULL, NULL, szName);
  216. sprintf(szLineBuf[0], " 公霸%d 郴备%d/%d", (m_stItemInfo.stStdItem.bWeight), (m_stItemInfo.nDura/1000), (m_stItemInfo.nDuraMax)/1000);
  217. g_xMainWnd.PutsHan(NULL, nX+sizeLen.cx, nY, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[0]);
  218. // 笛掳临.
  219. if ( m_stItemInfo.stStdItem.wDC > 0 )
  220. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "颇鲍%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wDC), HIBYTE(m_stItemInfo.stStdItem.wDC));
  221. if ( m_stItemInfo.stStdItem.wMC > 0 )
  222. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "付过%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wMC), HIBYTE(m_stItemInfo.stStdItem.wMC));
  223. if ( m_stItemInfo.stStdItem.wSC > 0 )
  224. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "档仿%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wSC), HIBYTE(m_stItemInfo.stStdItem.wSC));
  225. if ( m_stItemInfo.stStdItem.sSpecialPower > 0 )
  226. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "碍档%d ", m_stItemInfo.stStdItem.sSpecialPower);
  227. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  228. // 技掳临.
  229. if ( HIBYTE(m_stItemInfo.stStdItem.wAC) > 0 )
  230. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "沥犬+%d ", HIBYTE(m_stItemInfo.stStdItem.wAC));
  231. if ( HIBYTE(m_stItemInfo.stStdItem.wMAC) > 0 )
  232. {
  233. if ( HIBYTE(m_stItemInfo.stStdItem.wMAC) > 10 )
  234. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "傍拜加档+%d ", HIBYTE(m_stItemInfo.stStdItem.wMAC)-10);
  235. else
  236. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "傍拜加档-%d ", HIBYTE(m_stItemInfo.stStdItem.wMAC));
  237. }
  238. if ( LOBYTE(m_stItemInfo.stStdItem.wAC) > 0 )
  239. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "青款+%d ", LOBYTE(m_stItemInfo.stStdItem.wAC));
  240. if ( LOBYTE(m_stItemInfo.stStdItem.wMAC) > 0 )
  241. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "历林+%d ", LOBYTE(m_stItemInfo.stStdItem.wMAC));
  242. switch ( m_stItemInfo.stStdItem.bNeed )
  243. {
  244. case 0:
  245. {
  246. if ( g_xGameProc.m_xMyHero.m_stAbility.bLevel >= m_stItemInfo.stStdItem.bNeedLevel )
  247.    bUseAble = TRUE;
  248. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸饭骇%d ", m_stItemInfo.stStdItem.bNeedLevel);
  249. }
  250. break;
  251. case 1:
  252. {
  253. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wDC) >= m_stItemInfo.stStdItem.bNeedLevel )
  254.    bUseAble = TRUE;
  255. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸颇鲍仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  256. }
  257. break;
  258. case 2:
  259. {
  260. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wMC) >= m_stItemInfo.stStdItem.bNeedLevel )
  261.    bUseAble = TRUE;
  262. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸付过仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  263. }
  264. break;
  265. case 3:
  266. {
  267. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wSC) >= m_stItemInfo.stStdItem.bNeedLevel )
  268.    bUseAble = TRUE;
  269. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸档仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  270. }
  271. break;
  272. }
  273. if ( bUseAble )
  274. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  275. else
  276. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 0, 0), RGB(0, 0, 0), szLineBuf[2]);
  277. }
  278. break;
  279.         case 15: //葛磊,捧备
  280.         case 19: //格吧捞
  281. case 20:
  282. case 21:  
  283.         case 22: //馆瘤
  284. case 23:  
  285.         case 24: //迫骂
  286. case 26:  
  287. {
  288. bUseAble = FALSE;
  289. // 霉掳临.
  290. if ( m_stItemInfo.stStdItem.szName[20] )
  291. g_xMainWnd.StringPlus(szName, &m_stItemInfo.stStdItem.szName[20], " ", &m_stItemInfo.stStdItem.szName[0], "");
  292. else
  293. strcpy(szName, m_stItemInfo.stStdItem.szName);
  294. g_xMainWnd.PutsHan(NULL, nX, nY, RGB(250, 250, 0), RGB(0, 0, 0), szName);
  295. sizeLen = g_xMainWnd.GetStrLength(NULL, NULL, szName);
  296. sprintf(szLineBuf[0], " 公霸%d 郴备%d/%d", (m_stItemInfo.stStdItem.bWeight), (m_stItemInfo.nDura/1000), (m_stItemInfo.nDuraMax)/1000);
  297. g_xMainWnd.PutsHan(NULL, nX+sizeLen.cx, nY, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[0]);
  298. // 滴锅掳临.
  299. // 格吧捞.
  300. if ( m_stItemInfo.stStdItem.bStdMode == 19 && m_stItemInfo.stStdItem.bStdMode == 20 )
  301. {
  302. if ( m_stItemInfo.stStdItem.wAC > 0 )
  303. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "付过雀乔+%d ", HIBYTE(m_stItemInfo.stStdItem.wAC));
  304. if ( LOBYTE(m_stItemInfo.stStdItem.wMAC) > 0 )
  305. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "历林+%d ", LOBYTE(m_stItemInfo.stStdItem.wMAC));
  306. if ( HIBYTE(m_stItemInfo.stStdItem.wMAC) > 0 )
  307. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "青款+%d ", HIBYTE(m_stItemInfo.stStdItem.wMAC));
  308. }
  309. // 馆瘤.
  310. if ( m_stItemInfo.stStdItem.bStdMode == 22 && m_stItemInfo.stStdItem.bStdMode == 23 )
  311. {
  312. if ( HIBYTE(m_stItemInfo.stStdItem.wMAC) > 0 )
  313. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "吝刀雀汗+%d ", HIBYTE(m_stItemInfo.stStdItem.wMAC));
  314. if ( LOBYTE(m_stItemInfo.stStdItem.wAC) > 0 )
  315. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "傍拜加档+%d ", LOBYTE(m_stItemInfo.stStdItem.wAC));
  316. if ( LOBYTE(m_stItemInfo.stStdItem.wMAC) > 0 )
  317. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "傍拜加档-%d ", LOBYTE(m_stItemInfo.stStdItem.wMAC));
  318. }
  319. // 迫骂.
  320. else if ( m_stItemInfo.stStdItem.bStdMode == 24 && m_stItemInfo.stStdItem.bStdMode == 26 )
  321. {
  322. if ( m_stItemInfo.stStdItem.wAC > 0 )
  323. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "沥犬+%d ", HIBYTE(m_stItemInfo.stStdItem.wAC));
  324. if ( m_stItemInfo.stStdItem.wMAC > 0 )
  325. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "刮酶+%d ", HIBYTE(m_stItemInfo.stStdItem.wMAC));
  326. }
  327. else
  328. {
  329. if ( m_stItemInfo.stStdItem.wAC > 0 )
  330. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "规绢%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wAC), HIBYTE(m_stItemInfo.stStdItem.wAC));
  331. if ( m_stItemInfo.stStdItem.wMAC > 0 )
  332. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "付亲%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wMAC), HIBYTE(m_stItemInfo.stStdItem.wMAC));
  333. }
  334. if ( m_stItemInfo.stStdItem.wDC > 0 )
  335. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "颇鲍%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wDC), HIBYTE(m_stItemInfo.stStdItem.wDC));
  336. if ( m_stItemInfo.stStdItem.wMC > 0 )
  337. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "付过%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wMC), HIBYTE(m_stItemInfo.stStdItem.wMC));
  338. if ( m_stItemInfo.stStdItem.wSC > 0 )
  339. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], "档仿%d-%d ", LOBYTE(m_stItemInfo.stStdItem.wSC), HIBYTE(m_stItemInfo.stStdItem.wSC));
  340. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  341. // 技锅掳临.
  342. switch ( m_stItemInfo.stStdItem.bNeed )
  343. {
  344. case 0:
  345. {
  346. if ( g_xGameProc.m_xMyHero.m_stAbility.bLevel >= m_stItemInfo.stStdItem.bNeedLevel )
  347.    bUseAble = TRUE;
  348. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸饭骇%d ", m_stItemInfo.stStdItem.bNeedLevel);
  349. }
  350. break;
  351. case 1:
  352. {
  353. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wDC) >= m_stItemInfo.stStdItem.bNeedLevel )
  354.    bUseAble = TRUE;
  355. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸颇鲍仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  356. }
  357. break;
  358. case 2:
  359. {
  360. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wMC) >= m_stItemInfo.stStdItem.bNeedLevel )
  361.    bUseAble = TRUE;
  362. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸付过仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  363. }
  364. break;
  365. case 3:
  366. {
  367. if ( HIBYTE(g_xGameProc.m_xMyHero.m_stAbility.wSC) >= m_stItemInfo.stStdItem.bNeedLevel )
  368.    bUseAble = TRUE;
  369. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], "鞘夸档仿%d ", m_stItemInfo.stStdItem.bNeedLevel);
  370. }
  371. break;
  372. }
  373. if ( bUseAble )
  374. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  375. else
  376. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 0, 0), RGB(0, 0, 0), szLineBuf[2]);
  377. }
  378. break;
  379. /* case 25: //谎府绰 刀啊风
  380. case 30: //檬,冉阂
  381. case 40: //绊扁耽绢府
  382. case 42:
  383. case 43:
  384. */ default:
  385. {
  386. bUseAble = FALSE;
  387. // 霉锅掳临.
  388. g_xMainWnd.PutsHan(NULL, nX, nY, RGB(250, 250, 0), RGB(0, 0, 0), m_stItemInfo.stStdItem.szName);
  389. sizeLen = g_xMainWnd.GetStrLength(NULL, NULL, m_stItemInfo.stStdItem.szName);
  390. switch ( m_stItemInfo.stStdItem.bStdMode )
  391. {
  392. case 0: // 拱距.
  393. if ( m_stItemInfo.stStdItem.wAC > 0 )
  394. sprintf(&szLineBuf[0][strlen(szLineBuf[0])], " +%dHP ", m_stItemInfo.stStdItem.wAC);
  395. if ( m_stItemInfo.stStdItem.wMAC > 0 )
  396. sprintf(&szLineBuf[0][strlen(szLineBuf[0])], " +%dMP ", m_stItemInfo.stStdItem.wMAC);
  397. sprintf(&szLineBuf[0][strlen(szLineBuf[0])], " 公霸%d ", m_stItemInfo.stStdItem.bWeight);
  398. g_xMainWnd.PutsHan(NULL, nX+sizeLen.cx, nY, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[0]);
  399. break;
  400. case 1: // 富赴绊扁.
  401. case 2: // 林冈逛.
  402. break;
  403. case 3: // 漂荐茄拱距 OR 阿辆傈辑甸.
  404. sprintf(&szLineBuf[0][strlen(szLineBuf[0])], " 公霸%d ", m_stItemInfo.stStdItem.bWeight);
  405. g_xMainWnd.PutsHan(NULL, nX+sizeLen.cx, nY, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[0]);
  406. break;
  407. case 4: // 阿辆氓甸.
  408. sprintf(&szLineBuf[0][strlen(szLineBuf[0])], " 公霸%d ", m_stItemInfo.stStdItem.bWeight);
  409. g_xMainWnd.PutsHan(NULL, nX+sizeLen.cx, nY, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[0]);
  410. switch ( m_stItemInfo.stStdItem.bShape )
  411. {
  412. case 0:
  413. {
  414. // 笛掳临.
  415. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 傈荤公傍厚鞭 ");
  416. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  417. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], " 鞘夸饭骇%d ", m_stItemInfo.stStdItem.wDuraMax);
  418. if ( (g_xGameProc.m_xMyHero.m_bJob == _JOB_JUNSA) && (g_xGameProc.m_xMyHero.m_stAbility.bLevel >= m_stItemInfo.stStdItem.wDuraMax) )
  419.    bUseAble = TRUE;
  420. if ( bUseAble )
  421. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  422. else
  423. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 0, 0), RGB(0, 0, 0), szLineBuf[2]);
  424. }
  425. break;
  426. case 1:
  427. {
  428. // 笛掳临.
  429. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 林贱荤付过氓 ");
  430. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  431. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], " 鞘夸饭骇%d ", m_stItemInfo.stStdItem.wDuraMax);
  432. if ( (g_xGameProc.m_xMyHero.m_bJob == _JOB_SULSA) && (g_xGameProc.m_xMyHero.m_stAbility.bLevel >= m_stItemInfo.stStdItem.wDuraMax) )
  433.    bUseAble = TRUE;
  434. if ( bUseAble )
  435. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  436. else
  437. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 0, 0), RGB(0, 0, 0), szLineBuf[2]);
  438. }
  439. break;
  440. case 2:
  441. {
  442. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 档荤公傍厚鞭 ");
  443. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  444. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], " 鞘夸饭骇%d ", m_stItemInfo.stStdItem.wDuraMax);
  445. if ( (g_xGameProc.m_xMyHero.m_bJob == _JOB_DOSA) && (g_xGameProc.m_xMyHero.m_stAbility.bLevel >= m_stItemInfo.stStdItem.wDuraMax) )
  446.    bUseAble = TRUE;
  447. if ( bUseAble )
  448. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  449. else
  450. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 0, 0), RGB(0, 0, 0), szLineBuf[2]);
  451. }
  452. break;
  453. }
  454. break;
  455. case 25: // 阿辆 刀啊风.
  456. // 霉锅掳临.
  457. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d ", m_stItemInfo.stStdItem.bWeight);
  458. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  459. // 滴锅掳临.
  460. sprintf(&szLineBuf[2][strlen(szLineBuf[2])], " 荤侩%d/%d ", m_stItemInfo.nDura, m_stItemInfo.nDuraMax);
  461. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap*2, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[2]);
  462. break;
  463. case 30: // 榷阂苞 檬.
  464. // 滴锅掳临.
  465. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d 郴备%d/%d ", m_stItemInfo.stStdItem.bWeight, m_stItemInfo.nDura/1000, m_stItemInfo.nDuraMax/1000);
  466. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  467. break;
  468. case 31: // 阿辆弓澜矫府令.
  469. // 霉锅掳临.
  470. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d ", m_stItemInfo.stStdItem.bWeight);
  471. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  472. break;
  473. case 40: // 阿辆绊扁甸(绊扁耽绢府)
  474. // 滴锅掳临.
  475. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d 前龙%d/%d ", m_stItemInfo.stStdItem.bWeight, m_stItemInfo.nDura/1000, m_stItemInfo.nDuraMax/1000);
  476. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  477. break;
  478. case 42: // 阿辆距犁甸.
  479. // 滴锅掳临.
  480. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d 距犁 ", m_stItemInfo.stStdItem.bWeight);
  481. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  482. break;
  483. case 43: // 阿辆堡籍甸.
  484. // 滴锅掳临.
  485. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d 鉴档%d ", m_stItemInfo.stStdItem.bWeight, m_stItemInfo.nDura/1000);
  486. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  487. break;
  488. case 44: // 惑痢俊绰 绝绰 漂荐 酒捞袍.
  489. break;
  490. case 45: // 顶俊 冻绢龙锭 官差绰 扁瓷己 酒捞袍.
  491. break;
  492. case 46: // 扁瓷篮 绝绰 窜鉴酒捞袍.
  493. default:
  494. // 滴锅掳临.
  495. sprintf(&szLineBuf[1][strlen(szLineBuf[1])], " 公霸%d ", m_stItemInfo.stStdItem.bWeight);
  496. g_xMainWnd.PutsHan(NULL, nX, nY+nLineGap, RGB(250, 250, 250), RGB(0, 0, 0), szLineBuf[1]);
  497. break;
  498. }
  499. }
  500. break;
  501. }
  502. }
  503. }