mirror of
https://gitlab.com/YuukiPS/GC-Resources.git
synced 2025-04-28 09:05:26 +00:00
100 lines
4.2 KiB
Lua
100 lines
4.2 KiB
Lua
--[[
|
|
local defs = {
|
|
group_id = xxx,
|
|
tide_sum = 25,
|
|
tide_max = 8,
|
|
tide_min = 8
|
|
}
|
|
--suites[2]为monsterTide
|
|
--suites[3]为装饰gadget
|
|
--]]
|
|
|
|
local Tri = {
|
|
[1] = { name = "group_load", config_id = 8000001, event = EventType.EVENT_GROUP_LOAD, source = "", condition = "", action = "action_group_load", trigger_count = 0 },
|
|
[2] = { name = "group_refresh", config_id = 8000002, event = EventType.EVENT_GROUP_REFRESH, source = "", condition = "", action = "action_group_refresh", trigger_count = 0 },
|
|
[3] = { name = "any_monster_die", config_id = 8000003, event = EventType.EVENT_ANY_MONSTER_DIE, source = "", condition = "", action = "action_any_monster_die", trigger_count = 0 },
|
|
[4] = { name = "blossom_progress_finish", config_id = 8000004, event = EventType.EVENT_BLOSSOM_PROGRESS_FINISH, source = "", condition = "", action = "action_blossom_progress_finish", trigger_count = 0}
|
|
}
|
|
|
|
local Var = {
|
|
[1] = { config_id=50000001,name = "in_battle", value = 0, no_refresh = true },
|
|
[2] = { config_id=50000002,name = "BombTypeA", value = 0, no_refresh = false },
|
|
[3] = { config_id=50000003,name = "BombTypeB", value = 0, no_refresh = false },
|
|
[4] = { config_id=50000004,name = "BombTypeC", value = 0, no_refresh = false },
|
|
[5] = { config_id=50000005,name = "wave", value = 0, no_refresh = false }
|
|
}
|
|
|
|
local Reg = {
|
|
[1] = { config_id = 7000001, shape = RegionShape.SPHERE, radius = 40, pos = points[1].pos, area_id = monsters[1].area_id, ability_group_list = {"ActivityAbility_LudiHarpastum_Bomb_Mark"} }
|
|
}
|
|
------------------------------
|
|
function Initialize()
|
|
for k,v in pairs(Tri) do
|
|
table.insert(triggers, v)
|
|
table.insert(suites[1].triggers, v.name)
|
|
end
|
|
for k,v in pairs(Var) do
|
|
table.insert(variables, v)
|
|
end
|
|
for k,v in pairs(Reg) do
|
|
table.insert(regions, v)
|
|
table.insert(suites[1].regions, v.config_id)
|
|
end
|
|
end
|
|
-------------------------------
|
|
function action_group_load(context, evt)
|
|
ScriptLib.PrintContextLog(context, "## KeleeBomb : action_group_load")
|
|
ScriptLib.AddExtraGroupSuite(context, 0, 3)
|
|
if 0 == ScriptLib.GetGroupVariableValue(context, "in_battle") then
|
|
ScriptLib.RefreshBlossomGroup(context, { group_id = 0, suite = 1, exclude_prev = true, is_delay_unload = true })
|
|
end
|
|
return 0
|
|
end
|
|
|
|
function action_group_refresh(context, evt)
|
|
ScriptLib.PrintContextLog(context, "## KeleeBomb : action_group_refresh")
|
|
LF_Group_Init(context)
|
|
return 0
|
|
end
|
|
|
|
function action_any_monster_die(context, evt)
|
|
ScriptLib.PrintContextLog(context, "## KeleeBomb : monster_die : source = "..evt.source_name)
|
|
if evt.source_name == "ActivityAbility_LudiHarpastumGadgetSkill_BombTypeA" then
|
|
ScriptLib.ChangeGroupVariableValue(context, "BombTypeA", 1)
|
|
elseif evt.source_name == "ActivityAbility_LudiHarpastumGadgetSkill_BombTypeB" then
|
|
ScriptLib.ChangeGroupVariableValue(context, "BombTypeB", 1)
|
|
elseif evt.source_name == "ActivityAbility_LudiHarpastumGadgetSkill_BombTypeC" then
|
|
ScriptLib.ChangeGroupVariableValue(context, "BombTypeC", 1)
|
|
end
|
|
ScriptLib.AddBlossomScheduleProgressByGroupId(context, defs.group_id)
|
|
if 0 == ScriptLib.GetGroupMonsterCount(context) then
|
|
local _wave = ScriptLib.GetGroupVariableValue(context, "wave")
|
|
if _wave+4 <= #suites then
|
|
ScriptLib.ShowReminderRadius(context, 400004, points[1].pos, 40)
|
|
ScriptLib.AddExtraGroupSuite(context, 0, _wave+4)
|
|
ScriptLib.ChangeGroupVariableValue(context, "wave", 1)
|
|
end
|
|
end
|
|
return 0
|
|
end
|
|
|
|
function action_blossom_progress_finish(context, evt)
|
|
ScriptLib.PrintContextLog(context, "## KeleeBomb : blossom_finish")
|
|
ScriptLib.RemoveEntityByConfigId(context, 0, EntityType.REGION, 70000001)
|
|
ScriptLib.SetGroupVariableValue(context, "in_battle", 0)
|
|
ScriptLib.SetGroupVariableValue(context, "wave", 0)
|
|
ScriptLib.SetBlossomScheduleStateByGroupId(context, defs.group_id, 3)
|
|
ScriptLib.RefreshBlossomGroup(context, { group_id = 0, suite = 1, exclude_prev = true, is_delay_unload = true })
|
|
return 0
|
|
end
|
|
------------------------------
|
|
function LF_Group_Init(context)
|
|
ScriptLib.PrintContextLog(context, "## KeleeBomb : group_init")
|
|
ScriptLib.SetBlossomScheduleStateByGroupId(context, defs.group_id, 2)
|
|
ScriptLib.AddExtraGroupSuite(context, 0, 3)
|
|
ScriptLib.SetGroupVariableValue(context, "in_battle", 1)
|
|
ScriptLib.SetGroupVariableValue(context, "wave", 1)
|
|
ScriptLib.AddExtraGroupSuite(context, 0, 4)
|
|
end
|
|
------------------------------
|
|
Initialize() |