Beispiel #1
0
/*----------------------------------------------------------------------------*
*				       PIERCING Paticle Aura
*-----------------------------------------------------------------------------*/	
int AssaParticle_Piercing_Aura(cASSAEFFECT *pEffect)
{

	for(int i = 0; i < 100 ; i++){            
		Assa = SetAssaEffect(100,"line.bmp",0,&pEffect->CenterPosi,0);              
		cAssaEffect[Assa]->Size.w = 250;
		cAssaEffect[Assa]->GatherSpeed = 40;
		cAssaEffect[Assa]->MOVECODE = ASSA_MOVE_GATHER;
		cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE;
		cAssaEffect[Assa]->RDistance.z = GetRandomPos(256*16,256*16*2);
		cAssaEffect[Assa]->RAngle = GetRandomPos(0,4096);
		cAssaEffect[Assa]->StartPosi.z = cAssaEffect[Assa]->RDistance.z;
		AssaSetStartPosi(cAssaEffect[Assa]);
		cAssaEffect[Assa]->Time = GetRandomPos(0,-300);

		//각에따른 방향으로 Face를 Scale한다 
		GetMoveLocation(  cAssaEffect[Assa]->StartPosi.x, cAssaEffect[Assa]->StartPosi.y,cAssaEffect[Assa]->StartPosi.z*2 , cAssaEffect[Assa]->Angle.x, cAssaEffect[Assa]->Angle.y, 0 );
		cAssaEffect[Assa]->ScalePosi.x = GeoResult_X/2;
		cAssaEffect[Assa]->ScalePosi.y = GeoResult_Y/2;
		cAssaEffect[Assa]->ScalePosi.z = GeoResult_Z/2;

	}

	return TRUE;
} 
Beispiel #2
0
/*----------------------------------------------------------------------------*
*							  물결형 파티클 (피어싱에서 사용)
*-----------------------------------------------------------------------------*/	
int AssaParticle_Wave(POINT3D *pPosi , char *FileName ,int Size)
{
	//현제 피어싱에만 사용된다  (Size인자는 알파값이다 )귀찮아서 안바꿨다 ㅡ,.ㅡ
	
	for(int i = 0; i < 1 ; i++){                  
		Assa = SetAssaEffect(GetRandomPos(31-Size,32-Size),"star05B_03.bmp",0,pPosi,0);       
		cAssaEffect[Assa]->Size.w = 4000;//-(Size*(4000/30)); 
		cAssaEffect[Assa]->ReSize.w = 600;//-(Size*(600/30));
		cAssaEffect[Assa]->ReSize.h = cAssaEffect[Assa]->ReSize.w;
		cAssaEffect[Assa]->MOVECODE = ASSA_INCRESIZE;
		cAssaEffect[Assa]->FACEY = GetRandomPos(0,4096);

		//cAssaEffect[Assa]->NotFadeIn = 1;
		cAssaEffect[Assa]->Face.Transparency = 255-(Size*8);
	}
	
	for(int i = 0; i < 1 ; i++){            
		Assa = SetAssaEffect(GetRandomPos(31-Size,32-Size),"twist.bmp",0,pPosi,0);       
		cAssaEffect[Assa]->Size.w = 1000;//-(Size*(1000/30)); 
		cAssaEffect[Assa]->ReSize.w = 600;//-(Size*(600/30));
		cAssaEffect[Assa]->ReSize.h = cAssaEffect[Assa]->ReSize.w;
		cAssaEffect[Assa]->MOVECODE = ASSA_INCRESIZE;
		cAssaEffect[Assa]->FACEY = GetRandomPos(0,4096);
		cAssaEffect[Assa]->Face.Transparency = 255-(Size*8);
		
	}

	return TRUE;
}
Beispiel #3
0
/*----------------------------------------------------------------------------*
*				          Particle After Image (날치기 잔상) (에너쥐 쉴터에서 사용중)
*-----------------------------------------------------------------------------*/	
int AssaParticle_After_Image(POINT3D *Posi , char *FileName , int Range , int Time)
{
	//파티클
	/*
	Assa = SetAssaEffect(70,FileName,0,Posi,0);                                 
	cAssaEffect[Assa]->Size.w = 1500;  
	cAssaEffect[Assa]->StartPosi.z = GetRandomPos(16*Range,16*Range*2); 
	AssaSetStartPosi(cAssaEffect[Assa]);
	cAssaEffect[Assa]->Time = Time;
	cAssaEffect[Assa]->MOVECODE = ASSA_DECRESIZE;
	cAssaEffect[Assa]->ReSize.w = 10;
	cAssaEffect[Assa]->ReSize.h = cAssaEffect[Assa]->ReSize.w;
	*/

	//요건 선형 파티클 
	for(int i = 0 ; i < 3 ; i++){              
		Assa = SetAssaEffect(10,"flare.tga",0,Posi,0);      
		cAssaEffect[Assa]->Size.w = GetRandomPos(6000,7000); 
		cAssaEffect[Assa]->Size.h = GetRandomPos(300,500); 
		cAssaEffect[Assa]->FACEY  = (i+1)*(4096/6);
		cAssaEffect[Assa]->NotFadeIn = 1;
		//cAssaEffect[Assa]->ZposiFlag = 1;
		cAssaEffect[Assa]->Face.r = 0;
		cAssaEffect[Assa]->Face.g = 255;
		cAssaEffect[Assa]->Face.b = 255;
	}

	return TRUE;
}
Beispiel #4
0
/*----------------------------------------------------------------------------*
*				       WINDY Paticle 
*-----------------------------------------------------------------------------*/	
int AssaParticle_Holy_Reflection(cASSAEFFECT *pEffect)
{
	//원형이미지 
	Assa = SetAssaEffect(GetRandomPos(80,100),"star01M_04.bmp",0,&pEffect->Posi,0);     
	AssaSearchWeaponPos(pEffect->pChar,&cAssaEffect[Assa]->Posi,1);            
	cAssaEffect[Assa]->Size.w = GetRandomPos(500,1000);
	cAssaEffect[Assa]->MoveSpeed.y = rand()%50;
	AssaGetCirclePosi(cAssaEffect[Assa],GetRandomPos(0,64*10),GetRandomPos(0,4096));
	cAssaEffect[Assa]->MOVECODE = ASSA_MOVE;
	return TRUE;
}
Beispiel #5
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;
}
Beispiel #6
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 #7
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 #8
0
/*----------------------------------------------------------------------------*
*							  벨트형 파티클 
*-----------------------------------------------------------------------------*/	
int AssaParticle_RisingBelt(POINT3D *pPosi ,char *FileName,int ContinueTime , int SpeedY )
{ 

	int Temp = 1; 
	for(int i = 0 ; i < ContinueTime * 7 ; i++){               
		if((i%7)!=0)continue; 
		Assa = SetAssaEffect(250-(SpeedY/2),FileName,0,pPosi,0);                 
		cAssaEffect[Assa]->MOVECODE = ASSA_ANGLE_ROTATE | ASSA_MOVE;
		if(Temp == -1 )Temp = 1;
		else Temp = -1; 
		cAssaEffect[Assa]->ARotateSpeed.y = GetRandomPos(30,35)*Temp; 
		cAssaEffect[Assa]->MoveSpeed.y = SpeedY;
		cAssaEffect[Assa]->AniCount = rand()%5+5;
		cAssaEffect[Assa]->Time = GetRandomPos(-10*i,-i*9);
	}
	return TRUE; 
}
Beispiel #9
0
/*----------------------------------------------------------------------------*
*							   GATHER
*-----------------------------------------------------------------------------*/	
int AssaParticle_Gather(POINT3D *pPosi , char *FileName ,int Range , int Speed ,int Num)
{
	//세부설정은 되어있지않다 
	for(int j = 0; j < Num ; j++){       
		Assa = SetAssaEffect(300,FileName,0,pPosi,0);            
		cAssaEffect[Assa]->Size.w = 1000;  
		cAssaEffect[Assa]->GatherSpeed = 20;
		cAssaEffect[Assa]->MOVECODE = ASSA_MOVE_GATHER;
		cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_TRACE;
		cAssaEffect[Assa]->cAssaTrace->SetLength(100); //연결길이를 잡는다
		cAssaEffect[Assa]->RDistance.z = GetRandomPos(Range*16,Range*16*2);
		cAssaEffect[Assa]->RAngle = GetRandomPos(0,4096);
		cAssaEffect[Assa]->StartPosi.z = cAssaEffect[Assa]->RDistance.z;
		AssaSetStartPosi(cAssaEffect[Assa]);
	}
	return TRUE;
}
Beispiel #10
0
/*----------------------------------------------------------------------------*
*							  상승 파티클 
*-----------------------------------------------------------------------------*/	
int AssaParticle_RisingLine(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);   
		  cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_SCALE;
		  cAssaEffect[Assa]->ScalePosi.y = GetRandomPos(Size*100,(Size+1)*100);
		  cAssaEffect[Assa]->Size.w = GetRandomPos(Size-500,Size+500);
		  cAssaEffect[Assa]->MoveSpeed.y = rand()%50+SpeedY;
		  cAssaEffect[Assa]->Posi.y -= 50*Size; //Scale시 좌표가 옮겨지는걸 보정
		  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;
}
Beispiel #11
0
/*----------------------------------------------------------------------------*
*							  ROTATE GATHER
*-----------------------------------------------------------------------------*/	
int AssaParticle_RotateGather(POINT3D *pPosi , char *FileName , int Num)
{
	for(int i = 0; i < Num ; i++){           
		Assa = SetAssaEffect(120,FileName,0,pPosi,0);                 
		cAssaEffect[Assa]->Size.w = 1000;    
		cAssaEffect[Assa]->GatherSpeed = 30;
		cAssaEffect[Assa]->MOVECODE = ASSA_ROTATE;
		cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_TRACE;
		cAssaEffect[Assa]->cAssaTrace->SetLength(70); //연결길이를 잡는다
		cAssaEffect[Assa]->RDistance.z = GetRandomPos(256*16*3 ,256*16*3);
		cAssaEffect[Assa]->RAngle = GetRandomPos(0,4096);
		cAssaEffect[Assa]->RAngleSpeed = GetRandomPos(100,150);
		cAssaEffect[Assa]->AddHeight = GetRandomPos(0,15000);
		cAssaEffect[Assa]->CODE = ASSA_PARTICLE_ROTATE_GATHER;

	}

	return TRUE;
}
Beispiel #12
0
/*----------------------------------------------------------------------------*
*							  상승 곡선형 파티클
*-----------------------------------------------------------------------------*/	
int AssaParticle_RisingRotateLine(POINT3D *pPosi , char *FileName , int ContinueTime , int Range , int Count , int SpeedY)
{ 
	int Temp =1;
	for(int i = 0; i < ContinueTime*7 ; i++){                            
		for(int j = 0; j < Count ; j++){       
		  Assa = SetAssaEffect(350-(SpeedY/2),FileName,0,pPosi,0);   
		  cAssaEffect[Assa]->Size.w = 1000; 
		  cAssaEffect[Assa]->MoveSpeed.y = rand()%50+SpeedY;
		  AssaGetCirclePosi(cAssaEffect[Assa],GetRandomPos(0,Range*10),GetRandomPos(0,4096));
		  cAssaEffect[Assa]->MOVECODE = ASSA_MOVE | ASSA_ROTATE;
		  if(Temp > 0 )Temp = -1;
		  else Temp = 1;
		  cAssaEffect[Assa]->RAngleSpeed = 50*Temp;
		  cAssaEffect[Assa]->RDistance.z = 256*16;
		  cAssaEffect[Assa]->Time = GetRandomPos(-10*i,-i*9)-j;
		  cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_TRACE;
		  cAssaEffect[Assa]->cAssaTrace->SetLength(50); //연결길이를 잡는다
		}
	}
	return TRUE;
}
Beispiel #13
0
/*----------------------------------------------------------------------------*
*					     상승 곡선 조금떠 빠른거
*-----------------------------------------------------------------------------*/	
int AssaParticle_RisingRotateLinePower(POINT3D *pPosi , char *FileName,int Range ,int Speed )
{ 
	
	int Temp =1;
	for(int i = 0; i < 7 ; i++){                                   
		for(int j = 0; j < 3 ; j++){           
		  Assa = SetAssaEffect(350-(Speed/2),FileName,0,pPosi,0);   
		  cAssaEffect[Assa]->Size.w = 1000; 
		  cAssaEffect[Assa]->MoveSpeed.y = Speed;
		  AssaGetCirclePosi(cAssaEffect[Assa],Range*4,GetRandomPos(0,4096));
		  cAssaEffect[Assa]->MOVECODE = ASSA_MOVE | ASSA_ROTATE;
		  if(Temp > 0 )Temp = -1;
		  else Temp = 1;
		  cAssaEffect[Assa]->RAngleSpeed = 100*Temp;
		  cAssaEffect[Assa]->Time = GetRandomPos(-5*i,-i*4)-j;
		  cAssaEffect[Assa]->FACE_TYPE = ASSAFACE_TRACE;
		  cAssaEffect[Assa]->cAssaTrace->SetLength(50); //연결길이를 잡는다
		  cAssaEffect[Assa]->NotFadeIn = 1;
		  
		}
	}
	return TRUE;
}
Beispiel #14
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;
}
Beispiel #15
0
/*----------------------------------------------------------------------------*
*				       WINDY Paticle 
*-----------------------------------------------------------------------------*/	
int AssaParticle_Windy(cASSAEFFECT *pEffect)
{
	float Temp = ((float)pEffect->Time-45.0f)/15.0f;              
	//원형이미지 
	Assa = SetAssaEffect(30,"star05Y_03.bmp",pEffect->pChar,0,0);                               
	AssaSearchWeaponPos(pEffect->pChar,&cAssaEffect[Assa]->Posi,Temp);            
	//AssaSearchWeaponPos(pEffect->pChar,&cAssaEffect[Assa]->Posi,1.0f);            
	cAssaEffect[Assa]->Size.w = 2000; 
	cAssaEffect[Assa]->Face.Transparency = 100;
	//cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_WINDY;
	//cAssaEffect[Assa]->Face.r = 255;
	//cAssaEffect[Assa]->Face.g = 150;
	//cAssaEffect[Assa]->Face.b = 0;

	//선형이미지 
	/*
	Assa = SetAssaEffect(40,"star06Y_04.bmp",0,&pEffect->Posi,0);      
	AssaSearchWeaponPos(pEffect->pChar,&cAssaEffect[Assa]->Posi,Temp);            
	cAssaEffect[Assa]->Size.w = GetRandomPos(1000,2000); 
	cAssaEffect[Assa]->Size.h = GetRandomPos(400,1000); 
	cAssaEffect[Assa]->FACEY  = GetRandomPos(0,4096);
	cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_WINDY;
	cAssaEffect[Assa]->Face.Transparency = 100;
	*/
	

	if((pEffect->Time % 3) == 0 )
		AssaParticle_RisingParticleContinue(&cAssaEffect[Assa]->Posi,"star01Y_02.bmp",300,128,GetRandomPos(20,80));
	//cAssaEffect[Assa]->Face.r = 255;
	//cAssaEffect[Assa]->Face.g = 150;
	//cAssaEffect[Assa]->Face.b = 0;

	return TRUE;
}
Beispiel #16
0
//执行
void COpPosition::Execute(CMoveShape* pShape)
{
    LONG x=0,y=0;
    LONG lDistance=0;
    list<POINT> listPos;
    CServerRegion* pRegion = dynamic_cast<CServerRegion*>(m_pParam->pUser->GetFather());


    if (m_refObj==Obj_Mouse)
    {
        x=m_pParam->nMouseX;
        y=m_pParam->nMouseY;
    }
    else if(m_pParam->pUser && pShape)
    {
        if (m_eDriect==DIREC_Front)
        {
            long lDistance = m_pParam->pUser->RealDistance(pShape);
            if (lDistance<0)
            {
                lDistance = 0;
            }
            GetLineFront(x,y,m_pParam->pUser->GetTileX(),m_pParam->pUser->GetTileY(),
                         pShape->GetTileX(),pShape->GetTileY(),lDistance);
        }
        else if (m_eDriect==DIRECT_Back)
        {
            GetLineBack(x,y,m_pParam->pUser->GetTileX(),m_pParam->pUser->GetTileY(),
                        pShape->GetTileX(),pShape->GetTileY(),pShape->GetFigure());
        }

    }


    if (x==0 && y==0)
        return;

    if( pRegion && m_refObj!=Obj_Mouse)
    {
        if( x > pRegion -> GetWidth() ||
                x < 0 ||
                y >= pRegion -> GetHeight() ||
                y < 0 ||
                pRegion -> GetBlock(x, y) != CRegion::BLOCK_NO)
        {
            GetRandomPos(pShape,x,y);
        }
    }
    if (m_Obj==Obj_Self)
    {
        pShape = m_pParam->pUser;
    }


    if (pShape && pShape->CanMove())
    {
        pShape->ProduceEvent(ET_Move);
        pShape->ProduceEvent(ET_EventBreak);
        if (m_ePosStyle==POS_SIMPLE)
        {
            pShape->SetPosition(x,y);
        }
        else if (m_ePosStyle==POS_SLIP)
        {
            pShape->SetSlipPos(x,y,m_fSpeed,m_pParam->pUser->GetDirEx());

#ifdef _SKILL_INFO_D_
            Log4c::Trace(SKILL_MODULE, "位移坐标x:%d,y:%d,目标坐标:x:%d,y:%d\n",x,y,m_pParam->pMouseShape->GetTileX(),m_pParam->pMouseShape->GetTileY());
#endif
        }

    }

}
Beispiel #17
0
int AssaParticle_SpecialHit2(POINT3D *pPosi , int Time) //현제 Brandish에서 사용
{
	
	//선  
	for(int i = 0 ; i < 6 ; i++){                                                      
		Assa = SetAssaEffect(50,"flare.tga",0,pPosi,0);      
		cAssaEffect[Assa]->Size.w = GetRandomPos(10000,20000); 
		cAssaEffect[Assa]->Size.h = GetRandomPos(500,1200); 
		cAssaEffect[Assa]->FACEY  = GetRandomPos(0,4096);
		cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_SPECIAL_HIT;
		cAssaEffect[Assa]->NotFadeIn = 1;
		cAssaEffect[Assa]->ZposiFlag = 1;
		cAssaEffect[Assa]->ActionIndex[0] = 1;
		cAssaEffect[Assa]->Face.r = 255;
		cAssaEffect[Assa]->Face.g = 150;
		cAssaEffect[Assa]->Face.b = 0;
		cAssaEffect[Assa]->Time = -5*i+Time;


	}	
	//선 2
	for(int i = 0 ; i < 6 ; i++){                   
		Assa = SetAssaEffect(50,"flare.tga",0,pPosi,0);      
		cAssaEffect[Assa]->Size.w = GetRandomPos(15000,25000);
		cAssaEffect[Assa]->Size.h = GetRandomPos(500,1200); 
		cAssaEffect[Assa]->FACEY  = GetRandomPos(0,4096);
		cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_SPECIAL_HIT;
		cAssaEffect[Assa]->NotFadeIn = 1;
		cAssaEffect[Assa]->ActionIndex[0] = 1;
		cAssaEffect[Assa]->Face.r = 255;
		cAssaEffect[Assa]->Face.g = 200;
		cAssaEffect[Assa]->Face.b = 50;
		cAssaEffect[Assa]->Time = -5*i+Time;
		cAssaEffect[Assa]->ZposiFlag = 1;

		
	}	

	//면 
	for(int i = 0 ; i < 2 ; i++){                    
		Assa = SetAssaEffect(70,"water2.tga",0,pPosi,1500);      
		cAssaEffect[Assa]->Size.w = GetRandomPos(20000,10001);
		cAssaEffect[Assa]->FACEY  = GetRandomPos(0,4096);
		cAssaEffect[Assa]->ActionIndex[1] = 1;
		cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_SPECIAL_HIT;
		cAssaEffect[Assa]->Face.r = 255;
		cAssaEffect[Assa]->Face.g = 150;
		cAssaEffect[Assa]->Face.b = 0;
		cAssaEffect[Assa]->Time = (i*-10)+Time;
		cAssaEffect[Assa]->FACE_TYPE  = ASSAFACE_WORLD;
		//cAssaEffect[Assa]->ZposiFlag = 1;

	}	
	
	//면 2
	for(int i = 0 ; i < 1 ; i++){                      
		Assa = SetAssaEffect(60,"Light01.tga",0,pPosi,1500);       
		cAssaEffect[Assa]->Size.w = GetRandomPos(20000,10001);
		cAssaEffect[Assa]->FACEY  = GetRandomPos(0,4096);
		cAssaEffect[Assa]->ActionIndex[3] = 1;
		cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_SPECIAL_HIT;
		cAssaEffect[Assa]->Face.r = 255;
		cAssaEffect[Assa]->Face.g = 200;
		cAssaEffect[Assa]->Face.b = 50;
		cAssaEffect[Assa]->FACE_TYPE  = ASSAFACE_WORLD;
		//cAssaEffect[Assa]->ZposiFlag = 1;
		cAssaEffect[Assa]->Time = Time;

	}	

	//파티클  
	for(int i = 0 ; i < 30 ; i++){        
		Assa = SetAssaEffect(100,"flare.tga",0,pPosi,0);       
		cAssaEffect[Assa]->Size.w = GetRandomPos(500,1300);
		cAssaEffect[Assa]->NotFadeIn = 1;
		cAssaEffect[Assa]->Face.r = 255;
		cAssaEffect[Assa]->Face.g = 150;
		cAssaEffect[Assa]->Face.b = 0;
		cAssaEffect[Assa]->MOVECODE = ASSA_MOVE_ANGLE_SPEED;
		cAssaEffect[Assa]->MoveSpeed.z = GetRandomPos(256,256*2);
		cAssaEffect[Assa]->ActionIndex[2] =1;
		cAssaEffect[Assa]->Time = GetRandomPos(-20,0)+Time;
		cAssaEffect[Assa]->Gravity = 50;
		cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_SPECIAL_HIT;
		cAssaEffect[Assa]->ZposiFlag = 1;
	}	

	for(int i = 0 ; i < 30 ; i++){         
		Assa = SetAssaEffect(100,"flare.tga",0,pPosi,0);       
		cAssaEffect[Assa]->Size.w = GetRandomPos(500,1300);
		cAssaEffect[Assa]->NotFadeIn = 1;
		cAssaEffect[Assa]->Face.r = 255;
		cAssaEffect[Assa]->Face.g = 200;
		cAssaEffect[Assa]->Face.b = 50;
		cAssaEffect[Assa]->MOVECODE = ASSA_MOVE_ANGLE_SPEED;
		cAssaEffect[Assa]->MoveSpeed.z = GetRandomPos(256,256*2);
		cAssaEffect[Assa]->ActionIndex[2] =1;
		cAssaEffect[Assa]->Time = GetRandomPos(-20,0)+Time;
		cAssaEffect[Assa]->Gravity = 50;
		cAssaEffect[Assa]->CODE   = ASSA_PARTICLE_SPECIAL_HIT;
		cAssaEffect[Assa]->ZposiFlag = 1;
	}	


	return TRUE;
}