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

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

?? profession_skill.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? 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一区二区三区免费野_久草精品视频
欧美日韩一区二区欧美激情| 亚洲123区在线观看| 国产做a爰片久久毛片| 日韩一区二区三区免费看 | 亚洲乱码中文字幕综合| av激情综合网| 亚洲欧洲中文日韩久久av乱码| 91色综合久久久久婷婷| 亚洲制服欧美中文字幕中文字幕| 欧美中文字幕一区| 日av在线不卡| 国产午夜久久久久| av亚洲精华国产精华| 一区二区三区四区在线免费观看 | 精品视频色一区| 蜜臀国产一区二区三区在线播放| 精品捆绑美女sm三区| 国产91高潮流白浆在线麻豆 | 樱花草国产18久久久久| 91电影在线观看| 日本在线不卡视频一二三区| 欧美成人性战久久| 不卡一区二区中文字幕| 夜夜精品视频一区二区| 日韩一区二区三区电影在线观看 | 国产精品沙发午睡系列990531| 91一区二区在线| 日韩精品午夜视频| 国产日产欧美一区| 欧美日韩精品一区二区三区四区 | 欧美精品 国产精品| 国产综合久久久久久久久久久久| 综合欧美一区二区三区| 欧美一区三区二区| 91网站最新网址| 青青青伊人色综合久久| 中文字幕一区二区三区av | 日韩亚洲欧美中文三级| 成人免费黄色在线| 奇米影视一区二区三区| 日韩伦理免费电影| 精品国产免费久久| 欧美在线免费视屏| eeuss鲁一区二区三区| 日韩—二三区免费观看av| 亚洲欧洲制服丝袜| 国产精品日韩精品欧美在线| 91精品国产欧美日韩| 99久久国产免费看| 国产盗摄一区二区三区| 日本不卡中文字幕| 一区二区高清免费观看影视大全| 2021国产精品久久精品| 欧美日韩国产影片| 一本到一区二区三区| 国产麻豆91精品| 视频在线在亚洲| 日韩美女久久久| 国产亚洲精品资源在线26u| 91精品在线观看入口| 91亚洲精品久久久蜜桃网站| 国产尤物一区二区| 精品午夜一区二区三区在线观看| 婷婷丁香久久五月婷婷| 亚洲综合一二区| 一区在线观看视频| 国产精品久久午夜| 国产日韩综合av| 久久久久久久久久久久电影| 欧美一区二区三区在线电影| 欧美艳星brazzers| 色悠悠亚洲一区二区| av在线不卡网| 成人理论电影网| 丁香一区二区三区| 国产精品白丝jk白祙喷水网站| 国产在线精品一区二区夜色| 久久成人羞羞网站| 日本不卡高清视频| 免费视频一区二区| 麻豆免费精品视频| 韩国欧美国产一区| 国产一区二区导航在线播放| 国产在线视视频有精品| 国产精品一线二线三线精华| 国产精品自在欧美一区| 国产乱一区二区| 国产99久久久精品| 99精品久久久久久| 色哟哟国产精品| 欧美精选一区二区| 日韩一级完整毛片| 国产视频一区二区三区在线观看| 久久精品一二三| 亚洲欧洲精品一区二区精品久久久| 中文字幕 久热精品 视频在线| 日本一二三不卡| 一区二区三区在线观看动漫| 亚洲成人777| 狠狠色综合色综合网络| 国产91精品免费| 日本道色综合久久| 日韩一区二区三区视频在线| 久久久久久夜精品精品免费| 一区免费观看视频| 五月激情丁香一区二区三区| 国产一区二区伦理| 91国偷自产一区二区三区成为亚洲经典 | 这里是久久伊人| 精品国产三级电影在线观看| 国产精品久久一级| 日韩激情视频网站| 国产夫妻精品视频| 欧美色图在线观看| 久久亚洲综合av| 亚洲一二三四在线观看| 看片的网站亚洲| 北岛玲一区二区三区四区| 在线亚洲+欧美+日本专区| 欧美成人免费网站| 国产精品久久久久久久久动漫 | 韩国理伦片一区二区三区在线播放| 粉嫩蜜臀av国产精品网站| 欧美午夜电影在线播放| 久久久久97国产精华液好用吗| 日韩毛片精品高清免费| 精品一区二区三区影院在线午夜| 99久久精品免费看| 精品国产伦理网| 亚洲在线视频网站| 成人天堂资源www在线| 51久久夜色精品国产麻豆| 国产精品成人一区二区艾草| 青青草原综合久久大伊人精品优势| 99久久国产综合精品女不卡| 精品播放一区二区| 亚州成人在线电影| 99久久精品国产一区| 精品国产精品网麻豆系列| 亚洲一区二区三区四区中文字幕| 国产精品一区二区免费不卡| 91精品国产色综合久久不卡蜜臀| 亚洲天堂免费看| 粉嫩绯色av一区二区在线观看 | 国产精品久久久久久户外露出 | 精品91自产拍在线观看一区| 亚洲成人免费电影| 91一区二区在线| 中文在线一区二区| 久久99热狠狠色一区二区| 欧美精选一区二区| 亚洲一区欧美一区| aaa亚洲精品| 国产欧美综合色| 国产麻豆精品在线| 久久久精品国产免费观看同学| 久久精品99久久久| 欧美一区二区日韩| 免费精品99久久国产综合精品| 欧美天堂亚洲电影院在线播放| 亚洲日本在线天堂| 91色视频在线| 亚洲精品伦理在线| 色婷婷亚洲精品| 一区二区三区四区激情| 一本大道久久a久久综合婷婷| 国产精品国产三级国产a| 成人美女视频在线观看18| 中文字幕av一区 二区| 成人免费三级在线| 亚洲女同ⅹxx女同tv| 91麻豆精品在线观看| 亚洲天堂2016| 在线免费观看一区| 亚洲一区二区高清| 日韩一区二区免费在线电影| 日韩vs国产vs欧美| 日韩欧美精品三级| 久久精品国产亚洲5555| 精品国产三级a在线观看| 国产夫妻精品视频| 亚洲欧美在线视频观看| 97精品电影院| 亚洲电影一区二区三区| 欧美久久久久中文字幕| 精品一区在线看| 国产欧美日韩不卡免费| www.亚洲色图| 一区二区三区久久| 6080yy午夜一二三区久久| 国产一区二区三区视频在线播放| 中文字幕av一区 二区| 欧洲色大大久久| 伦理电影国产精品| 欧美国产日产图区| 日本韩国欧美一区| 理论片日本一区| 国产精品蜜臀av| 欧美午夜免费电影| 精久久久久久久久久久|