npcs.xsd 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="list">
  4. <xs:complexType>
  5. <xs:sequence>
  6. <xs:element name="npc" maxOccurs="unbounded" minOccurs="0">
  7. <xs:complexType>
  8. <xs:sequence>
  9. <xs:element name="acquire" minOccurs="0">
  10. <xs:complexType>
  11. <xs:simpleContent>
  12. <xs:extension base="xs:string">
  13. <xs:attribute type="xs:decimal" name="exp" use="optional" />
  14. <xs:attribute type="xs:decimal" name="exp_rate" use="optional" />
  15. <xs:attribute type="xs:decimal" name="sp" use="optional" />
  16. <xs:attribute type="xs:decimal" name="rp" use="optional" />
  17. </xs:extension>
  18. </xs:simpleContent>
  19. </xs:complexType>
  20. </xs:element>
  21. <xs:element name="additional_make_list" minOccurs="0">
  22. <xs:complexType>
  23. <xs:sequence>
  24. <xs:element name="item" maxOccurs="unbounded" minOccurs="0">
  25. <xs:complexType>
  26. <xs:simpleContent>
  27. <xs:extension base="xs:string">
  28. <xs:attribute type="xs:integer" name="id" use="optional" />
  29. <xs:attribute type="xs:integer" name="min" use="optional" />
  30. <xs:attribute type="xs:integer" name="max" use="optional" />
  31. <xs:attribute type="xs:decimal" name="chance" use="optional" />
  32. </xs:extension>
  33. </xs:simpleContent>
  34. </xs:complexType>
  35. </xs:element>
  36. </xs:sequence>
  37. </xs:complexType>
  38. </xs:element>
  39. <xs:element name="additional_make_multi_list" minOccurs="0">
  40. <xs:complexType>
  41. <xs:sequence>
  42. <xs:element name="category" maxOccurs="unbounded" minOccurs="0">
  43. <xs:complexType mixed="true">
  44. <xs:sequence>
  45. <xs:element name="item" maxOccurs="unbounded" minOccurs="0">
  46. <xs:complexType>
  47. <xs:simpleContent>
  48. <xs:extension base="xs:string">
  49. <xs:attribute type="xs:integer" name="id" use="optional" />
  50. <xs:attribute type="xs:integer" name="min" use="optional" />
  51. <xs:attribute type="xs:integer" name="max" use="optional" />
  52. <xs:attribute type="xs:decimal" name="chance" use="optional" />
  53. </xs:extension>
  54. </xs:simpleContent>
  55. </xs:complexType>
  56. </xs:element>
  57. </xs:sequence>
  58. <xs:attribute type="xs:decimal" name="chance" use="optional" />
  59. </xs:complexType>
  60. </xs:element>
  61. </xs:sequence>
  62. </xs:complexType>
  63. </xs:element>
  64. <xs:element type="xs:short" name="agro_range" minOccurs="0" />
  65. <xs:element name="clans" minOccurs="0">
  66. <xs:complexType>
  67. <xs:sequence>
  68. <xs:element type="xs:string" name="clan" maxOccurs="unbounded" />
  69. </xs:sequence>
  70. </xs:complexType>
  71. </xs:element>
  72. <xs:element type="xs:short" name="clan_help_range" minOccurs="0" />
  73. <xs:element name="collision">
  74. <xs:complexType>
  75. <xs:sequence>
  76. <xs:element name="radius">
  77. <xs:complexType>
  78. <xs:simpleContent>
  79. <xs:extension base="xs:string">
  80. <xs:attribute type="xs:decimal" name="normal" use="optional" />
  81. <xs:attribute type="xs:decimal" name="special" use="optional" />
  82. </xs:extension>
  83. </xs:simpleContent>
  84. </xs:complexType>
  85. </xs:element>
  86. <xs:element name="height">
  87. <xs:complexType>
  88. <xs:simpleContent>
  89. <xs:extension base="xs:string">
  90. <xs:attribute type="xs:decimal" name="normal" use="optional" />
  91. <xs:attribute type="xs:decimal" name="special" use="optional" />
  92. </xs:extension>
  93. </xs:simpleContent>
  94. </xs:complexType>
  95. </xs:element>
  96. </xs:sequence>
  97. </xs:complexType>
  98. </xs:element>
  99. <xs:element name="corpse_make_list" minOccurs="0">
  100. <xs:complexType>
  101. <xs:sequence>
  102. <xs:element name="item" maxOccurs="unbounded" minOccurs="0">
  103. <xs:complexType>
  104. <xs:simpleContent>
  105. <xs:extension base="xs:string">
  106. <xs:attribute type="xs:integer" name="id" use="optional" />
  107. <xs:attribute type="xs:integer" name="min" use="optional" />
  108. <xs:attribute type="xs:integer" name="max" use="optional" />
  109. <xs:attribute type="xs:decimal" name="chance" use="optional" />
  110. </xs:extension>
  111. </xs:simpleContent>
  112. </xs:complexType>
  113. </xs:element>
  114. </xs:sequence>
  115. </xs:complexType>
  116. </xs:element>
  117. <xs:element type="xs:integer" name="corpse_time" minOccurs="0" />
  118. <xs:element type="xs:integer" name="ex_crt_effect" />
  119. <xs:element name="ex_item_drop_list" minOccurs="0">
  120. <xs:complexType>
  121. <xs:sequence>
  122. <xs:element name="category" maxOccurs="unbounded" minOccurs="0">
  123. <xs:complexType>
  124. <xs:sequence>
  125. <xs:element name="item" maxOccurs="unbounded" minOccurs="0">
  126. <xs:complexType>
  127. <xs:simpleContent>
  128. <xs:extension base="xs:string">
  129. <xs:attribute type="xs:integer" name="id" use="optional" />
  130. <xs:attribute type="xs:integer" name="min" use="optional" />
  131. <xs:attribute type="xs:integer" name="max" use="optional" />
  132. <xs:attribute type="xs:decimal" name="chance" use="optional" />
  133. </xs:extension>
  134. </xs:simpleContent>
  135. </xs:complexType>
  136. </xs:element>
  137. </xs:sequence>
  138. <xs:attribute type="xs:decimal" name="chance" use="optional" />
  139. </xs:complexType>
  140. </xs:element>
  141. </xs:sequence>
  142. </xs:complexType>
  143. </xs:element>
  144. <xs:element type="xs:integer" name="exp" />
  145. <xs:element type="xs:integer" name="fake_class_id" minOccurs="0" />
  146. <xs:element name="speed">
  147. <xs:complexType>
  148. <xs:sequence>
  149. <xs:element name="run">
  150. <xs:complexType>
  151. <xs:simpleContent>
  152. <xs:extension base="xs:string">
  153. <xs:attribute type="xs:decimal" name="ground" use="optional" />
  154. <xs:attribute type="xs:decimal" name="underWater" use="optional" />
  155. <xs:attribute type="xs:decimal" name="flying" use="optional" />
  156. </xs:extension>
  157. </xs:simpleContent>
  158. </xs:complexType>
  159. </xs:element>
  160. <xs:element name="walk">
  161. <xs:complexType>
  162. <xs:simpleContent>
  163. <xs:extension base="xs:string">
  164. <xs:attribute type="xs:decimal" name="ground" use="optional" />
  165. <xs:attribute type="xs:decimal" name="underWater" use="optional" />
  166. <xs:attribute type="xs:decimal" name="flying" use="optional" />
  167. </xs:extension>
  168. </xs:simpleContent>
  169. </xs:complexType>
  170. </xs:element>
  171. </xs:sequence>
  172. </xs:complexType>
  173. </xs:element>
  174. <xs:element name="hit_time">
  175. <xs:complexType>
  176. <xs:simpleContent>
  177. <xs:extension base="xs:string">
  178. <xs:attribute type="xs:decimal" name="factor" use="optional" />
  179. <xs:attribute type="xs:byte" name="skill_factor" use="optional" />
  180. </xs:extension>
  181. </xs:simpleContent>
  182. </xs:complexType>
  183. </xs:element>
  184. <xs:element name="ignore_clan_lists" minOccurs="0">
  185. <xs:complexType>
  186. <xs:sequence>
  187. <xs:element type="xs:string" name="ignore_clan" maxOccurs="unbounded" minOccurs="0" />
  188. </xs:sequence>
  189. </xs:complexType>
  190. </xs:element>
  191. <xs:element name="base">
  192. <xs:complexType>
  193. <xs:simpleContent>
  194. <xs:extension base="xs:string">
  195. <xs:attribute type="xs:decimal" name="pAtk" use="optional" />
  196. <xs:attribute type="xs:integer" name="randDmg" use="optional" />
  197. <xs:attribute type="xs:integer" name="crit" use="optional" />
  198. <xs:attribute type="xs:short" name="atkSpd" use="optional" />
  199. <xs:attribute type="xs:integer" name="reuseDelay" use="optional" />
  200. <xs:attribute type="xs:decimal" name="mAtk" use="optional" />
  201. <xs:attribute type="xs:decimal" name="pDef" use="optional" />
  202. <xs:attribute type="xs:decimal" name="mDef" use="optional" />
  203. <xs:attribute type="xs:decimal" name="accuracy" use="optional" />
  204. <xs:attribute type="xs:decimal" name="evasion" use="optional" />
  205. </xs:extension>
  206. </xs:simpleContent>
  207. </xs:complexType>
  208. </xs:element>
  209. <xs:element name="base_attack">
  210. <xs:complexType>
  211. <xs:simpleContent>
  212. <xs:extension base="xs:string">
  213. <xs:attribute type="xs:string" name="type" use="optional" />
  214. <xs:attribute type="xs:integer" name="range" use="optional" />
  215. </xs:extension>
  216. </xs:simpleContent>
  217. </xs:complexType>
  218. </xs:element>
  219. <xs:element name="base_stats">
  220. <xs:complexType>
  221. <xs:simpleContent>
  222. <xs:extension base="xs:string">
  223. <xs:attribute type="xs:integer" name="str" use="optional" />
  224. <xs:attribute type="xs:integer" name="int" use="optional" />
  225. <xs:attribute type="xs:integer" name="dex" use="optional" />
  226. <xs:attribute type="xs:integer" name="wit" use="optional" />
  227. <xs:attribute type="xs:integer" name="con" use="optional" />
  228. </xs:extension>
  229. </xs:simpleContent>
  230. </xs:complexType>
  231. </xs:element>
  232. <xs:element name="base_damage_range">
  233. <xs:complexType>
  234. <xs:simpleContent>
  235. <xs:extension base="xs:string">
  236. <xs:attribute type="xs:integer" name="unknown" use="optional" />
  237. <xs:attribute type="xs:integer" name="direction" use="optional" />
  238. <xs:attribute type="xs:integer" name="distance" use="optional" />
  239. <xs:attribute type="xs:integer" name="width" use="optional" />
  240. </xs:extension>
  241. </xs:simpleContent>
  242. </xs:complexType>
  243. </xs:element>
  244. <xs:element name="base_attribute">
  245. <xs:complexType>
  246. <xs:sequence>
  247. <xs:element name="attack">
  248. <xs:complexType>
  249. <xs:simpleContent>
  250. <xs:extension base="xs:string">
  251. <xs:attribute type="xs:integer" name="fire" use="optional" />
  252. <xs:attribute type="xs:integer" name="water" use="optional" />
  253. <xs:attribute type="xs:integer" name="wind" use="optional" />
  254. <xs:attribute type="xs:integer" name="earth" use="optional" />
  255. <xs:attribute type="xs:integer" name="holy" use="optional" />
  256. <xs:attribute type="xs:integer" name="dark" use="optional" />
  257. </xs:extension>
  258. </xs:simpleContent>
  259. </xs:complexType>
  260. </xs:element>
  261. <xs:element name="defend">
  262. <xs:complexType>
  263. <xs:simpleContent>
  264. <xs:extension base="xs:string">
  265. <xs:attribute type="xs:integer" name="fire" use="optional" />
  266. <xs:attribute type="xs:integer" name="water" use="optional" />
  267. <xs:attribute type="xs:integer" name="wind" use="optional" />
  268. <xs:attribute type="xs:integer" name="earth" use="optional" />
  269. <xs:attribute type="xs:integer" name="holy" use="optional" />
  270. <xs:attribute type="xs:integer" name="dark" use="optional" />
  271. <xs:attribute type="xs:integer" name="unknown" use="optional" />
  272. </xs:extension>
  273. </xs:simpleContent>
  274. </xs:complexType>
  275. </xs:element>
  276. </xs:sequence>
  277. </xs:complexType>
  278. </xs:element>
  279. <xs:element name="npc_ai">
  280. <xs:complexType>
  281. <xs:sequence>
  282. <xs:element type="xs:string" name="ai" />
  283. <xs:element name="ai_param" maxOccurs="unbounded" minOccurs="0">
  284. <xs:complexType>
  285. <xs:simpleContent>
  286. <xs:extension base="xs:string">
  287. <xs:attribute type="xs:string" name="name" use="optional" />
  288. <xs:attribute type="xs:string" name="val" use="optional" />
  289. </xs:extension>
  290. </xs:simpleContent>
  291. </xs:complexType>
  292. </xs:element>
  293. <xs:element name="ai_skill" maxOccurs="unbounded" minOccurs="0">
  294. <xs:complexType>
  295. <xs:simpleContent>
  296. <xs:extension base="xs:string">
  297. <xs:attribute type="xs:string" name="name" use="optional" />
  298. <xs:attribute type="xs:integer" name="id" use="optional" />
  299. <xs:attribute type="xs:integer" name="level" use="optional" />
  300. </xs:extension>
  301. </xs:simpleContent>
  302. </xs:complexType>
  303. </xs:element>
  304. <xs:element name="ai_item" maxOccurs="unbounded" minOccurs="0">
  305. <xs:complexType>
  306. <xs:simpleContent>
  307. <xs:extension base="xs:string">
  308. <xs:attribute type="xs:string" name="name" use="optional" />
  309. <xs:attribute type="xs:integer" name="id" use="optional" />
  310. </xs:extension>
  311. </xs:simpleContent>
  312. </xs:complexType>
  313. </xs:element>
  314. </xs:sequence>
  315. </xs:complexType>
  316. </xs:element>
  317. <xs:element name="org">
  318. <xs:complexType>
  319. <xs:simpleContent>
  320. <xs:extension base="xs:string">
  321. <xs:attribute type="xs:decimal" name="hp" use="optional" />
  322. <xs:attribute type="xs:decimal" name="hp_regen" use="optional" />
  323. <xs:attribute type="xs:decimal" name="mp" use="optional" />
  324. <xs:attribute type="xs:decimal" name="mp_regen" use="optional" />
  325. </xs:extension>
  326. </xs:simpleContent>
  327. </xs:complexType>
  328. </xs:element>
  329. <xs:element type="xs:string" name="race" />
  330. <xs:element type="xs:decimal" name="s_npc_prop_hp_rate" />
  331. <xs:element type="xs:integer" name="safe_height" />
  332. <xs:element type="xs:string" name="sex" />
  333. <xs:element name="shield">
  334. <xs:complexType>
  335. <xs:simpleContent>
  336. <xs:extension base="xs:string">
  337. <xs:attribute type="xs:decimal" name="defence" use="optional" />
  338. <xs:attribute type="xs:decimal" name="rate" use="optional" />
  339. </xs:extension>
  340. </xs:simpleContent>
  341. </xs:complexType>
  342. </xs:element>
  343. <xs:element name="skill_list" minOccurs="0">
  344. <xs:complexType>
  345. <xs:sequence>
  346. <xs:element name="skill" maxOccurs="unbounded" minOccurs="0">
  347. <xs:complexType>
  348. <xs:simpleContent>
  349. <xs:extension base="xs:string">
  350. <xs:attribute type="xs:short" name="id" use="optional" />
  351. <xs:attribute type="xs:byte" name="level" use="optional" />
  352. </xs:extension>
  353. </xs:simpleContent>
  354. </xs:complexType>
  355. </xs:element>
  356. </xs:sequence>
  357. </xs:complexType>
  358. </xs:element>
  359. <xs:element name="eqipment" minOccurs="0">
  360. <xs:complexType>
  361. <xs:sequence>
  362. <xs:element name="rhand">
  363. <xs:complexType>
  364. <xs:simpleContent>
  365. <xs:extension base="xs:string">
  366. <xs:attribute type="xs:short" name="id" use="optional" />
  367. </xs:extension>
  368. </xs:simpleContent>
  369. </xs:complexType>
  370. </xs:element>
  371. <xs:element name="lhand" minOccurs="0">
  372. <xs:complexType>
  373. <xs:simpleContent>
  374. <xs:extension base="xs:string">
  375. <xs:attribute type="xs:short" name="id" use="optional" />
  376. </xs:extension>
  377. </xs:simpleContent>
  378. </xs:complexType>
  379. </xs:element>
  380. <xs:element name="armor" minOccurs="0">
  381. <xs:complexType>
  382. <xs:simpleContent>
  383. <xs:extension base="xs:string">
  384. <xs:attribute type="xs:integer" name="id" use="optional" />
  385. </xs:extension>
  386. </xs:simpleContent>
  387. </xs:complexType>
  388. </xs:element>
  389. </xs:sequence>
  390. </xs:complexType>
  391. </xs:element>
  392. <xs:element name="shots_count" minOccurs="0">
  393. <xs:complexType>
  394. <xs:simpleContent>
  395. <xs:extension base="xs:string">
  396. <xs:attribute type="xs:integer" name="soul" use="optional" />
  397. <xs:attribute type="xs:integer" name="spirit" use="optional" />
  398. </xs:extension>
  399. </xs:simpleContent>
  400. </xs:complexType>
  401. </xs:element>
  402. <xs:element name="status">
  403. <xs:complexType>
  404. <xs:simpleContent>
  405. <xs:extension base="xs:string">
  406. <xs:attribute type="xs:string" name="canBeAttacked" use="optional" />
  407. <xs:attribute type="xs:string" name="canMove" use="optional" />
  408. <xs:attribute type="xs:string" name="eventFlag" use="optional" />
  409. <xs:attribute type="xs:string" name="hasSummoner" use="optional" />
  410. <xs:attribute type="xs:string" name="flying" use="optional" />
  411. <xs:attribute type="xs:string" name="passableDoor" use="optional" />
  412. <xs:attribute type="xs:string" name="showName" use="optional" />
  413. <xs:attribute type="xs:string" name="noSleepMode" use="optional" />
  414. <xs:attribute type="xs:string" name="targetable" use="optional" />
  415. <xs:attribute type="xs:string" name="undying" use="optional" />
  416. <xs:attribute type="xs:string" name="unique" use="optional" />
  417. <xs:attribute type="xs:string" name="unsowing" use="optional" />
  418. <xs:attribute type="xs:string" name="privateRespawnLog" use="optional" />
  419. </xs:extension>
  420. </xs:simpleContent>
  421. </xs:complexType>
  422. </xs:element>
  423. <xs:element name="custom" minOccurs="0">
  424. <xs:complexType>
  425. <xs:sequence>
  426. <xs:element type="xs:string" name="type" />
  427. <xs:element name="ai">
  428. <xs:complexType>
  429. <xs:simpleContent>
  430. <xs:extension base="xs:string">
  431. <xs:attribute type="xs:integer" name="minSkillChance" use="optional" />
  432. <xs:attribute type="xs:integer" name="maxSkillChance" use="optional" />
  433. <xs:attribute type="xs:integer" name="primarySkillId" use="optional" />
  434. <xs:attribute type="xs:integer" name="minRangeSkill" use="optional" />
  435. <xs:attribute type="xs:integer" name="minRangeChance" use="optional" />
  436. <xs:attribute type="xs:integer" name="maxRangeSkill" use="optional" />
  437. <xs:attribute type="xs:integer" name="maxRangeChance" use="optional" />
  438. <xs:attribute type="xs:integer" name="spsChance" use="optional" />
  439. <xs:attribute type="xs:integer" name="ssChance" use="optional" />
  440. <xs:attribute type="xs:integer" name="isChaos" use="optional" />
  441. <xs:attribute type="xs:string" name="enemyClan" use="optional" />
  442. <xs:attribute type="xs:integer" name="enemyRange" use="optional" />
  443. <xs:attribute type="xs:integer" name="dodge" use="optional" />
  444. <xs:attribute type="xs:string" name="aiType" use="optional" />
  445. </xs:extension>
  446. </xs:simpleContent>
  447. </xs:complexType>
  448. </xs:element>
  449. </xs:sequence>
  450. </xs:complexType>
  451. </xs:element>
  452. </xs:sequence>
  453. <xs:attribute type="xs:integer" name="id" use="required" />
  454. <xs:attribute type="xs:integer" name="templateId" use="required" />
  455. <xs:attribute type="xs:string" name="clientName" use="required" />
  456. <xs:attribute type="xs:string" name="serverName" use="optional" />
  457. <xs:attribute type="xs:integer" name="level" use="required" />
  458. <xs:attribute type="xs:string" name="type" use="optional" />
  459. </xs:complexType>
  460. </xs:element>
  461. </xs:sequence>
  462. </xs:complexType>
  463. </xs:element>
  464. </xs:schema>