⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magicsys.cpp

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    case GREAT_METEOR:
		{
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}				
		//// 阁胶磐
    case DEATH_FIRE: // 单静 颇捞绢
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
    case SUMMONING_SKELETON: // 单静唱捞飘 家券
		{	//< CSD-TW-030606
			const int nDir = pCaster->direction;
			int nPosX = 0, nPosY = 0;
			
			for (int i = 0; i < g_lpMT[nMagic].nSummonMax; ++i)
			{
				nPosX = pCaster->x + (s_aPlace[nDir][i].x<<5);
				nPosY = pCaster->y - (s_aPlace[nDir][i].y<<5);
				::InsertMagic(pCaster, pTarget, nMagic, 8, nPosX, nPosY, nPosX, nPosY, bPattern, 0, bFail);
			}
			
			break;
		}	//> CSD-TW-030606
	case FLYING_SPARK: // 橇扼雷 胶颇农
		{ 
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
    case VAMPIRE_POISON: // 轨颇捞绢狼 刀
		{ 
			::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
    case VAMPIRE_DODGE: // 轨颇捞绢 雀乔
		{ 
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case SUMMONING_UNDEAD: // 攫单靛 家券
		{ 
			const int nDir = pCaster->direction;
			int nPosX = 0, nPosY = 0;
			
			for (int i = 0; i < g_lpMT[nMagic].nSummonMax; ++i)
			{	//< CSD-030314
				nPosX = pCaster->x + (s_aPlace[nDir][i].x<<5);
				nPosY = pCaster->y - (s_aPlace[nDir][i].y<<5);
				::InsertMagic(pCaster, pTarget, nMagic, 8, nPosX, nPosY, nPosX, nPosY, bPattern, 0, bFail);
			}	//> CSD-030314
			
			break;
		}
    case RECALL_FOLLOW: // 何窍 家券
		{
			::InsertMagic(pCaster, pTarget, nMagic, 8, nX, nY, nX, nY, bPattern, 0, bFail);
			break;
		}
    case FEATHER_OF_CURSE: // 付厚狼 标判
		{ 
			::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
    case CURSE_OF_HELL: // 秋狼历林
		{
			::InsertMagic(pCaster, pTarget, nMagic, 8, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
    case FIRE_EXPLOSION: // 拳堪气惯
		{ 
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case FIRE_STORM: // 颇捞绢 胶盆	
    case ICE_STORM:
		{ 
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
    case SHADOW_OF_EVIL: // 厩狼 弊覆磊
		{ 
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
    case FREEZING: // 林困倔覆 
		{ 
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0,  nX, nY, bPattern, 0, bFail);
			break;
		}
	case BLITZ_SPEAR: // 锅俺芒
		{ 
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case LIGHTNING_CLOUD: // 傈拜 备抚
		{
			::InsertMagic(pCaster, pCaster, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		}
    case FIRE_BREATH: // 拳堪 宏饭静
		{
			// 020707 YGI
			//::InsertMagic(pCaster, pCaster, nMagic, 0, 0, 0, -370, 60, bPattern, 0, bFail);
			break;
		}
	case ICE_BREATH: // 倔澜 宏饭静
	case LIGHTNING_BREATH: // 傈拜 宏饭静
		{ //< CSD-021021
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		} //> CSD-021021
	case FLAME_PILLAR: // 拳堪 扁嫡
    case FLAME_POUR: // 拳堪 气浅
		{ 
			ClearCrash();
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0,  nX, nY, bPattern, 0, bFail);
			break;
		}
    case OCTA_LIGHTNING:
    case BLOOD_SPRINKLE:
		{
			::InsertMagic(pCaster, pCaster, nMagic, 8, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		}
	case FLAME_ARROW:
		{	//< CSD-031020
			::InsertMagic(pCaster, pTarget, nMagic, 1, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}	//> CSD-031020
    case AREA_BAT_ATTACK:
    case AREA_PARALYSIS:
    case AREA_POISON:
    case AREA_CONFUSION:
    case AREA_SLOW:
		{ //< CSD-020707
			::InsertMagic(pCaster, pCaster, nMagic, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		} //> CSD-020707
		//// 己流磊
	case RESTORE_AUTHORITY:	// 雀汗狼 鼻瓷
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, 0, 0, 0, 0, bPattern, 0, bFail);							
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);			
			}
			
			break;
		}
	case PROTECT_DANGER: // 困氰栏肺何磐 焊龋
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case BLESS:	// 脚狼绵汗
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case RECOVER_POISON: // 秦刀狼鼻瓷
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case CURE_DISEASE:
    case PERFECT_PROTECT:
	case AUTHORITY_LETHY: // CSD-021015
    case CANCEL_DIVINE:
    case RECURRENCE_DIVINE:
    case PRAY_POWER:
    case MIRACLE_RECOVER:
    case GREAT_SHIELD:
    case GREAT_PRAY:
    case AUTHORITY_SIMUNIAN:
    case DIVINE_POWER:
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case HOLY_LIGHT: // 己胶矾款 蝴
	case AUTHORITY_CHARISNUMEN: // CSD-021015
		{
			::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		}
	case ANTHEM:
		{ //< CSD-020706
			::InsertMagic(pCaster, pTarget, nMagic + 150, 8, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		} //> CSD-020706
	case RELIEF_AUTHORITY: // 备盔狼 鼻瓷
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case HOLY_FIRE: // 圈府 颇捞绢
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 1, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case INFLUENCE_DIVINE: // 脚俊狼 皑拳
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case VOICE_SOUL:
		{
			::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		}		
    case HOLY_RAGE:
		{
			::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
    case APPRECIATE:
    case CURSE:
    case TURN_UNDEAD:
		{
			::InsertMagic(pCaster, pTarget, nMagic + 150, 8, 0, 0, 0, 0, bPattern, 0, bFail);
			break;
		}
	case AUTHORITY_RECOVER_SIGHT: //矫仿雀汗狼 鼻瓷
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case AUTHORITY_LUCK: // 例措 青款狼 鼻瓷
		{   
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, nMagic + 150, 8, 0, 0, 0, 0, bPattern, 0, bFail);
			}
			else	
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, nMagic + 150, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			
			break;
		}
	case AUTHORITY_LOST_SIGHT: // 矫仿惑角狼 鼻瓷
		{
			::InsertMagic(pCaster, pTarget, nMagic + 150, 8, 0, 0, pTarget->x, pTarget->y, bPattern, 0, bFail);
			break;
		}
	case RAGE_STONE: // 措瘤狼 盒畴
		{
			::InsertMagic(pCaster, pTarget, 358, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
    case LIFE_DRAIN: // 积疙仿 呕秒
		{
			::InsertMagic(pCaster, pTarget, 365, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}		
	case RAGE_BLAST:	// 拳脚狼 盒畴
		{
			::InsertMagic(pCaster, pTarget, 364, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case RAGE_LIGHT_BALL: // 己飞狼 盒畴
		{
			::InsertMagic(pCaster, pTarget, 366, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}						
		//// 带瘤绰 公扁
	case THROW_ARROW:
		{
			pCaster->bow_Type = 0;
			
			if (Hero != pCaster)
			{
				::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			//利 措惑阑 努腐窍绰衬 酒聪衬俊 蝶扼 龋免何俊辑 bPattern=0; 肚绰 bPattern=1 悸泼
			break;
		}
	case THROW_KNIFE:
		{
			pCaster->bow_Type = 3;
			
			if (Hero != pCaster)
			{
				::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			//利 措惑阑 努腐窍绰衬 酒聪衬俊 蝶扼 龋免何俊辑 bPattern=0; 肚绰 bPattern=1 悸泼
			//::InsertMagic( scr, dcr,magic_Num, 0, 0, 0, nX, nY, bPattern);
			break;	
		}

	case PRAY:	// 030415 kyo
		{//眠啊 郴侩 鞘夸
			if(pCaster == pTarget)
				::InsertMagic(pCaster, pTarget, 372, 8, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case HOLY_CURE:	// 030415 kyo
		{
			if (pCaster != pTarget)
			{	// 措惑磊俊霸 付过 矫青
				::InsertMagic(pCaster, pTarget, 373, 8, pTarget->x, pTarget->y, 0, 0, bPattern, 0, bFail);
			}
			else
			{ // 矫傈磊俊霸 付过 矫青				
				::InsertMagic(pCaster, pTarget, 373, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			}
			break;
		}
	case AUTHORITY_OF_ATHYAS:	// 030415 kyo
		{
			if(pCaster == pTarget) // 030514 kyo
			{
				::InsertMagic(pCaster, pTarget, 389, 0, 0, 0, nX, nY, bPattern, 0, bFail);			
			}
			break;
		}
	case AUTHORITY_OF_WHOARENCHA:	// 030415 kyo
		{		
			::InsertMagic(pCaster, pTarget, 390, 0, 0, 0, nX, nY, bPattern, 0, bFail);			
			break;
		}
	case SNOWSTORM:	// 030415 kyo
		{
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case ICE_BREATH2:	// 030415 kyo
		{
			ClearCrash(); // 030430 kyo 
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case BLOOD_LIGHTNING:	// 030415 kyo
		{
			ClearCrash(); // 030516 kyo
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	case GAZER:	// 030509 kyo
		{
			::InsertMagic(pCaster, pTarget, nMagic, 0, 0, 0, nX, nY, bPattern, 0, bFail);
			break;
		}
	default:
		{
			return false;				
		}
	}												
	
	return true;
}

///////////////////////////////////////////////////////////////////////////////
// Private Method
///////////////////////////////////////////////////////////////////////////////

bool CMagicSys::IsContinue(int nMagic) const
{
	switch (g_lpMT[nMagic].magic_Type/10)
	{
    case 2: // 焊龋 付过牢 版快
    case 3: // 焊炼 付过牢 版快
		{
			return true;
		}
	}
	
	return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -