RegisterTableGoal(GOAL_CrystalLizard_215000_Battle, "GOAL_CrystalLizard_215000_Battle") REGISTER_GOAL_NO_SUB_GOAL(GOAL_CrystalLizard_215000_Battle, true) Goal.Initialize = function (self, ai, goal, battleActivatedCount) end Goal.Activate = function (self, ai, goal) Init_Pseudo_Global(ai, goal) ai:SetStringIndexedNumber("Dist_SideStep", 0) ai:SetStringIndexedNumber("Dist_BackStep", 0) local probabilities = {} local acts = {} local paramTbls = {} Common_Clear_Param(probabilities, acts, paramTbls) local distance = ai:GetDist(TARGET_ENE_0) local distance1 = ai:GetDist(TARGET_FRI_0) local HpRateFri = ai:GetHpRate(TARGET_FRI_0) local random = ai:GetRandam_Int(1, 100) local f2_local5 = ai:GetExcelParam(AI_EXCEL_THINK_PARAM_TYPE__thinkAttr_doAdmirer) local f2_local6 = ai:GetEventRequest() local f2_local7 = 6 if ai:GetNpcThinkParamID() == 21550000 then if distance >= 10 then probabilities[10] = 100 elseif distance < 10 and 2 then probabilities[4] = 1000 else probabilities[3] = 100 end elseif ai:GetNpcThinkParamID() == 21550010 then if distance >= 7 then probabilities[3] = 100 elseif distance < 7 and distance >= 2 then if ai:GetTimer(0) == 0 then probabilities[5] = 1000 end probabilities[4] = 100 probabilities[6] = 100 probabilities[8] = 1000 elseif HpRateFri <= 0.7 and distance1 <= 1 and distance > 2 then probabilities[2] = 1000 elseif distance < 2 then probabilities[7] = 10 probabilities[11] = 10 probabilities[14] = 1000 else probabilities[9] = 100 end else probabilities[9] = 100 end acts[1] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act01) acts[2] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act02) acts[3] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act03) acts[4] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act04) acts[5] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act05) acts[6] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act06) acts[7] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act07) acts[8] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act08) acts[9] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act09) acts[10] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act10) acts[11] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act11) acts[12] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act12) acts[13] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act13) acts[14] = REGIST_FUNC(ai, goal, CrystalLizard215000_Act14) local actAfter = REGIST_FUNC(ai, goal, CrystalLizard215000_ActAfter_AdjustSpace) Common_Battle_Activate(ai, goal, probabilities, acts, actAfter, paramTbls) end function CrystalLizard215000_Act01(ai, goal, paramTbl) local animationId = 3000 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_SELF, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --heal function CrystalLizard215000_Act02(ai, goal, paramTbl) local animationId = 3002 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_SELF, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end function CrystalLizard215000_Act03(ai, goal, paramTbl) goal:AddSubGoal(GOAL_COMMON_ApproachTarget, 1, TARGET_FRI_0, 5, TARGET_SELF, false, -1) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --Gravity ball function CrystalLizard215000_Act04(ai, goal, paramTbl) local animationId = 3003 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --Glintblade Phalanx function CrystalLizard215000_Act05(ai, goal, paramTbl) local animationId = 3004 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) ai:SetTimer(0, ai:GetRandam_Int(5, 7)) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --Magic Downpour function CrystalLizard215000_Act06(ai, goal, paramTbl) local animationId = 3005 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --Rock Blaster function CrystalLizard215000_Act07(ai, goal, paramTbl) local animationId = 3006 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --flame sling function CrystalLizard215000_Act08(ai, goal, paramTbl) local animationId = 3007 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --leave target function CrystalLizard215000_Act09(ai, goal, paramTbl) goal:AddSubGoal(GOAL_COMMON_LeaveTarget, 10, TARGET_ENE_0, 20, TARGET_SELF, false, -1) local animationId = 3000 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 --goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_SELF, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end function CrystalLizard215000_Act10(ai, goal, paramTbl) goal:AddSubGoal(GOAL_COMMON_ApproachTarget, 3.5, TARGET_ENE_0, 5, TARGET_SELF, false, -1) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --flamethrower function CrystalLizard215000_Act11(ai, goal, paramTbl) local animationId = 3008 local animationId1 = 3009 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = 999 local turnFaceAngle = 999 if ai:IsInsideTarget(TARGET_ENE_0, AI_DIR_TYPE_L, 90) then goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) else goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId1, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) end GetWellSpace_Odds = 0 return GetWellSpace_Odds end --grant me strength function CrystalLizard215000_Act12(ai, goal, paramTbl) local animationId = 3010 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_SELF, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end -- shattering crystal function CrystalLizard215000_Act13(ai, goal, paramTbl) local animationId = 3011 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end --Bestial Sling function CrystalLizard215000_Act14(ai, goal, paramTbl) local animationId = 3012 local successDistance = 999 - ai:GetMapHitRadius(TARGET_SELF) local turnTime = -1 local turnFaceAngle = 0 goal:AddSubGoal(GOAL_COMMON_AttackTunableSpin, 10, animationId, TARGET_ENE_0, successDistance, turnTime, turnFaceAngle, 0, 0) GetWellSpace_Odds = 0 return GetWellSpace_Odds end function CrystalLizard215000_ActAfter_AdjustSpace(ai, goal, paramTbl) goal:AddSubGoal(GOAL_CrystalLizard215000_AfterAttackAct, 10) end Goal.Update = function (self, ai, goal) return Update_Default_NoSubGoal(self, ai, goal) end Goal.Terminate = function (self, ai, goal) end