1942 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			1942 lines
		
	
	
		
			58 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								S_FLOW_NORMAL <- 0 // 晦狱掘亵渠煎
							 | 
						|||
| 
								 | 
							
								S_FLOW_PRIEST <- 1 // ?葬蝶? 薹戏煎 埠潍 绪螳捡?棻..
							 | 
						|||
| 
								 | 
							
								S_FLOW_RETURN <- 2 // 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 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(薄?) 葆彻奢问溘(+)
							 | 
						|||
| 
								 | 
							
								SL_JUMP_FULLCHARGE_MAGIC_ATK <- 10 // (10) ?醱瞪 C(薄?) 葆彻奢问溘(+)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 
							 | 
						|||
| 
								 | 
							
								// DevilStrike.skl 蝶鉴溯涟 才桧绾
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK1_GAUGE_COMSUME <- 0 // 0.z郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK2_GAUGE_COMSUME <- 1 // 1.x郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK3_GAUGE_COMSUME <- 2 // 2.c郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK1_ATTACK_RATE <- 3 // 3.z郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK2_ATTACK_RATE <- 4 // 4.x郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK3_ATTACK_RATE <- 5 // 5.c郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// DevilStrike.skl 蝶鉴溯涟 才桧绾
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK1_GAUGE_COMSUME <- 0 // 0.z郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK2_GAUGE_COMSUME <- 1 // 1.x郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK3_GAUGE_COMSUME <- 2 // 2.c郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK1_ATTACK_RATE <- 3 // 3.z郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK2_ATTACK_RATE <- 4 // 4.x郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
								SL_DS_ATTACK3_ATTACK_RATE <- 5 // 5.c郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 等网蝶?塭桧醴 樯策蝶
							 | 
						|||
| 
								 | 
							
								DEVILSTRIKE_ATTACK_1 <- 0
							 | 
						|||
| 
								 | 
							
								DEVILSTRIKE_ATTACK_2 <- 1
							 | 
						|||
| 
								 | 
							
								DEVILSTRIKE_ATTACK_3 <- 2
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 等网蝶?塭桧醴 横?蛤虽 VECTOR 樯策蝶 
							 | 
						|||
| 
								 | 
							
								DS_APEND_MAX_GAUGE <- 0 // 譆渠 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
								DS_APEND_GAUGE <- 1 // ?营 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
								DS_APEND_LAST_GAUGE <- 2 // 虽陪 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
								DS_APEND_ADD_FLAG <- 3 // using state 等网蝶?塭桧醴朝 蝶鉴 ?廓渡 ?廓虏 醱瞪桧 肾晦 阳侥缣 羹觼?楚斜蒂 虏菟横萋捡?中蛤凶..
							 | 
						|||
| 
								 | 
							
								DS_APEND_BEFORE_ADD <- 4 // 夥煎 瞪 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐螳 陕撩赅萄 樯虽 羹觼
							 | 
						|||
| 
								 | 
							
								function isAvengerAwakenning(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_awakening.nut");
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										// 葬橡 寨葬萄 ?楚斜煎 噩 詹帼殓栖棻.. 谒 桧楛冲桧 腑傍贼.. 
							 | 
						|||
| 
								 | 
							
										// 横渐荡陛 state_stand鼻鹧缣怃虏 渗褐?薯陛 肾横捡 ?栖棻 
							 | 
						|||
| 
								 | 
							
										// 斜楚怃 valid陛 false陛 胀棻坚 ?怃 埠潍 渗褐?薯 腑棻坚 除舆?怃朝 寰腌栖棻 罹楝寞彻击 当陕?鱼 念娄 桧 寞彻桧 陛潍 梃莠?剪 伪嬴怃 殓栖棻.. 
							 | 
						|||
| 
								 | 
							
										// 该 噙桧朝 够紫 桡戏栖梱
							 | 
						|||
| 
								 | 
							
										local isvalid = appendage.sq_var.get_vector(I_AVENGER_AWAKENING_VALID);
							 | 
						|||
| 
								 | 
							
										if(isvalid) {
							 | 
						|||
| 
								 | 
							
											return true;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;	
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function isGrowTypeAvenger(obj) // ?塭嘐搅煎 剩啖霞 偌羹陛 ?葬蝶?-横渐荡樯虽 羹觼?朝 ?热殓栖棻..
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(sq_getJob(obj) == ENUM_CHARACTERJOB_PRIEST && sq_getGrowType(obj) == GROW_TYPE_AVENGER) return true; // 横渐螳陛 嬴栖塭贼 传? 斜溥还 ?踵 桡击匏栖棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 等网蝶?塭桧醴蒂 噙朝等 瞳渡? state樯虽 羹觼
							 | 
						|||
| 
								 | 
							
								function isExecutableStateDevilStrike(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj)) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local skill = sq_GetSkill(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local bEnable = false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(skill) {
							 | 
						|||
| 
								 | 
							
										local state = obj.getState();
							 | 
						|||
| 
								 | 
							
										bEnable = skill.isExcutableState(state);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//print("isExecutableStateDevilStrike:" + bEnable + " state:" + state);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(bEnable) {
							 | 
						|||
| 
								 | 
							
											if(state == STATE_THROW) { // 陛栋? skill 酝缣 state_throw煎 霞??朝 赁偃暧 蝶鉴桧 毡朝等 桧匙缣 妇?怃朝 热翕戏煎 羹觼?棻..
							 | 
						|||
| 
								 | 
							
												 if(obj.getThrowIndex() != SKILL_GRASP_HAND_OF_ANGER && obj.getThrowIndex() != SKILL_CHANGE_HP_TO_MP) {
							 | 
						|||
| 
								 | 
							
													bEnable = false;
							 | 
						|||
| 
								 | 
							
												 }
							 | 
						|||
| 
								 | 
							
											}			
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local var_devil = obj.getVar("devilStrike");
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(bEnable) {
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											local before_state = var_devil.get_vector(1); // 0廓擎 藤颤歜 1廓擎 瞪 state
							 | 
						|||
| 
								 | 
							
											if(state == before_state) {
							 | 
						|||
| 
								 | 
							
												//var_devil.set_vector(2, 1); // 2廓樯策蝶 ?楚斜朝 翱楼 等网蝶?塭桧觼 
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else {
							 | 
						|||
| 
								 | 
							
												var_devil.set_vector(2, 0); // 2廓樯策蝶 ?楚斜朝 翱楼 等网蝶?塭桧觼 
							 | 
						|||
| 
								 | 
							
												var_devil.set_vector(1, state);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else {
							 | 
						|||
| 
								 | 
							
											var_devil.set_vector(2, 0); // 2廓 樯策蝶 ?楚斜朝 翱楼 等网蝶?塭桧觼 
							 | 
						|||
| 
								 | 
							
											var_devil.set_vector(1, state);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return bEnable;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 等网蝶?塭桧醴暧 学葆模绿榆击 掘?栖棻..
							 | 
						|||
| 
								 | 
							
								function getDevilStrikeConsumeValue(obj, attack_index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 999999; // obj陛 割桧塭贼.. 橾钦 模绿榆击 樵羶釭啪 碳溥怃 陈萼棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local level = sq_GetSkillLevel(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
									local consumeValue = sq_GetLevelData(obj, SKILL_DEVILSTRIKE, SL_DS_ATTACK1_GAUGE_COMSUME + attack_index, level);	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return consumeValue;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐荡 等网蝶?塭桧醴 奢问 陛栋?虽 羹觼
							 | 
						|||
| 
								 | 
							
								function isInDevilStrike(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local level = sq_GetSkillLevel(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(level <= 0) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										if(appendage.isValid() && level > 0) {
							 | 
						|||
| 
								 | 
							
											if(!isExecutableStateDevilStrike(obj)) return false; // 等网蝶?塭桧醴蒂 噙朝等 瞳渡? state樯虽 羹觼
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											return true;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;	
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐荡 - 等网蝶?塭桧醴 蝶鉴击 乾坚 毡朝虽 羹觼?栖棻..
							 | 
						|||
| 
								 | 
							
								function isInDevilStrikeSkill(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local level = sq_GetSkillLevel(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(level <= 0) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										if(appendage.isValid() && level > 0) {
							 | 
						|||
| 
								 | 
							
											return true;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;	
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 晦奖击 噙朝 谛酝缣 棻钦??陛 菟横鬲击 阳 等网啪桧虽 坚楼醱瞪桧 桧瑞横虽朝匙击 虞晦嫔? 桧嘐 醱瞪肾历朝虽 羹觼?朝 ?热 殓栖棻..
							 | 
						|||
| 
								 | 
							
								// 樯濠朝 state_throw缣怃 碟晦肾朝 睡碟紫 毡晦 阳侥缣 skl?橾暧 staticindex煎 绿掖?琐栖棻..
							 | 
						|||
| 
								 | 
							
								function IsAddDevilGauge(obj, staticIndex)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local use_index = -1;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										use_index = appendage.sq_var.get_vector(DS_APEND_ADD_FLAG);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									//print("IsAddDevilGauge:" + use_index);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(use_index >= 0) { // -1桧剪釭
							 | 
						|||
| 
								 | 
							
										return true;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// ?营 陴嬴毡朝 学葆啪桧虽谛 蹂羶?朝 等网蝶?塭桧醴 樯策蝶暧 学葆啪桧虽 模赅榆娄 
							 | 
						|||
| 
								 | 
							
								// 绿掖?怃 醱碟? 陴嬴毡棻贼 return true蒂 ?栖棻.. 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function IsEnableDevilStrike(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false; 
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!isInDevilStrike(obj)) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//SL_DS_ATTACK1_GAUGE_COMSUME <- 0 // 0.z郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
									//SL_DS_ATTACK2_GAUGE_COMSUME <- 1 // 1.x郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
									//SL_DS_ATTACK3_GAUGE_COMSUME <- 2 // 2.c郦 啪桧虽 模赅晔
							 | 
						|||
| 
								 | 
							
									//SL_DS_ATTACK1_ATTACK_RATE <- 3 // 3.z郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
									//SL_DS_ATTACK2_ATTACK_RATE <- 4 // 4.x郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
									//SL_DS_ATTACK3_ATTACK_RATE <- 5 // 5.c郦 奢问溘(%)
							 | 
						|||
| 
								 | 
							
									//
							 | 
						|||
| 
								 | 
							
									//
							 | 
						|||
| 
								 | 
							
									//// 等网蝶?塭桧醴 樯策蝶
							 | 
						|||
| 
								 | 
							
									//DEVILSTRIKE_ATTACK_1 <- 0
							 | 
						|||
| 
								 | 
							
									//DEVILSTRIKE_ATTACK_2 <- 1
							 | 
						|||
| 
								 | 
							
									//DEVILSTRIKE_ATTACK_3 <- 2
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!appendage) return false;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(appendage.sq_var.size_vector() > 1) {
							 | 
						|||
| 
								 | 
							
										//iKeyList[0] = E_ATTACK_COMMAND;
							 | 
						|||
| 
								 | 
							
										//iKeyList[1] = E_JUMP_COMMAND;
							 | 
						|||
| 
								 | 
							
										//iKeyList[2] = E_SKILL_COMMAND;
							 | 
						|||
| 
								 | 
							
										local leve_column = 0;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(index == 0) { // attack (x)
							 | 
						|||
| 
								 | 
							
											leve_column = 1;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 1) { // jump (c)
							 | 
						|||
| 
								 | 
							
											leve_column = 2;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 2) { // skill (z)
							 | 
						|||
| 
								 | 
							
											leve_column = 0;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local consumeValue = getDevilStrikeConsumeValue(obj, leve_column);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//DS_APEND_MAX_GAUGE <- 0 // 譆渠 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
										//DS_APEND_GAUGE <- 1 // ?营 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local devil_gauge = appendage.sq_var.get_vector(DS_APEND_GAUGE); // gauge index 0
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(devil_gauge >= consumeValue) return true;
							 | 
						|||
| 
								 | 
							
										else {
							 | 
						|||
| 
								 | 
							
											//obj.startCantUseSkillWarning();
							 | 
						|||
| 
								 | 
							
											if (obj.isMessage()) {
							 | 
						|||
| 
								 | 
							
												sq_AddMessage(29002); // 29002>学葆啪桧虽陛 睡褶?栖棻.
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											return false;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 藤颤歜桧 部釭 蒙翕陛栋? 颤歜击 葬欐?朝 ?热. 
							 | 
						|||
| 
								 | 
							
								function getLoadSkillEnableTime(obj, skillIndex, intDataIndex)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local skill = sq_GetSkill(obj, skillIndex);
							 | 
						|||
| 
								 | 
							
									local level = sq_GetSkillLevel(obj, skillIndex);
							 | 
						|||
| 
								 | 
							
									local enableTime = 0;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if (skill == null)
							 | 
						|||
| 
								 | 
							
										return enableTime;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									enableTime = obj.sq_getIntData(skillIndex, intDataIndex);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//print("enableTime:" + enableTime);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									return enableTime;
							 | 
						|||
| 
								 | 
							
									//return obj.sq_GetObjectWorldTime(obj).Get() + enableTime;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 陕 等网蝶?塭桧醴 蝶鉴击 踩 热 毡朝 晦奖菟击 髦?狱棻.. 陴嬴毡朝 学葆啪桧虽 热纂煎 羹觼?狱棻..
							 | 
						|||
| 
								 | 
							
								// 斜 热纂缣 睡?肾朝 蝶鉴桧 毡棻贼 斜 蝶鉴缣 衙?肾横 毡朝 郦蒂 sq_SetKeyxEnable煎 援蒂 热 毡朝 鼻鹧煎 虏苌 ?缣 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function isEnterDevilStrike(obj, commandIndex, devil_index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local bEnable = false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local beforeCommandEnable = sq_GetKeyxEnable(obj, commandIndex);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									sq_SetKeyxEnable(obj, commandIndex, true);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local bCommand = sq_IsEnterCommand(obj, commandIndex);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//print("bCommand:" + bCommand + " commandIndex:" + commandIndex + " getstate:" +  obj.getState());
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(bCommand) {
							 | 
						|||
| 
								 | 
							
										bEnable = IsEnableDevilStrike(obj, devil_index); // 啪桧虽 模赅榆 羹觼?怃 陛栋?虽		
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
									//sq_SetKeyxEnable(obj, commandIndex, beforeCommandEnable);
							 | 
						|||
| 
								 | 
							
									//}	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return bEnable;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 学葆啪桧虽榆击 椭横褫栖棻..
							 | 
						|||
| 
								 | 
							
								function getDevilGauge(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local v = 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!appendage) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage.sq_var.size_vector() > 1) {
							 | 
						|||
| 
								 | 
							
										//appendage.sq_var.set_vector(500);
							 | 
						|||
| 
								 | 
							
										v = appendage.sq_var.get_vector(DS_APEND_GAUGE); // gauge index 1
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return v;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDevilMaxGaugeValue(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!appendage) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local v = 0;
							 | 
						|||
| 
								 | 
							
									if(appendage.sq_var.size_vector() > 1) {
							 | 
						|||
| 
								 | 
							
										v = appendage.sq_var.get_vector(DS_APEND_MAX_GAUGE); // gauge index 0
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return v;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 学葆啪桧虽蒂 撮??栖棻..
							 | 
						|||
| 
								 | 
							
								function setDevilGauge(obj, value)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!appendage) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage.sq_var.size_vector() > 1) {
							 | 
						|||
| 
								 | 
							
										appendage.sq_var.set_vector(DS_APEND_GAUGE, value); // gauge index 0
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 学葆啪桧虽 模绿榆击 剩啖舆贼 宪嬴怃 梗嬴鄹栖棻..
							 | 
						|||
| 
								 | 
							
								function consumeDevilGauge(obj, consumeValue)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local devil_value = getDevilGauge(obj);	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										//DS_APEND_MAX_GAUGE <- 0 // 譆渠 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
										//DS_APEND_GAUGE <- 1 // ?营 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
										//DS_APEND_LAST_GAUGE <- 2 // 虽陪 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										appendage.sq_var.set_vector(DS_APEND_LAST_GAUGE, devil_value); // 虽陪 啪桧虽热纂蒂 荡潍?棻..
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										appendage.getTimer().Reset();
							 | 
						|||
| 
								 | 
							
										appendage.getTimer().Start(0,0);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local value = devil_value - consumeValue;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(value < 0)
							 | 
						|||
| 
								 | 
							
										value = 0;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									setDevilGauge(obj, value);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 陕撩?卫粽 : 学跦(48溯涟)
							 | 
						|||
| 
								 | 
							
								// 1. 陕撩 渗褐 翕寰 陕撩晦 奢问溘桧 隶陛?
							 | 
						|||
| 
								 | 
							
								// 2. 等网 蝶?塭桧醴暧 学葆 啪桧虽 离朝榆 隶陛.
							 | 
						|||
| 
								 | 
							
								// 陕撩?卫粽 学跦击 乾坚 毡朝虽 羹觼?坚 乾坚 毡棻贼 学葆 啪桧虽 离朝榆击 隶陛卫面怃 葬欐?栖棻..
							 | 
						|||
| 
								 | 
							
								function getDSGConvertbyNightmare(obj, addValue) // get DevilStrikeGauge Convert by Nightmare
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local level = sq_GetSkillLevel(obj, SKILL_NIGHTMARE);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local gauge_bonus = sq_GetLevelData(obj, SKILL_NIGHTMARE, 0, level); // 0廓 樯策蝶 蚝岁 啪桧虽尔伞蝶(+)
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(gauge_bonus < 0)
							 | 
						|||
| 
								 | 
							
										gauge_bonus = 0;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									local value = addValue + gauge_bonus;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return value;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 学葆啪桧虽蒂 醱瞪?栖棻..
							 | 
						|||
| 
								 | 
							
								function addDevilGauge(obj, addValue)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local devil_value = getDevilGauge(obj);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 陕撩?卫粽 学跦击 乾坚 毡朝虽 羹觼?坚 乾坚 毡棻贼 学葆 啪桧虽 离朝榆击 隶陛卫面怃 葬欐?栖棻..
							 | 
						|||
| 
								 | 
							
									local result_addValue =	getDSGConvertbyNightmare(obj, addValue);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local add = result_addValue - addValue;
							 | 
						|||
| 
								 | 
							
									//print("addValue:" + addValue + " add:" + add + " result_addValue:" + result_addValue);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local value = devil_value + result_addValue;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local  maxValue = getDevilMaxGaugeValue(obj);
							 | 
						|||
| 
								 | 
							
									if(value >= maxValue)
							 | 
						|||
| 
								 | 
							
										value = maxValue;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									setDevilGauge(obj, value);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐螳陛 晦狱 state陛 nut?橾煎 晦殓肾横 毡击 鼻?橾阳 蕨蒂 菟贼 state_attack桧塭苌虽..
							 | 
						|||
| 
								 | 
							
								// 桧匙桧 横渐螳辨 STATE_ATTACK桧 毡涡塭紫 鼻?缣 评塭 CNPriest::setState 薹戏煎 绪虽啪 ?溥贼 晦襄 掘亵煎朝 寞彻桧 桡棻.. 谒傍贼 onSetState朝 irdcharacter缣 毡戏嘎煎
							 | 
						|||
| 
								 | 
							
								// 棻卫 剪绂煎 给嬴陛朝 掘亵朝 毡击 热 桡棻 斜楚怃 饵瞪缣 渗褐樯虽 羹觼?尔坚 斜溢棻贼.. state_attack戏煎 绪虽坚 嬴栖塭贼.. priest:: 煎 绪虽朝 掘亵煎 夥绂横捡?棻..
							 | 
						|||
| 
								 | 
							
								// 桧匙桧 斜 葬欐高桧棻..
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function isPriestFlow(obj, state)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return true;
							 | 
						|||
| 
								 | 
							
								 // 桧够缣怃 true蒂 葬欐?贼 irdcharacter:: 薹戏煎 陛朝匙桧 嬴栖塭 cnpriest 薹戏煎 陛啪 腌栖棻..
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) // 横渐荡陛 嬴棋 唳办 鼠亵勒 flowpriest煎
							 | 
						|||
| 
								 | 
							
										return true;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 陕撩渗褐鼻鹧塭贼..
							 | 
						|||
| 
								 | 
							
										if(state == STATE_DASH_ATTACK) {
							 | 
						|||
| 
								 | 
							
											return false;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == false) {
							 | 
						|||
| 
								 | 
							
										//if(state == STATE_ATTACK)
							 | 
						|||
| 
								 | 
							
										//	return false;
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
										return true;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return false;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function flushCommandEnable_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return S_FLOW_NORMAL;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!obj.isInBattle()) {
							 | 
						|||
| 
								 | 
							
										sq_SetAllCommandEnable(obj, false); // 瞪瘫酝橾隆 赅苌 蝶鉴击 饵辨? 热 桡蝗栖棻.
							 | 
						|||
| 
								 | 
							
										return S_FLOW_RETURN;
							 | 
						|||
| 
								 | 
							
									 }
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 陕撩 渗褐鼻鹧塭贼 棻艇 蝶鉴擎 瞪睡 绿?撩? 卫面捡 ?棻..钦 陕撩 渗褐缣怃 螃朝 蝶鉴虏 狸坚 桧蒂才贼..钦舒渠 ?
							 | 
						|||
| 
								 | 
							
										// 籀?蝶鉴击 萄蛤横 ?撩?卫监棻..
							 | 
						|||
| 
								 | 
							
										if(obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
											sq_SetAllCommandEnable(obj, false); // 赅苌 state蒂 残嬴场朝棻..
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
										local skill = sq_GetSkill(obj, SKILL_EXECUTION);		
							 | 
						|||
| 
								 | 
							
										if(skill) {
							 | 
						|||
| 
								 | 
							
											if(obj.getState() != STATE_AVENGER_AWAKENING) // 渗褐翕蒙桧 嬴栖横捡?栖棻.. 
							 | 
						|||
| 
								 | 
							
											{
							 | 
						|||
| 
								 | 
							
												// 籀?嬴桧夔桧 模赅榆尔棻 号击 阳虏 ?撩?肾紫烟 ?栖棻..
							 | 
						|||
| 
								 | 
							
												local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
												if(appendage) {
							 | 
						|||
| 
								 | 
							
													local skillLevel = sq_GetSkillLevel(obj, SKILL_EXECUTION);
							 | 
						|||
| 
								 | 
							
													local consumeValue = sq_GetLevelData(obj, SKILL_EXECUTION, 7, skillLevel);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													//DS_APEND_MAX_GAUGE <- 0 // 譆渠 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
													//DS_APEND_GAUGE <- 1 // ?营 学
							 | 
						|||
| 
								 | 
							
													local devil_gauge = appendage.sq_var.get_vector(DS_APEND_GAUGE); // gauge index 0
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													if(devil_gauge >= consumeValue) {		
							 | 
						|||
| 
								 | 
							
														skill.setCommandEnable(true); 
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										skill = sq_GetSkill(obj, SKILL_EX_DISASTER);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(skill) {
							 | 
						|||
| 
								 | 
							
											skill.setCommandEnable(true); 
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										skill = sq_GetSkill(obj, SKILL_PANDEMONIUM_EX);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(skill) {
							 | 
						|||
| 
								 | 
							
											skill.setCommandEnable(true); 
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										return S_FLOW_RETURN;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return S_FLOW_NORMAL;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setState_Avenger(obj, state, datas, isResetTimer)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 等网蝶?塭桧醴 醱瞪蝶鉴 ?楚斜 蚂
							 | 
						|||
| 
								 | 
							
									if(isInDevilStrikeSkill(obj)) {	
							 | 
						|||
| 
								 | 
							
										if(state != obj.getState() || state == STATE_ATTACK) { // 虽陪 state陛 殖塭捡 桧薯 等网啪桧虽蒂 醱瞪? 热 毡朝匙殓栖棻..		
							 | 
						|||
| 
								 | 
							
											local staticIndex = getStaticDataIndexDevilGauge(obj, -1, state); 
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											// ?营 议葛搅暧 state蒂 羹觼?罹 葬欐肾朝高桧 -1桧 嬴栖塭贼 醱瞪?丑捡?棻朝 暧嘐殓栖棻..
							 | 
						|||
| 
								 | 
							
											if(staticIndex != -1) { // 
							 | 
						|||
| 
								 | 
							
												local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽			
							 | 
						|||
| 
								 | 
							
												if(appendage) {
							 | 
						|||
| 
								 | 
							
													//if(appendage.sq_var.get_vector(DS_APEND_ADD_FLAG) == -1) 
							 | 
						|||
| 
								 | 
							
													//-2蒂 葬欐?捡 桧薯 啪桧虽蒂 醱瞪卫鉴 热 毡紫烟?棻..谒傍贼.. 伪擎 state蒂 啗楼 蹂羶?朝 唳办陛 毡晦阳侥缣..
							 | 
						|||
| 
								 | 
							
														//print("\n setState_Avenger:" + obj.getState() + " DS_APEND_ADD_FLAG: staticIndex " + staticIndex);
							 | 
						|||
| 
								 | 
							
														appendage.sq_var.set_vector(DS_APEND_ADD_FLAG, staticIndex); // 醱瞪 卫郦朝 羹觼?楚斜蒂 霾栖棻..
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(state == STATE_THROW)
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										if(obj.getThrowIndex() == SKILL_CHANGE_HP_TO_MP && obj.getThrowState() == 0) {
							 | 
						|||
| 
								 | 
							
											local level = sq_GetSkillLevel(obj, SKILL_CHANGE_HP_TO_MP);
							 | 
						|||
| 
								 | 
							
											local gaugeUpValue = sq_GetLevelData(obj, SKILL_CHANGE_HP_TO_MP, 2, level);
							 | 
						|||
| 
								 | 
							
											addDevilGauge(obj,gaugeUpValue);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isPriestFlow(obj, state) == true) {
							 | 
						|||
| 
								 | 
							
										return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										if(isAvengerAwakenning(obj) == true) {
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return S_FLOW_NORMAL;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function isRidingToObject_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return -1;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 菸蝶陛蛤树戏煎 渗褐?朝等 骁匙击 颤贼 寰肾癒..
							 | 
						|||
| 
								 | 
							
										//print("isRidingToObject_Avenger");
							 | 
						|||
| 
								 | 
							
										return -1;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 桧匙击 螃帼塭桧注 ?朝 桧嵘朝 ?葬蝶?-横渐螳:菸蝶陛蛤树缣怃 薄?帼?击 扬毓击 阳 奢问桧 釭陛捡?嘎煎
							 | 
						|||
| 
								 | 
							
								// 紫酝缣 薄?state 蹂羶?朝匙击 ?缰?晦 嫔?殓栖棻..
							 | 
						|||
| 
								 | 
							
								// 晦狱 flow朝 avenger_common.nut 缣怃 addSetStatePacket_Avenger 葬欐高桧 -1桧塭贼 IRDCollisionObject::addSetStatePacket蒂 ?轿?虽 强蝗栖棻. 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function addSetStatePacket_Avenger(obj, state, datas)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj)
							 | 
						|||
| 
								 | 
							
										return -1;		
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(state == STATE_JUMP_ATTACK) {
							 | 
						|||
| 
								 | 
							
										//print("\n STATE_JUMP_ATTACK" + " now_state:" + obj.sq_GetSTATE());
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!obj.isMyControlObject())
							 | 
						|||
| 
								 | 
							
										return -1;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) {
							 | 
						|||
| 
								 | 
							
										if(state == STATE_JUMP) {
							 | 
						|||
| 
								 | 
							
											if(obj.getState() == STATE_DASH || obj.getState() == STATE_STAND) {
							 | 
						|||
| 
								 | 
							
											   local var_awakening = obj.getVar("awakening");
							 | 
						|||
| 
								 | 
							
											   local t = var_awakening.get_ct_vector(0).Get();	
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											   if(var_awakening.get_ct_vector(0).Get() > var_awakening.get_vector(0)) { // 濠羹 藤颤歜 羹觼
							 | 
						|||
| 
								 | 
							
													obj.sq_IntVectClear();
							 | 
						|||
| 
								 | 
							
													obj.sq_IntVectPush(3); // substate撮?
							 | 
						|||
| 
								 | 
							
													obj.sq_addSetStatePacket(STATE_ATTACK, STATE_PRIORITY_USER, true);
							 | 
						|||
| 
								 | 
							
											   }
							 | 
						|||
| 
								 | 
							
											   else { // 藤颤歜桧 测 腑棻..
							 | 
						|||
| 
								 | 
							
													obj.startCantUseSkillWarning();
							 | 
						|||
| 
								 | 
							
													if (obj.isMessage()) //
							 | 
						|||
| 
								 | 
							
													{
							 | 
						|||
| 
								 | 
							
														sq_AddMessage(414); // 414>藤颤歜殓栖棻.
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
											   }
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else {
							 | 
						|||
| 
								 | 
							
												obj.sq_addSetStatePacket(STATE_SIT, STATE_PRIORITY_USER, false);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											return -1;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(state == STATE_DIE) {
							 | 
						|||
| 
								 | 
							
											local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_awakening.nut");
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
											if(appendage) {
							 | 
						|||
| 
								 | 
							
												appendage.setValid(false);
							 | 
						|||
| 
								 | 
							
												appendage.sq_var.set_vector(I_AVENGER_AWAKENING_VALID, 0);
							 | 
						|||
| 
								 | 
							
												obj.setObjectHeight(-1);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											return -1;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(state == STATE_THROW) {
							 | 
						|||
| 
								 | 
							
											//print("STATE_THROW");
							 | 
						|||
| 
								 | 
							
											return -1;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function isEnableBackStepState_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) {
							 | 
						|||
| 
								 | 
							
										return false; // 菸蝶陛蛤树 鼻鹧缣怃朝 寥蝶变击 虞嬴堤捡?栖棻..
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//print("isEnableBackStepState");
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return obj.sq_isEnableBackStepState();
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDefaultAttackInfo_Avenger(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									local atk = null;
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 陕撩 渗褐鼻鹧塭贼 棻艇 蝶鉴擎 瞪睡 绿?撩? 卫面捡 ?棻..钦 陕撩 渗褐缣怃 螃朝 蝶鉴虏 狸坚 桧蒂才贼..钦舒渠 ?
							 | 
						|||
| 
								 | 
							
									  atk = sq_GetCustomAttackInfo(obj, CUSTOM_ATTACKINFO_AW_ATTACK1 + index);	  
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
									  if(isInDevilStrikeSkill(obj)) {
							 | 
						|||
| 
								 | 
							
										atk = sq_GetCustomAttackInfo(obj, CUSTOM_ATTACKINFO_AVENGER_ATTACK_1 + index);
							 | 
						|||
| 
								 | 
							
									  }
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return atk;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// ?塭嘐搅煎 剩啖霞 郦 樯策蝶谛, 奢问寞彻桧 陛栋?虽 羹觼?罹 鳝娄?贼 ?卫粽螃粽薛?蒂 虏菟横 蛔烟?栖棻..
							 | 
						|||
| 
								 | 
							
								function procEnterDevilStrike(obj, keyIndex, attackIndex)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local bEnable = isEnterDevilStrike(obj, keyIndex, attackIndex);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(bEnable) {					
							 | 
						|||
| 
								 | 
							
										// 学葆啪桧虽蒂 梗嬴遽棻..
							 | 
						|||
| 
								 | 
							
										if(obj.isMyControlObject()) {
							 | 
						|||
| 
								 | 
							
											local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											if(appendage) {			
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													//if (obj.getWorldTimer().Get() >= obj.getVar("devilStrike").get_vector(0)) {
							 | 
						|||
| 
								 | 
							
													local var_devil = obj.getVar("devilStrike");
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													local t = var_devil.get_ct_vector(0).Get();
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													//print("get_ct_vector:" + t + "  get_vector(0):" + var_devil.get_vector(0));
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													if(var_devil.get_ct_vector(0).Get() > var_devil.get_vector(0)) { // 濠羹 藤颤歜 羹觼
							 | 
						|||
| 
								 | 
							
														local leve_column = 0;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
														if(attackIndex == 0) { // attack (x)
							 | 
						|||
| 
								 | 
							
															leve_column = 1;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
														else if(attackIndex == 1) { // jump (c)
							 | 
						|||
| 
								 | 
							
															leve_column = 2;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
														else if(attackIndex == 2) { // skill (z)
							 | 
						|||
| 
								 | 
							
															leve_column = 0;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
														local consumeV = getDevilStrikeConsumeValue(obj, leve_column);
							 | 
						|||
| 
								 | 
							
														consumeDevilGauge(obj, consumeV);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
														// x郦暧 唳办 
							 | 
						|||
| 
								 | 
							
														// 伪擎 state顶缣怃 嫦当?朝 唳办 横鸥樯策蝶蒂 棺溥遽棻..
							 | 
						|||
| 
								 | 
							
														local resultAttackIndex = attackIndex;
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														if(keyIndex == E_ATTACK_COMMAND) {
							 | 
						|||
| 
								 | 
							
															resultAttackIndex = obj.getVar("devilStrike").get_vector(2); // 2廓樯策蝶 ?楚斜朝 翱楼 等网蝶?塭桧觼 
							 | 
						|||
| 
								 | 
							
															//print("resultAttackIndex:" + resultAttackIndex);
							 | 
						|||
| 
								 | 
							
															local Index = resultAttackIndex;
							 | 
						|||
| 
								 | 
							
															Index = Index + 1;
							 | 
						|||
| 
								 | 
							
															if(Index > 2)
							 | 
						|||
| 
								 | 
							
																Index = 0;
							 | 
						|||
| 
								 | 
							
															
							 | 
						|||
| 
								 | 
							
															obj.getVar("devilStrike").set_vector(2, Index);
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
														if(resultAttackIndex == 0) { // attack (x)
							 | 
						|||
| 
								 | 
							
															leve_column = 1;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
														else if(resultAttackIndex == 1) { // jump (c)
							 | 
						|||
| 
								 | 
							
															leve_column = 2;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
														else if(resultAttackIndex == 2) { // skill (z)
							 | 
						|||
| 
								 | 
							
															leve_column = 0;
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														// 桧薯 奢问嫦翕
							 | 
						|||
| 
								 | 
							
														local level = sq_GetSkillLevel(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														//iKeyList[0] = E_ATTACK_COMMAND;
							 | 
						|||
| 
								 | 
							
														//iKeyList[1] = E_JUMP_COMMAND;
							 | 
						|||
| 
								 | 
							
														//iKeyList[2] = E_SKILL_COMMAND;
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														//local firstAttackRate = obj.sq_getBonusRateWithPassive(SKILL_DEVILSTRIKE, state, 0, 1.0);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														// 等网蝶?塭桧醴暧 奢问溘(%)
							 | 
						|||
| 
								 | 
							
														//local attack_bonus_rate = sq_GetLevelData(obj, SKILL_DEVILSTRIKE, SL_DS_ATTACK1_ATTACK_RATE + leve_column, level);
							 | 
						|||
| 
								 | 
							
														local devilSkill = sq_GetSkill(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
														local attack_bonus_rate = sq_GetAttackBonusRate(devilSkill, SL_DS_ATTACK1_ATTACK_RATE + leve_column, 1.0);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														//print("\n devilstrike attack_rate:" + attack_bonus_rate + " resultAttackIndex:" + leve_column);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														obj.sq_binaryData_startWrite();
							 | 
						|||
| 
								 | 
							
														obj.sq_binaryData_writeDword(attack_bonus_rate); // 等网蝶?塭桧醴暧 奢问溘(%)
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														obj.sq_p00_sendCreatePassiveObjectPacket(24104 + resultAttackIndex, 0, 0, 1, 0);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														// 藤颤歜 撮?
							 | 
						|||
| 
								 | 
							
														var_devil.get_ct_vector(0).Reset();
							 | 
						|||
| 
								 | 
							
														var_devil.get_ct_vector(0).Start(0,0);
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														local cooltime = getLoadSkillEnableTime(obj, SKILL_DEVILSTRIKE, SI_DS_COOLTIME); // 蛤?? 藤颤歜
							 | 
						|||
| 
								 | 
							
														var_devil.set_vector(0, cooltime);
							 | 
						|||
| 
								 | 
							
												   }
							 | 
						|||
| 
								 | 
							
												   else { // 藤颤歜桧 测 腑棻..
							 | 
						|||
| 
								 | 
							
														//obj.startCantUseSkillWarning();
							 | 
						|||
| 
								 | 
							
														if (obj.isMessage()) //
							 | 
						|||
| 
								 | 
							
														{
							 | 
						|||
| 
								 | 
							
															sq_AddMessage(29001); // 29001>等网 蝶?塭桧醴 藤颤歜殓栖棻.
							 | 
						|||
| 
								 | 
							
															
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
												   }
							 | 
						|||
| 
								 | 
							
												//
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										// 罹晦怃 桧薯 舆樯奢暧 桧??陛 殖塭虽朝匙桧棻..横舒表螺棻陛 嫩嬴虽朝 ?娄
							 | 
						|||
| 
								 | 
							
										local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_DEVILSTRIKE, true, "Appendage/Character/ap_avenger_effect.nut", true);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								//sq_GetCustomAttackInfo
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function procAppend_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 橾奁 横渐荡樯 唳办
							 | 
						|||
| 
								 | 
							
									// 桧够缣怃 等网蝶?塭桧醴 ?卫粽 蝶鉴桧 毡朝虽 羹觼?狱棻..
							 | 
						|||
| 
								 | 
							
									if(isInDevilStrike(obj)) { // 等网蝶?塭桧醴 ?卫粽蝶鉴桧 嫦翕肾横 毡棻贼..		
							 | 
						|||
| 
								 | 
							
										// 陕 等网蝶?塭桧醴 蝶鉴击 踩 热 毡朝 晦奖菟击 髦?狱棻.. 陴嬴毡朝 学葆啪桧虽 热纂煎 羹觼?狱棻..
							 | 
						|||
| 
								 | 
							
										// 斜 热纂缣 睡?肾朝 蝶鉴桧 毡棻贼 斜 蝶鉴缣 衙?肾横 毡朝 郦蒂 sq_SetKeyxEnable煎 援蒂 热 毡朝 鼻鹧煎 虏苌 ?缣 
							 | 
						|||
| 
								 | 
							
										// 
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										// 等网蝶?塭桧醴蒂 踩 热 毡朝 鼻?桧塭贼.. 
							 | 
						|||
| 
								 | 
							
										// 1. 等网蝶?塭桧醴 ?卫粽 蝶鉴击 蝗菜?艘朝虽
							 | 
						|||
| 
								 | 
							
										// 2. 等网蝶?塭桧醴陛 嫦翕? 热 毡朝 state鼻鹧樯虽 桧 赅苌匙桧 鳝娄陛 肾贼..桧薯 郦 羹觼蒂 ?狱棻..
							 | 
						|||
| 
								 | 
							
										if(isInDevilStrike(obj)) { 
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
											if(obj.getState() == STATE_ATTACK || obj.getState() == STATE_DASH_ATTACK) {
							 | 
						|||
| 
								 | 
							
												// ?颤塭贼 C郦 羹觼?栖棻..
							 | 
						|||
| 
								 | 
							
												procEnterDevilStrike(obj, E_JUMP_COMMAND, DEVILSTRIKE_ATTACK_2);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else {			
							 | 
						|||
| 
								 | 
							
												local size = 3;
							 | 
						|||
| 
								 | 
							
												local iKeyList =[];
							 | 
						|||
| 
								 | 
							
												iKeyList.resize(size);
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
												iKeyList[0] = E_ATTACK_COMMAND;
							 | 
						|||
| 
								 | 
							
												iKeyList[1] = E_JUMP_COMMAND;
							 | 
						|||
| 
								 | 
							
												iKeyList[2] = E_SKILL_COMMAND;			
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
												for(local i=0;i<size;i+=1) {
							 | 
						|||
| 
								 | 
							
													// ?塭嘐搅煎 剩啖霞 郦 樯策蝶谛, 奢问寞彻桧 陛栋?虽 羹觼?罹 鳝娄?贼 ?卫粽螃粽薛?蒂 虏菟横 蛔烟?栖棻..
							 | 
						|||
| 
								 | 
							
													local devilstrikeAttackIndex = i;
							 | 
						|||
| 
								 | 
							
													procEnterDevilStrike(obj, iKeyList[i], devilstrikeAttackIndex);
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										//24104	`Character/Priest/DevilStrike1.obj`	// 横渐荡 - 等网蝶?塭桧醴 奢问1
							 | 
						|||
| 
								 | 
							
										//24105	`Character/Priest/DevilStrike2.obj`	// 横渐荡 - 等网蝶?塭桧醴 奢问2
							 | 
						|||
| 
								 | 
							
										//24106	`Character/Priest/DevilStrike3.obj`	// 横渐荡 - 等网蝶?塭桧醴 奢问3
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(isPriestFlow(obj, obj.getState()) == true) {
							 | 
						|||
| 
								 | 
							
										return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(obj.isMyControlObject()) {
							 | 
						|||
| 
								 | 
							
										if(isAvengerAwakenning(obj) == true) {		
							 | 
						|||
| 
								 | 
							
											local state = obj.getState();
							 | 
						|||
| 
								 | 
							
											if(state == STATE_STAND) {		 
							 | 
						|||
| 
								 | 
							
												local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_awakening.nut");
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
												if(appendage) {
							 | 
						|||
| 
								 | 
							
													//if(appendage.isValid() && appendage.isEnd()) {
							 | 
						|||
| 
								 | 
							
													//if(appendage.sq_var.get_vector(I_AVENGER_AWAKENING_VALID) && appendage.isEnd()) {
							 | 
						|||
| 
								 | 
							
													if(appendage.sq_var.get_vector(I_AVENGER_AWAKENING_VALID) && appendage.isEnd()) {
							 | 
						|||
| 
								 | 
							
														obj.sq_IntVectClear();
							 | 
						|||
| 
								 | 
							
														obj.sq_IntVectPush(0); // substate撮?
							 | 
						|||
| 
								 | 
							
														obj.sq_addSetStatePacket(STATE_AWAKENING_TURN_OFF, STATE_PRIORITY_IGNORE_FORCE, true);
							 | 
						|||
| 
								 | 
							
														return S_FLOW_RETURN;
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											if(state == STATE_STAND || state == STATE_DASH) {
							 | 
						|||
| 
								 | 
							
												if(obj.sq_IsEnterSkill(SKILL_BACK_STEP) != -1) {
							 | 
						|||
| 
								 | 
							
												   local var_awakening = obj.getVar("awakening");
							 | 
						|||
| 
								 | 
							
												   local t = var_awakening.get_ct_vector(0).Get();	
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
												   if(var_awakening.get_ct_vector(0).Get() > var_awakening.get_vector(0)) { // 濠羹 藤颤歜 羹觼
							 | 
						|||
| 
								 | 
							
														obj.sq_IntVectClear();
							 | 
						|||
| 
								 | 
							
														obj.sq_IntVectPush(3); // substate撮?
							 | 
						|||
| 
								 | 
							
														obj.sq_addSetStatePacket(STATE_ATTACK, STATE_PRIORITY_USER, true);
							 | 
						|||
| 
								 | 
							
												   }
							 | 
						|||
| 
								 | 
							
												   else { // 藤颤歜桧 测 腑棻..
							 | 
						|||
| 
								 | 
							
														obj.startCantUseSkillWarning();
							 | 
						|||
| 
								 | 
							
														if (obj.isMessage()) //
							 | 
						|||
| 
								 | 
							
														{
							 | 
						|||
| 
								 | 
							
															sq_AddMessage(414); // 414>藤颤歜殓栖棻.
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
												   }
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return S_FLOW_NORMAL;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function drawAppend_Avenger(obj, isOver, x, y)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isPriestFlow(obj, obj.getState()) == true) {
							 | 
						|||
| 
								 | 
							
										return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return S_FLOW_NORMAL;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function prepareDraw_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // isPriestFlow 葬欐高桧 true塭贼.. 陕撩桧 嬴栖坚 罹楝陛虽 亵勒桧 ?葬蝶? flow煎 绪螳捡 ?棻..
							 | 
						|||
| 
								 | 
							
										return S_FLOW_NORMAL;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return S_FLOW_PRIEST;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getStayAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("Stay", "Character/Priest/Animation/AvengerAwakening/Stay.ani");		
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getStayAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getAttackAni_Avenger(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										if(index == 0) {
							 | 
						|||
| 
								 | 
							
											ani = sq_var.GetAnimationMap("Attack1", "Character/Priest/Animation/AvengerAwakening/Attack1.ani");
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 1) {
							 | 
						|||
| 
								 | 
							
											ani = sq_var.GetAnimationMap("Attack2", "Character/Priest/Animation/AvengerAwakening/Attack2.ani");
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 2) {
							 | 
						|||
| 
								 | 
							
											ani = sq_var.GetAnimationMap("Attack3", "Character/Priest/Animation/AvengerAwakening/Attack3.ani");
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 3) {
							 | 
						|||
| 
								 | 
							
											ani = sq_var.GetAnimationMap("Attack4", "Character/Priest/Animation/AvengerAwakening/Attack4.ani");
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 4) {
							 | 
						|||
| 
								 | 
							
											ani = sq_var.GetAnimationMap("Attack5", "Character/Priest/Animation/AvengerAwakening/Attack5.ani");
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										if(isInDevilStrikeSkill(obj)) { // 横渐荡 - 等网蝶?塭桧醴 蝶鉴击 乾坚 毡戏贼 ?颤陛 夥荸栖棻..
							 | 
						|||
| 
								 | 
							
											//print("getAttackAni_Avenger");
							 | 
						|||
| 
								 | 
							
											if(index == 3) { // 横渐荡 - ?虞颤朝 鼠晦 谦盟缣 评塭 2陛虽煎 拥栖诡桧暮桧 夥莎棻 樵尘? 蜓?贼 ?娄陛 棻脑棻..
							 | 
						|||
| 
								 | 
							
												// 褊濠陛 - 腻舆
							 | 
						|||
| 
								 | 
							
												// 釭该虽 陷
							 | 
						|||
| 
								 | 
							
												if(obj.getWeaponSubType() == WEAPON_SUBTYPE_CROSS || obj.getWeaponSubType() == WEAPON_SUBTYPE_ROSARY) {
							 | 
						|||
| 
								 | 
							
													ani = obj.sq_getCustomAni(CUSTOM_ANI_AVENGER_ATTACK_4_ROSARY);
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
												else {
							 | 
						|||
| 
								 | 
							
													ani = obj.sq_getCustomAni(CUSTOM_ANI_AVENGER_ATTACK_4_SCYTHE);
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												ani = obj.sq_getCustomAni(CUSTOM_ANI_AVENGER_ATTACK_1 + index);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else {
							 | 
						|||
| 
								 | 
							
											//print("obj.sq_getAttackAni");
							 | 
						|||
| 
								 | 
							
											ani = obj.sq_getAttackAni(index);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getMoveAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("Move", "Character/Priest/Animation/AvengerAwakening/Move.ani");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getMoveAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getSitAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("Sit", "Character/Priest/Animation/AvengerAwakening/Sit.ani"); 
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getSitAni();
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDamageAni_Avenger(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = null;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getDamageAni(index);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDownAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = null;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getDownAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getDownAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getOverturnAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = null;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getOverturnAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getJumpAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("Sit", "Character/Priest/Animation/AvengerAwakening/Sit.ani"); 
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getJumpAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getJumpAttackAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										//ani = null;
							 | 
						|||
| 
								 | 
							
									//}
							 | 
						|||
| 
								 | 
							
									//else {
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("\n warning \n ");
							 | 
						|||
| 
								 | 
							
										print("(isAvengerAwakenning(obj) == true) getJumpAttackAni_Avenger");
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									ani = obj.sq_getJumpAttackAni();
							 | 
						|||
| 
								 | 
							
									//}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getJumpAttackAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getRestAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										//ani = null;
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("Stay", "Character/Priest/Animation/AvengerAwakening/Stay.ani");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getRestAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								//	local ani = obj.sq_getRestAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getThrowChargeAni_Avenger(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = null;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getThrowChargeAni(index);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getThrowChargeAni(index);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getThrowShootAni_Avenger(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = null;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getThrowShootAni(index);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getThrowShootAni(index);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDashAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("Dash", "Character/Priest/Animation/AvengerAwakening/Dash.ani");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getDashAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getDashAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getAttackCancelStartFrame_Avenger(obj, index)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local frm = 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										if(index == 0) {
							 | 
						|||
| 
								 | 
							
											frm = 4; // 锰瘫 奢问擎..?溯歜 3桧鼻缣怃 渗唳
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 1) {
							 | 
						|||
| 
								 | 
							
											frm = 2; // 锰瘫 奢问擎..?溯歜 3桧鼻缣怃 渗唳
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else if(index == 2) {
							 | 
						|||
| 
								 | 
							
											frm = 8; // 葆虽虞 奢问擎 10?溯歜 桧鼻缣怃 渗唳
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										if(isInDevilStrikeSkill(obj)) { // 横渐荡 - 等网蝶?塭桧醴 蝶鉴击 乾坚 毡戏贼 ?颤陛 夥荸栖棻..
							 | 
						|||
| 
								 | 
							
											if(index == 0) {
							 | 
						|||
| 
								 | 
							
												frm = 2; // 锰瘫 奢问擎..?溯歜 2桧鼻缣怃 渗唳
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else if(index == 1) {
							 | 
						|||
| 
								 | 
							
												frm = 3; // 锰瘫 奢问擎..?溯歜 3桧鼻缣怃 渗唳
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else if(index == 2) {
							 | 
						|||
| 
								 | 
							
												frm = 5; // 葆虽虞 奢问擎 5?溯歜 桧鼻缣怃 渗唳
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											frm = obj.sq_getAttackCancelStartFrame(index);
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return frm;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getAttackCancelStartFrameSize_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local frmSize = 0;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										//frmSize = 3; // 晦狱奢问桧 横渐螳 陕撩 渗褐擎 4偃棻..
							 | 
						|||
| 
								 | 
							
										frmSize = 2; // 晦狱奢问桧 横渐螳 陕撩 渗褐擎 4偃棻..
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										if(isInDevilStrikeSkill(obj)) { // 横渐荡樯 唳办 ?颤陛 赁偃樯虽
							 | 
						|||
| 
								 | 
							
											frmSize = 3; // 横渐荡朝 晦狱奢问桧 4偃 殓栖棻..
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											frmSize = obj.sq_getAttackCancelStartFrameSize();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return frmSize;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDashAttackAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("DashAttack", "Character/Priest/Animation/AvengerAwakening/DashAttack.ani");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getDashAttackAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getDashAttackAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getGetItemAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
										ani = sq_var.GetAnimationMap("GetItem", "Character/Priest/Animation/AvengerAwakening/GetItem.ani"); 
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getGetItemAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getGetItemAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getBuffAni_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local ani = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										ani = null;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										ani = obj.sq_getBuffAni();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local ani = obj.sq_getBuffAni();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return ani;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getJumpAttackInfo_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									local atk = obj.sq_getJumpAttackInfo();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return atk;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getDashAttackInfo_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									local atk = null;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 陕撩?卫粽 : 学跦(48溯涟)
							 | 
						|||
| 
								 | 
							
									// 1. 陕撩 渗褐 翕寰 陕撩晦 奢问溘桧 隶陛?
							 | 
						|||
| 
								 | 
							
									// 2. 等网 蝶?塭桧醴暧 学葆 啪桧虽 离朝榆 隶陛.
							 | 
						|||
| 
								 | 
							
									// 陕撩?卫粽 学跦击 乾坚 毡朝虽 羹觼?坚 乾坚 毡棻贼 学葆 啪桧虽 离朝榆击 隶陛卫面怃 葬欐?栖棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										atk = sq_GetCustomAttackInfo(obj, CUSTOM_ATTACKINFO_AW_DASHATTACK);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local state = obj.sq_GetSTATE();
							 | 
						|||
| 
								 | 
							
									    local power = obj.sq_getBonusRateWithPassive(SKILL_AVENGER_AWAKENING, state, SL_DASH_MAGIC_ATK,1.0);
							 | 
						|||
| 
								 | 
							
									    obj.sq_setCurrentAttackBonusRate(power);
							 | 
						|||
| 
								 | 
							
									    
							 | 
						|||
| 
								 | 
							
										//sq_setAttackPowerWithPassive
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return atk;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getJumpUpStartFrame_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									local index = obj.sq_getJumpUpStartFrame();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return index;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getJumpDownStartFrame_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									local index = obj.sq_getJumpDownStartFrame();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return index;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getJumpLandStartFrame_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									local index = obj.sq_getJumpLandStartFrame();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return index;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 蜗塭桧注 奢问击 ?击阳 
							 | 
						|||
| 
								 | 
							
								function getDashAttackSlideStopFrame_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return null;
							 | 
						|||
| 
								 | 
							
									local index = -1;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) == true) { // 横渐螳 陕撩赅萄塭贼
							 | 
						|||
| 
								 | 
							
										index = 15;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {
							 | 
						|||
| 
								 | 
							
										index = obj.sq_getDashAttackSlideStopFrame();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return index;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function drawDevilStrikeGauge(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 等网蝶?塭桧醴 啪桧虽 斜葬晦
							 | 
						|||
| 
								 | 
							
									local level = sq_GetSkillLevel(obj, SKILL_DEVILSTRIKE);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(level <= 0) return; // 等网蝶?塭桧醴暧 ?卫粽蝶鉴桧 桡棻贼 传 斜溥还 ?踵桡击匏栖棻.. 斜歇橾桧 毡击梱 赅脑啊虽虏..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local sq_var = obj.getVar();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local gaugebar_normal_base = sq_var.GetAnimationMap("4_gaugebar_normal_base", "Character/Priest/Effect/Animation/DevilStrike/gauge/4_gaugebar_normal_base.ani");
							 | 
						|||
| 
								 | 
							
									local gaugebar_normal_flash = sq_var.GetAnimationMap("4_gaugebar_normal_flash", "Character/Priest/Effect/Animation/DevilStrike/gauge/4_gaugebar_normal_flash.ani");
							 | 
						|||
| 
								 | 
							
									local gaugebar_normal_max = sq_var.GetAnimationMap("4_gaugebar_normal_max", "Character/Priest/Effect/Animation/DevilStrike/gauge/4_gaugebar_normal_max.ani");
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local gauge_normal_bar = sq_var.GetAnimationMap("5_gauge_normal_bar", "Character/Priest/Effect/Animation/DevilStrike/gauge/5_gauge_normal_bar.ani");
							 | 
						|||
| 
								 | 
							
									local gauge_normal_flash = sq_var.GetAnimationMap("5_gauge_normal_flash", "Character/Priest/Effect/Animation/DevilStrike/gauge/5_gauge_normal_flash.ani");
							 | 
						|||
| 
								 | 
							
									local gauge_normal_max = sq_var.GetAnimationMap("5_gauge_normal_max", "Character/Priest/Effect/Animation/DevilStrike/gauge/5_gauge_normal_max.ani");
							 | 
						|||
| 
								 | 
							
									local gauge_normal_max_f = sq_var.GetAnimationMap("5_gauge_normal_max_f", "Character/Priest/Effect/Animation/DevilStrike/gauge/5_gauge_normal_max_f.ani");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									local x = 105;
							 | 
						|||
| 
								 | 
							
									local y = 525;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local line_buff_num = 9;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(sq_getMyBuffInfoCount() > line_buff_num) { // 2还橾隆 嫔煎 萤萼棻..	
							 | 
						|||
| 
								 | 
							
										local line_offset = 20;
							 | 
						|||
| 
								 | 
							
										local line_num = sq_getMyBuffInfoCount() / line_buff_num; // 帼?嬴桧夔戏煎 塭樯偎热
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										y = y - (line_offset * line_num);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									///////////////////////////////////////
							 | 
						|||
| 
								 | 
							
									// 啪桧虽 夥 ? 斜葬晦
							 | 
						|||
| 
								 | 
							
									sq_AnimationProc(gaugebar_normal_base);
							 | 
						|||
| 
								 | 
							
									sq_drawCurrentFrame(gaugebar_normal_base, x, y, false);
							 | 
						|||
| 
								 | 
							
									///////////////////////////////////////
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local gaugeValue = getDevilGauge(obj);
							 | 
						|||
| 
								 | 
							
									local max_gaugeValue = getDevilMaxGaugeValue(obj);
							 | 
						|||
| 
								 | 
							
									local rate = gaugeValue.tofloat() / max_gaugeValue.tofloat();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 啪桧虽 涧
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										local lastValue = appendage.sq_var.get_vector(2); // 虽陪 啪桧虽 
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//print("lastValue:" + lastValue + " gaugeValue:" + gaugeValue);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local CURRENT_HIT_WHITE_FLASH_TIME = 500;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(lastValue == max_gaugeValue) { // 譆渠热纂谛 葆虽虞 啪桧虽陛 伪棻贼..?仪戏煎 
							 | 
						|||
| 
								 | 
							
											CURRENT_HIT_WHITE_FLASH_TIME = 600;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(lastValue > gaugeValue) { //葆虽虞 啪桧虽陛 ?营 啪桧虽 尔棻 堪棻贼.. 啪桧虽涧蒂 ?药捡?棻..
							 | 
						|||
| 
								 | 
							
											//DS_APEND_MAX_GAUGE <- 0 // 譆渠 学葆啪桧虽 热纂
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											local time = appendage.getTimer().Get();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											local whitetrans = sq_GetUniformVelocity(255, 0, time, CURRENT_HIT_WHITE_FLASH_TIME);
							 | 
						|||
| 
								 | 
							
											local lv = sq_GetUniformVelocity(lastValue, gaugeValue, time, CURRENT_HIT_WHITE_FLASH_TIME);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											local flahbar_rate = lv.tofloat() / max_gaugeValue.tofloat();
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											if(lastValue == max_gaugeValue) { // 譆渠热纂谛 葆虽虞 啪桧虽陛 伪棻贼..?仪戏煎 
							 | 
						|||
| 
								 | 
							
												if(time < 200) { // ?仪啪桧虽虏 尔桧紫烟 200 tick桧?缣怃朝 罹晦怃 葬欐?帼董栖棻..
							 | 
						|||
| 
								 | 
							
													sq_AnimationProc(gauge_normal_flash);
							 | 
						|||
| 
								 | 
							
													gauge_normal_flash.setImageRate(flahbar_rate, 1.0);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													local rgb = sq_RGB(255,255,255);
							 | 
						|||
| 
								 | 
							
													local alpha = sq_ALPHA(whitetrans);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													sq_drawCurrentFrameEffect_SIMPLE(gauge_normal_flash, x, y, rgb, alpha);
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													// ?仪 啪桧虽夥紫 斜溥遽棻..
							 | 
						|||
| 
								 | 
							
													sq_AnimationProc(gaugebar_normal_max);
							 | 
						|||
| 
								 | 
							
													sq_drawCurrentFrame(gaugebar_normal_max, x, y, false);
							 | 
						|||
| 
								 | 
							
													return;
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											//print("flahbar_rate:" + flahbar_rate);
							 | 
						|||
| 
								 | 
							
											// 啪桧虽 斜葬晦
							 | 
						|||
| 
								 | 
							
											sq_AnimationProc(gauge_normal_flash);
							 | 
						|||
| 
								 | 
							
											gauge_normal_flash.setImageRate(flahbar_rate, 1.0);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											local rgb = sq_RGB(255,255,255);
							 | 
						|||
| 
								 | 
							
											local alpha = sq_ALPHA(whitetrans);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											sq_drawCurrentFrameEffect_SIMPLE(gauge_normal_flash, x, y, rgb, alpha);			
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											// 啪桧虽 ?娄 部
							 | 
						|||
| 
								 | 
							
											if(lv == gaugeValue) {
							 | 
						|||
| 
								 | 
							
												appendage.sq_var.set_vector(2, gaugeValue);
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 橾奁 啪桧虽蒂 斜葬朝等 裟蝶朝 觊 棻脑啪 斜溥丑捡?栖棻..
							 | 
						|||
| 
								 | 
							
									if(gaugeValue == max_gaugeValue) {
							 | 
						|||
| 
								 | 
							
										// 橾奁 啪桧虽 斜葬晦
							 | 
						|||
| 
								 | 
							
										sq_AnimationProc(gauge_normal_max);	
							 | 
						|||
| 
								 | 
							
										gauge_normal_max.setImageRate(rate, 1.0);	
							 | 
						|||
| 
								 | 
							
										sq_drawCurrentFrame(gauge_normal_max, x, y, false);
							 | 
						|||
| 
								 | 
							
										//
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										// 裟蝶纂 啪桧虽夥紫 斜溥遽棻..
							 | 
						|||
| 
								 | 
							
										sq_AnimationProc(gaugebar_normal_flash);
							 | 
						|||
| 
								 | 
							
										sq_drawCurrentFrame(gaugebar_normal_flash, x, y, false);
							 | 
						|||
| 
								 | 
							
										//
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										local max_gauge_offset_x = 150;
							 | 
						|||
| 
								 | 
							
										// 裟蝶纂 啪桧虽夥紫 斜溥遽棻..
							 | 
						|||
| 
								 | 
							
										local size = 8;
							 | 
						|||
| 
								 | 
							
										local maxResWidth = 20;		
							 | 
						|||
| 
								 | 
							
										local lineMoveLen = (max_gauge_offset_x + (maxResWidth * 2)); // ?塭樯 遗霜桧朝 剪葬
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										local time = (appendage.getTimer().Get() / 20) % lineMoveLen;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//print("x:" + x + " y:" + y);
							 | 
						|||
| 
								 | 
							
										local xPos = x;
							 | 
						|||
| 
								 | 
							
										local yPos = y - 10;
							 | 
						|||
| 
								 | 
							
										setClip(xPos, yPos, xPos + max_gauge_offset_x + 16, yPos + 20);
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										for(local i=0;i<size;i+=1) {
							 | 
						|||
| 
								 | 
							
											// 裟蝶纂 啪桧虽夥紫 斜溥遽棻..
							 | 
						|||
| 
								 | 
							
											sq_AnimationProc(gauge_normal_max_f);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											//local x1 = max_gauge_offset_x + maxResWidth + (i * 25) - time;
							 | 
						|||
| 
								 | 
							
											local x1 = max_gauge_offset_x + maxResWidth + (i * 25) - time;
							 | 
						|||
| 
								 | 
							
											local x2 = -maxResWidth + (i * 25) - time;
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											sq_drawCurrentFrame(gauge_normal_max_f, x + x1, y, false);
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											sq_drawCurrentFrame(gauge_normal_max_f, x + x2, y, false);
							 | 
						|||
| 
								 | 
							
											//
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										//		
							 | 
						|||
| 
								 | 
							
										releaseClip();
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else {	
							 | 
						|||
| 
								 | 
							
										// 橾奁 啪桧虽 斜葬晦
							 | 
						|||
| 
								 | 
							
										sq_AnimationProc(gauge_normal_bar);	
							 | 
						|||
| 
								 | 
							
										gauge_normal_bar.setImageRate(rate, 1.0);	
							 | 
						|||
| 
								 | 
							
										sq_drawCurrentFrame(gauge_normal_bar, x, y, false);
							 | 
						|||
| 
								 | 
							
										//
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 罐? 轿溘
							 | 
						|||
| 
								 | 
							
									local mouseX = sq_GetMouseXPos();
							 | 
						|||
| 
								 | 
							
									local mouseY = sq_GetMouseYPos();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local tipX = x - 20;
							 | 
						|||
| 
								 | 
							
									local tipY = y - 15;
							 | 
						|||
| 
								 | 
							
									local tipEndX = tipX + 195;
							 | 
						|||
| 
								 | 
							
									local tipEndY = tipY + 20;
							 | 
						|||
| 
								 | 
							
									if(mouseX > tipX && mouseY > tipY && mouseX < tipEndX && mouseY < tipEndY) {
							 | 
						|||
| 
								 | 
							
										sq_drawToolTip(x - 35, y - 13, sq_RGB(255,255,255), 0, 1, 29003, 0, 260, true);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐荡辨 drawcustomui 睡碟殓栖棻.. 渠?瞳戏煎 等网蝶?塭桧醴 啪桧虽蒂 斜葬溥坚 虏菟历蝗栖棻..
							 | 
						|||
| 
								 | 
							
								function drawCustomUI_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									//if(obj.sq_isMyCharacter()) // 釭暧 议葛搅陛 嬴栖塭贼 桧匙击 斜溥还 ?踵 桡击匏栖棻..
							 | 
						|||
| 
								 | 
							
									//if(sq_getMyCharacter() != obj) {
							 | 
						|||
| 
								 | 
							
									//	return;
							 | 
						|||
| 
								 | 
							
									//}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!obj.sq_isMyCharacter()) {
							 | 
						|||
| 
								 | 
							
										//print("!obj.sq_isMyCharacter()");
							 | 
						|||
| 
								 | 
							
										return;
							 | 
						|||
| 
								 | 
							
									}	
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) return; // 横渐螳陛 嬴栖塭贼 传? 斜溥还 ?踵 桡击匏栖棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 等网蝶?塭桧醴 啪桧虽 斜葬晦
							 | 
						|||
| 
								 | 
							
									drawDevilStrikeGauge(obj);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function getStaticDataIndexDevilGauge(obj, passiveobjectIndex, newState) { // 螃粽薛? state 高缣 评塭 醱瞪腆 DevilStrike.skl 蝶鹧?等桧颤 樯策蝶蒂 掘?褫栖棻..
							 | 
						|||
| 
								 | 
							
									if(!obj) return -1;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local state = obj.getState();
							 | 
						|||
| 
								 | 
							
									local staticIndex = -1;
							 | 
						|||
| 
								 | 
							
									if(newState != -1) {
							 | 
						|||
| 
								 | 
							
										state = newState;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(state == STATE_THROW) { // 陛栋? skill 酝缣 state_throw煎 霞??朝 赁偃暧 蝶鉴桧 毡朝等 桧匙缣 妇?怃朝 热翕戏煎 羹觼?棻..
							 | 
						|||
| 
								 | 
							
											//print("\n state == STATE_THROW:" + obj.getThrowIndex());
							 | 
						|||
| 
								 | 
							
										 if(obj.getThrowIndex() == SKILL_GRASP_HAND_OF_ANGER) { //GraspHandOfAnger // (碟喻暧 遗面锅)
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_GRASP_HANDOFANGER;
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										 else if(obj.getThrowIndex() == SKILL_CHANGE_HP_TO_MP) { // ChangeHpToMp (坚鳝暧 ?翮)
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_CHANGE_HPTOMP;
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										 else if(obj.getThrowIndex() == SKILL_SLOW_HEAL) { // SKILL_SLOW_HEAL
							 | 
						|||
| 
								 | 
							
											//SI_DS_SLOW_HEAL <- 20 // 蜗煎办?
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_SLOW_HEAL;
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										 else if(obj.getThrowIndex() == SKILL_STRIKING) { // SKILL_STRIKING
							 | 
						|||
| 
								 | 
							
								                //SKILL_STRIKING,						/// 蝶?塭桧缰
							 | 
						|||
| 
								 | 
							
												//SI_DS_STRIKING <- 22 // 蝶?塭桧缰
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_STRIKING;
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										 else if(obj.getThrowIndex() == SKILL_CURE) { // SKILL_CURE
							 | 
						|||
| 
								 | 
							
												//SKILL_CURE,							/// 听横 - ??卫瞪
							 | 
						|||
| 
								 | 
							
												//SI_DS_CURE <- 23 // 听横
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_CURE;
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										 else if(obj.getThrowIndex() == SKILL_BLESS) { // SKILL_BLESS
							 | 
						|||
| 
								 | 
							
												//SKILL_BLESS,						/// 绾溯蝶 - 偃樯卫瞪
							 | 
						|||
| 
								 | 
							
												//SI_DS_BLESS <- 25 // 虽?暧 蹴犒
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_BLESS;
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										 else if(obj.getThrowIndex() == SKILL_RISING_AREA) { // SKILL_RISING_AREA
							 | 
						|||
| 
								 | 
							
												//SKILL_RISING_AREA
							 | 
						|||
| 
								 | 
							
												//SI_DS_RISING_AREA <- 27 // 蝓茧霞
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_RISING_AREA;
							 | 
						|||
| 
								 | 
							
										 }				
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_ATTACK) {
							 | 
						|||
| 
								 | 
							
										if(isAvengerAwakenning(obj)) {
							 | 
						|||
| 
								 | 
							
											if(obj.getAttackIndex() == 3) {
							 | 
						|||
| 
								 | 
							
												staticIndex = SI_DS_DG_JUMP_ATTACK;
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											else {
							 | 
						|||
| 
								 | 
							
												staticIndex = SI_DS_DG_ATTACK;
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else {
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_ATTACK;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_JUMP_ATTACK) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_JUMP_ATTACK;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_DASH_ATTACK) {
							 | 
						|||
| 
								 | 
							
										if(isAvengerAwakenning(obj)) {
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_DG_DASH_ATTACK;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										else {
							 | 
						|||
| 
								 | 
							
											staticIndex = SI_DS_DASH_ATTACK;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_HIGH_SPEED_SPLASH) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_HIGH_SPEED_SLASH;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_EARTHQUAKE || passiveobjectIndex == 24103) { //24103	`Character/Priest/EarthQuakeRock.obj`
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_EARTH_QUAKE;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_SPINCUTTER) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_SPINCUTTER;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_HEDGEHOG) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_HEDGEHOG;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_FASTMOVE) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_FASTMOVE;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_EXECUTION) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_EXECUTION;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_RIPPER) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_RIPPER;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_POWER_OF_DARKNESS) {
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_DARK;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_ANTIAIR_UPPER) {
							 | 
						|||
| 
								 | 
							
								//SI_DS_ANTIAIR_UPPER <- 18 // 奢溜颤
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_ANTIAIR_UPPER;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_SMASHER) {
							 | 
						|||
| 
								 | 
							
								//SI_DS_SMASHER <- 19// 蝶衙敷
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_SMASHER;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_LUCKY_STRAIGHT) {
							 | 
						|||
| 
								 | 
							
								//SI_DS_LUCKY_STRAIGHT <- 21 // 楣郦 蝶?溯桧?
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_LUCKY_STRAIGHT;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_SECOND_UPPER) {
							 | 
						|||
| 
								 | 
							
									// STATE_SECOND_UPPER <- 30 		  //  撮钟萄横?
							 | 
						|||
| 
								 | 
							
								//SI_DS_SKILL_SECOND_UPPER <- 24 // 撮钟萄横?
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_SKILL_SECOND_UPPER;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_LUCKY_STRAIGHT) {
							 | 
						|||
| 
								 | 
							
								//SI_DS_LUCKY_STRAIGHT <- 21 // 楣郦 蝶?溯桧?
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_LUCKY_STRAIGHT;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_QUAKE_AREA) {
							 | 
						|||
| 
								 | 
							
									// STATE_QUAKE_AREA <- 26 		  //  钒瑰跷
							 | 
						|||
| 
								 | 
							
								//SI_DS_QUAKE_AREA <- 26 // 钒瑰跷
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_QUAKE_AREA;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_EX_DISASTER) {
							 | 
						|||
| 
								 | 
							
									// STATE_EX_DISASTER <- 74 		  //  ex蝶鉴 - 营懈
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_DISASTER;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									else if(state == STATE_PANDEMONIUM_EX) {
							 | 
						|||
| 
								 | 
							
									// STATE_PANDEMONIUM_EX <- 73 		  //  ex蝶鉴 - 犒葆瞪
							 | 
						|||
| 
								 | 
							
										staticIndex = SI_DS_PANDEMONI;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										//
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//print("\n staticIndex:" + staticIndex);
							 | 
						|||
| 
								 | 
							
									return staticIndex;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐荡 state蒂 羹觼?罹 醱瞪桧 ?蹂? 鼻鹧塭贼 学葆啪桧虽蒂 醱瞪卫面鄹栖棻..
							 | 
						|||
| 
								 | 
							
								// ?卫粽螃粽薛? 樯策蝶蒂 跷陛? 桧嵘朝 舆樯奢 state陛 桧嘐 棻艇鼻鹧煎 渗唳?击 阳 庵棵啪 等嘐虽陛 菟横鬲击 阳蒂 籀葬?晦 嫔?怃 殓栖棻..
							 | 
						|||
| 
								 | 
							
								function procDevilStrikeGauge(obj, passiveobjectIndex) 
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local staticIndex = getStaticDataIndexDevilGauge(obj, passiveobjectIndex, -1); 
							 | 
						|||
| 
								 | 
							
									//local passive_attack_staticIndex = getStaticDataIndexDevilGauge(obj, passiveobjectIndex); 
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// ?营 议葛搅暧 state蒂 羹觼?罹 葬欐肾朝高桧 -1桧 嬴栖塭贼 醱瞪?丑捡?棻朝 暧嘐殓栖棻..
							 | 
						|||
| 
								 | 
							
									//print("procDevilStrikeGauge:" + staticIndex);
							 | 
						|||
| 
								 | 
							
									if(staticIndex != -1) { // 
							 | 
						|||
| 
								 | 
							
										if(!IsAddDevilGauge(obj, staticIndex)) {
							 | 
						|||
| 
								 | 
							
											//print(" \n IsAddDevilGauge(obj, staticIndex) == false");
							 | 
						|||
| 
								 | 
							
										 return; // 醱瞪?楚斜蒂 羹觼?怃 -1桧 葬欐肾贼 FALSE蒂 葬欐?朝等 桧歇隆 醱瞪?怃朝 寰腌栖棻..
							 | 
						|||
| 
								 | 
							
										 }
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//print("addDevilGauge staticIndex :" + staticIndex);
							 | 
						|||
| 
								 | 
							
										local addValue = sq_GetIntData(obj, SKILL_DEVILSTRIKE, staticIndex);
							 | 
						|||
| 
								 | 
							
										//print("addValue:" + addValue + " maxValue:" +  getDevilMaxGaugeValue(obj));
							 | 
						|||
| 
								 | 
							
										 addDevilGauge(obj, addValue); // 学葆啪桧虽蒂 陕 state涤煎 蜃啪 醱瞪?栖棻
							 | 
						|||
| 
								 | 
							
										 		 
							 | 
						|||
| 
								 | 
							
										//obj.getVar("devilStrike").set_vector(0, -1); // 醱瞪桧 腑戏栖..桧薯 醱瞪斜虏~
							 | 
						|||
| 
								 | 
							
										// 桧 晦奖缣 渠?怃朝 桧薯 涡桧鼻 醱瞪?贼 寰肾晦 阳侥缣 ?楚斜蒂 -1高戏煎 撮?
							 | 
						|||
| 
								 | 
							
										local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽			
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(appendage) {
							 | 
						|||
| 
								 | 
							
											//print("appendage.sq_var.set_vector(DS_APEND_ADD_FLAG, -1);");
							 | 
						|||
| 
								 | 
							
											appendage.sq_var.set_vector(DS_APEND_ADD_FLAG, -1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// 横渐荡 attack妇湿 属寥?热菟 殓栖棻..
							 | 
						|||
| 
								 | 
							
								function onBeforeAttack_Avenger(obj, damager, bounding_box, is_stuck)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onAttack_Avenger(obj, damager, bounding_box, is_stuck)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return -1;
							 | 
						|||
| 
								 | 
							
									//print(" onAttack_Avenger" + isGrowTypeAvenger(obj));
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) return -1; // 横渐螳陛 嬴栖塭贼 传? 斜溥还 ?踵 桡击匏栖棻..	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									procDevilStrikeGauge(obj, -1); // 横渐荡 state蒂 羹觼?罹 醱瞪桧 ?蹂? 鼻鹧塭贼 学葆啪桧虽蒂 醱瞪卫面鄹栖棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onAfterAttack_Avenger(obj, damager, bounding_box, is_stuck)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function onAfterAttack_PassiveObject(passiveobj, damager, bounding_box, is_stuck)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setEnableCancelSkill_Avenger(obj, isEnable)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) return false; // 横渐螳陛 嬴栖塭贼 ?葬蝶?蒂 埠潍 桧翕?紫烟
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(!obj.isMyControlObject()) return false;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if(!isEnable) {
							 | 
						|||
| 
								 | 
							
										return true;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									// 念瘫潍缣怃朝 ?姜蝶鉴虏 警蜗桧 陛栋?栖棻. 蒙机濠:姜霞热 [2012.04.20]
							 | 
						|||
| 
								 | 
							
									//if(sq_isPVPMode())
							 | 
						|||
| 
								 | 
							
									{	
							 | 
						|||
| 
								 | 
							
										//127 `Priest/CancelFastmove.skl` // 警蜗 坚楼桧翕
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_FASTMOVE, isEnable);		
							 | 
						|||
| 
								 | 
							
										//128 `Priest/CancelHighSpeedSlash.skl` // 警蜗 坚楼漆晦
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_HIGH_SPEED_SLASH, isEnable);		
							 | 
						|||
| 
								 | 
							
										//129 `Priest/CancelEarthQuake.skl` // 警蜗 虽煆霞
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_EARTH_QUAKE, isEnable);		
							 | 
						|||
| 
								 | 
							
										//130 `Priest/CancelHedgehog.skl` // 警蜗 尔?暧 陛卫(?虽?斜)
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_HEDGEHOG, isEnable);		
							 | 
						|||
| 
								 | 
							
										//132 `Priest/CancelSpincutter.skl`  // 警蜗 蝶?醴搅
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_SPINCUTTER, isEnable);		
							 | 
						|||
| 
								 | 
							
										//170	`Priest/CancelBackStep.skl`		// 警蜗 寥蝶变
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
								//133 	`Priest/PandemoniumEx.skl`		// ?撩 : 犒葆瞪
							 | 
						|||
| 
								 | 
							
								//SKILL_PANDEMONIUM_EX			<- 133 // 犒葆瞪 
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_PANDEMONIUM_EX, isEnable);		
							 | 
						|||
| 
								 | 
							
								//134 	`Priest/DisasterEx.skl` 		// ?撩 : 营懈
							 | 
						|||
| 
								 | 
							
								//SKILL_EX_DISASTER			<- 134	// ex蝶鉴 - 营懈
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(SKILL_EX_DISASTER, isEnable);		
							 | 
						|||
| 
								 | 
							
										//
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									// 警蜗晦 饷薯 蒙机殓栖棻. (2012.04.12)
							 | 
						|||
| 
								 | 
							
									return true;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									//local size = 5;
							 | 
						|||
| 
								 | 
							
									local size = 4;
							 | 
						|||
| 
								 | 
							
									local cancel_skill_l =[];
							 | 
						|||
| 
								 | 
							
									local skill_l =[];
							 | 
						|||
| 
								 | 
							
									cancel_skill_l.resize(size);
							 | 
						|||
| 
								 | 
							
									skill_l.resize(size);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									cancel_skill_l[0] = SKILL_CANCEL_FASTMOVE;
							 | 
						|||
| 
								 | 
							
									cancel_skill_l[1] = SKILL_CANCEL_HIGH_SPEED_SLASH;
							 | 
						|||
| 
								 | 
							
									cancel_skill_l[2] = SKILL_CANCEL_EARTH_QUAKE;
							 | 
						|||
| 
								 | 
							
									cancel_skill_l[3] = SKILL_CANCEL_HEDGEHOG;
							 | 
						|||
| 
								 | 
							
									//cancel_skill_l[4] = SKILL_CANCEL_SPINCUTTER;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									skill_l[0] = SKILL_FASTMOVE;
							 | 
						|||
| 
								 | 
							
									skill_l[1] = SKILL_HIGH_SPEED_SLASH;
							 | 
						|||
| 
								 | 
							
									skill_l[2] = SKILL_EARTH_QUAKE;
							 | 
						|||
| 
								 | 
							
									skill_l[3] = SKILL_HEDGEHOG;
							 | 
						|||
| 
								 | 
							
									//skill_l[4] = SKILL_SPINCUTTER;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									for(local i=0;i<size;i+=1) {
							 | 
						|||
| 
								 | 
							
										// ?塭嘐搅煎 剩啖霞 郦 樯策蝶谛, 奢问寞彻桧 陛栋?虽 羹觼?罹 鳝娄?贼 ?卫粽螃粽薛?蒂 虏菟横 蛔烟?栖棻..
							 | 
						|||
| 
								 | 
							
										local level = sq_GetSkillLevel(obj, cancel_skill_l[i]);
							 | 
						|||
| 
								 | 
							
										local bRet = false;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if(level > 0) {
							 | 
						|||
| 
								 | 
							
											if(isEnable) {
							 | 
						|||
| 
								 | 
							
												// 罹晦缣怃 菸蝶陛蛤树樯虽 羹觼?瑭捡?棻.. 菸蝶陛蛤树 渗褐鼻鹧缣怃 橾奁 警蜗晦陛 釭陛贼 堆坞?虽 强朝陛..
							 | 
						|||
| 
								 | 
							
												if(!isAvengerAwakenning(obj))
							 | 
						|||
| 
								 | 
							
													bRet = true;
							 | 
						|||
| 
								 | 
							
												else {
							 | 
						|||
| 
								 | 
							
													return false;
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										//print("\n cancel_skill_l[i]:" + cancel_skill_l[i] + " level:" + level + " bRet:" + bRet + " skill_l[i]:" + skill_l[i]);
							 | 
						|||
| 
								 | 
							
										obj.setSkillCommandEnable(skill_l[i], bRet);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return true;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function playDashAttackSound_Avenger(obj) // 渠莲饵遴萄蒂 撮??朝 螃帼塭桧注胀 ?热殓栖棻..
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) return 0; // 横渐螳陛 嬴栖塭贼 传? 斜溥还 ?踵 桡击匏栖棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj)) return 1; // 陕撩橾隆 评煎 渠莲饵遴萄 撮??栖棻..
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 0;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function setActiveStatus_Avenger(obj, activeStatus, power)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return 0;
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj))
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										return 0; // 陕撩橾隆 评煎 鼻鹧桧鼻击 虞嬴帼董栖棻..
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								// setcurrentanimation桧 胀 ?缣 桧??瘫赀紫 娄湿 亵瞰击 嫔? 赅苌 setcurrentanimation?缣 夔?煤 ? 热 毡朝 squirrel function?轿击 ?栖棻..
							 | 
						|||
| 
								 | 
							
								function setCurrentAnimation_Avenger(obj, animation) 
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return;
							 | 
						|||
| 
								 | 
							
									if(!animation) return;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj)) { // 陕撩 菸蝶陛蛤树 渗褐 ?塭贼 setcurrentanimation 肾朝 赅苌 animation擎 瘫赀紫 亵瞰妇湿 ?楚斜蒂 螃?卫霾栖棻..
							 | 
						|||
| 
								 | 
							
										if(animation) {
							 | 
						|||
| 
								 | 
							
											animation.setNeverApplyAnotherPlayersEffectAlphaRate(false);
							 | 
						|||
| 
								 | 
							
											animation.setIsApplyAnotherPlayersEffectAlphaRate(false);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								//湍瞪击 亿煎 卫蒙? 阳 ?轿肾朝 葬掸 ?热
							 | 
						|||
| 
								 | 
							
								function resetDungeonStart_Avenger(obj, moduleType, resetReason, isDeadTower, isResetSkillUserCount)
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									if(!obj) return -1;	
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(appendage) {
							 | 
						|||
| 
								 | 
							
										if(appendage.sq_var.size_vector() == 5) { // 亿煎 殓潍?朝匙桧塭贼 学葆啪桧虽 热纂蒂 葬掸?栖棻..
							 | 
						|||
| 
								 | 
							
											appendage.sq_var.set_vector(1, 0); // ?营 学葆啪桧虽 热纂 樯策蝶 1
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									local awakening_appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_awakening.nut");
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(awakening_appendage) {
							 | 
						|||
| 
								 | 
							
										if(isAvengerAwakenning(obj)) {
							 | 
						|||
| 
								 | 
							
											awakening_appendage.setValid(false);
							 | 
						|||
| 
								 | 
							
											awakening_appendage.sq_var.set_vector(I_AVENGER_AWAKENING_VALID, 0);
							 | 
						|||
| 
								 | 
							
											obj.setObjectHeight(-1);
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return 1;
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								function takingAwakenSkillBack_Avenger(obj)
							 | 
						|||
| 
								 | 
							
								{	
							 | 
						|||
| 
								 | 
							
									if(!obj) return false;
							 | 
						|||
| 
								 | 
							
									if(!isGrowTypeAvenger(obj)) // 横渐荡陛 嬴棋 唳办 鼠亵勒 flowpriest煎
							 | 
						|||
| 
								 | 
							
										return false;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
									local state = obj.getState();
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									print("\n takingAwakenSkillBack:" + state + " isAvengerAwakenning(obj):" + isAvengerAwakenning(obj));
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(isAvengerAwakenning(obj) || state == STATE_AVENGER_AWAKENING) { // 陕撩 渗褐 - 菸蝶陛蛤树 鼻鹧塭贼 ?擎 // 渗褐 酝橾 鼻鹧橾阳紫 桧够缣 菟横陛捡?栖棻..
							 | 
						|||
| 
								 | 
							
										obj.sq_IntVectClear();
							 | 
						|||
| 
								 | 
							
										obj.sq_IntVectPush(0); // substate撮?
							 | 
						|||
| 
								 | 
							
										obj.sq_addSetStatePacket(STATE_AWAKENING_TURN_OFF, STATE_PRIORITY_IGNORE_FORCE, true);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if(obj.getVar("takingAwakenSkillBack").size_vector() == 0) {
							 | 
						|||
| 
								 | 
							
										obj.getVar("takingAwakenSkillBack").push_vector(0);
							 | 
						|||
| 
								 | 
							
										obj.getVar("takingAwakenSkillBack").push_vector(0);
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									obj.getVar("takingAwakenSkillBack").set_vector(0, 1);
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return true;
							 | 
						|||
| 
								 | 
							
								} |