Beispiel #1
0
/*----------------------------------------------------------------------------*
*							   BALLL PARTICLE RISING 
*-----------------------------------------------------------------------------*/	
int AssaParticle_RisingParticleContinue(POINT3D *pPosi , char *FileName ,int Size ,int Range , int SpeedY)
{ 
	Assa = SetAssaEffect(GetRandomPos(50,70),FileName,0,pPosi,0);   
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = cAssaEffect[Assa]->Max_Time/7;
	cAssaEffect[Assa]->AniCount = GetRandomPos(0,cAssaEffect[Assa]->AniMaxCount);
	cAssaEffect[Assa]->Size.w = GetRandomPos(Size-200,Size+200);
	cAssaEffect[Assa]->MoveSpeed.y = rand()%50+SpeedY;
	AssaGetCirclePosi(cAssaEffect[Assa],GetRandomPos(0,Range*10),GetRandomPos(0,4096));
	cAssaEffect[Assa]->MOVECODE = ASSA_MOVE;
	cAssaEffect[Assa]->NotFadeIn = 1;

	return TRUE;
}
void SkillMetalionSphereDefence(POINT3D *curPos, POINT3D *desPos, bool flag)
{
	g_NewParticleMgr.Start("magneticShot", *curPos);
	if(flag)
	{
		g_NewParticleMgr.Start("magneticShot", *desPos);
		SetDynLight( desPos->x, desPos->y, desPos->z, 255, 255, 255, 255, 100, 3);
	}

	Assa = SetAssaEffect(100,"spark01_01.bmp",0,curPos,0);
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 3;
	cAssaEffect[Assa]->Face.r = 150;
	cAssaEffect[Assa]->Face.g = 255;
	cAssaEffect[Assa]->Face.b = 150;
	cAssaEffect[Assa]->Face.Transparency = 255;
	cAssaEffect[Assa]->Size.w = 5000;
	cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE; 
	
	cAssaEffect[Assa]->ScalePosi.x = desPos->x - curPos->x;
	cAssaEffect[Assa]->ScalePosi.y = desPos->y - curPos->y;
	cAssaEffect[Assa]->ScalePosi.z = desPos->z - curPos->z;

	Assa = SetAssaEffect(100,"spark01_01.bmp",0,curPos,0);
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 3;
	cAssaEffect[Assa]->Face.r = 150;
	cAssaEffect[Assa]->Face.g = 255;
	cAssaEffect[Assa]->Face.b = 150;
	cAssaEffect[Assa]->Face.Transparency = 255;
	cAssaEffect[Assa]->Size.w = 5000;
	cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE; 
	
	cAssaEffect[Assa]->ScalePosi.x = desPos->x - curPos->x;
	cAssaEffect[Assa]->ScalePosi.y = desPos->y - curPos->y;
	cAssaEffect[Assa]->ScalePosi.z = desPos->z - curPos->z;
}
Beispiel #3
0
/*----------------------------------------------------------------------------*
*				          Area   Particle 
*-----------------------------------------------------------------------------*/	
int AssaParticle_Area_Particle(POINT3D *Posi , char *FileName , int Range , int Time)
{
	for(int i = 0 ; i < 10 ; i++){ 
		Assa = SetAssaEffect(100,FileName,0,Posi,0);                   
		cAssaEffect[Assa]->Size.w = 1000;  
		AssaGetAniFileMat(cAssaEffect[Assa]);
		cAssaEffect[Assa]->AniCount = GetRandomPos(0,cAssaEffect[Assa]->AniMaxCount);
		cAssaEffect[Assa]->AniReverse = 1;
		cAssaEffect[Assa]->AniDelayTime = GetRandomPos(4,8);
		cAssaEffect[Assa]->StartPosi.z = GetRandomPos(256,256*Range*2);
		AssaSetStartPosi(cAssaEffect[Assa]);
		cAssaEffect[Assa]->Time = Time;
	}
	return TRUE;
}
Beispiel #4
0
/*----------------------------------------------------------------------------*
*					        Light (현제 사용하지않음)
*-----------------------------------------------------------------------------*/	
int AssaParticle_Light(POINT3D *pPosi , char *FileName ,int Size , int Height , int Time)
{
	Assa = SetAssaEffect(40,FileName,0,pPosi,Height);           
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 25;
	cAssaEffect[Assa]->Size.w = Size;
	cAssaEffect[Assa]->ReSize.w = 600;
	cAssaEffect[Assa]->ReSize.h = cAssaEffect[Assa]->ReSize.w;
	cAssaEffect[Assa]->MOVECODE = ASSA_INCRESIZE;
	cAssaEffect[Assa]->Time = Time;
	cAssaEffect[Assa]->MOVECODE_List[0] = ASSA_DECRESIZE;
	cAssaEffect[Assa]->MOVECODE_Time[0] = 25;

	return TRUE;
}
Beispiel #5
0
/*----------------------------------------------------------------------------*
*							   BALLLINGT ROTATE 
*-----------------------------------------------------------------------------*/	
int AssaParticle_BALLLIGHT_ROTATE(POINT3D *pPosi , char *FileName ,int Range , int Speed)
{
	Assa = SetAssaEffect(50,FileName,0,pPosi,0);                           
	cAssaEffect[Assa]->Size.w = 500;    
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = GetRandomPos(10,15);
	cAssaEffect[Assa]->AniCount = GetRandomPos(0,cAssaEffect[Assa]->AniMaxCount);
	cAssaEffect[Assa]->MOVECODE = ASSA_MOVE_RANDOM_ROTATE;
	//cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_TRACE;
	//cAssaEffect[Assa]->cAssaTrace->SetLength(20); //연결길이를 잡는다
	cAssaEffect[Assa]->Angle.x = GetRandomPos(0,4096);
	cAssaEffect[Assa]->Angle.y = GetRandomPos(0,4096);
	cAssaEffect[Assa]->MoveSpeed.z = Range;
	cAssaEffect[Assa]->RAngleSpeed = Speed;

	return TRUE;
}
Beispiel #6
0
/*----------------------------------------------------------------------------*
*							  상승 파티클 
*-----------------------------------------------------------------------------*/	
int AssaParticle_RisingParticle(POINT3D *pPosi , char *FileName ,int Size ,  int ContinueTime , int Range , int Count , int SpeedY)
{
	for(int i = 0; i < ContinueTime*7 ; i++){              
		for(int j = 0; j < Count ; j++){    
		  Assa = SetAssaEffect(350-(SpeedY/2),FileName,0,pPosi,0);   
		  AssaGetAniFileMat(cAssaEffect[Assa]);
		  cAssaEffect[Assa]->AniDelayTime = GetRandomPos(4,10);
		  cAssaEffect[Assa]->AniCount = GetRandomPos(0,cAssaEffect[Assa]->AniMaxCount);
		  cAssaEffect[Assa]->AniReverse = 1;
		  cAssaEffect[Assa]->Size.w = GetRandomPos(Size-500,Size+500);
		  cAssaEffect[Assa]->MoveSpeed.y = rand()%50+SpeedY;
		  AssaGetCirclePosi(cAssaEffect[Assa],GetRandomPos(0,Range*10),GetRandomPos(0,4096));
		  cAssaEffect[Assa]->MOVECODE = ASSA_MOVE;
		  cAssaEffect[Assa]->Time = GetRandomPos(-10*i,-i*9)-j;

		}
	}
	return TRUE;
}
void SkillMetalionSphere(smCHAR *pChar, float time, float attackTime)
{
	HoEffectType_Magnetic_Sphere *effectType = new HoEffectType_Magnetic_Sphere();
	effectType->Init(pChar, time, attackTime);
	HoEffectManager::GetInstance()->AddEffect(effectType);
	
	GetMoveLocation( 0, 0, 10*fONE, 0, pChar->Angle.y, 0);
	POINT3D curPos;
  	curPos.x = pChar->pX + GeoResult_X;
	curPos.y = pChar->pY+8000;
	curPos.z = pChar->pZ + GeoResult_Z;
	

	g_NewParticleMgr.Start("Skill3MechanicianSparkShield", curPos, 0.2f);
	POINT3D destPos;
	destPos.x = curPos.x+30000;
	destPos.y = curPos.y+80000;
	destPos.z = curPos.z+30000;
	
   	Assa = SetAssaEffect(90,"spark01_01.bmp",0,&curPos,0);
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 3;
	cAssaEffect[Assa]->Face.r = 150;
	cAssaEffect[Assa]->Face.g = 255;
	cAssaEffect[Assa]->Face.b = 150;
	cAssaEffect[Assa]->Face.Transparency = 200;
	cAssaEffect[Assa]->Size.w = 5000;
	cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE; 
	
	cAssaEffect[Assa]->ScalePosi.x = destPos.x - curPos.x;
	cAssaEffect[Assa]->ScalePosi.y = destPos.y - curPos.y;
	cAssaEffect[Assa]->ScalePosi.z = destPos.z - curPos.z;

	
  	destPos.x = curPos.x+22000;
	destPos.y = curPos.y+75000;
	destPos.z = curPos.z+22000;
	
  	Assa = SetAssaEffect(100,"spark01_01.bmp",0,&curPos,0);
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 3;
	cAssaEffect[Assa]->Face.r = 150;
	cAssaEffect[Assa]->Face.g = 255;
	cAssaEffect[Assa]->Face.b = 150;
	cAssaEffect[Assa]->Face.Transparency = 200;
	cAssaEffect[Assa]->Size.w = 5000;
	cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE; 
	
	cAssaEffect[Assa]->ScalePosi.x = destPos.x - curPos.x;
	cAssaEffect[Assa]->ScalePosi.y = destPos.y - curPos.y;
	cAssaEffect[Assa]->ScalePosi.z = destPos.z - curPos.z;

	
	destPos.x = curPos.x-30000;
	destPos.y = curPos.y+80000;
	destPos.z = curPos.z-30000;

 	Assa = SetAssaEffect(80,"spark01_01.bmp",0,&curPos,0);
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 3;
	cAssaEffect[Assa]->Face.r = 150;
	cAssaEffect[Assa]->Face.g = 255;
	cAssaEffect[Assa]->Face.b = 150;
	cAssaEffect[Assa]->Face.Transparency = 200;
	cAssaEffect[Assa]->Size.w = 5000;
	cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE; 
	
	cAssaEffect[Assa]->ScalePosi.x = destPos.x - curPos.x;
	cAssaEffect[Assa]->ScalePosi.y = destPos.y - curPos.y;
	cAssaEffect[Assa]->ScalePosi.z = destPos.z - curPos.z;

	destPos.x = curPos.x-22000;
	destPos.y = curPos.y+75000;
	destPos.z = curPos.z-22000;

   	Assa = SetAssaEffect(85,"spark01_01.bmp",0,&curPos,0);
	AssaGetAniFileMat(cAssaEffect[Assa]);
	cAssaEffect[Assa]->AniDelayTime = 3;
	cAssaEffect[Assa]->Face.r = 150;
	cAssaEffect[Assa]->Face.g = 255;
	cAssaEffect[Assa]->Face.b = 150;
	cAssaEffect[Assa]->Face.Transparency = 200;
	cAssaEffect[Assa]->Size.w = 5000;
	cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE; 
	
	cAssaEffect[Assa]->ScalePosi.x = destPos.x - curPos.x;
	cAssaEffect[Assa]->ScalePosi.y = destPos.y - curPos.y;
	cAssaEffect[Assa]->ScalePosi.z = destPos.z - curPos.z;
}