160 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			160 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//------------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								function IsCheckUseFallingSoul(obj) 
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return false; 
							 | 
						||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						||
| 
								 | 
							
									if(!appendage) return false;
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if(appendage.sq_var.size_vector() > 1) {
							 | 
						||
| 
								 | 
							
										// 7. 学葆啪桧虽 模赅榆
							 | 
						||
| 
								 | 
							
										local skillLevel = sq_GetSkillLevel(obj, SKILL_FALLING_SOUL);		
							 | 
						||
| 
								 | 
							
										local consumeMax = sq_GetIntData(obj, SKILL_FALLING_SOUL, 0, skillLevel);
							 | 
						||
| 
								 | 
							
										local time       = sq_GetLevelData(obj, SKILL_FALLING_SOUL, 1, skillLevel);
							 | 
						||
| 
								 | 
							
										local darkPower  = sq_GetLevelData(obj, SKILL_FALLING_SOUL, 2, skillLevel);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										//DS_APEND_MAX_GAUGE <- 0 // 譆渠 学葆啪桧虽 热纂
							 | 
						||
| 
								 | 
							
										//DS_APEND_GAUGE <- 1 // ?营 学葆啪桧虽 热纂
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										local consumeValue = appendage.sq_var.get_vector(DS_APEND_GAUGE); // gauge index 0
							 | 
						||
| 
								 | 
							
										if(consumeValue == 0)
							 | 
						||
| 
								 | 
							
										{		
							 | 
						||
| 
								 | 
							
											obj.startCantUseSkillWarning();
							 | 
						||
| 
								 | 
							
											if (obj.isMessage())
							 | 
						||
| 
								 | 
							
												sq_AddMessage(29002); // 29002>学葆啪桧虽陛 睡褶?栖棻.
							 | 
						||
| 
								 | 
							
											return false;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										if(consumeMax < consumeValue)
							 | 
						||
| 
								 | 
							
											consumeValue = consumeMax;		
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
											
							 | 
						||
| 
								 | 
							
										local consumeRate = sq_GetLevelData(obj, SKILL_FALLING_SOUL, 0, skillLevel);
							 | 
						||
| 
								 | 
							
										consumeRate = consumeRate.tofloat()/100.0;
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										//print("---- Falling Soul info -----------------------")
							 | 
						||
| 
								 | 
							
										//print("consume : " + consumeValue + " / " + consumeRate);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										local magicPowerUpValue = (consumeValue*consumeRate) + 0.5;		
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										print("magicPowerUpValue : " + magicPowerUpValue);		
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										magicPowerUpValue = magicPowerUpValue.tointeger();
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										print("magicPowerUpValue : " + magicPowerUpValue);
							 | 
						||
| 
								 | 
							
										//print("time : " + time);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										local appendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, SKILL_FALLING_SOUL, false, "FallingSoul", false);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 帼? UI 轿溘 横?萄蒂 勘横舆晦 瞪缣 ?轿肾横捡 ?栖棻..
							 | 
						||
| 
								 | 
							
										local skill_level = sq_GetSkillLevel(obj, SKILL_FALLING_SOUL);
							 | 
						||
| 
								 | 
							
										appendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_FALLING_SOUL, skill_level);
							 | 
						||
| 
								 | 
							
										//
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										// 罹晦怃 append 蒙机		
							 | 
						||
| 
								 | 
							
										CNSquirrelAppendage.sq_Append(appendage, obj, obj);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										local change_appendage = appendage.sq_getChangeStatus("FallingSoulMagic");
							 | 
						||
| 
								 | 
							
										if(!change_appendage) {
							 | 
						||
| 
								 | 
							
											change_appendage = appendage.sq_AddChangeStatus("FallingSoulMagic",obj, obj, time, CHANGE_STATUS_TYPE_MAGICAL_ATTACK, false, magicPowerUpValue.tointeger());
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// 奢楼隶陛, 檩楼撩 荡?隶陛, 赀楼撩 荡?马模
							 | 
						||
| 
								 | 
							
										if(change_appendage) {
							 | 
						||
| 
								 | 
							
											change_appendage.clearParameter();
							 | 
						||
| 
								 | 
							
											change_appendage.addParameter(CHANGE_STATUS_TYPE_MAGICAL_ATTACK, false, magicPowerUpValue.tofloat());
							 | 
						||
| 
								 | 
							
											change_appendage.addParameter(CHANGE_STATUS_TYPE_ELEMENT_ATTACK_DARK, false, darkPower.tofloat());
							 | 
						||
| 
								 | 
							
											//local appendageInfo = change_appendage.getAppendageInfo();
							 | 
						||
| 
								 | 
							
											//appendageInfo.setValidTime(time);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										local appendageInfo = appendage.getAppendageInfo();
							 | 
						||
| 
								 | 
							
										appendageInfo.setValidTime(time);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										consumeDevilGauge(obj, consumeValue); // 学葆啪桧虽蒂 还罹鄹栖棻..
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
										return true;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									return false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function checkCommandEnable_FallingSoul(obj)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if(!obj) return false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									local bRet = true;
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local state = obj.sq_GetSTATE();
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if(state == STATE_ATTACK) {
							 | 
						||
| 
								 | 
							
										////警蜗晦 饷薯 蒙机 (2012.04.12) bRet = obj.sq_IsCommandEnable(SKILL_FALLING_SOUL);
							 | 
						||
| 
								 | 
							
										bRet = obj.sq_IsCommandEnable(SKILL_FALLING_SOUL);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									if(!bRet) return false;
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									local appendage = obj.GetSquirrelAppendage("Appendage/Character/ap_avenger_devilstrike.nut"); // 等网蝶?塭桧醴 横?蛤虽
							 | 
						||
| 
								 | 
							
									if(!appendage) 
							 | 
						||
| 
								 | 
							
										return false;
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									local consumeValue = appendage.sq_var.get_vector(DS_APEND_GAUGE); // gauge index 0
							 | 
						||
| 
								 | 
							
									if(consumeValue == 0)
							 | 
						||
| 
								 | 
							
										return false;	
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									return true;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// 蝶鉴 撮睡嫦翕 亵勒击 虏菟横舆朝 ?热殓栖棻.. 嫦翕 亵勒 state朝 桧嘐 模蝶缣怃 掘?肾横 毡蝗栖棻. 桧够缣怃 useskill娄 setstate蒂 虽姜?舆贼 腌栖棻.
							 | 
						||
| 
								 | 
							
								function checkExecutableSkill_FallingSoul(obj)  
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									if(!obj) return false;
							 | 
						||
| 
								 | 
							
									local b_useskill = obj.sq_IsUseSkill(SKILL_FALLING_SOUL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if(b_useskill) {
							 | 
						||
| 
								 | 
							
										if(IsCheckUseFallingSoul(obj)) { // 学葆啪桧虽煎 籀?击 噩 热 毡蝗栖棻..					
							 | 
						||
| 
								 | 
							
											if(obj.isMyControlObject())
							 | 
						||
| 
								 | 
							
											{
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectClear();				
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(0);
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(0); //THROW_TYPE_SKILL
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(SKILL_FALLING_SOUL);
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(500);
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(500);
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(3);
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(4);  //SPEED_TYPE_CAST_SPEED
							 | 
						||
| 
								 | 
							
												obj.sq_IntVectPush(4);  //SPEED_TYPE_CAST_SPEED
							 | 
						||
| 
								 | 
							
												obj.sq_addSetStatePacket(STATE_THROW, STATE_PRIORITY_USER, true);
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											return true;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}	
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									return false;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//------------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// state蒂 撮??坚 籀挤戏煎 菟横螃啪 腌栖棻. 陕谦 葬模蝶蒂 撮??栖棻. 
							 | 
						||
| 
								 | 
							
								function onSetState_FallingSoul(obj, state, datas, isResetTimer)
							 | 
						||
| 
								 | 
							
								{	
							 | 
						||
| 
								 | 
							
									if(!obj) return;
							 | 
						||
| 
								 | 
							
								}
							 |