添加配置表

This commit is contained in:
flswld
2022-11-30 00:00:20 +08:00
parent f70a890338
commit d7f3f3b866
33382 changed files with 8476601 additions and 0 deletions

View File

@@ -0,0 +1,161 @@
-- 机关初始化配置
-- 初始状态
local state_ = GadgetState.GearStart
-- 启动元素
local start_elem_type_ = ElementType.Fire
-- 最大启动值
local max_start_value_ = 0
-- 启动持续时间
local start_last_time_ = 16
-- 停止元素
local stop_elem_type_ = ElementType.Ice
-- 最大停止值
local max_stop_value_ = 1
-- 停止持续时间
local stop_last_time_ = 2
--冰冻状态额外持续的时间
local frozen_time = 4
-- 机关被攻击
--[[
function OnBeHurt(context, element_type)
-- 获取机关当前状态
local state = ScriptLib.GetGadgetState(context)
if state == GadgetState.Default then
if element_type == start_elem_type then
-- 获取原有的启动值
local start_value = ScriptLib.GetGearStartValue(context)
start_value = start_value + 1
if start_value >= max_start_value_ then
-- 在Default状态下启动值超过最大启动值则转换为GearStart状态
ScriptLib.SetGadgetState(context, GadgetState.GearStart)
-- 启动值设置为最大启动值
ScriptLib.SetGearStartValue(context, max_start_value_)
else
-- 在Default状态下被启动元素攻击一次增加1点启动值
ScriptLib.SetGearStartValue(context, start_value)
end
--待机状态的机关也会进入停止状态
elseif stop_elem_type_ ~= ElementType.None and element_type == stop_elem_type_ then
-- 获取原有的停止值
local stop_value = ScriptLib.GetGearStopValue(context)
stop_value = stop_value + 1
if stop_value >= max_stop_value_ then
-- 在Default状态下停止值超过最大停止值则转换为GearStop状态
ScriptLib.SetGadgetState(context, GadgetState.GearStop)
-- 停止值设置为最大停止值
ScriptLib.SetGearStopValue(context, max_stop_value_)
else
-- 在GearStart状态下被停止元素攻击一次增加1点停止值
ScriptLib.SetGearStopValue(context, stop_value)
end
end
elseif state == GadgetState.GearStart then
if stop_elem_type_ ~= ElementType.None and element_type == stop_elem_type_ then
-- 获取原有的停止值
local stop_value = ScriptLib.GetGearStopValue(context)
stop_value = stop_value + 1
if stop_value >= max_stop_value_ then
-- 在GearStart状态下停止值超过最大停止值则转换为GearStop状态
ScriptLib.SetGadgetState(context, GadgetState.GearStop)
-- 停止值设置为最大停止值
ScriptLib.SetGearStopValue(context, max_stop_value_)
else
-- 在GearStart状态下被停止元素攻击一次增加1点停止值
ScriptLib.SetGearStopValue(context, stop_value)
end
end
elseif state == GadgetState.GearStop then
if stop_elem_type_ ~= ElementType.None and element_type == stop_elem_type_ then
-- 在GearStop状态下重置停止状态(刷新开始时间)
ScriptLib.ResetGadgetState(context, GadgetState.GearStop)
end
end
end
]]--
--移除喷火机关的default状态
function OnBeHurt(context, element_type, strike_type, is_host)
-- 获取机关当前状态
local state = ScriptLib.GetGadgetState(context)
if state == GadgetState.GearStart then
if stop_elem_type_ ~= ElementType.None and element_type == stop_elem_type_ then
-- 获取原有的停止值
local stop_value = ScriptLib.GetGearStopValue(context)
stop_value = stop_value + 1
if stop_value >= max_stop_value_ then
-- 在GearStart状态下停止值超过最大停止值则转换为GearStop状态
ScriptLib.SetGadgetState(context, GadgetState.GearStop)
-- 停止值设置为最大停止值
ScriptLib.SetGearStopValue(context, max_stop_value_)
else
-- 在GearStart状态下被停止元素攻击一次增加1点停止值
ScriptLib.SetGearStopValue(context, stop_value)
end
end
elseif state == GadgetState.GearStop then
if stop_elem_type_ ~= ElementType.None and element_type == stop_elem_type_ then
-- 在GearStop状态下重置停止状态(刷新开始时间)
ScriptLib.ResetGadgetState(context, GadgetState.GearStop)
end
end
end
--[[
-- 定时器回调
function OnTimer(context, now)
-- 获取机关当前状态
local state = ScriptLib.GetGadgetState(context)
if state == GadgetState.Default then
local start_value = ScriptLib.GetGearStartValue(context)
if start_value >= max_start_value_ then
-- 在Default状态下启动值超过最大启动值则转换为GearStart状态
ScriptLib.SetGadgetState(context, GadgetState.GearStart)
end
elseif state == GadgetState.GearStart then
-- 获取当前状态的开始时间
local state_begin_time = ScriptLib.GetGadgetStateBeginTime(context)
if now >= state_begin_time + start_last_time_ then
-- 如果启动时间超过启动持续时间则转换为GearStop状态
ScriptLib.SetGadgetState(context, GadgetState.GearStop)
-- 设置启动值为0
ScriptLib.SetGearStartValue(context, 0)
end
elseif state == GadgetState.GearStop then
-- 获取当前状态的开始时间
local state_begin_time = ScriptLib.GetGadgetStateBeginTime(context)
if now >= state_begin_time + stop_last_time_ + frozen_time then
-- 如果停止时间超过停止持续时间则转换为Default状态
ScriptLib.SetGadgetState(context, GadgetState.Default)
-- 设置停止值为0
ScriptLib.SetGearStopValue(context, 0)
end
end
end
]]--
-- 定时器回调
function OnTimer(context, now)
-- 获取机关当前状态
local state = ScriptLib.GetGadgetState(context)
if state == GadgetState.GearStart then
-- 获取当前状态的开始时间
local state_begin_time = ScriptLib.GetGadgetStateBeginTime(context)
if now >= state_begin_time + start_last_time_ then
-- 如果启动时间超过启动持续时间则转换为GearStop状态
ScriptLib.SetGadgetState(context, GadgetState.GearStop)
-- 设置启动值为0
ScriptLib.SetGearStartValue(context, 0)
end
elseif state == GadgetState.GearStop then
-- 获取当前状态的开始时间
local state_begin_time = ScriptLib.GetGadgetStateBeginTime(context)
if now >= state_begin_time + stop_last_time_ + frozen_time then
-- 如果停止时间超过停止持续时间则转换为Start状态
ScriptLib.SetGadgetState(context, GadgetState.GearStart)
-- 设置停止值为0
ScriptLib.SetGearStopValue(context, 0)
end
end
end