skill.h 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831
  1. // Copyright (c) Athena Dev Teams - Licensed under GNU GPL
  2. // For more information, see LICENCE in the main folder
  3. #ifndef _SKILL_H_
  4. #define _SKILL_H_
  5. #include "../common/mmo.h" // MAX_SKILL, struct square
  6. #include "map.h" // struct block_list
  7. struct map_session_data;
  8. struct homun_data;
  9. struct skill_unit;
  10. struct skill_unit_group;
  11. struct status_change_entry;
  12. #define MAX_SKILL_DB MAX_SKILL
  13. #define MAX_SKILL_PRODUCE_DB 260
  14. #define MAX_PRODUCE_RESOURCE 12
  15. #define MAX_SKILL_ARROW_DB 150
  16. #define MAX_ARROW_RESOURCE 5
  17. #define MAX_SKILL_ABRA_DB 350
  18. #define MAX_SKILL_IMPROVISE_DB 50
  19. #define MAX_SKILL_LEVEL 100
  20. //Constants to identify the skill's inf value:
  21. enum e_skill_inf
  22. {
  23. INF_ATTACK_SKILL = 0x01,
  24. INF_GROUND_SKILL = 0x02,
  25. INF_SELF_SKILL = 0x04, // Skills casted on self where target is automatically chosen
  26. // 0x08 not assigned
  27. INF_SUPPORT_SKILL = 0x10,
  28. INF_TARGET_TRAP = 0x20,
  29. };
  30. //Constants to identify a skill's nk value (damage properties)
  31. //The NK value applies only to non INF_GROUND_SKILL skills
  32. //when determining skill castend function to invoke.
  33. enum e_skill_nk
  34. {
  35. NK_NO_DAMAGE = 0x01,
  36. NK_SPLASH = 0x02|0x04, // 0x4 = splash & split
  37. NK_SPLASHSPLIT = 0x04,
  38. NK_NO_CARDFIX_ATK = 0x08,
  39. NK_NO_ELEFIX = 0x10,
  40. NK_IGNORE_DEF = 0x20,
  41. NK_IGNORE_FLEE = 0x40,
  42. NK_NO_CARDFIX_DEF = 0x80,
  43. };
  44. //A skill with 3 would be no damage + splash: area of effect.
  45. //Constants to identify a skill's inf2 value.
  46. enum e_skill_inf2
  47. {
  48. INF2_QUEST_SKILL = 0x0001,
  49. INF2_NPC_SKILL = 0x0002, //NPC skills are those that players can't have in their skill tree.
  50. INF2_WEDDING_SKILL = 0x0004,
  51. INF2_SPIRIT_SKILL = 0x0008,
  52. INF2_GUILD_SKILL = 0x0010,
  53. INF2_SONG_DANCE = 0x0020,
  54. INF2_ENSEMBLE_SKILL = 0x0040,
  55. INF2_TRAP = 0x0080,
  56. INF2_TARGET_SELF = 0x0100, //Refers to ground placed skills that will target the caster as well (like Grandcross)
  57. INF2_NO_TARGET_SELF = 0x0200,
  58. INF2_PARTY_ONLY = 0x0400,
  59. INF2_GUILD_ONLY = 0x0800,
  60. INF2_NO_ENEMY = 0x1000,
  61. INF2_NOLP = 0x2000, // Spells that can ignore Land Protector
  62. INF2_CHORUS_SKILL = 0x4000, // Chorus skill
  63. };
  64. //Walk intervals at which chase-skills are attempted to be triggered.
  65. #define WALK_SKILL_INTERVAL 5
  66. // Flags passed to skill_attack/skill_area_sub
  67. enum e_skill_display
  68. {
  69. SD_LEVEL = 0x1000, // skill_attack will send -1 instead of skill level (affects display of some skills)
  70. SD_ANIMATION = 0x2000, // skill_attack will use '5' instead of the skill's 'type' (this makes skills show an animation)
  71. SD_SPLASH = 0x4000, // skill_area_sub will count targets in skill_area_temp[2]
  72. SD_PREAMBLE = 0x8000, // skill_area_sub will transmit a 'magic' damage packet (-30000 dmg) for the first target selected
  73. };
  74. #define MAX_SKILL_ITEM_REQUIRE 10
  75. struct skill_condition {
  76. int weapon,ammo,ammo_qty,hp,sp,zeny,spiritball,mhp,state;
  77. int itemid[MAX_SKILL_ITEM_REQUIRE],amount[MAX_SKILL_ITEM_REQUIRE];
  78. };
  79. // スキルデ?タベ?ス
  80. struct s_skill_db {
  81. char name[NAME_LENGTH];
  82. char desc[40];
  83. int range[MAX_SKILL_LEVEL],hit,inf,element[MAX_SKILL_LEVEL],nk,splash[MAX_SKILL_LEVEL],max;
  84. int num[MAX_SKILL_LEVEL];
  85. int cast[MAX_SKILL_LEVEL],walkdelay[MAX_SKILL_LEVEL],delay[MAX_SKILL_LEVEL];
  86. #ifdef RENEWAL_CAST
  87. int fixed_cast[MAX_SKILL_LEVEL];
  88. #endif
  89. int upkeep_time[MAX_SKILL_LEVEL],upkeep_time2[MAX_SKILL_LEVEL],cooldown[MAX_SKILL_LEVEL];
  90. int castcancel,cast_def_rate;
  91. int inf2,maxcount[MAX_SKILL_LEVEL],skill_type;
  92. int blewcount[MAX_SKILL_LEVEL];
  93. int hp[MAX_SKILL_LEVEL],sp[MAX_SKILL_LEVEL],mhp[MAX_SKILL_LEVEL],hp_rate[MAX_SKILL_LEVEL],sp_rate[MAX_SKILL_LEVEL],zeny[MAX_SKILL_LEVEL];
  94. int weapon,ammo,ammo_qty[MAX_SKILL_LEVEL],state,spiritball[MAX_SKILL_LEVEL];
  95. int itemid[MAX_SKILL_ITEM_REQUIRE],amount[MAX_SKILL_ITEM_REQUIRE];
  96. int castnodex[MAX_SKILL_LEVEL], delaynodex[MAX_SKILL_LEVEL];
  97. int nocast;
  98. int unit_id[2];
  99. int unit_layout_type[MAX_SKILL_LEVEL];
  100. int unit_range[MAX_SKILL_LEVEL];
  101. int unit_interval;
  102. int unit_target;
  103. int unit_flag;
  104. };
  105. extern struct s_skill_db skill_db[MAX_SKILL_DB];
  106. #define MAX_SKILL_UNIT_LAYOUT 50
  107. #define MAX_SQUARE_LAYOUT 5 // 11*11のユニット配置が最大
  108. #define MAX_SKILL_UNIT_COUNT ((MAX_SQUARE_LAYOUT*2+1)*(MAX_SQUARE_LAYOUT*2+1))
  109. struct s_skill_unit_layout {
  110. int count;
  111. int dx[MAX_SKILL_UNIT_COUNT];
  112. int dy[MAX_SKILL_UNIT_COUNT];
  113. };
  114. #define MAX_SKILLTIMERSKILL 15
  115. struct skill_timerskill {
  116. int timer;
  117. int src_id;
  118. int target_id;
  119. int map;
  120. short x,y;
  121. short skill_id,skill_lv;
  122. int type; // a BF_ type (NOTE: some places use this as general-purpose storage...)
  123. int flag;
  124. };
  125. #define MAX_SKILLUNITGROUP 25
  126. struct skill_unit_group {
  127. int src_id;
  128. int party_id;
  129. int guild_id;
  130. int bg_id;
  131. int map;
  132. int target_flag; //Holds BCT_* flag for battle_check_target
  133. int bl_flag; //Holds BL_* flag for map_foreachin* functions
  134. unsigned int tick;
  135. int limit,interval;
  136. short skill_id,skill_lv;
  137. int val1,val2,val3;
  138. char *valstr;
  139. int unit_id;
  140. int group_id;
  141. int unit_count,alive_count;
  142. struct skill_unit *unit;
  143. struct {
  144. unsigned ammo_consume : 1;
  145. unsigned song_dance : 2; //0x1 Song/Dance, 0x2 Ensemble
  146. unsigned guildaura : 1;
  147. } state;
  148. };
  149. struct skill_unit {
  150. struct block_list bl;
  151. struct skill_unit_group *group;
  152. int limit;
  153. int val1,val2;
  154. short alive,range;
  155. };
  156. #define MAX_SKILLUNITGROUPTICKSET 25
  157. struct skill_unit_group_tickset {
  158. unsigned int tick;
  159. int id;
  160. };
  161. enum {
  162. UF_DEFNOTENEMY = 0x0001, // If 'defunit_not_enemy' is set, the target is changed to 'friend'
  163. UF_NOREITERATION = 0x0002, // Spell cannot be stacked
  164. UF_NOFOOTSET = 0x0004, // Spell cannot be cast near/on targets
  165. UF_NOOVERLAP = 0x0008, // Spell effects do not overlap
  166. UF_PATHCHECK = 0x0010, // Only cells with a shootable path will be placed
  167. UF_NOPC = 0x0020, // May not target players
  168. UF_NOMOB = 0x0040, // May not target mobs
  169. UF_SKILL = 0x0080, // May target skills
  170. UF_DANCE = 0x0100, // Dance
  171. UF_ENSEMBLE = 0x0200, // Duet
  172. UF_SONG = 0x0400, // Song
  173. UF_DUALMODE = 0x0800, // Spells should trigger both ontimer and onplace/onout/onleft effects.
  174. };
  175. // アイテム作成デ?タベ?ス
  176. struct s_skill_produce_db {
  177. int nameid, trigger;
  178. int req_skill,req_skill_lv,itemlv;
  179. int mat_id[MAX_PRODUCE_RESOURCE],mat_amount[MAX_PRODUCE_RESOURCE];
  180. };
  181. extern struct s_skill_produce_db skill_produce_db[MAX_SKILL_PRODUCE_DB];
  182. // 矢作成デ?タベ?ス
  183. struct s_skill_arrow_db {
  184. int nameid, trigger;
  185. int cre_id[MAX_ARROW_RESOURCE],cre_amount[MAX_ARROW_RESOURCE];
  186. };
  187. extern struct s_skill_arrow_db skill_arrow_db[MAX_SKILL_ARROW_DB];
  188. // アブラカダブラデ?タベ?ス
  189. struct s_skill_abra_db {
  190. int skillid;
  191. int req_lv;
  192. int per;
  193. };
  194. extern struct s_skill_abra_db skill_abra_db[MAX_SKILL_ABRA_DB];
  195. extern int enchant_eff[5];
  196. extern int deluge_eff[5];
  197. int do_init_skill(void);
  198. int do_final_skill(void);
  199. //Returns the cast type of the skill: ground cast, castend damage, castend no damage
  200. enum { CAST_GROUND, CAST_DAMAGE, CAST_NODAMAGE };
  201. int skill_get_casttype(int id); //[Skotlex]
  202. // スキルデ?タベ?スへのアクセサ
  203. //
  204. int skill_get_index( int id );
  205. int skill_get_type( int id );
  206. int skill_get_hit( int id );
  207. int skill_get_inf( int id );
  208. int skill_get_ele( int id , int lv );
  209. int skill_get_nk( int id );
  210. int skill_get_max( int id );
  211. int skill_get_range( int id , int lv );
  212. int skill_get_range2(struct block_list *bl, int id, int lv);
  213. int skill_get_splash( int id , int lv );
  214. int skill_get_hp( int id ,int lv );
  215. int skill_get_mhp( int id ,int lv );
  216. int skill_get_sp( int id ,int lv );
  217. int skill_get_state(int id);
  218. int skill_get_zeny( int id ,int lv );
  219. int skill_get_num( int id ,int lv );
  220. int skill_get_cast( int id ,int lv );
  221. int skill_get_delay( int id ,int lv );
  222. int skill_get_walkdelay( int id ,int lv );
  223. int skill_get_time( int id ,int lv );
  224. int skill_get_time2( int id ,int lv );
  225. int skill_get_castnodex( int id ,int lv );
  226. int skill_get_castdef( int id );
  227. int skill_get_weapontype( int id );
  228. int skill_get_ammotype( int id );
  229. int skill_get_ammo_qty( int id, int lv );
  230. int skill_get_nocast( int id );
  231. int skill_get_unit_id(int id,int flag);
  232. int skill_get_inf2( int id );
  233. int skill_get_castcancel( int id );
  234. int skill_get_maxcount( int id ,int lv );
  235. int skill_get_blewcount( int id ,int lv );
  236. int skill_get_unit_flag( int id );
  237. int skill_get_unit_target( int id );
  238. int skill_tree_get_max( int id, int b_class ); // Celest
  239. const char* skill_get_name( int id ); // [Skotlex]
  240. const char* skill_get_desc( int id ); // [Skotlex]
  241. int skill_name2id(const char* name);
  242. int skill_isammotype(struct map_session_data *sd, int skill);
  243. int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data);
  244. int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data);
  245. int skill_castend_map( struct map_session_data *sd,short skill_num, const char *map);
  246. int skill_cleartimerskill(struct block_list *src);
  247. int skill_addtimerskill(struct block_list *src,unsigned int tick,int target,int x,int y,int skill_id,int skill_lv,int type,int flag);
  248. // 追加?果
  249. int skill_additional_effect( struct block_list* src, struct block_list *bl,int skillid,int skilllv,int attack_type,int dmg_lv,unsigned int tick);
  250. int skill_counter_additional_effect( struct block_list* src, struct block_list *bl,int skillid,int skilllv,int attack_type,unsigned int tick);
  251. int skill_blown(struct block_list* src, struct block_list* target, int count, int direction, int flag);
  252. int skill_break_equip(struct block_list *bl, unsigned short where, int rate, int flag);
  253. int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time);
  254. // ユニットスキル
  255. struct skill_unit_group* skill_id2group(int group_id);
  256. struct skill_unit_group *skill_unitsetting(struct block_list* src, short skillid, short skilllv, short x, short y, int flag);
  257. struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2);
  258. int skill_delunit(struct skill_unit *unit);
  259. struct skill_unit_group *skill_initunitgroup(struct block_list* src, int count, short skillid, short skilllv, int unit_id, int limit, int interval);
  260. int skill_delunitgroup_(struct skill_unit_group *group, const char* file, int line, const char* func);
  261. #define skill_delunitgroup(group) skill_delunitgroup_(group,__FILE__,__LINE__,__func__)
  262. int skill_clear_unitgroup(struct block_list *src);
  263. int skill_clear_group(struct block_list *bl, int flag);
  264. int skill_unit_ondamaged(struct skill_unit *src,struct block_list *bl,int damage,unsigned int tick);
  265. int skill_castfix( struct block_list *bl, int skill_id, int skill_lv);
  266. int skill_castfix_sc( struct block_list *bl, int time, int skill_id, int skill_lv);
  267. int skill_delayfix( struct block_list *bl, int skill_id, int skill_lv);
  268. // Skill conditions check and remove [Inkfish]
  269. int skill_check_condition_castbegin(struct map_session_data *sd, short skill, short lv);
  270. int skill_check_condition_castend(struct map_session_data *sd, short skill, short lv);
  271. int skill_consume_requirement(struct map_session_data *sd, short skill, short lv, short type);
  272. struct skill_condition skill_get_requirement(struct map_session_data *sd, short skill, short lv);
  273. int skill_check_pc_partner(struct map_session_data *sd, short skill_id, short* skill_lv, int range, int cast_flag);
  274. // -- moonsoul (added skill_check_unit_cell)
  275. int skill_check_unit_cell(int skillid,int m,int x,int y,int unit_id);
  276. int skill_unit_out_all( struct block_list *bl,unsigned int tick,int range);
  277. int skill_unit_move(struct block_list *bl,unsigned int tick,int flag);
  278. int skill_unit_move_unit_group( struct skill_unit_group *group, int m,int dx,int dy);
  279. struct skill_unit_group *skill_check_dancing( struct block_list *src );
  280. // Guild skills [celest]
  281. int skill_guildaura_sub (struct map_session_data* sd, int id, int strvit, int agidex);
  282. // 詠唱キャンセル
  283. int skill_castcancel(struct block_list *bl,int type);
  284. int skill_sit (struct map_session_data *sd, int type);
  285. void skill_brandishspear(struct block_list* src, struct block_list* bl, int skillid, int skilllv, unsigned int tick, int flag);
  286. void skill_repairweapon(struct map_session_data *sd, int idx);
  287. void skill_identify(struct map_session_data *sd,int idx);
  288. void skill_weaponrefine(struct map_session_data *sd,int idx); // [Celest]
  289. int skill_autospell(struct map_session_data *md,int skillid);
  290. int skill_calc_heal(struct block_list *src, struct block_list *target, int skill_id, int skill_lv, bool heal);
  291. bool skill_check_cloaking(struct block_list *bl, struct status_change_entry *sce);
  292. // ステ?タス異常
  293. int skill_enchant_elemental_end(struct block_list *bl, int type);
  294. int skillnotok(int skillid, struct map_session_data *sd);
  295. int skillnotok_hom(int skillid, struct homun_data *hd);
  296. int skillnotok_mercenary(int skillid, struct mercenary_data *md);
  297. int skill_chastle_mob_changetarget(struct block_list *bl,va_list ap);
  298. // アイテム作成
  299. int skill_can_produce_mix( struct map_session_data *sd, int nameid, int trigger, int qty);
  300. int skill_produce_mix( struct map_session_data *sd, int skill_id, int nameid, int slot1, int slot2, int slot3, int qty );
  301. int skill_arrow_create( struct map_session_data *sd,int nameid);
  302. // mobスキルのため
  303. int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
  304. int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
  305. int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skilllv,unsigned int tick,int flag);
  306. int skill_blockpc_start_(struct map_session_data*, int, int, bool);
  307. int skill_blockhomun_start (struct homun_data*,int,int);
  308. int skill_blockmerc_start (struct mercenary_data*,int,int);
  309. #define skill_blockpc_start(sd, skillid, tick) skill_blockpc_start_( sd, skillid, tick, false )
  310. // (Epoque:) To-do: replace this macro with some sort of skill tree check (rather than hard-coded skill names)
  311. #define skill_ischangesex(id) ( \
  312. ((id) >= BD_ADAPTATION && (id) <= DC_SERVICEFORYOU) || ((id) >= CG_ARROWVULCAN && (id) <= CG_MARIONETTE) || \
  313. ((id) >= CG_LONGINGFREEDOM && (id) <= CG_TAROTCARD) || ((id) >= WA_SWING_DANCE && (id) <= WM_UNLIMITED_HUMMING_VOICE))
  314. // スキル攻?一括?理
  315. int skill_attack( int attack_type, struct block_list* src, struct block_list *dsrc,struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
  316. void skill_reload(void);
  317. enum {
  318. ST_NONE,
  319. ST_HIDING,
  320. ST_CLOAKING,
  321. ST_HIDDEN,
  322. ST_RIDING,
  323. ST_FALCON,
  324. ST_CART,
  325. ST_SHIELD,
  326. ST_SIGHT,
  327. ST_EXPLOSIONSPIRITS,
  328. ST_CARTBOOST,
  329. ST_RECOV_WEIGHT_RATE,
  330. ST_MOVE_ENABLE,
  331. ST_WATER,
  332. /**
  333. * 3rd States
  334. **/
  335. ST_RIDINGDRAGON,
  336. ST_WUG,
  337. ST_RIDINGWUG,
  338. ST_MADO,
  339. ST_ELEMENTALSPIRIT,
  340. };
  341. enum e_skill {
  342. NV_BASIC = 1,
  343. SM_SWORD,
  344. SM_TWOHAND,
  345. SM_RECOVERY,
  346. SM_BASH,
  347. SM_PROVOKE,
  348. SM_MAGNUM,
  349. SM_ENDURE,
  350. MG_SRECOVERY,
  351. MG_SIGHT,
  352. MG_NAPALMBEAT,
  353. MG_SAFETYWALL,
  354. MG_SOULSTRIKE,
  355. MG_COLDBOLT,
  356. MG_FROSTDIVER,
  357. MG_STONECURSE,
  358. MG_FIREBALL,
  359. MG_FIREWALL,
  360. MG_FIREBOLT,
  361. MG_LIGHTNINGBOLT,
  362. MG_THUNDERSTORM,
  363. AL_DP,
  364. AL_DEMONBANE,
  365. AL_RUWACH,
  366. AL_PNEUMA,
  367. AL_TELEPORT,
  368. AL_WARP,
  369. AL_HEAL,
  370. AL_INCAGI,
  371. AL_DECAGI,
  372. AL_HOLYWATER,
  373. AL_CRUCIS,
  374. AL_ANGELUS,
  375. AL_BLESSING,
  376. AL_CURE,
  377. MC_INCCARRY,
  378. MC_DISCOUNT,
  379. MC_OVERCHARGE,
  380. MC_PUSHCART,
  381. MC_IDENTIFY,
  382. MC_VENDING,
  383. MC_MAMMONITE,
  384. AC_OWL,
  385. AC_VULTURE,
  386. AC_CONCENTRATION,
  387. AC_DOUBLE,
  388. AC_SHOWER,
  389. TF_DOUBLE,
  390. TF_MISS,
  391. TF_STEAL,
  392. TF_HIDING,
  393. TF_POISON,
  394. TF_DETOXIFY,
  395. ALL_RESURRECTION,
  396. KN_SPEARMASTERY,
  397. KN_PIERCE,
  398. KN_BRANDISHSPEAR,
  399. KN_SPEARSTAB,
  400. KN_SPEARBOOMERANG,
  401. KN_TWOHANDQUICKEN,
  402. KN_AUTOCOUNTER,
  403. KN_BOWLINGBASH,
  404. KN_RIDING,
  405. KN_CAVALIERMASTERY,
  406. PR_MACEMASTERY,
  407. PR_IMPOSITIO,
  408. PR_SUFFRAGIUM,
  409. PR_ASPERSIO,
  410. PR_BENEDICTIO,
  411. PR_SANCTUARY,
  412. PR_SLOWPOISON,
  413. PR_STRECOVERY,
  414. PR_KYRIE,
  415. PR_MAGNIFICAT,
  416. PR_GLORIA,
  417. PR_LEXDIVINA,
  418. PR_TURNUNDEAD,
  419. PR_LEXAETERNA,
  420. PR_MAGNUS,
  421. WZ_FIREPILLAR,
  422. WZ_SIGHTRASHER,
  423. WZ_FIREIVY,
  424. WZ_METEOR,
  425. WZ_JUPITEL,
  426. WZ_VERMILION,
  427. WZ_WATERBALL,
  428. WZ_ICEWALL,
  429. WZ_FROSTNOVA,
  430. WZ_STORMGUST,
  431. WZ_EARTHSPIKE,
  432. WZ_HEAVENDRIVE,
  433. WZ_QUAGMIRE,
  434. WZ_ESTIMATION,
  435. BS_IRON,
  436. BS_STEEL,
  437. BS_ENCHANTEDSTONE,
  438. BS_ORIDEOCON,
  439. BS_DAGGER,
  440. BS_SWORD,
  441. BS_TWOHANDSWORD,
  442. BS_AXE,
  443. BS_MACE,
  444. BS_KNUCKLE,
  445. BS_SPEAR,
  446. BS_HILTBINDING,
  447. BS_FINDINGORE,
  448. BS_WEAPONRESEARCH,
  449. BS_REPAIRWEAPON,
  450. BS_SKINTEMPER,
  451. BS_HAMMERFALL,
  452. BS_ADRENALINE,
  453. BS_WEAPONPERFECT,
  454. BS_OVERTHRUST,
  455. BS_MAXIMIZE,
  456. HT_SKIDTRAP,
  457. HT_LANDMINE,
  458. HT_ANKLESNARE,
  459. HT_SHOCKWAVE,
  460. HT_SANDMAN,
  461. HT_FLASHER,
  462. HT_FREEZINGTRAP,
  463. HT_BLASTMINE,
  464. HT_CLAYMORETRAP,
  465. HT_REMOVETRAP,
  466. HT_TALKIEBOX,
  467. HT_BEASTBANE,
  468. HT_FALCON,
  469. HT_STEELCROW,
  470. HT_BLITZBEAT,
  471. HT_DETECTING,
  472. HT_SPRINGTRAP,
  473. AS_RIGHT,
  474. AS_LEFT,
  475. AS_KATAR,
  476. AS_CLOAKING,
  477. AS_SONICBLOW,
  478. AS_GRIMTOOTH,
  479. AS_ENCHANTPOISON,
  480. AS_POISONREACT,
  481. AS_VENOMDUST,
  482. AS_SPLASHER,
  483. NV_FIRSTAID,
  484. NV_TRICKDEAD,
  485. SM_MOVINGRECOVERY,
  486. SM_FATALBLOW,
  487. SM_AUTOBERSERK,
  488. AC_MAKINGARROW,
  489. AC_CHARGEARROW,
  490. TF_SPRINKLESAND,
  491. TF_BACKSLIDING,
  492. TF_PICKSTONE,
  493. TF_THROWSTONE,
  494. MC_CARTREVOLUTION,
  495. MC_CHANGECART,
  496. MC_LOUD,
  497. AL_HOLYLIGHT,
  498. MG_ENERGYCOAT,
  499. NPC_PIERCINGATT,
  500. NPC_MENTALBREAKER,
  501. NPC_RANGEATTACK,
  502. NPC_ATTRICHANGE,
  503. NPC_CHANGEWATER,
  504. NPC_CHANGEGROUND,
  505. NPC_CHANGEFIRE,
  506. NPC_CHANGEWIND,
  507. NPC_CHANGEPOISON,
  508. NPC_CHANGEHOLY,
  509. NPC_CHANGEDARKNESS,
  510. NPC_CHANGETELEKINESIS,
  511. NPC_CRITICALSLASH,
  512. NPC_COMBOATTACK,
  513. NPC_GUIDEDATTACK,
  514. NPC_SELFDESTRUCTION,
  515. NPC_SPLASHATTACK,
  516. NPC_SUICIDE,
  517. NPC_POISON,
  518. NPC_BLINDATTACK,
  519. NPC_SILENCEATTACK,
  520. NPC_STUNATTACK,
  521. NPC_PETRIFYATTACK,
  522. NPC_CURSEATTACK,
  523. NPC_SLEEPATTACK,
  524. NPC_RANDOMATTACK,
  525. NPC_WATERATTACK,
  526. NPC_GROUNDATTACK,
  527. NPC_FIREATTACK,
  528. NPC_WINDATTACK,
  529. NPC_POISONATTACK,
  530. NPC_HOLYATTACK,
  531. NPC_DARKNESSATTACK,
  532. NPC_TELEKINESISATTACK,
  533. NPC_MAGICALATTACK,
  534. NPC_METAMORPHOSIS,
  535. NPC_PROVOCATION,
  536. NPC_SMOKING,
  537. NPC_SUMMONSLAVE,
  538. NPC_EMOTION,
  539. NPC_TRANSFORMATION,
  540. NPC_BLOODDRAIN,
  541. NPC_ENERGYDRAIN,
  542. NPC_KEEPING,
  543. NPC_DARKBREATH,
  544. NPC_DARKBLESSING,
  545. NPC_BARRIER,
  546. NPC_DEFENDER,
  547. NPC_LICK,
  548. NPC_HALLUCINATION,
  549. NPC_REBIRTH,
  550. NPC_SUMMONMONSTER,
  551. RG_SNATCHER,
  552. RG_STEALCOIN,
  553. RG_BACKSTAP,
  554. RG_TUNNELDRIVE,
  555. RG_RAID,
  556. RG_STRIPWEAPON,
  557. RG_STRIPSHIELD,
  558. RG_STRIPARMOR,
  559. RG_STRIPHELM,
  560. RG_INTIMIDATE,
  561. RG_GRAFFITI,
  562. RG_FLAGGRAFFITI,
  563. RG_CLEANER,
  564. RG_GANGSTER,
  565. RG_COMPULSION,
  566. RG_PLAGIARISM,
  567. AM_AXEMASTERY,
  568. AM_LEARNINGPOTION,
  569. AM_PHARMACY,
  570. AM_DEMONSTRATION,
  571. AM_ACIDTERROR,
  572. AM_POTIONPITCHER,
  573. AM_CANNIBALIZE,
  574. AM_SPHEREMINE,
  575. AM_CP_WEAPON,
  576. AM_CP_SHIELD,
  577. AM_CP_ARMOR,
  578. AM_CP_HELM,
  579. AM_BIOETHICS,
  580. AM_BIOTECHNOLOGY,
  581. AM_CREATECREATURE,
  582. AM_CULTIVATION,
  583. AM_FLAMECONTROL,
  584. AM_CALLHOMUN,
  585. AM_REST,
  586. AM_DRILLMASTER,
  587. AM_HEALHOMUN,
  588. AM_RESURRECTHOMUN,
  589. CR_TRUST,
  590. CR_AUTOGUARD,
  591. CR_SHIELDCHARGE,
  592. CR_SHIELDBOOMERANG,
  593. CR_REFLECTSHIELD,
  594. CR_HOLYCROSS,
  595. CR_GRANDCROSS,
  596. CR_DEVOTION,
  597. CR_PROVIDENCE,
  598. CR_DEFENDER,
  599. CR_SPEARQUICKEN,
  600. MO_IRONHAND,
  601. MO_SPIRITSRECOVERY,
  602. MO_CALLSPIRITS,
  603. MO_ABSORBSPIRITS,
  604. MO_TRIPLEATTACK,
  605. MO_BODYRELOCATION,
  606. MO_DODGE,
  607. MO_INVESTIGATE,
  608. MO_FINGEROFFENSIVE,
  609. MO_STEELBODY,
  610. MO_BLADESTOP,
  611. MO_EXPLOSIONSPIRITS,
  612. MO_EXTREMITYFIST,
  613. MO_CHAINCOMBO,
  614. MO_COMBOFINISH,
  615. SA_ADVANCEDBOOK,
  616. SA_CASTCANCEL,
  617. SA_MAGICROD,
  618. SA_SPELLBREAKER,
  619. SA_FREECAST,
  620. SA_AUTOSPELL,
  621. SA_FLAMELAUNCHER,
  622. SA_FROSTWEAPON,
  623. SA_LIGHTNINGLOADER,
  624. SA_SEISMICWEAPON,
  625. SA_DRAGONOLOGY,
  626. SA_VOLCANO,
  627. SA_DELUGE,
  628. SA_VIOLENTGALE,
  629. SA_LANDPROTECTOR,
  630. SA_DISPELL,
  631. SA_ABRACADABRA,
  632. SA_MONOCELL,
  633. SA_CLASSCHANGE,
  634. SA_SUMMONMONSTER,
  635. SA_REVERSEORCISH,
  636. SA_DEATH,
  637. SA_FORTUNE,
  638. SA_TAMINGMONSTER,
  639. SA_QUESTION,
  640. SA_GRAVITY,
  641. SA_LEVELUP,
  642. SA_INSTANTDEATH,
  643. SA_FULLRECOVERY,
  644. SA_COMA,
  645. BD_ADAPTATION,
  646. BD_ENCORE,
  647. BD_LULLABY,
  648. BD_RICHMANKIM,
  649. BD_ETERNALCHAOS,
  650. BD_DRUMBATTLEFIELD,
  651. BD_RINGNIBELUNGEN,
  652. BD_ROKISWEIL,
  653. BD_INTOABYSS,
  654. BD_SIEGFRIED,
  655. BD_RAGNAROK,
  656. BA_MUSICALLESSON,
  657. BA_MUSICALSTRIKE,
  658. BA_DISSONANCE,
  659. BA_FROSTJOKER,
  660. BA_WHISTLE,
  661. BA_ASSASSINCROSS,
  662. BA_POEMBRAGI,
  663. BA_APPLEIDUN,
  664. DC_DANCINGLESSON,
  665. DC_THROWARROW,
  666. DC_UGLYDANCE,
  667. DC_SCREAM,
  668. DC_HUMMING,
  669. DC_DONTFORGETME,
  670. DC_FORTUNEKISS,
  671. DC_SERVICEFORYOU,
  672. NPC_RANDOMMOVE,
  673. NPC_SPEEDUP,
  674. NPC_REVENGE,
  675. WE_MALE,
  676. WE_FEMALE,
  677. WE_CALLPARTNER,
  678. ITM_TOMAHAWK,
  679. NPC_DARKCROSS,
  680. NPC_GRANDDARKNESS,
  681. NPC_DARKSTRIKE,
  682. NPC_DARKTHUNDER,
  683. NPC_STOP,
  684. NPC_WEAPONBRAKER,
  685. NPC_ARMORBRAKE,
  686. NPC_HELMBRAKE,
  687. NPC_SHIELDBRAKE,
  688. NPC_UNDEADATTACK,
  689. NPC_CHANGEUNDEAD,
  690. NPC_POWERUP,
  691. NPC_AGIUP,
  692. NPC_SIEGEMODE,
  693. NPC_CALLSLAVE,
  694. NPC_INVISIBLE,
  695. NPC_RUN,
  696. LK_AURABLADE,
  697. LK_PARRYING,
  698. LK_CONCENTRATION,
  699. LK_TENSIONRELAX,
  700. LK_BERSERK,
  701. LK_FURY,
  702. HP_ASSUMPTIO,
  703. HP_BASILICA,
  704. HP_MEDITATIO,
  705. HW_SOULDRAIN,
  706. HW_MAGICCRASHER,
  707. HW_MAGICPOWER,
  708. PA_PRESSURE,
  709. PA_SACRIFICE,
  710. PA_GOSPEL,
  711. CH_PALMSTRIKE,
  712. CH_TIGERFIST,
  713. CH_CHAINCRUSH,
  714. PF_HPCONVERSION,
  715. PF_SOULCHANGE,
  716. PF_SOULBURN,
  717. ASC_KATAR,
  718. ASC_HALLUCINATION,
  719. ASC_EDP,
  720. ASC_BREAKER,
  721. SN_SIGHT,
  722. SN_FALCONASSAULT,
  723. SN_SHARPSHOOTING,
  724. SN_WINDWALK,
  725. WS_MELTDOWN,
  726. WS_CREATECOIN,
  727. WS_CREATENUGGET,
  728. WS_CARTBOOST,
  729. WS_SYSTEMCREATE,
  730. ST_CHASEWALK,
  731. ST_REJECTSWORD,
  732. ST_STEALBACKPACK,
  733. CR_ALCHEMY,
  734. CR_SYNTHESISPOTION,
  735. CG_ARROWVULCAN,
  736. CG_MOONLIT,
  737. CG_MARIONETTE,
  738. LK_SPIRALPIERCE,
  739. LK_HEADCRUSH,
  740. LK_JOINTBEAT,
  741. HW_NAPALMVULCAN,
  742. CH_SOULCOLLECT,
  743. PF_MINDBREAKER,
  744. PF_MEMORIZE,
  745. PF_FOGWALL,
  746. PF_SPIDERWEB,
  747. ASC_METEORASSAULT,
  748. ASC_CDP,
  749. WE_BABY,
  750. WE_CALLPARENT,
  751. WE_CALLBABY,
  752. TK_RUN,
  753. TK_READYSTORM,
  754. TK_STORMKICK,
  755. TK_READYDOWN,
  756. TK_DOWNKICK,
  757. TK_READYTURN,
  758. TK_TURNKICK,
  759. TK_READYCOUNTER,
  760. TK_COUNTER,
  761. TK_DODGE,
  762. TK_JUMPKICK,
  763. TK_HPTIME,
  764. TK_SPTIME,
  765. TK_POWER,
  766. TK_SEVENWIND,
  767. TK_HIGHJUMP,
  768. SG_FEEL,
  769. SG_SUN_WARM,
  770. SG_MOON_WARM,
  771. SG_STAR_WARM,
  772. SG_SUN_COMFORT,
  773. SG_MOON_COMFORT,
  774. SG_STAR_COMFORT,
  775. SG_HATE,
  776. SG_SUN_ANGER,
  777. SG_MOON_ANGER,
  778. SG_STAR_ANGER,
  779. SG_SUN_BLESS,
  780. SG_MOON_BLESS,
  781. SG_STAR_BLESS,
  782. SG_DEVIL,
  783. SG_FRIEND,
  784. SG_KNOWLEDGE,
  785. SG_FUSION,
  786. SL_ALCHEMIST,
  787. AM_BERSERKPITCHER,
  788. SL_MONK,
  789. SL_STAR,
  790. SL_SAGE,
  791. SL_CRUSADER,
  792. SL_SUPERNOVICE,
  793. SL_KNIGHT,
  794. SL_WIZARD,
  795. SL_PRIEST,
  796. SL_BARDDANCER,
  797. SL_ROGUE,
  798. SL_ASSASIN,
  799. SL_BLACKSMITH,
  800. BS_ADRENALINE2,
  801. SL_HUNTER,
  802. SL_SOULLINKER,
  803. SL_KAIZEL,
  804. SL_KAAHI,
  805. SL_KAUPE,
  806. SL_KAITE,
  807. SL_KAINA,
  808. SL_STIN,
  809. SL_STUN,
  810. SL_SMA,
  811. SL_SWOO,
  812. SL_SKE,
  813. SL_SKA,
  814. SM_SELFPROVOKE,
  815. NPC_EMOTION_ON,
  816. ST_PRESERVE,
  817. ST_FULLSTRIP,
  818. WS_WEAPONREFINE,
  819. CR_SLIMPITCHER,
  820. CR_FULLPROTECTION,
  821. PA_SHIELDCHAIN,
  822. HP_MANARECHARGE,
  823. PF_DOUBLECASTING,
  824. HW_GANBANTEIN,
  825. HW_GRAVITATION,
  826. WS_CARTTERMINATION,
  827. WS_OVERTHRUSTMAX,
  828. CG_LONGINGFREEDOM,
  829. CG_HERMODE,
  830. CG_TAROTCARD,
  831. CR_ACIDDEMONSTRATION,
  832. CR_CULTIVATION,
  833. ITEM_ENCHANTARMS,
  834. TK_MISSION,
  835. SL_HIGH,
  836. KN_ONEHAND,
  837. AM_TWILIGHT1,
  838. AM_TWILIGHT2,
  839. AM_TWILIGHT3,
  840. HT_POWER,
  841. GS_GLITTERING,
  842. GS_FLING,
  843. GS_TRIPLEACTION,
  844. GS_BULLSEYE,
  845. GS_MADNESSCANCEL,
  846. GS_ADJUSTMENT,
  847. GS_INCREASING,
  848. GS_MAGICALBULLET,
  849. GS_CRACKER,
  850. GS_SINGLEACTION,
  851. GS_SNAKEEYE,
  852. GS_CHAINACTION,
  853. GS_TRACKING,
  854. GS_DISARM,
  855. GS_PIERCINGSHOT,
  856. GS_RAPIDSHOWER,
  857. GS_DESPERADO,
  858. GS_GATLINGFEVER,
  859. GS_DUST,
  860. GS_FULLBUSTER,
  861. GS_SPREADATTACK,
  862. GS_GROUNDDRIFT,
  863. NJ_TOBIDOUGU,
  864. NJ_SYURIKEN,
  865. NJ_KUNAI,
  866. NJ_HUUMA,
  867. NJ_ZENYNAGE,
  868. NJ_TATAMIGAESHI,
  869. NJ_KASUMIKIRI,
  870. NJ_SHADOWJUMP,
  871. NJ_KIRIKAGE,
  872. NJ_UTSUSEMI,
  873. NJ_BUNSINJYUTSU,
  874. NJ_NINPOU,
  875. NJ_KOUENKA,
  876. NJ_KAENSIN,
  877. NJ_BAKUENRYU,
  878. NJ_HYOUSENSOU,
  879. NJ_SUITON,
  880. NJ_HYOUSYOURAKU,
  881. NJ_HUUJIN,
  882. NJ_RAIGEKISAI,
  883. NJ_KAMAITACHI,
  884. NJ_NEN,
  885. NJ_ISSEN,
  886. MB_FIGHTING,
  887. MB_NEUTRAL,
  888. MB_TAIMING_PUTI,
  889. MB_WHITEPOTION,
  890. MB_MENTAL,
  891. MB_CARDPITCHER,
  892. MB_PETPITCHER,
  893. MB_BODYSTUDY,
  894. MB_BODYALTER,
  895. MB_PETMEMORY,
  896. MB_M_TELEPORT,
  897. MB_B_GAIN,
  898. MB_M_GAIN,
  899. MB_MISSION,
  900. MB_MUNAKKNOWLEDGE,
  901. MB_MUNAKBALL,
  902. MB_SCROLL,
  903. MB_B_GATHERING,
  904. MB_M_GATHERING,
  905. MB_B_EXCLUDE,
  906. MB_B_DRIFT,
  907. MB_B_WALLRUSH,
  908. MB_M_WALLRUSH,
  909. MB_B_WALLSHIFT,
  910. MB_M_WALLCRASH,
  911. MB_M_REINCARNATION,
  912. MB_B_EQUIP,
  913. SL_DEATHKNIGHT,
  914. SL_COLLECTOR,
  915. SL_NINJA,
  916. SL_GUNNER,
  917. AM_TWILIGHT4,
  918. DA_RESET,
  919. DE_BERSERKAIZER,
  920. DA_DARKPOWER,
  921. DE_PASSIVE,
  922. DE_PATTACK,
  923. DE_PSPEED,
  924. DE_PDEFENSE,
  925. DE_PCRITICAL,
  926. DE_PHP,
  927. DE_PSP,
  928. DE_RESET,
  929. DE_RANKING,
  930. DE_PTRIPLE,
  931. DE_ENERGY,
  932. DE_NIGHTMARE,
  933. DE_SLASH,
  934. DE_COIL,
  935. DE_WAVE,
  936. DE_REBIRTH,
  937. DE_AURA,
  938. DE_FREEZER,
  939. DE_CHANGEATTACK,
  940. DE_PUNISH,
  941. DE_POISON,
  942. DE_INSTANT,
  943. DE_WARNING,
  944. DE_RANKEDKNIFE,
  945. DE_RANKEDGRADIUS,
  946. DE_GAUGE,
  947. DE_GTIME,
  948. DE_GPAIN,
  949. DE_GSKILL,
  950. DE_GKILL,
  951. DE_ACCEL,
  952. DE_BLOCKDOUBLE,
  953. DE_BLOCKMELEE,
  954. DE_BLOCKFAR,
  955. DE_FRONTATTACK,
  956. DE_DANGERATTACK,
  957. DE_TWINATTACK,
  958. DE_WINDATTACK,
  959. DE_WATERATTACK,
  960. DA_ENERGY,
  961. DA_CLOUD,
  962. DA_FIRSTSLOT,
  963. DA_HEADDEF,
  964. DA_SPACE,
  965. DA_TRANSFORM,
  966. DA_EXPLOSION,
  967. DA_REWARD,
  968. DA_CRUSH,
  969. DA_ITEMREBUILD,
  970. DA_ILLUSION,
  971. DA_NUETRALIZE,
  972. DA_RUNNER,
  973. DA_TRANSFER,
  974. DA_WALL,
  975. DA_ZENY,
  976. DA_REVENGE,
  977. DA_EARPLUG,
  978. DA_CONTRACT,
  979. DA_BLACK,
  980. DA_DREAM,
  981. DA_MAGICCART,
  982. DA_COPY,
  983. DA_CRYSTAL,
  984. DA_EXP,
  985. DA_CARTSWING,
  986. DA_REBUILD,
  987. DA_JOBCHANGE,
  988. DA_EDARKNESS,
  989. DA_EGUARDIAN,
  990. DA_TIMEOUT,
  991. ALL_TIMEIN,
  992. DA_ZENYRANK,
  993. DA_ACCESSORYMIX,
  994. NPC_EARTHQUAKE,
  995. NPC_FIREBREATH,
  996. NPC_ICEBREATH,
  997. NPC_THUNDERBREATH,
  998. NPC_ACIDBREATH,
  999. NPC_DARKNESSBREATH,
  1000. NPC_DRAGONFEAR,
  1001. NPC_BLEEDING,
  1002. NPC_PULSESTRIKE,
  1003. NPC_HELLJUDGEMENT,
  1004. NPC_WIDESILENCE,
  1005. NPC_WIDEFREEZE,
  1006. NPC_WIDEBLEEDING,
  1007. NPC_WIDESTONE,
  1008. NPC_WIDECONFUSE,
  1009. NPC_WIDESLEEP,
  1010. NPC_WIDESIGHT,
  1011. NPC_EVILLAND,
  1012. NPC_MAGICMIRROR,
  1013. NPC_SLOWCAST,
  1014. NPC_CRITICALWOUND,
  1015. NPC_EXPULSION,
  1016. NPC_STONESKIN,
  1017. NPC_ANTIMAGIC,
  1018. NPC_WIDECURSE,
  1019. NPC_WIDESTUN,
  1020. NPC_VAMPIRE_GIFT,
  1021. NPC_WIDESOULDRAIN,
  1022. ALL_INCCARRY,
  1023. NPC_TALK,
  1024. NPC_HELLPOWER,
  1025. NPC_WIDEHELLDIGNITY,
  1026. NPC_INVINCIBLE,
  1027. NPC_INVINCIBLEOFF,
  1028. NPC_ALLHEAL,
  1029. GM_SANDMAN,
  1030. CASH_BLESSING,
  1031. CASH_INCAGI,
  1032. CASH_ASSUMPTIO,
  1033. ALL_CATCRY,
  1034. ALL_PARTYFLEE,
  1035. ALL_ANGEL_PROTECT,
  1036. ALL_DREAM_SUMMERNIGHT,
  1037. NPC_CHANGEUNDEAD2,
  1038. ALL_REVERSEORCISH,
  1039. ALL_WEWISH,
  1040. ALL_SONKRAN,
  1041. KN_CHARGEATK = 1001,
  1042. CR_SHRINK,
  1043. AS_SONICACCEL,
  1044. AS_VENOMKNIFE,
  1045. RG_CLOSECONFINE,
  1046. WZ_SIGHTBLASTER,
  1047. SA_CREATECON,
  1048. SA_ELEMENTWATER,
  1049. HT_PHANTASMIC,
  1050. BA_PANGVOICE,
  1051. DC_WINKCHARM,
  1052. BS_UNFAIRLYTRICK,
  1053. BS_GREED,
  1054. PR_REDEMPTIO,
  1055. MO_KITRANSLATION,
  1056. MO_BALKYOUNG,
  1057. SA_ELEMENTGROUND,
  1058. SA_ELEMENTFIRE,
  1059. SA_ELEMENTWIND,
  1060. RK_ENCHANTBLADE = 2001,
  1061. RK_SONICWAVE,
  1062. RK_DEATHBOUND,
  1063. RK_HUNDREDSPEAR,
  1064. RK_WINDCUTTER,
  1065. RK_IGNITIONBREAK,
  1066. RK_DRAGONTRAINING,
  1067. RK_DRAGONBREATH,
  1068. RK_DRAGONHOWLING,
  1069. RK_RUNEMASTERY,
  1070. RK_MILLENNIUMSHIELD,
  1071. RK_CRUSHSTRIKE,
  1072. RK_REFRESH,
  1073. RK_GIANTGROWTH,
  1074. RK_STONEHARDSKIN,
  1075. RK_VITALITYACTIVATION,
  1076. RK_STORMBLAST,
  1077. RK_FIGHTINGSPIRIT,
  1078. RK_ABUNDANCE,
  1079. RK_PHANTOMTHRUST,
  1080. GC_VENOMIMPRESS,
  1081. GC_CROSSIMPACT,
  1082. GC_DARKILLUSION,
  1083. GC_RESEARCHNEWPOISON,
  1084. GC_CREATENEWPOISON,
  1085. GC_ANTIDOTE,
  1086. GC_POISONINGWEAPON,
  1087. GC_WEAPONBLOCKING,
  1088. GC_COUNTERSLASH,
  1089. GC_WEAPONCRUSH,
  1090. GC_VENOMPRESSURE,
  1091. GC_POISONSMOKE,
  1092. GC_CLOAKINGEXCEED,
  1093. GC_PHANTOMMENACE,
  1094. GC_HALLUCINATIONWALK,
  1095. GC_ROLLINGCUTTER,
  1096. GC_CROSSRIPPERSLASHER,
  1097. AB_JUDEX,
  1098. AB_ANCILLA,
  1099. AB_ADORAMUS,
  1100. AB_CLEMENTIA,
  1101. AB_CANTO,
  1102. AB_CHEAL,
  1103. AB_EPICLESIS,
  1104. AB_PRAEFATIO,
  1105. AB_ORATIO,
  1106. AB_LAUDAAGNUS,
  1107. AB_LAUDARAMUS,
  1108. AB_EUCHARISTICA,
  1109. AB_RENOVATIO,
  1110. AB_HIGHNESSHEAL,
  1111. AB_CLEARANCE,
  1112. AB_EXPIATIO,
  1113. AB_DUPLELIGHT,
  1114. AB_DUPLELIGHT_MELEE,
  1115. AB_DUPLELIGHT_MAGIC,
  1116. AB_SILENTIUM,
  1117. WL_WHITEIMPRISON = 2201,
  1118. WL_SOULEXPANSION,
  1119. WL_FROSTMISTY,
  1120. WL_JACKFROST,
  1121. WL_MARSHOFABYSS,
  1122. WL_RECOGNIZEDSPELL,
  1123. WL_SIENNAEXECRATE,
  1124. WL_RADIUS,
  1125. WL_STASIS,
  1126. WL_DRAINLIFE,
  1127. WL_CRIMSONROCK,
  1128. WL_HELLINFERNO,
  1129. WL_COMET,
  1130. WL_CHAINLIGHTNING,
  1131. WL_CHAINLIGHTNING_ATK,
  1132. WL_EARTHSTRAIN,
  1133. WL_TETRAVORTEX,
  1134. WL_TETRAVORTEX_FIRE,
  1135. WL_TETRAVORTEX_WATER,
  1136. WL_TETRAVORTEX_WIND,
  1137. WL_TETRAVORTEX_GROUND,
  1138. WL_SUMMONFB,
  1139. WL_SUMMONBL,
  1140. WL_SUMMONWB,
  1141. WL_SUMMON_ATK_FIRE,
  1142. WL_SUMMON_ATK_WIND,
  1143. WL_SUMMON_ATK_WATER,
  1144. WL_SUMMON_ATK_GROUND,
  1145. WL_SUMMONSTONE,
  1146. WL_RELEASE,
  1147. WL_READING_SB,
  1148. WL_FREEZE_SP,
  1149. RA_ARROWSTORM,
  1150. RA_FEARBREEZE,
  1151. RA_RANGERMAIN,
  1152. RA_AIMEDBOLT,
  1153. RA_DETONATOR,
  1154. RA_ELECTRICSHOCKER,
  1155. RA_CLUSTERBOMB,
  1156. RA_WUGMASTERY,
  1157. RA_WUGRIDER,
  1158. RA_WUGDASH,
  1159. RA_WUGSTRIKE,
  1160. RA_WUGBITE,
  1161. RA_TOOTHOFWUG,
  1162. RA_SENSITIVEKEEN,
  1163. RA_CAMOUFLAGE,
  1164. RA_RESEARCHTRAP,
  1165. RA_MAGENTATRAP,
  1166. RA_COBALTTRAP,
  1167. RA_MAIZETRAP,
  1168. RA_VERDURETRAP,
  1169. RA_FIRINGTRAP,
  1170. RA_ICEBOUNDTRAP,
  1171. NC_MADOLICENCE,
  1172. NC_BOOSTKNUCKLE,
  1173. NC_PILEBUNKER,
  1174. NC_VULCANARM,
  1175. NC_FLAMELAUNCHER,
  1176. NC_COLDSLOWER,
  1177. NC_ARMSCANNON,
  1178. NC_ACCELERATION,
  1179. NC_HOVERING,
  1180. NC_F_SIDESLIDE,
  1181. NC_B_SIDESLIDE,
  1182. NC_MAINFRAME,
  1183. NC_SELFDESTRUCTION,
  1184. NC_SHAPESHIFT,
  1185. NC_EMERGENCYCOOL,
  1186. NC_INFRAREDSCAN,
  1187. NC_ANALYZE,
  1188. NC_MAGNETICFIELD,
  1189. NC_NEUTRALBARRIER,
  1190. NC_STEALTHFIELD,
  1191. NC_REPAIR,
  1192. NC_TRAININGAXE,
  1193. NC_RESEARCHFE,
  1194. NC_AXEBOOMERANG,
  1195. NC_POWERSWING,
  1196. NC_AXETORNADO,
  1197. NC_SILVERSNIPER,
  1198. NC_MAGICDECOY,
  1199. NC_DISJOINT,
  1200. SC_FATALMENACE,
  1201. SC_REPRODUCE,
  1202. SC_AUTOSHADOWSPELL,
  1203. SC_SHADOWFORM,
  1204. SC_TRIANGLESHOT,
  1205. SC_BODYPAINT,
  1206. SC_INVISIBILITY,
  1207. SC_DEADLYINFECT,
  1208. SC_ENERVATION,
  1209. SC_GROOMY,
  1210. SC_IGNORANCE,
  1211. SC_LAZINESS,
  1212. SC_UNLUCKY,
  1213. SC_WEAKNESS,
  1214. SC_STRIPACCESSARY,
  1215. SC_MANHOLE,
  1216. SC_DIMENSIONDOOR,
  1217. SC_CHAOSPANIC,
  1218. SC_MAELSTROM,
  1219. SC_BLOODYLUST,
  1220. SC_FEINTBOMB,
  1221. LG_CANNONSPEAR = 2307,
  1222. LG_BANISHINGPOINT,
  1223. LG_TRAMPLE,
  1224. LG_SHIELDPRESS,
  1225. LG_REFLECTDAMAGE,
  1226. LG_PINPOINTATTACK,
  1227. LG_FORCEOFVANGUARD,
  1228. LG_RAGEBURST,
  1229. LG_SHIELDSPELL,
  1230. LG_EXEEDBREAK,
  1231. LG_OVERBRAND,
  1232. LG_PRESTIGE,
  1233. LG_BANDING,
  1234. LG_MOONSLASHER,
  1235. LG_RAYOFGENESIS,
  1236. LG_PIETY,
  1237. LG_EARTHDRIVE,
  1238. LG_HESPERUSLIT,
  1239. LG_INSPIRATION,
  1240. SR_DRAGONCOMBO,
  1241. SR_SKYNETBLOW,
  1242. SR_EARTHSHAKER,
  1243. SR_FALLENEMPIRE,
  1244. SR_TIGERCANNON,
  1245. SR_HELLGATE,
  1246. SR_RAMPAGEBLASTER,
  1247. SR_CRESCENTELBOW,
  1248. SR_CURSEDCIRCLE,
  1249. SR_LIGHTNINGWALK,
  1250. SR_KNUCKLEARROW,
  1251. SR_WINDMILL,
  1252. SR_RAISINGDRAGON,
  1253. SR_GENTLETOUCH,
  1254. SR_ASSIMILATEPOWER,
  1255. SR_POWERVELOCITY,
  1256. SR_CRESCENTELBOW_AUTOSPELL,
  1257. SR_GATEOFHELL,
  1258. SR_GENTLETOUCH_QUIET,
  1259. SR_GENTLETOUCH_CURE,
  1260. SR_GENTLETOUCH_ENERGYGAIN,
  1261. SR_GENTLETOUCH_CHANGE,
  1262. SR_GENTLETOUCH_REVITALIZE,
  1263. WA_SWING_DANCE = 2350,
  1264. WA_SYMPHONY_OF_LOVER,
  1265. WA_MOONLIT_SERENADE,
  1266. MI_RUSH_WINDMILL = 2381,
  1267. MI_ECHOSONG,
  1268. MI_HARMONIZE,
  1269. WM_LESSON = 2412,
  1270. WM_METALICSOUND,
  1271. WM_REVERBERATION,
  1272. WM_REVERBERATION_MELEE,
  1273. WM_REVERBERATION_MAGIC,
  1274. WM_DOMINION_IMPULSE,
  1275. WM_SEVERE_RAINSTORM,
  1276. WM_POEMOFNETHERWORLD,
  1277. WM_VOICEOFSIREN,
  1278. WM_DEADHILLHERE,
  1279. WM_LULLABY_DEEPSLEEP,
  1280. WM_SIRCLEOFNATURE,
  1281. WM_RANDOMIZESPELL,
  1282. WM_GLOOMYDAY,
  1283. WM_GREAT_ECHO,
  1284. WM_SONG_OF_MANA,
  1285. WM_DANCE_WITH_WUG,
  1286. WM_SOUND_OF_DESTRUCTION,
  1287. WM_SATURDAY_NIGHT_FEVER,
  1288. WM_LERADS_DEW,
  1289. WM_MELODYOFSINK,
  1290. WM_BEYOND_OF_WARCRY,
  1291. WM_UNLIMITED_HUMMING_VOICE,
  1292. SO_FIREWALK = 2443,
  1293. SO_ELECTRICWALK,
  1294. SO_SPELLFIST,
  1295. SO_EARTHGRAVE,
  1296. SO_DIAMONDDUST,
  1297. SO_POISON_BUSTER,
  1298. SO_PSYCHIC_WAVE,
  1299. SO_CLOUD_KILL,
  1300. SO_STRIKING,
  1301. SO_WARMER,
  1302. SO_VACUUM_EXTREME,
  1303. SO_VARETYR_SPEAR,
  1304. SO_ARRULLO,
  1305. SO_EL_CONTROL,
  1306. SO_SUMMON_AGNI,
  1307. SO_SUMMON_AQUA,
  1308. SO_SUMMON_VENTUS,
  1309. SO_SUMMON_TERA,
  1310. SO_EL_ACTION,
  1311. SO_EL_ANALYSIS,
  1312. SO_EL_SYMPATHY,
  1313. SO_EL_CURE,
  1314. SO_FIRE_INSIGNIA,
  1315. SO_WATER_INSIGNIA,
  1316. SO_WIND_INSIGNIA,
  1317. SO_EARTH_INSIGNIA,
  1318. GN_TRAINING_SWORD = 2474,
  1319. GN_REMODELING_CART,
  1320. GN_CART_TORNADO,
  1321. GN_CARTCANNON,
  1322. GN_CARTBOOST,
  1323. GN_THORNS_TRAP,
  1324. GN_BLOOD_SUCKER,
  1325. GN_SPORE_EXPLOSION,
  1326. GN_WALLOFTHORN,
  1327. GN_CRAZYWEED,
  1328. GN_CRAZYWEED_ATK,
  1329. GN_DEMONIC_FIRE,
  1330. GN_FIRE_EXPANSION,
  1331. GN_FIRE_EXPANSION_SMOKE_POWDER,
  1332. GN_FIRE_EXPANSION_TEAR_GAS,
  1333. GN_FIRE_EXPANSION_ACID,
  1334. GN_HELLS_PLANT,
  1335. GN_HELLS_PLANT_ATK,
  1336. GN_MANDRAGORA,
  1337. GN_SLINGITEM,
  1338. GN_CHANGEMATERIAL,
  1339. GN_MIX_COOKING,
  1340. GN_MAKEBOMB,
  1341. GN_S_PHARMACY,
  1342. GN_SLINGITEM_RANGEMELEEATK,
  1343. AB_SECRAMENT = 2515,
  1344. WM_SEVERE_RAINSTORM_MELEE,
  1345. SR_HOWLINGOFLION,
  1346. SR_RIDEINLIGHTNING,
  1347. LG_OVERBRAND_BRANDISH,
  1348. LG_OVERBRAND_PLUSATK,
  1349. ALL_ODINS_RECALL = 2533,
  1350. RETURN_TO_ELDICASTES,
  1351. ALL_BUYING_STORE,
  1352. ALL_GUARDIAN_RECALL,
  1353. ALL_ODINS_POWER,
  1354. KO_YAMIKUMO = 3001,
  1355. KO_RIGHT,
  1356. KO_LEFT,
  1357. KO_JYUMONJIKIRI,
  1358. KO_SETSUDAN,
  1359. KO_BAKURETSU,
  1360. KO_HAPPOKUNAI,
  1361. KO_MUCHANAGE,
  1362. KO_HUUMARANKA,
  1363. KO_MAKIBISHI,
  1364. KO_MEIKYOUSISUI,
  1365. KO_ZANZOU,
  1366. KO_KYOUGAKU,
  1367. KO_JYUSATSU,
  1368. KO_KAHU_ENTEN,
  1369. KO_HYOUHU_HUBUKI,
  1370. KO_KAZEHU_SEIRAN,
  1371. KO_DOHU_KOUKAI,
  1372. KO_KAIHOU,
  1373. KO_ZENKAI,
  1374. KO_GENWAKU,
  1375. KO_IZAYOI,
  1376. KG_KAGEHUMI,
  1377. KG_KYOMU,
  1378. KG_KAGEMUSYA,
  1379. OB_ZANGETSU,
  1380. OB_OBOROGENSOU,
  1381. OB_OBOROGENSOU_TRANSITION_ATK,
  1382. OB_AKAITSUKI,
  1383. ECL_SNOWFLIP = 3031,
  1384. ECL_PEONYMAMY,
  1385. ECL_SADAGUI,
  1386. ECL_SEQUOIADUST,
  1387. ECLAGE_RECALL,
  1388. HLIF_HEAL = 8001,
  1389. HLIF_AVOID,
  1390. HLIF_BRAIN,
  1391. HLIF_CHANGE,
  1392. HAMI_CASTLE,
  1393. HAMI_DEFENCE,
  1394. HAMI_SKIN,
  1395. HAMI_BLOODLUST,
  1396. HFLI_MOON,
  1397. HFLI_FLEET,
  1398. HFLI_SPEED,
  1399. HFLI_SBR44,
  1400. HVAN_CAPRICE,
  1401. HVAN_CHAOTIC,
  1402. HVAN_INSTRUCT,
  1403. HVAN_EXPLOSION,
  1404. MUTATION_BASEJOB,
  1405. MH_SUMMON_LEGION,
  1406. MH_NEEDLE_OF_PARALYZE,
  1407. MH_POISON_MIST,
  1408. MH_PAIN_KILLER,
  1409. MH_LIGHT_OF_REGENE,
  1410. MH_OVERED_BOOST,
  1411. MH_ERASER_CUTTER,
  1412. MH_XENO_SLASHER,
  1413. MH_SILENT_BREEZE,
  1414. MH_STYLE_CHANGE,
  1415. MH_SONIC_CRAW,
  1416. MH_SILVERVEIN_RUSH,
  1417. MH_MIDNIGHT_FRENZY,
  1418. MH_STAHL_HORN,
  1419. MH_GOLDENE_FERSE,
  1420. MH_STEINWAND,
  1421. MH_HEILIGE_STANGE,
  1422. MH_ANGRIFFS_MODUS,
  1423. MH_TINDER_BREAKER,
  1424. MH_CBC,
  1425. MH_EQC,
  1426. MH_MAGMA_FLOW,
  1427. MH_GRANITIC_ARMOR,
  1428. MH_LAVA_SLIDE,
  1429. MH_PYROCLASTIC,
  1430. MH_VOLCANIC_ASH,
  1431. MS_BASH = 8201,
  1432. MS_MAGNUM,
  1433. MS_BOWLINGBASH,
  1434. MS_PARRYING,
  1435. MS_REFLECTSHIELD,
  1436. MS_BERSERK,
  1437. MA_DOUBLE,
  1438. MA_SHOWER,
  1439. MA_SKIDTRAP,
  1440. MA_LANDMINE,
  1441. MA_SANDMAN,
  1442. MA_FREEZINGTRAP,
  1443. MA_REMOVETRAP,
  1444. MA_CHARGEARROW,
  1445. MA_SHARPSHOOTING,
  1446. ML_PIERCE,
  1447. ML_BRANDISH,
  1448. ML_SPIRALPIERCE,
  1449. ML_DEFENDER,
  1450. ML_AUTOGUARD,
  1451. ML_DEVOTION,
  1452. MER_MAGNIFICAT,
  1453. MER_QUICKEN,
  1454. MER_SIGHT,
  1455. MER_CRASH,
  1456. MER_REGAIN,
  1457. MER_TENDER,
  1458. MER_BENEDICTION,
  1459. MER_RECUPERATE,
  1460. MER_MENTALCURE,
  1461. MER_COMPRESS,
  1462. MER_PROVOKE,
  1463. MER_AUTOBERSERK,
  1464. MER_DECAGI,
  1465. MER_SCAPEGOAT,
  1466. MER_LEXDIVINA,
  1467. MER_ESTIMATION,
  1468. MER_KYRIE,
  1469. MER_BLESSING,
  1470. MER_INCAGI,
  1471. EL_CIRCLE_OF_FIRE = 8401,
  1472. EL_FIRE_CLOAK,
  1473. EL_FIRE_MANTLE,
  1474. EL_WATER_SCREEN,
  1475. EL_WATER_DROP,
  1476. EL_WATER_BARRIER,
  1477. EL_WIND_STEP,
  1478. EL_WIND_CURTAIN,
  1479. EL_ZEPHYR,
  1480. EL_SOLID_SKIN,
  1481. EL_STONE_SHIELD,
  1482. EL_POWER_OF_GAIA,
  1483. EL_PYROTECHNIC,
  1484. EL_HEATER,
  1485. EL_TROPIC,
  1486. EL_AQUAPLAY,
  1487. EL_COOLER,
  1488. EL_CHILLY_AIR,
  1489. EL_GUST,
  1490. EL_BLAST,
  1491. EL_WILD_STORM,
  1492. EL_PETROLOGY,
  1493. EL_CURSED_SOIL,
  1494. EL_UPHEAVAL,
  1495. EL_FIRE_ARROW,
  1496. EL_FIRE_BOMB,
  1497. EL_FIRE_BOMB_ATK,
  1498. EL_FIRE_WAVE,
  1499. EL_FIRE_WAVE_ATK,
  1500. EL_ICE_NEEDLE,
  1501. EL_WATER_SCREW,
  1502. EL_WATER_SCREW_ATK,
  1503. EL_TIDAL_WEAPON,
  1504. EL_WIND_SLASH,
  1505. EL_HURRICANE,
  1506. EL_HURRICANE_ATK,
  1507. EL_TYPOON_MIS,
  1508. EL_TYPOON_MIS_ATK,
  1509. EL_STONE_HAMMER,
  1510. EL_ROCK_CRUSHER,
  1511. EL_ROCK_CRUSHER_ATK,
  1512. EL_STONE_RAIN,
  1513. };
  1514. /// The client view ids for land skills.
  1515. enum {
  1516. UNT_SAFETYWALL = 0x7e,
  1517. UNT_FIREWALL,
  1518. UNT_WARP_WAITING,
  1519. UNT_WARP_ACTIVE,
  1520. UNT_BENEDICTIO, //TODO
  1521. UNT_SANCTUARY,
  1522. UNT_MAGNUS,
  1523. UNT_PNEUMA,
  1524. UNT_DUMMYSKILL, //These show no effect on the client
  1525. UNT_FIREPILLAR_WAITING,
  1526. UNT_FIREPILLAR_ACTIVE,
  1527. UNT_HIDDEN_TRAP, //TODO
  1528. UNT_TRAP, //TODO
  1529. UNT_HIDDEN_WARP_NPC, //TODO
  1530. UNT_USED_TRAPS,
  1531. UNT_ICEWALL,
  1532. UNT_QUAGMIRE,
  1533. UNT_BLASTMINE,
  1534. UNT_SKIDTRAP,
  1535. UNT_ANKLESNARE,
  1536. UNT_VENOMDUST,
  1537. UNT_LANDMINE,
  1538. UNT_SHOCKWAVE,
  1539. UNT_SANDMAN,
  1540. UNT_FLASHER,
  1541. UNT_FREEZINGTRAP,
  1542. UNT_CLAYMORETRAP,
  1543. UNT_TALKIEBOX,
  1544. UNT_VOLCANO,
  1545. UNT_DELUGE,
  1546. UNT_VIOLENTGALE,
  1547. UNT_LANDPROTECTOR,
  1548. UNT_LULLABY,
  1549. UNT_RICHMANKIM,
  1550. UNT_ETERNALCHAOS,
  1551. UNT_DRUMBATTLEFIELD,
  1552. UNT_RINGNIBELUNGEN,
  1553. UNT_ROKISWEIL,
  1554. UNT_INTOABYSS,
  1555. UNT_SIEGFRIED,
  1556. UNT_DISSONANCE,
  1557. UNT_WHISTLE,
  1558. UNT_ASSASSINCROSS,
  1559. UNT_POEMBRAGI,
  1560. UNT_APPLEIDUN,
  1561. UNT_UGLYDANCE,
  1562. UNT_HUMMING,
  1563. UNT_DONTFORGETME,
  1564. UNT_FORTUNEKISS,
  1565. UNT_SERVICEFORYOU,
  1566. UNT_GRAFFITI,
  1567. UNT_DEMONSTRATION,
  1568. UNT_CALLFAMILY,
  1569. UNT_GOSPEL,
  1570. UNT_BASILICA,
  1571. UNT_MOONLIT,
  1572. UNT_FOGWALL,
  1573. UNT_SPIDERWEB,
  1574. UNT_GRAVITATION,
  1575. UNT_HERMODE,
  1576. UNT_KAENSIN, //TODO
  1577. UNT_SUITON,
  1578. UNT_TATAMIGAESHI,
  1579. UNT_KAEN,
  1580. UNT_GROUNDDRIFT_WIND,
  1581. UNT_GROUNDDRIFT_DARK,
  1582. UNT_GROUNDDRIFT_POISON,
  1583. UNT_GROUNDDRIFT_WATER,
  1584. UNT_GROUNDDRIFT_FIRE,
  1585. UNT_DEATHWAVE, //TODO
  1586. UNT_WATERATTACK, //TODO
  1587. UNT_WINDATTACK, //TODO
  1588. UNT_EARTHQUAKE, //TODO
  1589. UNT_EVILLAND,
  1590. UNT_DARK_RUNNER, //TODO
  1591. UNT_DARK_TRANSFER, //TODO
  1592. UNT_EPICLESIS,
  1593. UNT_EARTHSTRAIN,
  1594. UNT_MANHOLE,
  1595. UNT_DIMENSIONDOOR,
  1596. UNT_CHAOSPANIC,
  1597. UNT_MAELSTROM,
  1598. UNT_BLOODYLUST,
  1599. UNT_FEINTBOMB,
  1600. UNT_MAGENTATRAP,
  1601. UNT_COBALTTRAP,
  1602. UNT_MAIZETRAP,
  1603. UNT_VERDURETRAP,
  1604. UNT_FIRINGTRAP,
  1605. UNT_ICEBOUNDTRAP,
  1606. UNT_ELECTRICSHOCKER,
  1607. UNT_CLUSTERBOMB,
  1608. UNT_REVERBERATION,
  1609. UNT_SEVERE_RAINSTORM,
  1610. UNT_FIREWALK,
  1611. UNT_ELECTRICWALK,
  1612. UNT_NETHERWORLD,
  1613. UNT_PSYCHIC_WAVE,
  1614. UNT_CLOUD_KILL,
  1615. UNT_POISONSMOKE,
  1616. UNT_NEUTRALBARRIER,
  1617. UNT_STEALTHFIELD,
  1618. UNT_WARMER,
  1619. UNT_THORNS_TRAP,
  1620. UNT_WALLOFTHORN,
  1621. UNT_DEMONIC_FIRE,
  1622. UNT_FIRE_EXPANSION_SMOKE_POWDER,
  1623. UNT_FIRE_EXPANSION_TEAR_GAS,
  1624. UNT_HELLS_PLANT,
  1625. UNT_VACUUM_EXTREME,
  1626. UNT_BANDING,
  1627. UNT_FIRE_MANTLE,
  1628. UNT_WATER_BARRIER,
  1629. UNT_ZEPHYR,
  1630. UNT_POWER_OF_GAIA,
  1631. UNT_FIRE_INSIGNIA,
  1632. UNT_WATER_INSIGNIA,
  1633. UNT_WIND_INSIGNIA,
  1634. UNT_EARTH_INSIGNIA,
  1635. UNT_POISON_MIST,
  1636. UNT_LAVA_SLIDE,
  1637. UNT_VOLCANIC_ASH,
  1638. UNT_ZENKAI_WATER,
  1639. UNT_ZENKAI_GROUND,
  1640. UNT_ZENKAI_FIRE,
  1641. UNT_ZENKAI_WIND,
  1642. UNT_MAKIBISHI,
  1643. /**
  1644. * Guild Auras
  1645. **/
  1646. UNT_GD_LEADERSHIP = 0xc1,
  1647. UNT_GD_GLORYWOUNDS = 0xc2,
  1648. UNT_GD_SOULCOLD = 0xc3,
  1649. UNT_GD_HAWKEYES = 0xc4,
  1650. UNT_MAX = 0x190
  1651. };
  1652. /**
  1653. * Skill Unit Save
  1654. **/
  1655. void skill_usave_add(struct map_session_data * sd, int skill_num, int skill_lv);
  1656. void skill_usave_trigger(struct map_session_data *sd);
  1657. /**
  1658. * Skill Cool Downs - load from pc.c when the character logs in
  1659. **/
  1660. void skill_cooldown_load(struct map_session_data * sd);
  1661. /**
  1662. * Warlock
  1663. **/
  1664. #define MAX_SKILL_SPELLBOOK_DB 17
  1665. enum wl_spheres {
  1666. WLS_FIRE = 0x44,
  1667. WLS_WIND,
  1668. WLS_WATER,
  1669. WLS_STONE,
  1670. };
  1671. int skill_spellbook (struct map_session_data *sd, int nameid);
  1672. int skill_stasis_check(struct block_list *bl, int src_id, int skillid);
  1673. /**
  1674. * Guilottine Cross
  1675. **/
  1676. #define MAX_SKILL_MAGICMUSHROOM_DB 22
  1677. struct s_skill_magicmushroom_db {
  1678. int skillid;
  1679. };
  1680. extern struct s_skill_magicmushroom_db skill_magicmushroom_db[MAX_SKILL_MAGICMUSHROOM_DB];
  1681. /**
  1682. * Ranger
  1683. **/
  1684. int skill_detonator(struct block_list *bl, va_list ap);
  1685. bool skill_check_camouflage(struct block_list *bl, struct status_change_entry *sce);
  1686. /**
  1687. * Mechanic
  1688. **/
  1689. int skill_magicdecoy(struct map_session_data *sd, int nameid);
  1690. /**
  1691. * Guiltoine Cross
  1692. **/
  1693. int skill_poisoningweapon( struct map_session_data *sd, int nameid);
  1694. enum gx_poison {
  1695. PO_PARALYSE = 12717,
  1696. PO_LEECHESEND,
  1697. PO_OBLIVIONCURSE,
  1698. PO_DEATHHURT,
  1699. PO_TOXIN,
  1700. PO_PYREXIA,
  1701. PO_MAGICMUSHROOM,
  1702. PO_VENOMBLEED
  1703. };
  1704. /**
  1705. * Auto Shadow Spell (Shadow Chaser)
  1706. **/
  1707. int skill_select_menu(struct map_session_data *sd,int flag,int skill_id);
  1708. int skill_elementalanalysis(struct map_session_data *sd, int n, int type, unsigned short *item_list); // Sorcerer Four Elemental Analisys.
  1709. int skill_changematerial(struct map_session_data *sd, int n, unsigned short *item_list); // Genetic Change Material.
  1710. int skill_get_elemental_type(int skill_id, int skill_lv);
  1711. #endif /* _SKILL_H_ */