|
|
|
|
require( "common" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--<EFBFBD>ءءءءءءءءءءءءءءءءءءءءءءءءءءءءءءءء<EFBFBD>
|
|
|
|
|
--// [S_21003] ũ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_2014_<EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
---------------------------------------------------------START-----
|
|
|
|
|
--<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><EFBFBD> <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD>
|
|
|
|
|
TREE_DEFENCE_TABLE =
|
|
|
|
|
{
|
|
|
|
|
TREE_DIE = { AniIndex = "E_XTreeBig_Idle05", }, -- <EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
TREE_REGEN = { AniIndex = "E_XTreeBig_Idle00", }, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD>( 0<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD> )
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>Ÿ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
SANTA_KEBING_MOB_REGEN_TABLE =
|
|
|
|
|
{
|
|
|
|
|
RunSpeed = 700,
|
|
|
|
|
MobIndex = "KebingX_14",
|
|
|
|
|
|
|
|
|
|
{ RegenX = 18427, RegenY = 15754, Dir = 0,},
|
|
|
|
|
{ RegenX = 13598, RegenY = 15727, Dir = 0,},
|
|
|
|
|
{ RegenX = 14685, RegenY = 9746, Dir = 0,},
|
|
|
|
|
{ RegenX = 11327, RegenY = 13423, Dir = 0,},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SANTA_KEBING_MOB_ANI_TABLE =
|
|
|
|
|
{
|
|
|
|
|
CastAniIndex = "KebingKnockBackCasting",
|
|
|
|
|
CastAniKeepTime = 3, -- CastAniIndex <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD>. <EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD>ŭ CastAniIndex <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>, SwingAniIndex<EFBFBD><EFBFBD> <EFBFBD>Ѿ
|
|
|
|
|
|
|
|
|
|
SwingAniIndex = "KebingKnockBackSwing",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>°<EFBFBD> flag
|
|
|
|
|
MOVESTATE = {}
|
|
|
|
|
MOVESTATE["STOP"] = "STOP"
|
|
|
|
|
MOVESTATE["MOVE"] = "MOVE"
|
|
|
|
|
|
|
|
|
|
PATHTYPE_CHK_DLY = 1
|
|
|
|
|
PATHTYPE_GAP = 100 -- <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>ǥüũ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
SANTA_KEBING_PATH_TABLE =
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
-- RegenX = 18427, RegenY = 15754<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PATH<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
--{ x = 18427, y = 15754, }, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ)
|
|
|
|
|
|
|
|
|
|
{ x = 17473, y = 14197, },
|
|
|
|
|
{ x = 16386, y = 13974, },
|
|
|
|
|
{ x = 15572, y = 13385, }, -- Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ǥ
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
-- RegenX = 13598, RegenY = 15727<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PATH<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
--{ x = 13598, y = 15727, }, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ)
|
|
|
|
|
|
|
|
|
|
{ x = 14139, y = 14478, },
|
|
|
|
|
{ x = 15572, y = 13385, },
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
-- RegenX = 14685, RegenY = 9746<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PATH<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
--{ x = 14685, y = 9746, }, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ)
|
|
|
|
|
|
|
|
|
|
{ x = 14954, y = 11265, },
|
|
|
|
|
{ x = 15555, y = 11704, },
|
|
|
|
|
{ x = 15572, y = 13385, },
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
-- RegenX = 11327, RegenY = 13423<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PATH<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
--{ x = 11327, y = 13423, }, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ)
|
|
|
|
|
|
|
|
|
|
{ x = 12547, y = 13423, },
|
|
|
|
|
{ x = 13178, y = 12963, },
|
|
|
|
|
{ x = 14022, y = 13411, },
|
|
|
|
|
{ x = 15572, y = 13385, },
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> ó<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
CRUSHBALL_TABLE =
|
|
|
|
|
{
|
|
|
|
|
MobIndex = "BallCrush",
|
|
|
|
|
SkillIndex = "BallCrush_Skill01_W",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-- ũ<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>
|
|
|
|
|
CRUSHBALL_ABSTATE_TABLE =
|
|
|
|
|
{
|
|
|
|
|
AbStateHitRate = 300, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
AbstateIndex = "StaKnockBackFly",
|
|
|
|
|
Strength = 1,
|
|
|
|
|
KeepTime = 1,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD><EFBFBD>潺<EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
DEFENCE_EVENT_REWARD_ABSTATE_TABLE =
|
|
|
|
|
{
|
|
|
|
|
AbstateIndex = "StaXmas_StatUp",
|
|
|
|
|
Strength = 1,
|
|
|
|
|
KeepTime = (60*60*1000),
|
|
|
|
|
Range = 10000, -- <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> Range<EFBFBD>ȿ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// Script
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
E_XKebingChat01 = "E_XKebingChat01" -- <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>!!
|
|
|
|
|
E_X_Notice_DefenseStart = "E_X_Notice_DefenseStart" -- ũ<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><EFBFBD><EFBFBD>.
|
|
|
|
|
E_X_Notice_DefenseSucc = "E_X_Notice_DefenseSucc" -- ũ<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>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
|
|
|
|
E_X_Notice_DefenseFail = "E_X_Notice_DefenseFail" -- ũ<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>.
|
|
|
|
|
E_X_Notice_TreeRegen = "E_X_Notice_TreeRegen" -- <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><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
NEED_KEBING_KILLCOUNT_FOR_DEFENCE_EVENT = 100 -- <EFBFBD>峭<EFBFBD>ٷ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> n<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>潺<EFBFBD>̺<EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>
|
|
|
|
|
|
|
|
|
|
SANTAKEBING_CRUSHBALL_HIT_COUNT = 50 -- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD> n<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
SANTAKEBING_RANGE_WITH_TREE = 50 -- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>浹 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SANTAKEBING_RANGE_WITH_CRUSHBALL = 50 -- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> <EFBFBD>浹 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
DEFENCE_EVENT_FAIL_TREE_REGEN_TIME = 15 -- <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>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
NC_LOG_GAME_CHRISTMAS_DECO_TRY_BIG_TREE = 2045 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>ٹ̱⸦ <EFBFBD>õ<EFBFBD>
|
|
|
|
|
NC_LOG_GAME_CHRISTMAS_DECO_TRY_SMALL_TREE = 2046 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>ٹ̱⸦ <EFBFBD>õ<EFBFBD>( <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> )
|
|
|
|
|
NC_LOG_GAME_CHRISTMAS_DECO_COMPLETE_BIG_TREE = 2047 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>ٹ̱⸦ <EFBFBD>ϼ<EFBFBD>
|
|
|
|
|
NC_LOG_GAME_CHRISTMAS_DECO_COMPLETE_SMALL_TREE = 2048 -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>ٹ̱⸦ <EFBFBD>ϼ<EFBFBD>( <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD> )
|
|
|
|
|
NC_LOG_GAME_CHRISTMAS_START_DEFENCE = 2049 -- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
NC_LOG_GAME_CHRISTMAS_SUCC_DEFENCE = 2050 -- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--<EFBFBD>ءءءءءءءءءءءءءءءءءءءءءءءءءءءءءءءء<EFBFBD>
|
|
|
|
|
--// [S_21003] ũ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_2014_<EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
---------------------------------------------------------END-------
|
|
|
|
|
--<EFBFBD>ءءءءءءءءءءءءءءءءءءءءءءءءءءءءءءءء<EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// Defined
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
VALID_MAP_INDEX = "Eld" -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
IMMORTAL_INDEX = "StaImmortal" -- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ǯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD>
|
|
|
|
|
TREE_CAST_TIME = (2*1000) -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD>
|
|
|
|
|
TREE_CAST_ANI = "ActionProduct" -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
TREE_CAST_ITEM = "E_XTreeDeco" -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ҹ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// Script
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD≯<EFBFBD>
|
|
|
|
|
SCRIPT_FILE_NAME = "Event"
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
E_X_Notice_TreeUp01 = "E_X_Notice_TreeUp01" -- Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>þ<EFBFBD>ϴ<EFBFBD>.
|
|
|
|
|
E_X_Notice_TreeUp02 = "E_X_Notice_TreeUp02" -- Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3<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>.
|
|
|
|
|
E_X_Notice_TreeUp03 = "E_X_Notice_TreeUp03" -- Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <EFBFBD>Һ<EFBFBD><EFBFBD><EFBFBD> ȭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
|
|
|
|
E_X_Notice_TreeUp04 = "E_X_Notice_TreeUp04" -- Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5<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>.
|
|
|
|
|
E_X_Notice_TreeUp05 = "E_X_Notice_TreeUp05" -- <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>.
|
|
|
|
|
E_X_Notice_TreeInit = "E_X_Notice_TreeInit" -- <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>.
|
|
|
|
|
E_X_Notice_Buff01 = "E_X_Notice_Buff01" -- ũ<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>
|
|
|
|
|
E_X_Notice_Buff02 = "E_X_Notice_Buff02" -- <EFBFBD>絹<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
E_X_Notice_Buff03 = "E_X_Notice_Buff03" -- <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>
|
|
|
|
|
E_X_Notice_Buff04 = "E_X_Notice_Buff04" -- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD> <EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
E_X_SysMsg_Deco01 = "E_X_SysMsg_Deco01" -- ũ<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>.
|
|
|
|
|
E_X_SysMsg_Deco02 = "E_X_SysMsg_Deco02" -- <EFBFBD>絹<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ҹ<EFBFBD> Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ҽ<EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
|
|
|
|
E_X_SysMsg_Deco03 = "E_X_SysMsg_Deco03" -- <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>.
|
|
|
|
|
E_X_SysMsg_Deco04 = "E_X_SysMsg_Deco04" -- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD> <EFBFBD>Ҹ<EFBFBD> Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ҽ<EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
|
|
|
|
E_X_SysMsg_Deco05 = "E_X_SysMsg_Deco05" -- <EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ҹ<EFBFBD> Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ҽ<EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
|
|
|
|
E_X_ErrMsg_DecoFail = "E_X_ErrMsg_DecoFail" -- Ʈ<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><EFBFBD><EFBFBD>.
|
|
|
|
|
E_X_SysMsg_DecoFail = "E_X_SysMsg_Fail1" -- <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><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
E_X_SysMsg_DecoFail_2 = "E_X_SysMsg_Fail2" -- Cannot use the item due to an Abnormal State
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <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>
|
|
|
|
|
-- NeedCount : <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>. (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
-- LevDwnKeep : 1 = 1Sec, <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>
|
|
|
|
|
TREE_LEVEL_TABLE =
|
|
|
|
|
{
|
|
|
|
|
{ NeedCount = 50 , AniIndex = "E_XTreeBig_Idle01", LevDwnKeep = 100, Notice = E_X_Notice_TreeUp01, },
|
|
|
|
|
{ NeedCount = 100, AniIndex = "E_XTreeBig_Idle02", LevDwnKeep = 100, Notice = E_X_Notice_TreeUp02, },
|
|
|
|
|
{ NeedCount = 150, AniIndex = "E_XTreeBig_Idle03", LevDwnKeep = 100, Notice = E_X_Notice_TreeUp03, },
|
|
|
|
|
{ NeedCount = 200, AniIndex = "E_XTreeBig_Idle04", LevDwnKeep = 600, Notice = E_X_Notice_TreeUp04, },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
|
|
|
|
-- RegenInterval: 1 = 1Sec, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ٽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ǵ<EFBFBD> <EFBFBD>ð<EFBFBD>.
|
|
|
|
|
REWARD_MOB_REGEN_TABLE =
|
|
|
|
|
{
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15861, CenterY = 15069, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 15612, CenterY = 11399, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
{ MobIndex = "E_XKebing", CenterX = 12342, CenterY = 11267, Range = 2000, RegenInterval = 2, },
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
TREE_LEVEL_DOWN_EVENT_INFO =
|
|
|
|
|
{
|
|
|
|
|
MobLifeTime = 5, -- n<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD>
|
|
|
|
|
MobIndex = "E_XKebing_Show", -- s<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
RegenTick = 3, -- n+1ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(1Tick=0.1Sec)
|
|
|
|
|
RegenDist = 300, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n<EFBFBD><EFBFBD>ŭ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>
|
|
|
|
|
FollowGap = 180, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n<EFBFBD><EFBFBD>ŭ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD><EFBFBD>ؼ<EFBFBD>
|
|
|
|
|
AniTime = 3, -- n<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
AniIndex = "E_XKebing_Skill01_N", -- s<EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD>
|
|
|
|
|
RunSpeed = 2000, -- (n/1000)<EFBFBD><EFBFBD> <EFBFBD>̵<EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
RunMaxDist = 2000, -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> n<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>
|
|
|
|
|
KeepTime = 30, -- n<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><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
|
|
|
|
-- KeepTime : 1000 = 1sec
|
|
|
|
|
-- Range : <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
REWARD_ABSTATE_TABLE =
|
|
|
|
|
{
|
|
|
|
|
Reward01 = { AbstateIndex = "StaXReward01", Strength = 1, KeepTime = (60*60*1000), Range = 1000, Notice = E_X_Notice_Buff01, },
|
|
|
|
|
Reward02 = { AbstateIndex = "StaXReward02", Strength = 1, KeepTime = (60*60*1000), Range = 1000, Notice = E_X_Notice_Buff02, },
|
|
|
|
|
Reward03 = { AbstateIndex = "StaXReward03", Strength = 1, KeepTime = (60*60*1000), Range = 1000, Notice = E_X_Notice_Buff03, },
|
|
|
|
|
Reward04 = { AbstateIndex = "StaXReward04", Strength = 1, KeepTime = (60*60*1000), Range = 1000, Notice = E_X_Notice_Buff04, },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
|
|
|
|
-- MaxLevelKeep : 1 = 1Sec, <EFBFBD>ִ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD>
|
|
|
|
|
-- NeedCount : <EFBFBD>ش<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>. (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
SMALL_TREE_LEVEL_TABLE =
|
|
|
|
|
{
|
|
|
|
|
MaxLevelKeep = 300,
|
|
|
|
|
|
|
|
|
|
{ NeedCount = 5, AniIndex = "E_XTree_Idle01", },
|
|
|
|
|
{ NeedCount = 10, AniIndex = "E_XTree_Idle02", },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-- LevelTable : SMALL_TREE_LEVEL_TABLE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-- RewardAbstate: REWARD_ABSTATE_TABLE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SMALL_TREE_INFO =
|
|
|
|
|
{
|
|
|
|
|
{ MobIndex = "E_XTree_Xmas", RegenX = 14738, RegenY = 13055, Dir = 7, CastSuccMsg = E_X_SysMsg_Deco01, RewardAbstate = "Reward01", },
|
|
|
|
|
{ MobIndex = "E_XTree_Rudolph", RegenX = 17372, RegenY = 13673, Dir = 129, CastSuccMsg = E_X_SysMsg_Deco02, RewardAbstate = "Reward02", },
|
|
|
|
|
{ MobIndex = "E_XTree_Fairy", RegenX = 15582, RegenY = 13827, Dir = 43, CastSuccMsg = E_X_SysMsg_Deco03, RewardAbstate = "Reward03", },
|
|
|
|
|
{ MobIndex = "E_XTree_Santa", RegenX = 14797, RegenY = 13758, Dir = 132, CastSuccMsg = E_X_SysMsg_Deco04, RewardAbstate = "Reward04", },
|
|
|
|
|
{ MobIndex = "E_XTree_Xmas", RegenX = 16750, RegenY = 13852, Dir = 128, CastSuccMsg = E_X_SysMsg_Deco01, RewardAbstate = "Reward01", },
|
|
|
|
|
{ MobIndex = "E_XTree_Rudolph", RegenX = 15769, RegenY = 12928, Dir = 81, CastSuccMsg = E_X_SysMsg_Deco02, RewardAbstate = "Reward02", },
|
|
|
|
|
{ MobIndex = "E_XTree_Fairy", RegenX = 16517, RegenY = 12977, Dir = 53, CastSuccMsg = E_X_SysMsg_Deco03, RewardAbstate = "Reward03", },
|
|
|
|
|
{ MobIndex = "E_XTree_Santa", RegenX = 17363, RegenY = 13090, Dir = 146, CastSuccMsg = E_X_SysMsg_Deco04, RewardAbstate = "Reward04", },
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <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>
|
|
|
|
|
-- Rate : 1000000 = 100%
|
|
|
|
|
ITEM_DROP_TABLE =
|
|
|
|
|
{
|
|
|
|
|
SnowMan =
|
|
|
|
|
{
|
|
|
|
|
{ ItemIndex = "E_XTreeDeco", Rate = 700000, },
|
|
|
|
|
{ ItemIndex = "E_XCrystal", Rate = 500000, },
|
|
|
|
|
{ ItemIndex = "E_BallSnow02", Rate = 500000, },
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-- CenterX, CenterY, Range : <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>߽<EFBFBD> <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-- LifeTime_Min, LifeTime_Max : 1 = 1Sec, <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>
|
|
|
|
|
-- DropTable : ITEM_DROP_TABLE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SNOWMAN_INFO =
|
|
|
|
|
{
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 16000, CenterY = 15640, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 14813, CenterY = 10438, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 11142, CenterY = 10910, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
{ MobIndex = "E_XSnowman", CenterX = 18261, CenterY = 10737, Range = 1000, LifeTime_Min = 5, LifeTime_Max = 7, DropTable = "SnowMan", },
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// ũ<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>
|
|
|
|
|
MemBlock = {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
function E_XTreeBig( Handle, MapIndex )
|
|
|
|
|
cExecCheck( "E_XTreeBig" )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if MapIndex ~= VALID_MAP_INDEX
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
KebingVanishAll( MemBlock[Handle] )
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[Handle]
|
|
|
|
|
local CurSec = cCurrentSecond()
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
MemBlock[Handle] = {}
|
|
|
|
|
|
|
|
|
|
Var = MemBlock[Handle]
|
|
|
|
|
|
|
|
|
|
Var["MapIndex"] = MapIndex
|
|
|
|
|
Var["Handle"] = Handle
|
|
|
|
|
|
|
|
|
|
Var["CurSec"] = CurSec
|
|
|
|
|
Var["NextTick"] = CurSec
|
|
|
|
|
|
|
|
|
|
Var["Level"] = 0
|
|
|
|
|
Var["Count"] = 0
|
|
|
|
|
|
|
|
|
|
Var["RegenKebing"] = false
|
|
|
|
|
Var["KebingList"] = {}
|
|
|
|
|
Var["KebingRegenList"] = {}
|
|
|
|
|
|
|
|
|
|
Var["LevelDownEvent"] = false
|
|
|
|
|
Var["EventKeepTime"] = CurSec
|
|
|
|
|
Var["TickCount"] = TREE_LEVEL_DOWN_EVENT_INFO["RegenTick"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>峭<EFBFBD>ٷ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|
|
|
|
Var["KebingDeadCount"] = 0
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
|
|
|
|
MemBlock["TreeHandle"] = Handle
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
MemBlock["BonusDefenceEvent"] = {}
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsProgress"] = false -- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsSantaKebingCrush"] = false -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>浹<EFBFBD>ߴ°<EFBFBD>
|
|
|
|
|
cAIScriptFunc( Handle, "NPCClick", "TreeClick" )
|
|
|
|
|
cAIScriptFunc( Handle, "NPCMenu", "TreeCastingComplete" )
|
|
|
|
|
cSetFieldScript ( Var["MapIndex"], Handle )
|
|
|
|
|
cFieldScriptFunc ( Var["MapIndex"], "ServantSummon", "ServantSummon" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 0.1<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
if Var["NextTick"] <= CurSec
|
|
|
|
|
then
|
|
|
|
|
Var["CurSec"] = CurSec
|
|
|
|
|
Var["NextTick"] = Var["NextTick"] + 0.1
|
|
|
|
|
else
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
TreeProcess( Var )
|
|
|
|
|
SmallTreeProcess( Var )
|
|
|
|
|
SnowManProcess( Var )
|
|
|
|
|
|
|
|
|
|
SantaKebingRegenProcess( Var )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
function TreeProcess( Var )
|
|
|
|
|
cExecCheck( "TreeProcess" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["CurSec"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["RegenKebing"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["LevelDownEvent"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- TreeCastingComplete <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>
|
|
|
|
|
if Var["LevDwnKeep"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["LevDwnKeep"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
-- ù <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD><EFBFBD≯<EFBFBD>
|
|
|
|
|
if Var["Level"] == #TREE_LEVEL_TABLE
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ӷα<EFBFBD>
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ʈ<EFBFBD><EFBFBD> <EFBFBD>ϼ<EFBFBD> Ƚ<EFBFBD><EFBFBD>( 5<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ٹ̱<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
|
|
|
|
cSendGameLogDataType_5( NC_LOG_GAME_CHRISTMAS_DECO_COMPLETE_BIG_TREE, 0, 0, 0 )
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_TreeUp05 )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RegenKebing"] = true
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ٿ<EFBFBD>
|
|
|
|
|
Var["Level"] = Var["Level"] - 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["Level"] <= 0
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
-- cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_TreeInit )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
|
|
|
|
|
cAnimate( Var["Handle"], "stop" )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["RegenKebing"] = false
|
|
|
|
|
KebingVanishAll( Var )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<EFBFBD><EFBFBD>Ʈ <EFBFBD>ʱ<EFBFBD>ȭ
|
|
|
|
|
Var["Level"] = 0
|
|
|
|
|
Var["Count"] = 0
|
|
|
|
|
|
|
|
|
|
Var["LevDwnKeep"] = nil
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 100 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ѱ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>潺<EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD>
|
|
|
|
|
if Var["KebingDeadCount"] >= NEED_KEBING_KILLCOUNT_FOR_DEFENCE_EVENT
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ӷα<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>κ<EFBFBD>
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ƚ<EFBFBD><EFBFBD>
|
|
|
|
|
cSendGameLogDataType_5( NC_LOG_GAME_CHRISTMAS_START_DEFENCE, 0, 0, 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><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>. Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_DefenseStart )
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsProgress"] = true
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
-- <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>ּ<EFBFBD><EFBFBD><EFBFBD>.
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_TreeInit )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ʱ<EFBFBD>ȭ
|
|
|
|
|
Var["KebingDeadCount"] = 0
|
|
|
|
|
else
|
|
|
|
|
local CurLevData = TREE_LEVEL_TABLE[ Var["Level"] ]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD> <EFBFBD>ð<EFBFBD>
|
|
|
|
|
Var["LevDwnKeep"] = Var["CurSec"] + CurLevData["LevDwnKeep"]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cAnimate( Var["Handle"], "start", CurLevData["AniIndex"] )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD> <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
Var["LevelDownEvent"] = true
|
|
|
|
|
Var["EventKeepTime"] = Var["CurSec"] + TREE_LEVEL_DOWN_EVENT_INFO["KeepTime"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["RegenKebing"] == true
|
|
|
|
|
then
|
|
|
|
|
KebingRegenProcess( Var )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["LevelDownEvent"] == true
|
|
|
|
|
then
|
|
|
|
|
TreeLevelDownEventProcess( Var )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD>ߵ<EFBFBD>
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["IsProgress"] == true
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["IsSantaKebingCrush"] == false
|
|
|
|
|
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>
|
|
|
|
|
if IsSantaKebingAllDead( Var ) == true
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ӷα<EFBFBD>
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ƚ<EFBFBD><EFBFBD>
|
|
|
|
|
cSendGameLogDataType_5( NC_LOG_GAME_CHRISTMAS_SUCC_DEFENCE, 0, 0, 0 )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD> ( Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_DefenseSucc )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ο<EFBFBD>
|
|
|
|
|
cSetAbstate_Range( Var["Handle"], DEFENCE_EVENT_REWARD_ABSTATE_TABLE["Range"], ObjectType["Player"], DEFENCE_EVENT_REWARD_ABSTATE_TABLE["AbstateIndex"], DEFENCE_EVENT_REWARD_ABSTATE_TABLE["Strength"], DEFENCE_EVENT_REWARD_ABSTATE_TABLE["KeepTime"] )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʱ<EFBFBD>ȭ <EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsSantaKebingCrush"] = false
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["ResetCoolTime"] = nil
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsProgress"] = false
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
|
|
|
|
SantaKebingVanishAll( Var )
|
|
|
|
|
|
|
|
|
|
MemBlock["SantaKebingList"] = nil
|
|
|
|
|
MemBlock["SantaKebingListHandle"] = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>浹<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>,
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["IsSantaKebingCrush"] == true
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["ResetCoolTime"] == nil
|
|
|
|
|
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>. )
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_DefenseFail )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ü <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
|
|
|
|
SantaKebingVanishAll( Var )
|
|
|
|
|
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["ResetCoolTime"] = Var["CurSec"] + DEFENCE_EVENT_FAIL_TREE_REGEN_TIME
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>( <EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִ<EFBFBD> )
|
|
|
|
|
cAnimate( Var["Handle"], "start", TREE_DEFENCE_TABLE["TREE_DIE"]["AniIndex"] )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ǹ<EFBFBD>,
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["ResetCoolTime"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["ResetCoolTime"] <= Var["CurSec"]
|
|
|
|
|
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>. )
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, E_X_Notice_TreeRegen )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>( <EFBFBD>⺻<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD> )
|
|
|
|
|
cAnimate( Var["Handle"], "start", TREE_DEFENCE_TABLE["TREE_REGEN"]["AniIndex"] )
|
|
|
|
|
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsProgress"] = false
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsSantaKebingCrush"] = false
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["ResetCoolTime"] = nil
|
|
|
|
|
|
|
|
|
|
MemBlock["SantaKebingList"] = nil
|
|
|
|
|
MemBlock["SantaKebingListHandle"] = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function KebingRegenProcess( Var )
|
|
|
|
|
cExecCheck( "KebingRegenProcess" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["CurSec"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KebingList"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KebingRegenList"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i = 1, #REWARD_MOB_REGEN_TABLE do
|
|
|
|
|
|
|
|
|
|
if Var["KebingList"][i] == nil or cIsObjectDead( Var["KebingList"][i] ) == 1
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>ϰ<EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ī<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cIsObjectDead( Var["KebingList"][i] ) == 1
|
|
|
|
|
then
|
|
|
|
|
Var["KebingDeadCount"] = Var["KebingDeadCount"] + 1
|
|
|
|
|
end
|
|
|
|
|
Var["KebingList"][i] = nil
|
|
|
|
|
|
|
|
|
|
if Var["KebingRegenList"][i] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["KebingRegenList"][i] = Var["CurSec"] + REWARD_MOB_REGEN_TABLE[i]["RegenInterval"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KebingRegenList"][i] ~= nil and Var["KebingRegenList"][i] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
Var["KebingList"][i] = cMobRegen_Circle( Var["MapIndex"], REWARD_MOB_REGEN_TABLE[i]["MobIndex"],
|
|
|
|
|
REWARD_MOB_REGEN_TABLE[i]["CenterX"],
|
|
|
|
|
REWARD_MOB_REGEN_TABLE[i]["CenterY"],
|
|
|
|
|
REWARD_MOB_REGEN_TABLE[i]["Range"] )
|
|
|
|
|
Var["KebingRegenList"][i] = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function KebingVanishAll( Var )
|
|
|
|
|
cExecCheck( "KebingVanishAll" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KebingList"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["KebingRegenList"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for i = 1, #REWARD_MOB_REGEN_TABLE
|
|
|
|
|
do
|
|
|
|
|
if Var["KebingList"][i] ~= nil
|
|
|
|
|
then
|
|
|
|
|
cNPCVanish( Var["KebingList"][i] )
|
|
|
|
|
Var["KebingList"][i] = nil
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["KebingRegenList"][i] = nil
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
function TreeLevelDownEventProcess( Var )
|
|
|
|
|
cExecCheck( "TreeLevelDownEventProcess" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Handle"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["CurSec"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["LevelDownEvent"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["EventKeepTime"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["TickCount"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if Var["LevelDownEvent"] == false
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["EventKeepTime"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
Var["LevelDownEvent"] = false
|
|
|
|
|
Var["TickCount"] = TREE_LEVEL_DOWN_EVENT_INFO["RegenTick"]
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["TickCount"] < TREE_LEVEL_DOWN_EVENT_INFO["RegenTick"]
|
|
|
|
|
then
|
|
|
|
|
Var["TickCount"] = Var["TickCount"] + 1
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Var["TickCount"] = 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local Dir = cRandomInt( 1, 90 ) * 4
|
|
|
|
|
local RegenX, RegenY = cGetAroundCoord( Var["Handle"], Dir, TREE_LEVEL_DOWN_EVENT_INFO["RegenDist"] )
|
|
|
|
|
|
|
|
|
|
local MobHandle = cMobRegen_XY( Var["MapIndex"], TREE_LEVEL_DOWN_EVENT_INFO["MobIndex"], RegenX, RegenY, Dir )
|
|
|
|
|
if MobHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
if cAIScriptSet( MobHandle, Var["Handle"] ) ~= nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptFunc( MobHandle, "Entrance", "EventMobRoutine" )
|
|
|
|
|
|
|
|
|
|
MemBlock[MobHandle] = {}
|
|
|
|
|
MemBlock[MobHandle]["Handle"] = MobHandle
|
|
|
|
|
MemBlock[MobHandle]["MapIndex"] = Var["MapIndex"]
|
|
|
|
|
MemBlock[MobHandle]["CurSec"] = Var["CurSec"]
|
|
|
|
|
MemBlock[MobHandle]["NextTick"] = Var["CurSec"]
|
|
|
|
|
MemBlock[MobHandle]["LifeTime"] = Var["CurSec"] + TREE_LEVEL_DOWN_EVENT_INFO["MobLifeTime"]
|
|
|
|
|
MemBlock[MobHandle]["MasterHandle"] = Var["Handle"]
|
|
|
|
|
MemBlock[MobHandle]["GoalX"],
|
|
|
|
|
MemBlock[MobHandle]["GoalY"] = cGetAroundCoord( Var["Handle"], Dir, TREE_LEVEL_DOWN_EVENT_INFO["RunMaxDist"] )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>̺<EFBFBD>Ʈ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ƾ
|
|
|
|
|
function EventMobRoutine( Handle, MapIndex )
|
|
|
|
|
cExecCheck( "EventMobRoutine" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[Handle]
|
|
|
|
|
local CurSec = cCurrentSecond()
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Var["MasterHandle"] ) == 1
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>̵<EFBFBD>
|
|
|
|
|
if Var["Step"] == nil
|
|
|
|
|
then
|
|
|
|
|
cFollow( Handle, Var["MasterHandle"], TREE_LEVEL_DOWN_EVENT_INFO["FollowGap"], 9999 )
|
|
|
|
|
|
|
|
|
|
Var["Step"] = 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 0.1<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
if Var["NextTick"] <= CurSec
|
|
|
|
|
then
|
|
|
|
|
Var["CurSec"] = CurSec
|
|
|
|
|
Var["NextTick"] = Var["NextTick"] + 0.1
|
|
|
|
|
else
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- 1<EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD><EFBFBD><EFBFBD> 0.1<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> if<EFBFBD><EFBFBD> <EFBFBD>и<EFBFBD>
|
|
|
|
|
if Var["Step"] == 1
|
|
|
|
|
then
|
|
|
|
|
local MoveState, KeepTime = cGetMoveState( Handle )
|
|
|
|
|
|
|
|
|
|
if MoveState ~= nil and MoveState == 0
|
|
|
|
|
then
|
|
|
|
|
cAnimate( Handle, "start", TREE_LEVEL_DOWN_EVENT_INFO["AniIndex"] )
|
|
|
|
|
Var["Step"] = Var["Step"] + 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
elseif Var["Step"] == 2
|
|
|
|
|
then
|
|
|
|
|
local MoveState, KeepTime = cGetMoveState( Handle )
|
|
|
|
|
|
|
|
|
|
if MoveState ~= nil and MoveState == 0 and KeepTime >= TREE_LEVEL_DOWN_EVENT_INFO["AniTime"]
|
|
|
|
|
then
|
|
|
|
|
cAnimate( Handle, "stop" )
|
|
|
|
|
Var["Step"] = Var["Step"] + 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
elseif Var["Step"] == 3
|
|
|
|
|
then
|
|
|
|
|
if Var["GoalX"] ~= nil and Var["GoalY"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
cRunTo( Handle, Var["GoalX"], Var["GoalY"], TREE_LEVEL_DOWN_EVENT_INFO["RunSpeed"] )
|
|
|
|
|
end
|
|
|
|
|
Var["Step"] = Var["Step"] + 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <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 Var["LifeTime"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD>
|
|
|
|
|
function TreeClick( NPCHandle, PlyHandle, RegistNumber )
|
|
|
|
|
cExecCheck( "TreeClick" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[NPCHandle]
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if #TREE_LEVEL_TABLE == 0
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] >= TREE_LEVEL_TABLE[ #TREE_LEVEL_TABLE ]["NeedCount"]
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["IsProgress"] == true
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
if cIsNoAttacOrNoMove( PlyHandle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail_2 )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cCastingBar( PlyHandle, NPCHandle, TREE_CAST_TIME, TREE_CAST_ANI )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ϸ<EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
function TreeCastingComplete( NPCHandle, PlyHandle, RegistNumber, Menu )
|
|
|
|
|
cExecCheck( "TreeCastingComplete" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[NPCHandle]
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["MapIndex"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if #TREE_LEVEL_TABLE == 0
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] >= #TREE_LEVEL_TABLE
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] >= TREE_LEVEL_TABLE[ #TREE_LEVEL_TABLE ]["NeedCount"]
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>潺 <EFBFBD>̺<EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["IsProgress"] == true
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cInvenItemDestroy( PlyHandle, TREE_CAST_ITEM, 1 ) == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_ErrMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_Deco05 )
|
|
|
|
|
|
|
|
|
|
Var["Count"] = Var["Count"] + 1
|
|
|
|
|
|
|
|
|
|
-- <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> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cSendGameLogDataType_5( NC_LOG_GAME_CHRISTMAS_DECO_TRY_BIG_TREE, 0, 0, 0 )
|
|
|
|
|
|
|
|
|
|
local NextLevData = TREE_LEVEL_TABLE[ Var["Level"]+1 ]
|
|
|
|
|
|
|
|
|
|
if Var["Count"] >= NextLevData["NeedCount"]
|
|
|
|
|
then
|
|
|
|
|
cAnimate( NPCHandle, "start", NextLevData["AniIndex"] )
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, NextLevData["Notice"] )
|
|
|
|
|
|
|
|
|
|
Var["Level"] = Var["Level"] + 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] >= #TREE_LEVEL_TABLE
|
|
|
|
|
then
|
|
|
|
|
if NextLevData["LevDwnKeep"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["LevDwnKeep"] = cCurrentSecond() + 0.5
|
|
|
|
|
else
|
|
|
|
|
Var["LevDwnKeep"] = cCurrentSecond() + NextLevData["LevDwnKeep"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------
|
|
|
|
|
--local CurX, CurY = cObjectLocate( Var["Handle"] )
|
|
|
|
|
--cEffectRegen_XY( Var["MapIndex"], "LightShield", CurX, CurY, 0, 4, 0, 1000 )
|
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> <EFBFBD>Լ<EFBFBD>
|
|
|
|
|
function SmallTreeProcess( Var )
|
|
|
|
|
cExecCheck( "SmallTreeProcess" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["MapIndex"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Handle"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["SmallTreeList"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["SmallTreeList"] = {}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i = 1, #SMALL_TREE_INFO
|
|
|
|
|
do
|
|
|
|
|
if Var["SmallTreeList"][i] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["SmallTreeList"][i] = {}
|
|
|
|
|
|
|
|
|
|
local CurTree = Var["SmallTreeList"][i]
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CurTree["Handle"] = cMobRegen_XY( Var["MapIndex"], SMALL_TREE_INFO[i]["MobIndex"], SMALL_TREE_INFO[i]["RegenX"], SMALL_TREE_INFO[i]["RegenY"], SMALL_TREE_INFO[i]["Dir"] )
|
|
|
|
|
|
|
|
|
|
if CurTree["Handle"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cResetAbstate( CurTree["Handle"], IMMORTAL_INDEX )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cAIScriptSet( CurTree["Handle"], Var["Handle"] ) ~= nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptFunc( CurTree["Handle"], "Entrance", "SmallTreeRoutine" )
|
|
|
|
|
cAIScriptFunc( CurTree["Handle"], "NPCClick", "SmallTreeClick" )
|
|
|
|
|
cAIScriptFunc( CurTree["Handle"], "NPCMenu", "SmallTreeCastingComplete" )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
MemBlock[CurTree["Handle"]] = {}
|
|
|
|
|
MemBlock[CurTree["Handle"]]["MasterHandle"] = Var["Handle"]
|
|
|
|
|
MemBlock[CurTree["Handle"]]["MasterMobID"] = cGetMobID( Var["Handle"] )
|
|
|
|
|
MemBlock[CurTree["Handle"]]["Handle"] = CurTree["Handle"]
|
|
|
|
|
MemBlock[CurTree["Handle"]]["MapIndex"] = Var["MapIndex"]
|
|
|
|
|
MemBlock[CurTree["Handle"]]["CurSec"] = Var["CurSec"]
|
|
|
|
|
MemBlock[CurTree["Handle"]]["NextTick"] = Var["CurSec"]
|
|
|
|
|
MemBlock[CurTree["Handle"]]["Level"] = 0
|
|
|
|
|
MemBlock[CurTree["Handle"]]["Count"] = 0
|
|
|
|
|
MemBlock[CurTree["Handle"]]["DataIndex"] = i
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>ϱ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CurTree["MobID"] = cGetMobID( CurTree["Handle"] )
|
|
|
|
|
CurTree["RegenX"],
|
|
|
|
|
CurTree["RegenY"] = cObjectLocate( CurTree["Handle"] )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["SmallTreeList"][i] ~= nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if SmallTreeValidCheck( Var["SmallTreeList"][i] ) == false
|
|
|
|
|
then
|
|
|
|
|
Var["SmallTreeList"][i] = nil
|
|
|
|
|
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>)
|
|
|
|
|
function SmallTreeValidCheck( Var )
|
|
|
|
|
cExecCheck( "SmallTreeValidCheck" )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>⺻ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Handle"] == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["MobID"] == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["RegenX"] == nil or Var["RegenY"] == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
if cIsObjectDead( Var["Handle"] ) == 1
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>´<EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
local MobID = cGetMobID( Var["Handle"] )
|
|
|
|
|
if MobID == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MobID ~= Var["MobID"]
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥȮ<EFBFBD><EFBFBD>
|
|
|
|
|
local CurX, CurY = cObjectLocate( Var["Handle"] )
|
|
|
|
|
if CurX == nil or CurY == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CurX ~= Var["RegenX"] or CurY ~= Var["RegenY"]
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ƾ
|
|
|
|
|
function SmallTreeRoutine( Handle, MapIndex )
|
|
|
|
|
cExecCheck( "SmallTreeRoutine" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[Handle]
|
|
|
|
|
local CurSec = cCurrentSecond()
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 0.1<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
if Var["NextTick"] <= CurSec
|
|
|
|
|
then
|
|
|
|
|
Var["CurSec"] = CurSec
|
|
|
|
|
Var["NextTick"] = Var["NextTick"] + 0.1
|
|
|
|
|
else
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
if MainTreeValidCheck( Var ) == false
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- SmallTreeCastingComplete <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ִ뷹<EFBFBD><EFBFBD> <EFBFBD>ɶ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>
|
|
|
|
|
if Var["MaxLevelKeep"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["MaxLevelKeep"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD>ִϸ<EFBFBD><EFBFBD>̼<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
|
|
|
|
|
cAnimate( Handle, "stop" )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<EFBFBD><EFBFBD>Ʈ <EFBFBD>ʱ<EFBFBD>ȭ
|
|
|
|
|
Var["Level"] = 0
|
|
|
|
|
Var["Count"] = 0
|
|
|
|
|
|
|
|
|
|
Var["MaxLevelKeep"] = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <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>)
|
|
|
|
|
function MainTreeValidCheck( Var )
|
|
|
|
|
cExecCheck( "MainTreeValidCheck" )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>⺻ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["MasterHandle"] == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["MasterMobID"] == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
if cIsObjectDead( Var["MasterHandle"] ) == 1
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>´<EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|
|
|
|
local MobID = cGetMobID( Var["MasterHandle"] )
|
|
|
|
|
if MobID == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MobID ~= Var["MasterMobID"]
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
function SmallTreeClick( NPCHandle, PlyHandle, RegistNumber )
|
|
|
|
|
cExecCheck( "SmallTreeClick" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[NPCHandle]
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["DataIndex"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local LevelData = SMALL_TREE_LEVEL_TABLE
|
|
|
|
|
|
|
|
|
|
if LevelData == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if #LevelData == 0
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] >= LevelData[ #LevelData ]["NeedCount"]
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cIsNoAttacOrNoMove( PlyHandle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail_2 )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cCastingBar( PlyHandle, NPCHandle, TREE_CAST_TIME, TREE_CAST_ANI )
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ϸ<EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
function SmallTreeCastingComplete( NPCHandle, PlyHandle, RegistNumber, Menu )
|
|
|
|
|
cExecCheck( "SmallTreeCastingComplete" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[NPCHandle]
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["DataIndex"] == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local LevelData = SMALL_TREE_LEVEL_TABLE
|
|
|
|
|
|
|
|
|
|
if LevelData == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if #LevelData == 0
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] >= #LevelData
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Count"] >= LevelData[ #LevelData ]["NeedCount"]
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_SysMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cInvenItemDestroy( PlyHandle, TREE_CAST_ITEM, 1 ) == nil
|
|
|
|
|
then
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, E_X_ErrMsg_DecoFail )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cSystemMessage_Obj( PlyHandle, SCRIPT_FILE_NAME, SMALL_TREE_INFO[ Var["DataIndex"] ]["CastSuccMsg"] )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Var["Count"] = Var["Count"] + 1
|
|
|
|
|
|
|
|
|
|
-- <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> 1<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cSendGameLogDataType_5( NC_LOG_GAME_CHRISTMAS_DECO_TRY_SMALL_TREE, 0, cGetMobID(NPCHandle), 0 )
|
|
|
|
|
|
|
|
|
|
local NextLevData = LevelData[ Var["Level"]+1 ]
|
|
|
|
|
|
|
|
|
|
if Var["Count"] >= NextLevData["NeedCount"]
|
|
|
|
|
then
|
|
|
|
|
cAnimate( NPCHandle, "start", NextLevData["AniIndex"] )
|
|
|
|
|
|
|
|
|
|
Var["Level"] = Var["Level"] + 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["Level"] >= #LevelData
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ӷα<EFBFBD>
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ʈ<EFBFBD><EFBFBD> <EFBFBD>ϼ<EFBFBD> Ƚ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> 4<EFBFBD><EFBFBD>)
|
|
|
|
|
cSendGameLogDataType_5( NC_LOG_GAME_CHRISTMAS_DECO_COMPLETE_SMALL_TREE, 0, cGetMobID(NPCHandle), 0 )
|
|
|
|
|
local RewardData = REWARD_ABSTATE_TABLE[ SMALL_TREE_INFO[ Var["DataIndex"] ]["RewardAbstate"] ]
|
|
|
|
|
|
|
|
|
|
if RewardData ~= nil
|
|
|
|
|
then
|
|
|
|
|
cSetAbstate_Range( NPCHandle, RewardData["Range"], ObjectType["Player"], RewardData["AbstateIndex"], RewardData["Strength"], RewardData["KeepTime"] )
|
|
|
|
|
cNotice( Var["MapIndex"], SCRIPT_FILE_NAME, RewardData["Notice"] )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if LevelData["MaxLevelKeep"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["MaxLevelKeep"] = cCurrentSecond() + 1
|
|
|
|
|
else
|
|
|
|
|
Var["MaxLevelKeep"] = cCurrentSecond() + LevelData["MaxLevelKeep"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------
|
|
|
|
|
--local CurX, CurY = cObjectLocate( Var["Handle"] )
|
|
|
|
|
--cEffectRegen_XY( Var["MapIndex"], "LightShield", CurX, CurY, 0, 4, 0, 1000 )
|
|
|
|
|
--------------------------
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> <EFBFBD>Լ<EFBFBD>
|
|
|
|
|
function SnowManProcess( Var )
|
|
|
|
|
cExecCheck( "SnowManProcess" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["SnowManList"] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["SnowManList"] = {}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for i = 1, #SNOWMAN_INFO
|
|
|
|
|
do
|
|
|
|
|
if Var["SnowManList"][i] == nil
|
|
|
|
|
then
|
|
|
|
|
Var["SnowManList"][i] = Var["CurSec"] + cRandomInt( SNOWMAN_INFO[i]["LifeTime_Min"], SNOWMAN_INFO[i]["LifeTime_Max"] )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local MobHandle = cMobRegen_Circle( Var["MapIndex"], SNOWMAN_INFO[i]["MobIndex"], SNOWMAN_INFO[i]["CenterX"], SNOWMAN_INFO[i]["CenterY"], SNOWMAN_INFO[i]["Range"] )
|
|
|
|
|
|
|
|
|
|
if MobHandle ~= nil
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cResetAbstate( MobHandle, IMMORTAL_INDEX )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cAIScriptSet( MobHandle, Var["Handle"] ) ~= nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptFunc( MobHandle, "Entrance", "SnowManRoutine" )
|
|
|
|
|
|
|
|
|
|
MemBlock[MobHandle] = {}
|
|
|
|
|
MemBlock[MobHandle]["Handle"] = MobHandle
|
|
|
|
|
MemBlock[MobHandle]["MapIndex"] = Var["MapIndex"]
|
|
|
|
|
MemBlock[MobHandle]["CurSec"] = Var["CurSec"]
|
|
|
|
|
MemBlock[MobHandle]["NextTick"] = Var["CurSec"]
|
|
|
|
|
MemBlock[MobHandle]["LifeTime"] = Var["SnowManList"][i]
|
|
|
|
|
MemBlock[MobHandle]["RegenX"],
|
|
|
|
|
MemBlock[MobHandle]["RegenY"] = cObjectLocate( MobHandle )
|
|
|
|
|
MemBlock[MobHandle]["DropTable"]= ITEM_DROP_TABLE[ SNOWMAN_INFO[i]["DropTable"] ]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if Var["SnowManList"][i] + 0.5 <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
Var["SnowManList"][i] = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ƾ
|
|
|
|
|
function SnowManRoutine( Handle, MapIndex )
|
|
|
|
|
cExecCheck( "SnowManRoutine" )
|
|
|
|
|
|
|
|
|
|
local Var = MemBlock[Handle]
|
|
|
|
|
local CurSec = cCurrentSecond()
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- 0.1<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD>
|
|
|
|
|
if Var["NextTick"] <= CurSec
|
|
|
|
|
then
|
|
|
|
|
Var["CurSec"] = CurSec
|
|
|
|
|
Var["NextTick"] = Var["NextTick"] + 0.1
|
|
|
|
|
else
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ũ<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> üũ
|
|
|
|
|
local CurX, CurY = cObjectLocate( Handle )
|
|
|
|
|
if CurX == nil or CurY == nil or Var["RegenX"] == nil or Var["RegenY"] == nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
else
|
|
|
|
|
if CurX ~= Var["RegenX"] or CurY ~= Var["RegenY"]
|
|
|
|
|
then
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if Var["DropTable"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
for j = 1, #Var["DropTable"]
|
|
|
|
|
do
|
|
|
|
|
cDropItem( Var["DropTable"][j]["ItemIndex"], Handle, -1, Var["DropTable"][j]["Rate"] )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cKillObject( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <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 Var["LifeTime"] <= Var["CurSec"]
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
cNPCVanish( Handle )
|
|
|
|
|
MemBlock[Handle] = nil
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> : SantaKebingRegenProcess
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
function SantaKebingRegenProcess( Var )
|
|
|
|
|
cExecCheck ( "SantaKebingRegenProcess" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD>潺<EFBFBD>̺<EFBFBD>Ʈ ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ƴϸ<EFBFBD> return
|
|
|
|
|
if MemBlock["BonusDefenceEvent"]["IsProgress"] == false
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"] == nil and MemBlock["SantaKebingListHandle"] == nil
|
|
|
|
|
then
|
|
|
|
|
MemBlock["SantaKebingList"] = {}
|
|
|
|
|
MemBlock["SantaKebingListHandle"] = {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i = 1, #SANTA_KEBING_MOB_REGEN_TABLE
|
|
|
|
|
do
|
|
|
|
|
local temphandle = cMobRegen_XY( Var["MapIndex"], SANTA_KEBING_MOB_REGEN_TABLE["MobIndex"], SANTA_KEBING_MOB_REGEN_TABLE[i]["RegenX"],
|
|
|
|
|
SANTA_KEBING_MOB_REGEN_TABLE[i]["RegenY"], SANTA_KEBING_MOB_REGEN_TABLE[i]["Dir"] )
|
|
|
|
|
|
|
|
|
|
if temphandle == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"][temphandle] == nil
|
|
|
|
|
then
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle] = {}
|
|
|
|
|
|
|
|
|
|
if cAIScriptSet( temphandle, Var["Handle"] ) ~= nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptFunc( temphandle, "Entrance", "SantaKebingRoutine" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["Handle"] = temphandle
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["RunSpeed"] = SANTA_KEBING_MOB_REGEN_TABLE["RunSpeed"]
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["TargetHandle"] = Var["Handle"]
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["GoalX"],
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["GoalY"] = cObjectLocate( Var["Handle"] )
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["CrushBallHitCount"] = 0
|
|
|
|
|
MemBlock["SantaKebingList"][temphandle]["PathFinding"] = SANTA_KEBING_PATH_TABLE[i]
|
|
|
|
|
MemBlock["SantaKebingListHandle"][i] = temphandle
|
|
|
|
|
|
|
|
|
|
-- <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>!! )
|
|
|
|
|
cMobChat( temphandle, SCRIPT_FILE_NAME, E_XKebingChat01 )
|
|
|
|
|
|
|
|
|
|
-- <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>
|
|
|
|
|
cResetAbstate( temphandle , "StaImmortal" )
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> : SantaKebingRoutine
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
function SantaKebingRoutine( Handle, MapIndex )
|
|
|
|
|
cExecCheck ( "SantaKebingRoutine" )
|
|
|
|
|
|
|
|
|
|
if MapIndex ~= VALID_MAP_INDEX
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local CurSantaKebing = MemBlock["SantaKebingList"][Handle]
|
|
|
|
|
|
|
|
|
|
-- <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>
|
|
|
|
|
PathTypeProcess( Handle )
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>
|
|
|
|
|
if cDistanceSquar( Handle, CurSantaKebing["TargetHandle"] ) <= ( SANTAKEBING_RANGE_WITH_TREE * SANTAKEBING_RANGE_WITH_TREE )
|
|
|
|
|
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><EFBFBD><EFBFBD> )
|
|
|
|
|
if MemBlock["SantaKebingList"][Handle]["CrushAniTime"] == nil
|
|
|
|
|
then
|
|
|
|
|
MemBlock["SantaKebingList"][Handle]["CrushAniTime"] = cCurrentSecond() + SANTA_KEBING_MOB_ANI_TABLE["CastAniKeepTime"]
|
|
|
|
|
cAnimate( Handle, "start", SANTA_KEBING_MOB_ANI_TABLE["CastAniIndex"] )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"][Handle]["CrushAniTime"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
if MemBlock["SantaKebingList"][Handle]["CrushAniTime"] > cCurrentSecond()
|
|
|
|
|
then
|
|
|
|
|
return ReturnAI["CPP"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
cAnimate( Handle, "start", SANTA_KEBING_MOB_ANI_TABLE["SwingAniIndex"] )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
MemBlock["BonusDefenceEvent"]["IsSantaKebingCrush"] = true
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>¾Ҵ<EFBFBD><EFBFBD><EFBFBD> üũ<EFBFBD>Ѵ<EFBFBD>
|
|
|
|
|
if CurSantaKebing["CrushBallHitCount"] >= SANTAKEBING_CRUSHBALL_HIT_COUNT
|
|
|
|
|
then
|
|
|
|
|
cMobSuicide( MapIndex, Handle )
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> : IsSantaKebingAllDead
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
-- <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>
|
|
|
|
|
function IsSantaKebingAllDead( Var )
|
|
|
|
|
cExecCheck( "IsSantaKebingAllDead" )
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"] == nil
|
|
|
|
|
then
|
|
|
|
|
return false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for i = 1, #MemBlock["SantaKebingListHandle"] do
|
|
|
|
|
if cIsObjectDead( MemBlock["SantaKebingListHandle"][i] ) == nil
|
|
|
|
|
then
|
|
|
|
|
return false -- <EFBFBD>ѳ<EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false<EFBFBD><EFBFBD>ȯ
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if i == #MemBlock["SantaKebingListHandle"]
|
|
|
|
|
then
|
|
|
|
|
return true -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> true <EFBFBD><EFBFBD>ȯ
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<EFBFBD><EFBFBD> : SantaKebingVanishAll
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
-- <EFBFBD><EFBFBD>Ÿ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
function SantaKebingVanishAll( Var )
|
|
|
|
|
cExecCheck( "SantaKebingVanishAll" )
|
|
|
|
|
|
|
|
|
|
if Var == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
for i = 1, #MemBlock["SantaKebingListHandle"]
|
|
|
|
|
do
|
|
|
|
|
local CurHandle = MemBlock["SantaKebingListHandle"][i]
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"][CurHandle] ~= nil
|
|
|
|
|
then
|
|
|
|
|
cNPCVanish( MemBlock["SantaKebingList"][CurHandle]["Handle"] )
|
|
|
|
|
MemBlock["SantaKebingList"][CurHandle] = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// <EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> pathó<EFBFBD><EFBFBD> : PathTypeProcess
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
function PathTypeProcess( Handle )
|
|
|
|
|
|
|
|
|
|
local CurSantaKebing = MemBlock["SantaKebingList"][Handle]
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CurSantaKebing == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CurSantaKebing["PathFinding"] == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>̹<EFBFBD> <EFBFBD>浹 ó<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>̹Ƿ<EFBFBD>, return
|
|
|
|
|
if CurSantaKebing["CrushAniTime"] ~= nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if MemBlock["SantaKebingList"][Handle]["PathProgress"] == nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
MemBlock["SantaKebingList"][Handle]["PathProgress"] = {}
|
|
|
|
|
|
|
|
|
|
MemBlock["SantaKebingList"][Handle]["PathProgress"]["GoalCheckTime"] = cCurrentSecond()
|
|
|
|
|
MemBlock["SantaKebingList"][Handle]["PathProgress"]["CurPathStep"] = 1
|
|
|
|
|
MemBlock["SantaKebingList"][Handle]["PathProgress"]["CurMoveState"] = MOVESTATE["STOP"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if CurSantaKebing["PathProgress"]["CurPathStep"] > #CurSantaKebing["PathFinding"]
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if CurSantaKebing["PathProgress"]["CurMoveState"] == MOVESTATE["STOP"]
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if cWillMovement( Handle ) == nil
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
cRunTo( Handle,
|
|
|
|
|
CurSantaKebing["PathFinding"][CurSantaKebing["PathProgress"]["CurPathStep"]]["x"],
|
|
|
|
|
CurSantaKebing["PathFinding"][CurSantaKebing["PathProgress"]["CurPathStep"]]["y"],
|
|
|
|
|
SANTA_KEBING_MOB_REGEN_TABLE["RunSpeed"] )
|
|
|
|
|
|
|
|
|
|
CurSantaKebing["PathProgress"]["CurMoveState"] = MOVESTATE["MOVE"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if CurSantaKebing["PathProgress"]["CurMoveState"] == MOVESTATE["MOVE"]
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cWillMovement( Handle ) == nil
|
|
|
|
|
then
|
|
|
|
|
CurSantaKebing["PathProgress"]["CurMoveState"] = MOVESTATE["STOP"]
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD> üũ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
local CurSec = cCurrentSecond()
|
|
|
|
|
|
|
|
|
|
if CurSantaKebing["PathProgress"]["GoalCheckTime"] + PATHTYPE_CHK_DLY > CurSec
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
CurSantaKebing["PathProgress"]["GoalCheckTime"] = CurSec
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD> üũ
|
|
|
|
|
local curr = {}
|
|
|
|
|
local goal = {}
|
|
|
|
|
|
|
|
|
|
curr["x"], curr["y"] = cObjectLocate( Handle )
|
|
|
|
|
goal["x"] = CurSantaKebing["PathFinding"][CurSantaKebing["PathProgress"]["CurPathStep"]]["x"]
|
|
|
|
|
goal["y"] = CurSantaKebing["PathFinding"][CurSantaKebing["PathProgress"]["CurPathStep"]]["y"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local dx = goal["x"] - curr["x"]
|
|
|
|
|
local dy = goal["y"] - curr["y"]
|
|
|
|
|
local distsquar = dx * dx + dy * dy
|
|
|
|
|
|
|
|
|
|
if distsquar < PATHTYPE_GAP then
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CurSantaKebing["PathProgress"]["CurPathStep"] = CurSantaKebing["PathProgress"]["CurPathStep"] + 1
|
|
|
|
|
CurSantaKebing["PathProgress"]["CurMoveState"] = MOVESTATE["STOP"]
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <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> üũ
|
|
|
|
|
curr["x"], curr["y"] = cMove2Where( Handle )
|
|
|
|
|
|
|
|
|
|
if curr["x"] ~= goal["x"] and curr["y"] ~= goal["y"] then
|
|
|
|
|
|
|
|
|
|
cRunTo( Handle,
|
|
|
|
|
CurSantaKebing["PathFinding"][CurSantaKebing["PathProgress"]["CurPathStep"]]["x"],
|
|
|
|
|
CurSantaKebing["PathFinding"][CurSantaKebing["PathProgress"]["CurPathStep"]]["y"],
|
|
|
|
|
SANTA_KEBING_MOB_REGEN_TABLE["RunSpeed"] )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> ó<EFBFBD><EFBFBD> : ServantSummon
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
-- ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Լ<EFBFBD>
|
|
|
|
|
function ServantSummon( MapIndex, ServantHandle, ServantIndex, MasterHandle )
|
|
|
|
|
cExecCheck "ServantSummon"
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>߸<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if MapIndex ~= VALID_MAP_INDEX
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <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 MemBlock["BonusDefenceEvent"]["IsProgress"] ~= true
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> <EFBFBD>ƴѰ<EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
if ServantIndex ~= CRUSHBALL_TABLE["MobIndex"]
|
|
|
|
|
then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
cAIScriptSet( ServantHandle, MemBlock["TreeHandle"] )
|
|
|
|
|
cAIScriptFunc( ServantHandle, "Entrance", "Crushball_Entrance" )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
--// ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> ó<EFBFBD><EFBFBD> : Crushball_Entrance
|
|
|
|
|
--------------------------------------------------------------------
|
|
|
|
|
function Crushball_Entrance( Handle, MapIndex )
|
|
|
|
|
cExecCheck "Crushball_Entrance"
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD>߸<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if MapIndex ~= VALID_MAP_INDEX
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <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 MemBlock["SantaKebingList"] == nil
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cIsObjectDead( Handle ) == 1
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD>Ʈ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if cIsObjectAlreadyDead( Handle ) == true
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local NearSanta = cObjectFind( Handle, SANTAKEBING_RANGE_WITH_CRUSHBALL, SANTA_KEBING_MOB_REGEN_TABLE["MobIndex"], "so_mobile_GetIdxName" )
|
|
|
|
|
|
|
|
|
|
-- <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>ũ<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>ú<EFBFBD> <EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <EFBFBD>ϹǷ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
if NearSanta ~= nil
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
if cIsObjectDead( NearSanta ) == 1 or cIsObjectAlreadyDead( NearSanta ) == true
|
|
|
|
|
then
|
|
|
|
|
cAIScriptSet( Handle )
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- Ȯ<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 cPermileRate( CRUSHBALL_ABSTATE_TABLE["AbStateHitRate"] ) == 1
|
|
|
|
|
then
|
|
|
|
|
cSetAbstate( NearSanta, CRUSHBALL_ABSTATE_TABLE["AbstateIndex"], CRUSHBALL_ABSTATE_TABLE["Strength"], CRUSHBALL_ABSTATE_TABLE["KeepTime"], Handle )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
MemBlock["SantaKebingList"][NearSanta]["CrushBallHitCount"] = MemBlock["SantaKebingList"][NearSanta]["CrushBallHitCount"] + 1
|
|
|
|
|
--DebugLog("<EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ鰪 : "..NearSanta..", <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD> : "..MemBlock["SantaKebingList"][NearSanta]["CrushBallHitCount"])
|
|
|
|
|
cSkillBlast ( Handle, Handle, CRUSHBALL_TABLE["SkillIndex"] )
|
|
|
|
|
cVanishReserv ( Handle, 3 )
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
-- <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 cGetMoveState( Handle ) ~= 0
|
|
|
|
|
then
|
|
|
|
|
return ReturnAI["CPP"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return ReturnAI["END"]
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
-- Log Functions
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
function DebugLog( String )
|
|
|
|
|
cExecCheck ( "DebugLog" )
|
|
|
|
|
|
|
|
|
|
if String == nil
|
|
|
|
|
then
|
|
|
|
|
cAssertLog( "DebugLog::String == nil" )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
cAssertLog( "Debug - "..String )
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function ErrorLog( String )
|
|
|
|
|
cExecCheck ( "ErrorLog" )
|
|
|
|
|
|
|
|
|
|
if String == nil
|
|
|
|
|
then
|
|
|
|
|
cAssertLog( "ErrorLog::String == nil" )
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
cAssertLog( "Error - "..String )
|
|
|
|
|
end
|