543 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			543 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// sub state
							 | 
						||
| 
								 | 
							
								//S_FASTMOVE_PLAY <- 0
							 | 
						||
| 
								 | 
							
								//S_FASTMOVE_LOOP <- 1
							 | 
						||
| 
								 | 
							
								//S_FASTMOVE_PRO <- 2
							 | 
						||
| 
								 | 
							
								//S_FASTMOVE_END <- 3
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// sub state
							 | 
						||
| 
								 | 
							
								S_AWAKENING_0 <- 0
							 | 
						||
| 
								 | 
							
								S_AWAKENING_1 <- 1
							 | 
						||
| 
								 | 
							
								S_AWAKENING_2 <- 2
							 | 
						||
| 
								 | 
							
								S_AWAKENING_3 <- 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 蝶鹧? 等桧颤 樯策蝶
							 | 
						||
| 
								 | 
							
								FM_SI_C_TIME <- 0  // ?瞪 ? 体陈桧 谏瞪 当撩肾朝 卫除
							 | 
						||
| 
								 | 
							
								FM_SI_MULTI_HIT_COUNT <- 1 // 棻钦?? 除问
							 | 
						||
| 
								 | 
							
								FM_SI_MOVE_VEL <- 2 // 体陈 桧翕楼紫
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 溯涟樯? 樯策蝶
							 | 
						||
| 
								 | 
							
								FM_LI_HIT_RATE <- 0 // 体陈 ?? 等嘐虽(%)
							 | 
						||
| 
								 | 
							
								FM_LI_MOVE_LEN <- 1 // 桧翕剪葬 (px)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								VECTOR_I_SRC_X <- 0 // 卫蒙虽薄击 荡潍? 漱搅 樯策蝶
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 蝶鉴 撮睡嫦翕 亵勒击 虏菟横舆朝 ?热殓栖棻.. 嫦翕 亵勒 state朝 桧嘐 模蝶缣怃 掘?肾横 毡蝗栖棻. 桧够缣怃 useskill娄 setstate蒂 虽姜?舆贼 腌栖棻.
							 | 
						||
| 
								 | 
							
								function checkExecutableSkill_Awakening(obj)  
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return false;
							 | 
						||
| 
								 | 
							
									local b_useskill = obj.sq_IsUseSkill(SKILL_AVENGER_AWAKENING);
							 | 
						||
| 
								 | 
							
									if(b_useskill) {
							 | 
						||
| 
								 | 
							
										//print("\n sq_getSendState:" + obj.sq_getSendState()); // 罹晦怃 -1桧 嬴栖塭贼 蝶鉴桧 壅?啪 腌栖棻..
							 | 
						||
| 
								 | 
							
										//
							 | 
						||
| 
								 | 
							
										//if(obj.sq_getSendState() != -1) {
							 | 
						||
| 
								 | 
							
											//print("\n warning warning skill skip :" + obj.sq_getSendState()); // 罹晦怃 -1桧 嬴栖塭贼 蝶鉴桧 壅?啪 腌栖棻..
							 | 
						||
| 
								 | 
							
											//print("\n warning warning skill skip :" + obj.sq_getSendState()); // 罹晦怃 -1桧 嬴栖塭贼 蝶鉴桧 壅?啪 腌栖棻..
							 | 
						||
| 
								 | 
							
											//print("\n warning warning skill skip :" + obj.sq_getSendState()); // 罹晦怃 -1桧 嬴栖塭贼 蝶鉴桧 壅?啪 腌栖棻..
							 | 
						||
| 
								 | 
							
										//}
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										obj.sq_IntVectClear();
							 | 
						||
| 
								 | 
							
										obj.sq_IntVectPush(S_AWAKENING_0); // substate撮?
							 | 
						||
| 
								 | 
							
										obj.sq_addSetStatePacket(STATE_AVENGER_AWAKENING, STATE_PRIORITY_USER, true);
							 | 
						||
| 
								 | 
							
										return true;
							 | 
						||
| 
								 | 
							
									}	
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									return false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 蝶鉴嬴桧夔 ?撩? 亵勒击 评虽朝 ?热殓栖棻. true蒂 葬欐?贼 蝶鉴 嬴桧夔桧 ?撩?陛 腌栖棻. (嫦翕亵勒 state朝  模蝶缣怃 籀葬腌栖棻.)
							 | 
						||
| 
								 | 
							
								function checkCommandEnable_Awakening(obj)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return false;
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if(obj.getVar("takingAwakenSkillBack").size_vector() == 0) {
							 | 
						||
| 
								 | 
							
										obj.getVar("takingAwakenSkillBack").push_vector(0);
							 | 
						||
| 
								 | 
							
										obj.getVar("takingAwakenSkillBack").push_vector(0);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local var_takingAwakenSkillBack = obj.getVar("takingAwakenSkillBack").get_vector(0);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local bRet = false;
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if(!var_takingAwakenSkillBack)
							 | 
						||
| 
								 | 
							
										bRet = true;
							 | 
						||
| 
								 | 
							
									else {
							 | 
						||
| 
								 | 
							
										obj.getVar("takingAwakenSkillBack").set_vector(0, 0);
							 | 
						||
| 
								 | 
							
										bRet = false;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									return bRet;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻. 
							 | 
						||
| 
								 | 
							
								function onSetState_Awakening(obj, state, datas, isResetTimer)
							 | 
						||
| 
								 | 
							
								{	
							 | 
						||
| 
								 | 
							
									if(!obj) return;
							 | 
						||
| 
								 | 
							
									local substate = obj.sq_getVectorData(datas, 0); // 罗廓箪 substate殓栖棻..	
							 | 
						||
| 
								 | 
							
									obj.setSkillSubState(substate); //set substate
							 | 
						||
| 
								 | 
							
									obj.sq_stopMove();	
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local posX = obj.getXPos();
							 | 
						||
| 
								 | 
							
									local posY = obj.getYPos();
							 | 
						||
| 
								 | 
							
									local posZ = obj.getZPos();
							 | 
						||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local skill_level = sq_GetSkillLevel(obj, SKILL_AVENGER_AWAKENING);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								   	obj.sq_setCurrentAttackInfo(CUSTOM_ATTACKINFO_FASTMOVE);
							 | 
						||
| 
								 | 
							
								   	
							 | 
						||
| 
								 | 
							
									//local attack_rate = obj.sq_getSkillAttackBonusRate(SKILL_SPINCUTTER, FM_LI_HIT_RATE);    		
							 | 
						||
| 
								 | 
							
									//obj.sq_setCurrentAttackBonusRate(attack_rate);
							 | 
						||
| 
								 | 
							
								   	//
							 | 
						||
| 
								 | 
							
								    if(substate == S_AWAKENING_0) {
							 | 
						||
| 
								 | 
							
										//local time = obj.sq_getIntData(SKILL_AVENGER_AWAKENING, FM_SI_C_TIME);
							 | 
						||
| 
								 | 
							
										//obj.sq_var.push_vector(time);
							 | 
						||
| 
								 | 
							
										//obj.sq_var.push_vector(0);
							 | 
						||
| 
								 | 
							
										sq_var.clear_vector();
							 | 
						||
| 
								 | 
							
										sq_var.clear_obj_vector();
							 | 
						||
| 
								 | 
							
										sq_var.clear_ani_vector();
							 | 
						||
| 
								 | 
							
										sq_var.push_vector(0);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										obj.sq_setCurrentAnimation(CUSTOM_ANI_AVENGER_AWAKENING1);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_1) {
							 | 
						||
| 
								 | 
							
										//.func(&CSQStateVar::clear_ani_vector, NTEXT("clear_ani_vector"))
							 | 
						||
| 
								 | 
							
										//.func(&CSQStateVar::push_ani_vector, NTEXT("push_ani_vector"))
							 | 
						||
| 
								 | 
							
										//local bodyN = obj.sq_var.GetAnimationMap("2_body_normal","Effect/Animation/Awakening/Transform/01/2_body_normal.ani");
							 | 
						||
| 
								 | 
							
										local p_body_normal_ani = obj.sq_createCNRDAnimation("Effect/Animation/Awakening/Transform/01/2_body_normal.ani");
							 | 
						||
| 
								 | 
							
										sq_var.push_ani_vector(p_body_normal_ani);
							 | 
						||
| 
								 | 
							
										sq_var.push_vector(0);
							 | 
						||
| 
								 | 
							
										obj.sq_setCurrentAnimation(CUSTOM_ANI_AVENGER_AWAKENING2);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_2) {
							 | 
						||
| 
								 | 
							
										local dstZ = sq_var.get_vector(0);
							 | 
						||
| 
								 | 
							
										obj.setCurrentPos(posX, posY, dstZ);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										obj.sq_setCurrentAnimation(CUSTOM_ANI_AVENGER_AWAKENING3);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 横?蛤虽 煎注 map戏煎 ?卫 skill?橾缣怃 卫除 晦颤蛔蛔 姜尔 殓溘
							 | 
						||
| 
								 | 
							
										//
							 | 
						||
| 
								 | 
							
										local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_AVENGER_AWAKENING, false, "Appendage/Character/ap_avenger_awakening.nut", false);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										local change_time = sq_GetLevelData(obj, SKILL_AVENGER_AWAKENING, SL_CHANGE_TIME, skill_level);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										appendage.sq_SetValidTime(change_time); // 横?蛤虽 颤歜 撮?
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 帼? UI 轿溘 横?萄蒂 勘横舆晦 瞪缣 ?轿肾横捡 ?栖棻..
							 | 
						||
| 
								 | 
							
										appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_AVENGER_AWAKENING, skill_level);
							 | 
						||
| 
								 | 
							
										//
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 罹晦怃 append 蒙机		
							 | 
						||
| 
								 | 
							
										CNSquirrelAppendage.sq_Append(appendage, obj, obj);
							 | 
						||
| 
								 | 
							
										//		
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// Awakening.skl 蝶鉴溯涟 才桧绾
							 | 
						||
| 
								 | 
							
										//SL_PERFECT_CHANGE_HP <- 0 // (0) 谏瞪 渗褐羹 HP 
							 | 
						||
| 
								 | 
							
										//SL_CHANGE_TIME <- 1 // (1) 虽楼卫除 
							 | 
						||
| 
								 | 
							
										//SL_DEF_INC <- 2 // (2) 寞横溘隶陛(+)
							 | 
						||
| 
								 | 
							
										//SL_ATK_SPD <- 3 // (3) 奢问楼紫(+)
							 | 
						||
| 
								 | 
							
										//SL_MOV_SPD <- 4 // (4) 桧翕楼紫(+)
							 | 
						||
| 
								 | 
							
										//SL_1_HIT_MAGIC_ATK <- 5 // (5) 1颤 葆彻奢问溘(+)
							 | 
						||
| 
								 | 
							
										//SL_2_HIT_MAGIC_ATK <- 6 // (6) 2颤 葆彻奢问溘(+)
							 | 
						||
| 
								 | 
							
										//SL_3_HIT_MAGIC_ATK <- 7 // (7) 3颤 葆彻奢问溘(+)
							 | 
						||
| 
								 | 
							
										//SL_DASH_MAGIC_ATK <- 8 // (8) 渠卫 葆彻奢问溘(+)
							 | 
						||
| 
								 | 
							
										//SL_JUMP_MAGIC_ATK <- 9 // (9) C(薄?) 葆彻奢问溘(+)		
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 奢楼隶陛, 檩楼撩 荡?隶陛, 赀楼撩 荡?马模
							 | 
						||
| 
								 | 
							
										if(appendage) {
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
											local dooms_hp = sq_GetLevelData(obj, SKILL_AVENGER_AWAKENING, SL_PERFECT_CHANGE_HP, skill_level);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local def_inc = sq_GetLevelData(obj, SKILL_AVENGER_AWAKENING, SL_DEF_INC, skill_level);
							 | 
						||
| 
								 | 
							
											local atk_spd = sq_GetLevelData(obj, SKILL_AVENGER_AWAKENING, SL_ATK_SPD, skill_level);
							 | 
						||
| 
								 | 
							
											local mov_spd = sq_GetLevelData(obj, SKILL_AVENGER_AWAKENING, SL_MOV_SPD, skill_level);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											// 帼? UI 轿溘
							 | 
						||
| 
								 | 
							
											appendage.setAppendCauseSkill(2, sq_getJob(obj), SKILL_AVENGER_AWAKENING, skill_level);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											//
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											appendage.sq_var.clear_vector();		
							 | 
						||
| 
								 | 
							
											appendage.sq_var.push_vector(change_time); // 虽楼卫除
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local awakening_var = obj.getVar("awakening");
							 | 
						||
| 
								 | 
							
											awakening_var.clear_ct_vector();
							 | 
						||
| 
								 | 
							
											awakening_var.push_ct_vector();
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											awakening_var.get_ct_vector(0).Reset();
							 | 
						||
| 
								 | 
							
											awakening_var.get_ct_vector(0).Start(0,0);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											if(awakening_var.size_vector() == 0) { // 颤桧该煎 噙橾 詹帼
							 | 
						||
| 
								 | 
							
												awakening_var.push_vector(0);
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
											else {
							 | 
						||
| 
								 | 
							
												awakening_var.set_vector(0, 0);
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
											// 菸蝶陛蛤树 hp撮?
							 | 
						||
| 
								 | 
							
											local convert_rate = sq_GetAbilityConvertRate(obj, CONVERT_TABLE_TYPE_HP)
							 | 
						||
| 
								 | 
							
											local dooms_con_hp = dooms_hp.tofloat() * convert_rate.tofloat();
							 | 
						||
| 
								 | 
							
											appendage.sq_var.push_vector(dooms_con_hp.tointeger()); // 谏瞪 渗褐羹 HP 
							 | 
						||
| 
								 | 
							
											///////		
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											appendage.sq_var.push_vector(1); // index 2 
							 | 
						||
| 
								 | 
							
											// 葬橡 寨葬萄 ?楚斜煎 噩 詹帼殓栖棻.. 谒 桧楛冲桧 腑傍贼.. 
							 | 
						||
| 
								 | 
							
											// 横渐荡陛 state_stand鼻鹧缣怃虏 渗褐?薯陛 肾横捡 ?栖棻 
							 | 
						||
| 
								 | 
							
											// 斜楚怃 valid陛 false陛 胀棻坚 ?怃 埠潍 渗褐?薯 腑棻坚 除舆?怃朝 寰腌栖棻 罹楝寞彻击 当陕?鱼 念娄 桧 寞彻桧 陛潍 梃莠?剪 伪嬴怃 殓栖棻.. 
							 | 
						||
| 
								 | 
							
											// 该 噙桧朝 够紫 桡戏栖梱
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local change_appendage = appendage.sq_getChangeStatus("changeStatus");
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											if(!change_appendage)
							 | 
						||
| 
								 | 
							
												change_appendage = appendage.sq_AddChangeStatus("changeStatus",obj, obj, change_time, CHANGE_STATUS_TYPE_ATTACK_SPEED, true, atk_spd);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											if(change_appendage) {
							 | 
						||
| 
								 | 
							
												change_appendage.clearParameter();
							 | 
						||
| 
								 | 
							
												change_appendage.addParameter(CHANGE_STATUS_TYPE_EQUIPMENT_PHYSICAL_DEFENSE, false, def_inc.tofloat());
							 | 
						||
| 
								 | 
							
												change_appendage.addParameter(CHANGE_STATUS_TYPE_EQUIPMENT_MAGICAL_DEFENSE, false, def_inc.tofloat());
							 | 
						||
| 
								 | 
							
												change_appendage.addParameter(CHANGE_STATUS_TYPE_ATTACK_SPEED, false, atk_spd.tofloat());
							 | 
						||
| 
								 | 
							
												change_appendage.addParameter(CHANGE_STATUS_TYPE_MOVE_SPEED, false, mov_spd.tofloat());
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											///////////////////////////////////////////////////////////////////
							 | 
						||
| 
								 | 
							
											// _C_2011_PASSIVE_SKILL_UPGRADE_OCTOBER_
							 | 
						||
| 
								 | 
							
											// 学葆? 渗唳 学葆?鼻鹧暧 hP蒂 濠褐暧 HP谛 奢嵘?紫烟 渗唳腌栖棻.
							 | 
						||
| 
								 | 
							
											local hpmaxup_appendage = appendage.sq_getHpMaxUp("HpMaxUp");
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											if(!hpmaxup_appendage)
							 | 
						||
| 
								 | 
							
												hpmaxup_appendage = appendage.sq_AddHpMaxUp("HpMaxUp",obj, obj, change_time, dooms_hp, 0);
							 | 
						||
| 
								 | 
							
											///////////////////////////////////////////////////////////////////
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										//appendage.sq_AddChangeStatus("2",obj, obj, 0, CHANGE_STATUS_TYPE_ELEMENT_TOLERANCE_DARK, false, dark_element);
							 | 
						||
| 
								 | 
							
										//appendage.sq_AddChangeStatus("3",obj, obj, 0, CHANGE_STATUS_TYPE_ELEMENT_TOLERANCE_LIGHT, false, light_element);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// 罹晦缣怃 渗褐 翕蒙 拥栖诡桧暮 煎注 map戏煎 ?卫
							 | 
						||
| 
								 | 
							
										//
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										//obj.sq_var.push_vector(posX); // 漱搅 樯策蝶 1
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_3) {
							 | 
						||
| 
								 | 
							
										obj.getVar().clear_vector();
							 | 
						||
| 
								 | 
							
								    	obj.getVar().push_vector(posZ); // 漱搅 樯策蝶 1
							 | 
						||
| 
								 | 
							
								    	obj.getVar().push_vector(0); // 虽霞 ?楚斜
							 | 
						||
| 
								 | 
							
								    	obj.getVar().set_vector(1, 0);
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
								    	obj.getVar().get_vector(0); // 漱搅 樯策蝶 1    	
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
										//DWORD rgb = obj.sq_getRGB(0,0,0);
							 | 
						||
| 
								 | 
							
										obj.sq_bottomcreateFlash(0, 240, 280, 150, 0);
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
										//obj.sq_setCurrentAnimation(CUSTOM_ANI_AVENGER_AWAKENING4);
							 | 
						||
| 
								 | 
							
										local awakening_ani = obj.getVar().GetAnimationMap("Awakening4", "Character/Priest/Animation/Awakening4.ani"); // 蝶监嬴夥颤 阳侥缣 谖睡缣怃 拥栖诡桧暮击 陛虽坚 谛捡 ?栖棻..
							 | 
						||
| 
								 | 
							
										obj.setCurrentAnimation(awakening_ani);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 掘?..蛔烟
							 | 
						||
| 
								 | 
							
										local ch_ld_0_ani = obj.sq_createCNRDAnimation("Effect/Animation/Awakening/Transform/03/1_change_light_dodge_00.ani"); // 掘? ?董?桧塭怃 评煎 跷陛?丑捡?栖棻..		
							 | 
						||
| 
								 | 
							
										local p_change_light_obj = obj.sq_createCNRDPooledObject(ch_ld_0_ani, true);		
							 | 
						||
| 
								 | 
							
										if(p_change_light_obj) {
							 | 
						||
| 
								 | 
							
											// 15 -2 75
							 | 
						||
| 
								 | 
							
											local dstX = sq_GetDistancePos(posX, obj.getDirection(), 15);
							 | 
						||
| 
								 | 
							
											p_change_light_obj.setCurrentPos(dstX, posY - 2, posZ + 75);
							 | 
						||
| 
								 | 
							
											obj.sq_AddObject(p_change_light_obj);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 9溯涟 桧鼻桧贼	
							 | 
						||
| 
								 | 
							
										if(obj.isOverSkillLevel(SKILL_AVENGER_AWAKENING, 4))
							 | 
						||
| 
								 | 
							
										{
							 | 
						||
| 
								 | 
							
											obj.endSkillCoolTime(SKILL_PANDEMONIUM_EX);
							 | 
						||
| 
								 | 
							
											obj.endSkillCoolTime(SKILL_EX_DISASTER);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// prepareDraw ?热 殓栖棻..
							 | 
						||
| 
								 | 
							
								function prepareDraw_Awakening(obj)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// loop 睡碟殓栖棻 ismycontrol煎 马谆虽 强擎 翱念胀 赅苌 object菟桧 桧够击 剪纂啪腌栖棻.
							 | 
						||
| 
								 | 
							
								function onProc_Awakening(obj)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return;
							 | 
						||
| 
								 | 
							
									local substate = obj.getSkillSubState();
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local posX = obj.getXPos();
							 | 
						||
| 
								 | 
							
									local posY = obj.getYPos();
							 | 
						||
| 
								 | 
							
									local posZ = obj.getZPos();
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local pAni = obj.sq_getCurrentAni();
							 | 
						||
| 
								 | 
							
								    local frmIndex = obj.sq_ani_GetCurrentFrameIndex(pAni);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									local currentT = sq_GetCurrentTime(pAni);
							 | 
						||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								//S_AWAKENING_0 <- 0
							 | 
						||
| 
								 | 
							
								//S_AWAKENING_1 <- 1
							 | 
						||
| 
								 | 
							
								//S_AWAKENING_2 <- 2
							 | 
						||
| 
								 | 
							
								//S_AWAKENING_3 <- 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									//print("substate:" + substate);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								    if(substate == S_AWAKENING_0) {		
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_1) {
							 | 
						||
| 
								 | 
							
								    	//local time = obj.sq_getIntData(SKILL_AVENGER_AWAKENING, FM_SI_C_TIME); // 体陈桧 谏瞪 当撩肾朝 卫除..
							 | 
						||
| 
								 | 
							
								    	//local time = 1600; // 体陈桧 谏瞪 当撩肾朝 卫除..
							 | 
						||
| 
								 | 
							
								    	local time = 1200; // 体陈桧 谏瞪 当撩肾朝 卫除..
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
								    	local up_t = time;
							 | 
						||
| 
								 | 
							
								    	local up_l = 40;
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
								    	local move_l = 0;
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
										move_l = sq_GetAccel(0, up_l, currentT, up_t, true);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   		obj.setCurrentPos(posX, posY, move_l);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								    	if(move_l >= up_l) {
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
											local body_n_ani = sq_var.get_ani_vector(0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
									   		local b_body_n = sq_var.get_vector(1); //
							 | 
						||
| 
								 | 
							
									   		//// 虏擒缣 ?娄陛 跷陛肾横 毡虽 强懊棻贼..			
							 | 
						||
| 
								 | 
							
									   		if(!b_body_n) {
							 | 
						||
| 
								 | 
							
												pAni.addLayerAnimation(10010, body_n_ani, true);
							 | 
						||
| 
								 | 
							
												sq_var.set_vector(1, 1);
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local bEnd = sq_IsEnd(body_n_ani);
							 | 
						||
| 
								 | 
							
											local index_bodyani = obj.sq_ani_GetCurrentFrameIndex(body_n_ani);
							 | 
						||
| 
								 | 
							
											local body_currentT = sq_GetCurrentTime(body_n_ani);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										    //print("proc substate:" + substate + "  index_bodyani:" + index_bodyani + " b_body_n:" + b_body_n);
							 | 
						||
| 
								 | 
							
										    
							 | 
						||
| 
								 | 
							
											if(bEnd == true) {    	
							 | 
						||
| 
								 | 
							
												local backlight_dodge_obj = pAni.getLastAlsObject();
							 | 
						||
| 
								 | 
							
												//print("backlight_dodge_obj:" + backlight_dodge_obj);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
												
							 | 
						||
| 
								 | 
							
												//if(backlight_dodge_obj) {
							 | 
						||
| 
								 | 
							
														//print("setValid:" + backlight_dodge_objj);
							 | 
						||
| 
								 | 
							
														//backlight_dodge_obj.setValid(false);
							 | 
						||
| 
								 | 
							
												//}
							 | 
						||
| 
								 | 
							
									    	
							 | 
						||
| 
								 | 
							
												sq_var.set_vector(0, move_l); // 葆虽虞 ?溯歜暧 堪桧蒂 ?卫?棻..
							 | 
						||
| 
								 | 
							
																
							 | 
						||
| 
								 | 
							
												if(obj.isMyControlObject()) {
							 | 
						||
| 
								 | 
							
													//obj.sq_IntVectClear();
							 | 
						||
| 
								 | 
							
													//obj.sq_IntVectPush(S_AWAKENING_2);
							 | 
						||
| 
								 | 
							
													//obj.sq_addSetStatePacket(STATE_AVENGER_AWAKENING, STATE_PRIORITY_USER, true);
							 | 
						||
| 
								 | 
							
													//local backlight_dodge = obj.sq_getAutoLayerWorkAnimation(pAni, "1_e_bl_d");
							 | 
						||
| 
								 | 
							
														//pAni.removeLayerAnimation(backlight_dodge);
							 | 
						||
| 
								 | 
							
														
							 | 
						||
| 
								 | 
							
													
							 | 
						||
| 
								 | 
							
													obj.sq_IntVectClear();
							 | 
						||
| 
								 | 
							
													obj.sq_IntVectPush(S_AWAKENING_2);
							 | 
						||
| 
								 | 
							
													obj.sq_addSetStatePacket(STATE_AVENGER_AWAKENING, STATE_PRIORITY_USER, true);
							 | 
						||
| 
								 | 
							
													//obj.sq_addSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);					
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else {
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
											if(move_l >= (up_l - 10)) {
							 | 
						||
| 
								 | 
							
										   		local b_body_n = sq_var.get_vector(1); //
							 | 
						||
| 
								 | 
							
										   		if(!b_body_n) {
							 | 
						||
| 
								 | 
							
													//local bodyN = sq_var.GetAnimationMap("2_body_normal","Effect/Animation/Awakening/Transform/01/2_body_normal.ani");
							 | 
						||
| 
								 | 
							
													local body_n_ani = sq_var.get_ani_vector(0);
							 | 
						||
| 
								 | 
							
													pAni.addLayerAnimation(10010, body_n_ani, true);
							 | 
						||
| 
								 | 
							
													sq_var.set_vector(1, 1);
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
								    		//pAni.addLayerAnimation()
							 | 
						||
| 
								 | 
							
								    		//addLayerAnimation(
							 | 
						||
| 
								 | 
							
								    	}
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_2) {
							 | 
						||
| 
								 | 
							
										local dstZ = sq_var.get_vector(0);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								    	local up_t = pAni.getDelaySum(false); //
							 | 
						||
| 
								 | 
							
								    	local up_l = 3;
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
								    	local move_l = 0;
							 | 
						||
| 
								 | 
							
								    	
							 | 
						||
| 
								 | 
							
										move_l = sq_GetAccel(0, up_l, currentT, up_t, false);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   		obj.setCurrentPos(posX, posY, dstZ + move_l);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_3) {  // 渗褐桧 胀 鼻鹧..	
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										local fIndex = 2;
							 | 
						||
| 
								 | 
							
										local delay = pAni.getDelaySum(0, fIndex); //
							 | 
						||
| 
								 | 
							
										local down_t = 120; // 
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										if(frmIndex > fIndex && (delay + down_t) >= currentT) {
							 | 
						||
| 
								 | 
							
											local dstZ = obj.getVar().get_vector(0);
							 | 
						||
| 
								 | 
							
								    		//local down_t = 180; // 
							 | 
						||
| 
								 | 
							
								    		local move_l = 0;
							 | 
						||
| 
								 | 
							
								    		
							 | 
						||
| 
								 | 
							
								    		
							 | 
						||
| 
								 | 
							
									    	
							 | 
						||
| 
								 | 
							
											move_l = sq_GetAccel(dstZ, 0, currentT - delay, down_t, false);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local t = currentT - delay;
							 | 
						||
| 
								 | 
							
								    		
							 | 
						||
| 
								 | 
							
								   			obj.setCurrentPos(posX, posY, move_l);
							 | 
						||
| 
								 | 
							
								   		}
							 | 
						||
| 
								 | 
							
								   		else if(frmIndex <= fIndex) {
							 | 
						||
| 
								 | 
							
											local dstZ = obj.getVar().get_vector(0);
							 | 
						||
| 
								 | 
							
								   			obj.setCurrentPos(posX, posY, dstZ);   			
							 | 
						||
| 
								 | 
							
								   		}
							 | 
						||
| 
								 | 
							
								   			
							 | 
						||
| 
								 | 
							
										if(obj.getVar().get_vector(1) == 0 && obj.getZPos() == 0 && (delay + down_t) < currentT) { // 虽霞 ?楚斜
							 | 
						||
| 
								 | 
							
											//sq_SetMyShake(obj,4,1000);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
								 			
							 | 
						||
| 
								 | 
							
											obj.sq_setShake(obj, 2, 500);			
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											// 醱问? 嫦当			
							 | 
						||
| 
								 | 
							
											local p_shockwave_ani = obj.sq_createCNRDAnimation("Effect/Animation/Awakening/Transform/03/sub_dodge.ani");
							 | 
						||
| 
								 | 
							
											local p_obj_1 = obj.sq_createCNRDPooledObject(p_shockwave_ani, true);			
							 | 
						||
| 
								 | 
							
											p_obj_1.setCurrentDirection(obj.getDirection());
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local v = 25;
							 | 
						||
| 
								 | 
							
											local dstX = sq_GetDistancePos(posX, obj.getDirection(), v);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											p_obj_1.setCurrentPos(dstX, posY - 1, 0);
							 | 
						||
| 
								 | 
							
											obj.sq_AddObject(p_obj_1);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											local p_shock_ani = obj.sq_createCNRDAnimation("Effect/Animation/Awakening/Transform/03/5_crack_normal.ani");
							 | 
						||
| 
								 | 
							
											local p_obj_2 = obj.sq_createCNRDPooledObject(p_shock_ani, true);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											p_obj_2.setCurrentDirection(obj.getDirection());
							 | 
						||
| 
								 | 
							
											p_obj_2.setCurrentPos(posX, posY + 1, 0);
							 | 
						||
| 
								 | 
							
											obj.sq_AddObject(p_obj_2);
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
											obj.getVar().set_vector(1, 1);				
							 | 
						||
| 
								 | 
							
										} 		
							 | 
						||
| 
								 | 
							
								   		
							 | 
						||
| 
								 | 
							
								   		
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// loop 睡碟殓栖棻 ismycontrol ?蝶?陛 狱樯桧 object陛 桧够击 菟横骨栖棻. setstate 撮?桧釭 ?卫粽螃粽薛? 当撩 , 蛔蛔 籀葬?栖棻.
							 | 
						||
| 
								 | 
							
								function onProcCon_Awakening(obj)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return;
							 | 
						||
| 
								 | 
							
									local pAni = obj.sq_getCurrentAni();
							 | 
						||
| 
								 | 
							
									local bEnd = obj.sq_ani_IsEnd(pAni);
							 | 
						||
| 
								 | 
							
								    local frmIndex = obj.sq_ani_GetCurrentFrameIndex(pAni);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								    local substate = obj.getSkillSubState();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if(substate == S_AWAKENING_0) {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_1) {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_2) {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else if(substate == S_AWAKENING_3) {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if(obj.getVar("takingAwakenSkillBack").size_vector() > 0) {	
							 | 
						||
| 
								 | 
							
										if(obj.getVar("takingAwakenSkillBack").get_vector(0)) {		
							 | 
						||
| 
								 | 
							
											obj.sq_IntVectClear();
							 | 
						||
| 
								 | 
							
											obj.sq_IntVectPush(0); // substate撮?
							 | 
						||
| 
								 | 
							
											obj.sq_addSetStatePacket(STATE_AWAKENING_TURN_OFF, STATE_PRIORITY_IGNORE_FORCE, true);
							 | 
						||
| 
								 | 
							
											return;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
									if(bEnd) {
							 | 
						||
| 
								 | 
							
										if(substate == S_AWAKENING_0) {
							 | 
						||
| 
								 | 
							
											obj.sq_IntVectClear();
							 | 
						||
| 
								 | 
							
											obj.sq_IntVectPush(S_AWAKENING_1);
							 | 
						||
| 
								 | 
							
											obj.sq_addSetStatePacket(STATE_AVENGER_AWAKENING, STATE_PRIORITY_USER, true);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else if(substate == S_AWAKENING_1) {
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else if(substate == S_AWAKENING_2) {
							 | 
						||
| 
								 | 
							
											//obj.sq_addSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
							 | 
						||
| 
								 | 
							
											obj.sq_IntVectClear();
							 | 
						||
| 
								 | 
							
											obj.sq_IntVectPush(S_AWAKENING_3);
							 | 
						||
| 
								 | 
							
											obj.sq_addSetStatePacket(STATE_AVENGER_AWAKENING, STATE_PRIORITY_USER, true);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										else if(substate == S_AWAKENING_3) {
							 | 
						||
| 
								 | 
							
											obj.sq_addSetStatePacket(STATE_STAND, STATE_PRIORITY_USER, false);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// irdcharacter缣怃  setstate() -> IRDActiveObject::setState -> aftersetstate() 桧楛牖怃缣怃 葆虽虞 setstate殓栖棻. skill?撩缣 评塭怃 ?轿? ?蹂陛 
							 | 
						||
| 
								 | 
							
								// 毡棻贼 桧 ?热蒂 桧辨?栖棻.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function onAfterSetState_Awakening(obj, state, datas, isResetTimer)
							 | 
						||
| 
								 | 
							
								{	
							 | 
						||
| 
								 | 
							
									if(!obj) return;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// onbeforeattack 属寥?热 殓栖棻
							 | 
						||
| 
								 | 
							
								function onBeforeAttack_Awakening(obj, damager, boundingBox)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// onAttack 属寥?热 殓栖棻
							 | 
						||
| 
								 | 
							
								function onAttack_Awakening(obj, damager, boundingBox)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// onAfterAttack 属寥?热 殓栖棻
							 | 
						||
| 
								 | 
							
								function onAfterAttack_Awakening(obj, damager, boundingBox)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// onBeforeDamage 属寥?热 殓栖棻
							 | 
						||
| 
								 | 
							
								function onBeforeDamage_Awakening(obj, attacker, boundingBox)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// onDamage 属寥?热 殓栖棻
							 | 
						||
| 
								 | 
							
								function onDamage_Awakening(obj, attacker, boundingBox)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// onAfterDamage 属寥?热 殓栖棻
							 | 
						||
| 
								 | 
							
								function onAfterDamage_Awakening(obj, attacker, boundingBox)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |