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

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

?? battle_magic.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? C
?? 第 1 頁 / 共 5 頁
字號:
#include "version.h"#include<string.h>#include"char.h"#include"char_base.h"#include"battle.h"#include"battle_event.h"#include"magic_base.h"#include"battle_magic.h"#include"item_event.h"#include"anim_tbl.h"#include"common.h"#include"lssproto_serv.h"#ifdef _PROFESSION_SKILL			// WON ADD 人物職業技能#include "profession_skill.h"#include "skill.h"#endif#ifdef __ATTACK_MAGICextern AttMagic *ATTMAGIC_magic;extern int       ATTMAGIC_magicnum;#define AJ_SAME	(1.0)#define AJ_UP	(1.5)#define AJ_DOWN	(0.6)#define ATTR_MAX 100#define D_ATTR (1.0/(ATTR_MAX*ATTR_MAX))#ifdef _FIX_MAGICDAMAGEstatic int BATTLE_getMagicAdjustInt( int attackindex, int defindex, int MagicLv, int flg,int damage );void Magic_ComputeAttExp( int charindex, int Mnum, int MagicLv, int Expoint);void Magic_ComputeDefExp( int charindex, int Mnum, int MagicLv, int Damage);#endif#ifdef _MAGIC_TOCALL/*typedef struct tagToCallMagic{  unsigned int  uiSpriteNum;			// 此咒術在Spr_x.bin的編號  unsigned int  uiAttackType;			// 攻擊的方式:單人,整排( 輪流 ) ,  整排( 輪流 ) , 整排( 同時 ) , 全體( 輪流 ) , 全體( 同時 )  unsigned int  uiSliceTime;			// 輪流攻擊時的時間差  unsigned int  uiShowType;             // 顯示的位置方式:中央、指定  int           siSx;                   // 顯示的位置 - X軸  int           siSy;                   // 顯示的位置 - Y軸  unsigned int  uiShowBehindChar;       // 顯示在人物的前方或下方  unsigned int  uiShakeScreen;          // 是否震動畫面  unsigned int  uiShakeFrom;            // 震動畫面的起始時間( 毫秒 )  unsigned int  uiShakeTo;              // 震動畫面的結束時間( 毫秒 _  unsigned int  uiPrevMagicNum;         // 前置咒術的索引號( 0XFFFFFFFFFF 表示無前置咒術 )  int           siPrevMagicSx;          // 前置咒術的顯示位置 - X軸  int           siPrevMagicSy;          // 前置咒術的顯示位置 - Y軸  int           siPrevMagicOnChar;      // 前置咒術顯示在人物的前方或下方  unsigned int  uiPostMagicNum;         // 後置咒術的索引號( 0XFFFFFFFF 表示無後置咒術 )  int           siPostMagicSx;          // 後置咒術的顯示位置 - X軸  int           siPostMagicSy;          // 後置咒術的顯示位置 - Y軸  int           siPostMagicOnChar;      // 後置咒術顯示在人物的前方或下方  int			isPostDisappear;		// 咒術一般攻擊完時是否馬上消失  int			ToCallMagicNo;			// 召喚術的編號}ToCallMagic;*/  ToCallMagic TOCALL_magic[3] = { {100354,0,0,0,50,25,1,0,0,0,101120,65528,65485,0,-1,0,0,0,1,0},								{100354,1,0,0,50,25,1,0,0,0,101120,65528,65485,0,-1,0,0,0,1,1},								{100354,5,0,0,0,0,1,1,1000,4000,101120,65528,65485,0,-1,0,0,0,0,2},								};#endif// 魔法熟練度及抗性升級所需經驗值int Magic_Level_Table[101] ={	   1,   3,   6,  10,  15,  21,  28,  36,  45,  55,	//lv  1~10		66,  78,	91, 105, 120, 136, 153, 171, 190, 210,  //lv 11~20	 231, 253, 276, 300, 325, 351, 378, 406, 435, 465,  //lv 21~30	 496, 528, 561, 595, 630, 666, 703, 741, 780, 820,  //lv 31~40	 861, 903, 946, 990,1035,1081,1128,1176,1225,1275,  //lv 41~50	1326,1378,1431,1485,1540,1596,1653,1711,1770,1830,  //lv 51~60	1891,1953,2016,2080,2145,2211,2278,2346,2415,2485,  //lv 61~70	2556,2628,2701,2775,2850,2926,3003,3081,3160,3240,  //lv 71~80	3321,3403,3486,3570,3655,3741,3828,3916,4005,4095,  //lv 81~90	4186,4278,4371,4465,4560,4656,4753,4851,4950,5050,  //lv 91~100	9999};#endif#if 0int	BATTLE_PointChange(	int ToList[], 	//	int kind,	int point){	return 0;}#endifint BATTLE_MagicEffect( int battleindex, int attackNo, int ToList[], int MyEffect, int ToEffect ){	int i;	char szCommand[256];	int attackindex;	attackindex = BATTLE_No2Index( battleindex, attackNo );	if( CHAR_CHECKINDEX( attackindex ) == FALSE )return 0;	snprintf( szCommand, sizeof(szCommand),		"BJ|a%X|m%X|e%X|e%X|",		attackNo,		CHAR_getInt( attackindex, CHAR_MP ),		MyEffect,		ToEffect	);		BATTLESTR_ADD( szCommand );	for( i = 0; ToList[i] != -1; i ++ ){		snprintf( szCommand, sizeof(szCommand), "r%X|",ToList[i]);		BATTLESTR_ADD( szCommand );	}	BATTLESTR_ADD( "FF|" );	return 0;}#ifdef __ATTACK_MAGICint BATTLE_AttMagicEffect( int battleindex , int attackNo , int ToList[] , int AttackMgcNo ){   int     i;   char    szcommand[256];   int     attackindex;   attackindex = BATTLE_No2Index( battleindex , attackNo );   if( FALSE == CHAR_CHECKINDEX( attackindex ) )       return 0;   if( attackNo >= 10 )      i = AttackMgcNo * 2;   else      i = AttackMgcNo * 2 + 1;   snprintf(   szcommand , sizeof( szcommand ) , "BJ|a%X|i%X|m%X|%X|%X|%X|s%X|t%X|l%X|%X|%X|%X|%X|%X|%X|o%X|o%X|o%X|s%X|%X|%X|" ,   attackNo , 12345678 , CHAR_getInt( attackindex , CHAR_MP ) ,   ATTMAGIC_magic[i].uiPrevMagicNum ,   ATTMAGIC_magic[i].uiSpriteNum ,   ATTMAGIC_magic[i].uiPostMagicNum ,   ATTMAGIC_magic[i].uiAttackType ,   ATTMAGIC_magic[i].uiSliceTime ,   ATTMAGIC_magic[i].uiShowType ,   ATTMAGIC_magic[i].siSx ,   ATTMAGIC_magic[i].siSy ,   ATTMAGIC_magic[i].siPrevMagicSx ,   ATTMAGIC_magic[i].siPrevMagicSy ,   ATTMAGIC_magic[i].siPostMagicSx ,   ATTMAGIC_magic[i].siPostMagicSy ,   ATTMAGIC_magic[i].siPrevMagicOnChar ,   ATTMAGIC_magic[i].uiShowBehindChar ,   ATTMAGIC_magic[i].siPostMagicOnChar ,   ATTMAGIC_magic[i].uiShakeScreen ,   ATTMAGIC_magic[i].uiShakeFrom ,   ATTMAGIC_magic[i].uiShakeTo   );   BATTLESTR_ADD( szcommand );   for( i = 0 ; ToList[i] != -1 ; i++ )   {      snprintf( szcommand , sizeof( szcommand ) , "r%X|" , ToList[i] );      BATTLESTR_ADD( szcommand );   }   BATTLESTR_ADD( "FF|" );   return 0;}#endif#ifdef _MAGIC_TOCALLint BATTLE_ToCallDragonEffect( int battleindex , int attackNo , int ToList[] , int AttackMgcNo ){   int     i;   char    szcommand[256];   int     attackindex;   attackindex = BATTLE_No2Index( battleindex , attackNo );   if( FALSE == CHAR_CHECKINDEX( attackindex ) )       return 0;/*   if( attackNo >= 10 )      i = AttackMgcNo * 2;   else      i = AttackMgcNo * 2 + 1;*/   snprintf(   szcommand , sizeof( szcommand ) , "B$|a%X|i%X|m%X|%X|%X|%X|s%X|t%X|l%X|%X|%X|%X|%X|%X|%X|o%X|o%X|o%X|s%X|%X|%X|%X|%X|" ,   attackNo , 5711438 , CHAR_getInt( attackindex , CHAR_MP ) ,	TOCALL_magic[AttackMgcNo].uiPrevMagicNum ,	TOCALL_magic[AttackMgcNo].uiSpriteNum ,	TOCALL_magic[AttackMgcNo].uiPostMagicNum ,	TOCALL_magic[AttackMgcNo].uiAttackType ,	TOCALL_magic[AttackMgcNo].uiSliceTime ,	TOCALL_magic[AttackMgcNo].uiShowType ,	TOCALL_magic[AttackMgcNo].siSx ,	TOCALL_magic[AttackMgcNo].siSy ,	TOCALL_magic[AttackMgcNo].siPrevMagicSx ,	TOCALL_magic[AttackMgcNo].siPrevMagicSy ,	TOCALL_magic[AttackMgcNo].siPostMagicSx ,	TOCALL_magic[AttackMgcNo].siPostMagicSy ,	TOCALL_magic[AttackMgcNo].siPrevMagicOnChar ,	TOCALL_magic[AttackMgcNo].uiShowBehindChar ,	TOCALL_magic[AttackMgcNo].siPostMagicOnChar ,	TOCALL_magic[AttackMgcNo].uiShakeScreen ,	TOCALL_magic[AttackMgcNo].uiShakeFrom ,	TOCALL_magic[AttackMgcNo].uiShakeTo ,	TOCALL_magic[AttackMgcNo].isPostDisappear ,	TOCALL_magic[AttackMgcNo].ToCallMagicNo   );   BATTLESTR_ADD( szcommand );   for( i = 0 ; ToList[i] != -1 ; i++ )   {      snprintf( szcommand , sizeof( szcommand ) , "r%X|" , ToList[i] );      BATTLESTR_ADD( szcommand );   }   BATTLESTR_ADD( "FF|" );   return 0;}#endif#ifdef _IMPRECATE_ITEMvoid BATTLE_ImprecateRecovery(	int battleindex, int attackNo, int toNo, int kind, int powers,	int rounds, int UseEffect, int RecevEffect ){	int i, toindex, flg;	int ToList[SIDE_OFFSET*2+1];	//char szBuffer[256]="";	BATTLE_MultiList( battleindex, toNo, ToList );	BATTLE_MagicEffect(		battleindex, attackNo, ToList,		UseEffect, RecevEffect );	for( i = 0; ToList[i] != -1; i ++ ){		toindex = BATTLE_No2Index( battleindex, ToList[i] );		if( CHAR_CHECKINDEX( toindex ) == FALSE )continue;		switch( kind ){#ifdef _IMPRECATE_ITEM		case BD_KIND_CURSE:			if( CHAR_getWorkInt( toindex, CHAR_WORKIMPRECATENUM1 ) <= 0 && 				CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) {				CHAR_setWorkInt( toindex, CHAR_WORKHURTMP, powers);	//傷害 MP				CHAR_setWorkInt( toindex, CHAR_WORKIMPRECATENUM1, rounds);			}			break;		case BD_KIND_BESTOW:			if( CHAR_getWorkInt( toindex, CHAR_WORKIMPRECATENUM2 ) <= 0 ){#ifdef _TYPE_TOXICATION				if( CHAR_CanCureFlg( toindex, "HP") == FALSE ) break;#endif				CHAR_setWorkInt( toindex, CHAR_WORKWISHESHP, powers);	//祝福 hp				CHAR_setWorkInt( toindex, CHAR_WORKIMPRECATENUM2, rounds);			}			break;		case BD_KIND_WISHES:			if( CHAR_getWorkInt( toindex, CHAR_WORKIMPRECATENUM3 ) <= 0 &&				CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) {				CHAR_setWorkInt( toindex, CHAR_WORKWISHESMP, powers);	//祝福 MP				CHAR_setWorkInt( toindex, CHAR_WORKIMPRECATENUM3, rounds);			}			break;#endif		}		//BATTLE_BroadCast( battleindex, szBuffer,		//	(attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ;		if( BattleArray[battleindex].norisk == 0		&&  CHAR_getInt( toindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET){			flg = CHAR_getWorkInt( toindex, CHAR_WORKBATTLEFLG );			if(  flg & CHAR_BATTLEFLG_RECOVERY ){			}else{				CHAR_PetAddVariableAi( toindex, AI_FIX_PETRECOVERY );				CHAR_setWorkInt( toindex, CHAR_WORKBATTLEFLG, flg | CHAR_BATTLEFLG_RECOVERY );			}		}	}	return;}#endifvoid BATTLE_MultiRecovery(	int battleindex,	int attackNo,	int toNo,	int kind,	int power,	int per,	int UseEffect,#ifdef _CHANGEITEMUSE	 // Syu ADD 調整戰斗中使用料理設定	int RecevEffect,	int power1#else	int RecevEffect#endif){	int i, toindex, UpPoint = 0, workhp, oldhp, flg;#ifdef _CHANGEITEMUSE	 // Syu ADD 調整戰斗中使用料理設定	int UpPoint1 = 0;#endif	int ToList[SIDE_OFFSET*2+1];	//char szBuffer[256]="";	char szCommand[256];		int ridepet, petUpPoint =0;	BATTLE_MultiList( battleindex, toNo, ToList );	BATTLE_MagicEffect( battleindex, attackNo, ToList, UseEffect, RecevEffect );	for( i = 0; ToList[i] != -1; i ++ ){		toindex = BATTLE_No2Index( battleindex, ToList[i] );		if( CHAR_CHECKINDEX( toindex ) == FALSE )	continue;		ridepet = BATTLE_getRidePet( toindex );		switch( kind ){#ifdef _ITEM_UNBECOMEPIG		case BD_KIND_UNBECOMEPIG:            if( CHAR_getInt( toindex, CHAR_BECOMEPIG ) > -1 ){		        CHAR_setInt( toindex, CHAR_BECOMEPIG, -1 );                CHAR_setInt( toindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( toindex, CHAR_BASEBASEIMAGENUMBER));				CHAR_complianceParameter( toindex );		        CHAR_sendCToArroundCharacter( CHAR_getWorkInt( toindex , CHAR_WORKOBJINDEX ));		        CHAR_send_P_StatusString( toindex , CHAR_P_STRING_BASEBASEIMAGENUMBER);		        CHAR_talkToCli( toindex,-1,"烏力化失效了。",CHAR_COLORWHITE);			}		break;#endif #ifdef _ITEM_PROPERTY		case BD_KIND_PROPERTY:		{			if (CHAR_getInt(toindex, CHAR_WHICHTYPE)!=CHAR_TYPEPLAYER)            return;		//print("地水火風:%d %d %d %d", CHAR_getInt( toindex, CHAR_EARTHAT ), CHAR_getInt( toindex, CHAR_WATERAT ), CHAR_getInt( toindex, CHAR_FIREAT ), CHAR_getInt( toindex, CHAR_WINDAT ) );		if( power == 1 ){//旋轉屬性 正轉	        if( CHAR_getInt( toindex, CHAR_EARTHAT ) == 100 )                CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )-10 ),			    CHAR_setInt( toindex, CHAR_WATERAT, CHAR_getInt( toindex, CHAR_WATERAT )+10 );		    else if( CHAR_getInt( toindex, CHAR_WATERAT ) == 100 )                CHAR_setInt( toindex, CHAR_WATERAT, CHAR_getInt( toindex, CHAR_WATERAT )-10 ),			    CHAR_setInt( toindex, CHAR_FIREAT, CHAR_getInt( toindex, CHAR_FIREAT )+10 );            else if( CHAR_getInt( toindex, CHAR_FIREAT ) == 100 )                CHAR_setInt( toindex, CHAR_FIREAT, CHAR_getInt( toindex, CHAR_FIREAT )-10 ),			    CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )+10 );            else if( CHAR_getInt( toindex, CHAR_WINDAT ) == 100 )                CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )-10 ),			    CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )+10 );			else if( CHAR_getInt( toindex, CHAR_EARTHAT ) > 0 && CHAR_getInt( toindex, CHAR_WATERAT ) > 0 )                CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )-10 ),			    CHAR_setInt( toindex, CHAR_WATERAT, CHAR_getInt( toindex, CHAR_WATERAT )+10 );            else if( CHAR_getInt( toindex, CHAR_WATERAT ) > 0 && CHAR_getInt( toindex, CHAR_FIREAT ) > 0 )                CHAR_setInt( toindex, CHAR_WATERAT, CHAR_getInt( toindex, CHAR_WATERAT )-10 ),			    CHAR_setInt( toindex, CHAR_FIREAT, CHAR_getInt( toindex, CHAR_FIREAT )+10 );		    else if( CHAR_getInt( toindex, CHAR_FIREAT ) > 0 && CHAR_getInt( toindex, CHAR_WINDAT ) > 0 )                CHAR_setInt( toindex, CHAR_FIREAT, CHAR_getInt( toindex, CHAR_FIREAT )-10 ),			    CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )+10 );            else if( CHAR_getInt( toindex, CHAR_WINDAT ) > 0 && CHAR_getInt( toindex, CHAR_EARTHAT ) > 0 )                CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )-10 ),			    CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )+10 );		}        if( power == 2 ){//旋轉屬性 反轉			if( CHAR_getInt( toindex, CHAR_EARTHAT ) == 100 )                CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )-10 ),			    CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )+10 );		    else if( CHAR_getInt( toindex, CHAR_WATERAT ) == 100 )                CHAR_setInt( toindex, CHAR_WATERAT, CHAR_getInt( toindex, CHAR_WATERAT )-10 ),			    CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )+10 );            else if( CHAR_getInt( toindex, CHAR_FIREAT ) == 100 )                CHAR_setInt( toindex, CHAR_FIREAT, CHAR_getInt( toindex, CHAR_FIREAT )-10 ),

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线观看一区二区| 免费视频最近日韩| 久久99精品久久久久久| 91在线观看污| 日韩亚洲欧美中文三级| 一区二区三区在线观看视频| 久草在线在线精品观看| 欧美日韩在线三级| 国产精品国产三级国产有无不卡 | 欧美日韩视频在线一区二区| 国产亚洲午夜高清国产拍精品| 亚瑟在线精品视频| 91影视在线播放| 欧美国产视频在线| 国产一二精品视频| 2017欧美狠狠色| 日韩精品成人一区二区三区| 91激情在线视频| 日韩理论片在线| 成人免费视频免费观看| 日韩欧美在线影院| 日本不卡在线视频| 欧美一区二区三区在线视频| 亚洲香肠在线观看| 在线亚洲高清视频| 亚洲一二三四在线| 欧美亚洲动漫精品| 亚洲曰韩产成在线| 欧美日韩亚州综合| 婷婷成人激情在线网| 欧美久久久久久久久久| 午夜精品福利一区二区三区蜜桃| 欧美丝袜自拍制服另类| 亚洲超碰97人人做人人爱| 欧美日韩一区二区在线观看视频 | 一区二区三区精品在线| 91蜜桃在线观看| 一个色妞综合视频在线观看| 日本道免费精品一区二区三区| 中文字幕字幕中文在线中不卡视频| 丁香激情综合五月| 国产精品天美传媒| 色综合久久久久综合体| 亚洲伊人色欲综合网| 欧美精品丝袜中出| 六月丁香婷婷色狠狠久久| 欧美成人福利视频| 国产99久久久国产精品| 综合亚洲深深色噜噜狠狠网站| 91免费观看国产| 丝瓜av网站精品一区二区| 欧美成人精品二区三区99精品| 国产尤物一区二区在线| 国产精品久久久久永久免费观看 | 亚洲一二三区视频在线观看| 欧美日韩精品福利| 国产曰批免费观看久久久| 中文字幕一区av| 3atv一区二区三区| 国产成人小视频| 亚洲精品成人悠悠色影视| 欧美一区二区三区免费| 成人妖精视频yjsp地址| 亚洲福利视频三区| 久久久久久亚洲综合影院红桃 | 日韩欧美国产一二三区| 国产·精品毛片| 亚洲一区二区欧美| 国产亚洲欧美色| 91国产丝袜在线播放| 久久精品999| 亚洲免费在线看| 2022国产精品视频| 欧美日韩黄视频| 国产成人自拍网| 水野朝阳av一区二区三区| 国产精品美女久久久久久久网站| 欧美精品第1页| 99麻豆久久久国产精品免费| 免费人成精品欧美精品| 亚洲你懂的在线视频| 久久久久久久久久电影| 在线成人免费观看| 91麻豆精品视频| 国模娜娜一区二区三区| 亚洲大片免费看| 国产精品久久久久久亚洲伦| 精品久久久久久久久久久久久久久 | 日韩不卡在线观看日韩不卡视频| 国产精品免费网站在线观看| 91精品国产综合久久精品麻豆| 99精品桃花视频在线观看| 久久精品国产亚洲高清剧情介绍| 一区二区三区日韩欧美精品| 亚洲国产成人私人影院tom| 欧美一级欧美一级在线播放| 欧美三级在线视频| 在线观看成人小视频| 91丨porny丨蝌蚪视频| 国产aⅴ综合色| 大胆亚洲人体视频| 国产一区二区三区视频在线播放| 日韩va亚洲va欧美va久久| 一二三区精品视频| 亚洲视频在线一区观看| 国产精品天干天干在线综合| 欧美国产国产综合| 欧美激情艳妇裸体舞| 国产欧美一区二区三区在线老狼| 久久久亚洲精品石原莉奈| 精品理论电影在线| 精品美女一区二区三区| 精品美女被调教视频大全网站| 日韩欧美中文字幕制服| 26uuu亚洲| 久久久亚洲国产美女国产盗摄| 久久五月婷婷丁香社区| 国产亚洲精品精华液| 国产视频一区不卡| 日本一区二区电影| 国产精品剧情在线亚洲| 日韩毛片一二三区| 亚洲综合在线五月| 亚洲国产cao| 蜜臀av一级做a爰片久久| 久久激五月天综合精品| 国产成人高清在线| 成人晚上爱看视频| 在线观看一区二区精品视频| 欧美肥大bbwbbw高潮| 日韩欧美在线不卡| 久久精品人人做人人综合| 欧美国产精品久久| 亚洲永久精品国产| 久久99精品久久只有精品| 国产精品资源网站| 97精品国产露脸对白| 欧美视频在线一区二区三区 | 国产精品天美传媒| 又紧又大又爽精品一区二区| 午夜在线电影亚洲一区| 韩日精品视频一区| 91麻豆精东视频| 日韩亚洲欧美在线| 中文字幕一区二区三区av| 亚洲资源在线观看| 经典三级一区二区| 99久久久精品| 欧美一区二区视频在线观看2020 | 成人午夜电影网站| 色婷婷久久久久swag精品| 91麻豆精品国产91久久久久久| 欧美精品一区二区三区四区| 亚洲天堂av一区| 青椒成人免费视频| caoporn国产精品| 欧美日韩1234| 国产精品欧美一区喷水| 午夜精品福利视频网站| 国产成人免费视频一区| 欧美日韩一区二区在线观看 | 精品国产百合女同互慰| 亚洲人亚洲人成电影网站色| 麻豆91小视频| 色激情天天射综合网| 精品国产髙清在线看国产毛片 | 国产精品毛片久久久久久久| 性做久久久久久久久| 97精品电影院| 久久综合色鬼综合色| 亚洲18女电影在线观看| 播五月开心婷婷综合| 欧美变态口味重另类| 亚洲一区二区视频在线| 99久久99久久综合| 久久久久久亚洲综合影院红桃 | 99re8在线精品视频免费播放| 91精品欧美综合在线观看最新| 中文字幕在线不卡国产视频| 久久99国产精品久久| 欧美日韩一级片在线观看| 亚洲国产精品ⅴa在线观看| 精品亚洲porn| 91精品蜜臀在线一区尤物| 亚洲一区二区三区四区的| 成人动漫中文字幕| 国产亚洲欧美在线| 韩国三级电影一区二区| 欧美一区二区三区四区高清| 亚洲曰韩产成在线| 91国在线观看| 亚洲精品成人在线| 91久久精品网| 亚洲精品中文在线| 不卡电影一区二区三区| 欧美高清在线精品一区| www.久久久久久久久| 中文字幕一区二区视频| 懂色一区二区三区免费观看| 欧美国产激情一区二区三区蜜月|