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; | ||
|  | } |