|
|
|
|
require( "common" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function AdlFH_Marlene( Handle, MapIndex )
|
|
|
|
|
cExecCheck "AdlFH_Marlene"
|
|
|
|
|
|
|
|
|
|
return Guarder( Handle, MapIndex )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function AdlFH_GuardAlber( Handle, MapIndex )
|
|
|
|
|
cExecCheck "AdlFH_GuardAlber"
|
|
|
|
|
|
|
|
|
|
return Guarder( Handle, MapIndex )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function AdlFH_GuardEstelle( Handle, MapIndex )
|
|
|
|
|
cExecCheck "AdlFH_GuardEstelle"
|
|
|
|
|
|
|
|
|
|
return Guarder( Handle, MapIndex )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GuardMemBlock = {}
|
|
|
|
|
|
|
|
|
|
function Guarder( Handle, MapIndex )
|
|
|
|
|
cExecCheck "Guarder"
|
|
|
|
|
|
|
|
|
|
local Var = GuardMemBlock[Handle]
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) then -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if InstanceField[MapIndex] ~= nil then
|
|
|
|
|
|
|
|
|
|
local Field = InstanceField[MapIndex]
|
|
|
|
|
|
|
|
|
|
if Field ~= nil then
|
|
|
|
|
|
|
|
|
|
if Handle == Field.Marlene then
|
|
|
|
|
|
|
|
|
|
cMobDialog( MapIndex,
|
|
|
|
|
DialogInfo.Marlene_Death[1].Portrait,
|
|
|
|
|
DialogInfo.Marlene_Death[1].FileName,
|
|
|
|
|
DialogInfo.Marlene_Death[1].Index )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle ) -- <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
GuardMemBlock[Handle] = nil -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
return ReturnAI.END
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var == nil then
|
|
|
|
|
GuardMemBlock[Handle] = {}
|
|
|
|
|
|
|
|
|
|
Var = GuardMemBlock[Handle]
|
|
|
|
|
|
|
|
|
|
Var.Handle = Handle
|
|
|
|
|
Var.MapIndex = MapIndex
|
|
|
|
|
|
|
|
|
|
Var.StepFunc = GuarderStop
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Var.StepFunc( Var )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function CheckOnSurvivalOfLoussier( Var )
|
|
|
|
|
cExecCheck "CheckOnSurvivalOfLoussier"
|
|
|
|
|
|
|
|
|
|
if Var == nil then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ʵ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD> <EFBFBD>ڵ<EFBFBD>
|
|
|
|
|
if InstanceField[Var.MapIndex] == nil then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local loussier = InstanceField[Var.MapIndex].LoussierHandle
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴٰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if loussier == nil then
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle ) -- <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cNPCVanish( Var.Handle )
|
|
|
|
|
|
|
|
|
|
Var = nil
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GuarderStop( Var )
|
|
|
|
|
cExecCheck "GuarderStop"
|
|
|
|
|
|
|
|
|
|
CheckOnSurvivalOfLoussier( Var )
|
|
|
|
|
|
|
|
|
|
return ReturnAI.END
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function GuarderActivity( Var )
|
|
|
|
|
cExecCheck "GuarderActivity"
|
|
|
|
|
|
|
|
|
|
CheckOnSurvivalOfLoussier( Var )
|
|
|
|
|
|
|
|
|
|
return ReturnAI.CPP
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|