/************************************************************** * FFTacticsMUD : skills.h * ************************************************************** * (c) 2002 Damien Dailidenas (Trenton). All rights reserved. * **************************************************************/ #define DECLARE_DO_ACT(fun) DO_ACT fun typedef bool DO_ACT args((CH *ch, const bool check=false)); #define SK_ACTION 0 #define SK_REACTION 1 #define SK_SUPPORT 2 #define SK_MOVE 3 struct skill_type { char *name; short type; DO_ACT *fun; short job, range, effect, ctr, JP; bool self; short trigger; }; extern const struct skill_type skill_table[]; /******************** * ACTIONS (DO_ACT) * ********************/ DECLARE_DO_ACT(do_attack); DECLARE_DO_ACT(do_accumulate); DECLARE_DO_ACT(do_dash); DECLARE_DO_ACT(do_throwstone); DECLARE_DO_ACT(do_heal); DECLARE_DO_ACT(do_countertackle); DECLARE_DO_ACT(do_bloodsuck); DECLARE_DO_ACT(do_ice2); DECLARE_DO_ACT(do_monsterskill); DECLARE_DO_ACT(do_defend); DECLARE_DO_ACT(do_potion); DECLARE_DO_ACT(do_hipotion); DECLARE_DO_ACT(do_xpotion); DECLARE_DO_ACT(do_ether); DECLARE_DO_ACT(do_hiether); DECLARE_DO_ACT(do_elixir); DECLARE_DO_ACT(do_antidote); DECLARE_DO_ACT(do_eyedrop); DECLARE_DO_ACT(do_echograss); DECLARE_DO_ACT(do_maidenskiss); DECLARE_DO_ACT(do_soft); DECLARE_DO_ACT(do_holywater); DECLARE_DO_ACT(do_remedy); DECLARE_DO_ACT(do_phoenixdown); DECLARE_DO_ACT(do_autopotion); DECLARE_DO_ACT(do_throwitem); DECLARE_DO_ACT(do_maintenance); DECLARE_DO_ACT(do_equipchange); DECLARE_DO_ACT(do_movefinditem); DECLARE_DO_ACT(do_headbreak); DECLARE_DO_ACT(do_armorbreak); DECLARE_DO_ACT(do_shieldbreak); DECLARE_DO_ACT(do_weaponbreak); DECLARE_DO_ACT(do_magicbreak); DECLARE_DO_ACT(do_speedbreak); DECLARE_DO_ACT(do_powerbreak); DECLARE_DO_ACT(do_mindbreak); DECLARE_DO_ACT(do_weaponguard); DECLARE_DO_ACT(do_fire); DECLARE_DO_ACT(do_fire2); DECLARE_DO_ACT(do_ice); DECLARE_DO_ACT(do_bolt); DECLARE_DO_ACT(do_bolt2); DECLARE_DO_ACT(do_charge1); DECLARE_DO_ACT(do_charge2); DECLARE_DO_ACT(do_charge3); DECLARE_DO_ACT(do_charge4); DECLARE_DO_ACT(do_charge5); DECLARE_DO_ACT(do_charge7); DECLARE_DO_ACT(do_charge10); DECLARE_DO_ACT(do_charge20); DECLARE_DO_ACT(do_concentrate); DECLARE_DO_ACT(do_speedsave); DECLARE_DO_ACT(do_arrowguard); DECLARE_DO_ACT(do_spinfist); DECLARE_DO_ACT(do_repeatingfist); DECLARE_DO_ACT(do_wavefist); DECLARE_DO_ACT(do_earthslash); DECLARE_DO_ACT(do_secretfist); DECLARE_DO_ACT(do_stigmamagic); DECLARE_DO_ACT(do_chakra); DECLARE_DO_ACT(do_revive); /*************** * NPC ACTIONS * ***************/ DECLARE_DO_ACT(do_chocoattack); DECLARE_DO_ACT(do_chococure); DECLARE_DO_ACT(do_chocoesuna); DECLARE_DO_ACT(do_chocoball); DECLARE_DO_ACT(do_chocometeor); DECLARE_DO_ACT(do_tackle); DECLARE_DO_ACT(do_eyegouge); DECLARE_DO_ACT(do_goblinpunch); DECLARE_DO_ACT(do_mutilate); DECLARE_DO_ACT(do_bite); DECLARE_DO_ACT(do_selfdestruct); DECLARE_DO_ACT(do_smallbomb); DECLARE_DO_ACT(do_turnpunch); DECLARE_DO_ACT(do_spark); DECLARE_DO_ACT(do_scratch); DECLARE_DO_ACT(do_poisonnail); DECLARE_DO_ACT(do_catkick); DECLARE_DO_ACT(do_blaster); DECLARE_DO_ACT(do_tentacle); DECLARE_DO_ACT(do_blackink); DECLARE_DO_ACT(do_darkwhisper); DECLARE_DO_ACT(do_tripleflame); DECLARE_DO_ACT(do_triplethunder); DECLARE_DO_ACT(do_triplebreath); DECLARE_DO_ACT(do_tripleattack); DECLARE_DO_ACT(do_firebreath); DECLARE_DO_ACT(do_thunderbreath); DECLARE_DO_ACT(do_icebreath); DECLARE_DO_ACT(do_tailswing); DECLARE_DO_ACT(do_ulmaguest); DECLARE_DO_ACT(do_suddencry); DECLARE_DO_ACT(do_stabup); DECLARE_DO_ACT(do_hurricane); DECLARE_DO_ACT(do_gigaflare); DECLARE_DO_ACT(do_moldballvirus); DECLARE_DO_ACT(do_badbreath); DECLARE_DO_ACT(do_lick); DECLARE_DO_ACT(do_goo); DECLARE_DO_ACT(do_blowfire); DECLARE_DO_ACT(do_gatherpower); DECLARE_DO_ACT(do_mimictitan); DECLARE_DO_ACT(do_shakeoff); DECLARE_DO_ACT(do_wavearound); DECLARE_DO_ACT(do_magicspirit); DECLARE_DO_ACT(do_calmspirit); DECLARE_DO_ACT(do_protectspirit); DECLARE_DO_ACT(do_leafdance); DECLARE_DO_ACT(do_spiritoflife); DECLARE_DO_ACT(do_pleaseeat); DECLARE_DO_ACT(do_nosebreath); DECLARE_DO_ACT(do_straightdash); DECLARE_DO_ACT(do_pooh); DECLARE_DO_ACT(do_oink); DECLARE_DO_ACT(do_beaking); DECLARE_DO_ACT(do_featherbomb); DECLARE_DO_ACT(do_beak); DECLARE_DO_ACT(do_scratchup); DECLARE_DO_ACT(do_shinelover); DECLARE_DO_ACT(do_circle); DECLARE_DO_ACT(do_deathsentence); DECLARE_DO_ACT(do_lookofdevil); DECLARE_DO_ACT(do_wingattack); DECLARE_DO_ACT(do_lookoffright); DECLARE_DO_ACT(do_zombietouch); DECLARE_DO_ACT(do_draintouch); DECLARE_DO_ACT(do_throwspirit); DECLARE_DO_ACT(do_greasetouch); DECLARE_DO_ACT(do_sleeptouch); DECLARE_DO_ACT(do_windsoul); DECLARE_DO_ACT(do_icesoul); DECLARE_DO_ACT(do_knifehand); DECLARE_DO_ACT(do_aquasoul); DECLARE_DO_ACT(do_thundersoul); DECLARE_DO_ACT(do_levelblast); DECLARE_DO_ACT(do_mindblast); DECLARE_DO_ACT(do_oddsoundwave); string get_skill_type(const short type);