Advertisement
Guest User

Untitled

a guest
Oct 13th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.15 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. // str con dex int ĂʱâHP ĂʱâSP CON/HP INT/SP HP·Ł´ý/lv MP·Ł´ý/lv Ăʱâstam stam/con stam/lv
  18. { 6, 4, 3, 3, 600, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3 }, // JOB_WARRIOR 16
  19. { 4, 3, 6, 3, 650, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3 }, // JOB_ASSASSIN 16
  20. { 5, 3, 3, 5, 650, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3 }, // JOB_SURA 16
  21. { 3, 4, 3, 6, 700, 200, 40, 20, 36, 44, 18, 22, 800, 5, 1, 3 } // JOB_SHAMANa 16
  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. 2100000000,
  188. 2100000000,
  189. 2100000000,
  190. 2100000000,
  191. 2100000000, // 125
  192. 2100000000,
  193. 2100000000,
  194. 2100000000,
  195. 2100000000,
  196. 2100000000, // 130
  197. 2100000000,
  198. 2100000000,
  199. 2100000000,
  200. 2100000000,
  201. 2100000000, // 135
  202. 2100000000,
  203. 2100000000,
  204. 2100000000,
  205. 2100000000,
  206. 2100000000, // 140
  207. 2100000000,
  208. 2100000000,
  209. 2100000000,
  210. 2100000000,
  211. 2100000000, // 145
  212. 2100000000,
  213. 2100000000,
  214. 2100000000,
  215. 2100000000,
  216. 2100000000, // 150
  217. 2100000000,
  218. 2100000000,
  219. 2100000000,
  220. 2100000000,
  221. 2100000000, // 155
  222. 2100000000,
  223. 2100000000,
  224. 2100000000,
  225. 2100000000,
  226. 2100000000, // 160
  227. 2100000000,
  228. 2100000000,
  229. 2100000000,
  230. 2100000000,
  231. 2100000000, // 165
  232. 2100000000,
  233. 2100000000,
  234. 2100000000,
  235. 2100000000,
  236. 2100000000, // 170
  237. 2100000000,
  238. 2100000000,
  239. 2100000000,
  240. 2100000000,
  241. 2100000000, // 175
  242. 2100000000,
  243. 2100000000,
  244. 2100000000,
  245. 2100000000,
  246. 2100000000, // 180
  247. 2100000000,
  248. 2100000000,
  249. 2100000000,
  250. 2100000000,
  251. 2100000000, // 185
  252. 2100000000,
  253. 2100000000,
  254. 2100000000,
  255. 2100000000,
  256. 2100000000, // 190
  257. 2100000000,
  258. 2100000000,
  259. 2100000000,
  260. 2100000000,
  261. 2100000000, // 195
  262. 2100000000,
  263. 2100000000,
  264. 2100000000,
  265. 2100000000,
  266. 2100000000, // 200
  267. };
  268.  
  269. const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] =
  270. {
  271. 0, // 0
  272. 300,
  273. 800,
  274. 1500,
  275. 2500,
  276. 4300,
  277. 7200,
  278. 11000,
  279. 17000,
  280. 24000,
  281. 33000, // 10
  282. 43000,
  283. 58000,
  284. 76000,
  285. 100000,
  286. 130000,
  287. 169000,
  288. 219000,
  289. 283000,
  290. 365000,
  291. 472000, // 20
  292. 610000,
  293. 705000,
  294. 813000,
  295. 937000,
  296. 1077000,
  297. 1237000,
  298. 1418000,
  299. 1624000,
  300. 1857000,
  301. 2122000, // 30
  302. 2421000,
  303. 2761000,
  304. 3145000,
  305. 3580000,
  306. 4073000,
  307. 4632000,
  308. 5194000,
  309. 5717000,
  310. 6264000,
  311. 6837000, // 40
  312. 7600000,
  313. 8274000,
  314. 8990000,
  315. 9753000,
  316. 10560000,
  317. 11410000,
  318. 12320000,
  319. 13270000,
  320. 14280000,
  321. 15340000, // 50
  322. 16870000,
  323. 18960000,
  324. 19980000,
  325. 21420000,
  326. 22930000,
  327. 24530000,
  328. 26200000,
  329. 27960000,
  330. 29800000,
  331. 32780000, // 60
  332. 36060000,
  333. 39670000,
  334. 43640000,
  335. 48000000,
  336. 52800000,
  337. 58080000,
  338. 63890000,
  339. 70280000,
  340. 77310000,
  341. 85040000, // 70
  342. 93540000,
  343. 102900000,
  344. 113200000,
  345. 124500000,
  346. 137000000,
  347. 150700000,
  348. 165700000,
  349. 236990000,
  350. 260650000,
  351. 286780000, // 80
  352. 315380000,
  353. 346970000,
  354. 381680000,
  355. 419770000,
  356. 461760000,
  357. 508040000,
  358. 558740000,
  359. 614640000,
  360. 676130000,
  361. 743730000, // 90
  362. 1041222000,
  363. 1145344200,
  364. 1259878620,
  365. 1385866482,
  366. 1524453130,
  367. 1676898443,
  368. 1844588288,
  369. 2029047116,
  370. 2050000000, // 99·ąş§ ŔĎ ¶§ ÇĘżä°ćÇčġ (100·ąş§ŔĚ µÇ±â Ŕ§ÇŃ)
  371. 2150000000, // 100
  372. 2210000000,
  373. 2250000000,
  374. 2280000000,
  375. 2310000000,
  376. 2330000000, // 105
  377. 2350000000,
  378. 2370000000,
  379. 2390000000,
  380. 2400000000,
  381. 2410000000, // 110
  382. 2420000000,
  383. 2430000000,
  384. 2440000000,
  385. 2450000000,
  386. 2460000000, // 115
  387. 2470000000,
  388. 2480000000,
  389. 2490000000,
  390. 2490000000,
  391. 2500000000, // 120
  392. 2500000000,
  393. 2500000000,
  394. 2500000000,
  395. 2500000000,
  396. 2500000000, // 125
  397. 2500000000,
  398. 2500000000,
  399. 2500000000,
  400. 2500000000,
  401. 2500000000, // 130
  402. 2500000000,
  403. 2500000000,
  404. 2500000000,
  405. 2500000000,
  406. 2500000000, // 135
  407. 2500000000,
  408. 2500000000,
  409. 2500000000,
  410. 2500000000,
  411. 2500000000, // 140
  412. 2500000000,
  413. 2500000000,
  414. 2500000000,
  415. 2500000000,
  416. 2500000000, // 145
  417. 2500000000,
  418. 2500000000,
  419. 2500000000,
  420. 2500000000,
  421. 2500000000, // 150
  422. 2500000000,
  423. 2500000000,
  424. 2500000000,
  425. 2500000000,
  426. 2500000000, // 155
  427. 2500000000,
  428. 2500000000,
  429. 2500000000,
  430. 2500000000,
  431. 2500000000, // 160
  432. 2500000000,
  433. 2500000000,
  434. 2500000000,
  435. 2500000000,
  436. 2500000000, // 165
  437. 2500000000,
  438. 2500000000,
  439. 2500000000,
  440. 2500000000,
  441. 2500000000, // 170
  442. 2500000000,
  443. 2500000000,
  444. 2500000000,
  445. 2500000000,
  446. 2500000000, // 175
  447. 2500000000,
  448. 2500000000,
  449. 2500000000,
  450. 2500000000,
  451. 2500000000, // 180
  452. 2500000000,
  453. 2500000000,
  454. 2500000000,
  455. 2500000000,
  456. 2500000000, // 185
  457. 2500000000,
  458. 2500000000,
  459. 2500000000,
  460. 2500000000,
  461. 2500000000, // 190
  462. 2500000000,
  463. 2500000000,
  464. 2500000000,
  465. 2500000000,
  466. 2500000000, // 195
  467. 2500000000,
  468. 2500000000,
  469. 2500000000,
  470. 2500000000,
  471. 2500000000, // 200
  472. };
  473.  
  474. const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ] =
  475. {
  476. 300, // 0
  477. 800, // 1
  478. 1500,
  479. 2500,
  480. 4300,
  481. 7200,
  482. 11400,
  483. 17000,
  484. 24000,
  485. 33000,
  486. 46000, // 10
  487. 62000,
  488. 83000,
  489. 111000,
  490. 149000,
  491. 200000,
  492. 268000,
  493. 360000,
  494. 482000,
  495. 647000,
  496. 868000, // 20
  497. 996000,
  498. 1143000,
  499. 1312000,
  500. 1506000,
  501. 1729000,
  502. 1984000,
  503. 2277000,
  504. 2614000,
  505. 3000000,
  506. 3443000, // 30
  507. 3952000,
  508. 4536000,
  509. 5206000,
  510. 5975000,
  511. 6858000,
  512. 7730000,
  513. 8504000,
  514. 9307000,
  515. 10140000,
  516. 11330000, // 40
  517. 12320000,
  518. 13370000,
  519. 14490000,
  520. 15670000,
  521. 16920000,
  522. 18240000,
  523. 19630000,
  524. 21090000,
  525. 22630000,
  526. 24670000, // 50
  527. 26890000,
  528. 29310000,
  529. 31950000,
  530. 34820000,
  531. 37960000,
  532. 41370000,
  533. 45100000,
  534. 49160000,
  535. 53580000,
  536. 58400000, // 60
  537. 63660000,
  538. 69390000,
  539. 75630000,
  540. 82440000,
  541. 89860000,
  542. 97950000,
  543. 106760000,
  544. 136370000,
  545. 151800000,
  546. 168300000, // 70
  547. 250000000,
  548. 340000000,
  549. 450000000,
  550. 570000000,
  551. 690000000,
  552. 810000000,
  553. 912600000,
  554. 1004000000,
  555. 1094000000,
  556. 1182000000, // 80
  557. 1269000000,
  558. 1354000000,
  559. 1438000000,
  560. 1521000000,
  561. 1603000000,
  562. 1684000000,
  563. 1764000000,
  564. 1844000000,
  565. 1922000000,
  566. 2000000000, // 90
  567. 2000000000,
  568. 2000000000,
  569. 2000000000,
  570. 2000000000,
  571. 2000000000,
  572. 2000000000,
  573. 2000000000,
  574. 2000000000,
  575. 2000000000, // 99 99·ąş§ŔĎ ¶§ ÇĘżä°ćÇčġ (100·ąş§ŔĚ µÇ±â Ŕ§ÇŃ).. ÇöŔç CIBNŔĚ ľî¶»°Ô żîżµÇĎ°í ŔÖ´Â Áö ¸đ¸Ł´Ď ˝Ĺ±Ô Ĺ×ŔĚşíŔ» ľ˛Áö ľĘ°í ±âÁ¸°Ş °čĽÓ ż¬Ŕĺ ŔŻÁö
  576. 2000000000, // 100
  577. 2000000000,
  578. 2000000000,
  579. 2000000000,
  580. 2000000000,
  581. 2000000000, // 105
  582. 2000000000,
  583. 2000000000,
  584. 2000000000,
  585. 2000000000,
  586. 2000000000, // 110
  587. 2000000000,
  588. 2000000000,
  589. 2000000000,
  590. 2000000000,
  591. 2000000000, // 115
  592. 2000000000,
  593. 2000000000,
  594. 2000000000,
  595. 2000000000,
  596. 2000000000, // 120
  597. 2000000000,
  598. 2000000000,
  599. 2000000000,
  600. 2000000000,
  601. 2000000000, // 125
  602. 2000000000,
  603. 2000000000,
  604. 2000000000,
  605. 2000000000,
  606. 2000000000, // 130
  607. 2000000000,
  608. 2000000000,
  609. 2000000000,
  610. 2000000000,
  611. 2000000000, // 135
  612. 2000000000,
  613. 2000000000,
  614. 2000000000,
  615. 2000000000,
  616. 2000000000, // 140
  617. 2000000000,
  618. 2000000000,
  619. 2000000000,
  620. 2000000000,
  621. 2000000000, // 145
  622. 2000000000,
  623. 2000000000,
  624. 2000000000,
  625. 2000000000,
  626. 2000000000, // 150
  627. 2000000000,
  628. 2000000000,
  629. 2000000000,
  630. 2000000000,
  631. 2000000000, // 155
  632. 2000000000,
  633. 2000000000,
  634. 2000000000,
  635. 2000000000,
  636. 2000000000, // 160
  637. 2000000000,
  638. 2000000000,
  639. 2000000000,
  640. 2000000000,
  641. 2000000000, // 165
  642. 2000000000,
  643. 2000000000,
  644. 2000000000,
  645. 2000000000,
  646. 2000000000, // 170
  647. 2000000000,
  648. 2000000000,
  649. 2000000000,
  650. 2000000000,
  651. 2000000000, // 175
  652. 2000000000,
  653. 2000000000,
  654. 2000000000,
  655. 2000000000,
  656. 2000000000, // 180
  657. 2000000000,
  658. 2000000000,
  659. 2000000000,
  660. 2000000000,
  661. 2000000000, // 185
  662. 2000000000,
  663. 2000000000,
  664. 2000000000,
  665. 2000000000,
  666. 2000000000, // 190
  667. 2000000000,
  668. 2000000000,
  669. 2000000000,
  670. 2000000000,
  671. 2000000000, // 195
  672. 2000000000,
  673. 2000000000,
  674. 2000000000,
  675. 2000000000,
  676. 2000000000, // 200
  677. };
  678.  
  679. const int * aiPercentByDeltaLev = NULL;
  680. const int * aiPercentByDeltaLevForBoss = NULL;
  681.  
  682. // Ŕű°ú łŞżÍŔÇ ·ąş§Â÷ŔĚżˇ ŔÇÇŃ °č»ężˇ »çżëµÇ´Â Ĺ×ŔĚşí
  683. // MIN(MAX_EXP_DELTA_OF_LEV - 1, (Ŕű·ľ + 15) - ł»·ľ))
  684. const int aiPercentByDeltaLevForBoss_euckr[MAX_EXP_DELTA_OF_LEV] =
  685. {
  686. 1, // -15 0
  687. 3, // -14 1
  688. 5, // -13 2
  689. 7, // -12 3
  690. 15, // -11 4
  691. 30, // -10 5
  692. 60, // -9 6
  693. 90, // -8 7
  694. 91, // -7 8
  695. 92, // -6 9
  696. 93, // -5 10
  697. 94, // -4 11
  698. 95, // -3 12
  699. 97, // -2 13
  700. 99, // -1 14
  701. 100, // 0 15
  702. 105, // 1 16
  703. 110, // 2 17
  704. 115, // 3 18
  705. 120, // 4 19
  706. 125, // 5 20
  707. 130, // 6 21
  708. 135, // 7 22
  709. 140, // 8 23
  710. 145, // 9 24
  711. 150, // 10 25
  712. 155, // 11 26
  713. 160, // 12 27
  714. 165, // 13 28
  715. 170, // 14 29
  716. 180 // 15 30
  717. };
  718.  
  719.  
  720.  
  721. const int aiPercentByDeltaLev_euckr[MAX_EXP_DELTA_OF_LEV] =
  722. {
  723. 1, // -15 0
  724. 5, // -14 1
  725. 10, // -13 2
  726. 20, // -12 3
  727. 30, // -11 4
  728. 50, // -10 5
  729. 70, // -9 6
  730. 80, // -8 7
  731. 85, // -7 8
  732. 90, // -6 9
  733. 92, // -5 10
  734. 94, // -4 11
  735. 96, // -3 12
  736. 98, // -2 13
  737. 100, // -1 14
  738. 100, // 0 15
  739. 105, // 1 16
  740. 110, // 2 17
  741. 115, // 3 18
  742. 120, // 4 19
  743. 125, // 5 20
  744. 130, // 6 21
  745. 135, // 7 22
  746. 140, // 8 23
  747. 145, // 9 24
  748. 150, // 10 25
  749. 155, // 11 26
  750. 160, // 12 27
  751. 165, // 13 28
  752. 170, // 14 29
  753. 180, // 15 30
  754. };
  755.  
  756. const DWORD party_exp_distribute_table[PLAYER_MAX_LEVEL_CONST + 1] =
  757. {
  758. 0,
  759. 10, 10, 10, 10, 15, 15, 20, 25, 30, 40, // 1 - 10
  760. 50, 60, 80, 100, 120, 140, 160, 184, 210, 240, // 11 - 20
  761. 270, 300, 330, 360, 390, 420, 450, 480, 510, 550, // 21 - 30
  762. 600, 640, 700, 760, 820, 880, 940, 1000, 1100, 1180, // 31 - 40
  763. 1260, 1320, 1380, 1440, 1500, 1560, 1620, 1680, 1740, 1800, // 41 - 50
  764. 1860, 1920, 2000, 2100, 2200, 2300, 2450, 2600, 2750, 2900, // 51 - 60
  765. 3050, 3200, 3350, 3500, 3650, 3800, 3950, 4100, 4250, 4400, // 61 - 70
  766. 4600, 4800, 5000, 5200, 5400, 5600, 5800, 6000, 6200, 6400, // 71 - 80
  767. 6600, 6900, 7100, 7300, 7600, 7800, 8000, 8300, 8500, 8800, // 81 - 90
  768. 9000, 9000, 9000, 9000, 9000, 9000, 9000, 9000, 9000, 9000, // 91 - 100
  769. 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, // 101 - 110
  770. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 111 - 120
  771. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 121 - 130
  772. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 131 - 140
  773. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 141 - 150
  774. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 161 - 170
  775. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 171 - 180
  776. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 181 - 190
  777. 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, 12000, // 191 - 200
  778. };
  779.  
  780. Coord aArroundCoords[ARROUND_COORD_MAX_NUM] =
  781. {
  782. { 0, 0 },
  783. { 0, 50 },
  784. { 35, 35 },
  785. { 50, -0 },
  786. { 35, -35 },
  787. { 0, -50 },
  788. { -35, -35 },
  789. { -50, 0 },
  790. { -35, 35 },
  791. { 0, 100 },
  792. { 71, 71 },
  793. { 100, -0 },
  794. { 71, -71 },
  795. { 0, -100 },
  796. { -71, -71 },
  797. { -100, 0 },
  798. { -71, 71 },
  799. { 0, 150 },
  800. { 106, 106 },
  801. { 150, -0 },
  802. { 106, -106 },
  803. { 0, -150 },
  804. { -106, -106 },
  805. { -150, 0 },
  806. { -106, 106 },
  807. { 0, 200 },
  808. { 141, 141 },
  809. { 200, -0 },
  810. { 141, -141 },
  811. { 0, -200 },
  812. { -141, -141 },
  813. { -200, 0 },
  814. { -141, 141 },
  815. { 0, 250 },
  816. { 177, 177 },
  817. { 250, -0 },
  818. { 177, -177 },
  819. { 0, -250 },
  820. { -177, -177 },
  821. { -250, 0 },
  822. { -177, 177 },
  823. { 0, 300 },
  824. { 212, 212 },
  825. { 300, -0 },
  826. { 212, -212 },
  827. { 0, -300 },
  828. { -212, -212 },
  829. { -300, 0 },
  830. { -212, 212 },
  831. { 0, 350 },
  832. { 247, 247 },
  833. { 350, -0 },
  834. { 247, -247 },
  835. { 0, -350 },
  836. { -247, -247 },
  837. { -350, 0 },
  838. { -247, 247 },
  839. { 0, 400 },
  840. { 283, 283 },
  841. { 400, -0 },
  842. { 283, -283 },
  843. { 0, -400 },
  844. { -283, -283 },
  845. { -400, 0 },
  846. { -283, 283 },
  847. { 0, 450 },
  848. { 318, 318 },
  849. { 450, -0 },
  850. { 318, -318 },
  851. { 0, -450 },
  852. { -318, -318 },
  853. { -450, 0 },
  854. { -318, 318 },
  855. { 0, 500 },
  856. { 354, 354 },
  857. { 500, -0 },
  858. { 354, -354 },
  859. { 0, -500 },
  860. { -354, -354 },
  861. { -500, 0 },
  862. { -354, 354 },
  863. { 0, 550 },
  864. { 389, 389 },
  865. { 550, -0 },
  866. { 389, -389 },
  867. { 0, -550 },
  868. { -389, -389 },
  869. { -550, 0 },
  870. { -389, 389 },
  871. { 0, 600 },
  872. { 424, 424 },
  873. { 600, -0 },
  874. { 424, -424 },
  875. { 0, -600 },
  876. { -424, -424 },
  877. { -600, 0 },
  878. { -424, 424 },
  879. { 0, 650 },
  880. { 460, 460 },
  881. { 650, -0 },
  882. { 460, -460 },
  883. { 0, -650 },
  884. { -460, -460 },
  885. { -650, 0 },
  886. { -460, 460 },
  887. { 0, 700 },
  888. { 495, 495 },
  889. { 700, -0 },
  890. { 495, -495 },
  891. { 0, -700 },
  892. { -495, -495 },
  893. { -700, 0 },
  894. { -495, 495 },
  895. { 0, 750 },
  896. { 530, 530 },
  897. { 750, -0 },
  898. { 530, -530 },
  899. { 0, -750 },
  900. { -530, -530 },
  901. { -750, 0 },
  902. { -530, 530 },
  903. { 0, 800 },
  904. { 566, 566 },
  905. { 800, -0 },
  906. { 566, -566 },
  907. { 0, -800 },
  908. { -566, -566 },
  909. { -800, 0 },
  910. { -566, 566 },
  911. { 0, 850 },
  912. { 601, 601 },
  913. { 850, -0 },
  914. { 601, -601 },
  915. { 0, -850 },
  916. { -601, -601 },
  917. { -850, 0 },
  918. { -601, 601 },
  919. { 0, 900 },
  920. { 636, 636 },
  921. { 900, -0 },
  922. { 636, -636 },
  923. { 0, -900 },
  924. { -636, -636 },
  925. { -900, 0 },
  926. { -636, 636 },
  927. { 0, 950 },
  928. { 672, 672 },
  929. { 950, -0 },
  930. { 672, -672 },
  931. { 0, -950 },
  932. { -672, -672 },
  933. { -950, 0 },
  934. { -672, 672 },
  935. { 0, 1000 },
  936. { 707, 707 },
  937. { 1000, -0 },
  938. { 707, -707 },
  939. { 0, -1000 },
  940. { -707, -707 },
  941. { -1000, 0 },
  942. { -707, 707 },
  943. };
  944.  
  945. const DWORD guild_exp_table[GUILD_MAX_LEVEL+1] =
  946. {
  947. 0,
  948. 15000UL,
  949. 45000UL,
  950. 90000UL,
  951. 160000UL,
  952. 235000UL,
  953. 325000UL,
  954. 430000UL,
  955. 550000UL,
  956. 685000UL,
  957. 835000UL,
  958. 1000000UL,
  959. 1500000UL,
  960. 2100000UL,
  961. 2800000UL,
  962. 3600000UL,
  963. 4500000UL,
  964. 6500000UL,
  965. 8000000UL,
  966. 10000000UL,
  967. 42000000UL
  968. };
  969.  
  970. // INTERNATIONAL_VERSION ±ćµĺ°ćÇčġ
  971. const DWORD guild_exp_table2[GUILD_MAX_LEVEL+1] =
  972. {
  973. 0,
  974. 6000UL,
  975. 18000UL,
  976. 36000UL,
  977. 64000UL,
  978. 94000UL,
  979. 130000UL,
  980. 172000UL,
  981. 220000UL,
  982. 274000UL,
  983. 334000UL,
  984. 400000UL,
  985. 600000UL,
  986. 840000UL,
  987. 1120000UL,
  988. 1440000UL,
  989. 1800000UL,
  990. 2600000UL,
  991. 3200000UL,
  992. 4000000UL,
  993. 16800000UL
  994. };
  995. // END_OF_INTERNATIONAL_VERSION ±ćµĺ°ćÇčġ
  996.  
  997. const int aiMobEnchantApplyIdx[MOB_ENCHANTS_MAX_NUM] =
  998. {
  999. APPLY_CURSE_PCT,
  1000. APPLY_SLOW_PCT,
  1001. APPLY_POISON_PCT,
  1002. APPLY_STUN_PCT,
  1003. APPLY_CRITICAL_PCT,
  1004. APPLY_PENETRATE_PCT,
  1005. };
  1006.  
  1007. const int aiMobResistsApplyIdx[MOB_RESISTS_MAX_NUM] =
  1008. {
  1009. APPLY_RESIST_SWORD,
  1010. APPLY_RESIST_TWOHAND,
  1011. APPLY_RESIST_DAGGER,
  1012. APPLY_RESIST_BELL,
  1013. APPLY_RESIST_FAN,
  1014. APPLY_RESIST_BOW,
  1015. APPLY_RESIST_FIRE,
  1016. APPLY_RESIST_ELEC,
  1017. APPLY_RESIST_MAGIC,
  1018. APPLY_RESIST_WIND,
  1019. APPLY_POISON_REDUCE,
  1020. };
  1021.  
  1022. const int aiSocketPercentByQty[5][4] =
  1023. {
  1024. { 0, 0, 0, 0 },
  1025. { 3, 0, 0, 0 },
  1026. { 10, 1, 0, 0 },
  1027. { 15, 10, 1, 0 },
  1028. { 20, 15, 10, 1 }
  1029. };
  1030.  
  1031. const int aiWeaponSocketQty[WEAPON_NUM_TYPES] =
  1032. {
  1033. 3, // WEAPON_SWORD,
  1034. 3, // WEAPON_DAGGER,
  1035. 3, // WEAPON_BOW,
  1036. 3, // WEAPON_TWO_HANDED,
  1037. 3, // WEAPON_BELL,
  1038. 3, // WEAPON_FAN,
  1039. 0, // WEAPON_ARROW,
  1040. 0, // WEAPON_MOUNT_SPEAR
  1041. };
  1042.  
  1043. const int aiArmorSocketQty[ARMOR_NUM_TYPES] =
  1044. {
  1045. 3, // ARMOR_BODY,
  1046. 1, // ARMOR_HEAD,
  1047. 1, // ARMOR_SHIELD,
  1048. 0, // ARMOR_WRIST,
  1049. 0, // ARMOR_FOOTS,
  1050. 0 // ARMOR_ACCESSORY
  1051. };
  1052.  
  1053. TItemAttrMap g_map_itemAttr;
  1054. TItemAttrMap g_map_itemRare;
  1055.  
  1056. const TApplyInfo aApplyInfo[MAX_APPLY_NUM] =
  1057. /*
  1058. {
  1059. DWORD dwPointType;
  1060. }
  1061. */
  1062. {
  1063. // Point Type
  1064. { POINT_NONE, }, // APPLY_NONE, 0
  1065. { POINT_MAX_HP, }, // APPLY_MAX_HP, 1
  1066. { POINT_MAX_SP, }, // APPLY_MAX_SP, 2
  1067. { POINT_HT, }, // APPLY_CON, 3
  1068. { POINT_IQ, }, // APPLY_INT, 4
  1069. { POINT_ST, }, // APPLY_STR, 5
  1070. { POINT_DX, }, // APPLY_DEX, 6
  1071. { POINT_ATT_SPEED, }, // APPLY_ATT_SPEED, 7
  1072. { POINT_MOV_SPEED, }, // APPLY_MOV_SPEED, 8
  1073. { POINT_CASTING_SPEED, }, // APPLY_CAST_SPEED, 9
  1074. { POINT_HP_REGEN, }, // APPLY_HP_REGEN, 10
  1075. { POINT_SP_REGEN, }, // APPLY_SP_REGEN, 11
  1076. { POINT_POISON_PCT, }, // APPLY_POISON_PCT, 12
  1077. { POINT_STUN_PCT, }, // APPLY_STUN_PCT, 13
  1078. { POINT_SLOW_PCT, }, // APPLY_SLOW_PCT, 14
  1079. { POINT_CRITICAL_PCT, }, // APPLY_CRITICAL_PCT, 15
  1080. { POINT_PENETRATE_PCT, }, // APPLY_PENETRATE_PCT, 16
  1081. { POINT_ATTBONUS_HUMAN, }, // APPLY_ATTBONUS_HUMAN, 17
  1082. { POINT_ATTBONUS_ANIMAL, }, // APPLY_ATTBONUS_ANIMAL, 18
  1083. { POINT_ATTBONUS_ORC, }, // APPLY_ATTBONUS_ORC, 19
  1084. { POINT_ATTBONUS_MILGYO, }, // APPLY_ATTBONUS_MILGYO, 20
  1085. { POINT_ATTBONUS_UNDEAD, }, // APPLY_ATTBONUS_UNDEAD, 21
  1086. { POINT_ATTBONUS_DEVIL, }, // APPLY_ATTBONUS_DEVIL, 22
  1087. { POINT_STEAL_HP, }, // APPLY_STEAL_HP, 23
  1088. { POINT_STEAL_SP, }, // APPLY_STEAL_SP, 24
  1089. { POINT_MANA_BURN_PCT, }, // APPLY_MANA_BURN_PCT, 25
  1090. { POINT_DAMAGE_SP_RECOVER, }, // APPLY_DAMAGE_SP_RECOVER,26
  1091. { POINT_BLOCK, }, // APPLY_BLOCK, 27
  1092. { POINT_DODGE, }, // APPLY_DODGE, 28
  1093. { POINT_RESIST_SWORD, }, // APPLY_RESIST_SWORD, 29
  1094. { POINT_RESIST_TWOHAND, }, // APPLY_RESIST_TWOHAND, 30
  1095. { POINT_RESIST_DAGGER, }, // APPLY_RESIST_DAGGER, 31
  1096. { POINT_RESIST_BELL, }, // APPLY_RESIST_BELL, 32
  1097. { POINT_RESIST_FAN, }, // APPLY_RESIST_FAN, 33
  1098. { POINT_RESIST_BOW, }, // APPLY_RESIST_BOW, 34
  1099. { POINT_RESIST_FIRE, }, // APPLY_RESIST_FIRE, 35
  1100. { POINT_RESIST_ELEC, }, // APPLY_RESIST_ELEC, 36
  1101. { POINT_RESIST_MAGIC, }, // APPLY_RESIST_MAGIC, 37
  1102. { POINT_RESIST_WIND, }, // APPLY_RESIST_WIND, 38
  1103. { POINT_REFLECT_MELEE, }, // APPLY_REFLECT_MELEE, 39
  1104. { POINT_REFLECT_CURSE, }, // APPLY_REFLECT_CURSE, 40
  1105. { POINT_POISON_REDUCE, }, // APPLY_POISON_REDUCE, 41
  1106. { POINT_KILL_SP_RECOVER, }, // APPLY_KILL_SP_RECOVER, 42
  1107. { POINT_EXP_DOUBLE_BONUS, }, // APPLY_EXP_DOUBLE_BONUS, 43
  1108. { POINT_GOLD_DOUBLE_BONUS, }, // APPLY_GOLD_DOUBLE_BONUS,44
  1109. { POINT_ITEM_DROP_BONUS, }, // APPLY_ITEM_DROP_BONUS, 45
  1110. { POINT_POTION_BONUS, }, // APPLY_POTION_BONUS, 46
  1111. { POINT_KILL_HP_RECOVERY, }, // APPLY_KILL_HP_RECOVER, 47
  1112. { POINT_IMMUNE_STUN, }, // APPLY_IMMUNE_STUN, 48
  1113. { POINT_IMMUNE_SLOW, }, // APPLY_IMMUNE_SLOW, 49
  1114. { POINT_IMMUNE_FALL, }, // APPLY_IMMUNE_FALL, 50
  1115. { POINT_NONE, }, // APPLY_SKILL, 51
  1116. { POINT_BOW_DISTANCE, }, // APPLY_BOW_DISTANCE, 52
  1117. { POINT_ATT_GRADE_BONUS, }, // APPLY_ATT_GRADE, 53
  1118. { POINT_DEF_GRADE_BONUS, }, // APPLY_DEF_GRADE, 54
  1119. { POINT_MAGIC_ATT_GRADE_BONUS, }, // APPLY_MAGIC_ATT_GRADE, 55
  1120. { POINT_MAGIC_DEF_GRADE_BONUS, }, // APPLY_MAGIC_DEF_GRADE, 56
  1121. { POINT_CURSE_PCT, }, // APPLY_CURSE_PCT, 57
  1122. { POINT_MAX_STAMINA }, // APPLY_MAX_STAMINA 58
  1123. { POINT_ATTBONUS_WARRIOR }, // APPLY_ATTBONUS_WARRIOR 59
  1124. { POINT_ATTBONUS_ASSASSIN }, // APPLY_ATTBONUS_ASSASSIN 60
  1125. { POINT_ATTBONUS_SURA }, // APPLY_ATTBONUS_SURA 61
  1126. { POINT_ATTBONUS_SHAMAN }, // APPLY_ATTBONUS_SHAMAN 62
  1127. { POINT_ATTBONUS_MONSTER }, // APPLY_ATTBONUS_MONSTER 63
  1128. { POINT_ATT_BONUS }, // 64 // APPLY_MALL_ATTBONUS
  1129. { POINT_MALL_DEFBONUS }, // 65
  1130. { POINT_MALL_EXPBONUS }, // 66 APPLY_MALL_EXPBONUS
  1131. { POINT_MALL_ITEMBONUS }, // 67
  1132. { POINT_MALL_GOLDBONUS }, // 68
  1133. { POINT_MAX_HP_PCT }, // 69
  1134. { POINT_MAX_SP_PCT }, // 70
  1135. { POINT_SKILL_DAMAGE_BONUS }, // 71
  1136. { POINT_NORMAL_HIT_DAMAGE_BONUS }, // 72
  1137.  
  1138. // DEFEND_BONUS_ATTRIBUTES
  1139. { POINT_SKILL_DEFEND_BONUS }, // 73
  1140. { POINT_NORMAL_HIT_DEFEND_BONUS }, // 74
  1141. // END_OF_DEFEND_BONUS_ATTRIBUTES
  1142.  
  1143. // PC_BANG_ITEM_ADD
  1144. { POINT_PC_BANG_EXP_BONUS }, // 75
  1145. { POINT_PC_BANG_DROP_BONUS }, // 76
  1146. // END_PC_BANG_ITEM_ADD
  1147.  
  1148. { POINT_NONE, }, // 77 »çżë˝Ă HP ĽŇ¸đ APPLY_EXTRACT_HP_PCT
  1149.  
  1150. { POINT_RESIST_WARRIOR, }, // 78 ą«»çżˇ°Ô ŔúÇ× APPLY_RESIST_WARRIOR
  1151. { POINT_RESIST_ASSASSIN, }, // 79 ŔÚ°´żˇ°Ô ŔúÇ× APPLY_RESIST_ASSASSIN
  1152. { POINT_RESIST_SURA, }, // 80 Ľö¶óżˇ°Ô ŔúÇ× APPLY_RESIST_SURA
  1153. { POINT_RESIST_SHAMAN, }, // 81 ą«´çżˇ°Ô ŔúÇ× APPLY_RESIST_SHAMAN
  1154. { POINT_ENERGY }, // 82 ±â·Â
  1155. { POINT_DEF_GRADE }, // 83 ąćľî·Â. DEF_GRADE_BONUS´Â Ŭ¶óżˇĽ­ µÎąč·Î ş¸ż©Áö´Â ŔǵµµČ ąö±×(...)°ˇ ŔÖ´Ů.
  1156. { POINT_COSTUME_ATTR_BONUS }, // 84 ÄÚ˝şĆ¬żˇ şŮŔş ĽÓĽşżˇ ´ëÇŘĽ­¸¸ ş¸łĘ˝ş¸¦ ÁÖ´Â ±â·Â
  1157. { POINT_MAGIC_ATT_BONUS_PER }, // 85 ¸¶ąý °ř°Ý·Â +x%
  1158. { POINT_MELEE_MAGIC_ATT_BONUS_PER }, // 86 APPLY_MELEE_MAGIC_ATTBONUS_PER
  1159. { POINT_RESIST_ICE, }, // APPLY_RESIST_ICE, 87
  1160. { POINT_RESIST_EARTH, }, // APPLY_RESIST_EARTH, 88
  1161. { POINT_RESIST_DARK, }, // APPLY_RESIST_DARK, 89
  1162. { POINT_RESIST_CRITICAL, }, // APPLY_ANTI_CRITICAL_PCT, 90
  1163. { POINT_RESIST_PENETRATE, }, // APPLY_ANTI_PENETRATE_PCT, 91
  1164. };
  1165.  
  1166. const int aiItemMagicAttributePercentHigh[ITEM_ATTRIBUTE_MAX_LEVEL] =
  1167. {
  1168. //25, 25, 40, 8, 2,
  1169. 30, 40, 20, 8, 2
  1170. };
  1171.  
  1172. const int aiItemMagicAttributePercentLow[ITEM_ATTRIBUTE_MAX_LEVEL] =
  1173. {
  1174. //45, 25, 20, 10, 0,
  1175. 50, 40, 10, 0, 0
  1176. };
  1177.  
  1178. // ADD_ITEM_ATTRIBUTE
  1179. const int aiItemAttributeAddPercent[ITEM_ATTRIBUTE_MAX_NUM] =
  1180. {
  1181. 100, 80, 60, 50, 30, 0, 0,
  1182. };
  1183. // END_OF_ADD_ITEM_ATTRIBUTE
  1184.  
  1185. const int aiExpLossPercents[PLAYER_EXP_TABLE_MAX + 1] =
  1186. {
  1187. 0,
  1188. 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, // 1 - 10
  1189. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, // 11 - 20
  1190. 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, // 21 - 30
  1191. 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 31 - 40
  1192. 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, // 41 - 50
  1193. 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 51 - 60
  1194. 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, // 61 - 70
  1195. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 71 - 80
  1196. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 81 - 90
  1197. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 91 - 100
  1198. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 101 - 110
  1199. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 111 - 120
  1200. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 121 - 130
  1201. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 131 - 140
  1202. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 141 - 150
  1203. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 151 - 160
  1204. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 161 - 170
  1205. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 171 - 180
  1206. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 181 - 190
  1207. 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 191 - 200
  1208. };
  1209.  
  1210. const int aiSkillBookCountForLevelUp[10] =
  1211. {
  1212. 3, 3, 3, 3, 3, 4, 4, 5, 5, 6
  1213. };
  1214.  
  1215. // ADD_GRANDMASTER_SKILL
  1216. const int aiGrandMasterSkillBookCountForLevelUp[10] =
  1217. {
  1218. 3, 3, 5, 5, 7, 7, 10, 10, 10, 20,
  1219. };
  1220.  
  1221. const int aiGrandMasterSkillBookMinCount[10] =
  1222. {
  1223. // 1, 1, 3, 5, 10, 15, 20, 30, 40, 50,
  1224. // 3, 3, 5, 5, 10, 10, 15, 15, 20, 30
  1225. 1, 1, 1, 2, 2, 3, 3, 4, 5, 6
  1226. };
  1227.  
  1228. const int aiGrandMasterSkillBookMaxCount[10] =
  1229. {
  1230. // 6, 15, 30, 45, 60, 80, 100, 120, 160, 200,
  1231. // 6, 10, 15, 20, 30, 40, 50, 60, 70, 80
  1232. 5, 7, 9, 11, 13, 15, 20, 25, 30, 35
  1233. };
  1234. // END_OF_ADD_GRANDMASTER_SKILL
  1235.  
  1236. const int CHN_aiPartyBonusExpPercentByMemberCount[9] =
  1237. {
  1238. 0, 0, 12, 18, 26, 40, 53, 70, 100
  1239. };
  1240.  
  1241.  
  1242. // UPGRADE_PARTY_BONUS
  1243. const int KOR_aiPartyBonusExpPercentByMemberCount[9] =
  1244. {
  1245. 0,
  1246. 0,
  1247. 30, // 66% * 2 - 100
  1248. 60, // 53% * 3 - 100
  1249. 75, // 44% * 4 - 100
  1250. 90, // 38% * 5 - 100
  1251. 105, // 34% * 6 - 100
  1252. 110, // 30% * 7 - 100
  1253. 140, // 30% * 8 - 100
  1254. };
  1255.  
  1256. const int KOR_aiUniqueItemPartyBonusExpPercentByMemberCount[9] =
  1257. {
  1258. 0,
  1259. 0,
  1260. 15*2,
  1261. 14*3,
  1262. 13*4,
  1263. 12*5,
  1264. 11*6,
  1265. 10*7,
  1266. 10*8,
  1267. };
  1268. // END_OF_UPGRADE_PARTY_BONUS
  1269.  
  1270. const int * aiChainLightningCountBySkillLevel = NULL;
  1271.  
  1272. const int aiChainLightningCountBySkillLevel_euckr[SKILL_MAX_LEVEL+1] =
  1273. {
  1274. 0, // 0
  1275. 2, // 1
  1276. 2, // 2
  1277. 2, // 3
  1278. 2, // 4
  1279. 2, // 5
  1280. 2, // 6
  1281. 2, // 7
  1282. 2, // 8
  1283. 3, // 9
  1284. 3, // 10
  1285. 3, // 11
  1286. 3, // 12
  1287. 3, // 13
  1288. 3, // 14
  1289. 3, // 15
  1290. 3, // 16
  1291. 3, // 17
  1292. 3, // 18
  1293. 4, // 19
  1294. 4, // 20
  1295. 4, // 21
  1296. 4, // 22
  1297. 4, // 23
  1298. 5, // 24
  1299. 5, // 25
  1300. 5, // 26
  1301. 5, // 27
  1302. 5, // 28
  1303. 5, // 29
  1304. 5, // 30
  1305. 5, // 31
  1306. 5, // 32
  1307. 5, // 33
  1308. 5, // 34
  1309. 5, // 35
  1310. 5, // 36
  1311. 5, // 37
  1312. 5, // 38
  1313. 5, // 39
  1314. 5, // 40
  1315. };
  1316.  
  1317. const SStoneDropInfo aStoneDrop[STONE_INFO_MAX_NUM] =
  1318. {
  1319. // mob pct {+0 +1 +2 +3 +4}
  1320. {8005, 60, {30, 30, 30, 9, 1} },
  1321. {8006, 60, {28, 29, 31, 11, 1} },
  1322. {8007, 60, {24, 29, 32, 13, 2} },
  1323. {8008, 60, {22, 28, 33, 15, 2} },
  1324. {8009, 60, {21, 27, 33, 17, 2} },
  1325. {8010, 60, {18, 26, 34, 20, 2} },
  1326. {8011, 60, {14, 26, 35, 22, 3} },
  1327. {8012, 60, {10, 26, 37, 24, 3} },
  1328. {8013, 60, {2, 26, 40, 29, 3} },
  1329. {8014, 60, {0, 26, 41, 30, 3} },
  1330. };
  1331.  
  1332. const char * c_apszEmpireNames[EMPIRE_MAX_NUM] =
  1333. {
  1334. "ŔüÁ¦±ą",
  1335. "˝ĹĽö±ą",
  1336. "õÁ¶±ą",
  1337. "Ářłë±ą"
  1338. };
  1339.  
  1340. const char * c_apszPrivNames[MAX_PRIV_NUM] =
  1341. {
  1342. "",
  1343. "ľĆŔĚĹŰŔĚ łŞżĂ Č®·ü",
  1344. "µ·ŔĚ łŞżĂ Č®·ü",
  1345. "µ· ´ëąÚŔĚ łŞżĂ Č®·ü",
  1346. "°ćÇčġ ąčŔ˛",
  1347. };
  1348.  
  1349. const int aiPolymorphPowerByLevel[SKILL_MAX_LEVEL + 1] =
  1350. {
  1351. 10, // 1
  1352. 11, // 2
  1353. 11, // 3
  1354. 12, // 4
  1355. 13, // 5
  1356. 13, // 6
  1357. 14, // 7
  1358. 15, // 8
  1359. 16, // 9
  1360. 17, // 10
  1361. 18, // 11
  1362. 19, // 12
  1363. 20, // 13
  1364. 22, // 14
  1365. 23, // 15
  1366. 24, // 16
  1367. 26, // 17
  1368. 27, // 18
  1369. 29, // 19
  1370. 31, // 20
  1371. 33, // 21
  1372. 35, // 22
  1373. 37, // 23
  1374. 39, // 24
  1375. 41, // 25
  1376. 44, // 26
  1377. 46, // 27
  1378. 49, // 28
  1379. 52, // 29
  1380. 55, // 30
  1381. 59, // 31
  1382. 62, // 32
  1383. 66, // 33
  1384. 70, // 34
  1385. 74, // 35
  1386. 79, // 36
  1387. 84, // 37
  1388. 89, // 38
  1389. 94, // 39
  1390. 100, // 40
  1391. };
  1392.  
  1393. TGuildWarInfo KOR_aGuildWarInfo[GUILD_WAR_TYPE_MAX_NUM] =
  1394. /*
  1395. {
  1396. long lMapIndex;
  1397. int iWarPrice;
  1398. int iWinnerPotionRewardPctToWinner;
  1399. int iLoserPotionRewardPctToWinner;
  1400. int iInitialScore;
  1401. int iEndScore;
  1402. };
  1403. */
  1404. {
  1405. { 0, 0, 0, 0, 0, 0 },
  1406. { 110, 0, 100, 50, 0, 100 },
  1407. { 111, 0, 100, 50, 0, 10 },
  1408. };
  1409.  
  1410. //
  1411. // ľÇĽĽĽ­¸® ĽŇÄĎżë Ľöġµé
  1412. //
  1413.  
  1414. // ´ŮŔ̾Ƹóµĺ·Î ĽŇÄĎŔ» Ăß°ˇÇŇ ¶§ Č®·ü
  1415. const int aiAccessorySocketAddPct[ITEM_ACCESSORY_SOCKET_MAX_NUM] =
  1416. {
  1417. 50, 50, 50
  1418. };
  1419.  
  1420. // ľÇĽĽĽ­¸® Ľöġ °ŞŔÇ ¸î%¸¸Ĺ­ŔÇ Ľş´ÉŔ» Ăß°ˇÇĎ´ÂÁö
  1421. const int aiAccessorySocketEffectivePct[ITEM_ACCESSORY_SOCKET_MAX_NUM + 1] =
  1422. {
  1423. 0, 10, 20, 40
  1424. };
  1425.  
  1426. // ĽŇÄĎ ÁöĽÓ˝Ă°Ł 24, 12, 6
  1427. const int aiAccessorySocketDegradeTime[ITEM_ACCESSORY_SOCKET_MAX_NUM + 1] =
  1428. {
  1429. 0, 3600 * 24, 3600 * 12, 3600 * 6
  1430. };
  1431.  
  1432. // ĽŇÄĎ ŔĺÂř Ľş°ř·ü
  1433. const int aiAccessorySocketPutPct[ITEM_ACCESSORY_SOCKET_MAX_NUM + 1] =
  1434. {
  1435. 90, 80, 70, 0
  1436. };
  1437. // END_OF_ACCESSORY_REFINE
  1438.  
  1439. #include "../../common/length.h"
  1440. // from import_item_proto.c
  1441. typedef struct SValueName
  1442. {
  1443. const char * c_pszName;
  1444. long lValue;
  1445. } TValueName;
  1446.  
  1447. TValueName c_aApplyTypeNames[] =
  1448. {
  1449. { "STR", APPLY_STR },
  1450. { "DEX", APPLY_DEX },
  1451. { "CON", APPLY_CON },
  1452. { "INT", APPLY_INT },
  1453. { "MAX_HP", APPLY_MAX_HP },
  1454. { "MAX_SP", APPLY_MAX_SP },
  1455. { "MAX_STAMINA", APPLY_MAX_STAMINA },
  1456. { "POISON_REDUCE", APPLY_POISON_REDUCE },
  1457. { "EXP_DOUBLE_BONUS", APPLY_EXP_DOUBLE_BONUS },
  1458. { "GOLD_DOUBLE_BONUS", APPLY_GOLD_DOUBLE_BONUS },
  1459. { "ITEM_DROP_BONUS", APPLY_ITEM_DROP_BONUS },
  1460. { "HP_REGEN", APPLY_HP_REGEN },
  1461. { "SP_REGEN", APPLY_SP_REGEN },
  1462. { "ATTACK_SPEED", APPLY_ATT_SPEED },
  1463. { "MOVE_SPEED", APPLY_MOV_SPEED },
  1464. { "CAST_SPEED", APPLY_CAST_SPEED },
  1465. { "ATT_BONUS", APPLY_ATT_GRADE_BONUS },
  1466. { "DEF_BONUS", APPLY_DEF_GRADE_BONUS },
  1467. { "MAGIC_ATT_GRADE",APPLY_MAGIC_ATT_GRADE },
  1468. { "MAGIC_DEF_GRADE",APPLY_MAGIC_DEF_GRADE },
  1469. { "SKILL", APPLY_SKILL },
  1470. { "ATTBONUS_ANIMAL",APPLY_ATTBONUS_ANIMAL },
  1471. { "ATTBONUS_UNDEAD",APPLY_ATTBONUS_UNDEAD },
  1472. { "ATTBONUS_DEVIL", APPLY_ATTBONUS_DEVIL },
  1473. { "ATTBONUS_HUMAN", APPLY_ATTBONUS_HUMAN },
  1474. { "ADD_BOW_DISTANCE",APPLY_BOW_DISTANCE },
  1475. { "DODGE", APPLY_DODGE },
  1476. { "BLOCK", APPLY_BLOCK },
  1477. { "RESIST_SWORD", APPLY_RESIST_SWORD },
  1478. { "RESIST_TWOHAND", APPLY_RESIST_TWOHAND },
  1479. { "RESIST_DAGGER", APPLY_RESIST_DAGGER },
  1480. { "RESIST_BELL", APPLY_RESIST_BELL },
  1481. { "RESIST_FAN", APPLY_RESIST_FAN },
  1482. { "RESIST_BOW", APPLY_RESIST_BOW },
  1483. { "RESIST_FIRE", APPLY_RESIST_FIRE },
  1484. { "RESIST_ELEC", APPLY_RESIST_ELEC },
  1485. { "RESIST_MAGIC", APPLY_RESIST_MAGIC },
  1486. { "RESIST_WIND", APPLY_RESIST_WIND },
  1487. { "REFLECT_MELEE", APPLY_REFLECT_MELEE },
  1488. { "REFLECT_CURSE", APPLY_REFLECT_CURSE },
  1489. { "RESIST_ICE", APPLY_RESIST_ICE },
  1490. { "RESIST_EARTH", APPLY_RESIST_EARTH },
  1491. { "RESIST_DARK", APPLY_RESIST_DARK },
  1492. { "RESIST_CRITICAL", APPLY_ANTI_CRITICAL_PCT },
  1493. { "RESIST_PENETRATE", APPLY_ANTI_PENETRATE_PCT },
  1494. { "POISON", APPLY_POISON_PCT },
  1495. { "SLOW", APPLY_SLOW_PCT },
  1496. { "STUN", APPLY_STUN_PCT },
  1497. { "STEAL_HP", APPLY_STEAL_HP },
  1498. { "STEAL_SP", APPLY_STEAL_SP },
  1499. { "MANA_BURN_PCT", APPLY_MANA_BURN_PCT },
  1500. { "CRITICAL", APPLY_CRITICAL_PCT },
  1501. { "PENETRATE", APPLY_PENETRATE_PCT },
  1502. { "KILL_SP_RECOVER",APPLY_KILL_SP_RECOVER },
  1503. { "KILL_HP_RECOVER",APPLY_KILL_HP_RECOVER },
  1504. { "PENETRATE_PCT", APPLY_PENETRATE_PCT },
  1505. { "CRITICAL_PCT", APPLY_CRITICAL_PCT },
  1506. { "POISON_PCT", APPLY_POISON_PCT },
  1507. { "STUN_PCT", APPLY_STUN_PCT },
  1508. { "ATT_BONUS_TO_WARRIOR", APPLY_ATTBONUS_WARRIOR },
  1509. { "ATT_BONUS_TO_ASSASSIN", APPLY_ATTBONUS_ASSASSIN },
  1510. { "ATT_BONUS_TO_SURA", APPLY_ATTBONUS_SURA },
  1511. { "ATT_BONUS_TO_SHAMAN", APPLY_ATTBONUS_SHAMAN },
  1512. { "ATT_BONUS_TO_MONSTER", APPLY_ATTBONUS_MONSTER },
  1513. { "ATT_BONUS_TO_MOB", APPLY_ATTBONUS_MONSTER },
  1514. { "MALL_ATTBONUS", APPLY_MALL_ATTBONUS },
  1515. { "MALL_EXPBONUS", APPLY_MALL_EXPBONUS },
  1516. { "MALL_DEFBONUS", APPLY_MALL_DEFBONUS },
  1517. { "MALL_ITEMBONUS", APPLY_MALL_ITEMBONUS },
  1518. { "MALL_GOLDBONUS", APPLY_MALL_GOLDBONUS },
  1519. { "MAX_HP_PCT", APPLY_MAX_HP_PCT },
  1520. { "MAX_SP_PCT", APPLY_MAX_SP_PCT },
  1521. { "SKILL_DAMAGE_BONUS", APPLY_SKILL_DAMAGE_BONUS },
  1522. { "NORMAL_HIT_DAMAGE_BONUS",APPLY_NORMAL_HIT_DAMAGE_BONUS },
  1523. { "SKILL_DEFEND_BONUS", APPLY_SKILL_DEFEND_BONUS },
  1524. { "NORMAL_HIT_DEFEND_BONUS",APPLY_NORMAL_HIT_DEFEND_BONUS },
  1525. { "PCBANG_EXP_BONUS", APPLY_PC_BANG_EXP_BONUS },
  1526. { "PCBANG_DROP_BONUS", APPLY_PC_BANG_DROP_BONUS },
  1527.  
  1528. { "RESIST_WARRIOR", APPLY_RESIST_WARRIOR},
  1529. { "RESIST_ASSASSIN", APPLY_RESIST_ASSASSIN},
  1530. { "RESIST_SURA", APPLY_RESIST_SURA},
  1531. { "RESIST_SHAMAN", APPLY_RESIST_SHAMAN},
  1532. // by mhh game/affect.h Á¤ŔǵǾîŔÖŔ˝. INFINITE_AFFECT_DURATION = 0x1FFFFFFF
  1533. { "INFINITE_AFFECT_DURATION", 0x1FFFFFFF },
  1534. { "ENERGY", APPLY_ENERGY }, // ±â·Â
  1535. { "COSTUME_ATTR_BONUS", APPLY_COSTUME_ATTR_BONUS }, // ±â·Â
  1536. { "MAGIC_ATTBONUS_PER", APPLY_MAGIC_ATTBONUS_PER },
  1537. { "MELEE_MAGIC_ATTBONUS_PER", APPLY_MELEE_MAGIC_ATTBONUS_PER },
  1538.  
  1539. { NULL, 0 }
  1540. };
  1541. // from import_item_proto.c
  1542.  
  1543. long FN_get_apply_type(const char *apply_type_string)
  1544. {
  1545. TValueName *value_name;
  1546. for (value_name = c_aApplyTypeNames; value_name->c_pszName; ++value_name)
  1547. {
  1548. if (0==strcasecmp(value_name->c_pszName, apply_type_string))
  1549. return value_name->lValue;
  1550. }
  1551. return 0;
  1552. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement