亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? profession_skill.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include "version.h"#ifdef _PROFESSION_SKILL			// WON ADD 人物職業技能#include <stdio.h>#include <string.h>#include <time.h>#include "buf.h"#include "profession_skill.h"#include "char_base.h"#include "battle.h"#include "magic_base.h"#include "configfile.h"#include "char.h"#include "lssproto_serv.h"#include "skill.h"static Professionskill	*PROFESSION_skill;typedef struct tagProfessionskill_skillFunctionTable{	char			*functionname;	PROFESSION_SKILL_CALLFUNC	func;	int				hash;//	int				status;}PROFESSION_SKILL_skillFunctionTable;static PROFESSION_SKILL_skillFunctionTable PROFESSION_SKILL_functbl[] = {// 巫師技能	{ "PROFESSION_VOLCANO_SPRINGS", PROFESSION_volcano_springs, 0 },	// 火山泉	{ "PROFESSION_FIRE_BALL",		PROFESSION_fire_ball,		0 },	// 火星球	{ "PROFESSION_FIRE_SPEAR",		PROFESSION_fire_spear,		0 },	// 火龍槍	{ "PROFESSION_SUMMON_THUNDER",  PROFESSION_summon_thunder,  0 },	// 召雷術	{ "PROFESSION_CURRENT",			PROFESSION_current,			0 },	// 電流術	{ "PROFESSION_STORM",			PROFESSION_storm,			0 },	// 暴風雨	{ "PROFESSION_ICE_ARROW",		PROFESSION_ice_arrow,		0 },	// 冰箭術	{ "PROFESSION_ICE_CRACK",		PROFESSION_ice_crack,		0 },	// 冰爆術	{ "PROFESSION_ICE_MIRROR",		PROFESSION_ice_mirror,		0 },	// 冰鏡術	{ "PROFESSION_DOOM",			PROFESSION_doom,			0 },	// 世界末日	{ "PROFESSION_BLOOD",			PROFESSION_blood,			0 },	// 嗜血成性	{ "PROFESSION_BLOOD_WORMS",		PROFESSION_blood_worms,		0 },	// 嗜血蠱	{ "PROFESSION_SIGN",			PROFESSION_sign,			0 },	// 一針見血	{ "PROFESSION_FIRE_ENCLOSE",	PROFESSION_fire_enclose,	0 },	// 火附體	{ "PROFESSION_ICE_ENCLOSE",		PROFESSION_ice_eclose,		0 },	// 冰附體	{ "PROFESSION_THUNDER_ENCLOSE",	PROFESSION_thunder_enclose, 0 },	// 雷附體	{ "PROFESSION_FIRE_PRACTICE",	PROFESSION_fire_practice,	0 },	// 火魔法熟練度	{ "PROFESSION_ICE_PRACTICE",	PROFESSION_ice_practice,	0 },	// 冰魔法熟練度	{ "PROFESSION_THUNDER_PRACTICE",PROFESSION_thunder_practice,0 },	// 雷魔法熟練度	{ "PROFESSION_ENCLOSE",			PROFESSION_enclose,			0 },	// 附身術	{ "PROFESSION_TRANSPOSE",		PROFESSION_transpose,		0 },	// 移形換位//	{ "PROFESSION_ALCHEMY",			PROFESSION_alchemy,			0 },	// 煉金術// 勇士技能	{ "PROFESSION_CHAIN_ATK",		PROFESSION_chain_atk,		0 },	// 連環攻擊	{ "PROFESSION_AVOID",			PROFESSION_avoid,			0 },	// 回避	{ "PROFESSION_WEAPON_FOCUS",	PROFESSION_weapon_focus,	0 },	// 武器專精		{ "PROFESSION_REBACK",			PROFESSION_reback,			0 },	// 狀態回復	{ "PROFESSION_BRUST",			PROFESSION_brust,			0 },	// 爆擊	{ "PROFESSION_CHAIN_ATK_2",		PROFESSION_chain_atk_2,		0 },	// 雙重攻擊	{ "PROFESSION_SCAPEGOAT",		PROFESSION_scapegoat,		0 },	// 舍已為友	{ "PROFESSION_ENRAGE",			PROFESSION_enrage,			0 },	// 激化攻擊	{ "PROFESSION_ENERGY_COLLECT",	PROFESSION_energy_collect,	0 },	// 能量聚集	{ "PROFESSION_FOCUS",			PROFESSION_focus,			0 },	// 專注戰斗	{ "PROFESSION_SHIELD_ATTACK",	PROFESSION_shield_attack,	0 },	// 盾擊	{ "PROFESSION_DUAL_WEAPON",		PROFESSION_dual_weapon,		0 },	// 二刀流		{ "PROFESSION_DEFLECT",			PROFESSION_deflect,			0 },	// 格檔	{ "PROFESSION_THROUGH_ATTACK",	PROFESSION_through_attack,	0 },	// 貫穿攻擊	{ "PROFESSION_CAVALRY",			PROFESSION_cavalry,			0 },	// 座騎攻擊	{ "PROFESSION_DEAD_ATTACK",		PROFESSION_dead_attack,		0 },	// 瀕死攻擊	{ "PROFESSION_CONVOLUTE",		PROFESSION_convolute,		0 },	// 回旋攻擊	{ "PROFESSION_CHAOS",			PROFESSION_chaos,			0 },	// 混亂攻擊// 獵人	{ "PROFESSION_TRACK",			PROFESSION_track,			0 },	// 追尋敵蹤	{ "PROFESSION_ESCAPE",			PROFESSION_escape,			0 },	// 回避戰斗	{ "PROFESSION_DOCILE",			PROFESSION_docile,			0 },	// 馴伏寵物	{ "PROFESSION_TRAP",			PROFESSION_trap,			0 },	// 陷阱	{ "PROFESSION_ENRAGE_PET",		PROFESSION_enrage_pet,		0 },	// 激怒寵物	{ "PROFESSION_DRAGNET",			PROFESSION_dragnet,			0 },	// 天羅地網	{ "PROFESSION_ENTWINE",			PROFESSION_entwine,			0 },	// 樹根纏繞	{ "PROFESSION_AUTARKY",			PROFESSION_autarky,			0 },	// 自給自足	{ "PROFESSION_PLUNDER",			PROFESSION_plunder,			0 },	//   體掠奪	{ "PROFESSION_TOXIN_WEAPON",	PROFESSION_toxin_weapon,	0 },	// 毒素武器	{ "PROFESSION_RESIST_FIRE",		PROFESSION_resist_fire,		0 },	// 火抗性	{ "PROFESSION_RESIST_ICE",		PROFESSION_resist_ice,		0 },	// 冰抗性	{ "PROFESSION_RESIST_THUNDER",	PROFESSION_resist_thunder,	0 },	// 雷抗性#ifdef _PROFESSION_ADDSKILL    { "PROFESSION_RESIST_F_I_T",    PROFESSION_resist_f_i_t,    0 },    // 自然威能	{ "PROFESSION_CALL_NATURE",     PROFESSION_call_nature,     0 },    // 號召自然	{ "PROFESSION_BOUNDARY",        PROFESSION_boundary,     0 },       // 四屬性結界#endif	{ "PROFESSION_G_RESIST_FIRE",	PROFESSION_g_resist_fire,	0 },	// 團體火抗性	{ "PROFESSION_G_RESIST_ICE",	PROFESSION_g_resist_ice,	0 },	// 團體冰抗性	{ "PROFESSION_G_RESIST_THUNDER",PROFESSION_g_resist_thunder,0 },	// 團體雷抗性	{ "PROFESSION_ATTACK_WEAK",		PROFESSION_attack_weak,		0 },	// 弱點攻擊	{ "PROFESSION_INSTIGATE",		PROFESSION_instigate,		0 },	// 挑撥	{ "PROFESSION_OBLIVION",		PROFESSION_oblivion,		0 },	// 遺忘// 共同技能	{ "PROFESSION_FULL_MP",			PROFESSION_full_mp,			0 },	// 氣力充沛	{ "PROFESSION_STRONG_BACK",		PROFESSION_strong_back,		0 },	// 負重增加	{ "PROFESSION_STRENGTHEN",		PROFESSION_strengthen,		0 },	// 自我強化};static int profession_skill_num;				// 職業技能總數// 將 profession.txt 載入BOOL PROFESSION_initSkill( char *filename){	FILE*   f;    char    line[256];    int     linenum=-1;	int     skill_readlen=0;	int		i, j;	int max_skillid = 0;    f = fopen(filename,"r");    if( f == NULL ){        print( "file open error\n");        return FALSE;    }    profession_skill_num=0;    while( fgets( line, sizeof( line ), f ) ){		char    token[256];        linenum ++;        if( line[0] == '#' )continue;        if( line[0] == '\n' )continue;        chomp( line );        profession_skill_num++;#ifdef _PROSKILL_OPTIMUM // Robin 取出最大職技ID		if( getStringFromIndexWithDelim( line, ",", 				PROFESSION_SKILL_DATACHARNUM+PROFESSION_SKILL_ID+1,				token, sizeof(token)) == FALSE )			continue;		max_skillid = max( atoi( token), max_skillid);#endif    }    if( fseek( f, 0, SEEK_SET ) == -1 ){        fprint( "Seek Error\n" );        fclose(f);        return FALSE;    }#ifdef _PROSKILL_OPTIMUM // 職技Table數為 最大技能ID +1	profession_skill_num = max_skillid +1;	print("最大職技ID = %d ...", max_skillid);#endif	PROFESSION_skill = allocateMemory( sizeof(struct tagProfessionkill) * profession_skill_num + 1 );	if( PROFESSION_skill == NULL ){        fprint( "無法分配內存 %d\n", sizeof(struct tagProfessionkill)*profession_skill_num);        fclose( f );        return FALSE;    }	// init skill    for( i = 0; i < profession_skill_num; i ++ ) {    	for( j = 0; j < PROFESSION_SKILL_DATAINTNUM; j ++ )    		PROFESSION_SKILL_setInt( i,j,-1);        	for( j = 0; j < PROFESSION_SKILL_DATACHARNUM; j ++ )     		PROFESSION_SKILL_setChar( i,j,"");        }    linenum = -1;    while( fgets( line, sizeof( line ), f ) ){        linenum ++;        if( line[0] == '#' )continue;        if( line[0] == '\n' )continue;                                     chomp( line );        replaceString( line, '\t' , ' ' );		{		    char    buf[256];			for( i = 0; i < strlen( line); i ++) {				if( line[i] != ' ' ) {					break;				}				strcpy( buf, &line[i]);			}						if( i != 0 ) {				strcpy( line, buf);			}		}  		{			char    token[256];			int     ret;#ifdef _PROSKILL_OPTIMUM // 讀取本行職技的ID, 直接以職技ID當Table index			ret = getStringFromIndexWithDelim( line, ",", PROFESSION_SKILL_DATACHARNUM+PROFESSION_SKILL_ID+1, token, sizeof(token));			if( ret==FALSE ){				fprint("Syntax Error file:%s line:%d\n",filename,linenum);				break;			}			skill_readlen = atoi( token);#endif			for( i = 0; i < PROFESSION_SKILL_DATACHARNUM; i ++ ) {			    ret = getStringFromIndexWithDelim( line,",", i + 1, token,sizeof(token));				if( ret==FALSE ){					fprint("Syntax Error file:%s line:%d\n",filename,linenum);					break;				} 				PROFESSION_SKILL_setChar( skill_readlen, i, token);			} 			for( i = 0; i < PROFESSION_SKILL_DATAINTNUM; i ++ ) {				ret = getStringFromIndexWithDelim( line, ",", i+PROFESSION_SKILL_DATACHARNUM+1, token, sizeof(token));								if( ret==FALSE ){					fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);					break;				} 				if( strlen( token) != 0 ) {					PROFESSION_SKILL_setInt( skill_readlen, i , atoi( token ));				} 			}         					skill_readlen ++;		} 		    }     fclose(f);    profession_skill_num = skill_readlen;	for( i = 0; i < arraysizeof( PROFESSION_SKILL_functbl); i ++ ){		PROFESSION_SKILL_functbl[i].hash = hashpjw( PROFESSION_SKILL_functbl[i].functionname );	}    return TRUE;}// 重新載入 profession.txtvoid rePROFESSION_initSkill(){	freeMemory( PROFESSION_skill );	PROFESSION_initSkill(getProfession());}INLINE BOOL PROFESSION_SKILL_CHECKINDEX( int index ){    if( profession_skill_num < index || index < 0 )return FALSE;    return TRUE;}static INLINE BOOL PROFESSION_SKILL_CHECKINTDATAINDEX( int index){	if( PROFESSION_SKILL_DATAINTNUM < index || index < 0 ) return FALSE;	return TRUE;}static INLINE BOOL PROFESSION_SKILL_CHECKCHARDATAINDEX( int index){	if( PROFESSION_SKILL_DATACHARNUM < index || index < 0 ) return FALSE;	return TRUE;}INLINE int PROFESSION_SKILL_getInt( int index, PROFESSION_SKILL_DATAINT element){	return PROFESSION_skill[index].data[element];}INLINE int PROFESSION_SKILL_setInt( int index, PROFESSION_SKILL_DATAINT element, int data){	int buf;	buf = PROFESSION_skill[index].data[element];	PROFESSION_skill[index].data[element]=data;	return buf;}INLINE char* PROFESSION_SKILL_getChar( int index, PROFESSION_SKILL_DATACHAR element){	if( !PROFESSION_SKILL_CHECKINDEX( index)) return NULL;	if( !PROFESSION_SKILL_CHECKCHARDATAINDEX( element)) return NULL;	return PROFESSION_skill[index].string[element].string;}INLINE BOOL PROFESSION_SKILL_setChar( int index ,PROFESSION_SKILL_DATACHAR element, char* new ){    if(!PROFESSION_SKILL_CHECKINDEX(index))return FALSE;    if(!PROFESSION_SKILL_CHECKCHARDATAINDEX(element))return FALSE;    strcpysafe( PROFESSION_skill[index].string[element].string,                sizeof(PROFESSION_skill[index].string[element].string),                new );    return TRUE;}int PROFESSION_SKILL_getskillNum( void){	return profession_skill_num;}/*----------------------------------------------------------------------*/int PROFESSION_SKILL_getskillArray( int skillid){#ifdef _PROSKILL_OPTIMUM // 查詢職技ID改為陣列式	if( skillid >= 0 && skillid < profession_skill_num )		return PROFESSION_skill[skillid].data[PROFESSION_SKILL_ID];#else	int		i;	for( i = 0; i <= profession_skill_num; i ++ ) { // 待優化		if( PROFESSION_skill[i].data[PROFESSION_SKILL_ID] == skillid ) 			return i;	}#endif	return -1;}PROFESSION_SKILL_CALLFUNC PROFESSION_SKILL_getskillFuncPointer(char* name ){    int i;    int hash = hashpjw( name );		for( i = 0; i< arraysizeof( PROFESSION_SKILL_functbl); i++ ){		if( PROFESSION_SKILL_functbl[i].hash == hash ){        	if( strcmp( PROFESSION_SKILL_functbl[i].functionname, name ) == 0 ){	            return PROFESSION_SKILL_functbl[i].func;			}		}	}    return NULL;}int _PROFESSION_SKILL_GetArray( char *file, int line, int charaindex, int skill ){	int		skillid,array;	skillid = CHAR_getCharSkill( charaindex, skill);	if( skillid < 0 )	return -1;	array = PROFESSION_SKILL_getskillArray( skillid );			return array;}/*----------------------------------------------------------------------*/// 使用職業技能int PROFESSION_SKILL_Use( int charaindex, int skill, int toNo, char *data ){	int		Pskillid, skillid;	int		ret=-1, skill_level;	PROFESSION_SKILL_CALLFUNC func;	CHAR_HaveSkill* hskill;	int char_pskill, profession_skill;	skillid = CHAR_getCharSkill( charaindex, skill);	Pskillid = PROFESSION_SKILL_getskillArray( skillid);	//print("\n skillid:%d Pskillid:%d ", skillid, Pskillid); // Robin log	if( Pskillid == -1 ) {		printf("\n 改封包??找不到該職技! ");		return ret;	}#ifdef _PROSKILL_OPTIMUM	// Robin fix 檢查職業是否相符	char_pskill = CHAR_getInt( charaindex, PROFESSION_CLASS );	profession_skill = PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_PROFESSION_CLASS);	if( (char_pskill <=0) || (char_pskill != profession_skill) ) {		print("\n 改封包??職技的職業不正確!:%d:%d ", char_pskill, profession_skill);		return ret;	}#endif	// 找尋對應 function	func = PROFESSION_SKILL_getskillFuncPointer( PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_FUNCNAME) );	// 判斷是否為人物	if( CHAR_getInt( charaindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYER )	return ret;	if( func ){		// 人物技能等級		hskill = CHAR_getCharHaveSkill( charaindex, skill );		skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL);			// 耗損 MP 		if( PROFESSION_SKILL_DEC_COST_MP( charaindex, skill, Pskillid, skill_level ) != 1 )	{			print("\n Error:職技MP:%d:%d:%d ", skill, Pskillid, skill_level);			return ret;		}		// 使用職業技能		ret = func( charaindex, toNo, Pskillid, data, skill_level );		if( ret == -1 ){			int rands = rand()%10;			//andy_log			print("ret = %d, rands:%d \n", ret, rands);			if( rands > 5 ) return ret;		}		if( Pskillid == 57 //激怒寵物 選寵物才有經驗值			&& CHAR_getInt( BATTLE_No2Index( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ), toNo ), CHAR_WHICHTYPE) != CHAR_TYPEPET ) 			return ret;		// 一般技能升級		PROFESSION_NORMAL_SKILL_LEVLE_UP( &hskill->skill, Pskillid, charaindex );	}	else {		print("\n 錯誤!找不到職技func ");	}	return ret;}// 特殊技能升級void PROFESSION_SKILL_LVEVEL_UP( int charaindex, char *name ){	int skill=-1;	int skillid=0, Pskillid=0, i;	char *skill_name;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆福利精品推荐| 国产一区二区免费在线| 亚洲综合一区在线| 一区二区日韩av| 喷白浆一区二区| 久久电影网电视剧免费观看| 麻豆成人av在线| 国产乱码精品1区2区3区| 青娱乐精品在线视频| 狠狠久久亚洲欧美| 93久久精品日日躁夜夜躁欧美| 成人黄色av电影| 欧美日产国产精品| 国产农村妇女精品| 亚洲18色成人| 成人av电影免费在线播放| 欧美午夜免费电影| 国产欧美一区二区精品婷婷 | 国产精品久久久久久久久搜平片| 国产女人水真多18毛片18精品视频 | 宅男在线国产精品| 国产精品沙发午睡系列990531| 亚洲精品乱码久久久久| 毛片av一区二区| 91婷婷韩国欧美一区二区| 337p亚洲精品色噜噜狠狠| 日韩美女视频在线| 亚洲高清在线精品| 99久久综合精品| 久久久一区二区| 久久99日本精品| 日韩欧美在线综合网| 亚洲一区在线电影| 91免费视频观看| 国产亚洲制服色| 激情成人综合网| 欧美一区二区三区四区在线观看| 一区二区三区中文字幕| 成人av先锋影音| 国产精品短视频| 成人av集中营| 国产精品视频免费| 成人久久视频在线观看| 国产精品久久久一区麻豆最新章节| 麻豆久久一区二区| 国产欧美在线观看一区| 成人av网站在线| 午夜私人影院久久久久| 色哟哟在线观看一区二区三区| 久久久久久免费网| 国产精品一线二线三线| 国产日韩欧美高清在线| 色婷婷av一区二区| 麻豆成人久久精品二区三区红 | 免费观看91视频大全| 欧美精品一区二区三区久久久| 国产一区二区三区在线观看精品| 国产午夜久久久久| 色婷婷综合久色| 久久福利资源站| 亚洲卡通动漫在线| 久久综合色婷婷| 91蜜桃免费观看视频| 免费日韩伦理电影| 亚洲卡通动漫在线| 日韩精品一区二区三区四区| 91丝袜美女网| 国产一区二区电影| 午夜精品久久久| 一区二区三区蜜桃网| 9191国产精品| 丰满少妇久久久久久久| 美洲天堂一区二卡三卡四卡视频| 亚洲国产经典视频| 欧美日韩一区二区在线观看视频 | 久久婷婷色综合| 欧美人与z0zoxxxx视频| 色老综合老女人久久久| 成人一级视频在线观看| 国产一区二区视频在线| 开心九九激情九九欧美日韩精美视频电影 | 久久久久国产精品麻豆ai换脸| 欧美日韩精品综合在线| 色狠狠综合天天综合综合| av在线播放不卡| av成人老司机| 色先锋aa成人| 欧美日韩免费不卡视频一区二区三区 | 日本成人在线电影网| 亚洲大片一区二区三区| 亚洲成av人片一区二区梦乃| 伊人开心综合网| 亚洲国产一区二区三区青草影视| 亚洲综合免费观看高清完整版在线 | 中文成人综合网| 亚洲精品精品亚洲| 午夜久久久影院| 国产一区二区精品久久99| 国产精品亚洲人在线观看| 不卡高清视频专区| 欧美性高清videossexo| 欧美大尺度电影在线| 久久综合九色综合欧美98| 综合色中文字幕| 蜜臀av一区二区在线免费观看| 国产精品羞羞答答xxdd| 色婷婷av一区二区三区大白胸| 欧美精品日韩综合在线| 欧美videofree性高清杂交| 中文字幕人成不卡一区| 香蕉久久一区二区不卡无毒影院 | 92国产精品观看| 欧美天堂一区二区三区| 26uuu另类欧美| 天涯成人国产亚洲精品一区av| 国产精品18久久久久久久久| 91高清视频免费看| 国产精品天天摸av网| 日韩精品每日更新| 欧美色老头old∨ideo| 国产精品久久久久aaaa| 国产酒店精品激情| 日韩欧美一区二区在线视频| 亚瑟在线精品视频| 欧美日本在线看| 亚洲一区二区三区四区中文字幕 | 精品福利一区二区三区| 亚洲成av人在线观看| 欧美猛男男办公室激情| 亚洲女爱视频在线| 色婷婷精品久久二区二区蜜臂av | 97aⅴ精品视频一二三区| 国产日产欧产精品推荐色| 日韩激情中文字幕| 欧美亚洲一区二区在线| 一区二区免费在线播放| 99re亚洲国产精品| 欧美国产国产综合| 波多野结衣在线一区| 亚洲欧洲99久久| 欧洲国产伦久久久久久久| 亚洲高清免费视频| 欧美日本韩国一区二区三区视频| 亚洲高清在线精品| 久久综合色综合88| 91视频在线看| 久久草av在线| 亚洲婷婷在线视频| 91精品国产综合久久久久久久| 国产综合色精品一区二区三区| 日本一区免费视频| 在线精品视频一区二区三四 | 91蜜桃免费观看视频| 青青草原综合久久大伊人精品| 欧美精品一区二区三区蜜桃| heyzo一本久久综合| 青青青爽久久午夜综合久久午夜| 久久丝袜美腿综合| 欧美中文字幕亚洲一区二区va在线 | 亚洲成人一二三| 国产亚洲午夜高清国产拍精品| 91在线播放网址| 激情综合色综合久久| 亚洲一区av在线| √…a在线天堂一区| 久久久久久99久久久精品网站| 在线视频你懂得一区二区三区| 韩国av一区二区三区在线观看| 一个色在线综合| 中文字幕人成不卡一区| 久久精品人人做人人爽人人 | 亚洲一区二区三区四区五区黄 | 91蜜桃免费观看视频| 国产精品亚洲成人| 国产麻豆精品theporn| 国产精品69毛片高清亚洲| 激情综合色播五月| 高清不卡一区二区在线| 激情图片小说一区| 狠狠久久亚洲欧美| 成人白浆超碰人人人人| kk眼镜猥琐国模调教系列一区二区| 免费在线观看一区| 久久国内精品视频| 国产综合成人久久大片91| 国内精品国产成人| 成人免费观看男女羞羞视频| 波波电影院一区二区三区| a级高清视频欧美日韩| 欧美综合一区二区| 3d动漫精品啪啪| 久久久久久久久一| 亚洲美女区一区| 日本在线不卡视频| 国产.欧美.日韩| 欧美日韩一区中文字幕| 精品国产乱码久久| 一区二区欧美精品| 国产麻豆日韩欧美久久| 欧美主播一区二区三区美女|