91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| PIECE_OF_ICE_CORE_STATE_STAY   <- 2;
 | ||
| PIECE_OF_ICE_CORE_STATE_DAMAGE <- 3;
 | ||
| PIECE_OF_ICE_CORE_STATE_END	   <- 4;
 | ||
| 
 | ||
| PIECE_OF_ICE_CORE_VAR_START_X <- 0;
 | ||
| PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME <- 1;
 | ||
| 
 | ||
| function setCustomData_po_ATPieceOfIceCore(obj, reciveData)
 | ||
| {
 | ||
| 	if(!obj) return;	
 | ||
| 	
 | ||
| 	local var = obj.getVar();		
 | ||
| 	local x = obj.getXPos();
 | ||
| 	var.setInt(PIECE_OF_ICE_CORE_VAR_START_X, x);
 | ||
| 	var.push_ct_vector();
 | ||
| 	local timer = var.get_ct_vector(0);
 | ||
| 	obj.sendStateOnlyPacket(PIECE_OF_ICE_CORE_STATE_STAY);
 | ||
| 	
 | ||
| 	var.setInt(PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME, 0); 		
 | ||
| }
 | ||
| 
 | ||
| function setState_po_ATPieceOfIceCore(obj, state, datas)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 		
 | ||
| 	if(state == PIECE_OF_ICE_CORE_STATE_DAMAGE)
 | ||
| 	{
 | ||
| 		local ani = obj.getCurrentAnimation();
 | ||
| 				
 | ||
| 		local var = obj.getVar();		
 | ||
| 		if(ani) {			
 | ||
| 			local currentIndex = sq_GetVectorData(datas, 0) + 3;
 | ||
| 			ani.setCurrentFrameWithChildLayer(currentIndex);
 | ||
| 		}		
 | ||
| 		local timer = var.get_ct_vector(0);
 | ||
| 		var.setInt(PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME, timer.Get() + 50); 
 | ||
| 		sq_SetMyShake(obj,2,80);
 | ||
| 	}	
 | ||
| 	else if(state == PIECE_OF_ICE_CORE_STATE_END)
 | ||
| 	{			
 | ||
| 		local ani = obj.getCurrentAnimation();			
 | ||
| 	
 | ||
| 		if(ani)	
 | ||
| 			ani.setCurrentFrameWithChildLayer(10); // 葆虽虞 ?溯歜
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| function procAppend_po_ATPieceOfIceCore(obj)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 	
 | ||
| 	local var = obj.getVar();	
 | ||
| 	local timer = var.get_ct_vector(0);			
 | ||
| 	
 | ||
| 	local shakeEndTime = var.getInt(PIECE_OF_ICE_CORE_VAR_SHAKE_END_TIME);
 | ||
| 	local shakeValue = 0;
 | ||
| 	if(timer.Get() < shakeEndTime && obj.getState() != PIECE_OF_ICE_CORE_STATE_END)
 | ||
| 		shakeValue = (sq_GetShuttleValue(0, 6,sq_GetObjectTime(obj),100)-3);
 | ||
| 		
 | ||
| 	local x = var.getInt(PIECE_OF_ICE_CORE_VAR_START_X) + shakeValue;
 | ||
| 	local y = obj.getYPos();
 | ||
| 	local z = sq_GetShuttleValue(55, 65,sq_GetObjectTime(obj),1200);
 | ||
| 
 | ||
| 	sq_SetCurrentPos(obj, x, y, z);
 | ||
| }
 | ||
| 
 | ||
| function onKeyFrameFlag_po_ATPieceOfIceCore(obj, flagIndex)
 | ||
| {
 | ||
| 	if(!obj)
 | ||
| 		return false;
 | ||
| 
 | ||
| 	if(flagIndex == 1)
 | ||
| 	{
 | ||
| 		sq_SetMyShake(obj,3,100);
 | ||
| 	}
 | ||
| 	if(flagIndex == 2)
 | ||
| 	{
 | ||
| 		obj.sendStateOnlyPacket(PIECE_OF_ICE_CORE_STATE_END);		
 | ||
| 	}
 | ||
| 	return true;	
 | ||
| }
 | ||
| 
 | ||
| function onEndCurrentAni_po_ATPieceOfIceCore(obj)
 | ||
| {
 | ||
| 	if(!obj) return;
 | ||
| 	
 | ||
| 	if(obj.isMyControlObject()) {
 | ||
| 		sq_SendDestroyPacketPassiveObject(obj);
 | ||
| 	}
 | ||
| }
 | ||
|  |