Guest User

Untitled

a guest
Dec 29th, 2015
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.91 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "char.h"
  3. TJobInitialPoints JobInitialPoints[JOB_MAX_NUM] =
  4. /*
  5. {
  6. int st, ht, dx, iq;
  7. int max_hp, max_sp;
  8. int hp_per_ht, sp_per_iq;
  9. int hp_per_lv_begin, hp_per_lv_end;
  10. int sp_per_lv_begin, sp_per_lv_end;
  11. int max_stamina;
  12. int stamina_per_con;
  13. int stamina_per_lv_begin, stamina_per_lv_end;
  14. }
  15. */
  16. {
  17. {6, 4, 3, 3, 600, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3}, // WARRIOR
  18. {4, 3, 6, 3, 650, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3}, // ASSASSIN
  19. {5, 3, 3, 5, 650, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3}, // SURA
  20. {3, 4, 3, 6, 700, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3}, // SHAMAN
  21. {6, 6, 2, 2, 600, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3}, // WOLF
  22. };
  23.  
  24. const TMobRankStat MobRankStats[MOB_RANK_MAX_NUM] =
  25. /*
  26. {
  27. int iGoldPercent;
  28. }
  29. */
  30. {
  31. { 20, }, // MOB_RANK_PAWN,
  32. { 20, }, // MOB_RANK_S_PAWN,
  33. { 25, }, // MOB_RANK_KNIGHT,
  34. { 30, }, // MOB_RANK_S_KNIGHT,
  35. { 50, }, // MOB_RANK_BOSS,
  36. { 100, } // MOB_RANK_KING,
  37. };
  38.  
  39. TBattleTypeStat BattleTypeStats[BATTLE_TYPE_MAX_NUM] =
  40. /*
  41. {
  42. int AttGradeBias;
  43. int DefGradeBias;
  44. int MagicAttGradeBias;
  45. int MagicDefGradeBias;
  46. }
  47. */
  48. {
  49. { 0, 0, 0, -10 }, // BATTLE_TYPE_MELEE,
  50. { 10, -20, -10, -15 }, // BATTLE_TYPE_RANGE,
  51. { -5, -5, 10, 10 }, // BATTLE_TYPE_MAGIC,
  52. { 0, 0, 0, 0 }, // BATTLE_TYPE_SPECIAL,
  53. { 10, -10, 0, -15 }, // BATTLE_TYPE_POWER,
  54. { -10, 10, -10, 0 }, // BATTLE_TYPE_TANKER,
  55. { 20, -20, 0, -10 }, // BATTLE_TYPE_SUPER_POWER,
  56. { -20, 20, -10, 0 }, // BATTLE_TYPE_SUPER_TANKER,
  57. };
  58.  
  59. const DWORD * exp_table = NULL;
  60.  
  61. const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1] =
  62. {
  63. 0, // 0
  64.  
  65. 100,
  66. 150,
  67. 260,
  68. 380,
  69. 600,
  70.  
  71. 1300,
  72. 3300,
  73. 5700,
  74. 8700,
  75. 12800, // 10
  76. 18000,
  77. 25000,
  78. 36000,
  79. 52000,
  80. 73000,
  81. 100000,
  82. 125000,
  83. 160000,
  84. 220000,
  85. 280000, // 20
  86. 370000,
  87. 540000,
  88. 670000,
  89. 880000,
  90. 1000000,
  91.  
  92. 1237000,
  93. 1418000,
  94. 1624000,
  95. 1857000,
  96. 2122000, // 30
  97. 2421000,
  98. 2761000,
  99. 3145000,
  100. 3580000,
  101. 4073000,
  102. 4632000,
  103. 5194000,
  104. 5717000,
  105. 6264000,
  106. 6837000, // 40
  107. 7600000,
  108. 8274000,
  109. 8990000,
  110. 9753000,
  111. 10560000,
  112. 11410000,
  113. 12320000,
  114. 13270000,
  115. 14280000,
  116. 15340000, // 50
  117. 16870000,
  118. 18960000,
  119. 19980000,
  120. 21420000,
  121. 22930000,
  122. 24530000,
  123. 26200000,
  124. 27960000,
  125. 29800000,
  126. 32780000, // 60
  127. 36060000,
  128. 39670000,
  129. 43640000,
  130. 48000000,
  131. 52800000,
  132. 58080000,
  133. 63890000,
  134. 70280000,
  135. 77310000,
  136. 85040000, // 70
  137. 93540000,
  138. 102900000,
  139. 113200000,
  140. 124500000,
  141. 137000000,
  142. 150700000,
  143. 165700000,
  144. 236990000,
  145. 260650000,
  146. 286780000, // 80
  147. 315380000,
  148. 346970000,
  149. 381680000,
  150. 419770000,
  151. 461760000,
  152. 508040000,
  153. 558740000,
  154. 614640000,
  155. 676130000,
  156. 743730000, // 90
  157. 1041222000,
  158. 1145344200,
  159. 1259878620,
  160. 1385866482,
  161. 1524453130,
  162. 1676898443,
  163. 1844588288,
  164. 2029047116,
  165. 2100000000, // 99 99·¹º§ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ)
  166. 2100000000, // 100
  167. 2100000000,
  168. 2100000000,
  169. 2100000000,
  170. 2100000000,
  171. 2100000000, // 105
  172. 2100000000,
  173. 2100000000,
  174. 2100000000,
  175. 2100000000,
  176. 2100000000, // 110
  177. 2100000000,
  178. 2100000000,
  179. 2100000000,
  180. 2100000000,
  181. 2100000000, // 115
  182. 2100000000,
  183. 2100000000,
  184. 2100000000,
  185. 2100000000,
  186. 2100000000, // 120
  187. };
  188.  
  189. const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =
  190. {
  191. 0, // 0
  192. 300, //500
  193. 800, //700
  194. 1500, //1000
  195. 2500,
  196. 4300,
  197. 7200,
  198. 11000,
  199. 17000,
  200. 24000,
  201. 33000, // 10
  202. 43000,
  203. 58000,
  204. 76000,
  205. 100000,
  206. 130000,
  207. 169000,
  208. 219000,
  209. 283000,
  210. 365000,
  211. 472000, // 20
  212. 610000,
  213. 705000,
  214. 813000,
  215. 937000,
  216. 1077000,
  217. 1237000,
  218. 1418000,
  219. 1624000,
  220. 1857000,
  221. 2122000, // 30
  222. 2421000,
  223. 2761000,
  224. 3145000,
  225. 3580000,
  226. 4073000,
  227. 4632000,
  228. 5194000,
  229. 5717000,
  230. 6264000,
  231. 6837000, // 40
  232. 7600000,
  233. 8274000,
  234. 8990000,
  235. 9753000,
  236. 10560000,
  237. 11410000,
  238. 12320000,
  239. 13270000,
  240. 14280000,
  241. 15340000, // 50
  242. 16870000,
  243. 18960000,
  244. 19980000,
  245. 21420000,
  246. 22930000,
  247. 24530000,
  248. 26200000,
  249. 27960000,
  250. 29800000,
  251. 32780000, // 60
  252. 36060000,
  253. 39670000,
  254. 43640000,
  255. 48000000,
  256. 52800000,
  257. 58080000,
  258. 63890000,
  259. 70280000,
  260. 77310000,
  261. 85040000, // 70
  262. 93540000,
  263. 102900000,
  264. 113200000,
  265. 124500000,
  266. 137000000,
  267. 150700000,
  268. 165700000,
  269. 236990000,
  270. 260650000,
  271. 286780000, // 80
  272. 315380000,
  273. 346970000,
  274. 381680000,
  275. 419770000,
  276. 461760000,
  277. 508040000,
  278. 558740000,
  279. 614640000,
  280. 676130000,
  281. 743730000, // 90
  282. 1041222000,
  283. 1145344200,
  284. 1259878620,
  285. 1385866482,
  286. 1524453130,
  287. 1676898443,
  288. 1844588288,
  289. 1929047116,
  290. 2000000000, // 99·¹º§ ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ)
  291. 2020000000, // 100
  292. 2040000000,
  293. 2060000000,
  294. 2080000000,
  295. 2090000000,
  296. 2100000000, // 105
  297. 2110000000,
  298. 2120000000,
  299. 2130000000,
  300. 2140000000,
  301. 2150000000, // 110
  302. 2160000000,
  303. 2170000000,
  304. 2180000000,
  305. 2190000000,
  306. 2200000000, // 115
  307. 2210000000,
  308. 2220000000,
  309. 2230000000,
  310. 2240000000,
  311. 2250000000, // 120
  312. 2251500000,
  313. 2253000000,
  314. 2254500000,
  315. 2256000000,
  316. 2257500000, // 125
  317. 2259000000,
  318. 2260500000,
  319. 2262000000,
  320. 2263500000,
  321. 2265000000, // 130
  322. 2266500000,
  323. 2268000000,
  324. 2269500000,
  325. 2271000000,
  326. 2272500000, // 135
  327. 2274000000,
  328. 2275500000,
  329. 2277000000,
  330. 2278500000,
  331. 2280000000, // 140
  332. 2281800000,
  333. 2283600000,
  334. 2285400000,
  335. 2287200000,
  336. 2289000000, // 145
  337. 2290800000,
  338. 2292600000,
  339. 2294400000,
  340. 2296200000,
  341. 2298000000, // 150
  342. 2299800000,
  343. 2301600000,
  344. 2303400000,
  345. 2305200000,
  346. 2307000000, // 155
  347. 2308800000,
  348. 2310600000,
  349. 2312400000,
  350. 2314200000,
  351. 2316000000, // 160
  352. 2317800000,
  353. 2319600000,
  354. 2321400000,
  355. 2323200000,
  356. 2325000000, // 165
  357. 2326800000,
  358. 2328600000,
  359. 2330400000,
  360. 2332200000,
  361. 2334000000, // 170
  362. 2335800000,
  363. 2337600000,
  364. 2339400000,
  365. 2341200000,
  366. 2343000000, // 175
  367. 2344800000,
  368. 2346600000,
  369. 2348400000,
  370. 2350200000,
  371. 2352000000, // 180
  372. 2353800000,
  373. 2355600000,
  374. 2357400000,
  375. 2359200000,
  376. 2361000000, // 185
  377. 2362800000,
  378. 2364600000,
  379. 2366400000,
  380. 2368200000,
  381. 2370000000, // 190
  382. 2371800000,
  383. 2373600000,
  384. 2375400000,
  385. 2377200000,
  386. 2379000000, // 195
  387. 2380800000,
  388. 2382600000,
  389. 2384400000,
  390. 2386200000,
  391. 2388000000, // 200
  392. 2389800000,
  393. 2391600000,
  394. 2393400000,
  395. 2395200000,
  396. 2397000000, // 205
  397. 2398800000,
  398. 2400600000,
  399. 2402400000,
  400. 2404200000,
  401. 2406000000, // 210
  402. 2407800000,
  403. 2409600000,
  404. 2411400000,
  405. 2413200000,
  406. 2415000000, // 215
  407. 2416800000,
  408. 2418600000,
  409. 2420400000,
  410. 2422200000,
  411. 2424000000, // 220
  412. 2425800000,
  413. 2427600000,
  414. 2429400000,
  415. 2431200000,
  416. 2433000000, // 225
  417. 2434800000,
  418. 2436600000,
  419. 2438400000,
  420. 2440200000,
  421. 2442000000, // 230
  422. 2443800000,
  423. 2445600000,
  424. 2447400000,
  425. 2449200000,
  426. 2451000000, // 235
  427. 2452800000,
  428. 2454600000,
  429. 2456400000,
  430. 2458200000,
  431. 2460000000, // 240
  432. 2461800000,
  433. 2463600000,
  434. 2465400000,
  435. 2467200000,
  436. 2469000000, // 245
  437. 2470800000,
  438. 2472600000,
  439. 2474400000,
  440. 2478000000,
  441. 2500000000, // 250
  442. };
  443.  
  444. const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =
  445. {
  446. 300, // 0
  447. 800, // 1
  448. 1500,
  449. 2500,
  450. 4300,
  451. 7200,
  452. 11400,
  453. 17000,
  454. 24000,
  455. 33000,
  456. 46000, // 10
  457. 62000,
  458. 83000,
  459. 111000,
  460. 149000,
  461. 200000,
  462. 268000,
  463. 360000,
  464. 482000,
  465. 647000,
  466. 868000, // 20
  467. 996000,
  468. 1143000,
  469. 1312000,
  470. 1506000,
  471. 1729000,
  472. 1984000,
  473. 2277000,
  474. 2614000,
  475. 3000000,
  476. 3443000, // 30
  477. 3952000,
  478. 4536000,
  479. 5206000,
  480. 5975000,
  481. 6858000,
  482. 7730000,
  483. 8504000,
  484. 9307000,
  485. 10140000,
  486. 11330000, // 40
  487. 12320000,
  488. 13370000,
  489. 14490000,
  490. 15670000,
  491. 16920000,
  492. 18240000,
  493. 19630000,
  494. 21090000,
  495. 22630000,
  496. 24670000, // 50
  497. 26890000,
  498. 29310000,
  499. 31950000,
  500. 34820000,
  501. 37960000,
  502. 41370000,
  503. 45100000,
  504. 49160000,
  505. 53580000,
  506. 58400000, // 60
  507. 63660000,
  508. 69390000,
  509. 75630000,
  510. 82440000,
  511. 89860000,
  512. 97950000,
  513. 106760000,
  514. 136370000,
  515. 151800000,
  516. 168300000, // 70
  517. 250000000,
  518. 340000000,
  519. 450000000,
  520. 570000000,
  521. 690000000,
  522. 810000000,
  523. 912600000,
  524. 1004000000,
  525. 1094000000,
  526. 1182000000, // 80
  527. 1269000000,
  528. 1354000000,
  529. 1438000000,
  530. 1521000000,
  531. 1603000000,
  532. 1684000000,
  533. 1764000000,
  534. 1844000000,
  535. 1922000000,
  536. 2000000000, // 90
  537. 2000000000,
  538. 2000000000,
  539. 2000000000,
  540. 2000000000,
  541. 2000000000,
  542. 2000000000,
  543. 2000000000,
  544. 2000000000,
  545. 2000000000, // 99 99·¹º§ÀÏ ¶§ ÇÊ¿ä°æÇèÄ¡ (100·¹º§ÀÌ µÇ±â À§ÇÑ).. ÇöÀç CIBNÀÌ ¾î¶»°Ô ¿î¿µÇϰí ÀÖ´Â Áö ¸ð¸£´Ï ½Å±Ô Å×À̺íÀ» ¾²Áö ¾Ê°í ±âÁ¸°ª °è¼Ó ¿¬Àå À¯Áö
  546. 2000000000, // 100
  547. 2000000000,
  548. 2000000000,
  549. 2000000000,
  550. 2000000000,
  551. 2000000000, // 105
  552. 2000000000,
  553. 2000000000,
  554. 2000000000,
  555. 2000000000,
  556. 2000000000, // 110
  557. 2000000000,
  558. 2000000000,
  559. 2000000000,
  560. 2000000000,
  561. 2000000000, // 115
  562. 2000000000,
  563. 2000000000,
  564. 2000000000,
  565. 2000000000,
  566. 2000000000, // 120
  567. };
  568.  
  569. const int * aiPercentByDeltaLev = NULL;
  570. const int * aiPercentByDeltaLevForBoss = NULL;
  571.  
  572. // Àû°ú ³ª¿ÍÀÇ ·¹º§Â÷ÀÌ¿¡ ÀÇÇÑ °è»ê¿¡ »ç¿ëµÇ´Â Å×À̺í
  573. // MIN(MAX_EXP_DELTA_OF_LEV - 1, (Àû·¾ + 15) - ³»·¾))
  574. const int aiPercentByDeltaLevForBoss_euckr[MAX_EXP_DELTA_OF_LEV] =
  575. {
  576. 1, // -15 0
  577. 3, // -14 1
  578. 5, // -13 2
  579. 7, // -12 3
  580. 15, // -11 4
  581. 30, // -10 5
  582. 60, // -9 6
  583. 90, // -8 7
  584. 91, // -7 8
  585. 92, // -6 9
  586. 93, // -5 10
  587. 94, // -4 11
  588. 95, // -3 12
  589. 97, // -2 13
  590. 99, // -1 14
  591. 100, // 0 15
  592. 105, // 1 16
  593. 110, // 2 17
  594. 115, // 3 18
  595. 120, // 4 19
  596. 125, // 5 20
  597. 130, // 6 21
  598. 135, // 7 22
  599. 140, // 8 23
  600. 145, // 9 24
  601. 150, // 10 25
  602. 155, // 11 26
  603. 160, // 12 27
  604. 165, // 13 28
  605. 170, // 14 29
  606. 180 // 15 30
  607. };
  608.  
  609.  
  610.  
  611. const int aiPercentByDeltaLev_euckr[MAX_EXP_DELTA_OF_LEV] =
  612. {
  613. 1, // -15 0
  614. 5, // -14 1
  615. 10, // -13 2
  616. 20, // -12 3
  617. 30, // -11 4
  618. 50, // -10 5
  619. 70, // -9 6
  620. 80, // -8 7
  621. 85, // -7 8
  622. 90, // -6 9
  623. 92, // -5 10
  624. 94, // -4 11
  625. 96, // -3 12
  626. 98, // -2 13
  627. 100, // -1 14
  628. 100, // 0 15
  629. 105, // 1 16
  630. 110, // 2 17
  631. 115, // 3 18
  632. 120, // 4 19
  633. 125, // 5 20
  634. 130, // 6 21
  635. 135, // 7 22
  636. 140, // 8 23
  637. 145, // 9 24
  638. 150, // 10 25
  639. 155, // 11 26
  640. 160, // 12 27
  641. 165, // 13 28
  642. 170, // 14 29
  643. 180, // 15 30
  644. };
  645.  
  646. const DWORD party_exp_distribute_table[PLAYER_MAX_LEVEL_CONST + 1] =
  647. {
  648. 0,
  649. 10, 10, 10, 10, 15, 15, 20, 25, 30, 40, // 1 - 10
  650. 50, 60, 80, 100, 120, 140, 160, 184, 210, 240, // 11 - 20
  651. 270, 300, 330, 360, 390, 420, 450, 480, 510, 550, // 21 - 30
  652. 600, 640, 700, 760, 820, 880, 940, 1000, 1100, 1180, // 31 - 40
  653. 1260, 1320, 1380, 1440, 1500, 1560, 1620, 1680, 1740, 1800, // 41 - 50
  654. 1860, 1920, 2000, 2100, 2200, 2300, 2450, 2600, 2750, 2900, // 51 - 60
  655. 3050, 3200, 3350, 3500, 3650, 3800, 3950, 4100, 4250, 4400, // 61 - 70
  656. 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, // 71 - 80
  657. 6600, 6800, 7000, 7200, 7400, 7600, 7800, 8000, 8200, 8400, // 81 - 90
  658. 8600, 8800, 9000, 9200, 9400, 9600, 9800, 10000, 10200, 10400, // 91 - 100
  659. 10600, 10800, 11000, 11200, 11400, 11600, 11800, 12000, 12200, 12400, // 101 - 110
  660. 12600, 12800, 13000, 13200, 13400, 13600, 13800, 14000, 14200, 14400, // 111 - 120
  661. 14600, 14800, 15000, 15200, 15400, 15600, 15800, 16000, 16200, 16400, // 121 - 130
  662. 16600, 16800, 17000, 17200, 17400, 17600, 17800, 18000, 18200, 18400, // 131 - 140
  663. 18600, 18800, 19000, 19200, 19400, 19600, 19800, 20000, 20200, 20400, // 141 - 150
  664. 20600, 20800, 21000, 21200, 21400, 21600, 21800, 22000, 22200, 22400, // 151 - 160
  665. 22600, 22800, 23000, 23200, 23400, 23600, 23800, 24000, 24200, 24400, // 161 - 170
  666. 24600, 24800, 25000, 25200, 25400, 25600, 25800, 26000, 26200, 26400, // 171 - 180
  667. 26600, 26800, 27000, 27200, 27400, 27600, 27800, 28000, 28200, 28400, // 181 - 190
  668. 28600, 28800, 29000, 29200, 29400, 29600, 29800, 30000, 30200, 30400, // 191 - 200
  669. 30600, 30800, 31000, 31200, 31400, 31600, 31800, 32000, 32200, 32400, // 201 - 210
  670. 32600, 32800, 33000, 33200, 33400, 33600, 33800, 34000, 34200, 34400, // 211 - 220
  671. 34600, 34800, 35000, 35200, 35400, 35600, 35800, 36000, 36200, 36400, // 221 - 230
  672. 36600, 36800, 37000, 37200, 37400, 37600, 37800, 38000, 38200, 38400, // 231 - 240
  673. 38600, 38800, 39000, 39200, 39400, 39600, 39800, 40000, 40200, 40400, // 241 - 250
  674. };
  675.  
  676. Coord aArroundCoords[ARROUND_COORD_MAX_NUM] =
  677. {
  678. { 0, 0 },
  679. { 0, 50 },
  680. { 35, 35 },
  681. { 50, -0 },
  682. { 35, -35 },
  683. { 0, -50 },
  684. { -35, -35 },
  685. { -50, 0 },
  686. { -35, 35 },
  687. { 0, 100 },
  688. { 71, 71 },
  689. { 100, -0 },
  690. { 71, -71 },
  691. { 0, -100 },
  692. { -71, -71 },
  693. { -100, 0 },
  694. { -71, 71 },
  695. { 0, 150 },
  696. { 106, 106 },
  697. { 150, -0 },
  698. { 106, -106 },
  699. { 0, -150 },
  700. { -106, -106 },
  701. { -150, 0 },
  702. { -106, 106 },
  703. { 0, 200 },
  704. { 141, 141 },
  705. { 200, -0 },
  706. { 141, -141 },
  707. { 0, -200 },
  708. { -141, -141 },
  709. { -200, 0 },
  710. { -141, 141 },
  711. { 0, 250 },
  712. { 177, 177 },
  713. { 250, -0 },
  714. { 177, -177 },
  715. { 0, -250 },
  716. { -177, -177 },
  717. { -250, 0 },
  718. { -177, 177 },
  719. { 0, 300 },
  720. { 212, 212 },
  721. { 300, -0 },
  722. { 212, -212 },
  723. { 0, -300 },
  724. { -212, -212 },
  725. { -300, 0 },
  726. { -212, 212 },
  727. { 0, 350 },
  728. { 247, 247 },
  729. { 350, -0 },
  730. { 247, -247 },
  731. { 0, -350 },
  732. { -247, -247 },
  733. { -350, 0 },
  734. { -247, 247 },
  735. { 0, 400 },
  736. { 283, 283 },
  737. { 400, -0 },
  738. { 283, -283 },
  739. { 0, -400 },
  740. { -283, -283 },
  741. { -400, 0 },
  742. { -283, 283 },
  743. { 0, 450 },
  744. { 318, 318 },
  745. { 450, -0 },
  746. { 318, -318 },
  747. { 0, -450 },
  748. { -318, -318 },
  749. { -450, 0 },
  750. { -318, 318 },
  751. { 0, 500 },
  752. { 354, 354 },
  753. { 500, -0 },
  754. { 354, -354 },
  755. { 0, -500 },
  756. { -354, -354 },
  757. { -500, 0 },
  758. { -354, 354 },
  759. { 0, 550 },
  760. { 389, 389 },
  761. { 550, -0 },
  762. { 389, -389 },
  763. { 0, -550 },
  764. { -389, -389 },
  765. { -550, 0 },
  766. { -389, 389 },
  767. { 0, 600 },
  768. { 424, 424 },
  769. { 600, -0 },
  770. { 424, -424 },
  771. { 0, -600 },
  772. { -424, -424 },
  773. { -600, 0 },
  774. { -424, 424 },
  775. { 0, 650 },
  776. { 460, 460 },
  777. { 650, -0 },
  778. { 460, -460 },
  779. { 0, -650 },
  780. { -460, -460 },
  781. { -650, 0 },
  782. { -460, 460 },
  783. { 0, 700 },
  784. { 495, 495 },
  785. { 700, -0 },
  786. { 495, -495 },
  787. { 0, -700 },
  788. { -495, -495 },
  789. { -700, 0 },
  790. { -495, 495 },
  791. { 0, 750 },
  792. { 530, 530 },
  793. { 750, -0 },
  794. { 530, -530 },
  795. { 0, -750 },
  796. { -530, -530 },
  797. { -750, 0 },
  798. { -530, 530 },
  799. { 0, 800 },
  800. { 566, 566 },
  801. { 800, -0 },
  802. { 566, -566 },
  803. { 0, -800 },
  804. { -566, -566 },
  805. { -800, 0 },
  806. { -566, 566 },
  807. { 0, 850 },
  808. { 601, 601 },
  809. { 850, -0 },
  810. { 601, -601 },
  811. { 0, -850 },
  812. { -601, -601 },
  813. { -850, 0 },
  814. { -601, 601 },
  815. { 0, 900 },
  816. { 636, 636 },
  817. { 900, -0 },
  818. { 636, -636 },
  819. { 0, -900 },
  820. { -636, -636 },
  821. { -900, 0 },
  822. { -636, 636 },
  823. { 0, 950 },
  824. { 672, 672 },
  825. { 950, -0 },
  826. { 672, -672 },
  827. { 0, -950 },
  828. { -672, -672 },
  829. { -950, 0 },
  830. { -672, 672 },
  831. { 0, 1000 },
  832. { 707, 707 },
  833. { 1000, -0 },
  834. { 707, -707 },
  835. { 0, -1000 },
  836. { -707, -707 },
  837. { -1000, 0 },
  838. { -707, 707 },
  839. };
  840.  
  841. const DWORD guild_exp_table[GUILD_MAX_LEVEL+1] =
  842. {
  843. 0,
  844. 15000UL,
  845. 45000UL,
  846. 90000UL,
  847. 160000UL,
  848. 235000UL,
  849. 325000UL,
  850. 430000UL,
  851. 550000UL,
  852. 685000UL,
  853. 835000UL,
  854. 1000000UL,
  855. 1500000UL,
  856. 2100000UL,
  857. 2800000UL,
  858. 3600000UL,
  859. 4500000UL,
  860. 6500000UL,
  861. 8000000UL,
  862. 10000000UL,
  863. 42000000UL
  864. };
  865.  
  866. // INTERNATIONAL_VERSION ±æµå°æÇèÄ¡
  867. const DWORD guild_exp_table2[GUILD_MAX_LEVEL+1] =
  868. {
  869. 0,
  870. 6000UL,
  871. 18000UL,
  872. 36000UL,
  873. 64000UL,
  874. 94000UL,
  875. 130000UL,
  876. 172000UL,
  877. 220000UL,
  878. 274000UL,
  879. 334000UL,
  880. 400000UL,
  881. 600000UL,
  882. 840000UL,
  883. 1120000UL,
  884. 1440000UL,
  885. 1800000UL,
  886. 2600000UL,
  887. 3200000UL,
  888. 4000000UL,
  889. 16800000UL
  890. };
  891. // END_OF_INTERNATIONAL_VERSION ±æµå°æÇèÄ¡
  892.  
  893. const int aiMobEnchantApplyIdx[MOB_ENCHANTS_MAX_NUM] =
  894. {
  895. APPLY_CURSE_PCT,
  896. APPLY_SLOW_PCT,
  897. APPLY_POISON_PCT,
  898. APPLY_STUN_PCT,
  899. APPLY_CRITICAL_PCT,
  900. APPLY_PENETRATE_PCT,
  901. };
  902.  
  903. const int aiMobResistsApplyIdx[MOB_RESISTS_MAX_NUM] =
  904. {
  905. APPLY_RESIST_SWORD,
  906. APPLY_RESIST_TWOHAND,
  907. APPLY_RESIST_DAGGER,
  908. APPLY_RESIST_BELL,
  909. APPLY_RESIST_FAN,
  910. APPLY_RESIST_BOW,
  911. APPLY_RESIST_FIRE,
  912. APPLY_RESIST_ELEC,
  913. APPLY_RESIST_MAGIC,
  914. APPLY_RESIST_WIND,
  915. APPLY_POISON_REDUCE,
  916. APPLY_RESIST_CLAW,
  917. };
  918.  
  919. const int aiSocketPercentByQty[5][4] =
  920. {
  921. { 0, 0, 0, 0 },
  922. { 3, 0, 0, 0 },
  923. { 10, 1, 0, 0 },
  924. { 15, 10, 1, 0 },
  925. { 20, 15, 10, 1 }
  926. };
  927.  
  928. const int aiWeaponSocketQty[WEAPON_NUM_TYPES] =
  929. {
  930. 3, // WEAPON_SWORD,
  931. 3, // WEAPON_DAGGER,
  932. 3, // WEAPON_BOW,
  933. 3, // WEAPON_TWO_HANDED,
  934. 3, // WEAPON_BELL,
  935. 3, // WEAPON_FAN,
  936. 0, // WEAPON_ARROW,
  937. 0, // WEAPON_MOUNT_SPEAR,
  938. 3, // WEAPON_CLAW
  939. };
  940.  
  941. const int aiArmorSocketQty[ARMOR_NUM_TYPES] =
  942. {
  943. 3, // ARMOR_BODY,
  944. 1, // ARMOR_HEAD,
  945. 1, // ARMOR_SHIELD,
  946. 0, // ARMOR_WRIST,
  947. 0, // ARMOR_FOOTS,
  948. 0 // ARMOR_ACCESSORY
  949. };
  950.  
  951. TItemAttrMap g_map_itemAttr;
  952. TItemAttrMap g_map_itemRare;
  953.  
  954. const TApplyInfo aApplyInfo[MAX_APPLY_NUM] =
  955. {
  956. {POINT_NONE,}, // apply_name = APPLY_NONE & apply_value = 0
  957. {POINT_MAX_HP,}, // apply_name = APPLY_MAX_HP & apply_value = 1
  958. {POINT_MAX_SP,}, // apply_name = APPLY_MAX_SP & apply_value = 2
  959. {POINT_HT,}, // apply_name = APPLY_CON & apply_value = 3
  960. {POINT_IQ,}, // apply_name = APPLY_INT & apply_value = 4
  961. {POINT_ST,}, // apply_name = APPLY_STR & apply_value = 5
  962. {POINT_DX,}, // apply_name = APPLY_DEX & apply_value = 6
  963. {POINT_ATT_SPEED,}, // apply_name = APPLY_ATT_SPEED & apply_value = 7
  964. {POINT_MOV_SPEED,}, // apply_name = APPLY_MOV_SPEED & apply_value = 8
  965. {POINT_CASTING_SPEED,}, // apply_name = APPLY_CAST_SPEED & apply_value = 9
  966. {POINT_HP_REGEN,}, // apply_name = APPLY_HP_REGEN & apply_value = 10
  967. {POINT_SP_REGEN,}, // apply_name = APPLY_SP_REGEN & apply_value = 11
  968. {POINT_POISON_PCT,}, // apply_name = APPLY_POISON_PCT & apply_value = 12
  969. {POINT_STUN_PCT,}, // apply_name = APPLY_STUN_PCT & apply_value = 13
  970. {POINT_SLOW_PCT,}, // apply_name = APPLY_SLOW_PCT & apply_value = 14
  971. {POINT_CRITICAL_PCT,}, // apply_name = APPLY_CRITICAL_PCT & apply_value = 15
  972. {POINT_PENETRATE_PCT,}, // apply_name = APPLY_PENETRATE_PCT & apply_value = 16
  973. {POINT_ATTBONUS_HUMAN,}, // apply_name = APPLY_ATTBONUS_HUMAN & apply_value = 17
  974. {POINT_ATTBONUS_ANIMAL,}, // apply_name = APPLY_ATTBONUS_ANIMAL & apply_value = 18
  975. {POINT_ATTBONUS_ORC,}, // apply_name = APPLY_ATTBONUS_ORC & apply_value = 19
  976. {POINT_ATTBONUS_MILGYO,}, // apply_name = APPLY_ATTBONUS_MILGYO & apply_value = 20
  977. {POINT_ATTBONUS_UNDEAD,}, // apply_name = APPLY_ATTBONUS_UNDEAD & apply_value = 21
  978. {POINT_ATTBONUS_DEVIL,}, // apply_name = APPLY_ATTBONUS_DEVIL & apply_value = 22
  979. {POINT_STEAL_HP,}, // apply_name = APPLY_STEAL_HP & apply_value = 23
  980. {POINT_STEAL_SP,}, // apply_name = APPLY_STEAL_SP & apply_value = 24
  981. {POINT_MANA_BURN_PCT,}, // apply_name = APPLY_MANA_BURN_PCT & apply_value = 25
  982. {POINT_DAMAGE_SP_RECOVER,}, // apply_name = APPLY_DAMAGE_SP_RECOVER & apply_value = 26
  983. {POINT_BLOCK,}, // apply_name = APPLY_BLOCK & apply_value = 27
  984. {POINT_DODGE,}, // apply_name = APPLY_DODGE & apply_value = 28
  985. {POINT_RESIST_SWORD,}, // apply_name = APPLY_RESIST_SWORD & apply_value = 29
  986. {POINT_RESIST_TWOHAND,}, // apply_name = APPLY_RESIST_TWOHAND & apply_value = 30
  987. {POINT_RESIST_DAGGER,}, // apply_name = APPLY_RESIST_DAGGER & apply_value = 31
  988. {POINT_RESIST_BELL,}, // apply_name = APPLY_RESIST_BELL & apply_value = 32
  989. {POINT_RESIST_FAN,}, // apply_name = APPLY_RESIST_FAN & apply_value = 33
  990. {POINT_RESIST_BOW,}, // apply_name = APPLY_RESIST_BOW & apply_value = 34
  991. {POINT_RESIST_FIRE,}, // apply_name = APPLY_RESIST_FIRE & apply_value = 35
  992. {POINT_RESIST_ELEC,}, // apply_name = APPLY_RESIST_ELEC & apply_value = 36
  993. {POINT_RESIST_MAGIC,}, // apply_name = APPLY_RESIST_MAGIC & apply_value = 37
  994. {POINT_RESIST_WIND,}, // apply_name = APPLY_RESIST_WIND & apply_value = 38
  995. {POINT_REFLECT_MELEE,}, // apply_name = APPLY_REFLECT_MELEE & apply_value = 39
  996. {POINT_REFLECT_CURSE,}, // apply_name = APPLY_REFLECT_CURSE & apply_value = 40
  997. {POINT_POISON_REDUCE,}, // apply_name = APPLY_POISON_REDUCE & apply_value = 41
  998. {POINT_KILL_SP_RECOVER,}, // apply_name = APPLY_KILL_SP_RECOVER & apply_value = 42
  999. {POINT_EXP_DOUBLE_BONUS,}, // apply_name = APPLY_EXP_DOUBLE_BONUS & apply_value = 43
  1000. {POINT_GOLD_DOUBLE_BONUS,}, // apply_name = APPLY_GOLD_DOUBLE_BONUS & apply_value = 44
  1001. {POINT_ITEM_DROP_BONUS,}, // apply_name = APPLY_ITEM_DROP_BONUS & apply_value = 45
  1002. {POINT_POTION_BONUS,}, // apply_name = APPLY_POTION_BONUS & apply_value = 46
  1003. {POINT_KILL_HP_RECOVERY,}, // apply_name = APPLY_KILL_HP_RECOVER & apply_value = 47
  1004. {POINT_IMMUNE_STUN,}, // apply_name = APPLY_IMMUNE_STUN & apply_value = 48
  1005. {POINT_IMMUNE_SLOW,}, // apply_name = APPLY_IMMUNE_SLOW & apply_value = 49
  1006. {POINT_IMMUNE_FALL,}, // apply_name = APPLY_IMMUNE_FALL & apply_value = 50
  1007. {POINT_NONE,}, // apply_name = APPLY_SKILL & apply_value = 51
  1008. {POINT_BOW_DISTANCE,}, // apply_name = APPLY_BOW_DISTANCE & apply_value = 52
  1009. {POINT_ATT_GRADE_BONUS,}, // apply_name = APPLY_ATT_GRADE & apply_value = 53
  1010. {POINT_DEF_GRADE_BONUS,}, // apply_name = APPLY_DEF_GRADE & apply_value = 54
  1011. {POINT_MAGIC_ATT_GRADE_BONUS,}, // apply_name = APPLY_MAGIC_ATT_GRADE & apply_value = 55
  1012. {POINT_MAGIC_DEF_GRADE_BONUS,}, // apply_name = APPLY_MAGIC_DEF_GRADE & apply_value = 56
  1013. {POINT_CURSE_PCT,}, // apply_name = APPLY_CURSE_PCT & apply_value = 57
  1014. {POINT_MAX_STAMINA}, // apply_name = APPLY_MAX_STAMINA & apply_value = 58
  1015. {POINT_ATTBONUS_WARRIOR}, // apply_name = APPLY_ATTBONUS_WARRIOR & apply_value = 59
  1016. {POINT_ATTBONUS_ASSASSIN}, // apply_name = APPLY_ATTBONUS_ASSASSIN & apply_value = 60
  1017. {POINT_ATTBONUS_SURA}, // apply_name = APPLY_ATTBONUS_SURA & apply_value = 61
  1018. {POINT_ATTBONUS_SHAMAN}, // apply_name = APPLY_ATTBONUS_SHAMAN & apply_value = 62
  1019. {POINT_ATTBONUS_MONSTER}, // apply_name = APPLY_ATTBONUS_MONSTER & apply_value = 63
  1020. {POINT_ATT_BONUS}, // apply_name = APPLY_MALL_ATTBONUS & apply_value = 64
  1021. {POINT_MALL_DEFBONUS}, // apply_name = NONE & apply_value = 65
  1022. {POINT_MALL_EXPBONUS}, // apply_name = APPLY_MALL_EXPBONUS & apply_value = 66
  1023. {POINT_MALL_ITEMBONUS}, // apply_name = NONE & apply_value = 67
  1024. {POINT_MALL_GOLDBONUS}, // apply_name = NONE & apply_value = 68
  1025. {POINT_MAX_HP_PCT}, // apply_name = NONE & apply_value = 69
  1026. {POINT_MAX_SP_PCT}, // apply_name = NONE & apply_value = 70
  1027. {POINT_SKILL_DAMAGE_BONUS}, // apply_name = NONE & apply_value = 71
  1028. {POINT_NORMAL_HIT_DAMAGE_BONUS}, // apply_name = NONE & apply_value = 72
  1029. {POINT_SKILL_DEFEND_BONUS}, // apply_name = NONE & apply_value = 73
  1030. {POINT_NORMAL_HIT_DEFEND_BONUS}, // apply_name = NONE & apply_value = 74
  1031. {POINT_PC_BANG_EXP_BONUS}, // apply_name = NONE & apply_value = 75
  1032. {POINT_PC_BANG_DROP_BONUS}, // apply_name = NONE & apply_value = 76
  1033. {POINT_NONE,}, // apply_name = APPLY_EXTRACT_HP_PCT & apply_value = 77
  1034. {POINT_RESIST_WARRIOR,}, // apply_name = APPLY_RESIST_WARRIOR & apply_value = 78
  1035. {POINT_RESIST_ASSASSIN,}, // apply_name = APPLY_RESIST_ASSASSIN & apply_value = 79
  1036. {POINT_RESIST_SURA,}, // apply_name = APPLY_RESIST_SURA & apply_value = 80
  1037. {POINT_RESIST_SHAMAN,}, // apply_name = APPLY_RESIST_SHAMAN & apply_value = 81
  1038. {POINT_ENERGY}, // apply_name = NONE & apply_value = 82
  1039. {POINT_DEF_GRADE}, // apply_name = DEF_GRADE_BONUS & apply_value = 83
  1040. {POINT_COSTUME_ATTR_BONUS}, // apply_name = NONE & apply_value = 84
  1041. {POINT_MAGIC_ATT_BONUS_PER}, // apply_name = NONE & apply_value = 85
  1042. {POINT_MELEE_MAGIC_ATT_BONUS_PER}, // apply_name = APPLY_MELEE_MAGIC_ATTBONUS_PER & apply_value = 86
  1043. {POINT_RESIST_ICE,}, // apply_name = APPLY_RESIST_ICE & apply_value = 87
  1044. {POINT_RESIST_EARTH,}, // apply_name = APPLY_RESIST_EARTH & apply_value = 88
  1045. {POINT_RESIST_DARK,}, // apply_name = APPLY_RESIST_DARK & apply_value = 89
  1046. {POINT_RESIST_CRITICAL,}, // apply_name = APPLY_ANTI_CRITICAL_PCT & apply_value = 90
  1047. {POINT_RESIST_PENETRATE,}, // apply_name = APPLY_ANTI_PENETRATE_PCT & apply_value = 91
  1048. {POINT_BLEEDING_PCT,}, // apply_name = APPLY_BLEEDING_PCT & apply_value = 92
  1049. {POINT_BLEEDING_REDUCE,}, // apply_name = APPLY_BLEEDING_REDUCE & apply_value = 93
  1050. {POINT_ATTBONUS_WOLFMAN,}, // apply_name = APPLY_ATTBONUS_WOLFMAN & apply_value = 94
  1051. {POINT_RESIST_WOLFMAN,}, // apply_name = APPLY_RESIST_WOLFMAN & apply_value =95
  1052. {POINT_RESIST_CLAW,}, // apply_name = APPLY_RESIST_CLAW & apply_value = 96
  1053. };
  1054.  
  1055. const int aiItemMagicAttributePercentHigh[ITEM_ATTRIBUTE_MAX_LEVEL] =
  1056. {
  1057. //25, 25, 40, 8, 2,
  1058. 30, 40, 20, 8, 2
  1059. };
  1060.  
  1061. const int aiItemMagicAttributePercentLow[ITEM_ATTRIBUTE_MAX_LEVEL] =
  1062. {
  1063. //45, 25, 20, 10, 0,
  1064. 50, 40, 10, 0, 0
  1065. };
  1066.  
  1067. // ADD_ITEM_ATTRIBUTE
  1068. const int aiItemAttributeAddPercent[ITEM_ATTRIBUTE_MAX_NUM] =
  1069. {
  1070. 100, 80, 60, 50, 30, 0, 0,
  1071. };
  1072. // END_OF_ADD_ITEM_ATTRIBUTE
  1073.  
  1074. const int aiExpLossPercents[PLAYER_EXP_TABLE_MAX + 1] =
  1075. {
  1076. 0,
  1077. 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, // 1 - 10
  1078. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 11 - 20
  1079. 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, // 21 - 30
  1080. 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 31 - 40
  1081. 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, // 41 - 50
  1082. 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 51 - 60
  1083. 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, // 61 - 70
  1084. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 71 - 80
  1085. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 81 - 90
  1086. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 91 - 100
  1087. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 101 - 110
  1088. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 111 - 120
  1089. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 121 - 130
  1090. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 131 - 140
  1091. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 141 - 150
  1092. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 151 - 160
  1093. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 161 - 170
  1094. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 171 - 180
  1095. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 181 - 190
  1096. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 191 - 200
  1097. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 201 - 210
  1098. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 211 - 220
  1099. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 221 - 230
  1100. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 231 - 240
  1101. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 241 - 250
  1102. };
  1103.  
  1104. const int aiSkillBookCountForLevelUp[10] =
  1105. {
  1106. 3, 3, 3, 3, 3, 4, 4, 5, 5, 6
  1107. };
  1108.  
  1109. // ADD_GRANDMASTER_SKILL
  1110. const int aiGrandMasterSkillBookCountForLevelUp[10] =
  1111. {
  1112. 3, 3, 5, 5, 7, 7, 10, 10, 10, 20,
  1113. };
  1114.  
  1115. const int aiGrandMasterSkillBookMinCount[10] =
  1116. {
  1117. // 1, 1, 3, 5, 10, 15, 20, 30, 40, 50,
  1118. // 3, 3, 5, 5, 10, 10, 15, 15, 20, 30
  1119. 1, 1, 1, 2, 2, 3, 3, 4, 5, 6
  1120. };
  1121.  
  1122. const int aiGrandMasterSkillBookMaxCount[10] =
  1123. {
  1124. // 6, 15, 30, 45, 60, 80, 100, 120, 160, 200,
  1125. // 6, 10, 15, 20, 30, 40, 50, 60, 70, 80
  1126. 5, 7, 9, 11, 13, 15, 20, 25, 30, 35
  1127. };
  1128. // END_OF_ADD_GRANDMASTER_SKILL
  1129.  
  1130. const int CHN_aiPartyBonusExpPercentByMemberCount[9] =
  1131. {
  1132. 0, 0, 12, 18, 26, 40, 53, 70, 100
  1133. };
  1134.  
  1135.  
  1136. // UPGRADE_PARTY_BONUS
  1137. const int KOR_aiPartyBonusExpPercentByMemberCount[9] =
  1138. {
  1139. 0,
  1140. 0,
  1141. 30, // 66% * 2 - 100
  1142. 60, // 53% * 3 - 100
  1143. 75, // 44% * 4 - 100
  1144. 90, // 38% * 5 - 100
  1145. 105, // 34% * 6 - 100
  1146. 110, // 30% * 7 - 100
  1147. 140, // 30% * 8 - 100
  1148. };
  1149.  
  1150. const int KOR_aiUniqueItemPartyBonusExpPercentByMemberCount[9] =
  1151. {
  1152. 0,
  1153. 0,
  1154. 15*2,
  1155. 14*3,
  1156. 13*4,
  1157. 12*5,
  1158. 11*6,
  1159. 10*7,
  1160. 10*8,
  1161. };
  1162. // END_OF_UPGRADE_PARTY_BONUS
  1163.  
  1164. const int * aiChainLightningCountBySkillLevel = NULL;
  1165.  
  1166. const int aiChainLightningCountBySkillLevel_euckr[SKILL_MAX_LEVEL+1] =
  1167. {
  1168. 0, // 0
  1169. 2, // 1
  1170. 2, // 2
  1171. 2, // 3
  1172. 2, // 4
  1173. 2, // 5
  1174. 2, // 6
  1175. 2, // 7
  1176. 2, // 8
  1177. 3, // 9
  1178. 3, // 10
  1179. 3, // 11
  1180. 3, // 12
  1181. 3, // 13
  1182. 3, // 14
  1183. 3, // 15
  1184. 3, // 16
  1185. 3, // 17
  1186. 3, // 18
  1187. 4, // 19
  1188. 4, // 20
  1189. 4, // 21
  1190. 4, // 22
  1191. 4, // 23
  1192. 5, // 24
  1193. 5, // 25
  1194. 5, // 26
  1195. 5, // 27
  1196. 5, // 28
  1197. 5, // 29
  1198. 5, // 30
  1199. 5, // 31
  1200. 5, // 32
  1201. 5, // 33
  1202. 5, // 34
  1203. 5, // 35
  1204. 5, // 36
  1205. 5, // 37
  1206. 5, // 38
  1207. 5, // 39
  1208. 5, // 40
  1209. };
  1210.  
  1211. const SStoneDropInfo aStoneDrop[STONE_INFO_MAX_NUM] =
  1212. {
  1213. // mob pct {+0 +1 +2 +3 +4}
  1214. {8005, 60, {30, 30, 30, 9, 1} },
  1215. {8006, 60, {28, 29, 31, 11, 1} },
  1216. {8007, 60, {24, 29, 32, 13, 2} },
  1217. {8008, 60, {22, 28, 33, 15, 2} },
  1218. {8009, 60, {21, 27, 33, 17, 2} },
  1219. {8010, 60, {18, 26, 34, 20, 2} },
  1220. {8011, 60, {14, 26, 35, 22, 3} },
  1221. {8012, 60, {10, 26, 37, 24, 3} },
  1222. {8013, 60, {2, 26, 40, 29, 3} },
  1223. {8014, 60, {0, 26, 41, 30, 3} },
  1224. };
  1225.  
  1226. const char * c_apszEmpireNames[EMPIRE_MAX_NUM] =
  1227. {
  1228. "ÀüÁ¦±¹",
  1229. "½Å¼ö±¹",
  1230. "õÁ¶±¹",
  1231. "Áø³ë±¹"
  1232. };
  1233.  
  1234. const char * c_apszPrivNames[MAX_PRIV_NUM] =
  1235. {
  1236. "",
  1237. "¾ÆÀÌÅÛÀÌ ³ª¿Ã È®·ü",
  1238. "µ·ÀÌ ³ª¿Ã È®·ü",
  1239. "µ· ´ë¹ÚÀÌ ³ª¿Ã È®·ü",
  1240. "°æÇèÄ¡ ¹èÀ²",
  1241. };
  1242.  
  1243. const int aiPolymorphPowerByLevel[SKILL_MAX_LEVEL + 1] =
  1244. {
  1245. 10, // 1
  1246. 11, // 2
  1247. 11, // 3
  1248. 12, // 4
  1249. 13, // 5
  1250. 13, // 6
  1251. 14, // 7
  1252. 15, // 8
  1253. 16, // 9
  1254. 17, // 10
  1255. 18, // 11
  1256. 19, // 12
  1257. 20, // 13
  1258. 22, // 14
  1259. 23, // 15
  1260. 24, // 16
  1261. 26, // 17
  1262. 27, // 18
  1263. 29, // 19
  1264. 31, // 20
  1265. 33, // 21
  1266. 35, // 22
  1267. 37, // 23
  1268. 39, // 24
  1269. 41, // 25
  1270. 44, // 26
  1271. 46, // 27
  1272. 49, // 28
  1273. 52, // 29
  1274. 55, // 30
  1275. 59, // 31
  1276. 62, // 32
  1277. 66, // 33
  1278. 70, // 34
  1279. 74, // 35
  1280. 79, // 36
  1281. 84, // 37
  1282. 89, // 38
  1283. 94, // 39
  1284. 100, // 40
  1285. };
  1286.  
  1287. TGuildWarInfo KOR_aGuildWarInfo[GUILD_WAR_TYPE_MAX_NUM] =
  1288. /*
  1289. {
  1290. long lMapIndex;
  1291. int iWarPrice;
  1292. int iWinnerPotionRewardPctToWinner;
  1293. int iLoserPotionRewardPctToWinner;
  1294. int iInitialScore;
  1295. int iEndScore;
  1296. };
  1297. */
  1298. {
  1299. { 0, 0, 0, 0, 0, 0 },
  1300. { 110, 0, 100, 50, 0, 100 },
  1301. { 111, 0, 100, 50, 0, 10 },
  1302. };
  1303.  
  1304. //
  1305. // ¾Ç¼¼¼­¸® ¼ÒÄÏ¿ë ¼öÄ¡µé
  1306. //
  1307.  
  1308. // ´ÙÀ̾Ƹóµå·Î ¼ÒÄÏÀ» Ãß°¡ÇÒ ¶§ È®·ü
  1309. const int aiAccessorySocketAddPct[ITEM_ACCESSORY_SOCKET_MAX_NUM] =
  1310. {
  1311. 50, 50, 50
  1312. };
  1313.  
  1314. // ¾Ç¼¼¼­¸® ¼öÄ¡ °ªÀÇ ¸î%¸¸Å­ÀÇ ¼º´ÉÀ» Ãß°¡ÇÏ´ÂÁö
  1315. const int aiAccessorySocketEffectivePct[ITEM_ACCESSORY_SOCKET_MAX_NUM + 1] =
  1316. {
  1317. 0, 10, 20, 40
  1318. };
  1319.  
  1320. // ¼ÒÄÏ Áö¼Ó½Ã°£ 24, 12, 6
  1321. const int aiAccessorySocketDegradeTime[ITEM_ACCESSORY_SOCKET_MAX_NUM + 1] =
  1322. {
  1323. 0, 3600 * 24, 3600 * 12, 3600 * 6
  1324. };
  1325.  
  1326. // ¼ÒÄÏ ÀåÂø ¼º°ø·ü
  1327. const int aiAccessorySocketPutPct[ITEM_ACCESSORY_SOCKET_MAX_NUM + 1] =
  1328. {
  1329. 90, 80, 70, 0
  1330. };
  1331. // END_OF_ACCESSORY_REFINE
  1332.  
  1333. #include "../../common/length.h"
  1334. // from import_item_proto.c
  1335. typedef struct SValueName
  1336. {
  1337. const char * c_pszName;
  1338. long lValue;
  1339. } TValueName;
  1340.  
  1341. TValueName c_aApplyTypeNames[] =
  1342. {
  1343. {"STR", APPLY_STR},
  1344. {"DEX", APPLY_DEX},
  1345. {"CON", APPLY_CON},
  1346. {"INT", APPLY_INT},
  1347. {"MAX_HP", APPLY_MAX_HP},
  1348. {"MAX_SP", APPLY_MAX_SP},
  1349. {"MAX_STAMINA", APPLY_MAX_STAMINA},
  1350. {"POISON_REDUCE", APPLY_POISON_REDUCE},
  1351. {"EXP_DOUBLE_BONUS", APPLY_EXP_DOUBLE_BONUS},
  1352. {"GOLD_DOUBLE_BONUS", APPLY_GOLD_DOUBLE_BONUS},
  1353. {"ITEM_DROP_BONUS", APPLY_ITEM_DROP_BONUS},
  1354. {"HP_REGEN", APPLY_HP_REGEN},
  1355. {"SP_REGEN", APPLY_SP_REGEN},
  1356. {"ATTACK_SPEED", APPLY_ATT_SPEED},
  1357. {"MOVE_SPEED", APPLY_MOV_SPEED},
  1358. {"CAST_SPEED", APPLY_CAST_SPEED},
  1359. {"ATT_BONUS", APPLY_ATT_GRADE_BONUS},
  1360. {"DEF_BONUS", APPLY_DEF_GRADE_BONUS},
  1361. {"MAGIC_ATT_GRADE", APPLY_MAGIC_ATT_GRADE},
  1362. {"MAGIC_DEF_GRADE", APPLY_MAGIC_DEF_GRADE},
  1363. {"SKILL", APPLY_SKILL},
  1364. {"ATTBONUS_ANIMAL", APPLY_ATTBONUS_ANIMAL},
  1365. {"ATTBONUS_UNDEAD", APPLY_ATTBONUS_UNDEAD},
  1366. {"ATTBONUS_DEVIL", APPLY_ATTBONUS_DEVIL},
  1367. {"ATTBONUS_HUMAN", APPLY_ATTBONUS_HUMAN},
  1368. {"ADD_BOW_DISTANCE", APPLY_BOW_DISTANCE},
  1369. {"DODGE", APPLY_DODGE},
  1370. {"BLOCK", APPLY_BLOCK},
  1371. {"RESIST_SWORD", APPLY_RESIST_SWORD},
  1372. {"RESIST_TWOHAND", APPLY_RESIST_TWOHAND},
  1373. {"RESIST_DAGGER", APPLY_RESIST_DAGGER},
  1374. {"RESIST_BELL", APPLY_RESIST_BELL},
  1375. {"RESIST_FAN", APPLY_RESIST_FAN},
  1376. {"RESIST_BOW", APPLY_RESIST_BOW},
  1377. {"RESIST_FIRE", APPLY_RESIST_FIRE},
  1378. {"RESIST_ELEC", APPLY_RESIST_ELEC},
  1379. {"RESIST_MAGIC", APPLY_RESIST_MAGIC},
  1380. {"RESIST_WIND", APPLY_RESIST_WIND},
  1381. {"REFLECT_MELEE", APPLY_REFLECT_MELEE},
  1382. {"REFLECT_CURSE", APPLY_REFLECT_CURSE},
  1383. {"RESIST_ICE", APPLY_RESIST_ICE},
  1384. {"RESIST_EARTH", APPLY_RESIST_EARTH},
  1385. {"RESIST_DARK", APPLY_RESIST_DARK},
  1386. {"RESIST_CRITICAL", APPLY_ANTI_CRITICAL_PCT},
  1387. {"RESIST_PENETRATE", APPLY_ANTI_PENETRATE_PCT},
  1388. {"POISON", APPLY_POISON_PCT},
  1389. {"SLOW", APPLY_SLOW_PCT},
  1390. {"STUN", APPLY_STUN_PCT},
  1391. {"STEAL_HP", APPLY_STEAL_HP},
  1392. {"STEAL_SP", APPLY_STEAL_SP},
  1393. {"MANA_BURN_PCT", APPLY_MANA_BURN_PCT},
  1394. {"CRITICAL", APPLY_CRITICAL_PCT},
  1395. {"PENETRATE", APPLY_PENETRATE_PCT},
  1396. {"KILL_SP_RECOVER", APPLY_KILL_SP_RECOVER},
  1397. {"KILL_HP_RECOVER", APPLY_KILL_HP_RECOVER},
  1398. {"PENETRATE_PCT", APPLY_PENETRATE_PCT},
  1399. {"CRITICAL_PCT", APPLY_CRITICAL_PCT},
  1400. {"POISON_PCT", APPLY_POISON_PCT},
  1401. {"STUN_PCT", APPLY_STUN_PCT},
  1402. {"ATT_BONUS_TO_WARRIOR", APPLY_ATTBONUS_WARRIOR},
  1403. {"ATT_BONUS_TO_ASSASSIN", APPLY_ATTBONUS_ASSASSIN},
  1404. {"ATT_BONUS_TO_SURA", APPLY_ATTBONUS_SURA},
  1405. {"ATT_BONUS_TO_SHAMAN", APPLY_ATTBONUS_SHAMAN},
  1406. {"ATT_BONUS_TO_MONSTER", APPLY_ATTBONUS_MONSTER},
  1407. {"ATT_BONUS_TO_MOB", APPLY_ATTBONUS_MONSTER},
  1408. {"MALL_ATTBONUS", APPLY_MALL_ATTBONUS},
  1409. {"MALL_EXPBONUS", APPLY_MALL_EXPBONUS},
  1410. {"MALL_DEFBONUS", APPLY_MALL_DEFBONUS},
  1411. {"MALL_ITEMBONUS", APPLY_MALL_ITEMBONUS},
  1412. {"MALL_GOLDBONUS", APPLY_MALL_GOLDBONUS},
  1413. {"MAX_HP_PCT", APPLY_MAX_HP_PCT},
  1414. {"MAX_SP_PCT", APPLY_MAX_SP_PCT},
  1415. {"SKILL_DAMAGE_BONUS", APPLY_SKILL_DAMAGE_BONUS},
  1416. {"NORMAL_HIT_DAMAGE_BONUS", APPLY_NORMAL_HIT_DAMAGE_BONUS},
  1417. {"SKILL_DEFEND_BONUS", APPLY_SKILL_DEFEND_BONUS},
  1418. {"NORMAL_HIT_DEFEND_BONUS", APPLY_NORMAL_HIT_DEFEND_BONUS},
  1419. {"PCBANG_EXP_BONUS", APPLY_PC_BANG_EXP_BONUS},
  1420. {"PCBANG_DROP_BONUS", APPLY_PC_BANG_DROP_BONUS},
  1421. {"RESIST_WARRIOR", APPLY_RESIST_WARRIOR},
  1422. {"RESIST_ASSASSIN", APPLY_RESIST_ASSASSIN},
  1423. {"RESIST_SURA", APPLY_RESIST_SURA},
  1424. {"RESIST_SHAMAN", APPLY_RESIST_SHAMAN},
  1425. {"INFINITE_AFFECT_DURATION", 0x1FFFFFFF},
  1426. {"ENERGY", APPLY_ENERGY},
  1427. {"COSTUME_ATTR_BONUS", APPLY_COSTUME_ATTR_BONUS},
  1428. {"MAGIC_ATTBONUS_PER", APPLY_MAGIC_ATTBONUS_PER},
  1429. {"MELEE_MAGIC_ATTBONUS_PER", APPLY_MELEE_MAGIC_ATTBONUS_PER},
  1430. {"BLEEDING_PCT", APPLY_BLEEDING_PCT},
  1431. {"BLEEDING_REDUCE", APPLY_BLEEDING_REDUCE},
  1432. {"ATT_BONUS_TO_WOLFMAN", APPLY_ATTBONUS_WOLFMAN},
  1433. {"RESIST_WOLFMAN", APPLY_RESIST_WOLFMAN},
  1434. {"RESIST_CLAW", APPLY_RESIST_CLAW},
  1435. {NULL, 0}
  1436. };
  1437. // from import_item_proto.c
  1438.  
  1439. long FN_get_apply_type(const char *apply_type_string)
  1440. {
  1441. TValueName *value_name;
  1442. for (value_name = c_aApplyTypeNames; value_name->c_pszName; ++value_name)
  1443. {
  1444. if (0==strcasecmp(value_name->c_pszName, apply_type_string))
  1445. return value_name->lValue;
  1446. }
  1447. return 0;
  1448. }
Advertisement
Add Comment
Please, Sign In to add comment