skill.h 37 KB

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