|
|
@ -8,8 +8,8 @@ |
|
|
|
MemBlock = {} |
|
|
|
MemBlock = {} |
|
|
|
PhaseData = {} |
|
|
|
PhaseData = {} |
|
|
|
ReturnAI = {} |
|
|
|
ReturnAI = {} |
|
|
|
ReturnAI.END = 1 -- Return_AI_END = 1;// -- 모든 AI루틴 끝 |
|
|
|
ReturnAI.END = 1 -- Return_AI_END = 1;// -- <EFBFBD><EFBFBD><EFBFBD> AI<EFBFBD><EFBFBD>ƾ <EFBFBD><EFBFBD> |
|
|
|
ReturnAI.CPP = 2 -- Return_AI_CPP = 2;// -- 루아로 일부 처리한 후 cpp의 AI루틴 돌림 |
|
|
|
ReturnAI.CPP = 2 -- Return_AI_CPP = 2;// -- <EFBFBD><EFBFBD>Ʒ<EFBFBD> <EFBFBD>Ϻ<EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> cpp<EFBFBD><EFBFBD> AI<EFBFBD><EFBFBD>ƾ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
SHINEOBJECT = 2 -- ShineObject_Player |
|
|
|
SHINEOBJECT = 2 -- ShineObject_Player |
|
|
|
HPSection = {} |
|
|
|
HPSection = {} |
|
|
|
HPSection.Init = -1 |
|
|
|
HPSection.Init = -1 |
|
|
@ -18,14 +18,14 @@ HPSection.First = 1 |
|
|
|
HPSection.Second = 2 |
|
|
|
HPSection.Second = 2 |
|
|
|
HPSection.Third = 3 |
|
|
|
HPSection.Third = 3 |
|
|
|
|
|
|
|
|
|
|
|
-- 1 단계 |
|
|
|
-- 1 <EFBFBD>ܰ<EFBFBD> |
|
|
|
PhaseData[1] = |
|
|
|
PhaseData[1] = |
|
|
|
{ |
|
|
|
{ |
|
|
|
-- 단계 진입 조건 |
|
|
|
-- <EFBFBD>ܰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
HPRateMax = 900, |
|
|
|
HPRateMax = 900, |
|
|
|
HPRateMin = 750, |
|
|
|
HPRateMin = 750, |
|
|
|
|
|
|
|
|
|
|
|
-- 스킬, 상태이상 |
|
|
|
-- <EFBFBD><EFBFBD>ų, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> |
|
|
|
Skill = |
|
|
|
Skill = |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ Index = "BH_Albireo_Skill06_W", Type = "Skill", Target = "Me", KeepTime = 0, OneShot = true, WaitAfter = 5, Range = 0 }, |
|
|
|
{ Index = "BH_Albireo_Skill06_W", Type = "Skill", Target = "Me", KeepTime = 0, OneShot = true, WaitAfter = 5, Range = 0 }, |
|
|
@ -33,7 +33,7 @@ PhaseData[1] = |
|
|
|
{ Index = "Sta_B_Albi_Dot", Type = "AbState", Target = "Other", KeepTime = 20000, OneShot = true, WaitAfter = 0, Range = 600 }, |
|
|
|
{ Index = "Sta_B_Albi_Dot", Type = "AbState", Target = "Other", KeepTime = 20000, OneShot = true, WaitAfter = 0, Range = 600 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
-- 소환 |
|
|
|
-- <EFBFBD><EFBFBD>ȯ |
|
|
|
Summon = |
|
|
|
Summon = |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ |
|
|
@ -73,18 +73,18 @@ PhaseData[1] = |
|
|
|
|
|
|
|
|
|
|
|
PhaseData[2] = |
|
|
|
PhaseData[2] = |
|
|
|
{ |
|
|
|
{ |
|
|
|
-- 단계 진입 조건 |
|
|
|
-- <EFBFBD>ܰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
HPRateMax = 750, |
|
|
|
HPRateMax = 750, |
|
|
|
HPRateMin = 400, |
|
|
|
HPRateMin = 400, |
|
|
|
|
|
|
|
|
|
|
|
-- 스킬, 상태이상 |
|
|
|
-- <EFBFBD><EFBFBD>ų, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> |
|
|
|
Skill = |
|
|
|
Skill = |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ Index = "BH_Albireo_Skill06_W", Type = "Skill", Target = "Me", KeepTime = 0, OneShot = true, WaitAfter = 5, Range = 0 }, |
|
|
|
{ Index = "BH_Albireo_Skill06_W", Type = "Skill", Target = "Me", KeepTime = 0, OneShot = true, WaitAfter = 5, Range = 0 }, |
|
|
|
{ Index = "Sta_BH_Albi_Reflect", Type = "AbState", Target = "Me", KeepTime = 1200000, OneShot = true, WaitAfter = 0, Range = 150 }, |
|
|
|
--{ Index = "Sta_BH_Albi_Reflect", Type = "AbState", Target = "Me", KeepTime = 1200000, OneShot = true, WaitAfter = 0, Range = 150 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
-- 소환 |
|
|
|
-- <EFBFBD><EFBFBD>ȯ |
|
|
|
Summon = |
|
|
|
Summon = |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
@ -98,18 +98,18 @@ PhaseData[2] = |
|
|
|
|
|
|
|
|
|
|
|
PhaseData[3] = |
|
|
|
PhaseData[3] = |
|
|
|
{ |
|
|
|
{ |
|
|
|
-- 단계 진입 조건 |
|
|
|
-- <EFBFBD>ܰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
HPRateMax = 400, |
|
|
|
HPRateMax = 400, |
|
|
|
HPRateMin = 10, |
|
|
|
HPRateMin = 10, |
|
|
|
|
|
|
|
|
|
|
|
-- 스킬, 상태이상 |
|
|
|
-- <EFBFBD><EFBFBD>ų, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> |
|
|
|
Skill = |
|
|
|
Skill = |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ Index = "BH_Albireo_Skill06_W", Type = "Skill", Target = "Me", KeepTime = 0, OneShot = true, WaitAfter = 5, Range = 0 }, |
|
|
|
{ Index = "BH_Albireo_Skill06_W", Type = "Skill", Target = "Me", KeepTime = 0, OneShot = true, WaitAfter = 5, Range = 0 }, |
|
|
|
{ Index = "Sta_BH_Albi_ACMRUp", Type = "AbState", Target = "Me", KeepTime = 600000, OneShot = true, WaitAfter = 0, Range = 0 }, |
|
|
|
{ Index = "Sta_BH_Albi_ACMRUp", Type = "AbState", Target = "Me", KeepTime = 600000, OneShot = true, WaitAfter = 0, Range = 0 }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
-- 소환 |
|
|
|
-- <EFBFBD><EFBFBD>ȯ |
|
|
|
Summon = |
|
|
|
Summon = |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ |
|
|
@ -225,7 +225,7 @@ PhaseData[3] = |
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
-- 보물상자 소환 정보 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
BH_AlbiBox = |
|
|
|
BH_AlbiBox = |
|
|
|
{ |
|
|
|
{ |
|
|
|
{ Index = "BH_Albireo_Box", ItemDropMobIndex = "BH_Albireo_Box", Radius = 250 }, |
|
|
|
{ Index = "BH_Albireo_Box", ItemDropMobIndex = "BH_Albireo_Box", Radius = 250 }, |
|
|
@ -233,7 +233,7 @@ BH_AlbiBox = |
|
|
|
{ Index = "BH_Albireo_Box", ItemDropMobIndex = "BH_Albireo_Box", Radius = 250 }, |
|
|
|
{ Index = "BH_Albireo_Box", ItemDropMobIndex = "BH_Albireo_Box", Radius = 250 }, |
|
|
|
{ Index = "BH_Albireo_Box", ItemDropMobIndex = "BH_Albireo_Box", Radius = 250 }, |
|
|
|
{ Index = "BH_Albireo_Box", ItemDropMobIndex = "BH_Albireo_Box", Radius = 250 }, |
|
|
|
} |
|
|
|
} |
|
|
|
AlbiBox_VanishTime = 60 |
|
|
|
AlbiBox_VanishTime = 40000 |
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------ |
|
|
|
------------------------------------------------------------------ |
|
|
|
----------------------- Albireo Part ------------------------ |
|
|
|
----------------------- Albireo Part ------------------------ |
|
|
@ -269,12 +269,12 @@ cExecCheck "Init" |
|
|
|
Var.Wait = {} |
|
|
|
Var.Wait = {} |
|
|
|
Var.Wait.Second = 0 |
|
|
|
Var.Wait.Second = 0 |
|
|
|
Var.Wait.NextFunc = nil |
|
|
|
Var.Wait.NextFunc = nil |
|
|
|
Var.TargetLostSec = 0 -- 타겟을 잃은 시간 |
|
|
|
Var.TargetLostSec = 0 -- Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> |
|
|
|
Var.CurrentPhase = 0 |
|
|
|
Var.CurrentPhase = 0 |
|
|
|
Var.IsInit = {} -- 현 단계의 초기화 여부 |
|
|
|
Var.IsInit = {} -- <EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʱ<EFBFBD>ȭ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
Var.IsUsedSkill = false -- OneShot인 스킬의 사용 확인 |
|
|
|
Var.IsUsedSkill = false -- OneShot<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD> |
|
|
|
Var.IsUsedSkillAll = false -- 이 단계의 스킬 사용이 모두 끝났나? |
|
|
|
Var.IsUsedSkillAll = false -- <EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? |
|
|
|
Var.CurrentSkill = 1 -- 현재 사용중인 스킬의 Skill 데이터 인덱스 |
|
|
|
Var.CurrentSkill = 1 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> Skill <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD> |
|
|
|
Var.SkillWaitAfter = 0 |
|
|
|
Var.SkillWaitAfter = 0 |
|
|
|
|
|
|
|
|
|
|
|
Var.SummonList = {} |
|
|
|
Var.SummonList = {} |
|
|
@ -291,8 +291,8 @@ cExecCheck "Init" |
|
|
|
Var.SummonList[i][j] = {} |
|
|
|
Var.SummonList[i][j] = {} |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
Var.SummonList[i][j].IsOver = false -- 그룹 리젠 죵료 여부 |
|
|
|
Var.SummonList[i][j].IsOver = false -- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>շ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
Var.SummonList[i][j].OverTime = 0 -- 그룹 리젠 제한 시간 |
|
|
|
Var.SummonList[i][j].OverTime = 0 -- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
for k = 1, #(PhaseData[i]["Summon"][j]) do |
|
|
|
for k = 1, #(PhaseData[i]["Summon"][j]) do |
|
|
|
|
|
|
|
|
|
|
@ -300,8 +300,8 @@ cExecCheck "Init" |
|
|
|
Var.SummonList[i][j][k] = {} |
|
|
|
Var.SummonList[i][j][k] = {} |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
Var.SummonList[i][j][k].IsActive = false -- 개별 리젠 활성 여부 |
|
|
|
Var.SummonList[i][j][k].IsActive = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȱ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
Var.SummonList[i][j][k].Interval = 0 -- 개별 리젠 간격 |
|
|
|
Var.SummonList[i][j][k].Interval = 0 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
@ -329,7 +329,7 @@ cExecCheck "BH_Albireo" |
|
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) ~= nil then |
|
|
|
if cIsObjectDead( Handle ) ~= nil then |
|
|
|
|
|
|
|
|
|
|
|
if Var ~= nil then -- 보스가 죽었음 |
|
|
|
if Var ~= nil then -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
--cDebugLog( "Boss Dead" ) |
|
|
|
--cDebugLog( "Boss Dead" ) |
|
|
|
--for k = 1, 2 do |
|
|
|
--for k = 1, 2 do |
|
|
@ -339,7 +339,7 @@ cExecCheck "BH_Albireo" |
|
|
|
--end |
|
|
|
--end |
|
|
|
--end |
|
|
|
--end |
|
|
|
|
|
|
|
|
|
|
|
-- 투명인간 소환 - 보물상자 제어용 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD> <EFBFBD><EFBFBD>ȯ - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
local InvisibleHandle = cMobRegen_Obj( "InvisibleMan", Handle ) |
|
|
|
local InvisibleHandle = cMobRegen_Obj( "InvisibleMan", Handle ) |
|
|
|
cAIScriptSet( InvisibleHandle, Handle ) |
|
|
|
cAIScriptSet( InvisibleHandle, Handle ) |
|
|
|
MemBlock[InvisibleHandle] = {} |
|
|
|
MemBlock[InvisibleHandle] = {} |
|
|
@ -361,7 +361,7 @@ cExecCheck "BH_Albireo" |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var == nil then -- 처음 리젠되었음 |
|
|
|
if Var == nil then -- ó<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
Init( Var, Handle, MapIndex ) |
|
|
|
Init( Var, Handle, MapIndex ) |
|
|
|
|
|
|
|
|
|
|
@ -383,14 +383,14 @@ cExecCheck "Albi_Init" |
|
|
|
Var.IsInit[i] = false |
|
|
|
Var.IsInit[i] = false |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
Var.IsUsedSkill = false -- OneShot인 스킬의 사용 확인 |
|
|
|
Var.IsUsedSkill = false -- OneShot<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD> |
|
|
|
Var.IsUsedSkillAll = false -- 이 단계의 스킬 사용이 모두 끝났나? |
|
|
|
Var.IsUsedSkillAll = false -- <EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? |
|
|
|
Var.CurrentSkill = 1 -- 현재 사용중인 스킬의 Skill 데이터 인덱스 |
|
|
|
Var.CurrentSkill = 1 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> Skill <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD> |
|
|
|
Var.SkillWaitAfter = 0 |
|
|
|
Var.SkillWaitAfter = 0 |
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-- Albireo HP 구간 체크 |
|
|
|
-- Albireo HP <EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ |
|
|
|
function Albi_HPCheck( Var ) |
|
|
|
function Albi_HPCheck( Var ) |
|
|
|
cExecCheck "Albi_HPCheck" |
|
|
|
cExecCheck "Albi_HPCheck" |
|
|
|
|
|
|
|
|
|
|
@ -455,30 +455,30 @@ cExecCheck "Albi_Behaviour" |
|
|
|
local Handle = Var.Handle |
|
|
|
local Handle = Var.Handle |
|
|
|
local MapIndex = Var.MapIndex |
|
|
|
local MapIndex = Var.MapIndex |
|
|
|
|
|
|
|
|
|
|
|
-- 타겟 잃어버린 시간 검사 |
|
|
|
-- Ÿ<EFBFBD><EFBFBD> <EFBFBD>Ҿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> <EFBFBD>˻<EFBFBD> |
|
|
|
local TargetHandle = cTargetHandle( Var.Handle ) |
|
|
|
local TargetHandle = cTargetHandle( Var.Handle ) |
|
|
|
|
|
|
|
|
|
|
|
if TargetHandle ~= nil and cObjectType( TargetHandle ) == SHINEOBJECT then -- 타겟이 있고 플레이어면 (SHINEOBJECT_PLAYER == 2) |
|
|
|
if TargetHandle ~= nil and cObjectType( TargetHandle ) == SHINEOBJECT then -- Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ְ<EFBFBD> <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD> (SHINEOBJECT_PLAYER == 2) |
|
|
|
|
|
|
|
|
|
|
|
Var.TargetLostSec = cCurSec() |
|
|
|
Var.TargetLostSec = cCurSec() |
|
|
|
elseif Var.TargetLostSec + 10 < cCurSec() then -- 적이 사라진지 10초 후 |
|
|
|
elseif Var.TargetLostSec + 10 < cCurSec() then -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 10<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
cResetAbstate( Var.Handle, "Sta_BH_Albi_Reflect" ) -- 강화버프 제거 |
|
|
|
cResetAbstate( Var.Handle, "Sta_BH_Albi_Reflect" ) -- <EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
cResetAbstate( Var.Handle, "Sta_BH_Albi_ACMRUp" ) -- 강화버프 제거 |
|
|
|
cResetAbstate( Var.Handle, "Sta_BH_Albi_ACMRUp" ) -- <EFBFBD><EFBFBD>ȭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
for i = 1, #(Var.MobList) do |
|
|
|
for i = 1, #(Var.MobList) do |
|
|
|
cNPCVanish( Var.MobList[i] ) |
|
|
|
cNPCVanish( Var.MobList[i] ) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
MemBlock = {} -->모든 메모리 삭제 - 처음부터 다시 시작 |
|
|
|
MemBlock = {} --><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ٽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
WaitBoom = {} |
|
|
|
WaitBoom = {} |
|
|
|
|
|
|
|
|
|
|
|
Init( Var, Handle, MapIndex ) |
|
|
|
Init( Var, Handle, MapIndex ) |
|
|
|
|
|
|
|
|
|
|
|
--cDebugLog( "타겟 사라짐 -> 재초기화!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ) |
|
|
|
--cDebugLog( "Ÿ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> <EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ȭ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 벗어난 단계 검사 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD> <EFBFBD>˻<EFBFBD> |
|
|
|
if Var.CurrentPhase < 1 or #PhaseData < Var.CurrentPhase then |
|
|
|
if Var.CurrentPhase < 1 or #PhaseData < Var.CurrentPhase then |
|
|
|
return ReturnAI.CPP |
|
|
|
return ReturnAI.CPP |
|
|
|
end |
|
|
|
end |
|
|
@ -486,12 +486,12 @@ cExecCheck "Albi_Behaviour" |
|
|
|
|
|
|
|
|
|
|
|
Skill = PhaseData[Var.CurrentPhase]["Skill"] |
|
|
|
Skill = PhaseData[Var.CurrentPhase]["Skill"] |
|
|
|
|
|
|
|
|
|
|
|
-- 알비레오 스킬 사용 |
|
|
|
-- <EFBFBD>˺<EFBFBD> <EFBFBD><EFBFBD>ų <EFBFBD><EFBFBD><EFBFBD> |
|
|
|
if Skill ~= nil then |
|
|
|
if Skill ~= nil then |
|
|
|
|
|
|
|
|
|
|
|
if Skill_Wait( Var ) == false and Var.IsUsedSkillAll == false then |
|
|
|
if Skill_Wait( Var ) == false and Var.IsUsedSkillAll == false then |
|
|
|
|
|
|
|
|
|
|
|
-- 스킬이면 |
|
|
|
-- <EFBFBD><EFBFBD>ų<EFBFBD≯<EFBFBD> |
|
|
|
if Skill[Var.CurrentSkill]["Type"] == "Skill" then |
|
|
|
if Skill[Var.CurrentSkill]["Type"] == "Skill" then |
|
|
|
|
|
|
|
|
|
|
|
--cDebugLog( "Use Skill!!!!!!!!" ) |
|
|
|
--cDebugLog( "Use Skill!!!!!!!!" ) |
|
|
@ -501,7 +501,7 @@ cExecCheck "Albi_Behaviour" |
|
|
|
cSkillBlast( Var.Handle, Var.Handle, Skill[Var.CurrentSkill]["Index"] ) |
|
|
|
cSkillBlast( Var.Handle, Var.Handle, Skill[Var.CurrentSkill]["Index"] ) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-- AbState면 |
|
|
|
-- AbState<EFBFBD><EFBFBD> |
|
|
|
elseif Skill[Var.CurrentSkill]["Type"] == "AbState" then |
|
|
|
elseif Skill[Var.CurrentSkill]["Type"] == "AbState" then |
|
|
|
|
|
|
|
|
|
|
|
--cDebugLog( "Use Abstate!!!!!!!!" ) |
|
|
|
--cDebugLog( "Use Abstate!!!!!!!!" ) |
|
|
@ -510,14 +510,14 @@ cExecCheck "Albi_Behaviour" |
|
|
|
local KeepTime = Skill[Var.CurrentSkill]["KeepTime"] |
|
|
|
local KeepTime = Skill[Var.CurrentSkill]["KeepTime"] |
|
|
|
local Strength = 1 |
|
|
|
local Strength = 1 |
|
|
|
|
|
|
|
|
|
|
|
-- 타겟이 적들(플레이어)이면 |
|
|
|
-- Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD>)<EFBFBD≯<EFBFBD> |
|
|
|
if Skill[Var.CurrentSkill]["Target"] == "Other" then |
|
|
|
if Skill[Var.CurrentSkill]["Target"] == "Other" then |
|
|
|
|
|
|
|
|
|
|
|
if TargetHandle ~= nil then |
|
|
|
if TargetHandle ~= nil then |
|
|
|
cSetAbstate_Range( Var.Handle, Range, SHINEOBJECT, Index, Strength, KeepTime ) |
|
|
|
cSetAbstate_Range( Var.Handle, Range, SHINEOBJECT, Index, Strength, KeepTime ) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-- 타겟이 나(mob) 이면 |
|
|
|
-- Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>(mob) <EFBFBD≯<EFBFBD> |
|
|
|
elseif Skill[Var.CurrentSkill]["Target"] == "Me" then |
|
|
|
elseif Skill[Var.CurrentSkill]["Target"] == "Me" then |
|
|
|
|
|
|
|
|
|
|
|
if TargetHandle ~= nil then |
|
|
|
if TargetHandle ~= nil then |
|
|
@ -542,7 +542,7 @@ cExecCheck "Albi_Behaviour" |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 아크 마인 소환 |
|
|
|
-- <EFBFBD><EFBFBD>ũ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ |
|
|
|
Summon = PhaseData[Var.CurrentPhase]["Summon"] |
|
|
|
Summon = PhaseData[Var.CurrentPhase]["Summon"] |
|
|
|
SummonInfo = PhaseData[Var.CurrentPhase]["SummonInfo"] |
|
|
|
SummonInfo = PhaseData[Var.CurrentPhase]["SummonInfo"] |
|
|
|
|
|
|
|
|
|
|
@ -552,10 +552,10 @@ cExecCheck "Albi_Behaviour" |
|
|
|
|
|
|
|
|
|
|
|
if Var.SummonList[i][j][k].IsActive == false then |
|
|
|
if Var.SummonList[i][j][k].IsActive == false then |
|
|
|
|
|
|
|
|
|
|
|
-- 현재 단계와 같은지 검사 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ܰ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˻<EFBFBD> |
|
|
|
if i == Var.CurrentPhase then |
|
|
|
if i == Var.CurrentPhase then |
|
|
|
|
|
|
|
|
|
|
|
-- 이전 그룹 종료 후 실행되는지 검사 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˻<EFBFBD> |
|
|
|
if SummonInfo[j].IsAfterPrevSummon == true then |
|
|
|
if SummonInfo[j].IsAfterPrevSummon == true then |
|
|
|
|
|
|
|
|
|
|
|
if Var.SummonList[i][j - 1].IsOver == true then |
|
|
|
if Var.SummonList[i][j - 1].IsOver == true then |
|
|
@ -572,7 +572,7 @@ cExecCheck "Albi_Behaviour" |
|
|
|
|
|
|
|
|
|
|
|
elseif Var.SummonList[i][j][k].IsActive == true then |
|
|
|
elseif Var.SummonList[i][j][k].IsActive == true then |
|
|
|
|
|
|
|
|
|
|
|
-- 리젠 시간 간격 검사 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˻<EFBFBD> |
|
|
|
if Var.SummonList[i][j][k].Interval < cCurSec() then |
|
|
|
if Var.SummonList[i][j][k].Interval < cCurSec() then |
|
|
|
|
|
|
|
|
|
|
|
local Index = Summon[j][k].Index |
|
|
|
local Index = Summon[j][k].Index |
|
|
@ -594,7 +594,7 @@ cExecCheck "Albi_Behaviour" |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 리젠 종료 검사 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˻<EFBFBD> |
|
|
|
if SummonInfo[j].IsTimeOver == true then |
|
|
|
if SummonInfo[j].IsTimeOver == true then |
|
|
|
|
|
|
|
|
|
|
|
if Var.SummonList[i][j].OverTime <= cCurSec() then |
|
|
|
if Var.SummonList[i][j].OverTime <= cCurSec() then |
|
|
@ -677,7 +677,7 @@ cExecCheck "BHArkMine_Kn" |
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
-- Mine이 Second 후 자폭 |
|
|
|
-- Mine<EFBFBD><EFBFBD> Second <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
if Var.Second ~= 0 then |
|
|
|
if Var.Second ~= 0 then |
|
|
|
|
|
|
|
|
|
|
@ -717,7 +717,7 @@ cExecCheck "BHArkMine_MobAttack" |
|
|
|
--end |
|
|
|
--end |
|
|
|
|
|
|
|
|
|
|
|
cNPCVanish( AtkHandle ) |
|
|
|
cNPCVanish( AtkHandle ) |
|
|
|
--cSetObjectHP( 0 ) -- 자살 |
|
|
|
--cSetObjectHP( 0 ) -- <EFBFBD>ڻ<EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
@ -744,7 +744,7 @@ end |
|
|
|
-------------------------------------------------------------------- |
|
|
|
-------------------------------------------------------------------- |
|
|
|
------------------------- Reward Part -------------------------- |
|
|
|
------------------------- Reward Part -------------------------- |
|
|
|
-------------------------------------------------------------------- |
|
|
|
-------------------------------------------------------------------- |
|
|
|
-- 보물상자 제어용 오브젝트 |
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ |
|
|
|
|
|
|
|
|
|
|
|
function Common_RemoveTreasure( MapIndex ) |
|
|
|
function Common_RemoveTreasure( MapIndex ) |
|
|
|
cExecCheck "Common_RemoveTreasure" |
|
|
|
cExecCheck "Common_RemoveTreasure" |
|
|
@ -761,7 +761,7 @@ cExecCheck "Invisible_Init" |
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------- |
|
|
|
---------------------------------------------------------------------- |
|
|
|
-- Mantis 8164 |
|
|
|
-- Mantis 8164 |
|
|
|
-- ※ 보물상제 소환 및 아이템드랍그룹 몬스터 셋팅 |
|
|
|
-- <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> |
|
|
|
|
|
|
|
|
|
|
|
local x, y = cObjectLocate( Var.Handle ) |
|
|
|
local x, y = cObjectLocate( Var.Handle ) |
|
|
|
|
|
|
|
|
|
|
@ -776,7 +776,7 @@ cExecCheck "Invisible_Init" |
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------- |
|
|
|
---------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
cGroupRegen("BH_Albi", "BH_AlbiBox") -- 상자가 나오도록 |
|
|
|
cGroupRegen("BH_Albi", "BH_AlbiBox") -- <EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |
|
|
|
|
|
|
|
|
|
|
|
Var.Wait = {} |
|
|
|
Var.Wait = {} |
|
|
|
Var.Wait.Second = cCurSec() + AlbiBox_VanishTime |
|
|
|
Var.Wait.Second = cCurSec() + AlbiBox_VanishTime |
|
|
@ -804,7 +804,7 @@ cExecCheck "Invisible_AllVanish" |
|
|
|
|
|
|
|
|
|
|
|
if cCurSec() > Var.Wait.Second then |
|
|
|
if cCurSec() > Var.Wait.Second then |
|
|
|
|
|
|
|
|
|
|
|
--cRegenGroupActiv( Var.MapIndex, "UniWpLv125", 0 ) -- 상자가 나오지 않도록(세번째 인수를 생략하거나 1이면 activ) |
|
|
|
--cRegenGroupActiv( Var.MapIndex, "UniWpLv125", 0 ) -- <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> 1<EFBFBD≯<EFBFBD> activ) |
|
|
|
|
|
|
|
|
|
|
|
--Common_RemoveTreasure( Var.MapIndex ) |
|
|
|
--Common_RemoveTreasure( Var.MapIndex ) |
|
|
|
cNPCVanish( Var.Handle ) |
|
|
|
cNPCVanish( Var.Handle ) |
|
|
|