Advertisement
Guest User

Constants.cpp

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