594 lines
20 KiB
Lua
594 lines
20 KiB
Lua
|
|
|||
|
function PetBaseRoutine( PetMem )
|
|||
|
cExecCheck( "PetBaseRoutine" )
|
|||
|
|
|||
|
if PetMem == nil
|
|||
|
then
|
|||
|
DebugLog( "PetBaseRoutine::PetMem is nil" )
|
|||
|
return ReturnAI["END"]
|
|||
|
end
|
|||
|
|
|||
|
local nHandle = PetMem["PetInfo"]["nHandle"]
|
|||
|
|
|||
|
-- <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if cIsObjectDead( nHandle ) == 1
|
|||
|
then
|
|||
|
-- AI <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD>
|
|||
|
cAIScriptSet( nHandle )
|
|||
|
|
|||
|
-- <20><EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
gPetAIMemory["PetBase"][ nHandle ] = nil
|
|||
|
|
|||
|
DebugLog( "PetBaseRoutine::Pet Has Died - nHandle( "..nHandle.." )" )
|
|||
|
return ReturnAI["END"]
|
|||
|
end
|
|||
|
|
|||
|
-- <09><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
-- <09><><EFBFBD><EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD> üũ( <20>ʸ<EFBFBD>ũ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
|||
|
-- <09><><EFBFBD><EFBFBD> <20><EFBFBD><D7BE><EFBFBD><EFBFBD><EFBFBD> üũ ( <20><><EFBFBD><EFBFBD> üũ )
|
|||
|
-- <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ ( <20><><EFBFBD><EFBFBD> <20><><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҷ<EFBFBD><D2B7><EFBFBD> üũ )
|
|||
|
-- <09><><EFBFBD>ΰ<EFBFBD><CEB0><EFBFBD> <20>Ÿ<EFBFBD> üũ( <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> )
|
|||
|
-- <09><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD> üũ
|
|||
|
-- <09><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD> üũ
|
|||
|
local nMasterHandle = PetMem["MasterInfo"]["nHandle"]
|
|||
|
|
|||
|
if cIsObjectDead( nMasterHandle ) == 1
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20><>ü<EFBFBD><C3BC> <20><><EFBFBD>ų<EFBFBD> <20><>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
end
|
|||
|
|
|||
|
local sMasterMode = cGetObjectMode( nMasterHandle );
|
|||
|
if sMasterMode == nil
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ã<EFBFBD><C3A3> : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػڷ<D8BB> <20><><EFBFBD>ų<EFBFBD> <20><> <20><EFBFBD><D7B7>Ŵϱ<C5B4>
|
|||
|
cAIScriptSet( nHandle )
|
|||
|
gPetAIMemory["PetBase"][ nHandle ] = nil
|
|||
|
|
|||
|
DebugLog( "PetBaseRoutine::cGetObjectMode Fail - nHandle( "..nHandle.." )" )
|
|||
|
return ReturnAI["END"]
|
|||
|
end
|
|||
|
|
|||
|
DebugLog( "PetBaseRoutine:: Point 1 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>¿<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.." )
|
|||
|
-------------------------------------------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------------------------------------------
|
|||
|
------ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>¿<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ൿ <20><>ȭ <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3>, Ư<><C6AF><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3>
|
|||
|
local tMode = PetMem["PetInfo"]["PetMode"] -- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> <20>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
-- <20><EFBFBD><D7BE><EFBFBD> <20><><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD> <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> AI<41><49> <20><><EFBFBD><EFBFBD> AI <20>ʱ<EFBFBD>ȭ
|
|||
|
if tMode["nMasterMode"] == PMM_DIE and sMasterMode ~= "corpse"
|
|||
|
then
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
tMode["nMasterMode"] = PMM_NONE
|
|||
|
tMode["nActionMode"] = PAM_NONE
|
|||
|
end
|
|||
|
|
|||
|
-- <20><><EFBFBD>̵<EFBFBD> <20><EFBFBD><D7BC><EFBFBD> <20>ƴҶ<C6B4> <20><> <20><> <20><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><><EFBFBD>ֱ<EFBFBD>
|
|||
|
if tMode["nMasterMode"] ~= PMM_IDLE or tMode["nActionMode"] ~= PAM_IDLE_ACT
|
|||
|
then
|
|||
|
PetMem["PetInfo"]["Time"]["EnterIdleAction"] = PetMem["InitialSec"]
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
if sMasterMode == "linking"
|
|||
|
then
|
|||
|
tMode["nMasterMode"] = PMM_LINK
|
|||
|
DebugLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_LINK - nHandle( "..nHandle.." )" )
|
|||
|
elseif sMasterMode == "corpse"
|
|||
|
then
|
|||
|
if tMode["nMasterMode"] < PMM_DIE -- <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD>üũ
|
|||
|
then
|
|||
|
-- Die <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
-- <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD> <20>̵<EFBFBD><CCB5>Ѱ<EFBFBD>ó<EFBFBD><C3B3> ǥ<><C7A5>
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
tMode["nActionMode"] = PAM_NONE
|
|||
|
|
|||
|
-- PupCaseDesc <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD> PAI Ÿ<><C5B8><EFBFBD><EFBFBD> Ȯ<><C8AE> <20><> Valid <20><> <20><> <20><>ũ<EFBFBD><C5A9>Ʈ <20><EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ, <20><><EFBFBD><EFBFBD><EFBFBD>带 <20><EFBFBD><DFBB><EFBFBD>Ų<EFBFBD><C5B2>.
|
|||
|
local tPetDieActRecord = { cPet_GetActionRecord( nHandle, "die" ) } -- { "PupAITypeString", "SM_Inx", "HairEffect", "SoundFile" }
|
|||
|
|
|||
|
if tPetDieActRecord ~= nil
|
|||
|
then
|
|||
|
if tPetDieActRecord[ 1 ] == "script"
|
|||
|
then
|
|||
|
if tPetDieActRecord[ 2 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseScriptMessage( nHandle, tPetDieActRecord[ 2 ] )
|
|||
|
end
|
|||
|
|
|||
|
if tPetDieActRecord[ 3 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseObjectEffect( nHandle, tPetDieActRecord[ 3 ] )
|
|||
|
end
|
|||
|
|
|||
|
if tPetDieActRecord[ 4 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseObjectSound( nHandle, tPetDieActRecord[ 4 ] )
|
|||
|
end
|
|||
|
|
|||
|
cExecCheck( "PetBaseRoutine" )
|
|||
|
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CheckLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_DIE - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
tMode["nMasterMode"] = PMM_DIE
|
|||
|
DebugLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_DIE - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
elseif sMasterMode == "normal" or sMasterMode == "fight" or sMasterMode == "riding" or sMasterMode == "house" or sMasterMode == "booth"
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD> üũ
|
|||
|
if cPet_IsMasterCalling( nHandle ) == true
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD>
|
|||
|
if tMode["nMasterMode"] <= PMM_CALL -- <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD>üũ
|
|||
|
then
|
|||
|
-- Call <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
-- PupCaseDesc <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD> PAI Ÿ<><C5B8><EFBFBD><EFBFBD> Ȯ<><C8AE> <20><> Valid <20><> <20><> <20><>ũ<EFBFBD><C5A9>Ʈ <20><EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ, <20><><EFBFBD><EFBFBD><EFBFBD>带 <20><EFBFBD><DFBB><EFBFBD>Ų<EFBFBD><C5B2>.
|
|||
|
local tPetCallActRecord = { cPet_GetActionRecord( nHandle, "call" ) } -- { "PupAITypeString", "SM_Inx", "HairEffect", "SoundFile" }
|
|||
|
|
|||
|
if tPetCallActRecord ~= nil
|
|||
|
then
|
|||
|
if tPetCallActRecord[ 1 ] == "script"
|
|||
|
then
|
|||
|
if tPetCallActRecord[ 2 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseScriptMessage( nHandle, tPetCallActRecord[ 2 ] )
|
|||
|
end
|
|||
|
|
|||
|
if tPetCallActRecord[ 3 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseObjectEffect( nHandle, tPetCallActRecord[ 3 ] )
|
|||
|
end
|
|||
|
|
|||
|
if tPetCallActRecord[ 4 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseObjectSound( nHandle, tPetCallActRecord[ 4 ] )
|
|||
|
end
|
|||
|
|
|||
|
cExecCheck( "PetBaseRoutine" )
|
|||
|
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
-- <20>ϴ<EFBFBD> <20>ϴ<EFBFBD><CFB4><EFBFBD> <20><><EFBFBD>߱<EFBFBD> : <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
-- <20><><EFBFBD>ڸ<EFBFBD> <20>̵<EFBFBD> <20><>û<EFBFBD><C3BB>, <20><><EFBFBD><EFBFBD><EFBFBD>ٱ⺸<D9B1><E2BAB8> Ŭ<><C5AC><EFBFBD><EFBFBD> <20><>ũ <20><><EFBFBD>缭 <20>ణ <20><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5>Ѱ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD>DZ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>׳<EFBFBD> <20><>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD> <20><DEB8> ǥ<><C7A5>.
|
|||
|
-- cRunTo( nHandle, tPetCoord["x"], tPetCoord["y"], 1000 )
|
|||
|
-- <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD> <20>̵<EFBFBD><CCB5>Ѱ<EFBFBD>ó<EFBFBD><C3B3> ǥ<><C7A5>
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
tMode["nActionMode"] = PAM_NONE
|
|||
|
CheckLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_CALL - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
tMode["nMasterMode"] = PMM_CALL
|
|||
|
DebugLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_CALL - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
else
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD><CEB8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
if tMode["nActionMode"] <= PAM_FAR_MISSED -- <20><> <20><><EFBFBD><EFBFBD> <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ൿ<EFBFBD>ϴ°<CFB4><C2B0><EFBFBD> <20>ƴҶ<C6B4><D2B6><EFBFBD> ó<><C3B3><EFBFBD>ϱ<EFBFBD>.
|
|||
|
then
|
|||
|
|
|||
|
if tMode["nActionMode"] <= PAM_FAR_MISSED -- <20><> <20><><EFBFBD><EFBFBD> <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ൿ<EFBFBD>ϴ°<CFB4><C2B0><EFBFBD> <20>ƴҶ<C6B4><D2B6><EFBFBD> ó<><C3B3><EFBFBD>ϱ<EFBFBD>.
|
|||
|
then
|
|||
|
local nDistanceSquare = cDistanceSquar( nHandle, nMasterHandle )
|
|||
|
|
|||
|
----------------------------------------------------------------------
|
|||
|
---------- //<2F>Ÿ<EFBFBD><C5B8><EFBFBD> Pattern Decision ---------------------------------
|
|||
|
if nDistanceSquare < PS_nDS_AwayStart
|
|||
|
then
|
|||
|
if tMode["nMasterMode"] == PMM_AWAY
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
-- cRunTo( nHandle, tPetCoord["x"], tPetCoord["y"], 1000 )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
end
|
|||
|
|
|||
|
if tMode["nMasterMode"] ~= PMM_IDLE
|
|||
|
then
|
|||
|
local nWaitIdleActSec = cRandomInt( PetSystem_nSecMinWaitActAtIdle, PetSystem_nSecMaxWaitActAtIdle )
|
|||
|
|
|||
|
-- Idle <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
PetMem["PetInfo"]["Time"]["ExecSaveTendency"] = PetMem["CurSec"] + PetSystem_nSecWaitSaveTendencyAtIdle
|
|||
|
PetMem["PetInfo"]["Time"]["ExecIdleActMode"] = PetMem["CurSec"] + nWaitIdleActSec
|
|||
|
CheckLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_IDLE - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
tMode["nMasterMode"] = PMM_IDLE
|
|||
|
DebugLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_IDLE - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
elseif nDistanceSquare < PS_nDS_FarStart
|
|||
|
then
|
|||
|
if tMode["nMasterMode"] ~= PMM_AWAY
|
|||
|
then
|
|||
|
-- Away <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
-- PupCaseDesc <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD> PAI Ÿ<><C5B8><EFBFBD><EFBFBD> Ȯ<><C8AE> <20><> Valid <20><> <20><> <20><>ũ<EFBFBD><C5A9>Ʈ <20><EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ, <20><><EFBFBD><EFBFBD><EFBFBD>带 <20><EFBFBD><DFBB><EFBFBD>Ų<EFBFBD><C5B2>.
|
|||
|
local tPetFollowActRecord = { cPet_GetActionRecord( nHandle, "follow" ) } -- { "PupAITypeString", "SM_Inx", "HairEffect", "SoundFile" }
|
|||
|
|
|||
|
if tPetFollowActRecord ~= nil
|
|||
|
then
|
|||
|
if tPetFollowActRecord[ 1 ] == "script"
|
|||
|
then
|
|||
|
if tPetFollowActRecord[ 2 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseScriptMessage( nHandle, tPetFollowActRecord[ 2 ] )
|
|||
|
end
|
|||
|
|
|||
|
if tPetFollowActRecord[ 3 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseObjectEffect( nHandle, tPetFollowActRecord[ 3 ] )
|
|||
|
end
|
|||
|
|
|||
|
if tPetFollowActRecord[ 4 ] ~= "-"
|
|||
|
then
|
|||
|
PetBaseObjectSound( nHandle, tPetFollowActRecord[ 4 ] )
|
|||
|
end
|
|||
|
|
|||
|
cExecCheck( "PetBaseRoutine" )
|
|||
|
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
CheckLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_AWAY - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
tMode["nMasterMode"] = PMM_AWAY
|
|||
|
DebugLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_AWAY - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
else
|
|||
|
if tMode["nMasterMode"] == PMM_AWAY or tMode["nMasterMode"] == PMM_IDLE
|
|||
|
then
|
|||
|
-- <20>ʹ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
-- cRunTo( nHandle, tPetCoord["x"], tPetCoord["y"], 1000 )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
end
|
|||
|
|
|||
|
if tMode["nMasterMode"] ~= PMM_FAR
|
|||
|
then
|
|||
|
-- Far <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
PetMem["PetInfo"]["Time"]["EnterFarIdle"] = PetMem["CurSec"]
|
|||
|
CheckLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_FAR - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
tMode["nMasterMode"] = PMM_FAR
|
|||
|
DebugLog( "PetBaseRoutine::PET_MASTER_MODE-PMM_FAR - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
end
|
|||
|
---------- <20>Ÿ<EFBFBD><C5B8><EFBFBD> Pattern Decision// ---------------------------------
|
|||
|
----------------------------------------------------------------------
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
elseif sMasterMode == "logoutwait"
|
|||
|
then
|
|||
|
-- <20>αƿ<D7BE><C6BF><EFBFBD><EFBFBD><EFBFBD> : <20>̰<EFBFBD> <20><><EFBFBD><EFBFBD> <20>˾ƺ<CBBE><C6BA><EFBFBD>
|
|||
|
else
|
|||
|
-- <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD>ϰ<EFBFBD> : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
DebugLog( "PetBaseRoutine:: Point 2 - <20>ൿ<EFBFBD>ϰ<EFBFBD> <20>ִ<EFBFBD> <20>Ϳ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.." )
|
|||
|
-------------------------------------------------------------------------------------------------------------------
|
|||
|
-------------------------------------------------------------------------------------------------------------------
|
|||
|
------ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡 <20><><EFBFBD><EFBFBD> <20>ൿ ó<><C3B3>
|
|||
|
if tMode["nMasterMode"] == PMM_IDLE -----------------------------------------------------------------------------------------------------------PMM_IDLE
|
|||
|
then
|
|||
|
-- <20><><EFBFBD>̵<EFBFBD> <20>ð<EFBFBD> ī<><C4AB><EFBFBD><EFBFBD> 2<><32><EFBFBD><EFBFBD> <20>ϱ<EFBFBD>
|
|||
|
|
|||
|
-- <20>ൿ Ÿ<>ӿ<EFBFBD> <20>ൿ <20><><EFBFBD><EFBFBD>
|
|||
|
if PetMem["PetInfo"]["Time"]["ExecIdleActMode"] < PetMem["CurSec"]
|
|||
|
then
|
|||
|
-- <20>ൿ<EFBFBD><E0B5BF> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
--local tPetIdleActRecord = { cPet_GetActionRecord( nHandle, "idle" ) } -- { "PupAITypeString", "SM_Inx", "HairEffect", "SoundFile" }
|
|||
|
|
|||
|
if PetMem["PetInfo"]["tCurIdleActRecord"] == nil
|
|||
|
then
|
|||
|
PetMem["PetInfo"]["tCurIdleActRecord"] = { cPet_GetActionRecord( nHandle, "idle" ) }
|
|||
|
end
|
|||
|
|
|||
|
--if tPetIdleActRecord ~= nil
|
|||
|
if PetMem["PetInfo"]["tCurIdleActRecord"] ~= nil
|
|||
|
then
|
|||
|
if PetBaseIdleAction( PetMem, PetMem["PetInfo"]["tCurIdleActRecord"] ) == false
|
|||
|
then
|
|||
|
ErrorLog( "PetBaseRoutine::PetBaseIdleAction Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
cExecCheck( "PetBaseRoutine" )
|
|||
|
else
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_GetActionRecord Failed ["..nHandle.."]" );
|
|||
|
end
|
|||
|
|
|||
|
-- <20>ൿ<EFBFBD><E0B5BF><EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
tMode["nActionMode"] = PAM_IDLE_ACT
|
|||
|
DebugLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_IDLE_ACT - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
else
|
|||
|
tMode["nActionMode"] = PAM_IDLE_WAIT
|
|||
|
DebugLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_IDLE_WAIT - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
-- <20><><EFBFBD><EFBFBD> Ÿ<>ӿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>û
|
|||
|
if PetMem["PetInfo"]["Time"]["ExecSaveTendency"] < PetMem["CurSec"]
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
if cPet_SaveTendency( nHandle ) == nil
|
|||
|
then
|
|||
|
ErrorLog( "PetBaseRoutine::cPet_SaveTendency Failed ["..nHandle.."]" )
|
|||
|
else
|
|||
|
CheckLog( "PetBaseRoutine::cPet_SaveTendency Failed ["..nHandle.."]" )
|
|||
|
end
|
|||
|
|
|||
|
PetMem["PetInfo"]["Time"]["ExecSaveTendency"] = PetMem["CurSec"] + PetSystem_nSecWaitSaveTendencyAtIdle
|
|||
|
end
|
|||
|
|
|||
|
elseif tMode["nMasterMode"] == PMM_AWAY -----------------------------------------------------------------------------------------------------------PMM_AWAY
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>
|
|||
|
local tMasterCoord = PetMem["MasterInfo"]["Coord"]["Cur"]
|
|||
|
local tTargetCoord = {}
|
|||
|
tTargetCoord["x"], tTargetCoord["y"] = cGetCoord_Circle( tMasterCoord["x"], tMasterCoord["y"], PetSystem_nDistanceFollowingStop )
|
|||
|
|
|||
|
if tTargetCoord["x"] ~= nil
|
|||
|
then
|
|||
|
cRunTo( nHandle, tTargetCoord["x"], tTargetCoord["y"], PetSystem_nSpeedRateFollowingMil )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tTargetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tTargetCoord["y"]
|
|||
|
else
|
|||
|
ErrorLog( "Following Move Target Coord is not Found" )-- <20><><EFBFBD>и<D0B8><DEBC><EFBFBD>
|
|||
|
end
|
|||
|
elseif tMode["nMasterMode"] == PMM_FAR -----------------------------------------------------------------------------------------------------------PMM_FAR
|
|||
|
then
|
|||
|
-- <20>̵<EFBFBD> <20>ϴ<EFBFBD><CFB4><EFBFBD> <20><><EFBFBD>߰<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3>) <20>ð<EFBFBD> ī<><C4AB><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
-- <20>ʹ<EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD> <20><> <20>Ҿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD> üũ <20><> <20><>ȯ <20><><EFBFBD><EFBFBD> ó<><C3B3>
|
|||
|
if PetMem["PetInfo"]["Time"]["EnterFarIdle"] + PetSystem_nSecWaitMissingAtFar < PetMem["CurSec"]
|
|||
|
then
|
|||
|
-- <20><>ȯ <20><><EFBFBD><EFBFBD> <20><>û
|
|||
|
if cPet_Unsummon( nMasterHandle ) == nil
|
|||
|
then
|
|||
|
-- <20><>ȯ<EFBFBD><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20>ɰ<EFBFBD><C9B0><EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3>
|
|||
|
end
|
|||
|
|
|||
|
-- AI <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD>
|
|||
|
cAIScriptSet( nHandle )
|
|||
|
|
|||
|
-- <20><EFBFBD><DEB8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
gPetAIMemory["PetBase"][ nHandle ] = nil
|
|||
|
|
|||
|
DebugLog( "PetBaseRoutine::Pet Has Unsummoned - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
return ReturnAI["END"]
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
elseif tMode["nMasterMode"] == PMM_CALL -----------------------------------------------------------------------------------------------------------PMM_CALL
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȥ<><C8A4> <20><>ǥ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20><> <20>Ĵٺ<C4B4><D9BA><EFBFBD>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
local tDestCoord = PetMem["PetInfo"]["Coord"]["Next"]
|
|||
|
local tMasterCoord = PetMem["MasterInfo"]["Coord"]["Cur"]
|
|||
|
|
|||
|
local nCallingDistanceSquare = cDistanceSquar( tPetCoord["x"], tPetCoord["y"], tDestCoord["x"], tDestCoord["y"] )
|
|||
|
local nFollowingDistanceSquare = cDistanceSquar( nHandle, nMasterHandle )
|
|||
|
|
|||
|
local nDistanceSquare
|
|||
|
|
|||
|
-- <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ִٸ<D6B4> <20><> <20><>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
-- <20>װ<EFBFBD> <20>ƴ϶<C6B4><CFB6><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
if tMode["nActionMode"] == PAM_CALL_COME
|
|||
|
then
|
|||
|
nDistanceSquare = nCallingDistanceSquare
|
|||
|
else
|
|||
|
nDistanceSquare = nFollowingDistanceSquare
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
if tMode["nActionMode"] == PAM_CALL_SEE
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD>ŭ<EFBFBD><C5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ĵٺ<C4B4><D9BA><EFBFBD>.
|
|||
|
if PetMem["PetInfo"]["Time"]["LastEnterStayAtCallSee"] + PetSystem_nSecStayAtCallSee < PetMem["CurSec"]
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
tMode["nMasterMode"] = PMM_NONE
|
|||
|
tMode["nActionMode"] = PAM_NONE
|
|||
|
end
|
|||
|
|
|||
|
-- <20>Ĵٺ<C4B4><D9BA><EFBFBD>
|
|||
|
cSetObjectDirect( nHandle, tMasterCoord["x"], tMasterCoord["y"] )
|
|||
|
-- <20><><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5>
|
|||
|
--?????????????????????????????????????????????????????
|
|||
|
|
|||
|
else
|
|||
|
----------------------------------------------------------------------
|
|||
|
---------- //<2F>Ÿ<EFBFBD><C5B8><EFBFBD> Pattern Decision ---------------------------------
|
|||
|
if nDistanceSquare < PS_nDS_CallingStop
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD><D1B0>̴<EFBFBD>.
|
|||
|
if tMode["nActionMode"] == PAM_CALL_COME
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
-- cRunTo( nHandle, tPetCoord["x"], tPetCoord["y"], 1000 )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
end
|
|||
|
|
|||
|
if tMode["nActionMode"] ~= PAM_CALL_SEE
|
|||
|
then
|
|||
|
PetMem["PetInfo"]["Time"]["LastEnterStayAtCallSee"] = PetMem["CurSec"]
|
|||
|
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20>Ĵٺ<C4B4><D9BA><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD>ʳ<EFBFBD> <20>Ĵٺ<C4B4>??????????????????????????????????
|
|||
|
-- <20><> <20><>Ȳ<EFBFBD><C8B2> <20><EFBFBD><EEB6BB> ó<><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
tMode["nActionMode"] = PAM_CALL_SEE
|
|||
|
DebugLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_CALL_SEE - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
else
|
|||
|
|
|||
|
if tMode["nActionMode"] ~= PAM_CALL_COME
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD><CEB8><EFBFBD> <20>̵<EFBFBD><CCB5>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20>ѹ<EFBFBD><D1B9><EFBFBD> üũ<C3BC>Ͽ<EFBFBD> <20>̵<EFBFBD><CCB5>Ѵ<EFBFBD>. <20>θ<EFBFBD><CEB8><EFBFBD>ġ<EFBFBD><C4A1> <20>ƴ°<C6B4><C2B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20>ƴ°<C6B4> <20>ƴ<EFBFBD>.
|
|||
|
local tMasterCoord = PetMem["MasterInfo"]["Coord"]["Cur"]
|
|||
|
local tTargetCoord = {}
|
|||
|
tTargetCoord["x"], tTargetCoord["y"] = cGetCoord_Circle( tMasterCoord["x"], tMasterCoord["y"], PetSystem_nDistanceCallingStop )
|
|||
|
|
|||
|
if tTargetCoord["x"] ~= nil
|
|||
|
then
|
|||
|
cRunTo( nHandle, tTargetCoord["x"], tTargetCoord["y"], PetSystem_nSpeedRateCallingMil )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tTargetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tTargetCoord["y"]
|
|||
|
else
|
|||
|
ErrorLog( "Calling Move Target Coord is not Found" )-- <20><><EFBFBD>и<D0B8><DEBC><EFBFBD>
|
|||
|
end
|
|||
|
|
|||
|
end
|
|||
|
|
|||
|
tMode["nActionMode"] = PAM_CALL_COME
|
|||
|
DebugLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_CALL_COME - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
end
|
|||
|
---------- <20>Ÿ<EFBFBD><C5B8><EFBFBD> Pattern Decision// ---------------------------------
|
|||
|
----------------------------------------------------------------------
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
elseif tMode["nMasterMode"] == PMM_DIE -----------------------------------------------------------------------------------------------------------PMM_DIE
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȥ<><C8A4> <20><>ǥ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD> <20><> <20>Ĵٺ<C4B4><D9BA><EFBFBD>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
local tDestCoord = PetMem["PetInfo"]["Coord"]["Next"]
|
|||
|
local tMasterCoord = PetMem["MasterInfo"]["Coord"]["Cur"]
|
|||
|
|
|||
|
local nDiedDistanceSquare = cDistanceSquar( tPetCoord["x"], tPetCoord["y"], tDestCoord["x"], tDestCoord["y"] )
|
|||
|
local nFollowingDistanceSquare = cDistanceSquar( nHandle, nMasterHandle )
|
|||
|
|
|||
|
local nDistanceSquare
|
|||
|
|
|||
|
-- <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ִٸ<D6B4> <20><> <20><>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
-- <20>װ<EFBFBD> <20>ƴ϶<C6B4><CFB6><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20>Ÿ<EFBFBD><C5B8><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|||
|
if tMode["nActionMode"] == PAM_DIE_COME
|
|||
|
then
|
|||
|
nDistanceSquare = nDiedDistanceSquare
|
|||
|
else
|
|||
|
nDistanceSquare = nFollowingDistanceSquare
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
if tMode["nActionMode"] == PAM_DIE_SAD
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD><C3B0><EFBFBD>ŭ<EFBFBD><C5AD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ĵٺ<C4B4><D9BA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
|||
|
if PetMem["PetInfo"]["Time"]["LastEnterStayAtDiedSad"] + PetSystem_nSecStayAtDiedSad < PetMem["CurSec"]
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
tMode["nMasterMode"] = PMM_NONE
|
|||
|
tMode["nActionMode"] = PAM_NONE
|
|||
|
end
|
|||
|
-- <20>Ĵٺ<C4B4><D9BA><EFBFBD>
|
|||
|
cSetObjectDirect( nHandle, tMasterCoord["x"], tMasterCoord["y"] )
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD> <20><><EFBFBD>μ<EFBFBD> ǥ<><C7A5>
|
|||
|
|
|||
|
else
|
|||
|
----------------------------------------------------------------------
|
|||
|
---------- //<2F>Ÿ<EFBFBD><C5B8><EFBFBD> Pattern Decision ---------------------------------
|
|||
|
if nDistanceSquare < PS_nDS_DiedStop
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD><D1B0>̴<EFBFBD>.
|
|||
|
if tMode["nActionMode"] == PAM_DIE_COME
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>߱<EFBFBD>
|
|||
|
local tPetCoord = PetMem["PetInfo"]["Coord"]["Cur"]
|
|||
|
-- cRunTo( nHandle, tPetCoord["x"], tPetCoord["y"], 1000 )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tPetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tPetCoord["y"]
|
|||
|
end
|
|||
|
|
|||
|
if tMode["nActionMode"] ~= PAM_DIE_SAD
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20>Ұž<D2B0><C5BE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƾ<EFBFBD><C6BE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
PetMem["PetInfo"]["Time"]["LastEnterStayAtDiedSad"] = PetMem["CurSec"]
|
|||
|
CheckLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_DIE_SAD - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
tMode["nActionMode"] = PAM_DIE_SAD
|
|||
|
DebugLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_DIE_SAD - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
else
|
|||
|
|
|||
|
if tMode["nActionMode"] ~= PAM_DIE_COME
|
|||
|
then
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD><CEB8><EFBFBD> <20>̵<EFBFBD><CCB5>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>θ<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20>ѹ<EFBFBD><D1B9><EFBFBD> üũ<C3BC>Ͽ<EFBFBD> <20>̵<EFBFBD><CCB5>Ѵ<EFBFBD>. <20>θ<EFBFBD><CEB8><EFBFBD>ġ<EFBFBD><C4A1> <20>ƴ°<C6B4><C2B0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20>ƴ°<C6B4> <20>ƴ<EFBFBD>.
|
|||
|
local tMasterCoord = PetMem["MasterInfo"]["Coord"]["Cur"]
|
|||
|
local tTargetCoord = {}
|
|||
|
tTargetCoord["x"], tTargetCoord["y"] = cGetCoord_Circle( tMasterCoord["x"], tMasterCoord["y"], PetSystem_nDistanceDiedStop )
|
|||
|
|
|||
|
if tTargetCoord["x"] ~= nil
|
|||
|
then
|
|||
|
cRunTo( nHandle, tTargetCoord["x"], tTargetCoord["y"], PetSystem_nSpeedRateMasterDiedMil )
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["x"] = tTargetCoord["x"]
|
|||
|
PetMem["PetInfo"]["Coord"]["Next"]["y"] = tTargetCoord["y"]
|
|||
|
else
|
|||
|
ErrorLog( "Master Died Move Target Coord is not Found" )-- <20><><EFBFBD>и<D0B8><DEBC><EFBFBD>
|
|||
|
end
|
|||
|
|
|||
|
CheckLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_DIE_COME - nHandle( "..nHandle.." )" )
|
|||
|
end
|
|||
|
|
|||
|
tMode["nActionMode"] = PAM_DIE_COME
|
|||
|
DebugLog( "PetBaseRoutine::PET_ACTION_MODE-PAM_DIE_COME - nHandle( "..nHandle.." )" )
|
|||
|
|
|||
|
end
|
|||
|
---------- <20>Ÿ<EFBFBD><C5B8><EFBFBD> Pattern Decision// ---------------------------------
|
|||
|
----------------------------------------------------------------------
|
|||
|
end
|
|||
|
|
|||
|
elseif tMode["nMasterMode"] == PMM_LINK -----------------------------------------------------------------------------------------------------------PMM_LINK
|
|||
|
then
|
|||
|
tMode["nActionMode"] = PAM_LINK
|
|||
|
|
|||
|
else
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20>ȵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̰ų<CCB0> <20>ƹ<EFBFBD><C6B9>͵<EFBFBD> <20>ƴϰų<CFB0>..
|
|||
|
end
|
|||
|
|
|||
|
-- <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> AI <20><> <20><><EFBFBD><EFBFBD>
|
|||
|
return ReturnAI["CPP"]
|
|||
|
end
|