166 lines
10 KiB
C
166 lines
10 KiB
C
#include "version.h"
|
|
|
|
#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能
|
|
#include "common.h"
|
|
#include "util.h"
|
|
#include "skill.h"
|
|
|
|
#define PROFESSION_MAX_LEVEL 26 // 职业等级上限 26级
|
|
#define PROFESSION_SKILL_MAX_LEVEL 100 // 技能等级上限 100级
|
|
#define PROFESSION_SKILL_ADD_POINT 1 // 升级检定通过,增加经验值
|
|
// 职业别
|
|
typedef enum
|
|
{
|
|
PROFESSION_CLASS_NONE=0, // 无职业
|
|
PROFESSION_CLASS_FIGHTER, // 勇士
|
|
PROFESSION_CLASS_WIZARD, // 巫师
|
|
PROFESSION_CLASS_HUNTER, // 猎人
|
|
PROFESSION_CLASS_NUM,
|
|
}PROFESSION_CLASS_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
PROFESSION_SKILL_NAME, // 技能名称
|
|
PROFESSION_SKILL_TXT, // 说明
|
|
PROFESSION_SKILL_FUNCNAME, // 使用函数
|
|
PROFESSION_SKILL_OPTION, // 函数参数
|
|
PROFESSION_SKILL_DATACHARNUM,
|
|
}PROFESSION_SKILL_DATACHAR;
|
|
|
|
|
|
typedef enum
|
|
{
|
|
PROFESSION_SKILL_ID, // 技能编号
|
|
PROFESSION_SKILL_PROFESSION_CLASS, // 职业
|
|
PROFESSION_SKILL_TARGET, // 目标种类
|
|
PROFESSION_SKILL_COST_MP, // 耗费MP
|
|
PROFESSION_SKILL_USE_FLAG, // 使用旗标
|
|
PROFESSION_SKILL_KIND, // 技能种类
|
|
PROFESSION_SKILL_ICON, // ICON图号
|
|
PROFESSION_SKILL_IMG_1, // 攻击前图号(集气状态)
|
|
PROFESSION_SKILL_IMG_2, // 攻击图号(攻击中)
|
|
PROFESSION_SKILL_COST, // 购买金额
|
|
PROFESSION_SKILL_FIX_VALUE, // 升级修正数值
|
|
|
|
//角色先学习以下所设定技能与熟练度均达到时才可以学习本技能
|
|
PROFESSION_SKILL_LIMIT1, // 必修技能 1 编号
|
|
PROFESSION_SKILL_PERCENT1, // 必修技能应有熟练度% 1
|
|
PROFESSION_SKILL_LIMIT2, // 必修技能 2 编号
|
|
PROFESSION_SKILL_PERCENT2, // 必修技能应有熟练度% 2
|
|
PROFESSION_SKILL_LIMIT3, // 必修技能 3 编号
|
|
PROFESSION_SKILL_PERCENT3, // 必修技能应有熟练度% 3
|
|
PROFESSION_SKILL_LIMIT4, // 必修技能 4 编号
|
|
PROFESSION_SKILL_PERCENT4, // 必修技能应有熟练度% 4
|
|
PROFESSION_SKILL_DATAINTNUM,
|
|
}PROFESSION_SKILL_DATAINT;
|
|
|
|
|
|
typedef struct tagProfessionkill
|
|
{
|
|
STRING64 string[PROFESSION_SKILL_DATACHARNUM];
|
|
int data[PROFESSION_SKILL_DATAINTNUM];
|
|
}Professionskill;
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
typedef int (*PROFESSION_SKILL_CALLFUNC)( int, int, int, char *, int );
|
|
BOOL PROFESSION_initSkill( char *filename);
|
|
void rePROFESSION_initSkill();
|
|
|
|
//----------------------------------------------------------------------------
|
|
INLINE BOOL PROFESSION_SKILL_CHECKINDEX( int index );
|
|
INLINE int PROFESSION_SKILL_getInt( int index, PROFESSION_SKILL_DATAINT element);
|
|
INLINE int PROFESSION_SKILL_setInt( int index, PROFESSION_SKILL_DATAINT element, int data);
|
|
INLINE char* PROFESSION_SKILL_getChar( int index, PROFESSION_SKILL_DATACHAR element);
|
|
INLINE BOOL PROFESSION_SKILL_setChar( int index ,PROFESSION_SKILL_DATACHAR element, char* new );
|
|
int PROFESSION_SKILL_getskillNum( void );
|
|
|
|
//----------------------------------------------------------------------------
|
|
int PROFESSION_SKILL_getskillArray( int skillid);
|
|
PROFESSION_SKILL_CALLFUNC PROFESSION_SKILL_getskillFuncPointer(char* name );
|
|
#define PROFESSION_SKILL_GetArray( charaindex, skill) _PROFESSION_SKILL_GetArray( __FILE__, __LINE__, charaindex, skill)
|
|
int _PROFESSION_SKILL_GetArray( char *file, int line, int charaindex, int skill );
|
|
int PROFESSION_SKILL_Use( int charaindex, int skill, int toNo, char *data );
|
|
void PROFESSION_SKILL_LVEVEL_UP( int charaindex, char *name );
|
|
void PROFESSION_LEVEL_CHECK_UP( int charaindex );
|
|
void PROFESSION_NORMAL_SKILL_LEVLE_UP(Skill* skill, int Pskillid, int charaindex );
|
|
void PROFESSION_SKILL_WEAPON_FOCUS_LVEVEL_UP( int charaindex, char *name );
|
|
void PROFESSION_SKILL_DUAL_WEAPON_LVEVEL_UP( int charaindex, char *name );
|
|
int PROFESSION_SKILL_DEC_COST_MP( int charaindex, int skill, int Pskillid, int skill_level );
|
|
int PROFESSION_SKILL_ADDSK( int charaindex, int skill, int level );
|
|
|
|
//----------------------------------------------------------------------------
|
|
// 职业技能
|
|
void profession_common_fun( int charaindex, int toNo, int skill_level, int array, int com1 );
|
|
int PROFESSION_brust( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_chain_atk( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_avoid( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_recovery( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_weapon_focus( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_volcano_springs( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_fire_ball( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_fire_spear( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_summon_thunder( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_current( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_storm( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_ice_arrow( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_ice_crack( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_ice_mirror( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_doom( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_blood( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_blood_worms( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_sign( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_fire_enclose( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_ice_eclose( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_thunder_enclose( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_fire_practice( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_ice_practice( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_thunder_practice( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_enclose( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_transpose( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_reback( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_chain_atk_2( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_scapegoat( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_enrage( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_energy_collect( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_focus( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_shield_attack( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_dual_weapon( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_deflect( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_through_attack( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_cavalry( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_dead_attack( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_convolute( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_chaos( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_docile( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_trap( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_enrage_pet( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_dragnet( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_entwine( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_autarky( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_plunder( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_toxin_weapon( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_resist_fire( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_resist_ice( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_resist_thunder( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
#ifdef _PROFESSION_ADDSKILL
|
|
int PROFESSION_resist_f_i_t( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_call_nature( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_boundary( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
#endif
|
|
int PROFESSION_attack_weak( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_instigate( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_track( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_oblivion( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_full_mp( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_strong_back( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_strengthen( int charaindex, int toindex, int array, char *data, int skill_level );
|
|
int PROFESSION_escape( int charaindex, int toNo, int array, char *data, int skill_level );
|
|
int PROFESSION_g_resist_fire( int charaindex, int toNo, int array, char *data, int skill_level );
|
|
int PROFESSION_g_resist_ice( int charaindex, int toNo, int array, char *data, int skill_level );
|
|
int PROFESSION_g_resist_thunder( int charaindex, int toNo, int array, char *data, int skill_level );
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
#endif
|