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

模拟服务器

开发平台:

Visual C++

  1. /******************************************************************************************************************
  2.                                                                                                                    
  3. 葛碘疙:
  4. 累己磊:
  5. 累己老:
  6. [老磊][荐沥磊] : 荐沥 郴侩
  7.                                                                                                                    
  8. *******************************************************************************************************************/
  9. #include "StdAfx.h"
  10. /******************************************************************************************************************
  11. CSprite Class
  12. *******************************************************************************************************************/
  13. /******************************************************************************************************************
  14. 窃荐疙 : CSprite::CSprite()
  15. 累己磊 : 
  16. 累己老 : 
  17. 格利   : 
  18. 免仿   : 
  19. [老磊][荐沥磊] : 荐沥郴侩
  20. *******************************************************************************************************************/
  21. CSprite::CSprite()
  22. {
  23. InitSpriteInfo();
  24. }
  25. /******************************************************************************************************************
  26. 窃荐疙 : CSprite::~CSprite()
  27. 累己磊 : 
  28. 累己老 : 
  29. 格利   : 
  30. 免仿   : 
  31. [老磊][荐沥磊] : 荐沥郴侩
  32. *******************************************************************************************************************/
  33. CSprite::~CSprite()
  34. {
  35. DeleteSpriteInfo();
  36. }
  37. /******************************************************************************************************************
  38. 窃荐疙 : CSprite::InitSpriteInfo()
  39. 累己磊 : 
  40. 累己老 : 
  41. 格利   : 
  42. 免仿   : VOID 
  43. [老磊][荐沥磊] : 荐沥郴侩
  44. *******************************************************************************************************************/
  45. VOID CSprite::InitSpriteInfo()
  46. {
  47. ZeroMemory(m_stHeroSpr, sizeof(SPRFRMDEF)*_MAX_HERO_MTN);
  48. ZeroMemory(m_stMonSpr, sizeof(SPRFRMDEF)*_MAX_MON_MTN);
  49. ZeroMemory(m_stNPCSpr, sizeof(SPRFRMDEF)*_MAX_NPC_MTN);
  50. ZeroMemory(m_stEffectSpr, sizeof(EFFECTSPRINFO)*_MAX_EFFECT);
  51. ZeroMemory(m_stMagicSpr, sizeof(EFFECTSPRINFO)*_MAX_MAGIC);
  52. ZeroMemory(m_stExplosionSpr,sizeof(EFFECTSPRINFO)*_MAX_EXPLOSION);
  53. }
  54. /******************************************************************************************************************
  55. 窃荐疙 : CSprite::DeleteSpriteInfo()
  56. 累己磊 : 
  57. 累己老 : 
  58. 格利   : 
  59. 免仿   : VOID 
  60. [老磊][荐沥磊] : 荐沥郴侩
  61. *******************************************************************************************************************/
  62. VOID CSprite::DeleteSpriteInfo()
  63. {
  64. InitSpriteInfo();
  65. }
  66.  
  67. /******************************************************************************************************************
  68. 窃荐疙 : CSprite::SetEffectInfo()
  69. 累己磊 : 
  70. 累己老 : 
  71. 格利   : 
  72. 涝仿   : LPEFFECTSPRINFO pstEffect
  73.          DWORD dwFstFrm
  74.          DWORD dwEndFrm
  75.          WORD wDelay
  76.          WORD wImgIdx
  77.          WORD wEffectIdx
  78.          BYTE bSLightRadius
  79.          BYTE bLLightRadius
  80.          BYTE bSLightRColor
  81.          BYTE bSLightGColor
  82.          BYTE bSLightBColor
  83.          BYTE bLLightRColor
  84.          BYTE bLLightGColor
  85.          BYTE bLLightBColor
  86.          BYTE bBlendType
  87.          BYTE bOpa
  88.          BYTE bSwingCnt
  89. 免仿   : VOID 
  90. [老磊][荐沥磊] : 荐沥郴侩
  91. *******************************************************************************************************************/
  92. VOID CSprite::SetEffectInfo(LPEFFECTSPRINFO pstEffect, DWORD dwFstFrm, DWORD dwEndFrm, WORD wDelay, WORD wImgIdx, WORD wEffectIdx,
  93.    BYTE bSLightRadius, BYTE bLLightRadius, 
  94.    BYTE bSLightRColor, BYTE bSLightGColor, BYTE bSLightBColor,
  95.    BYTE bLLightRColor, BYTE bLLightGColor, BYTE bLLightBColor, 
  96.    BYTE bMagicRColor, BYTE bMagicGColor, BYTE bMagicBColor, 
  97.    BYTE bBlendType, BYTE bOpa, BYTE bSwingCnt)
  98. {
  99. pstEffect->dwFstFrm = dwFstFrm;
  100. pstEffect->dwEndFrm = dwEndFrm;
  101. pstEffect->wDelay = wDelay;
  102. pstEffect->wImgIdx  = wImgIdx;
  103. pstEffect->wEffectIdx = wEffectIdx;
  104. pstEffect->bLightRadius[0] = bSLightRadius;
  105. pstEffect->bLightRadius[1] = bLLightRadius;
  106. pstEffect->bLightColor[0][0] = bSLightRColor;
  107. pstEffect->bLightColor[0][1] = bSLightGColor;
  108. pstEffect->bLightColor[0][2] = bSLightBColor;
  109. pstEffect->bLightColor[1][0] = bLLightRColor;
  110. pstEffect->bLightColor[1][1] = bLLightGColor;
  111. pstEffect->bLightColor[1][2] = bLLightBColor;
  112. pstEffect->bMagicColor[0] = bMagicRColor;
  113. pstEffect->bMagicColor[1] = bMagicGColor;
  114. pstEffect->bMagicColor[2] = bMagicBColor;
  115. pstEffect->bBlendType = bBlendType;
  116. pstEffect->bOpa = bOpa;
  117. pstEffect->bSwingCnt = bSwingCnt;
  118. }
  119. /******************************************************************************************************************
  120. 窃荐疙 : CSprite::GetEffectInfo()
  121. 累己磊 : 
  122. 累己老 : 
  123. 格利   : 
  124. 涝仿   : WORD wEffectNum
  125. 免仿   : LPEFFECTSPRINFO 
  126. [老磊][荐沥磊] : 荐沥郴侩
  127. *******************************************************************************************************************/
  128. LPEFFECTSPRINFO CSprite::GetEffectInfo(WORD wEffectNum)
  129. {
  130. LPEFFECTSPRINFO pstEffect = NULL;
  131. for ( INT nCnt = 0; nCnt < _MAX_EFFECT; nCnt++ )
  132. {
  133. if ( wEffectNum == m_stEffectSpr[nCnt].wEffectIdx )
  134. {
  135. pstEffect = &m_stEffectSpr[nCnt];
  136. break;
  137. }
  138. }
  139. return pstEffect;
  140. }
  141. /******************************************************************************************************************
  142. 窃荐疙 : CSprite::GetExplosionInfo()
  143. 累己磊 : 
  144. 累己老 : 
  145. 格利   : 
  146. 涝仿   : WORD wEffectNum
  147. 免仿   : LPEFFECTSPRINFO 
  148. [老磊][荐沥磊] : 荐沥郴侩
  149. *******************************************************************************************************************/
  150. LPEFFECTSPRINFO CSprite::GetExplosionInfo(WORD wEffectNum)
  151. {
  152. LPEFFECTSPRINFO pstEffect = NULL;
  153. for ( INT nCnt = 0; nCnt < _MAX_EXPLOSION; nCnt++ )
  154. {
  155. if ( wEffectNum == m_stExplosionSpr[nCnt].wEffectIdx )
  156. {
  157. pstEffect = &m_stExplosionSpr[nCnt];
  158. break;
  159. }
  160. }
  161. return pstEffect;
  162. }
  163. /******************************************************************************************************************
  164. 窃荐疙 : CSprite::GetMagicInfo()
  165. 累己磊 : 
  166. 累己老 : 
  167. 格利   : 
  168. 涝仿   : WORD wEffectNum
  169. 免仿   : LPEFFECTSPRINFO 
  170. [老磊][荐沥磊] : 荐沥郴侩
  171. *******************************************************************************************************************/
  172. LPEFFECTSPRINFO CSprite::GetMagicInfo(WORD wEffectNum)
  173. {
  174. LPEFFECTSPRINFO pstEffect = NULL;
  175. for ( INT nCnt = 0; nCnt < _MAX_MAGIC; nCnt++ )
  176. {
  177. if ( wEffectNum == m_stMagicSpr[nCnt].wEffectIdx )
  178. {
  179. pstEffect = &m_stMagicSpr[nCnt];
  180. break;
  181. }
  182. }
  183. return pstEffect;
  184. }
  185. /******************************************************************************************************************
  186. 窃荐疙 : CSprite::SetSprDfn()
  187. 累己磊 : 
  188. 累己老 : 
  189. 格利   : 
  190. 涝仿   : LPSPRFRMDEF pstSprDfn
  191.          WORD wFstFrm
  192.          WORD wFrmCnt
  193.          WORD wDelay
  194. 免仿   : VOID 
  195. [老磊][荐沥磊] : 荐沥郴侩
  196. *******************************************************************************************************************/
  197. VOID CSprite::SetSprDfn(LPSPRFRMDEF pstSprDfn, WORD wFstFrm, WORD wFrmCnt, WORD wDelay)
  198. {
  199. pstSprDfn->wFstFrm = wFstFrm;
  200. pstSprDfn->wFrmCnt = wFrmCnt;
  201. pstSprDfn->wDelay = wDelay;
  202. }
  203. /******************************************************************************************************************
  204. 窃荐疙 : CSprite::SetInfo()
  205. 累己磊 : 
  206. 累己老 : 
  207. 格利   : 
  208. 免仿   : VOID 
  209. [老磊][荐沥磊] : 荐沥郴侩
  210. *******************************************************************************************************************/
  211. VOID CSprite::SetInfo()
  212. {
  213. SetWeaponOrder("weapon.ord");
  214. //~~~ Hero 胶橇扼捞飘 汲沥. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  215. SetSprDfn(&m_stHeroSpr[0],     0,  4, 200); // _MT_STAND
  216. SetSprDfn(&m_stHeroSpr[1],    80,  6, 100); // _MT_ARROWATTACK
  217. SetSprDfn(&m_stHeroSpr[2],   160,  5,  80); // _MT_SPELL1
  218. SetSprDfn(&m_stHeroSpr[3],   240,  5,  80); // _MT_SPELL2
  219. SetSprDfn(&m_stHeroSpr[4],   320,  1, 100); // _MT_HOLD
  220. SetSprDfn(&m_stHeroSpr[5],   400,  1, 100); // _MT_PUSHBACK
  221. SetSprDfn(&m_stHeroSpr[6],   480,  1, 100); // _MT_PUSHBACKFLY
  222. SetSprDfn(&m_stHeroSpr[7],   560,  3, 200); // _MT_ATTACKMODE
  223. SetSprDfn(&m_stHeroSpr[8],   640,  2, 300); // _MT_CUT
  224. SetSprDfn(&m_stHeroSpr[9],   720,  6,  85); // _MT_ONEVSWING
  225. SetSprDfn(&m_stHeroSpr[10],  800,  6,  85); // _MT_TWOVSWING
  226. SetSprDfn(&m_stHeroSpr[11],  880,  6,  85); // _MT_ONEHSWING
  227. SetSprDfn(&m_stHeroSpr[12],  960,  6,  85); // _MT_TWOHSWING
  228. SetSprDfn(&m_stHeroSpr[13], 1040,  6,  85); // _MT_SPEARVSWING
  229. SetSprDfn(&m_stHeroSpr[14], 1120,  6,  85); // _MT_SPEARHSWING
  230. SetSprDfn(&m_stHeroSpr[15], 1200,  3, 100); // _MT_HITTED
  231. SetSprDfn(&m_stHeroSpr[16], 1280, 10,  70); // _MT_WHEELWIND
  232. SetSprDfn(&m_stHeroSpr[17], 1360, 10,  90); // _MT_RANDSWING
  233. SetSprDfn(&m_stHeroSpr[18], 1440, 10, 100); // _MT_BACKDROPKICK
  234. SetSprDfn(&m_stHeroSpr[19], 1520, 10, 120); // _MT_DIE
  235. SetSprDfn(&m_stHeroSpr[20], 1600, 10, 100); // _MT_SPECIALDIE
  236. SetSprDfn(&m_stHeroSpr[21], 1680,  6,  90); // _MT_WALK
  237. SetSprDfn(&m_stHeroSpr[22], 1760,  6, 120); // _MT_RUN
  238. SetSprDfn(&m_stHeroSpr[23], 1840,  6, 100); // _MT_MOODEPO
  239. SetSprDfn(&m_stHeroSpr[24], 1920, 10, 100); // _MT_ROLL
  240. SetSprDfn(&m_stHeroSpr[25], 2000,  4, 180); // _MT_FISHSTAND
  241. SetSprDfn(&m_stHeroSpr[26], 2080,  3, 180); // _MT_FISHHAND
  242. SetSprDfn(&m_stHeroSpr[27], 2160,  8, 180); // _MT_FISHTHROW
  243. SetSprDfn(&m_stHeroSpr[28], 2240,  8, 180); // _MT_FISHPULL
  244. SetSprDfn(&m_stHeroSpr[29], 2320,  4, 200); // _MT_HORSESTAND
  245. SetSprDfn(&m_stHeroSpr[30], 2400,  6, 100); // _MT_HORSEWALK
  246. SetSprDfn(&m_stHeroSpr[31], 2480,  6, 100); // _MT_HORSERUN
  247. SetSprDfn(&m_stHeroSpr[32], 2560,  3, 100); // _MT_HORSEHIT
  248. //~~~ Monster 胶橇扼捞飘 汲沥. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  249. SetSprDfn(&m_stMonSpr[0],     0,  4, 300); // 蜡绒悼累.
  250. SetSprDfn(&m_stMonSpr[1],    80,  6, 130); // 叭扁悼累.
  251. SetSprDfn(&m_stMonSpr[2],   160,  6, 120); // 老馆傍拜悼累.
  252. SetSprDfn(&m_stMonSpr[3],   240,  2, 300); // 嘎扁悼累.
  253. SetSprDfn(&m_stMonSpr[4],   320, 10, 150); // 磷扁悼累.
  254. SetSprDfn(&m_stMonSpr[5],   400,  6, 150); // 漂荐傍拜悼累1.
  255. SetSprDfn(&m_stMonSpr[6],   480, 10, 150); // 漂荐傍拜悼累2.
  256. SetSprDfn(&m_stMonSpr[7],   560, 10, 150); // 荤扼瘤扁悼累.
  257. SetSprDfn(&m_stMonSpr[8],   640,  6, 150); // 漂荐悼累.
  258. //~~~ NPC 胶橇扼捞飘 汲沥. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259. SetSprDfn(&m_stNPCSpr[0],     0,  4, 300); // 蜡绒悼累.
  260. SetSprDfn(&m_stNPCSpr[1],    30, 10, 300); // 漂荐悼累1.
  261. SetSprDfn(&m_stNPCSpr[2],    60,  6, 300); // 漂荐悼累2.
  262. //~~~ Effect Frame Define. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  263. SetEffectInfo(&m_stEffectSpr[0],   230,  236, 100, _IMAGE_MAGIC,       _SKILL_BANWOL, 3, 4, 100, 100, 100, 100, 100, 170); // 馆岿傍拜 12矫.
  264. SetEffectInfo(&m_stEffectSpr[1],    60,   70, 100, _IMAGE_MAGIC,    _SKILL_AMYOUNSUL, 3, 4, 100, 100, 100, 100, 160, 100, 255, 255, 255, _BLEND_NORMAL); // 鞠楷贱 矫傈.
  265. SetEffectInfo(&m_stEffectSpr[2],    90,   98, 100, _IMAGE_MAGIC,     _SKILL_FIREWIND, 3, 4, 100, 100, 100, 100, 140, 180); // 拳堪浅.
  266. SetEffectInfo(&m_stEffectSpr[3],  1820, 1828, 100, _IMAGE_MAGIC,         _SKILL_FIRE, 3, 4, 100, 100, 100, 100, 140, 180); // 堪荤厘 矫傈.
  267. SetEffectInfo(&m_stEffectSpr[4],     0,    9, 100, _IMAGE_MAGIC,      _SKILL_TAMMING, 3, 4, 100, 100, 100, 170, 100, 100); // 汾去拜矫傈.
  268. SetEffectInfo(&m_stEffectSpr[5],   110,  129, 100, _IMAGE_MAGIC,    _SKILL_SPACEMOVE, 3, 4, 100, 100, 100, 170, 100, 100); // 酒傍青过.
  269. SetEffectInfo(&m_stEffectSpr[6],   130,  140, 100, _IMAGE_MAGIC,   _SKILL_KILLUNDEAD, 3, 4, 100, 100, 100, 170, 100, 100); // 荤磊辣雀矫傈.
  270. SetEffectInfo(&m_stEffectSpr[7],  1820, 1828, 100, _IMAGE_MAGIC,     _SKILL_FIREBALL, 3, 4, 100, 100, 100, 100, 140, 180); // 拳堪厘.
  271. SetEffectInfo(&m_stEffectSpr[8],   600,  610, 100, _IMAGE_MAGIC,     _SKILL_HEALLING, 3, 4, 100, 100, 100, 140, 100, 120); // 雀汗贱.
  272. SetEffectInfo(&m_stEffectSpr[9],   630,  640, 100, _IMAGE_MAGIC,   _SKILL_HOLYSHIELD, 3, 4, 100, 100, 100, 170, 100, 100); // 搬拌.
  273. SetEffectInfo(&m_stEffectSpr[10],  660,  670, 100, _IMAGE_MAGIC,  _SKILL_BIGHEALLING, 3, 4, 100, 100, 100, 140, 100, 120); // 措雀汗.
  274. // SetEffectInfo(&m_stEffectSpr[11],  690,  704, 100, _IMAGE_MAGIC,  _SKILL_LIGHTFLOWER, 3, 4, 100, 100, 100, 170, 100, 100); // 汾汲拳.
  275. SetEffectInfo(&m_stEffectSpr[11],  690,  704, 100, _IMAGE_MAGIC,  _SKILL_LIGHTFLOWER, 3, 4, 150, 100,  50, 150, 100,  50); // 汾汲拳.
  276. SetEffectInfo(&m_stEffectSpr[12], 1970, 1978,  80, _IMAGE_MAGIC, _SKILL_SHOOTLIGHTEN, 3, 4, 100, 100, 100, 170, 100, 100); // 汾牢厘.
  277. SetEffectInfo(&m_stEffectSpr[13],  740,  750, 100, _IMAGE_MAGIC,    _SKILL_SKELLETON, 3, 4, 100, 100, 100, 120, 100, 120); // 归榜家券贱.
  278. SetEffectInfo(&m_stEffectSpr[14],  770,  780, 100, _IMAGE_MAGIC,     _SKILL_SNOWWIND, 3, 4, 100, 100, 100, 170, 100, 100); // 葫汲浅.
  279. SetEffectInfo(&m_stEffectSpr[15],  870,  890, 100, _IMAGE_MAGIC,       _SKILL_SHOWHP, 3, 4, 100, 100, 100, 100, 100, 170); // 沤扁颇楷.
  280. SetEffectInfo(&m_stEffectSpr[16],  910,  920, 100, _IMAGE_MAGIC,    _SKILL_EARTHFIRE, 3, 4, 100, 100, 100, 100, 140, 180); // 瘤堪贱.
  281. SetEffectInfo(&m_stEffectSpr[17],  940,  950, 100, _IMAGE_MAGIC,     _SKILL_FIREBOOM, 3, 4, 100, 100, 100, 100, 140, 180); // 气凯颇.
  282. SetEffectInfo(&m_stEffectSpr[18], 1560, 1569, 100, _IMAGE_MAGIC,    _SKILL_FIREBALL2, 3, 4, 100, 100, 100, 100, 140, 180); // 陛碍拳堪厘.
  283. SetEffectInfo(&m_stEffectSpr[19],  320,  326, 100, _IMAGE_MAGIC,        _SKILL_ERGUM, 3, 4, 100, 100, 100, 100, 100, 170); // 绢八贱.
  284. SetEffectInfo(&m_stEffectSpr[20], 1350, 1356, 100, _IMAGE_MAGIC,         _SKILL_YEDO, 3, 4, 100, 100, 100, 100, 100, 170); // 抗档八过.
  285. SetEffectInfo(&m_stEffectSpr[21], 1470, 1476, 100, _IMAGE_MAGIC,    _SKILL_FIRESWORD, 3, 4, 100, 100, 100, 100, 140, 180); // 堪拳搬.
  286. SetEffectInfo(&m_stEffectSpr[22], 1430, 1445, 100, _IMAGE_MAGIC,   _SKILL_LIGHTENING, 3, 4, 100, 100, 100, 170, 100, 100); // 碍拜.
  287. SetEffectInfo(&m_stEffectSpr[23],  810,  820, 100, _IMAGE_MAGIC,        _SKILL_CLOAK, 3, 4, 150, 150, 150, 200, 150, 180); // 篮脚.
  288. SetEffectInfo(&m_stEffectSpr[24], 2080, 2086, 100, _IMAGE_MAGIC, _SKILL_HANGMAJINBUB, 3, 4, 150, 100,  50, 200, 150, 100); // 亲付柳过.
  289. SetEffectInfo(&m_stEffectSpr[25], 2080, 2086, 100, _IMAGE_MAGIC,    _SKILL_DEJIWONHO, 3, 4, 150, 180, 200, 180, 200, 220); // 措瘤盔龋.
  290. SetEffectInfo(&m_stEffectSpr[26], 2080, 2086, 100, _IMAGE_MAGIC,    _SKILL_FIRECHARM, 3, 4, 100, 150, 200, 150, 200, 250); // 气混拌.
  291. SetEffectInfo(&m_stEffectSpr[27], 2080, 2086, 100, _IMAGE_MAGIC,     _SKILL_BIGCLOAK, 3, 4, 150, 150, 150, 200, 150, 180); // 措篮脚.
  292. SetEffectInfo(&m_stEffectSpr[28], 2180, 2190, 100, _IMAGE_MAGIC,     _SKILL_JUMPSHOT, 3, 4, 150, 150, 150, 200, 150, 180); // 痢橇鸡.
  293. SetEffectInfo(&m_stEffectSpr[29], 2270, 2280, 100, _IMAGE_MAGIC,    _SKILL_RANDSWING, 3, 4, 150, 150, 150, 200, 150, 180); // 罚待胶喇.
  294. SetEffectInfo(&m_stEffectSpr[30], 2080, 2086, 100, _IMAGE_MAGIC, _SKILL_SINSU, 3, 4, 150, 150, 150, 200, 150, 180, 255, 255, 255, _BLEND_NORMAL, 255); // 脚荐家券.
  295. SetEffectInfo(&m_stEffectSpr[31], 1680, 1686, 100, _IMAGE_MONMAGIC, _MONMAGIC_NUMAGUMGI, 3, 4, 150, 150, 150, 200, 150, 180, 255, 255, 255, _BLEND_NORMAL, 255);// 穿付空 八扁.
  296. SetEffectInfo(&m_stEffectSpr[32], 830, 839, 100, _IMAGE_MAGIC, _SKILL_SHIELD, 3, 4, 100, 100, 100, 170, 100, 100); // 林贱狼阜.
  297. //~~~ Monster Effect Frame Define. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  298. //~~~ Magic Frame Define. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  299. SetEffectInfo(&m_stMagicSpr[0],    70,   88, 100, _IMAGE_MAGIC,    _SKILL_AMYOUNSUL, 3, 4, 190, 220, 190, 190, 240, 190, 255, 255, 255, _BLEND_NORMAL); // 鞠楷贱.
  300. SetEffectInfo(&m_stMagicSpr[1],  1900, 1960,  50, _IMAGE_MAGIC,         _SKILL_FIRE, 3, 4,  70,  90, 110,  90, 120, 150); // 堪荤厘.
  301. SetEffectInfo(&m_stMagicSpr[2],    10,   30,  50, _IMAGE_MAGIC,      _SKILL_TAMMING, 3, 4, 200, 100, 100, 250, 150, 150); // 汾去拜.
  302. SetEffectInfo(&m_stMagicSpr[3],   140,  159,  50, _IMAGE_MAGIC,   _SKILL_KILLUNDEAD, 3, 4, 200, 100, 100, 100,  75,  50); // 荤磊辣雀.
  303. SetEffectInfo(&m_stMagicSpr[4],   420,  425,  20, _IMAGE_MAGIC,     _SKILL_FIREBALL, 2, 3, 100, 150, 200, 150, 200, 250); // 拳堪厘.
  304. SetEffectInfo(&m_stMagicSpr[5],   610,  620, 100, _IMAGE_MAGIC,     _SKILL_HEALLING, 3, 4, 200, 140, 170, 230, 170, 200); // 雀汗贱.
  305. SetEffectInfo(&m_stMagicSpr[6],   640,  650, 100, _IMAGE_MAGIC,   _SKILL_HOLYSHIELD, 3, 4, 120,  60,  60, 150,  80,  80); // 搬拌.
  306. SetEffectInfo(&m_stMagicSpr[7],   670,  680,  50, _IMAGE_MAGIC,  _SKILL_BIGHEALLING, 4, 5, 200, 140, 170, 230, 170, 200);//200, 100, 100, 250, 150, 150); // 措雀汗.
  307. SetEffectInfo(&m_stMagicSpr[8],  2050, 2056,  80, _IMAGE_MAGIC, _SKILL_SHOOTLIGHTEN, 2, 3, 150, 100, 100, 200, 150, 150); // 汾牢厘.
  308. SetEffectInfo(&m_stMagicSpr[9],   750,  760, 155, _IMAGE_MAGIC,    _SKILL_SKELLETON, 3, 4, 150, 150, 150, 200, 150, 180); // 归榜家券贱.
  309. SetEffectInfo(&m_stMagicSpr[10],  780,  800, 100, _IMAGE_MAGIC,     _SKILL_SNOWWIND, 5, 6, 255, 123,   0, 255, 123,   0, 255, 255, 255, _BLEND_LIGHTINV, 0, 1); // 葫汲浅.
  310. // SetEffectInfo(&m_stMagicSpr[10],  780,  800, 100, _IMAGE_MAGIC,     _SKILL_SNOWWIND, 4, 5, 220, 150, 150, 250, 170, 170); // 葫汲浅.
  311. SetEffectInfo(&m_stMagicSpr[11],  840,  850, 100, _IMAGE_MAGIC,       _SKILL_SHIELD, 3, 4, 100, 100, 100, 100, 140, 180); // 林贱狼阜.
  312. SetEffectInfo(&m_stMagicSpr[12],  890,  900, 100, _IMAGE_MAGIC,       _SKILL_SHOWHP, 3, 4,  75,  75,  75, 100,  75,  50); // 沤扁颇楷.
  313. SetEffectInfo(&m_stMagicSpr[13],  920,  930, 120, _IMAGE_MAGIC,    _SKILL_EARTHFIRE, 4, 5,  40,  60,  80,  60,  80, 100); // 瘤堪贱.
  314. SetEffectInfo(&m_stMagicSpr[14],  980,  983, 100, _IMAGE_MAGIC,    _SKILL_FIRECHARM, 2, 3, 100, 150, 200, 150, 200, 250, 255, 255, 255, _BLEND_NORMAL, 255); // 气混拌.
  315. SetEffectInfo(&m_stMagicSpr[15],  980,  983, 100, _IMAGE_MAGIC, _SKILL_HANGMAJINBUB, 2, 3, 150, 100,  50, 200, 150, 100, 255, 255, 255, _BLEND_NORMAL, 255); // 亲付柳过.
  316. SetEffectInfo(&m_stMagicSpr[16],  980,  983, 100, _IMAGE_MAGIC,    _SKILL_DEJIWONHO, 2, 3, 150, 180, 200, 180, 200, 220, 255, 255, 255, _BLEND_NORMAL, 255); // 措瘤盔龋.
  317. SetEffectInfo(&m_stMagicSpr[17],  950,  970, 100, _IMAGE_MAGIC,     _SKILL_FIREBOOM, 5, 6, 100, 150, 200, 150, 200, 250); // 气凯颇.
  318. SetEffectInfo(&m_stMagicSpr[18], 1640, 1646,  20, _IMAGE_MAGIC,    _SKILL_FIREBALL2, 2, 3, 100, 150, 200, 150, 200, 250); // 陛碍拳堪厘.
  319. // SetEffectInfo(&m_stMagicSpr[19], 1450, 1455, 100, _IMAGE_MAGIC,   _SKILL_LIGHTENING, 5, 6, 250, 150, 150, 255, 200, 200); // 碍拜.
  320. SetEffectInfo(&m_stMagicSpr[19], 1450, 1455, 100, _IMAGE_MAGIC,   _SKILL_LIGHTENING, 20, 21, 255, 125, 50, 255, 255, 255); // 碍拜.
  321. SetEffectInfo(&m_stMagicSpr[20],  980,  983, 100, _IMAGE_MAGIC,     _SKILL_BIGCLOAK, 2, 3, 150, 150, 150, 200, 150, 180); // 措篮脚.
  322. SetEffectInfo(&m_stMagicSpr[21],  110,  129,  60, _IMAGE_MAGIC,   _SKILL_SPACEMOVE2, 3, 4, 100, 100, 100, 100, 100, 100); // 酒傍青过2.
  323. SetEffectInfo(&m_stMagicSpr[22],  110,  129, 100, _IMAGE_MAGIC,   _SKILL_SPACEMOVE3, 3, 4, 100, 100, 100, 100, 100, 100); // 酒傍青过3.
  324. //~~~ Monster Magic Frame Define. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  325. SetEffectInfo(&m_stMagicSpr[23],    0,    4, 100, _IMAGE_MONMAGIC,    _MONMAGIC_KEPAL, 2, 3, 100, 100, 100, 150, 150, 150);
  326. SetEffectInfo(&m_stMagicSpr[24],  300,  320, 100, _IMAGE_MONMAGIC,  _MONMAGIC_EXPLODE, 2, 3, 100, 100,  50, 150, 150,  75);
  327. SetEffectInfo(&m_stMagicSpr[25],   20,   30, 100, _IMAGE_MONMAGIC,   _MONMAGIC_BLACK1, 2, 3, 100, 100, 100, 150, 150, 150);
  328. SetEffectInfo(&m_stMagicSpr[26],   40,   50, 100, _IMAGE_MONMAGIC,   _MONMAGIC_BLACK2, 2, 3, 100, 100, 100, 150, 150, 150);
  329. SetEffectInfo(&m_stMagicSpr[27],   80,   86, 100, _IMAGE_MONMAGIC,  _MONMAGIC_ANTHEAL, 2, 3, 100, 100, 100, 150, 150, 150);
  330. SetEffectInfo(&m_stMagicSpr[28],  200,  208, 100, _IMAGE_MONMAGIC, _MONMAGIC_GREATANT, 2, 3, 100, 100, 100, 150, 150, 150);
  331. SetEffectInfo(&m_stMagicSpr[29],  280,  289, 100, _IMAGE_MONMAGIC,    _MONMAGIC_RED1, 2, 3, 100, 100, 100, 150, 150, 150);
  332. SetEffectInfo(&m_stMagicSpr[30],   40,   50, 100, _IMAGE_MONMAGIC,     _MONMAGIC_RED2, 2, 3, 100, 100, 100, 150, 150, 150);
  333. SetEffectInfo(&m_stMagicSpr[31],  220,  227, 100, _IMAGE_MONMAGIC,      _MONMAGIC_ANT, 2, 3, 100, 100, 100, 150, 150, 150);
  334. SetEffectInfo(&m_stMagicSpr[32],  240,  246, 100, _IMAGE_MONMAGIC,  _MONMAGIC_WORKANT, 2, 3, 100, 100, 100, 150, 150, 150);
  335. SetEffectInfo(&m_stMagicSpr[33],  440,  446, 100, _IMAGE_MONMAGIC, _MONMAGIC_COWGHOST, 2, 3, 100, 100, 100, 150, 150, 150); // 快搁蓖空.
  336. SetEffectInfo(&m_stMagicSpr[34],  980,  986, 100, _IMAGE_MONMAGIC,    _MONMAGIC_SINSU, 2, 3, 100, 100, 100, 150, 150, 150); // 脚荐.
  337. SetEffectInfo(&m_stMagicSpr[35],  600,  606, 100, _IMAGE_MONMAGIC,   _MONMAGIC_ZOMBIE, 2, 3, 100, 100, 100, 150, 150, 150); // 粱厚.
  338. SetEffectInfo(&m_stMagicSpr[36],  720,  728, 100, _IMAGE_MONMAGIC, _MONMAGIC_JUMAWANG, 2, 3, 100, 100, 100, 150, 150, 150); // 林付空.
  339. SetEffectInfo(&m_stMagicSpr[37], 1240, 1241, 100, _IMAGE_MONMAGIC,         _MONMAGIC_CHIM, 2, 3, 100, 100, 100, 150, 150, 150, 255, 255, 255, _BLEND_NORMAL, 255); // 促农魔.
  340. SetEffectInfo(&m_stMagicSpr[38], 1400, 1401, 100, _IMAGE_MONMAGIC,        _MONMAGIC_ARROW, 2, 3, 100, 100, 100, 150, 150, 150, 255, 255, 255, _BLEND_NORMAL, 255); // 泵荐版厚拳混.
  341. SetEffectInfo(&m_stMagicSpr[39], 1070, 1071, 100, _IMAGE_MONMAGIC,      _MONMAGIC_MAARROW, 2, 3, 100, 100, 100, 150, 150, 150, 255, 255, 255, _BLEND_NORMAL, 255); // 付泵荤拳混.
  342. SetEffectInfo(&m_stMagicSpr[40],  800,  806, 100, _IMAGE_MONMAGIC,      _MONMAGIC_DUALAXE, 2, 3, 100, 100, 100, 150, 150, 150, 255, 255, 255, _BLEND_NORMAL, 255); // 街档尝秦榜带瘤扁.
  343. SetEffectInfo(&m_stMagicSpr[41],  520,  527, 100, _IMAGE_MONMAGIC,     _MONMAGIC_COWFLAME, 2, 3, 100, 100, 100, 150, 150, 150); // 拳堪快搁蓖.
  344. SetEffectInfo(&m_stMagicSpr[42],  360,  370, 100, _IMAGE_MONMAGIC,  _MONMAGIC_BIGGINE_ATT, 2, 3, 100, 100, 100, 150, 150, 150); // 盟锋脚 傍拜.
  345. SetEffectInfo(&m_stMagicSpr[43],  380,  400, 100, _IMAGE_MONMAGIC, _MONMAGIC_BIGGINE_CHAR, 2, 3, 100, 100, 100, 150, 150, 150); // 盟锋脚俊 傍拜寸窃.
  346. SetEffectInfo(&m_stMagicSpr[44],  320,  330,  70, _IMAGE_MONMAGIC,     _MONMAGIC_SANDFISH, 2, 3, 100, 100, 100, 150, 150, 150,  10,  10,  10, _BLEND_LIGHTINV, 0); // 荤绢傍拜.
  347. SetEffectInfo(&m_stMagicSpr[45],  260,  266, 100, _IMAGE_MONMAGIC,       _MONMAGIC_BAODIE, 2, 3, 100, 100, 100, 150, 150, 150); // 官焊崔靛磷澜.
  348. SetEffectInfo(&m_stMagicSpr[46],  880,  886, 150, _IMAGE_MONMAGIC,        _MONMAGIC_SSEGI, 2, 3, 100, 100, 100, 150, 150, 150, 255, 255, 255, _BLEND_LIGHTINV, 15); // 禁扁唱规鸥咀.
  349. SetEffectInfo(&m_stMagicSpr[47],   60,   70, 100, _IMAGE_MONMAGIC,    _MONMAGIC_SINGI_DIE, 2, 3, 100, 100, 100, 150, 150, 150); // 阁胶磐磷扁. 版癌渴扁荤, 全狼, 孺狼付过荤. // 规氢备喊篮 绝促.
  350. SetEffectInfo(&m_stMagicSpr[48],  680,  689, 100, _IMAGE_MONMAGIC,     _MONMAGIC_HUSU_DIE, 2, 3, 100, 100, 100, 150, 150, 150); // 倾荐酒厚磷扁.
  351. SetEffectInfo(&m_stMagicSpr[49],  700,  708, 100, _IMAGE_MONMAGIC,   _MONMAGIC_ZOMBIE_DIE, 2, 3, 100, 100, 100, 150, 150, 150); // 粱厚磷扁.
  352. SetEffectInfo(&m_stMagicSpr[50],  980,  983, 10, _IMAGE_MAGIC, _SKILL_SINSU, 3, 4, 150, 150, 150, 200, 150, 180, 255, 255, 255, _BLEND_NORMAL, 255); // 脚荐.
  353. SetEffectInfo(&m_stMagicSpr[51],  1770,  1790, 100, _IMAGE_MONMAGIC,  _MONMAGIC_EXPLODE1, 2, 3, 100, 100,  50, 150, 150,  75);
  354. //~~~ Explosion Frame Define. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  355. SetEffectInfo(&m_stExplosionSpr[0],  200,  220,  80, _IMAGE_MAGIC, _SKILL_HANGMAJINBUB, 4, 5, 200, 150,  60, 255, 170, 100, 255, 255, 255, _BLEND_LIGHTINV, 0, 1);// 亲付柳过.
  356. SetEffectInfo(&m_stExplosionSpr[1],  170,  190,  80, _IMAGE_MAGIC,    _SKILL_DEJIWONHO, 4, 5, 120, 170, 220, 160, 210, 255, 255, 255, 255, _BLEND_LIGHTINV, 0, 1);// 措瘤盔龋.
  357. SetEffectInfo(&m_stExplosionSpr[2],  580,  590, 100, _IMAGE_MAGIC,     _SKILL_FIREBALL, 2, 3, 120, 170, 220, 160, 210, 255); // 拳堪厘.
  358. SetEffectInfo(&m_stExplosionSpr[3], 1140, 1150, 100, _IMAGE_MAGIC,    _SKILL_FIRECHARM, 2, 3, 120, 170, 220, 160, 210, 255); // 气混拌.
  359. SetEffectInfo(&m_stExplosionSpr[4], 1800, 1810, 100, _IMAGE_MAGIC,    _SKILL_FIREBALL2, 2, 3, 120, 170, 220, 160, 210, 255); // 陛碍拳堪厘.
  360. SetEffectInfo(&m_stExplosionSpr[5],  820,  830, 100, _IMAGE_MAGIC,     _SKILL_BIGCLOAK, 4, 5, 200, 210, 190, 200, 150, 180); // 措篮脚.
  361. //~~~ Monster Explosion Frame Define. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  362. SetEffectInfo(&m_stExplosionSpr[6],  100,  110, 100, _IMAGE_MONMAGIC, _MONMAGIC_ANTHEAL, 2, 3, 100, 100, 100, 150, 150, 150); // 规氢备喊篮 绝促.
  363. SetEffectInfo(&m_stExplosionSpr[7], 2360, 2379, 100, _IMAGE_MAGIC, _SKILL_SINSU, 3, 4, 150, 150, 150, 200, 150, 180, 255, 255, 255, _BLEND_NORMAL, 255); // 脚荐.
  364. }
  365. VOID CSprite::SetMonFrameInfo(WORD wMonNum)
  366. {
  367. /* //~~~ Monster 胶橇扼捞飘 汲沥. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  368. SetSprDfn(&m_stMonSpr[0],    0,  4, 300); // 蜡绒悼累.
  369. SetSprDfn(&m_stMonSpr[1],   80,  6, 130); // 叭扁悼累.
  370. SetSprDfn(&m_stMonSpr[2],  160,  6, 120); // 老馆傍拜悼累1.
  371. SetSprDfn(&m_stMonSpr[3],  240,  2, 300); // 嘎扁悼累.
  372. SetSprDfn(&m_stMonSpr[4],  320, 10, 150); // 磷扁悼累.
  373. SetSprDfn(&m_stMonSpr[5],  400,  6, 150); // 老馆傍拜悼累2.
  374. SetSprDfn(&m_stMonSpr[6],  480, 10, 150); // 付过傍拜悼累1.
  375. SetSprDfn(&m_stMonSpr[7],  560, 10, 150); // 付过傍拜悼累2.
  376. SetSprDfn(&m_stMonSpr[8],  640,  6, 150); // 唱鸥唱扁, 荤扼瘤扁.
  377. SetSprDfn(&m_stMonSpr[9],  720,  6, 150); // 漂荐悼累1.
  378. */
  379. // 0. Monster Mtn -> 蜡绒悼累.
  380. switch ( wMonNum )
  381. {
  382. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  383. SetSprDfn(&m_stMonSpr[0],    0,  4, 300);
  384. default:
  385. SetSprDfn(&m_stMonSpr[0],    0,  4, 300);
  386. break;
  387. }
  388. // 1. Monster Mtn -> 叭扁悼累.
  389. SetSprDfn(&m_stMonSpr[1],    80,  6, 90);
  390. // 2. Monster Mtn -> 老馆傍拜悼累1.
  391. switch ( wMonNum )
  392. {
  393. case  0: case  1: case  2: case 12: case 99:
  394. SetSprDfn(&m_stMonSpr[2],  160,  6, 120); // 历颇, 具青蓖, 纳迫肺橇, 斑, 官坷崔靛.
  395. break;
  396. case 14: case 16: case 92:
  397. SetSprDfn(&m_stMonSpr[2],  160,  6, 140); // 捍侩俺固, 靛抄俺固, 促帮.
  398. break;
  399. case  3: case  5: case  6: case  7: case  8: case  9: case 15: case 19: case 93: case 96: case 97: case 98:
  400. SetSprDfn(&m_stMonSpr[2],  160,  6, 150); // 荤鲍, 官捻啊福唱, 官磊匡, 摹蜡俺固, 癌林俺固, 沸, 穿付空, 饭叼啊福唱, 单唱啊促内, 器风俺固, 浅归, 穿付空1.
  401. break;
  402. case  4: case 10: case 11: case 13: case 17: case 18: case 94:
  403. SetSprDfn(&m_stMonSpr[2],  160,  6, 170); // 籍厘牢, 葛叼怜, 葛叼怜1, 穿付过肺, 穿付厚厘, 穿付, 荤绢.
  404. break;
  405. default:
  406. SetSprDfn(&m_stMonSpr[2],  160,  6, 130);
  407. break;
  408. }
  409. // 3. Monster Mtn -> 嘎扁悼累.
  410. switch ( wMonNum )
  411. {
  412. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  413. SetSprDfn(&m_stMonSpr[3],  240,  2, 300);
  414. break;
  415. case  116: // 富.
  416. case  117:
  417. case  118:
  418. SetSprDfn(&m_stMonSpr[3],  240, 3, 160);
  419. default:
  420. SetSprDfn(&m_stMonSpr[3],  240,  2, 300);
  421. break;
  422. }
  423. // 4. Monster Mtn -> 磷扁悼累.
  424. switch ( wMonNum )
  425. {
  426. case  94: // 荤绢
  427. SetSprDfn(&m_stMonSpr[4],  320, 10, 160);
  428. break;
  429. case  30: // 苟内.
  430. SetSprDfn(&m_stMonSpr[4],  320, 4, 160);
  431. break;
  432. case  104: // 利岿付.
  433. SetSprDfn(&m_stMonSpr[4],  320, 20, 160);
  434. break;
  435. default:
  436. SetSprDfn(&m_stMonSpr[4],  320, 10, 165);
  437. break;
  438. }
  439. // 5. Monster Mtn -> 老馆傍拜悼累2.
  440. switch ( wMonNum )
  441. {
  442. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  443. SetSprDfn(&m_stMonSpr[5],  400,  6, 150);
  444. break;
  445. default:
  446. SetSprDfn(&m_stMonSpr[5],  400,  6, 150);
  447. break;
  448. }
  449. // 6. Monster Mtn -> 付过傍拜悼累1.
  450. switch ( wMonNum )
  451. {
  452. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  453. SetSprDfn(&m_stMonSpr[6],  480, 10, 150);
  454. break;
  455. default:
  456. SetSprDfn(&m_stMonSpr[6],  480, 10, 150);
  457. break;
  458. }
  459. // 7. Monster Mtn -> 付过傍拜悼累2.
  460. switch ( wMonNum )
  461. {
  462. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  463. SetSprDfn(&m_stMonSpr[7],  560, 10, 150);
  464. break;
  465. default:
  466. SetSprDfn(&m_stMonSpr[7],  560, 10, 150);
  467. break;
  468. }
  469. // 8. Monster Mtn -> 荤扼瘤扁, 唱鸥唱扁 悼累.
  470. switch ( wMonNum )
  471. {
  472. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  473. SetSprDfn(&m_stMonSpr[8],  640,  10, 150);
  474. break;
  475. case 83: // 林付脚厘.
  476. SetSprDfn(&m_stMonSpr[8],  640,  6, 150);
  477. break;
  478. case 84: // 林付龋过.
  479. SetSprDfn(&m_stMonSpr[8],  640,  6, 150);
  480. break;
  481. case 85: // 林付空.
  482. SetSprDfn(&m_stMonSpr[8],  640,  20, 150);
  483. break;
  484. default:
  485. SetSprDfn(&m_stMonSpr[8],  640,  10, 150);
  486. break;
  487. }
  488. // 9. Monster Mtn -> 漂荐悼累1.
  489. switch ( wMonNum )
  490. {
  491. case  0: case  1: case  2: case  3: case  4: case  5: case  6: case  7: case  8: case  9:
  492. SetSprDfn(&m_stMonSpr[9],  720,  6, 150);
  493. break;
  494. default:
  495. SetSprDfn(&m_stMonSpr[9],  720,  6, 150);
  496. break;
  497. }
  498. }
  499. BOOL CSprite::SetWeaponOrder(CHAR* szFileName)
  500. {
  501. HANDLE hFile;
  502. hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
  503. if ( hFile != INVALID_HANDLE_VALUE )
  504. {
  505. DWORD dwReadLen;
  506. ReadFile(hFile, &m_bWOrder, _MAX_HERO_REALFRAME, &dwReadLen, NULL);
  507. CloseHandle(hFile);
  508. return TRUE;
  509. }
  510. return FALSE;
  511. }