0
0
mirror of https://gitlab.com/YuukiPS/GC-Resources.git synced 2025-04-28 09:05:26 +00:00
GC-Resources/Resources/Scripts/Common/V1_6/KeleeBombBattle.lua
KingRainbow44 8dd3a721e5
Revert "The Great De-Local'ifying of defs and base_info"
This reverts commit 0989747b
2023-08-30 21:15:50 -04:00

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()